Inhoudsopgave:
- Stap 1: Schakelmodus Altoids IPOD-oplader met 3 'AA'-batterijen
- Stap 2: SMPS
- Stap 3: PCB
- Stap 4: FIRMWARE
- Stap 5: KALIBRATIE
- Stap 6: TESTEN
- Stap 7: VARIATIES: USB
Video: Schakelmodus Altoids IPOD-oplader met 3 'AA'-batterijen - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Het doel van dit project was om een efficiënte Altoids blikken iPod (firewire) oplader te bouwen die werkt op 3 (oplaadbare) 'AA' batterijen. Dit project begon als een samenwerking met Sky op het ontwerp en de constructie van PCB's, en ik op circuit en firmware. Zoals het is, zal dit ontwerp niet werken. Het wordt hier gepresenteerd in de geest van "het concept van een afgeleid project"(https://www.instructables.com/ex/i/C2303A881DE510299AD7001143E7E506/)"????-- een project dat een ander project als opstap gebruikt steen voor verdere verfijning, verbetering of toepassing op een totaal ander probleem. De gemeenschap van doe-het-zelvers waar we allemaal deel van uitmaken, kan echt geweldige dingen doen door als gemeenschap samen te werken. Innovatie gebeurt zelden in een vacuüm. De voor de hand liggende volgende stap is om de gemeenschap te laten helpen bij het verfijnen en ontwikkelen van ideeën die nog niet klaar zijn om afgewerkte projecten te worden." We dienen dit nu in, zodat andere iPod-enthousiastelingen kunnen verdergaan waar we gebleven waren. Er zijn (minstens) twee redenen waarom deze oplader _niet_ werkt: 1. De transistor laat niet genoeg stroom vloeien om de spoel volledig op te laden. De andere optie is een FET, maar een FET heeft minimaal 5 volt nodig om volledig in te schakelen. Dit wordt besproken in de sectie SMPS.2. De spoel is gewoon niet groot genoeg. De oplader levert lang niet genoeg stroom voor de iPod. We hadden geen nauwkeurige manier om de laadstroom van de iPod te meten (behalve het uit elkaar halen van de originele oplaadkabel) totdat onze onderdelen van Mouser arriveerden. De aanbevolen smoorspoelen zijn lang niet groot genoeg voor dit project. Een geschikte vervanging zou de spoel kunnen zijn die Nick de Smith op zijn MAX1771 SMPS gebruikt. Het is een spoel van 2 of 3 ampère van digikey:(https://www.desmith.net/NMdS/Electronics/NixiePSU.html#bom) Dit apparaat kan een kleine hoeveelheid stroom leveren aan een USB- of firewire-apparaat, maar niet genoeg om een (3G) iPod op te laden. Het ZAL een totaal dode 3G iPod van stroom voorzien, maar niet opladen.
Stap 1: Schakelmodus Altoids IPOD-oplader met 3 'AA'-batterijen
Het doel van dit project was om een efficiënte Altoids blikken iPod (firewire) oplader te bouwen die werkt op 3 (oplaadbare) 'AA' batterijen. Firewire levert ongereguleerd 30 volt. Een iPod kan 8-30 volt gelijkstroom gebruiken. Om dit van 3 AA-batterijen te krijgen, hebben we een spanningsversterker nodig. In deze instructable wordt een schakelende voeding op basis van een microcontroller gebruikt. Standaard disclaimers zijn van toepassing. Hoogspanning….dodelijk…etc. Bedenk hoeveel je iPod je waard is voordat je hem aansluit op dit kleine stun gun in een blikje. Voor alle wiskundige en vuile details van SMPS, lees de nixie tube boost converter instructable: https://www.instructables.com /ex/i/B59D3AD4E2CE10288F9901143E7E506/?ALLE STAPPENLees verder om te zien hoe het nixie tube SMPS-ontwerp werd aangepast om een iPod-oplader te worden….
Een hoop eerder werk inspireerde dit project. Een van de eerste doe-het-zelf-laders gebruikte een combinatie van 9 volt en AA-batterijen om een iPod op te laden via de firewire-poort (werkt voor alle iPods, verplicht voor 3G iPods): https://www.chrisdiclerico.com/2004/10/24 /ipod-altoids-battery-pack-v2Dit ontwerp heeft het probleem van ongelijkmatige ontlading tussen de batterijen. Een bijgewerkte versie gebruikte alleen 9 volt-batterijen: https://www.chrisdiclerico.com/2005/01/18/altoids-ipod-battery-pack-v3Het onderstaande ontwerp verscheen op Make en Hackaday terwijl dit instructable werd geschreven. Het is een eenvoudig ontwerp voor een 5 volt USB-oplader (dit type laadt geen eerdere iPods op, zoals de 3G). Het maakt gebruik van een 9 volt batterij met een 7805 5 volt regelaar. Er wordt een stabiele 5 volt geleverd, maar de extra 4 volt van de batterij wordt als warmte in de regelaar verbrand. https://www.instructables.com/ex/i/9A2B899A157310299AD7001143E7E506/?ALLSTEPSAl deze ontwerpen hebben één ding gemeen: 9 volt batterijen. Ik denk dat 9 volts sullig en duur zijn. Tijdens het onderzoeken voor deze instructable merkte ik op dat een 'Energizer' NiMH 9 volt slechts 150 mAh heeft. 'Duracell' maakt geen oplaadbare 9 volts. Een 'Duracell' of 'Energizer' NiMH 'AA' heeft een gezond vermogen van 2300 mAh, of meer (maximaal 2700 mAh op nieuwere oplaadbare batterijen). In een mum van tijd zijn wegwerp alkaline AA-batterijen overal verkrijgbaar tegen een redelijke prijs. Het gebruik van 3 'AA'-batterijen levert ons 2700 mAh op bij ~ 4 volt, vergeleken met 150 mAh bij 9 of 18 (2x9 volt) volt. Met zoveel vermogen kunnen we leven met schakelverliezen en extra energie die wordt opgeslokt door de SMPS-microcontroller.
Stap 2: SMPS
De onderstaande illustratie is een uittreksel uit TB053 (een mooie applicatienota van Microchip: (https://ww1.microchip.com/downloads/en/AppNotes/91053b.pdf)). Het schetst het basisprincipe achter de SMPS. Een microcontroller aardt een FET (Q1), waardoor een lading kan worden ingebouwd in inductor L1. Wanneer de FET is uitgeschakeld, stroomt de lading door diode D1 naar condensator C1. Vvfb is een spanningsdelerfeedback waarmee de microcontroller de hoge spanning kan bewaken en de FET kan activeren als dat nodig is om de gewenste spanning te behouden. We willen tussen de 8 en 30 volt om een iPod op te laden via de firewire-poort. Laten we deze SMPS ontwerpen voor 12 volt output. Dit is geen direct dodelijke spanning, maar ruim binnen het firewire-spanningsbereik. Microcontroller Er zijn verschillende oplossingen met één chip die de spanning van een paar batterijen kunnen verhogen tot 12 (of meer) volt. Dit project is NIET gebaseerd op een van deze. In plaats daarvan gebruiken we een programmeerbare microcontroller van Microchip, de PIC 12F683. Hierdoor kunnen we de SMPS ontwerpen met junkbox-onderdelen en blijven we dicht bij de hardware. Een enkele chipoplossing zou het grootste deel van de werking van de SMPS vertroebelen en vendor lock-in bevorderen. De 8-pins PIC 12F682 werd gekozen vanwege zijn kleine formaat en kosten (minder dan $ 1). Elke microcontroller kan worden gebruikt (PIC/AVR) met een hardware-pulsbreedtemodulator (PWM), twee analoge digitale converters (ADC) en een spanningsreferentieoptie (interne of externe Vref). Ik ben dol op de 8-pins 12F683 en gebruik hem voor alles. Af en toe heb ik het gebruikt als een nauwkeurige 8 Mhz externe klokbron voor oudere PIC's. Ik wou dat Microchip me er een hele tube van zou sturen. Spanningsreferentie Het apparaat werkt op batterijen. Ontlading van de batterij en temperatuurverandering leiden tot spanningsdrift. Om ervoor te zorgen dat de PIC een ingestelde uitgangsspanning (12 volt) behoudt, is een stabiele spanningsreferentie nodig. Dit moet een zeer lage spanningsreferentie zijn, dus het is effectief over het uitvoerbereik van 3 AA-batterijen. Een zenerdiode van 2,7 volt was oorspronkelijk gepland, maar de plaatselijke elektronicawinkel had een "stabistor" -diode van 2 volt. Het werd op dezelfde manier gebruikt als een zener-referentie, maar werd "achteruit" (eigenlijk voorwaarts) ingevoegd. De stabistor lijkt vrij zeldzaam (en duur, ~0,75 eurocent), dus hebben we een tweede versie gemaakt met een 2,5 volt referentie van microchip (MCP1525). Als u geen toegang heeft tot de stabistor of Microchip (of andere TO-92) referentie, kan een 2,7 volt zener worden gebruikt. Spanningsterugkoppeling Er zijn twee spanningsterugkoppelingscircuits die worden aangesloten op ADC-pinnen op de PIC. Met de eerste kan de PIC de uitgangsspanning detecteren. De PIC pulseert de transistor in reactie op deze metingen, waardoor een gewenste numerieke waarde op de ADC wordt gehandhaafd (ik noem dit het 'setpoint'). De PIC meet de batterijspanning door de seconde (ik noem dit voedingsspanning of Vsupply). De optimale inductor-aan-tijd is afhankelijk van de voedingsspanning. De PIC-firmware leest de ADC-waarde en berekent de optimale aan-tijd voor de transistor en inductor (de periode/duty cycle-waarden van de PWM). Het is mogelijk om exacte waarden in uw PIC in te voeren, maar als de voeding wordt gewijzigd, zijn de waarden niet meer optimaal. Tijdens het gebruik van batterijen zal de spanning afnemen naarmate de batterijen ontladen, waardoor een langere inschakelduur nodig is. Mijn oplossing was om de PIC dit alles te laten berekenen en zijn eigen waarden in te stellen. Beide verdelers zijn zo ontworpen dat het spanningsbereik ruim onder de 2,5 volt-referentie ligt. De voedingsspanning wordt gedeeld door een weerstand van 100K en 22K en geeft 0,81 bij 4,5 volt (verse batterijen) tot 0,54 bij 3 volt (lege batterijen). De output/hoogspanning wordt verdeeld over 100K en 10K weerstanden (22K voor USB output). We hebben de trimmerweerstand geëlimineerd die wordt gebruikt in de nixie SMPS. Dit maakt de eerste aanpassing een beetje vlekkerig, maar elimineert een groot onderdeel. Bij 12 volt uitgang is de terugkoppeling ongeveer 1 volt. FET/SwitchFET's zijn de standaard 'switch' in SMPS'en. FET's schakelen het meest efficiënt bij spanningen die hoger zijn dan die van 3 AA-batterijen. In plaats daarvan werd een Darlington-transistor gebruikt omdat het een stroomgeschakeld apparaat is. De TIP121 heeft een gain van minimaal 1000 - elke vergelijkbare transistor kan waarschijnlijk worden gebruikt. Een eenvoudige diode (1N4148) en weerstand (1K) beschermen de PIC PWM-pin tegen elke strooispanning die van de basis van de transistor komt. Spoelspoel Ik ben dol op de C&D-stroominductoren die bij Mouser verkrijgbaar zijn. Ze zijn klein en spotgoedkoop. Voor de USB-versie van de lader werd een 220uH spoel gebruikt (22R224C). De firewire-versie gebruikt een inductor van 680 uH (22R684C). Deze waarden werden gekozen door middel van experimenten. Theoretisch zou elke waarde-inductor moeten werken als de PIC-firmware correct is geconfigureerd. In werkelijkheid zoemde de spoel echter met waarden van minder dan 680uH in de firewire-versie. Dit heeft waarschijnlijk te maken met het gebruik van een transistor, in plaats van een FET, als schakelaar. Ik zou elk deskundig advies op dit gebied zeer op prijs stellen. Gelijkrichterdiode Er werd een goedkope super/ultrasnelle 100 volt 1 ampère gelijkrichter van Mouser (zie onderdelenlijst) gebruikt. Andere laagspanningsgelijkrichters kunnen worden gebruikt. Zorg ervoor dat uw diode een lage voorwaartse spanning heeft en snel herstel (30ns lijkt goed te werken). De juiste Schottky zou geweldig moeten werken, maar pas op voor hitte, rinkelen en EMI. Joe op de switchmode-mailinglijst suggereerde: (website:https://groups.yahoo.com/group/switchmode/) "Ik denk dat aangezien Schottky's sneller zijn en een hoge junctiecapaciteit hebben, zoals je zei, je wat meer zou kunnen rinkelen en EMI. Maar het zou efficiënter zijn. Hmm, ik vraag me af of je een 1N5820 zou gebruiken, de 20v-doorslag zou je zenerdiode kunnen vervangen als je een lage stroomsterkte voor je iPod nodig hebt. condensator slaat energie op voor de spoel. Een 47uf/63v elektrolytische en 0.1uf/50V metaalfilmcondensator maakt de uitgangsspanning glad. Tussen de ingangsspanning en massa wordt een 1 watt 5,1 volt zener geplaatst. Bij normaal gebruik mogen 3 AA's nooit 5,1 volt leveren. Als de gebruiker erin slaagt om het bord te overbelasten, zal de zener de voeding op 5,1 volt klemmen. Dit zal de PIC beschermen tegen schade - totdat de zener doorbrandt. Een weerstand zou de jumperdraad kunnen vervangen om een echte zenerspanningsregelaar te maken, maar zou minder efficiënt zijn (zie PCB-sectie). Om de iPod te beschermen, werd een 24 volt 1 watt zenerdiode toegevoegd tussen de uitgang en aarde. Bij normaal gebruik zou deze diode niets moeten doen. Als er iets vreselijk mis gaat (uitgangsspanning stijgt tot 24) moet deze diode de voeding op 24 volt klemmen (ruim onder de firewire max van 30 volt). De gebruikte spoel levert maximaal ~0,8 watt bij 20 volt, dus een zener van 1 watt zou overtollige spanning moeten afvoeren zonder door te branden.
Stap 3: PCB
OPMERKING er zijn twee PCB-versies, een voor een zener/stabistor-spanningsreferentie en een voor een MCP1525-spanningsreferentie. De MCP-versie is de "voorkeursversie" die in de toekomst zal worden bijgewerkt. Er is slechts één USB-versie gemaakt, die gebruikmaakt van de MCP-vref. Dit was een moeilijk te ontwerpen PCB. Er is beperkt ruimte over in ons blik na aftrek van het volume van 3 AA-batterijen. Het gebruikte blik is geen echt altoid-blik, het is een gratis doos pepermuntjes die een website promoot. Het moet ongeveer even groot zijn als een blikje altoïden. In Nederland waren geen Altoids blikken te vinden. Voor de 3 AA-batterijen werd een plastic batterijhouder van de plaatselijke elektronicawinkel gebruikt. De draden werden rechtstreeks aan de clips erop gesoldeerd. De PCB wordt van stroom voorzien via de twee jumpergaten, waardoor de plaatsing van de batterij flexibel is. Een betere oplossing is misschien een soort van mooie PCB-monteerbare batterijclips. Ik heb deze niet gevonden. De LED is 90 graden gebogen om uit een gat in het blik te gaan. De TIP121 is ook 90 graden gebogen, maar niet plat gezet!!!** Een diode en twee weerstanden zijn onder de transistor geplaatst om ruimte te besparen. Op de foto zie je dat de transistor gebogen is, maar zo gesoldeerd dat hij een centimeter boven de componenten zweeft. Om onbedoelde shorts te voorkomen, bedek dit gebied met hete lijm of een stuk van dat rubberachtige plakkerige spul. De MCP1525-spanningsreferentie bevindt zich onder de TIP121 in de MCP-versie van de printplaat. Het is een zeer effectieve spacer. Op de achterkant zijn 3 componenten geplaatst: de ontkoppelkap voor de PIC, en de twee grote zeners (24 volt en 5,1 volt). Er is slechts één jumperdraad nodig (2 voor de MCP-versie). Tenzij u het apparaat continu wilt laten werken, plaatst u een kleine schakelaar in lijn met de draad van de batterijvoeding naar de printplaat. Er is geen schakelaar op de print gemonteerd om ruimte te besparen en de plaatsing flexibel te houden.** Eagle heeft een routeringsbeperking op het to-220-pakket dat het grondvlak onderbreekt. Ik heb de bibliotheekeditor gebruikt om de b-restrict en andere lagen uit de TIP121-footprint te verwijderen. Je kunt ook een jumperdraad toevoegen om dit probleem op te lossen als je, net als ik, een hekel hebt aan de editor van de adelaarsbibliotheek. Spoel en gemodificeerde voetafdruk tot 220 bevinden zich in de Eagle-bibliotheek die is opgenomen in het projectarchief. Onderdelenlijst (Mouser-onderdeelnummer verstrekt voor sommige onderdelen, andere kwamen uit de junkbox): Onderdeelwaarde (spanningswaarden zijn minimaal, groter is oké)C1 0.1uF/10VC2 100uF/25VC3 0.1uF/50VC4 47uF/63V (mouser #140-XRL63V47, $0.10)D1 Gelijkrichterdiode SF12 (Mouser #821-SF12), $ 0.22 -of- andere D2 1N4148 kleine signaaldiode (mouser #78 -1N4148, $0,03) D3 (Firewire) 24 Volt Zener/1 W (muis #512-1N4749A, $0,09) D3 (USB) 5,6 Volt Zener/1 W (Mouser #78-1N4734A, $0,07)D4 5,1 Volt Zener/1W (mouser #78-1N4733A, $0,07)IC1 PIC 12F683 & 8-pins dip-socket (socket optioneel/aanbevolen, ~$1,00 totaal) L1 (Firewire) 22R684C 680uH/0,25 amp inductorspoel (mouser # 580-22R684C, $0,59) L1 (USB) 22R224C 220uH/0,49 amp inductorspoel (mouser # 580-22R224C, $0,59) LED1 5 mm LEDQ1 TIP-121 Darlington-driver of vergelijkbaarR1 100KR2 (Firewire) 10KR2 (USB) 22KR3 100KR4 22KR6 330 OHMR7 10KR8 1KVREF1 Microchip MCP1525 (MCP-versie MCP1525) (Mouser #579-MCP1525ITO, $0,55) -of- 2,7 volt/400ma zener met 10K weerstand (R3) (zener referentieversie PCB) -of- 2 volt stabistor met 10K weerstand (R3) (zener referentieversie PCB)X1 Firewire/ IEEE1394 6-pins haakse, horizontale PCB-montageconnector: Kobiconn (mouser #154-FWR20, $1,85) -of- EDAC (mouser #587-693-006-620-003, $0,93)
Stap 4: FIRMWARE
FIRMWARE Volledige details van de SMPS-firmware worden beschreven in de nixie SMPS-instructie. Voor alle wiskundige en vuile details van SMPS, lees mijn nixie tube boost converter instructable:(https://www.instructables.com/ex/i/B59D3AD4E2CE10288F9901143E7E506/?ALLSTEPS)De firmware is geschreven in MikroBasic, de compiler is gratis voor programma's tot 2K (https://www.mikroe.com/). Als je een PIC-programmeur nodig hebt, overweeg dan mijn verbeterde JDM2-programmeerkaart die ook op instructables staat (https://www.instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506 /?ALLSTEPS). Basisfirmwarewerking:1. Wanneer de PIC wordt ingeschakeld, start de PIC.2. PIC vertraagt 1 seconde om de spanningen te stabiliseren.3. PIC leest de voedingsspanningsfeedback en berekent de optimale werkcyclus- en periodewaarden.4. PIC logt de ADC-waarden, duty cycle en periodewaarden in de EEPROM. Dit maakt het oplossen van problemen mogelijk en helpt bij het diagnosticeren van catastrofale storingen. EEPROM-adres 0 is de schrijfwijzer. Elke keer dat de SMPS wordt (opnieuw) gestart, wordt één log van 4 bytes opgeslagen. De eerste 2 bytes zijn ADC hoog/laag, de derde byte is de lagere 8 bits duty cycle waarde, de vierde byte is de periodewaarde. Er worden in totaal 50 kalibraties (200 bytes) gelogd voordat de schrijfwijzer omrolt en opnieuw begint op EEPROM-adres 1. Het meest recente logbestand bevindt zich op pointer-4. Deze kunnen met een PIC programmer uit de chip worden uitgelezen. De bovenste 55 bytes blijven vrij voor toekomstige verbeteringen.5. PIC komt in een eindeloze lus - de hoogspanningsfeedbackwaarde wordt gemeten. Als het onder de gewenste waarde is, worden de PWM-duty cycle-registers geladen met de berekende waarde - OPMERKING: de onderste twee bits zijn belangrijk en moeten in CPP1CON worden geladen, de bovenste 8 bits gaan in CRP1L. Als de terugkoppeling boven de gewenste waarde is, laadt de PIC de duty cycle registers met 0. Dit is een 'pulse skip' systeem. Ik heb gekozen voor pulse skip om twee redenen: 1) bij zulke hoge frequenties is er niet veel werkbreedte om mee te spelen (0-107 in ons voorbeeld, veel minder bij hogere voedingsspanningen), en 2) frequentiemodulatie is mogelijk, en geeft veel meer ruimte voor aanpassing (35-255 in ons voorbeeld), maar ALLEEN PLICHT IS DUBBEL GEBUFFERD IN HARDWARE. Het wijzigen van de frequentie terwijl de PWM in werking is, kan 'vreemde' effecten hebben. Wijzigingen: De firmware krijgt een paar updates van de nixie tube SMPS-versie. 1. De pinverbindingen zijn gewijzigd. Eén LED wordt geëlimineerd, een enkele LED-indicator wordt gebruikt. Pin-out wordt weergegeven in de afbeelding. Beschrijvingen in rood zijn standaard PIC-pintoewijzingen die niet kunnen worden gewijzigd. 2. De analoog-digitaalomzetter wordt nu verwezen naar een externe spanning op pin 6, in plaats van de voedingsspanning.3. Als de batterijen leeg raken, verandert de voedingsspanning. De nieuwe firmware voert om de paar minuten een voedingsspanningsmeting uit en werkt de instellingen van de pulsbreedtemodulator bij. Deze "herkalibratie" zorgt ervoor dat de spoel efficiënt blijft werken terwijl de batterijen ontladen. 4. Interne oscillator ingesteld op 4 MHz, een veilige werksnelheid op ongeveer 2,5 volt. 5. Vaste logging, dus er hoeft niets in de EEPROM te worden ingesteld om te starten op positie 1 op een verse PIC. Gemakkelijker te begrijpen voor beginners.6. De ontlaadtijd van de spoel (off-time) wordt nu berekend in de firmware. De vorige multiplier (een derde op tijd) is onvoldoende voor zulke kleine boosts. De enige manier om de efficiëntie tijdens het ontladen van de batterij te behouden, was door de firmware uit te breiden om de werkelijke off-time te berekenen. De aanpassingen zijn experimenteel, maar zijn sindsdien verwerkt in de definitieve firmware. Van TB053 vinden we de off-time vergelijking: 0=((volts_in-volts_out)/coil_uH)*fall_time + coil_amps Mangel dit naar: fall_time= L_Ipeak/(Volts_out-Volts_in) waarbij: L_Ipeak=coil_uH*coil_ampsL_Ipeak al een constante is in de firmware (zie het gedeelte over firmware). Volts_in is al berekend om de inductor op tijd te bepalen. Volts_out is een bekende constante (5/USB of 12/Firewire). Dit zou moeten werken voor alle positieve waarden van V_out-V_in. Als je negatieve waarden krijgt, heb je grotere problemen! Alle vergelijkingen worden berekend in de helper-spreadsheet die bij de NIXIE smps-instructie is geleverd.
Stap 5: KALIBRATIE
Verschillende kalibratiestappen helpen u het meeste uit de oplader te halen. Uw meetwaarden kunnen mijn waarden vervangen en in de firmware worden gecompileerd. Deze stappen zijn optioneel (behalve de spanningsreferentie), maar helpen u het meeste uit uw voeding te halen. De spreadsheet voor de iPod-oplader helpt u bij het uitvoeren van de kalibraties.const v_out als byte=12 'uitgangsspanning om de off-time te bepalen, 5 USB, 12 Firewireconst v_ref as float=2.5 '2.5 voor MCP1525, 1.72 voor mijn stabistor, ~2.7 voor een zener.const supply_ratio as float=5.54 'supply ratio multiplier, kalibreren voor betere nauwkeurigheidconst osc_freq as float=4 'oscillator frequencyconst L_Ipeak as float=170 'coil uH * coil amps continu (680*0.25=170, naar beneden afronden)const fb_value as word=447 'instelpunt uitgangsspanning Deze waarden vindt u bovenaan de firmwarecode. Zoek de waarden en stel deze als volgt in:V_outDit is de uitgangsspanning die we willen bereiken. Deze variabele zal de uitgangsspanning op zichzelf NIET veranderen. Deze waarde wordt gebruikt om te bepalen hoeveel tijd de inductor nodig heeft om volledig te ontladen. Het is een verbetering van de USB-firmware die werd geport naar de firewire-versie. Voer 12 in, dat is onze firewire-doelspanning (of 5 voor USB). Zie Firmware:Changes:Step6 voor volledige details van deze toevoeging. v_refDit is de spanningsreferentie van de ADC. Dit is nodig om de werkelijke voedingsspanning te bepalen en de oplaadtijd van de spoelspoel te berekenen. Voer 2,5 in voor de MCP1525, of meet de exacte spanning. Voor een zener- of stabistor-referentie meet u de exacte spanning: 1. ZONDER DE PIC INGEVOERD - Sluit een draad van de grond (socket PIN8) aan op socket pin 5. Dit voorkomt dat de inductor en transistor opwarmen terwijl de stroom is ingeschakeld, maar PIC is niet geplaatst.2. Plaats de batterijen/zet de stroom aan.3. Meet met een multimeter de spanning tussen de PIC-spanningsreferentiepin (bus PIN6) en aarde (socket pin8). Mijn exacte waarde was 1,7 volt voor de stabistor en 2,5 volt voor de MSP1525. 4. Voer deze waarde in als de v_ref-constante in de firmware.supply_ratio. De voedingsspanningsdeler bestaat uit een weerstand van 100K en 22K. Theoretisch zou de terugkoppeling gelijk moeten zijn aan de voedingsspanning gedeeld door 5,58 (zie tabel 1. Berekeningen van het voedingsspanningsfeedbacknetwerk). In de praktijk hebben weerstanden verschillende toleranties en zijn het geen exacte waarden. Om de exacte terugkoppelingsverhouding te vinden: 4. Meet de voedingsspanning (Supply V) tussen socket pin 1 en aarde (socket pin 8), of tussen de accupolen.5. Meet de voedingsfeedback spanning (SFB V) tussen socket pin 3 en aarde (socket pin 8).6. Verdeel Supply V door SFB V om een exacte verhouding te krijgen. U kunt ook "Tabel 2. Voedingsspanningsfeedbackkalibratie" gebruiken.7. Voer deze waarde in als de supply_FB-constante in de firmware.osc_freqSimply de oscillatorfrequentie. De 12F683 interne 8Mhz-oscillator wordt gedeeld door 2, een veilige werksnelheid tot ongeveer 2,5 volt. 8. Voer een waarde in van 4. L_IpeakVermenigvuldig de spoel uH met de maximale continue ampère om deze waarde te krijgen. In het voorbeeld is de 22r684C een spoel van 680uH met een vermogen van 0,25 ampère continu. 680*0.25=170 (rond indien nodig af op een lager geheel getal). Door de waarde hier te vermenigvuldigen, elimineert u één 32-bits drijvende-kommavariabele en berekening die anders op de PIC zou moeten worden uitgevoerd. Deze waarde wordt berekend in "Tabel 3: Spoelberekeningen".9. Vermenigvuldig de spoel uH met de maximale continue ampère: 680uH-spoel met een nominale waarde van 0,25 ampère continu =170 (gebruik het op één na laagste gehele getal - 170).10. Voer deze waarde in als de L_Ipeak-constante in de firmware.fb_value. Dit is de werkelijke integerwaarde die de PIC zal gebruiken om te bepalen of de hoogspanningsuitgang boven of onder het gewenste niveau is. We moeten dit berekenen omdat we geen trimmerweerstand hebben voor fijnafstelling. 11. Gebruik tabel 4 om de verhouding tussen de uitgangs- en terugkoppelspanning te bepalen. (11.0)12. Voer vervolgens deze verhouding en uw exacte spanningsreferentie in "Tabel 5. Hoogspanningsterugkoppeling ADC-instelwaarde" in om de fb_value te bepalen. (447 met een 2,5 volt referentie). 13. Nadat u de PIC hebt geprogrammeerd, test u de uitgangsspanning. Mogelijk moet u kleine aanpassingen maken aan de ingestelde feedbackwaarde en de firmware opnieuw compileren totdat u exact 12 volt krijgt. Vanwege deze kalibratie mogen de transistor en inductor nooit warm worden. U mag ook geen rinkelend geluid uit de spoel horen. Beide omstandigheden duiden op een kalibratiefout. Controleer het gegevenslogboek in de EEPROM om te helpen bepalen waar uw probleem zou kunnen zijn.
Stap 6: TESTEN
Er is een firmware voor een PIC 16F737 en een kleine VB-applicatie die kan worden gebruikt om spanningsmetingen over de levensduur van de batterijen te loggen. De 16F737 moet worden aangesloten op een seriële pc-poort met een MAX203. Elke 60 seconden kunnen de voedingsspanning, uitgangsspanning en referentiespanning op de pc worden gelogd. Er kan een mooie grafiek worden gemaakt die elke spanning door de oplaadtijd laat zien. Deze is nooit gebruikt omdat de oplader nooit functioneel is geweest. Alles is geverifieerd om te werken. De testfirmware en een klein visueel basisprogramma om de output te loggen, zijn opgenomen in het projectarchief. Ik laat de bedrading aan jou over.
Stap 7: VARIATIES: USB
Een USB-versie is mogelijk met enkele aanpassingen. Opladen via USB is geen optie voor de 3G iPod die beschikbaar is om te testen. USB levert 5,25-4,75 volt, ons doel is 5 volt. Dit zijn de wijzigingen die moeten worden aangebracht:1. Verwissel een USB 'A'-type connector (mouser #571-7876161, $0,85)2. Verander de verdeler van de uitgangsspanningsweerstand (verander R2 (10K) in 22K).3. Wijzig de uitgangsbeveiliging zener (D3) in 5,6 volt 1 watt (muis #78-1N4734A, $0,07). Een zener van 5,1 volt zou nauwkeuriger zijn, maar zeners hebben foutachtige weerstanden. Als we een doel van 5 volt proberen te raken en onze 5,1 volt zener heeft een fout van 10% aan de lage kant, dan zullen al onze inspanningen in de zener verbranden. 4. Verander de spoel (L1) in 220uH, 0,49 amp -22R224C, $0,59). Voer nieuwe kalibratieconstanten in, volgens de kalibratiesectie: Stel V_out in op 5 volt. Stap 8&9: L_Ipeak=220*0.49=107.8=107 (afronden naar het volgende laagste gehele getal, indien nodig).5. Wijzig het uitgangsinstelpunt, herbereken Tabel 4 en Tabel 5 in het werkblad. Tabel 4 – voer 5 volt in als uitgang en vervang de 10K-weerstand door 22K (volgens stap 2). We vinden dat bij een output van 5 volt, met een 100K/22K-verdelernetwerk, de feedback (E1) 0,9 volt zal zijn. Breng vervolgens een wijziging aan in de spanningsreferentie in Tabel 5 en zoek het ADC-instelpunt. Met een referentie van 2,5 volt (MCP1525) is het setpoint 369,6. Voorbeeldconstanten voor USB-versie:const v_out als byte=5 'uitgangsspanning om de uitschakeltijd te bepalen, 5 USB, 12 Firewireconst v_ref als float=2,5 '2,5 voor MCP1525, 1,72 voor mijn stabistor, ~ 2,7 voor een zener.const supply_ratio as float = 5,54 'supply ratio multiplier, kalibreer voor betere nauwkeurigheidconst osc_freq as float = 4 'oscillator frequencyconst L_Ipeak as float = 107 'coil uH * spoelamps continu (220 * 0,49 = 107, naar beneden afronden)const fb_value as word=369 'instelpunt uitgangsspanning Firmware en PCB voor de USB-versie zijn opgenomen in het projectarchief. Alleen de MCP-spanningsreferentieversie werd geconverteerd naar USB.
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Vintage iPod-luidsprekers (met LED's!): 7 stappen (met afbeeldingen)
Vintage iPod-luidsprekers (met LED's!): Met de juiste benodigdheden is het eenvoudig om uw eigen hoogwaardige iPod- of mp3-spelerdock te maken. Met behulp van wat stukjes printplaat, voorbeeldluidsprekers en hout dat ik in de winkel had liggen, kon ik een paar fatsoenlijk klinkende en nette lookin
Miniaturisatie/verbetering van een RC-zender & Ontvanger met Altoids!!! 10 stappen:
Miniaturisatie/verbetering van een RC-zender & Ontvanger met behulp van Altoids!!!: OK, dit wordt mijn eerste geplaatste Instructable: D dus doe het rustig aan. Ik ging onlangs naar Washington en ontving verschillende RC-gerelateerde componenten, waaronder 3 zenders en een ontvanger uit een paar oude speelgoedvliegtuigen. Ik besloot in ieder geval om