Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Automatische apparaattester met Arduino

Componenten en benodigdheden

Arduino Nano R3
Een Uno zou net zo goed werken
× 1
Mannelijke USB
× 1
Vrouwelijke USB
× 1

Apps en online services

Arduino IDE

Over dit project

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, en nog veel meer), 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 back-feed 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 te maken hebt, kan het vinden van manieren om de tijd per eenheid te verminderen 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 honderden 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 te openen de antistatische zak waarin het wordt verzonden!

Het is waarschijnlijk niet nodig om dit exacte apparaat te bouwen, maar hopelijk kan een deel van wat ik doe nuttig voor je zijn.

Bekijk de video!

Het meeste van wat ik in dit artikel behandel, is beschikbaar in deze video, dus kijk of video's iets voor jou zijn!

De Power Blow-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 staan ​​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 behoorlijk vervelend worden, vooral in een donkere kamer.

De Power Blough-R is een simpele print met een mannelijke en een vrouwelijke USB-connector erop, maar verbindt de 5V-lijn niet.

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 enige 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)

Achtergrond:De Grote Orde

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!

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 doorbraak*
  • 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 heb ik 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 pluggen)

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

*Partnerlinks

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 klaar is, 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

Initiële 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 hij door alles gaat behalve de 5V-lijn.

Brugtest:

Hiermee wordt gecontroleerd of geen van de pinnen met elkaar is verbonden. Het stapt dus door elke pin, stelt de output in en controleert vervolgens of alle andere pinnen hierdoor niet worden beïnvloed.

Hieronder zal ik enkele van de functies/concepten doornemen die bij het testen zijn gebruikt.

INPUT_PULLUP

Dit is echt een handige waar het u een extra weerstand (per pin) in uw project kan besparen. Dit is vooral handig als u knoppen gebruikt.

Wanneer een pin is ingesteld op INPUT_PULLUP, verbindt deze de pin in feite met VCC met een weerstand van 10k. 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 zijn. Tijdens de tests waren de MANNELIJKE pinnen op LAAG ingesteld en wanneer deze twee zouden worden aangesloten, zouden we verwachten dat de VROUWELIJKE pin LAAG zou zijn.

Drie-staten 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 kenmerken in Charlie-plexing, wat een soort magische manier is om individuele LED's aan te spreken met een kleiner aantal pinnen. Bekijk de volgende video als je meer wilt weten over Charlie-plexing.

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 paar 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 testcode voor de brug te testen.

Conclusie

Zoals ik aan het begin van dit artikel al zei, is dit waarschijnlijk het nuttigste dat ik met een Arduino 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 geslaagd/mislukt-indicator was.

Hopelijk valt er iets nuttigs uit deze handleiding te leren, als je vragen hebt, stel ze dan gerust hieronder!

Al het beste,

Brian

  • YouTube
  • Twitter
  • Tindie

Code

Github
https://github.com/witnessmenow/Power-BLough-R-Testerhttps://github.com/witnessmenow/Power-BLough-R-Tester

Productieproces

  1. Stand-byvermogen van apparaten minimaliseren
  2. Ontwerpen met Bluetooth Mesh:apparaatvereisten
  3. Maak binnen enkele minuten een branddetector met Samsung SAMIIO, Arduino UNO en Raspberry Pi
  4. CO2-monitoring met K30-sensor
  5. Doofblinde communicatie met 1Sheeld/Arduino
  6. Bedien muntvangers met Arduino
  7. Automatisch plantenwatersysteem met Arduino
  8. Arduino met Bluetooth om een ​​LED te bedienen!
  9. Capacitieve vingerafdruksensor met een Arduino of ESP8266
  10. Wat is de Automatic Power Press?
  11. Wat is een automatische powerpers?