Innholdsfortegnelse:

Automatisk enhetstester med Arduino: 9 trinn
Automatisk enhetstester med Arduino: 9 trinn

Video: Automatisk enhetstester med Arduino: 9 trinn

Video: Automatisk enhetstester med Arduino: 9 trinn
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, Juli
Anonim
Automatisk enhetstester med Arduino
Automatisk enhetstester med Arduino
Automatisk enhetstester med Arduino
Automatisk enhetstester med Arduino

Dette ser kanskje ikke så mye ut, men dette er sannsynligvis det mest nyttige jeg noen gang har laget med en Arduino. Det er en automatisk tester for produktet jeg selger kalt Power Blough-R. Det sparer meg ikke bare for tid (det har for tiden spart meg minst 4 timer og teller), men det gir meg også en mye sterkere tillit til at produktet er 100% funksjonelt før det sendes ut.

Power Blough-R, uttalt "Power Blocker" (det er et skuespill på navnet mitt som er overraskende uttalt "lås"!), Er for å løse strømstrømproblemet du kan oppleve når du bruker oktoprint med en 3d-skriver.

For å bruke testeren, plasserer du bare en Power Blough-R i USB-hodene og trykker på tilbakestillingsknappen på Arduino Nano. Testeren vil kjøre gjennom en rekke tester og vil indikere om enheten besto eller mislyktes testene ved hjelp av Nano's innebygde LED (Fast for bestått, blinkende for mislyktes).

Når du har mye å gjøre, kan det å ha måter å redusere tiden per enhet ha stor innvirkning, ved å bruke denne testeren reduserte tiden det tok meg å teste en enhet fra omtrent 30 sekunder til 5 sekunder. Selv om 25 sekunder ikke høres ut som mye, legger du opp når du har hundrevis av disse tingene å gjøre!

Jeg tror det mest imponerende jeg kan si om det er, med dette verktøyet tar det meg kortere å teste Power Blough-R to ganger enn det gjør å bare åpne den antistatiske posen den sendes i!

Du trenger sannsynligvis ikke å bygge denne eksakte enheten, men forhåpentligvis kan noe av det jeg gjør være nyttig for deg.

Trinn 1: Sjekk ut videoen

Image
Image

Det meste jeg dekker i denne oppskriften er tilgjengelig for denne videoen, så sjekk om videoer er noe for deg!

Trinn 2: Power Blough-R

Power Blough-R
Power Blough-R

Så hva er Power Blough-R, og hva gjør den?

Hvis du noen gang har brukt Octoprint med 3D -skriveren, er det ofte et problem der skriverens skjerm holdes på av USB -strømmen fra bringebær -pi, selv når skriveren er slått av. Selv om dette ikke er verdens ende, kan det bli ganske irriterende, spesielt i et mørkt rom.

Power Blough-R er en enkel PCB med en mannlig og en kvinnelig USB-kontakt på den, men den kobler ikke 5V-ledningen.

Det er andre metoder for å løse dette problemet, noen mennesker kutter 5V -linjen på USB -kabelen eller legger tape over 5V -kontakten, men jeg ønsket å komme med en enkel, robust måte å oppnå det samme utfallet på, uten å skade noen USB -kabler!

Hvis du er interessert i Power BLough-R, kan du kjøpe dem:

  • I min Tindie -butikk (sett eller montert)
  • TH3dstudio.com (satt sammen)

(Akkurat som BTW, er dette innlegget ikke sponset, og jeg har ikke engasjement med TH3D annet enn levering av Power Blough-Rs. Jeg har ikke mottatt noe ekstra for å inkludere lenker til TH3D det eller var en oppskrift/video noensinne diskutert som en del av den opprinnelige avtalen)

Trinn 3: Bakgrunn: Den store orden

Bakgrunn: Den store orden
Bakgrunn: Den store orden
Bakgrunn: Den store orden
Bakgrunn: Den store orden

Jeg solgte Power Blough-R på min Tindie-butikk, hovedsakelig som sett. Men for de jeg solgte samlet, ville jeg testet dem med en multimeter. In ville teste for en god forbindelse mellom inngang og utgang fra Ground, D- og D+ og at 5V ikke var tilkoblet og teste for broer.

Dette ville ta omtrent 30 sekunder eller så og var veldig utsatt for at jeg gjorde feil hvis jeg ikke var veldig forsiktig. Men for mengden monterte jeg solgte, var det ikke et stort tidsengasjement.

Men jeg la ut et bilde av Power Blough-R på 3d-utskriften sub reddit, og Tim fra TH3DStudio.com kontaktet meg for å spørre om å bestille noen på lager i butikken hans som en prøveversjon. Jeg sa sikkert og spurte hvor mange han var ute etter. Jeg forventet at han skulle si 10 eller 20, men han sa la oss starte med 100 ….

Det ville være nesten umulig for meg å trygt teste 100 enheter med multimeteret, så jeg visste at jeg måtte gjøre noe med det!

Trinn 4: Maskinvare

Maskinvare
Maskinvare

Jeg gikk for den absolutt enkleste måten jeg kunne montere dette da jeg var litt presset på tiden! Det var også en veldig billig konstruksjon (mindre enn ~ $ 5 for alt).

  • Arduino Nano (Denne har en mikro -USB, men alle vil gjøre det)*
  • Nano skrueterminalbrudd*
  • Mannlig USB -breakout*
  • Kvinnelig USB -breakout*
  • Noen ledninger

Det er egentlig ikke mye for montering av dette. Lodd hodestiftene til nano hvis de ikke allerede er det, og sett inn i skrueklemmen.

5 ledninger skal loddes på mannlige og kvinnelige USB -utbrudd. Merknad for skjoldtråden, hunbruddet hadde ikke en pute for dette, så jeg loddet det til siden av kontakten. Disse ledningene kan fjernes i den andre enden og skrues inn i skrueterminalene (Sørg for å la være litt slakk, slik at det er lettere å koble inn og ut enhetene)

For hankontakten brukte jeg følgende pinner

  • GND> 2
  • D+> 3
  • D-> 4
  • VCC> 5
  • Skjold> 10

For hunkontakten brukte jeg:

  • GND> 6
  • D+> 7
  • D-> 8
  • VCC> 9
  • Skjold> 11

*tilknyttet lenke

Trinn 5: Programvare

Programvare
Programvare

Først må du laste ned Arduino IDE og konfigurere den hvis du ikke allerede har den.

Du kan ta skissen som jeg brukte av Github og laste den opp til brettet. Når det er gjort er du i gang!

Ved oppstart går skissen gjennom en rekke tester. Hvis alle testene består, vil den sette den innebygde LED-en på. Hvis det er noen feil, blinker den innebygde LED-lampen. Enheten vil også sende feilårsaken til den serielle skjermen, men jeg bruker faktisk ikke denne funksjonen.

Skissen går gjennom følgende tester

Første test:

Dette er for å kontrollere at kvinnelige pinner leser som forventet mens de ignorerer hannpinnene. Se trinnet om Tri-state-logikk for mer informasjon om denne.

Hovedtest:

Denne testen kontrollerer at GND, D+, D- og Shield er tilkoblet mens 5V-linjen er blokkert. Dette er for å sjekke hovedfunksjonaliteten til Power Blough-R, der den passerer gjennom alt annet enn 5V-linjen.

Bridge Test:

Dette sjekker at ingen av pinnene er broet sammen. Så den går gjennom hver pinne, setter utgangen og kontrollerer at alle andre pinner ikke påvirkes av dette.

I de neste trinnene skal jeg gå gjennom noen av funksjonene/konseptene som brukes i testing.

Trinn 6: INPUT_PULLUP

Dette er en veldig nyttig en der den kan spare deg for en ekstra motstand (per pin) i prosjektet ditt. Det er spesielt nyttig når du bruker knapper.

Når en pinne er satt til INPUT_PULLUP, kobler den i utgangspunktet pinnen til VCC med en 10k motstand. Uten en pull-up (eller pull-down) motstand anses standardtilstanden til pinnen som flytende, og du vil få inkonsekvente verdier når du leser pinnen. Siden det er en ganske høy verdi for en motstand, endres tilstanden til pinnen lett ved å bruke et annet logisk nivå på pinnen (for eksempel når knappen trykkes, kobler den pinnen til bakken og pinnen vil lese LAV.

Jeg satte pin -modusen til de kvinnelige pinnene til å være en INPUT_PULLUP, så jeg har et referansepunkt til hva pinnen skal være (HØY) så lenge de ikke er eksterne krefter på den. Gjennom testene ble MALE -pinnene satt LOW, og når disse to skulle kobles sammen, ville vi forvente at den kvinnelige pin -en var LOW.

Trinn 7: Tri-state Logic

Image
Image

For den første testen ønsket jeg å sjekke logikknivået til de kvinnelige pinnene mens jeg i utgangspunktet ignorerte de mannlige pinnene.

Dette kan virke som et problem fordi de mannlige pinnene må ha et logisk nivå som kan påvirke ikke sant?

Vel, faktisk har pins på de fleste mikrokontrollere det som er kjent som Tri-state logic, noe som betyr at de har 3 tilstander som de kan være i: HIGH, LOW og HIGH IMPEDENCE

HØY-IMPEDENS oppnås ved å sette pinnen som en INNGANG. Det tilsvarer å sette en 100 Mega OHM -motstand foran pinnen, som effektivt vil koble den fra kretsen vår.

Tri-state logikk er en av hovedtrekkene i Charlie-plexing, som er en slags magisk måte å adressere individuelle lysdioder ved å bruke et mindre antall pinner. Sjekk videoen ovenfor hvis du er interessert i å lene deg mer om Charlie-plexing.

Trinn 8: Testing av testeren

Konklusjon
Konklusjon

Dette er faktisk et veldig viktig skritt, for hvis du ikke tester at testeren fanger negative scenarier, kan du være trygg på at når enheten besto, fungerer enheten etter hensikten.

Hvis du er kjent med enhetstesting i programvareutvikling, tilsvarer dette å lage negative testscenarier.

For å teste dette opprettet jeg et par tavler med feil på:

  • Loddet USB -hodene på feil side av brettet. USB -hodene vil passe fint, men jordlinjen vil ikke være tilkoblet og 5V -linjen. (dessverre ble ikke denne opprettet med vilje, noe som beviser behovet for testeren!)
  • Formålslig overbygde to pinner for å teste brotestkoden.

Trinn 9: Konklusjon

Som jeg nevnte i begynnelsen av denne oppskriften, er dette sannsynligvis det mest nyttige jeg har bygget med en Arudino.

Siden den opprinnelige ordren bestilte Tim ytterligere 200 Power BLough-Rs, og mens tidsbesparelsen blir satt stor pris på, er tilliten det gir at produktet er i perfekt stand, det viktigste jeg liker.

Faktisk for størrelsesorden 200, gjorde min kone i utgangspunktet alle testene av dem. Hun likte virkelig hvor raskt det var å bruke og hvor enkelt bestått/ikke bestått -indikatoren var.

Forhåpentligvis er det noe nyttig å lære av denne guiden. Hvis du har spørsmål, kan du gjerne spørre nedenfor!

Beste ønsker, Brian

  • YouTube
  • Tindie

Anbefalt: