Innehållsförteckning:
- Steg 1: Kolla in videon
- Steg 2: Power Blough-R
- Steg 3: Bakgrund: den stora ordningen
- Steg 4: Hårdvara
- Steg 5: Programvara
- Steg 6: INPUT_PULLUP
- Steg 7: Tri-state Logic
- Steg 8: Testa testaren
- Steg 9: Slutsats
Video: Automatisk enhetstestare med Arduino: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Det här kanske inte ser ut som mycket, men det här är förmodligen det mest användbara jag någonsin har gjort med en Arduino. Det är en automatisk testare för produkten jag säljer kallad Power Blough-R. Det sparar mig inte bara tid (det har för närvarande sparat mig minst 4 timmar och räknat), men det ger mig också ett mycket starkare förtroende för att produkten är 100% funktionell innan den skickas ut.
Power Blough-R, uttalad "Power Blocker" (det är en pjäs på mitt namn som är förvånansvärt uttalad "lås"!), Är för att lösa problemet med återmatning av ström som du ofta kan uppleva när du använder oktoprint med en 3d-skrivare.
För att använda testaren, placerar du bara en Power Blough-R i USB-huvuden och trycker på återställningsknappen på Arduino Nano. Testaren kör igenom en uppsättning tester och indikerar om enheten klarade eller misslyckades med hjälp av Nanos inbyggda lysdiod (fast för godkänd, blinkande för misslyckad).
När du har mycket att göra kan det vara enormt att hitta sätt att minska tiden per enhet genom att använda den här testaren förkortade tiden det tog mig att testa en enhet från ungefär 30 sekunder till 5 sekunder. Medan 25 sekunder inte låter som mycket, när du har 100 -tal av de här sakerna att göra, blir det extra!
Jag tror att det mest imponerande jag kan säga om det är, med det här verktyget tar det mig kortare att testa Power Blough-R två gånger än att bara öppna den antistatiska väskan som den levereras i!
Du kommer förmodligen inte behöva bygga den här exakta enheten, men förhoppningsvis kan något av det jag gör vara användbart för dig.
Steg 1: Kolla in videon
Det mesta av det jag täcker i denna skrivning är tillgängligt den här videon, så kolla in om videor är din grej!
Steg 2: Power Blough-R
Så vad är Power Blough-R och vad gör det?
Om du någonsin använt Octoprint med din 3D -skrivare är det ofta ett problem där skrivarens skärm hålls på av USB -strömmen från hallon -pi, även när skrivaren är avstängd. Även om detta inte är världens ände, kan det bli ganska irriterande, särskilt i ett mörkt rum.
Power Blough-R är en enkel PCB med en hane och en kvinnlig USB-kontakt på den, men den ansluter inte 5V-ledningen.
Det finns andra metoder för att lösa detta problem, vissa människor skär 5V -linjen på sin USB -kabel eller lägger tejp över 5V -kontakten, men jag ville komma på ett enkelt, robust sätt att uppnå samma resultat, utan att skada någon USB -kablar!
Om du är intresserad av Power BLough-R finns de att köpa:
- I min Tindie -butik (kit eller monterad)
- TH3dstudio.com (monterad)
(Precis som BTW, Det här inlägget är inte sponsrat och jag har inget engagemang med TH3D annat än leveransen av Power Blough-Rs. Jag har inte fått något extra för att inkludera länkar till TH3D det eller var en uppskrivning/video någonsin diskuterad som en del av den ursprungliga affären)
Steg 3: Bakgrund: den stora ordningen
Jag sålde Power Blough-R på min Tindie-butik, främst som kit. Men för dem jag sålde monterade skulle jag testa dem med en multimätare. In skulle testa för en bra anslutning mellan ingång och utgång från Ground, D- och D+ och att 5V inte var ansluten och testade för broar.
Detta skulle ta cirka 30 sekunder eller så och var mycket benägen för att jag skulle göra misstag om jag inte var särskilt försiktig. Men för mängden monterade som jag sålde var det inte ett stort tidsengagemang.
Men jag lade upp en bild av Power Blough-R på underutskriften 3dit-utskrift, och Tim från TH3DStudio.com kontaktade mig för att fråga om att beställa några att lagra i sin butik som ett försök. Jag sa säkert och frågade hur många han letade efter. Jag förväntade mig att han skulle säga 10 eller 20, men han sa att vi börjar med 100 ….
Det skulle vara nästan omöjligt för mig att med säkerhet testa 100 enheter med multimetern så jag visste att jag måste göra något åt det!
Steg 4: Hårdvara
Jag gick för det absolut enklaste sättet jag kunde montera detta eftersom jag var lite pressad för tiden! Det var också en riktigt billig byggnad (mindre än ~ $ 5 för allt).
- Arduino Nano (den här har ett mikro -USB, men alla kan göra det)*
- Nano Skruvterminal Breakout*
- Manlig USB -brytning*
- Kvinnlig USB -brytning*
- Någon tråd
Det är egentligen inte mycket för montering av detta. Löd huvudstiften till nano om de inte redan finns och sätt in i skruvterminalens utbrott.
5 ledningar ska lödas på han- och hon -USB -utbrott. Observera för skärmkabeln, honutbrottet hade inte en kudde för detta så jag lodde det på sidan av kontakten. Dessa trådar kan avskalas i andra änden och skruvas in i skruvplintarna (se till att lämna lite slak så att det är lättare att koppla in och ut enheterna)
För hankontakten använde jag följande stift
- GND> 2
- D+> 3
- D-> 4
- VCC> 5
- Sköld> 10
För honkontakten använde jag:
- GND> 6
- D+> 7
- D-> 8
- VCC> 9
- Sköld> 11
*ansluter länk
Steg 5: Programvara
Först måste du ladda ner Arduino IDE och konfigurera den om du inte redan har den.
Du kan ta skissen som jag använde från min Github och ladda upp den till tavlan. När det är klart är du redo att gå!
Vid start går skissen igenom en uppsättning tester. Om alla test klarar, tänds den inbyggda lysdioden. Om det finns några fel blinkar den inbyggda lysdioden. Enheten kommer också att mata ut felorsaken till den seriella bildskärmen, men jag använder faktiskt inte den här funktionen.
Skissen går igenom följande tester
Första testet:
Detta för att kontrollera att honstiften läser som förväntat medan man ignorerar hanstiften. Se steget om Tri-state-logik för mer information om den här.
Huvudtest:
Detta test kontrollerar att GND, D+, D- och Shield är anslutna medan 5V-linjen är blockerad. Detta för att kontrollera huvudfunktionen för Power Blough-R, där den passerar genom allt annat än 5V-linjen.
Bridge Test:
Detta kontrollerar att ingen av stiften överbryggas. Så det går igenom varje stift, ställer in dess utgång och kontrollerar sedan att alla andra stift inte påverkas av detta.
I de närmaste stegen kommer jag att gå igenom några av de funktioner/koncept som används vid testning.
Steg 6: INPUT_PULLUP
Detta är verkligen användbart där det kan spara ytterligare ett motstånd (per stift) i ditt projekt. Det är särskilt användbart när du använder knappar.
När en stift är inställd på INPUT_PULLUP, ansluter den i princip stiftet till VCC med ett 10k -motstånd. Utan ett pull-up (eller pull-down) motstånd anses stiftets standardtillstånd vara flytande och du får inkonsekventa värden när du läser stiftet. Eftersom det är ett ganska högt värde för ett motstånd, ändras stiftets tillstånd enkelt genom att applicera en annan logisk nivå på stiftet (till exempel när knappen trycks, ansluter den stiftet till marken och stiftet kommer att läsa LÅGT.
Jag ställde in stiftläget för de kvinnliga stiften som en INPUT_PULLUP så jag har en referenspunkt till vad stiftet ska vara (HÖG) så länge det inte finns några yttre krafter på det. Genom testerna var MAN -stiften inställda LÅGA och när dessa två skulle anslutas skulle vi förvänta oss att KVINNEL -stiftet var LÅGT.
Steg 7: Tri-state Logic
För det första testet ville jag kontrollera logiknivån för de kvinnliga stiften samtidigt som jag i princip ignorerade de manliga stiften.
Det här kan tyckas vara ett problem eftersom MAN -stiften måste ha en logisk nivå som skulle påverka eller hur?
Faktum är att stift på de flesta mikrokontroller har så kallad Tri-state logic, vilket betyder att de har tre tillstånd som de kan vara i: HIGH, LOW och HIGH-IMPEDENCE
HÖG IMPEDENS uppnås genom att ställa in stiftet som en INGÅNG. Det motsvarar att sätta ett 100 Mega OHM -motstånd framför stiftet, vilket effektivt kommer att koppla bort det från vår krets.
Tri-state-logik är en av huvuddragen i Charlie-plexing, som är ett slags magiskt sätt att adressera enskilda lysdioder med ett mindre antal stift. Kolla in videon ovan om du är intresserad av att luta dig mer om Charlie-plexing.
Steg 8: Testa testaren
Detta är faktiskt ett riktigt viktigt steg, för om du inte testar att testaren fångar negativa scenarier, kan du vara säker på att enheten fungerar som avsett när testet gick.
Om du är bekant med enhetstestning inom mjukvaruutveckling, motsvarar detta att skapa negativa testscenarier.
För att testa detta skapade jag ett par brädor med misstag på:
- Lödde USB -huvuden på fel sida av kortet. USB -rubrikerna passar bra, men jordlinjen kommer inte att anslutas och 5V -linjen kommer att vara det. (tyvärr skapades inte den här avsiktligt, vilket bevisar behovet av testaren!)
- Avsiktligt överbryggade två stift för att testa brotestkoden.
Steg 9: Slutsats
Som jag nämnde i början av denna skrivning är detta troligen det mest användbara jag har byggt med en Arudino.
Eftersom den ursprungliga beställningen beställde Tim ytterligare 200 Power BLough-R och medan tidsbesparingen uppskattas mycket, är det förtroendet det ger att produkten fungerar perfekt det viktigaste jag tycker om.
Faktiskt, i storleksordningen 200, gjorde min fru i princip alla tester av dem. Hon gillade verkligen hur snabbt det var att använda och hur enkelt godkänt/misslyckat var indikatorn.
Förhoppningsvis finns det något användbart att lära sig av den här guiden. Om du har några frågor är du välkommen att ställa nedan!
Med vänliga hälsningar, Brian
- Youtube
- Tindie
Rekommenderad:
Automatisk kylfläkt med servo och DHT11 temperatur- och fuktsensor med Arduino: 8 steg
Automatisk kylfläkt med servo och DHT11 temperatur- och luftfuktighetssensor med Arduino: I denna handledning lär vi oss hur man startar & rotera en fläkt när temperaturen stiger över en viss nivå
Bygga en automatisk solspårare med Arduino Nano V2: 17 steg (med bilder)
Bygga en automatisk solspårare med Arduino Nano V2: Hej! Denna instruerbara är tänkt att vara en del två i mitt Solar Tracker -projekt. För en förklaring av hur solspårare fungerar och hur jag utformade min första spårare, använd länken nedan. Detta kommer att erbjuda sammanhang för detta projekt. Https://www.instructables.co
Automatisk last (vakuum) switch med ACS712 och Arduino: 7 steg (med bilder)
Automatisk last (vakuum) -brytare med ACS712 och Arduino: Hej alla, Att köra ett elverktyg i ett slutet utrymme är ett liv, på grund av allt damm som skapas i luften och damm i luften betyder damm i dina lungor. Att köra din butiksvakuum kan eliminera en del av den risken, men slå på och av varje gång
Automatisk gardin med Arduino: 6 steg (med bilder)
Automatisk gardin med Arduino: Projekttid!: Automatisk gardinöppnare/närmare. Jag såg några andra projekt för att stänga och öppna (automatiskt) gardinerna, jag ville verkligen bygga en själv nu. De flesta andra mönster jag såg byggdes med ett fiske linje. Jag ville inte
Hemmagjord automatisk tvättställ med vatten med Arduino: 4 steg
Hemmagjord automatisk vattendispenserande tvättställ med hjälp av Arduino: Syftet med denna design är att släppa ut vattnet från kranen när du sträcker ut handen för att tvätta i bassängen utan att smutsa ner kranen och slösa vatten. Opensource Arduino - Nano board används för att åstadkomma detta. Besök vår webbplats för källkod