Obsah:
- Krok 1: Hlboké ponorenie do technického listu a zdrojového kódu - rýchlosť hodín
- Krok 2: Nastavenie registrov UART
- Krok 3: Nastavenia PWM
- Krok 4: Výsledok
Video: Atmega128A Proporcionálne riadenie motora - Časovač ATMEL ICE AVR UART PWM Ovládanie: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
V tomto návode vám vysvetlím, ako na to
- ovládať jednosmerný motor s PWM
- komunikovať cez UART
- zvládnuť prerušenia časovača
Najprv použijeme vývojovú dosku systému AVR Core, ktorú nájdete na Aliexpresse okolo 4 USD. Odkaz na vývojovú dosku nájdete tu. Na programovanie a ladenie nášho softvéru použijeme aj Atmel ICE Debugger a Atmel Studio.
Krok 1: Hlboké ponorenie do technického listu a zdrojového kódu - rýchlosť hodín
V 1. guľke definujeme našu kryštálovú frekvenciu, kde ju môžeme vidieť na vývojovej doske
Krok 2: Nastavenie registrov UART
Aby ste mohli komunikovať s UART, musíte správne nastaviť registre prenosovej rýchlosti USART - UBRRnL a UBRRnH, môžete si to vypočítať sami alebo pomocou online kalkulačky ľahko získať správne hodnoty
Online kalkulačka
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
Potom sa vypočíta hodnota MYUBBR. V registri UCSR0B povolíme RXEN0 (zapnutie recv) TXEN0 (povolenie prenosu) a RXCIE0 (RX pre prerušenie). V registri UCSR0C vyberieme 8 -bitovú veľkosť znaku.
Potom, čo nastavíme bit prerušenia RX, mali by sme pridať funkciu ISR pre USART0_RX_vect
ISR (USART0_RX_vect) {char rcvChar = UDR0; if (rcvChar! = '\ n') {buffer [bufferIndex] = rcvChar; bufferIndex ++; }}
Vo svojej rutine prerušenia by ste nemali robiť žiadnu obchodnú logiku. Musíte zaistiť, aby sa funkcia vrátila čo najskôr.
Krok 3: Nastavenia PWM
Vo funkcii initPWM sme nastavili náš scaler taktov CPU, režim Timer/Counter ako Fast PWM a nastavili sme jeho správanie s COM bitmi
Tiež by sme mali pripojiť DC motor na pin OC2, ktorý je uvedený v tabuľke 66. Porovnajte výstupný režim, rýchly režim PWM v našom technickom liste, uvidíte tiež, že pin OC2 je (OC2/OC1C) PB7
Krok 4: Výsledok
Keď nahráte zdrojový kód v prílohe.
Môžete zadať novú hodnotu PWM (0-255) z UART (môžete použiť terminál sériového portu arduino) na nastavenie otáčok motora DC.
Odporúča:
Riadenie rýchlosti MOSFETU MOTORA DC pomocou Arduina: 6 krokov
Rýchlosť ovládania MOSFET DC MOTORU pomocou Arduina: V tomto návode sa naučíme ovládať rýchlosť motora DC pomocou modulu MOSFET. Pozrite si video
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Odrádzajúci zlodej „sám“/ Použite Attiny13 na riadenie krokového motora a serva: 5 krokov
Odstrašovanie zlodejov „Sám doma“/ Použite Attiny13 na pohon krokového motora a serva: Toto môže byť zatiaľ jeden z mojich najpodivnejších projektov :-) Ale aj keď nemáte záujem držať zlodejov mimo, tento projekt je možné použiť na čokoľvek, kde potrebujete poháňať krokový alebo servomotor alebo dokonca niekoľko jednosmerných motorov s Attiny13.Mo
Riadenie jednosmerného motora pomocou mostíka H: 9 krokov
DC motorové riadenie pomocou mostíka H: Ahoj chlapci! V tomto návode vám ukážem, ako postaviť mostík H - jednoduchý elektronický obvod, ktorý nám umožňuje aplikovať napätie na zaťaženie v oboch smeroch. Bežne sa používa v robotickej aplikácii na ovládanie jednosmerných motorov. Použitím H Brid
Riadenie krokového motora bez mikrokontroléra: 7 krokov
Riadenie krokového motora bez mikrokontroléra: V tomto návode budem riadiť krokový motor 28-BYJ-48 s doskou poľa UNL2003 darlington, niekedy pomenovanou x113647, bez mikroovládača. Bude mať štart/stop, dopredu/ dozadu a ovládanie rýchlosti. Motor je unipolárny krokový motor s