Satura rādītājs:
- 1. darbība: impulsa platuma modulācija programmatūrā
- 2. darbība: aparatūra un nepieciešamie komponenti
- 3. darbība: atlikušā programmatūra un rezultāts
Video: Vairākas elektroniskās sveces: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Elektroniskās sveces ir daudzkārt publicētas vietnē Instructables, tad kāpēc šī?
Mājās man ir šīs mazās daļēji caurspīdīgās Ziemassvētku mājas, kurām ir LED ieskats un maza baterija. Dažās mājās ir gaismas diodes ar sveces efektu, un dažās ir tikai iedegtas gaismas diodes. Mazās baterijas izlādējas salīdzinoši ātri, un, tā kā es gribēju visās mājās radīt sveces efektu, es nolēmu to padarīt par PIC projektu. Protams, jūs varat to pārvērst arī par Arduino projektu.
Kas tad padara šo elektronisko sveci īpašu? Visi PIC un Arduino ir aprīkoti ar pulsa platuma modulācijas (PWM) aparatūru, ko var izmantot, lai radītu sveces efektu, izmantojot LED, bet manā gadījumā es gribēju, lai būtu 5 neatkarīgas elektroniskas sveces, izmantojot vienu kontrolieri, bet vismaz nav ko es zinu. Risinājums, ko izmantoju, ir programmatūrā pilnībā izveidot šos piecus neatkarīgos PWM signālus.
1. darbība: impulsa platuma modulācija programmatūrā
Pulsa platuma modulācija ir aprakstīta vairākas reizes, piem. šajā Arduino rakstā:
PIC un Arduino ir aprīkota ar īpašu PWM aparatūru, kas vienkāršo šī PWM signāla ģenerēšanu. Ja mēs vēlamies programmatūrā izveidot vienu vai vairākus PWM signālus, mums ir nepieciešami divi taimeri:
- Viens taimeris, ko izmanto, lai ģenerētu PWM frekvenci
- Viens taimeris, ko izmanto PWM darba cikla ģenerēšanai
Abi taimeri ģenerē un pārtrauc, kad tie ir pabeigti, un tādējādi PWM signāla apstrāde tiek veikta pilnībā ar pārtraukumu. PWM frekvencei es izmantoju PIC taimeri 0 un ļauju tam pārplūst. Ar 8 MHz iekšējo oscilatora pulksteni un 64 iepriekšējo skalu formula ir šāda: Fosc / 4 /256 /64 = 2.000.000 / 256 /64 = 122 Hz vai 8, 2 ms. Frekvencei jābūt pietiekami lielai, lai cilvēka acs to nevarētu noteikt. Tam pietiek ar 122 Hz frekvenci. Vienīgais, ko šī taimera pārtraukšanas rutīna dara, ir kopēt jauna PWM cikla darba ciklu un ieslēgt visas gaismas diodes. Tas tiek darīts neatkarīgi no visām 5 gaismas diodēm.
Taimera vērtība PWM darba cikla apstrādei ir atkarīga no tā, kā mēs radām sveces efektu. Savā pieejā es simulēju šo efektu, palielinot darba ciklu ar vērtību 3, lai palielinātu gaismas diodes spilgtumu, un samazinot to ar vērtību 25, lai samazinātu gaismas diodes spilgtumu. Tādā veidā jūs iegūstat svecēm līdzīgu efektu. Tā kā es izmantoju minimālo vērtību 3, soļu skaits, lai kontrolētu pilnu darba ciklu ar vienu baitu, ir 255/3 = 85. Tas nozīmē, ka PWM darba cikla taimeris jādarbina ar frekvenci, kas ir 85 reizes lielāka par PWM frekvences taimeris, kas ir 85 * 122 = 10,370 Hz.
PWM darba ciklam es izmantoju PIC 2. taimeri. Šis ir taimeris ar automātisku pārlādēšanu, un tam tiek izmantota šāda formula: Periods = (Atkārtoti ielādēt + 1) * 4 * Tosc * Taimera 2 iepriekšēja mēroga vērtība. Ar 191 atkārtotu ielādi un 1 mērogu mēs iegūstam periodu (191 + 1) * 4 * 1/8.000.000 * 1 = 96 ASV vai 10.416 Hz. PWM darba cikls pārtrauc ikdienas pārbaudes, ja darba cikls ir pagājis, un izslēdz LED, kurai darba cikls ir pabeigts. Ja darba cikls netiek nokārtots, tas samazina darba cikla skaitītāju ar 3 un beidz darbību. Tas tiek darīts neatkarīgi no visām gaismas diodēm. Manā gadījumā šī pārtraukšanas rutīna aizņem apmēram 25 mūs, un, tā kā to sauc ik pēc 96 mums, jau 26% CPU tiek izmantoti PWM darba cikla pārvaldībai programmatūrā.
2. darbība: aparatūra un nepieciešamie komponenti
Shēma parāda galīgo rezultātu. Lai gan es neatkarīgi kontrolēju tikai 5 gaismas diodes, es pievienoju 6. gaismas diodi, kas darbojas kopā ar vienu no 5 citām gaismas diodēm. Tā kā PIC nevar vadīt divas gaismas diodes vienā porta tapā, es pievienoju tranzistoru. Elektronika tiek barota ar 6 voltu / 100 mA līdzstrāvas adapteri, un tiek izmantots zema krituma sprieguma regulators, lai izveidotu stabilu 5 voltu spriegumu.
Šim projektam jums ir nepieciešami šādi komponenti:
- 1 PIC mikrokontrolleris 12F615
- 2 keramikas kondensatori: 2 * 100nF
- Rezistori: 1 * 33k, 6 * 120 omi, 1 * 4k7
- 6 oranžas vai dzeltenas gaismas diodes, augsts spilgtums
- 1 BC557 tranzistors vai līdzvērtīgs
- 1 elektrolītiskais kondensators 100 uF / 16 V
- 1 zema krituma sprieguma regulators LP2950Z
Jūs varat izveidot ķēdi uz maizes dēļa un neprasa daudz vietas, kā redzams attēlā.
3. darbība: atlikušā programmatūra un rezultāts
Atlikušā programmatūras daļa ir galvenā cilpa. Galvenā cilpa palielina vai samazina gaismas diožu spilgtumu, nejauši pielāgojot darba ciklu. Tā kā mēs palielinām tikai ar vērtību 3 un samazināsim ar vērtību 25, mums ir jāpārliecinās, ka samazinājumi nenotiek tik bieži kā pieaugumi.
Tā kā es neizmantoju nevienu bibliotēku, man bija jāizveido izlases ģenerators, izmantojot lineāro atgriezeniskās saites maiņas reģistru, skatiet:
en.wikipedia.org/wiki/Linear-feedback_shif…
Sveces efektu ietekmē tas, cik ātri tiek mainīts PWM darba cikls, tāpēc galvenā cilpa izmanto aptuveni 10 ms aizkavi. Jūs varat pielāgot šo laiku, lai mainītu sveces efektu atbilstoši savām vajadzībām.
Pievienotajā video ir redzams gala rezultāts, kurā es izmantoju vāciņu virs gaismas diodes, lai uzlabotu efektu.
Es izmantoju JAL kā programmēšanas valodu šim projektam un pievienoju avota failu.
Izklaidējieties, padarot šo pamācību un gaidām jūsu reakcijas un rezultātus.
Ieteicams:
Arduino Connect vairākas I2C ierīces: 6 soļi
Arduino Connect vairākas I2C ierīces: šajā apmācībā mēs uzzināsim, kā arduino savienot vairākus moduļus ar I2C savienojumu. Noskatieties video! Mūsu gadījumā kā piemēru mēs izmantosim 4 OLED displejus, bet jūs varat izmantot citus I2C moduļus/ sensori, ja vēlaties. Piezīme: 4 OLED displeji
Kā lasīt vairākas analogās vērtības, izmantojot vienu analogo tapu: 6 soļi (ar attēliem)
Kā lasīt vairākas analogās vērtības, izmantojot vienu analogo tapu: šajā apmācībā es jums parādīšu, kā lasīt vairākas analogās vērtības, izmantojot tikai vienu analogās ievades tapu
Lēta salauzta/saplēsta/saplēsta/kausēta/kausēta aizdedzes sveces zābaku noņemšanas rīka izgatavošana: 3 soļi
Lēta salauzta/saplēsta/saplēsta/izkusuša/kausēta aizdedzes sveces zābaku noņemšanas rīka izveide: šis pamācības mērķis ir parādīt, kā izveidot savu lēto instrumentu, lai izvilktu no aizdedzes sveces salauzto zābaku, lai jūs varētu turpināt darbu. Jums, pašdarinātājiem, kuri strādā pie sava transportlīdzekļa, nekas cits kā aizdedzes dzirksteles nomaiņa
Kā izmantot Wiimote kā datora peli, izmantojot sveces kā sensoru !!: 3 soļi
Kā izmantot Wiimote kā datora peli, izmantojot sveces kā sensoru !!: Šī rokasgrāmata parādīs, kā saistīt Wii Remote (Wiimote) ar datoru un izmantot to kā peli
120 V gaisa kondicionēšanas lampas mirgošana no 1. tipa LED sveču sveces (COB): 7 soļi
120V gaisa kondicionētāja spuldzes mirgošana no 1. tipa LED sveču sveces (COB): vai jums ir vajadzīgas dažas mirgojošas gaismas, lai jūsu Helovīna vajāšana būtu pabeigta? Vai esat neapmierināts ar citiem risinājumiem? Vai vēlaties izkausēt lodēt un atkārtoti izmantot elektroniku? Tad šis Instructable ir tieši jūsu alejā. Šis Instructable adresē tikai faktisko mirgošanu el