Stap 5: Voeding
Een van de nadelen van het hebben van een arcade-machine die klein dat het meestal is niet op hun plaats blijven: de beste manier om te spelen is het oprapen en houd hem in je handen, met twee cijfers beheersing van de joystick en knoppen. Het probleem met de Raspberry Pi is dat het moet 5V, en tot nu toe heb ik het genoeg dat het gebruik van de mini-USB-ingang van de seriële-naar-USB-converter van bestuur. Dit is minder dan ideaal: de Raspberry Pi is niet specced om te worden van een USB ingangsspanning en meer macht dan een USB-poort is opgegeven om te leveren kan opeten. Plus, krijgen een USB-kabel, hoeft deze verbroken, wat resulteert in beschadiging van bestanden systeem. Ik besloot te bouwen mezelf een mooie batterij aangedreven 5V bron. Omdat ik niet alle compartimenten van de batterij in de arcade kast geval ontworpen, ik gewoon niet kon gooien verwisselbare AA-batterijen tegen het probleem... wat ik koos batterijen moest blijven in de behuizing wordt gebruikt en wanneer u wordt opgeladen. Dat betekende dat ik moest ook een manier om de kracht vullen zodra de arcade machine uit SAP was te kunnen ontwikkelen. Ik had nog steeds twee Nokia BL-5J batterijen rondslingeren. Ze waren niet echt nieuw meer, maar nog steeds voldoende lading om de Raspberry Pi te lopen voor een eerlijke terwijl kon houden. Deze batterijen hebben ook enige bescherming in hen: je moet niet kundig voor hen op te blazen door het toepassen van een te hoge spanning of teveel current erdoor te draaien. Dat was iets wat ik zou kunnen gebruiken, want ik was van plan op het maken van de lader / 5V PSU mezelf, met standaard componenten. Het zou betekenen dat een fout van mijn kant heeft een veel lager risico van opblazen van de batterijen en veroorzaakt ongeluk. Als you gonna bouwen dit, ten minste zorg ervoor dat uw batterijen worden ook beschermd. Controleer ook uw werk. En mijn schema's en code. Weet je wat, als deze waarschuwingen eigenlijk je iets nieuws vertellen, niet helemaal bouwen. Ik ben niet verantwoordelijk voor eventuele mess-ups als gevolg van om het even wat op deze pagina door de manier. Ook, you gonna sluit LiIons in parallel, Controleer of dat ze eerst het voltage dat hetzelfde moet betalen. Met dat gezegd zijnde: hier is het schema: een paar opmerkingen over de delen: The LiIon is de twee Nokia-batterijen (nog steeds met hun bescherming circuits intact!) in parallel. De diodes zijn willekeurige 2A Schottkys ik nog had. De mosfets komen als twee IRF9952s, die een N-kanaal en een P-zenders mosfet in één pakket. Helaas, ik heb geen idee wat de specs van de spoel zijn: ik net pakte een die krachtig genoeg leek van mijn delen bin en lijkt te doen de truc. Dus, hoe werkt het? Het is niet direct duidelijk uit het schema, omdat sommige componenten en lijnen worden gebruikt meerdere malen. Kortom, het circuit heeft drie modi waarin bewerkingen: inactief (uit), het genereren van 5V (aan) en opladen. De ruststand is het makkelijkst uit te leggen: de AVR ontvangt 3.7V van de batterijen via spoel, diode en 10 ohm weerstand. Het heeft haar IO ingesteld op niveaus waar geen van de mosfets voeren, en zal proberen om het als weinig macht mogelijk opeten. Elke seconde, zal het wakker worden om te zien als de power-knop heeft gedrukt of een lader is aangesloten. Als de machtsknoop wordt gedrukt, zal de AVR wakker en beginnen met het genereren en 5V reguleren door middel van een boost converter. Het genereert een blokgolf op PB4, in principe laten stromen stroom uitziet: wanneer PB4 is hoog, de huidige loopt langs de rode lijn: van de accu door middel van de spoel (die zal genereren een magnetisch veld) via de mosfet op grond. Zodra de PB4 opnieuw laag is gemaakt, de huidige loopt langs de groene lijn: omdat het magnetisch veld wordt samengevouwen, de spoel zal dwingen een stroom van de accu door middel van zelf en de zener-diode in de condensator van 2200uF, het opladen met een spanning boven de accuspanning. Door het variëren van het pulserend sproeien, de AVR kunt aanpassen hoe snel de kosten van de condensator. De AVR zelf wordt aangedreven met behulp van deze condensator: afgezien van de 10 ohm weerstand en 100nF condensator (welke vorm een low-pass filter, uitfilteren spikes) is de AVR bijna rechtstreeks verband houden met de Vcc-pin aan de spanning van de condensator. De ATTiny85 heeft een manier om te meten zijn eigen voedingsspanning en gebruikt dit om ervoor te zorgen dat de spanning blijft bij 5 volt. Zodra de condensator is genoeg gevuld, verlaagt de AVR ook PB0, waardoor de aangesloten mosfet brengen de 5V aan de Raspberry Pi, die gelukkig zal opstarten. Als, aan de andere kant, 5V op de USB-poort wordt gevonden, zal het apparaat gaan opladen modus. In deze modus, het zult laden de Li-ion-batterij door voeding 500mA van huidige of 4.2V van spanning, welke het hoogst is. De AVR kan detecteren van de aanwezigheid van een lader omdat de 10K weerstand ertoe dat de 5V via de stippellijn PB1 leiden zal. Deze pin is ook een ingang van de AVR's interne comparator. De andere kant van de comparator is verbonden met de Vcc. Zodra de comparator een hogere spanning op PB1 detecteert, kent het een lader is aangesloten en schakelt over op een blokgolf op PB1. In deze configuratie werkt het apparaat als een bok converter, met de kracht van de batterij komt vanuit de 5V ingang (rode lijn) of naar de ineenstorting van het magnetisch veld in de spoel (groene lijn). De AVR kunt regelen de spanning die door aanpassen van het pulserend sproeien van de blokgolf op PB1 gegenereerd. Om te controleren de gegenereerde spanning op een correcte manier, zal de AVR nodig om zowel de accuspanning en de stroom door de batterij te meten. De stroom wordt gemeten door grijpen de spanning over de weerstand van de shunt 0,25 ohm. De spanning kan worden gemeten door AD'ing de waarde van PB0. Het meten van de accuspanning moet een truc (net als het meten van de 5V lijn doet bij het genereren van de macht voor de Raspberry Pi): de spanning van de verwijzing in de AVR is 1.1V of 2.56V, die beiden te laag zijn om te meten de 4.2V accuspanning. PB0, kan echter worden gebruikt als een referentie spanning, net als Vcc. Als die verwijzing wordt gebruikt om de maatregel de 1.1V interne verwijzing (die kan worden ontstoken als een input), is het mogelijk voor het meten van spanningen > 2.56V zonder externe weerstand scheidingslijnen. Nog nog niet twee delen van het schema verklaard. De eerste is het deel rond de 3V6 zener diodes: dit is een Koevoet-achtige bescherming circuit. Zodra een spanning van over 9V wordt ontdekt op de 5V lijn (bijvoorbeeld vanwege een bug in de code), dat de mosfet zal pull-down de reset-lijn van de AVR, laat hopelijk afsluiten wat proces de spanning krijgen die hoog. 9V lijkt misschien een beetje hoog voor een spanning van bescherming, maar slechts één piek heeft om dat te krijgen hoge; de gemiddelde spanning is waarschijnlijk lager wanneer dat gebeurt. Het andere deel is de bit rond de knop en de LED: dit is een gecombineerde Oplaadindicator, aan-/ uitschakelaar en soft-power-off. Tijdens het opladen, knippert de AVR de LED, die aangeeft hoever het laadproces is. Wanneer ingeschakeld, kan de Raspberry Pi detecteren als de knop wordt ingedrukt voor een korte tijd; de AVR zal negeren. Wanneer de knop is ingedrukt voor langer dan 4 seconden, echter zal de AVR onmiddellijk dicht waas macht aan de Raspberry Pi. De regel 'RPi poweroff' moet worden aangesloten op de Raspberri Pi GPIO30 hiervoor voor werkzaamheden, en de 'power'-programma (opgenomen in de download) moet worden uitgevoerd. Dit zorgt voor een volledige zachte macht opstarten en afsluiten: druk op de knop eenmaal aan de macht op de Raspberry Pi. Gaan spelen van een spel. Wanneer u klaar bent, druk nogmaals op de knop. De Raspberry Pi zal dit detecteren en afgesloten. Aan het einde van dit proces, zal maken de lijn om PB2 lage, simuleren een lange druk op de knop; Dit zal de kracht op de Pi weer gesneden. Als er iets misgaat, kunt u handmatig Houd de toets 4 seconden ingedrukt en die manier uitvoeren als een harde powerdown. Alle deze logica past nog op een kleine PCB ongeveer even groot als de batterijen het zorgt voor: de software voor de AVR en de kleine daemon die horloges voor knooppersen en kan afsluiten de macht kan hier worden gedownload