|
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ě.
[6]
Před použitím jednotky USART nejprve nutné určit některé parametry
komunikace, neboli provést inicializaci. 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. Odvysílání dat prováděno
vložením znaku vysílacího datového registru (bufferu). 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
}
. Zde
bylo vybráno datových bitů, stop bit žádná parita. Umožňuje samozřejmě také multiprocesorovou
komunikaci. Jako první nastavena přenosová rychlost.2 párového registru UBRRH UBRRL.
Umožňuje jak synchronní, tak asynchronní přenos možností nastavení datových
bitů, nastavení počtu stop-bitů parity. 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. tomu slouží funkce USART_Init (unsigned
int baud). 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.
USART (Univerzal Synchronous and Asynchronous Receiver and Transmitter) je
obvod schopný obousměrné komunikace rychlostmi jednotek desítek kbaud.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. Obě funkce byly převzaty z
[10]. tomuto účelu přímo
nabízí jednotka USART, kterou mikrokontroler ATmega8 disponuje.45
3.1