Bouwen van uw eigen accuvoeding (5 / 7 stap)

Stap 5: Code!


Nu dat we alle analoge elektronica bedacht hebben, kunnen we kijken programmering van het systeem. Om te controleren de boost-circuit, moeten we een puls breedte gemoduleerde (PWM) signaal toepassen van de MOSFET gate pin. Deze eenvoudige betekent een signaal dat hoog (5V) en vervolgens laag (0V) op een ingestelde frequentie gaat. Om te controleren het boost circuit de uitgangsspanning, moeten we veranderen hoe lang de MOSFET is in- of uitschakelen voor. Dit is de taakcyclus die je kunt meer leren over van SparkFungenoemd.

Dus laten we beginnen met het definiëren van onze variabelen. Dit komt aan de bovenkant van de schets:

 #include "TimerOne.h" //include the library we need to create the PWM signal double duty = 512; //start the duty cycle halfway between 0 and 1024, aka 50% duty cycle double feedback; //the variable that tells us the actual voltage double setVoltage; //the voltage the user wants double pot; //holds value of potentiometer before it gets translated into user preferred voltage 

Nu dat we onze globale variabelen gedefinieerd, kunt schrijven wat er gebeurt wanneer de schets voor het eerst uitvoert:

 void setup() { Serial.begin(9600); //initialize the serial monitor for debugging pinMode(13, OUTPUT); //this is the pin that controls the MOSFET, its an output pinMode(A5, INPUT); //the feedback input, lets us know what the voltage is currently at pinMode(A4, INPUT); //the input from the potentiometer that sets the preferred voltage Timer1.initialize(100); // initialize timer1 at our set frequency Timer1.pwm(9, 512); // setup pwm on pin 9, 50% duty cycle Timer1.attachInterrupt(callback); // needed for the pwm signal to work } 

Hierdoor kunnen we ons pin 13 voor het beheersen van de MOSFET signaal, en analoge pin 5 en 4 respectievelijk voor de feedback en potentiometer besturingselement gebruiken. Het doet ook de aanvankelijke opstelling voor de timer1-bibliotheek. De timer1-bibliotheek vereist ook een functie genaamd 'terugbellen':

 void callback(){ digitalWrite(10, digitalRead(10) ^ 1); } 

U hoeft niet om deze functie te begrijpen. Zorg enkel ervoor om deze te kopiëren in uw code (maar buiten een andere functie).

Laat nu krijgen naar het leuke deel. De hoofdlus, beheersing van de MOSFET:

 void loop() { pot = analogRead(A4); //get the position of the potentiometer setVoltage = map(pot,0,1024,118,205); //use the map function to get the value between 11.8V and 20.5V, this allows some margin of error setVoltage = setVoltage/10; //since the value is between 118 and 205, but we want it as 11.8 and 20.5, divide by 10 Serial.println(setVoltage); //print voltage to serial monitor, good for debugging feedback = analogRead(A5)*11.11*5/1024; //read in the actual voltage, the math part is to account for the voltage divider and the arduino's conversion to a number between 0 and 1024 if(feedback < setVoltage && duty < 850) duty += 1; //if the actual voltage is less than what we want it to be, then increase the duty cycle to get us up to where we want else if(feedback > setVoltage && duty > 50) duty += -1; //if its greater than we want it to be, lower the duty cycle to get down to the desired voltage Timer1.setPwmDuty(9, duty); //set this new duty cycle preference } 

Deze sectie van code leest de potentiometer en de werkelijke uitgangsspanning. Op basis van deze informatie, de Arduino verhoogt of verlagen de plicht cyclus signaal naar de MOSFET. Dit zal verhogen of verlagen van de uitgangsspanning. Dit gedeelte van de code is in de leegte lus zodat het continu de potentiometer waarde kunt controleren. De Arduino schets code is gekoppeld.

Gerelateerde Artikelen

Bouwen van uw eigen elektrische motorfiets

Bouwen van uw eigen elektrische motorfiets

overzichtHet voltooide project is een 1981 Kawasaki KZ440, omgezet in elektrische. Hij wordt aangedreven door vier Optima Yellow Top verzegeld (AVA) lood-zuur batterijen, die een elektrische Briggs & Stratton Etek motor rijden. De snelheid van de mot
Bouwen van uw eigen hondenhuis

Bouwen van uw eigen hondenhuis

Dit was mijn allereerste instructable. Ik was debatteren over een project om te bouwen voor een klasse, toen het soort viel in mijn schoot. Ik hoop dat alle newbies en beginnende hondeneigenaren gelijk, geniet ervan.Als de eigenaar van een gloednieuw
Hoe te bouwen van je eigen kooi voor hamster.

Hoe te bouwen van je eigen kooi voor hamster.

ik denk dat de kooien voor dieren te klein om satisify zijn hun behoefte aan ruimte. Natuurlijk, wil ik het beste voor mijn kleine huisdier... dus heb ik besloten om een plek waar ze kan plezier hebben en ook veilig te maken.In dit instructable, ik z
Bouwen van uw eigen Atlatl

Bouwen van uw eigen Atlatl

De jager, stengels zijn prooi aan een open veld met de perfecte gelegenheid om te staken. Ogen verkleinde met volledige intentie op een schone doden. Langzaam maar zeker de jager trekt een pijl uit zijn koker en bereidt zich voor op de aanval. In een
Bouwen van uw eigen Single of Dual Tik Kegerator voor Huis brouw vaatjes

Bouwen van uw eigen Single of Dual Tik Kegerator voor Huis brouw vaatjes

deze instructies in combinatie met de aankoopgegevens is alles wat je nodig hebt om te bouwen van uw eigen mini kegerator geschikt voor huisvesting van één of twee mini keg(s) van de 5 gallon, CO2-fles, en alle slangen.Elke instructie pagina heeft ta
Bouwen van uw eigen Wifi-radio

Bouwen van uw eigen Wifi-radio

De internet host is veel en veel online radiostreams, allermeest zij met een bepaald thema, variërend van oude klassiekers van de tijd tot Tibetian riverdancing. Ik moet toegeven dat ik hou van naar hen te luisteren terwijl ik ben het opbouwen van di
Bouwen van uw eigen WIFI stoorzender

Bouwen van uw eigen WIFI stoorzender

bouwen van uw eigen WIFI stoorzender met behulp van een 2.4GHz AV zenders. In deze video zal ik je laten zien hoe u kunt bouwen uw eigen jammer om de jam een WIFI-verbinding. Ik zal ook uitleggen hoe dit werkt en het verschil tussen jammen en interfe
Bouwen van uw eigen Ugly Drum Smoker (UDS)

Bouwen van uw eigen Ugly Drum Smoker (UDS)

Ugly Drum rokers (UDS) zijn eenvoudige rookcoupé voor bouw- en operateyet zij nul enkele echt goede barbecue. Dit Instructable zal u tonen hoe te bouwen uw eigen eenvoudige UDS. Als u niet wat een Ugly Drum Smoker weet is-- of niet weet hoe een te ge
Bouwen van uw eigen Smart DNS-Proxy en Netflix deblokkeren overal

Bouwen van uw eigen Smart DNS-Proxy en Netflix deblokkeren overal

Er zijn veel commerciële diensten op het Internet, waardoor hun gebruikers te bypass geografische blokken van de Netflix om toegang tot inhoud uit de regio. Bijvoorbeeld, als u een Amerikaanse expat wonen in het Verenigd Koninkrijk en wilt toegang de
DIY, BOUWEN VAN UW EIGEN DIGITALE BINAIRE KLOK!!!

DIY, BOUWEN VAN UW EIGEN DIGITALE BINAIRE KLOK!!!

Dit Instructable toont hoe het bouwen van een digitale klok in de eenvoudigste manier. U hoeft alleen een paar instrumenten en een beetje tijd...Stap 1: Inleiding Er zijn twee manieren om te bouwen van uw eigen binaire klok.1.-een is om uw eigen PCB.
Hoe het bouwen van een eigen bibliotheek in uw kelder met boekenkasten en duizenden boeken

Hoe het bouwen van een eigen bibliotheek in uw kelder met boekenkasten en duizenden boeken

volgen mijn youtube-kanaal: http://www.youtube.com/user/educatetowin?feature=mheeWebsite: http://www.educatetube.comGastheer: SipskiHoe te bouwen van een eigen bibliotheek in uw kelder.  Je hoeft alleen maar ten minste 5 tot 7 boekenkasten (afhankeli
Hoe te bouwen van uw eigen slager blok

Hoe te bouwen van uw eigen slager blok

Ik vond dat het bouwen van uw eigen slager blok niet zo ingewikkeld is! Met de prachtige bron van onze schuur te trekken uit (mijn grootouders oude hout werken winkel) houden ik gewoon vinden steeds meer materiaal om mee te werken. In dit geval die e
Een Wide-Body Quadrotor - ontwerpen en ideeën om te bouwen van uw eigen.

Een Wide-Body Quadrotor - ontwerpen en ideeën om te bouwen van uw eigen.

Multirotors--hoe cool zijn!Een quadrotor is een soort multirotor vliegtuigen. Deze vliegtuigen zijn gemakkelijker dan ooit om te bouwen. U kunt beginnen met deze machine en verhogen de mogelijkheden (en de complexiteit) als u meer informatie. Uw erva
Hoe te bouwen van uw eigen Desktop

Hoe te bouwen van uw eigen Desktop

Hallo DIYers! Het is Gaige en vandaag ga ik u tonen hoe te bouwen van uw eigen Desktop. Of het nu voor gaming of er voor werk, zal ik u tonen welke onderdelen u nodig hebt! Ik noem 3 mogelijke onderdelen. Aangezien wij niet alle van geld gemaakt, zal