Tukaj - Zveza radioamaterjev Slovenije
Tukaj - Zveza radioamaterjev Slovenije
Tukaj - Zveza radioamaterjev Slovenije
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
KONSTRUKTORSTVO<br />
BLOK 5<br />
void putchar(char c)<br />
{<br />
while (tx_counter == TX_BUFFER_SIZE);<br />
#asm(»cli«)<br />
if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))<br />
{<br />
tx_buffer[tx_wr_index]=c;<br />
if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;<br />
++tx_counter;<br />
}<br />
else UDR=c;<br />
#asm(»sei«)<br />
}<br />
void SendUsb(char* s) {<br />
char i;<br />
i=0;<br />
while (s[++i]!=0x0) {putchar(s[i]);}<br />
}<br />
-----...----------------...----------<br />
sprintf(str,«>U=%5d«,Uizh); // U izhodna<br />
SendUsb(str);<br />
delay_ms(3);<br />
sprintf(str,«>N=%5d«,ir); // U nastavljena<br />
SendUsb(str);<br />
delay_ms(3);<br />
sprintf(str,«>I=%5d«,Iizh); // I izhodni<br />
SendUsb(str);<br />
delay_ms(3);<br />
sprintf(str,«>M=%5d«,Imax); // I maximalni<br />
SendUsb(str);<br />
delay_ms(3);<br />
sprintf(str,«>K=%5d«,Uinp); // U vhodna<br />
SendUsb(str);<br />
delay_ms(3);<br />
sprintf(str,«>R=%5d«,Rbre); // R bremena<br />
SendUsb(str);<br />
delay_ms(3);<br />
sprintf(str,«>P=%5d«,Pout); // P out<br />
SendUsb(str);<br />
LABORATORIJSKI NAPAJALNIK<br />
Blok 9.<br />
Povsem logično je, da sem vzpostavil tudi komunikacijo v obratni<br />
smeri, torej iz osebnega računalnika na napajalnik. Protokol<br />
prenosa podatkov je tu precej podoben zgornjemu. Tu sta le<br />
dve vrsti informacije in sicer za maksimalni tok in želeno napetost.<br />
Hitrost prenosa je 115200 Boud.<br />
Slika 4 - Protokol pri komunikaciji osebni računalnik - napajalnik.<br />
USB povezava<br />
No, tu je sedaj že lep čas govora o USB povezavi, načrta zanjo<br />
pa ni nikjer. To bom takoj popravil. Kot je razvidno, je načrt kar<br />
se da enostaven - lahko bi celo rekli: asketski. Uporabljen je<br />
FT232RL, pri čemer se nisem potrudil dati niti signalnih RX, TX<br />
LED diod. Razmišljal sem, da bi povezavo napajanja preko R1<br />
celo izpustil, a sem se kasneje premislil, saj se v primeru, da<br />
med USB vmesnik in UART mikrokontrolerja damo vezje, ki galvansko<br />
ločuje ti dve napravi, USB čip napaja preko tega upora.<br />
Vrednost upora je 2,2 Ω in istočasno deluje kot omejevalnik<br />
toka in varovalka.<br />
H2<br />
4<br />
3<br />
2<br />
1<br />
VCC<br />
GND<br />
<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
<br />
<br />
<br />
IC1<br />
TXD<br />
DTR#<br />
RTS#<br />
VCCIO<br />
RXD<br />
RI#<br />
GND<br />
NC<br />
DSR#<br />
DCD#<br />
CTS#<br />
CBUS4<br />
CBUS2<br />
CBUS3<br />
FT232RL<br />
OSCO<br />
OSCI<br />
TEST<br />
AGND<br />
NC<br />
CBUS0<br />
CBUS1<br />
GND<br />
VCC<br />
RESET#<br />
GND<br />
3V3OUT<br />
USBDM<br />
USBDP<br />
Slika 5 - UART - USB prehod za povezavo napajalnika z<br />
osebnim računalnikom.<br />
28<br />
27<br />
26<br />
25<br />
24<br />
23<br />
22<br />
21<br />
20<br />
19<br />
18<br />
17<br />
16<br />
15<br />
GND<br />
VCC<br />
GND<br />
GND<br />
GND<br />
C6<br />
100nF<br />
R1<br />
2R2<br />
VCC<br />
GND<br />
C5<br />
3μ3<br />
H1<br />
1<br />
2<br />
3<br />
4<br />
USB<br />
GND<br />
43<br />
Protokol je kar se da enostaven. Vsaka poslana informacija je<br />
sestavljena iz sedmih znakov. Prvi znak pomeni vrsto informacije,<br />
drugi je vedno enačaj (=), nato pa sledi 5-mestno število.<br />
Pomen prvega znaka je opisan v tabeli.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Slika 3 - Protokol komunikacije napajalnik – PC<br />
Slika 6 - Tiskano vezje z zgornje in s spodnje strani v merilu<br />
1:1 (normal, miror, miror, normal)<br />
Letnik XX1, 1-2/2010<br />
CQ ZRS