Ohjaamalla
virtaa kelan läpi, syntyy siihen magneettikenttä. Kun virta
katkaistaan, on sillä hetkellä magneettikenttä vielä olemassa ja
se pyrkii purkautumaan heti virran katkettua. Jos sillä ei ole
galvaanista yhteyttä muualle kytkentään, nousee jännite hyvin
suureksi. Tällä periaatteella toimii esimerkiksi bensiinikäyttöisen
moottorin sytytys. Jännite nousee, kunnes se on niin korkea, että
tulpassa tapahtuu läpilyönti ja magneettikenttä pääsee
purkautumaan tätä kautta.
Jännitteen
alentamista varten kytkentä olikin jo edellisessä blogissa, missä
hakkurilla (pulssinleveysmodulaatiolla, PWM) jännitettä nostettiin
nollasta (0) sinimuotoisen jännitteen huippuarvoon, ja seuraavalla
neljänneksellä päin vastoin. Tällöin kytkintransistori on kelan
(L) etu, eli syöttöpuolella ja diodi poikittain samassa pisteessä.
Kun kytkin aukeaa, pääsee magneettikentän luoma virta
purkautumaan diodin kautta. Lähdön jännite voi täten muuttua
nollasta (0) tulojännitteeseen.
Tämän
kertaisessa jaksossa jännitettä nostetaan syöttöjännitteestä
ylöspäin. Nyt kytkintransistori sijaitsee kelan jälkeen, ja sitä
seuraa diodi. Kun kytkin aukeaa, purkautuu magneettikentän luoma
virta diodin kautta kuormaan. Muuttamalla pulssisuhdetta, voidaan
lähtöjännitettä säätää.
Tässä
ohjelmassa trimmeripotikan jännite johdetaan analogiatuloon, jaetaan
luvulla sata (100), jolloin säätöön saadaan kymmenen (19)
porrasta. Tässä tapauksessa kytkentätaajuus on noin 83 kHz. Lähtöä
ei voida säätää 100 prosenttiin, vaan ohjauksessa on minimissään
2 us tauko. Aliohjelmassa (void Fun_PWM(int pulssi){)
on 100 kierroksen looppi. Kun
nämä ”pumppaukset” on suoritettu, palataan pääohjelmaan,
missä luetaan trimmeripotikan arvo ja kutsutaan aliohjelmaa
uudestaan. Säätöä luetaan siis noin 1,2 – 2 ms välin, mikä on
niin nopea, että ihminen kokee sen olevan jatkuva säätö.
Tuo
kuormana oleva lamppu on 12 V, 7W. Tuo 470 uF:in
elektrolyyttikondensaattori jaksaa syöttää lamppua myös tauon
(OFF) aikana. Lampulle siirtyy siis tasavirtaa, mutta el-konkka ei
ole enää näillä taajuuksilla oikein toimiva. Se näkyy siinä,
että transistorin kytkentähetkillä jännitteessä näkyy
suurtaajuista värähtelyä. Jos käyttöön tarvitaan puhtaampaa
tasajännitettä, on lähtöön syytä sijoittaa kelalla (L) ja
kondensaattorilla (C) toteutettu alipäästösuodin. Kuvista voi
huomata, että ohjauksen ollessa minimissään, lamppu edelleen
hehkuu. Sinne johtuu virtalähteen jännite. Tässä tapauksessa 7 V.
Kasvattamalla potikalla ON-tilan pituutta, jännite lampun navoissa
nousi hiukan yli 15 V:iin.
OHJELMA
51
/*******************************
*
Ohjelma TehoHakkuri_51
*
10.11.2017
*
DC-jännitteen korotus
*
pulssinleveysmodulaatiolla (PWM)
*/
//
Määrittelyt
const
int Con_AnaTulo = 0;
int Int_AnaTulo = 0;
const
int Con_Pulssit = 3;
//
FUNKTIOT
//
Pulssien muodostus (PWM)
void
Fun_PWM(int pulssi){
const
int jakso = 12; // = 12 us ON + OFF
int ON = pulssi;
int OFF = jakso - pulssi;
for(int i = 0; i < 100; i++){
bitSet(PORTD,Con_Pulssit);
delayMicroseconds(ON);
bitClear(PORTD,Con_Pulssit);
delayMicroseconds(OFF);
}
// for-loopin loppu
}//
pulssien muodostus loppu
void
setup() {
pinMode(Con_Pulssit, OUTPUT);
Serial.begin(9600);
} // Asetusten loppu
//
Pääohjelma, missä luetaan potentiometri
void
loop() {
Int_AnaTulo
= analogRead(Con_AnaTulo);
Fun_PWM(Int_AnaTulo / 100);
}
// Pääohjelma loppu
Ei kommentteja:
Lähetä kommentti