Inhoudsopgave:
- Stap 1: Bekijk de video
- Stap 2: De Power Bough-R
- Stap 3: Achtergrond: de grote order
- Stap 4: Hardware
- Stap 5: Software
- Stap 6: INPUT_PULLUP
- Stap 7: Tri-state logica
- Stap 8: De tester testen
- Stap 9: Conclusie
Video: Automatische apparaattester met Arduino - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Dit lijkt misschien niet veel, maar dit is waarschijnlijk het nuttigste dat ik ooit met een Arduino heb gemaakt. Het is een automatische tester voor het product dat ik verkoop, de Power Blough-R. Het bespaart me niet alleen tijd (het heeft me momenteel minstens 4 uur bespaard), maar het geeft me ook een veel sterker vertrouwen dat het product 100% functioneel is voordat het wordt verzonden.
De Power Blough-R, uitgesproken als "Power Blocker" (het is een woordspeling op mijn naam die verrassend wordt uitgesproken als "lock"!), is voor het oplossen van het backfeed-stroomprobleem dat je vaak kunt ervaren bij het gebruik van octoprint met een 3D-printer.
Om de tester te gebruiken, plaats je gewoon een Power Blough-R in de USB-headers en druk je op de resetknop op de Arduino Nano. De tester doorloopt een reeks tests en geeft aan of het apparaat de tests heeft doorstaan of mislukt met behulp van de ingebouwde LED van de Nano (vast voor geslaagd, knipperend voor mislukt).
Als je veel moet maken, kan het vinden van manieren om de tijd per eenheid te verkorten een enorme impact hebben. Het gebruik van deze tester verminderde de tijd die ik nodig had om een eenheid te testen van ongeveer 30 seconden tot 5 seconden. Hoewel 25 seconden niet veel klinkt, telt het op als je 100 van deze dingen te doen hebt!
Ik denk dat het meest indrukwekkende wat ik erover kan zeggen, is dat ik met deze tool minder tijd nodig heb om de Power Blough-R twee keer te testen dan om gewoon de antistatische zak te openen waarin hij wordt geleverd!
Het is waarschijnlijk niet nodig om dit exacte apparaat te bouwen, maar hopelijk kan een deel van wat ik doe nuttig voor je zijn.
Stap 1: Bekijk de video
Het meeste van wat ik in dit artikel behandel, is beschikbaar in deze video, dus bekijk het als video's iets voor jou zijn!
Stap 2: De Power Bough-R
Dus wat is de Power Blough-R en wat doet hij?
Als je ooit Octoprint met je 3D-printer hebt gebruikt, is er vaak een probleem waarbij het scherm van je printer aan blijft door de USB-stroom van de Raspberry Pi, zelfs als de printer is uitgeschakeld. Hoewel dit niet het einde van de wereld is, kan het vooral in een donkere kamer behoorlijk vervelend worden.
De Power Blough-R is een simpele print met een mannelijke en een vrouwelijke USB-connector erop, maar sluit de 5V-lijn niet aan.
Er zijn andere methoden om dit probleem op te lossen, sommige mensen knippen de 5V-lijn van hun USB-kabel door of plakken wat tape over de 5V-connector, maar ik wilde een eenvoudige, robuuste manier bedenken om hetzelfde resultaat te bereiken, zonder schade aan te richten USB-kabels!
Als u geïnteresseerd bent in de Power BLough-R, kunt u deze kopen:
- In mijn Tindie-winkel (kit of gemonteerd)
- TH3dstudio.com (Gemonteerd)
(Net als tussen haakjes, dit bericht is niet gesponsord en ik ben niet betrokken bij TH3D anders dan de levering van de Power Blough-R's. Ik heb niets extra's ontvangen voor het opnemen van links naar TH3D of er is ooit een artikel/video besproken als onderdeel van de originele deal)
Stap 3: Achtergrond: de grote order
Ik verkocht de Power Blough-R's in mijn Tindie-winkel, voornamelijk als kits. Maar voor degene die ik gemonteerd verkocht, zou ik ze testen met een multimeter. In zou testen op een goede verbinding tussen de input en de output van Ground, D- en D+ en dat 5V niet was aangesloten en testen op bruggen.
Dit zou ongeveer 30 seconden duren en was erg vatbaar voor het maken van fouten als ik niet erg voorzichtig was. Maar voor het aantal geassembleerde exemplaren dat ik verkocht, was het geen enorme tijdsinvestering.
Maar ik plaatste een foto van de Power Blough-R op de subreddit voor 3D-printen, en Tim van TH3DStudio.com nam contact met me op om te vragen of hij er een paar wilde bestellen om in zijn winkel op te slaan als proef. Ik zei zeker en vroeg hoeveel hij er zocht. Ik verwachtte dat hij 10 of 20 zou zeggen, maar hij zei laten we beginnen met 100….
Het zou voor mij bijna onmogelijk zijn om met vertrouwen 100 apparaten met de multimeter te testen, dus ik wist dat ik er iets aan moest doen!
Stap 4: Hardware
Ik ging voor de absoluut eenvoudigste manier waarop ik dit kon monteren, omdat ik een beetje tijdnood had! Het was ook echt een goedkope build (minder dan ~ $ 5 voor alles).
- Arduino Nano (deze heeft een micro-USB, maar elke is voldoende)*
- Nano schroefaansluiting breakout*
- Mannelijke USB-breakout*
- Vrouwelijke USB-breakout*
- wat draad
Er is niet echt veel aan de montage hiervan. Soldeer de header-pinnen aan de nano als ze dat nog niet zijn en steek ze in de uitbraak van de schroefaansluiting.
5 draden moeten op de mannelijke en vrouwelijke USB-breakouts worden gesoldeerd. Opmerking voor de afschermingsdraad, de vrouwelijke breakout had hiervoor geen pad, dus ik heb het aan de zijkant van de connector gesoldeerd. Deze draden kunnen aan het andere uiteinde worden gestript en in de schroefklemmen worden geschroefd (zorg ervoor dat u wat speling laat, zodat het gemakkelijker is om de apparaten in en uit te schakelen)
Voor de mannelijke connector heb ik de volgende pinnen gebruikt:
- GND > 2
- D+ > 3
- D- > 4
- VCC > 5
- Schild > 10
Voor de vrouwelijke connector heb ik gebruikt:
- GND > 6
- D+ > 7
- D- > 8
- VCC > 9
- Schild > 11
*affilate link
Stap 5: Software
Allereerst moet je de Arduino IDE downloaden en instellen als je die nog niet hebt.
Je kunt de schets die ik van mijn Github heb gebruikt pakken en uploaden naar het bord. Als dat eenmaal is gebeurd, ben je klaar om te gaan!
Bij het opstarten doorloopt de schets een reeks tests. Als alle tests slagen, wordt de ingebouwde LED ingeschakeld. Als er storingen zijn, knippert de ingebouwde LED. Het apparaat geeft de reden van de storing ook door aan de seriële monitor, maar ik gebruik deze functie niet echt.
De schets doorloopt de volgende tests:
Eerste test:
Dit is om te controleren of de vrouwelijke pinnen lezen zoals verwacht, terwijl de mannelijke pinnen worden genegeerd. Zie de stap over Tri-state logica voor meer informatie hierover.
Hoofdtest:
Deze test controleert of GND, D+, D- en Shield zijn aangesloten terwijl de 5V-lijn geblokkeerd is. Dit is om de belangrijkste functionaliteit van de Power Blough-R te controleren, waar deze door alles gaat behalve de 5V-lijn.
Brugtest:
Hiermee wordt gecontroleerd of geen van de pinnen aan elkaar is overbrugd. Dus het stapt door elke pin, stelt de output in en controleert vervolgens of alle andere pinnen hierdoor niet worden beïnvloed.
In de volgende paar stappen zal ik enkele van de functies/concepten die bij het testen worden gebruikt, doornemen.
Stap 6: INPUT_PULLUP
Dit is echt een nuttige waar het u een extra weerstand (per pin) in uw project kan besparen. Dit is vooral handig wanneer u knoppen gebruikt.
Wanneer een pin is ingesteld op INPUT_PULLUP, verbindt deze de pin in feite met VCC met een 10k-weerstand. Zonder een pull-up (of pull-down) weerstand, wordt de standaardstatus van de pin als zwevend beschouwd en krijg je inconsistente waarden wanneer je de pin leest. Omdat het een vrij hoge waarde is voor een weerstand, kan de status van de pin eenvoudig worden gewijzigd door een ander logisch niveau op de pin toe te passen (bijvoorbeeld wanneer de knop wordt ingedrukt, verbindt deze de pin met aarde en de pin zal LAAG aangeven.
Ik heb de pin-modus van de VROUWELIJKE pinnen ingesteld op een INPUT_PULLUP, dus ik heb een referentiepunt naar wat de pin zou moeten zijn (HOOG) zolang er geen externe krachten op staan. Tijdens de tests werden de MANNELIJKE pinnen op LAAG gezet en wanneer deze twee zouden moeten worden aangesloten, zouden we verwachten dat de VROUWELIJKE pin LAAG zou zijn.
Stap 7: Tri-state logica
Voor de eerste test wilde ik het logische niveau van de VROUWELIJKE pinnen controleren, terwijl ik in feite de MANNELIJKE pinnen negeerde.
Dit lijkt misschien een probleem omdat de MANNELIJKE pinnen een logisch niveau zouden moeten hebben dat van invloed zou zijn, toch?
Nou, eigenlijk hebben pinnen van de meeste microcontrollers wat bekend staat als Tri-state logica, wat betekent dat ze 3 toestanden hebben waarin ze zich kunnen bevinden: HOOG, LAAG en HOOG IMPEDENCE
HOGE IMPEDENCE wordt bereikt door de pin als INPUT in te stellen. Het komt overeen met het plaatsen van een 100 Mega OHM-weerstand voor de pin, waardoor deze effectief wordt losgekoppeld van ons circuit.
Tri-state logica is een van de belangrijkste functies in Charlie-plexing, wat een soort magische manier is om individuele LED's aan te spreken met een kleiner aantal pinnen. Bekijk de video hierboven als je meer wilt weten over Charlie-plexing.
Stap 8: De tester testen
Dit is eigenlijk een heel belangrijke stap, want als je niet test dat de tester negatieve scenario's opvangt, kun je er zeker van zijn dat wanneer de test is geslaagd, het apparaat werkt zoals bedoeld.
Als je bekend bent met unit testing in softwareontwikkeling, dan is dit het equivalent van het creëren van negatieve testscenario's.
Om dit te testen, heb ik een aantal borden gemaakt met fouten erop:
- De USB-headers aan de verkeerde kant van het bord gesoldeerd. De USB-headers passen prima, maar de grondlijn wordt niet aangesloten en de 5V-lijn wel. (helaas is deze niet met opzet gemaakt, wat de noodzaak van de tester bewijst!)
- Met opzet twee pinnen overbrugd om de brugtestcode te testen.
Stap 9: Conclusie
Zoals ik aan het begin van dit artikel al zei, is dit waarschijnlijk het nuttigste dat ik met een Arudino heb gebouwd.
Sinds de oorspronkelijke bestelling bestelde Tim nog eens 200 Power BLough-R's en hoewel de tijdwinst zeer op prijs wordt gesteld, is het vertrouwen dat het geeft dat het product in perfecte staat verkeert, het belangrijkste waar ik van geniet.
In feite voor de bestelling van 200, heeft mijn vrouw ze in feite allemaal getest. Ze vond het erg leuk hoe snel het te gebruiken was en hoe eenvoudig de pass/fail-indicator was.
Hopelijk valt er iets nuttigs uit deze gids te leren, als je vragen hebt, stel ze dan gerust hieronder!
Het beste, Brian
- YouTube
- Tindie
Aanbevolen:
Automatische bedverlichting: 5 stappen (met afbeeldingen)
Automatische bedverlichting: slaap jij ook 's nachts? Zie je ook niets in het donker? Heb je 's nachts ook donker op de kamer? Dan is dit apparaat iets voor jou! Ik denk dat de meesten van ons graag een beetje blijven 's avonds langer. De redenen kunnen verschillend zijn - Netflix, YouTube
AUTOMATISCHE AFVALBAK OF BIN. DE PLANEET REDDEN: 19 stappen (met afbeeldingen)
AUTOMATISCHE AFVALBAK OF BIN. OM DE PLANEET TE REDDEN: Voordat we beginnen, raad ik je aan de eerste video te bekijken voordat je deze leest, omdat deze erg handig is. Hallo, mijn naam is Jacob en ik woon in het VK. Recycling is een groot probleem waar ik woon. Ik zie veel zwerfvuil op de velden en het kan schadelijk zijn. NS
Automatische infraroodwaterkraan voor $ 5: 12 stappen (met afbeeldingen)
Automatische infraroodwaterkraan voor $ 5: in dit project maken we een automatische aan-uit-waterkraan voor slechts $ 5. We zullen een IR-sensor en een waterschakelaar gebruiken om deze automatische infraroodwaterkraan te maken. Er wordt geen microcontroller gebruikt om deze automatische infrarood waterkraan te maken. Plaats eenvoudig uw
Automatische Snow Wake-up Call: 6 stappen (met afbeeldingen)
Automatische sneeuwwekker: 's ochtends het huis uit gaan kan een vlaag van activiteit zijn nadat een paar centimeter van het witte spul 's nachts is neergedaald. Zou het niet fijn zijn om op die dagen wat eerder wakker te worden om de stress uit de ochtend te halen? Dit project doet
Automatische tuinbesproeier - 3D afgedrukt - Arduino: 10 stappen (met afbeeldingen)
Automatische tuinbesproeier | 3D afgedrukt | Arduino: Ik ben een fervent tuinier, maar je planten met de hand water geven tijdens droge perioden kost wat tijd. Dit project verlost me van water geven, zodat ik aan mijn andere projecten kan werken. Het is ook geweldig om voor de tuin te zorgen terwijl u niet thuis bent, en de plant