Fyrverkeri-kontrollmodulen (8 / 22 steg)
Steg 8: Tändare Sensing styrelse
Del av min plan med controller var att vara själv känner av som tändmedel var anslutna och som var inte. För att göra detta måste det att kunna passera en låg ström genom tändaren som inte skulle göra det heta men på samma skulle gång kunna varna Arduino. Problemet är att tändare som körs av ett 12v system och Arduino rinner av en 5v system. Ansluta 12v till Arduino är ett no-no som kan släppa ut den dyrbara magiska röken eller bränna ut några digitala I/Os. För att åstadkomma detta använder vi en Optocoupler.
Optocoupler förklarade
En optocoupler är ett sätt att kommunicera signaler från en logik nivå till en annan med komplett krets isolering. Ingen spänning, ström, etc från 12v kretsen kan nå ut och beröra 12v systemet. Det åstadkommer detta med hjälp av en infraröd LED / fototransistor ihopkoppling. När signalen är hög på sidan LED tänds lampan som lyser tvärs över IC (dolt i paketet) och på den ljuskänsliga. Foto transistorn går sedan från en hög impedans låg impedans skick, i huvudsak agerar som en switch som blir aktiverat.
Krets förklaring
När tändaren inte är ansluten det är en öppen krets på IR-LED sida och således ingen ström kan flöda genom LED och belysa det. När det händer foto-transistorn är fortfarande i en hög impedans (öppen krets) och tillåter inte ström genom. Det finns en 10 k ohm pull upp transistorn sitter på plats på collector sidan av transistorn. Med ingen sluten krets finns ingen ström och därmed ingen nuvarande droppe över 10 k ohms motstånd. Därför spänningen på vardera sidan om motståndet är 5v och Arduino läser som som en kick. Enligt koden HIGH anger att det finns ingen igniter ansluten därmed är det inte tillgängligt för lansering.
När tändaren är ansluten kan en liten ström genom att IR-LED som lyser på foto-transistorn som placerar det i en låg impedans stat (sluten krets / slå på) och nuvarande kan flöda från 5v försörjningen, genom de 10 k motståndet, genom fototransistor till marken. 10 k motstånd är mycket högre resistans än phot-transistorn och i huvudsak har skapat en mini spänningsavdelare varav 99% av spänningen tappar sker över resistorn lämnar nära 0v att läsas av Arduino. Arduino läser detta så lågt som koden berättar det att det är verkligen en igniter närvarande och en gång beväpnad systemet kommer gärna att blåsa upp ljus, glänsande fyrverkeri godhet!
Styrelsen
Återigen är några av ledningarna under styrelsen så det kan vara något förvirrande men Följ bara Fritzing diagrammet och du kan inte gå vilse. Börja med lödning din 16 pin DIP sockets på plats. Dessa tillåter dig att lätt ersätta optocouplers som behövs bör de bli skadade genom misshandel eller troligare elektroniska okunnighet.
Läst databladet för dig optocoupler att räkna ut vad motstånd värde du behöver på plats att tillfredsställa till spänning och bristerna i din IR-LED. Jag försökte gå så högt som möjligt på motståndet för att begränsa strömförbrukning. Jag testade en kanal av optocoupler först att se till att det var glad att vända en LED på och av genom foto-transistorn och då kallas det bra. Löda du motstånd i serie med din IR-lysdioder och sedan löda i andra änden av motståndet till stift för enkel anslutning av moduler senare. Inkludera 1 extra stift av åt sidan för att få marken tillbaka till 12v batteri, kom ihåg, vi för full galvanisk isolering, det behöver inte vara en gemensam grund mellan de 12v och 9v eller 5v kraftkällor.
Typ av redan beskrev jag inställningen av den Arduino sidan ovan. I huvudsak tror på varje foto-transistor som en switch med en pull-up resistor och du har det gjort. Kör sladdar finns mellan varje foto-transistor och motstånd till en uppsättning stift på sidan av styrelsen för anslutning till Arduino senare. Inkluderar både 5v och GND stift här som du kommer att behöva leverera den från din power distribution styrelse senare.