Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:digi:amp_out [2014/02/05 13:16] rellermaaet:examples:digi:amp_out [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +<pagebreak>
 ====== Võimendatud digitaalne väljund ====== ====== Võimendatud digitaalne väljund ======
 +
 +//Vajalikud teadmised: 
 +[HW][[et:hardware:homelab:combo]],
 +[AVR][[et:avr:io]],
 +[LIB][[et:software:homelab:library:bit]], [LIB][[et:software:homelab:library:pin]]//
  
 ===== Teooria ===== ===== Teooria =====
 Mikrokontrollerite viigud ei ole tavaliselt mõeldud suurte koormuste lülitamiseks. Atmeli mikrokontrollerite viigud lubavad läbi lasta vaid 30mA viigu kohta, kuid paljudel kontrolleritel on see number veel väiksem (ARM kontrolleritel vaid mõni mA). See tähendab seda, et mikrokontrolleri viiguga saab juhtida vaid madala voolutarbega seadmeid (nt LEDid, mikrokiibid). Mikrokontrollerite viigud ei ole tavaliselt mõeldud suurte koormuste lülitamiseks. Atmeli mikrokontrollerite viigud lubavad läbi lasta vaid 30mA viigu kohta, kuid paljudel kontrolleritel on see number veel väiksem (ARM kontrolleritel vaid mõni mA). See tähendab seda, et mikrokontrolleri viiguga saab juhtida vaid madala voolutarbega seadmeid (nt LEDid, mikrokiibid).
 +
 +[{{  :examples:digi:dc_pwm.png?150|N-FET mootori lülitamiseks}}]
  
 Selleks, et juhtida suurema voolutarbega seadmeid on vaja väljundi signaali võimendada. Selleks kasutatakse tavaliselt mõnda transistori või integraalkiipi. Transistori lülitust kasutades tuleks jälgida, et võimendustegud oleks piisav ning ei ületataks maksimaalset viigu- ega transistori voolu. Selleks, et juhtida suurema voolutarbega seadmeid on vaja väljundi signaali võimendada. Selleks kasutatakse tavaliselt mõnda transistori või integraalkiipi. Transistori lülitust kasutades tuleks jälgida, et võimendustegud oleks piisav ning ei ületataks maksimaalset viigu- ega transistori voolu.
Line 17: Line 25:
   * Väike temperatuurimõju - lülitatav vool ei sõltu temperatuurist   * Väike temperatuurimõju - lülitatav vool ei sõltu temperatuurist
   * Kõrge lülitussagedus - lülitus on piisavalt kiire, et läbi lasta PWM signaali.   * Kõrge lülitussagedus - lülitus on piisavalt kiire, et läbi lasta PWM signaali.
 +
 +[{{  :examples:digi:flybackdiode.png?150|Vastudiood}}]
  
 Aegajalt on vaja lülitada seadmeid, mis peavad olema (või on tungivalt soovituslik, et oleks) elektriliselt täielikult eraldatud lülitavast sekeemist. Näiteks, kui on vaja lülitada vahelduvvoolu seadmeid või väga suure võimsusega seadmeid. Siis tuleks kasutada lülituseks releed. Olenevalt relee mähise lülitusvoolust on vaja mikrokontrolleri viiku ka relee mähise lülitamiseks võimendada kasutades kas bipolaar-transistori või MOSFETi. Aegajalt on vaja lülitada seadmeid, mis peavad olema (või on tungivalt soovituslik, et oleks) elektriliselt täielikult eraldatud lülitavast sekeemist. Näiteks, kui on vaja lülitada vahelduvvoolu seadmeid või väga suure võimsusega seadmeid. Siis tuleks kasutada lülituseks releed. Olenevalt relee mähise lülitusvoolust on vaja mikrokontrolleri viiku ka relee mähise lülitamiseks võimendada kasutades kas bipolaar-transistori või MOSFETi.
  
 Induktiivsete seadmete lülitamisel (nt alalisvoolumootor, relee mähis jne) tuleb kasutada ka kaitsedioodi, mis induktiivse seadme välja lülitamisel oleks võimeline kaitsma lülitusskeemi ja mikrokontrolleriviiku tagurpidi pinge eest. Nimelt tekib induktiivse seadme mähise magnetvälja tõttu negatiivne pinge, mis võib kahjustada kas lülitavat elementi (transistor, MOSFET) või mikrokontrolleri viiku. Induktiivsete seadmete lülitamisel (nt alalisvoolumootor, relee mähis jne) tuleb kasutada ka kaitsedioodi, mis induktiivse seadme välja lülitamisel oleks võimeline kaitsma lülitusskeemi ja mikrokontrolleriviiku tagurpidi pinge eest. Nimelt tekib induktiivse seadme mähise magnetvälja tõttu negatiivne pinge, mis võib kahjustada kas lülitavat elementi (transistor, MOSFET) või mikrokontrolleri viiku.
 +
 +Lisaks üksikutele elementidele on aegajalt transistorid või MOSFETid pandud ka ühte integraallülitusse. Üheks näiteks on ULN2004, mis sisaldab endas 7 darlington paari kanalit. Sellise kiibid on ideaalsed juhul, kui on vaja juhtida mitut kanalit (nt unipolaarne samm-mootor), lihtsustades trükkplaadi tegemist ja vähendades üldist komponentide arvu. Tihti on nendesse integraalskeemidesse sisse ehitatud ka vastudioodid.
  
 ===== Praktika ===== ===== Praktika =====
 +Järgmevalt on ära toodud lihtne koodijupp mootori sisse välja lülitamiseks, mis on ühendatud unipolaarse samm-mootori pistikusse. Mootori üks juhe on ühendatud toitega (Vbat) ning teine ULN kiibiga läbi viigu Stp1.
 +
 +<code c>
 +//
 +// Võimendatud väljundi testkood
 +// DC Mootor on ühendatud unipolaarse mootori pistikusse
 +// Mootori üsimene viik Vbat
 +// Mootori teine viik Stp1
 +//
 +#include <homelab/pin.h>
 +
 +pin motor = PIN(J,3);
 +
 +//
 +// Põhiprogramm
 +//
 +int main(void)
 +{
 + // LEDide ja mootori viigud väljunditeks
 + pin_setup_output(motor);
 + pin_setup_output(led_green);
 + pin_setup_output(led_red);
 +
 + // Roheline LED kustu, punane põlema
 + led_on(led_red);
 + led_off(led_green);
 +
 + // Lõputu tsükkel
 + while (true)
 + {
 + // Kui S1 on vajutatud, mootor tööle
 + if(button_read(S1))
 + {
 + pin_set(motor);
 + led_on(led_green);
 + led_off(led_red);
 + }
 + // Kui S3 on vajutatud, mootor kinni
 + if(button_read(S3))
 + {
 + pin_clear(motor);
 + led_off(led_green);
 + led_on(led_red);
 + }
 +
 + }
 +}
 +</code>
et/examples/digi/amp_out.1391606171.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0