Indholdsfortegnelse:

Automatisk enhedstester med Arduino: 9 trin
Automatisk enhedstester med Arduino: 9 trin

Video: Automatisk enhedstester med Arduino: 9 trin

Video: Automatisk enhedstester med Arduino: 9 trin
Video: 15 Factor Apps - build release run and processes | PT 3 2024, Juli
Anonim
Automatisk enhedstester med Arduino
Automatisk enhedstester med Arduino
Automatisk enhedstester med Arduino
Automatisk enhedstester med Arduino

Dette ligner måske ikke meget, men det er nok det mest nyttige, jeg nogensinde har lavet med en Arduino. Det er en automatisk tester for produkt, jeg sælger, kaldet Power Blough-R. Det sparer mig ikke kun tid (det har i øjeblikket sparet mig mindst 4 timer og tæller), men det giver mig også en meget stærkere tillid til, at produktet er 100% funktionelt, før det sendes ud.

Power Blough-R, der udtales "Power Blocker" (det er et spil på mit navn, der overraskende udtales "lås"!), Er til at løse det backfeed-strømproblem, du ofte kan opleve, når du bruger octoprint med en 3d-printer.

For at bruge testeren skal du bare placere en Power Blough-R i USB-headerne og trykke på reset-knappen på Arduino Nano. Testeren kører gennem en række tests og angiver, om enheden bestod eller mislykkedes testene ved hjælp af Nano's indbyggede LED (Fast for bestået, blinkende for mislykkedes).

Når du har meget at lave, kan det have stor indflydelse at finde måder at reducere tid pr. Enhed ved at bruge denne tester reducerede den tid, det tog mig at teste en enhed fra cirka 30 sekunder til 5 sekunder. Selvom 25 sekunder ikke lyder som meget, tilføjes det når du har 100'er af disse ting at gøre!

Jeg tror, at det mest imponerende, jeg kan sige om det, er, at med dette værktøj tager det mig kortere at teste Power Blough-R to gange, end det gør for bare at åbne den antistatiske pose, den leveres i!

Du har sandsynligvis ikke brug for at bygge denne nøjagtige enhed, men forhåbentlig kan noget af det, jeg laver, være nyttigt for dig.

Trin 1: Tjek videoen

Image
Image

Det meste af det, jeg dækker i denne opskrift, er tilgængelig denne video, så tjek det, hvis videoer er dine ting!

Trin 2: Power Blough-R

Power Blough-R
Power Blough-R

Så hvad er Power Blough-R, og hvad gør den?

Hvis du nogensinde har brugt Octoprint med din 3D -printer, er der ofte et problem, hvor printerens skærm holdes tændt af USB -strømmen fra hindbærpi, selv når printeren er slukket. Selvom dette ikke er verdens ende, kan det blive ret irriterende især i et mørkt rum.

Power Blough-R er en simpel PCB med en han- og en hun-USB-stik på, men den forbinder ikke 5V-ledningen.

Der er andre metoder til løsning af dette problem, nogle mennesker skærer 5V -linjen i deres USB -kabel eller lægger tape over 5V -stikket, men jeg ville komme med en enkel, robust måde at opnå det samme resultat på uden at skade nogen USB kabler!

Hvis du er interesseret i Power BLough-R, kan de købes:

  • I min Tindie -butik (kit eller samlet)
  • TH3dstudio.com (samlet)

(Ligesom BTW, Dette indlæg er ikke sponsoreret, og jeg har ikke noget at gøre med TH3D end leveringen af Power Blough-R'erne. Jeg har ikke modtaget noget ekstra for at inkludere links til TH3D det eller var en opskrivning/video nogensinde diskuteret som en del af den oprindelige aftale)

Trin 3: Baggrund: Den Store Orden

Baggrund: Den Store Orden
Baggrund: Den Store Orden
Baggrund: Den Store Orden
Baggrund: Den Store Orden

Jeg solgte Power Blough-R'erne i min Tindie-butik, hovedsageligt som kits. Men for dem jeg solgte samlet, ville jeg teste dem med en multi-meter. In ville teste for en god forbindelse mellem input og output fra Ground, D- og D+, og at 5V ikke var forbundet og testede for broer.

Dette ville tage cirka 30 sekunder eller deromkring og var meget tilbøjeligt til at lave fejl, hvis jeg ikke var meget forsigtig. Men for mængden af samlede jeg solgte, var det ikke et stort tidsengagement.

Men jeg lagde et billede op af Power Blough-R på 3d-print sub-reddit, og Tim fra TH3DStudio.com kontaktede mig for at spørge om at bestille nogle på lager i hans butik som en prøveperiode. Jeg sagde sikkert og spurgte, hvor mange han ledte efter. Jeg forventede, at han ville sige 10 eller 20, men han sagde, lad os starte med 100….

Det ville være næsten umuligt for mig at trygt teste 100 enheder med multimeteret, så jeg vidste, at jeg var nødt til at gøre noget ved det!

Trin 4: Hardware

Hardware
Hardware

Jeg gik efter den absolut enkleste måde, jeg kunne samle dette på, da jeg var lidt presset til tiden! Det var også en virkelig billig konstruktion (mindre end ~ $ 5 for alt).

  • Arduino Nano (Denne har en mikro -USB, men enhver vil gøre)*
  • Nano skrueterminalbrud*
  • Male USB Breakout*
  • Kvindelig USB -breakout*
  • Nogle Wire

Der er ikke rigtig meget ved samlingen af dette. Lod lodstykkets stifter til nano, hvis de ikke allerede er, og sæt dem i skrueterminalens udbrud.

5 ledninger skal loddes på han- og hun -USB -breakouts. Bemærk til afskærmningskablet, den kvindelige breakout havde ikke en pude til dette, så jeg loddet den til siden af stikket. Disse ledninger kan fjernes i den anden ende og skrues ind i skrueterminalerne (Sørg for at efterlade lidt slap, så det er lettere at tilslutte og afmontere enhederne)

Til hanstikket brugte jeg følgende stifter

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

Til hunstikket brugte jeg:

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

*tilknyttet link

Trin 5: Software

Software
Software

Først skal du downloade Arduino IDE og konfigurere den, hvis du ikke allerede har den.

Du kan få fat i skitsen, som jeg brugte fra min Github og uploade den til tavlen. Når det er gjort, er du klar til at gå!

Ved opstart kører skitsen gennem en række tests. Hvis alle testene består, tændes den indbyggede LED. Hvis der er fejl, blinker den indbyggede LED. Enheden sender også fejlårsagen til den serielle skærm, men jeg bruger faktisk ikke denne funktion.

Skitsen gennemgår følgende tests

Indledende test:

Dette er for at kontrollere, at hunstifterne læser som forventet, mens de ignorerer hanstifterne. Se trin på Tri-state logik for mere information om denne.

Vigtigste test:

Denne test kontrollerer, at GND, D+, D- og Shield er tilsluttet, mens 5V-linjen er blokeret. Dette er for at kontrollere hovedfunktionen i Power Blough-R, hvor den passerer gennem alt andet end 5V-linjen.

Bridge Test:

Dette kontrollerer, at ingen af stifterne er broet sammen. Så den går gennem hver pin, indstiller dens output og kontrollerer derefter, at alle andre pins ikke påvirkes af dette.

I de næste par trin gennemgår jeg nogle af de funktioner/koncepter, der bruges i test.

Trin 6: INPUT_PULLUP

Dette er en virkelig nyttig en, hvor det kan spare dig for en ekstra modstand (pr. Pin) i dit projekt. Det er især nyttigt, når du bruger knapper.

Når en pin er indstillet til INPUT_PULLUP, forbinder den dybest set stiften med VCC med en 10k modstand. Uden en pull-up (eller pull-down) modstand betragtes stiftens standardtilstand som flydende, og du får inkonsekvente værdier, når du læser nålen. Da det er en ganske høj værdi for en modstand, ændres stiftens tilstand let ved at anvende et andet logisk niveau på stiften (f.eks. Når der trykkes på knappen, forbinder den stiften til jorden, og stiften læser LAV.

Jeg indstillede pin -tilstanden for de KVINDELIGE stifter til at være en INPUT_PULLUP, så jeg har et referencepunkt til, hvad stiften skal være (HIGH), så længe der ikke er nogen eksterne kræfter på den. Gennem testene blev MALE -stifterne sat LAVT, og når disse to skulle forbindes, ville vi forvente, at KVINDELIG pin var LAV.

Trin 7: Tri-state Logic

Image
Image

Til den indledende test ville jeg kontrollere logikniveauet for de KVINDELIGE stifter, mens jeg stort set ignorerede de MÆNDELIGE stifter.

Dette kan virke som et problem, fordi MALE -stifterne skulle have et logisk niveau, der ville påvirke rigtigt?

Nå faktisk har pins på de fleste mikrokontrollere det, der er kendt som Tri-state logik, hvilket betyder, at de har 3 tilstande, som de kan være i: HIGH, LOW og HIGH-IMPEDENCE

HØJ IMPEDENS opnås ved at indstille stiften som en INDGANG. Det svarer til at sætte en 100 Mega OHM -modstand foran stiften, som effektivt vil afbryde den fra vores kredsløb.

Tri-state logik er en af hovedtrækkene i Charlie-plexing, som er en slags magisk måde at adressere individuelle lysdioder ved hjælp af et mindre antal stifter. Tjek videoen ovenfor, hvis du er interesseret i at læne mere om Charlie-plexing.

Trin 8: Test af testeren

Konklusion
Konklusion

Dette er faktisk et virkelig vigtigt trin, for hvis du ikke tester, at testeren fanger negative scenarier, kan du være sikker på, at når testen bestod, fungerer enheden efter hensigten.

Hvis du kender enhedstest i softwareudvikling, svarer dette til at skabe negative testscenarier.

For at teste dette oprettede jeg et par tavler med fejl på:

  • Loddet USB -headere på den forkerte side af brættet. USB -overskrifterne passer fint, men jordlinjen vil ikke blive tilsluttet, og 5V -linjen vil være det. (desværre blev denne ikke skabt med vilje, hvilket beviser behovet for testeren!)
  • Hensigtsmæssigt broede to stifter for at teste brotestkoden.

Trin 9: Konklusion

Som jeg nævnte i starten af denne opskrivning, er dette sandsynligvis det mest nyttige, jeg har bygget med en Arudino.

Siden den oprindelige ordre bestilte Tim yderligere 200 Power BLough-R'er, og selvom tidsbesparelsen er meget værdsat, er den tillid, det giver, at produktet er i perfekt stand, det vigtigste, jeg nyder godt af det.

Faktisk i størrelsesordenen 200 gjorde min kone stort set alle test af dem. Hun kunne virkelig godt lide, hvor hurtig den var at bruge, og hvor enkel den beståede/ikke -godkendte indikator var.

Forhåbentlig er der noget nyttigt at lære af denne vejledning. Hvis du har spørgsmål, er du velkommen til at stille nedenfor!

Alt det bedste, Brian

  • Youtube
  • Tindie

Anbefalede: