|
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ě.
Zde
bylo vybráno datových bitů, stop bit žádná parita. Jako první nastavena přenosová rychlost.45
3. Odvysílání dat prováděno
vložením znaku vysílacího datového registru (bufferu).
UCSRB=(1<<RXEN)|(1<<TXEN);
Tímto jednotka USART připravena 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. 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
}
. Pro asynchronní
přenos zvolenou rychlost BAUD 57600 baud dle [10] platí:
81
5760016
108
1
16
6
=−
⋅
⋅
=−
⋅
=
BAUD
f
UBRR OSC
(3.
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. tomuto účelu přímo
nabízí jednotka USART, kterou mikrokontroler ATmega8 disponuje. zajišťuje funkce
USART_Send( Obdobně pro příjem dat přes USART dispozici funkce
USART_Receive( vrací hodnotu přijímacího bufferu. Umožňuje samozřejmě také multiprocesorovou
komunikaci. tomu slouží funkce USART_Init (unsigned
int baud).
Umožňuje jak synchronní, tak asynchronní přenos možností nastavení datových
bitů, nastavení počtu stop-bitů parity. Obě funkce byly převzaty z
[10].2)
Dalším krokem nastavení počtu datových bitů, stop bitů případné 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. [6]
Před použitím jednotky USART nejprve nutné určit některé parametry
komunikace, neboli provést inicializaci.2 párového registru UBRRH UBRRL.1