Arduino kontrollerade makt källa (11 / 12 steg)
Steg 11: Ytterligare hårdvara ändringar...
Som beskrivits tidigare, enheten är kunna lagra sin aktuell spänning och vid nästa ström upp till sätta på den.
Min första idé var att använda för detta ändamål den inre EEPROM digital potentiometerns - dess lagrade värdet laddas upp mycket snabbt på driver och spänningen ligger mycket snabbt. Men jag kunde tyvärr inte att skriva i digipot EEPROM. Orsakerna är några:
- dess WP (skriva skydda bit) är som standard och kräver hög spänning skrift. Jag förlorade en massa tid att försöka återställa den, men utan framgång
- Denna digital potentiometer är 8 bitar (257 steg). Det krävs 10 bit data som ska skickas. "Wire" bibliotek för arduino fungerar normalt med hela byte. Jag ville inte förlora ytterligare tid ändra hela biblioteket om du vill kunna kommunicera ordentligt med den digitala potentiometr. Nu två motstånd steg saknas, men detta inte är problemet för mig - jag skriver i digipot kliver bara ett byte, som definierar 255 i stället de möjliga 257. Med hjälp av 7 bitars digipot kunde lösa problemet. I alla fall var jag inte kunna göra skrivandet i enheten EEPROM arbete.
Jag beslutade sedan att använda den interna EEPROM av arduino ATmega328 chip för att lagra spänning digital värdet.
Genom att använda Arduinoen för ändamålet skapar ytterligare problem - arduino behöver en andra ~ två att starta, starta program och att kommunicera med digital potentiometern. Denna försening orsakar att utspänningen är inställd från början av den internt lagrade i digital potentiometer värde (som standard värdet mellersta potten), och efter en tid, det lägger sig till den programmerade av arduino värdet. Detta kan vara farligt i vissa fall - en låg spänning enhet av denna källa skulle vara skadad, tills dess rätt spänning är inställt. För att förhindra detta och göra saker säkrare, har jag lagt en liten Mjukstart block. Den är baserad på NMOS transistorn BS123. När renad spänningen visas dras dess utfärda utegångsförbud för av elektrolytisk kondensator. Detta stänger MOS-transistorn, som är ansluten parallellt med digipot resistorn och shorts det till marken, att hålla den tillverkade spänningen låg en tid, tills arduino vaknar upp. Elektrolytisk kondensatorn är efter en tid debiteras kasta motståndet till marken och MOS grinden potentiella går låg, vad öppnar transistorn och den tillverkade spänningen återvänder till sitt standardvärde.
På bilderna kan vara sett denna lilla styrelse lödda nära digipot styrelsen.