|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Cílem této práce bylo navrhnout a vytvořit regulátor otáček pro jednosměrné řízení bezkomutátorových střídavých motorů (BLDC) používaných v leteckém modelářství. Celé zapojení je ovládáno mikroprocesorem Atmel AVR. Jako pohonná jednotka promotor je použita akumulátorová sada typu Li–pol. Regulátor je vybaven obvodem BEC pro napájení přijímače a umožňuje monitorování odebíraného proudu a napětí na pohonném akumulátoru. Změřená data je možné uploadovat do PC, kde je možné jepomocí programu Regulátor PC zobrazit v grafické podobě.
2 párového registru UBRRH UBRRL. Zde
bylo vybráno datových bitů, stop bit žádná parita. registru UCSCR tak
zapíšeme hodnotu:
UCSRC=(1<<URSEL)|(3<<UCSZ0);
Nakonec registru USCRB povolíme příjem vysílání zapsáním bitů RXEN TXEN
do hodnoty 1. Jako první nastavena přenosová rychlost. zajišťuje funkce
USART_Send( Obdobně pro příjem dat přes USART dispozici funkce
USART_Receive( vrací hodnotu přijímacího bufferu.
UCSRB=(1<<RXEN)|(1<<TXEN);
Tímto jednotka USART připravena komunikaci.
Umožňuje jak synchronní, tak asynchronní přenos možností nastavení datových
bitů, nastavení počtu stop-bitů parity. tomuto účelu přímo
nabízí jednotka USART, kterou mikrokontroler ATmega8 disponuje. Umožňuje samozřejmě také multiprocesorovou
komunikaci.7 Využití USART pro komunikaci PC
Jedním bodů zadání práce byl požadavek komunikaci mezi regulátorem PC
z důvodu odesílání změřených hodnot napětí proudů PC. Pro asynchronní
přenos zvolenou rychlost BAUD 57600 baud dle [10] platí:
81
5760016
108
1
16
6
=−
⋅
⋅
=−
⋅
=
BAUD
f
UBRR OSC
(3. tomu slouží funkce USART_Init (unsigned
int baud).
USART (Univerzal Synchronous and Asynchronous Receiver and Transmitter) je
obvod schopný obousměrné komunikace rychlostmi jednotek desítek kbaud. provede zapsáním hodnoty
vypočtené dle vztahu 3.2)
Dalším krokem nastavení počtu datových bitů, stop bitů případné parity. [6]
Před použitím jednotky USART nejprve nutné určit některé parametry
komunikace, neboli provést inicializaci.45
3. Odvysílání dat prováděno
vložením znaku vysílacího datového registru (bufferu).1. Celý zdrojový kód vypadá následovně:
void USART_Send(unsigned char znak) //funkce pro odvysílání znaku
přes USART
{
while(!(UCSRA (1<<UDRE))) //čeká vyprázdnění bufferu
{
}
UDR=znak; //vloží bufferu znak
}
char USART_Receive() //funkce pro příjem znaku přes USART
{
while(!(UCSRA (1<<RXC))) čeká nastavení RXC –
příjem kompletní
{
}
return UDR; //vrací znak bufferu
}
. Obě funkce byly převzaty z
[10]