Innehållsförteckning:

Automatisk enhetstestare med Arduino: 9 steg
Automatisk enhetstestare med Arduino: 9 steg

Video: Automatisk enhetstestare med Arduino: 9 steg

Video: Automatisk enhetstestare med Arduino: 9 steg
Video: Molo - Automatisk (Lyrics) 2024, November
Anonim
Automatisk enhetstestare med Arduino
Automatisk enhetstestare med Arduino
Automatisk enhetstestare med Arduino
Automatisk enhetstestare med Arduino

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

Image
Image

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

Power Blough-R
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

Bakgrund: Den stora ordningen
Bakgrund: Den stora ordningen
Bakgrund: Den stora ordningen
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

Hårdvara
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

programvara
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

Image
Image

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

Slutsats
Slutsats

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: