Rev Author Line No. Line
203 miho 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3c.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title> DART01A </title>
6 <meta name="keywords" content="stavebnice MLAB solární vozítko DART">
7 <meta name="description" content="Projekt MLAB, solární vozítko DART">
8 <!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
9 <link rel="StyleSheet" href="../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
10 <link rel="shortcut icon" type="image/x-icon" href="Web/PIC/MLAB.ico">
11 <script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script>
12 <!-- AUTOINCLUDE END -->
13 </head>
14  
15 <body lang="cs">
16  
17 <!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
18 <!-- ============== HLAVICKA ============== -->
19 <div class="Header">
20 <script type="text/javascript">
21 <!--
22 SetRelativePath("../../../../");
23 DrawHeader();
24 // -->
25 </script>
26 <noscript>
27 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
28 </noscript>
29 </div>
30 <!-- AUTOINCLUDE END -->
31  
32 <!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
33 <!-- ============== MENU ============== -->
34 <div class="Menu">
35 <script type="text/javascript">
36 <!--
37 SetRelativePath("../../../../");
38 DrawMenu();
39 // -->
40 </script>
41 <noscript>
42 <p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
43 </noscript>
44 </div>
45 <!-- AUTOINCLUDE END -->
46  
47 <!-- ============== TEXT ============== -->
48 <div class="Text">
49  
50 <p class="Title"> DART01A – solární vozítko s měničem </p>
51  
52 <p class=Autor> Milan Horkel </p>
53  
54 <p class="Subtitle">
55 Popisovaná konstrukce je experimentálním vozítkem pro závody solárních modelů.
56 Je zde stručně uvedena mechanická konstrukce a konstrukce elektroniky
57 obsahující měnič a řídící procesor pro řízení měniče a startu vozítka.
58 </p>
59  
60 <p class="Subtitle">
205 miho 61 <img width="358" height="333" src="Pictures/image001.jpg"
203 miho 62 alt="Celkový pohled">
63 <br>
205 miho 64 <img width="228" height="160" src="Pictures/image002.jpg"
203 miho 65 alt="Elektronika ze strany součástí">
66 <img width="227" height="148" src="Pictures/image003.jpg"
67 alt="Elektronika ze strany spojů">
68 </p>
69  
70 <p>
71 <a href="../DART01A.cs.pdf"><img class="NoBorder"
72 src="../../../../Web/PIC/FileIco_PDF.ico"
73 alt="Acrobat">&nbsp;PDF verze</a>
74 </p>
75  
76 <h1> Technické údaje </h1>
77  
78 <table>
79 <tr>
80 <th> Parametr </th>
81 <th> Hodnota </th>
82 <th> Poznámka </th>
83 </tr>
84 <tr>
85 <td> Napájení </td>
86 <td> 8ks slunečních článků </td>
87 <td> cca 65mW </td>
88 </tr>
89 <tr>
90 <td> Akumulační prvek </td>
91 <td> Kondenzátor 10G/16V </td>
92 <td> Maximálně do 18V (omezeno ZD) </td>
93 </tr>
94 <tr>
95 <td> Maximální energie </td>
96 <td> 1.3J / 1.6J </td>
97 <td> Při 16V / 18V </td>
98 </tr>
99 <tr>
100 <td> Řízení </td>
101 <td> Procesor PIC16F88 </td>
102 <td> AD převodník, PWM, SSP, časovač </td>
103 </tr>
104 <tr>
105 <td> Hmotnost </td>
106 <td> 70g </td>
107 <td> Z toho elektronika 20g </td>
108 </tr>
109 <tr>
110 <td> Rozměry </td>
111 <td> 155x115x100mm </td>
112 <td> Elektronika 49x31x38mm </td>
113 </tr>
114 </table>
115  
116 <h1> Úvodem </h1>
117  
118 <p>
119 Konstrukce solárního vozítka vyžaduje mnoho experimentování. Vznikla proto robustní
120 mechanická konstrukce podvozku s oddělitelnými slunečními články a samostatná deska
121 elektroniky. Většinu ladění a experimentů lze udělat tak, že se na podvozek umístí závaží
122 odpovídající váze slunečních článků a elektroniky (osvědčila se 9V baterie) a podvozek se
123 propojí tenkým drátem (lakovaný drát 0.2mm) s elektronikou, která leží na pracovním stole.
124 Na sluneční články lze svítit obyčejnou stolní lampou, jen je třeba zvolit vhodnou
125 vzdálenost, aby množství energie odpovídalo soutěžnímu osvětlení. Do místa dojezdu je
126 vhodné dát polštář aby se podvozek nepotloukl.
127 </p>
128  
129 <p>
130 Všechna dosavadní solární vozítka (na soutěžích v Ostravě), která nějakým způsobem
131 akumulovala energii, se snažila nabít přímo ze slunečních článků velký kondenzátor a ten
132 pak vybít do motoru. Tento proces má dvě úskalí.
133 </p>
134  
135 <p>
136 Za prvé sluneční články dávají maximální výkon jen při určitém napětí (2.5 až 3V při 8
137 článcích dle úrovně osvětlení). Tedy při připojení slunečních článků na vybitý kondenzátor
138 je většina energie nevyužita (velký proud, ale nepatrné napětí dají nepatrný výkon).
139 </p>
140  
141 <p>
142 Druhým kamenem úrazu je to, jak dostat co nejvíce energie z kondenzátoru do motoru. Prosté
143 připojení motoru je velmi neefektivní, mnohem výhodnější je postupný rozjezd. V autě se
144 také nerozjíždíme na pětku i když nakonec chceme jet co nejrychleji. Komplikací je i ta
145 skutečnost, že část energie v kondenzátoru zbývá nevyužita, protože napětí na kondenzátoru
146 neklesne na nulu.
147 </p>
148  
149 <h2> Koncepce řešení </h2>
150  
151 <p>
152 První problém lze v podstatě bezezbytku vyřešit tím, že mezi baterii slunečních článků a
153 akumulační kondenzátor umístíme měnič, který řídíme tak, aby bylo na slunečních článcích
154 optimální napětí. Zaplatíme za to tím, že se část energie ztratí v měniči (účinnost cca
155 80%) a část energie spotřebuje procesor na řízení měniče (cca 1mA). Procesor ale stejně
156 potřebujeme, protože to je nejsnazší způsob jak zajistit start vozítka v definovaném čase
157 (dle pravidel 15s).
158 </p>
159  
160 <p>
161 Energii z akumulačního kondenzátoru přivedeme do motoru „po kouskách“ tak, že při rozjezdu
162 budeme nejprve krátce spínat proud do motoru a během rozjezdu budeme postupně přidávat.
163 Bohužel část energie v kondenzátoru zůstane nevyužita (napětí neklesne k nule). Aby tato
164 část byla co nejmenší, je vhodné volit kondenzátor raději menší kapacity ale na větší
165 napětí. Napětí je omezeno hlavně průrazným napětím použitých tranzistorů.
166 </p>
167  
168 <h2> Dosažené výsledky </h2>
169  
170 <p>
171 Předběžné dosažené výsledky ukazují, že solární vozítko je schopné konkurovat nejlepším
172 konstrukcím z předchozích ročníků soutěže. Zvýšená spotřeba elektroniky a její hmotnost je
173 s rezervou vyvážena lepším využitím energie ze slunečních článků.
174 </p>
175  
176 <h1> Mechanická konstrukce </h1>
177  
178 <p>
179 Mechanická konstrukce se skládá ze 3 částí:
180 </p>
181  
182 <table>
183 <tr>
184 <th> Část </th>
185 <th> Hmotnost </th>
186 <th> Celkem </th>
187 </tr>
188 <tr>
189 <td> Podvozek s motorem </td>
190 <td> 35g </td>
191 <td rowspan="3"> 69g </td>
192 </tr>
193 <tr>
194 <td> Panel slunečních článků </td>
195 <td> 14g </td>
196 </tr>
197 <tr>
198 <td> Elektronika </td>
199 <td> 20g (z toho kondenzátor 13g) </td>
200 </tr>
201 </table>
202  
203 <p>
204 Podvozek je samostatný stavební prvek a panel slunečních článků je k němu připevněn pomocí
205 stojin z hliníkové trubičky Ø3mm, které lze oddělit jak od podvozku, tak i od panelu
206 slunečních článků. Elektronika je připevněna pomocí gumičky.
207 </p>
208  
209 <h2> Podvozek </h2>
210  
211 <p>
212 Podvozek je slepený z balzového dřeva a smrkových latiček. Provedení je určeno použitým
213 motorem a převody. Motor i převody pochází z nefunkční CD ROM mechaniky. Podvozek byl
214 stavěn spíše robustní aby něco vydržel a jistě by jej bylo možné odlehčit.
215 </p>
216  
217 <p>
218 Kola (standardní modelářská) jsou spolu s velkým ozubeným kolem převodu nasazena (a
219 přilepena) na osu, kterou tvoří hliníková trubička Ø3mm. Na ose jsou dále přilepena
220 2 kuličková ložiska, za která je náprava uchycena do podvozku (ložiska nejsou k podvozku
221 přilepena). Ložiska pocházejí ze starého pevného disku.
222 </p>
223  
224 <p>
225 Přední kolo má pneumatiku z malého modelářského kolečka a náboj tvoří opět malé kuličkové
226 ložisko s osou z hliníkové trubičky. Kolečko musí být dobře připevněno k podvozku, aby se
227 neulomilo při tvrdém dojezdu.
228 </p>
229  
230 <p>
231 Stojiny jsou zasunuty v trubičkách z hnědé papírové lepenky. Tyto trubičky jsou epoxidovým
232 lepidlem zalepeny do podvozku. Podrobnosti jsou patrné z přiložených obrázků.
233 </p>
234  
235 <p>
236 <img width="268" height="189" src="Pictures/image004.jpg"
237 alt="Podvozek, pohled zhora">
238 <img width="170" height="190" src="Pictures/image005.jpg"
239 alt="Převodovka">
240 <img width="143" height="188" src="Pictures/image006.jpg"
241 alt="Přední kolo">
242 </p>
243  
244 <h2> Panel slunečních článků </h2>
245  
246 <p>
247 Sluneční články jsou velmi křehké a je tedy nezbytné náležitě je chránit před poškozením.
248 Ke každému článku jsou zespoda připájeny 2 tenké dráty za které jsou přichyceny k podložce
249 z 1mm balzy. Okraj podložky je zpevněn latičkami 2x3mm. Vpředu a vzadu jsou přilepené
250 trubičky z papírové lepenky pro nasazení panelu na stojky. Všechny články jsou zapojené v
251 sérii a vývod je opatřen kablíkem s konektorem.
252 </p>
253  
254 <p>
255 <img width="209" height="189" src="Pictures/image007.jpg"
256 alt="Solární články">
257 <img width="105" height="188" src="Pictures/image008.jpg"
258 alt="Připevnění stojin">
259 </p>
260  
261 <h1> Elektronika </h1>
262  
263 <h2> Blokové schéma </h2>
264  
265 <p>
266 <img width="465" height="227" src="Pictures/image009.gif"
267 alt="Blokové schéma">
268 </p>
269  
270 <p>
271 Srdcem elektroniky je jednočipový procesor PIC16F88, který zajišťuje kompletní řízení jak
272 měniče (pomocí PWM jednotky a AD převodníku) tak i rozjezdu (pomocí SSP jednotky).
273 </p>
274  
275 <p>
276 Napájení zajišťuje panel slunečních článků. Získaná energie se měničem střídá do
277 akumulačního kondenzátoru, odkud se pak spínačem motoru využívá pro rozjezd vozítka.
278 </p>
279  
280 <p>
281 K procesoru jsou připojeny 2 odporové trimry, jejichž nastavení lze přečíst pomocí AD
282 převodníku a mohou se použít pro nastavení parametrů řídících algoritmů. Přepínač slouží
283 pro výběr až 4 různých řídících algoritmů.
284 </p>
285  
286 <p>
287 Pro ladění je možné k elektronice připojit pomocný terminál s dvouřádkovým LCD displejem
288 pro průběžné zobrazování nastavených parametrů.
289 </p>
290  
291 <h2> Energetická bilance </h2>
292  
293 <p>
294 Zdrojem energie je sada 8ks slunečních článků 25x50mm zapojených do série, které poskytnou
295 při soutěžním osvětlení cca 60mW výkonu. Maximální výkon lze z článků získat při takovém
296 zatížení, při kterém je na nich napětí 2.5 až 3V. Tato velikost napětí je výhodná i tím, že
297 se dá bez úprav použít pro napájení řídícího procesoru (PIC16F88).
298 </p>
299  
300 <p>
301 Na startu je možno 15s akumulovat energii. Za tyto dobu poskytnou články cca 0.9J energie.
302 Vlastní spotřeba procesoru (1mA) je jen malou částí a nebudeme ji dále uvažovat. Akumulační
303 kondenzátor 10G/16V se touto energií nabije ideálně na cca 13.4V. Vzhledem k tomu že měnič
304 má ztráty, bude na kondenzátoru napětí o něco menší. Teoreticky se do uvažovaného
305 kondenzátoru vejde až 1.28J při 16V a máme tedy i dostatečnou rezervu (více světla, lepší
306 články a podobně).
307 </p>
308  
309 <p>
310 <img width="137" height="41" src="Pictures/image010.gif"
311 alt="Vzorec E = 0.5 * C * U * U">
312 </p>
313  
314 <p>
315 <img width="129" height="47" src="Pictures/image011.gif"
316 alt="Vzorec U = sqrt( 2 * E / C )">
317 </p>
318  
319 <h2> Měnič </h2>
320  
321 <p>
322 Používáme blokující měnič, který má ideální vlastnosti pro uvažovanou aplikaci. Umožňuje
323 totiž transformovat energii ze vstupního napětí jak směrem dolu (když je akumulační
324 kondenzátor vybitý) tak i směrem nahoru (když je akumulační kondenzátor nabitý). Velikost
325 výstupního napětí není principielně omezena a aby nedošlo k proražení spínacího tranzistoru
326 nebo akumulačního kondenzátoru je na výstupu měniče zařazena ochranná Zenerova dioda 16V
327 nebo 18V.
328 </p>
329  
330 <p>
331 <img width="378" height="155" src="Pictures/image012.gif"
332 alt="Principální schéma měniče">
333 </p>
334  
335 <p>
336 Po sepnutí tranzistoru Q se objeví napájecí napětí na primárním vinutí transformátoru a
337 začne postupně lineárně narůstat proud primárním vinutím a dochází k ukládání energie v
338 podobě magnetického pole cívky.
339 </p>
340  
341 <p>
342 <img width="147" height="41" src="Pictures/image013.gif"
343 alt="Vzorec i(t) = U * t / L">
344 </p>
345  
346 <p>
347 <img width="133" height="41" src="Pictures/image014.gif"
348 alt="Vzorec E = 0.5 L * I * I">
349 </p>
350  
351 <p>
352 Množství uložené energie je úměrné t<sup>2</sup> času sepnutí spínače Q protože proud je
353 úměrný času t.
354 </p>
355  
356 <p>
357 Současně plynulý nárůst proudu způsobí, že se na sekundárním vinutí objeví konstantní
358 napětí shodné velikosti jako na primárním vinutí (primární i sekundární vinutí mají shodný
359 počet závitů). Kladný pól tohoto napětí je u tečky protože kladný pól napětí na primárním
360 vinutí je také u tečky. Sekundární vinutí je zapojeno tak, že dioda D je uzavřena a
361 sekundárním vinutím neteče proud.
362 </p>
363  
364 <p>
365 V okamžiku rozpojení spínače Q přestává téci proud primárním vinutím a transformátor vrací
366 naakumulovanou energii přes diodu D do akumulačního kondenzátoru C. Napětí na sekundárním
367 vinutí je dáno napětím na kondenzátoru C (plus úbytek na diodě D) a napětí na primárním
368 vinutí je opět zhruba shodné. Tranzistor Q je namáhán napětím rovným součtu napájecího
369 napětí a napětí na akumulačním kondenzátoru.
370 </p>
371  
372 <p>
373 Následující průběhy orientačně zobrazují průběh buzení tranzistoru, napětí na primárním
374 vinutí (na sekundárním je vždy stejné) a proudy primárním a sekundárním vinutím.
375 </p>
376  
377 <p>
378 <img width="373" height="181" src="Pictures/image015.gif"
379 alt="Časové průběhy napětí a proudu">
380 </p>
381  
382 <p>
383 Množství energie v každém cyklu je dáno t<sup>2</sup> doby sepnutí spínače. Tato doba je
384 řízena procesorem tak, aby se udržovalo optimální napětí na slunečních článcích. Při
385 poklesu napětí pod nastavenou mez se zkracuje doba sepnutí a naopak.
386 </p>
387  
388 <p>
389 Aby měl měnič dobrou účinnost (cca 80%) je nezbytné zajistit, aby se jádro transformátoru
390 nepřebuzovalo. Toho se docílí tím, že jádro má vzduchovou mezeru. V měniči je použito
391 toroidní jádro Ø10mm z hmoty H22 (nízkofrekvenční hmota). Jádro se oparně přelomí na 2 poloviny
392 a mezi ně se vloží papírová samolepka. Pak se vnitřní a vnější průměr jádra oblepí papírovou
393 samolepkou, aby jádro drželo pohromadě. Protože je hmota H22 elektricky vodivá, slouží papír
394 současně i jako ochrana proti zkratu vinutí na ostrých hranách jádra. Je možné použít i jádra
395 E z budícího transformátoru ze spínaného zdroje pro PC nebo z vyřazeného monitoru. Výhoda
396 toroidu je pouze v jeho o něco menší hmotnosti.
397 </p>
398  
399 <p>
400 Vinutí se vine bifilárně 2x70 závitů drátem o Ø0.2mm. Obě vinutí se tedy vinou najednou lehce
401 zkrouceným párem vodičů. Při zapojování je třeba správně zapojit začátky a konce vinutí.
402 Začátky vinutí jsou ve schématu označeny tečkou.
403 </p>
404  
405 <p>
406 Indukčnost vinutí volíme tak, aby při buzení PWM na úrovni cca 30% tekl do měniče jmenovitý
407 proud. Pokud teče proud moc malý je indukčnost příliš velká a naopak. Současně
408 zkontrolujeme dosaženou účinnost. Pokud je menší než asi 75% je něco špatně (nevhodné
409 jádro, malá nebo žádná vzduchová mezera, mizerná výstupní dioda, málo sepnutý tranzistor a
410 podobně).
411 </p>
412  
413 <h3> Volba součástek </h3>
414  
415 <p>
416 Tranzistor Q – použijeme výkonový FET s prahovým napětím cca 2V pro proud cca 5A. Takové
417 tranzistory se vyskytují na mainboardech (zejména notebooků) nebo v LiIon bateriích do
418 mobilních telefonů. Někdy bývají dvojité (ale mohou mít nevhodně zapojené vývody). V
419 současné době se již dají podobné tranzistory v pouzdru SO8 koupit.
420 </p>
421  
422 <p>
423 Dioda D – použijeme Schottkyho diodu na cca 5A. Velmi pěkně funguje SB540 ale je trochu
424 větší než použitý SMD typ.
425 </p>
426  
427 <h2> Rozjezd </h2>
428  
429 <p>
430 Aby se co nejvíce pracně získané energie z akumulačního kondenzátoru dostalo do motoru je
431 třeba provádět plynulý rozjezd. Prosté připojení motoru vede k nevalným výsledkům.
432 </p>
433  
434 <p>
435 <img width="236" height="185" src="Pictures/image016.gif"
436 alt="Principální zapojení rozjezdu">
437 </p>
438  
439 <p>
440 Rozjezd zajistíme postupným spínáním tranzistoru Q nejprve na kratičkou dobu a postupně
441 dobu sepnutí prodlužujeme až nakonec zůstane tranzistor trvale sepnutý. K impulsnímu buzení
442 používáme jednotku SSP procesoru (synchronní komunikační jednotka), která umožňuje vysílat
443 sériově datová slova (8 bitů). Je tak snadné vysílat buď jen jednu jedničku nebo až 7
444 jedniček.
445 </p>
446  
447 <p>
448 <img width="323" height="199" src="Pictures/image017.gif"
449 alt="Průběhy při rozjezdu">
450 </p>
451  
452 <p>
453 Dioda D je zde nepostradatelnou součástkou a bez ní to nejede. Při sepnutí roste lineárně
454 proud motorem (je to konec konců cívka) a při rozpojení je potřeba, aby mohl proud téci i
455 nadále. Jinak hrozí proražení spínacího tranzistoru. Dioda umožňuje proudu pokračovat v
456 průchodu motorem i po rozpojení tranzistoru. Proud tekoucí motorem je zdrojem jeho „síly“,
457 tedy točivého momentu.
458 </p>
459  
460 <p>
461 Jako optimální se jeví „řazení“ po 50 až 80ms. Opakovací frekvence rozjezdu je cca 7KHz.
462 </p>
463  
464 <h1> Schéma </h1>
465  
466 <p>
467 <img width="642" height="783" src="Pictures/image018.gif"
468 alt="Celkové schéma">
469 </p>
470  
471 <p>
472 Zenerova dioda D1 chrání procesor před přepětím a přepólováním. Zenerova dioda D4 chrání
473 akumulační kondenzátor a spínací tranzistory (oba) před příliš vysokým napětím.
474 </p>
475  
476 <p>
477 Odpory R2 a R4 zajišťují vypnutý klidový stav tranzistorů Q1A a Q1B. Odpory R1 a R3 spolu s
478 diodami D5 a D6 zajišťují ochranu procesoru proti záporným špičkám od spínacích tranzistorů
479 (způsobených nezanedbatelnou kapacitou mezi D a G elektrodami výkonových FET tranzistorů).
480 </p>
481  
482 <p>
483 Dioda D2 je výstupní diodou měniče a dioda D3 je ochrannou diodou obvodů rozjezdu motoru.
484 Pro zlepšení účinnosti je možné tyto diody buď vybrat (minimální úbytek v propustném směru)
485 nebo zdvojit.
486 </p>
487  
488 <p>
489 Kondenzátor C4 je akumulačním kondenzátorem. Je volen s ohledem na optimální poměr množství
490 uložené energie k jeho hmotnosti. Je zajímavé, že kondenzátor 10G/10V je stejně velký (tedy
491 nevýhodný). Rozměry kondenzátorů se neustále, je tedy třeba pořídit kondenzátor co
492 nejnovější.
493 </p>
494  
495 <p>
496 Procesor běží z vnitřního RC oscilátoru (na kmitočtu 4MHz). Tlačítko SW1 umožňuje aktivovat
497 jeho reset. Konektor J7 slouží k programování procesoru. J5 je piezo element, který se
498 používá pro akustickou indikaci, že nastal reset.
499 </p>
500  
501 <p>
502 P1 a P2 slouží pro nastavování parametrů algoritmů. Jejich nastavení se čte pomocí AD
503 převodníku. Přepínač SW2 slouží pro volbu jednoho ze čtyř algoritmů. Odpory R8 a R9
504 zajišťují, že se při programování procesoru nezkratují programovací vodiče na zem.
505 </p>
506  
507 <p>
508 Tranzistor Q2 slouží jako výstupní tranzistor sériové linky pomocí níž procesor vysílá
509 výstupní data (na jednoduchý terminál s dvouřádkovým LCD displejem). Používá se při ladění.
510 Zvolené řešení zajišťuje, že připojený terminál (displej) nemá žádný vliv na spotřebu
511 elektroniky.
512 </p>
513  
514 <p>
515 Pro zajištění optimálního napětí na slunečních článcích je třeba měřit velikost napájecího
516 napětí. Toho se docílí srovnáním napájecího napětí a napětím na referenční diodě U2 na
517 které je standardně 1.25V. Napájení referenční diody se zapíná jen po dobu měření (z portu
518 RA4 přes R7).
519 </p>
520  
521 <p>
522 <i>
523 Důležitou součástkou je C5. Bez tohoto kondenzátoru se může elektronika dostat do
524 naprosto nefunkčního stavu ze kterého se nedostane ani tlačítkem reset. Mechanismus
525 zablokování spočívá v tom, že při poklesu napájení pod mez při které procesor přestává
526 fungovat a současně je PWM výstup ve stavu H zůstává klopný obvod PWM výstupu procesoru ve
527 stavu H. K udržení tohoto stavu stačí pár desetin voltů napájení a při opětovném nárůstu
528 napájení se současně spíná tranzistor Q1A, který v této situaci vytváří zkrat na napájení.
529 Napájecí napětí pak není schopno překonat prahové napětí tranzistoru Q1A (cca 0.8V). Při
530 takhle nízkém napětí signál reset ještě nefunguje.
531 </i>
532 </p>
533  
534 <h1> Osazení a oživení </h1>
535  
536 <h2> Osazení </h2>
537  
538 <p>
539 Plošný spoj je vhodné vyrobit z co nejtenčího materiálu aby byl co nejlehčí. Poněkud
540 obtížnější je jen připájení miniaturního tranzistoru Q1. Piezo element je přilepen ze
541 strany součástek pomocí mezikruží z oboustranně lepicí samolepky. Aby bylo piezo element
542 lépe slyšet, vyvrtá se pod ním otvor o průměru Ø2mm. Pozor na polaritu vinutí
543 transformátoru.
544 </p>
545  
546 <p>
547 <img width="516" height="327" src="Pictures/image019.jpg"
548 alt="Osazovák, strana spojů">
549 <img width="516" height="326" src="Pictures/image020.jpg"
550 alt="Osazovák, strana součástí">
551 </p>
552  
553 <table class="Soupiska">
554 <tr>
555 <th colspan="2"> Odpory </th>
556 <td></td>
557 <th colspan="2"> Tranzistory </th>
558 </tr>
559 <tr>
560 <td> R1,R3,R6 </td>
561 <td> 100 </td>
562 <td></td>
563 <td> Q1 </td>
564 <td> Si17904DN </td>
565 </tr>
566 <tr>
567 <td> R8,R9 </td>
568 <td> 1k </td>
569 <td></td>
570 <td> Q2 </td>
571 <td> 2N7002SMD </td>
572 </tr>
573 <tr>
574 <td> R5,R7 </td>
575 <td> 10k </td>
576 <td></td>
577 <th colspan="2"> Integrované obvody </th>
578 </tr>
579 <tr>
580 <td> R2,R4 </td>
581 <td> 100k </td>
582 <td></td>
583 <td> U1 </td>
584 <td> PIC16F88/SO </td>
585 </tr>
586 <tr>
587 <th colspan="2"> Odporové trimry </th>
588 <td></td>
589 <td> U2 </td>
590 <td> LM385-1.2_SO8 </td>
591 </tr>
592 <tr>
593 <td> P1,P2 </td>
594 <td> 100k </td>
595 <td></td>
596 <th colspan="2"> Mechanické součástky </th>
597 </tr>
598 <tr>
599 <th colspan="2"> Keramické kondenzátory </th>
600 <td></td>
601 <td> J1 </td>
602 <td> BAT </td>
603 </tr>
604 <tr>
605 <td> C7,C8 </td>
606 <td> 10nF </td>
607 <td></td>
608 <td> J2,J3,J6 </td>
609 <td> JUMP2 </td>
610 </tr>
611 <tr>
612 <td> C5,C6 </td>
613 <td> 100nF </td>
614 <td></td>
615 <td> J4 </td>
616 <td> MOTOR </td>
617 </tr>
618 <tr>
619 <td> C2,C3 </td>
620 <td> 4uF/16V </td>
621 <td></td>
622 <td> J5 </td>
623 <td> PIEZO </td>
624 </tr>
625 <tr>
626 <th colspan="2"> Elektrolytické kondenzátory </th>
627 <td></td>
628 <td> J7 </td>
629 <td> PIC_ISP </td>
630 </tr>
631 <tr>
632 <td> C1 </td>
633 <td> 1000uF/6.3V </td>
634 <td></td>
635 <td> SW1 </td>
636 <td> P-B1720 </td>
637 </tr>
638 <tr>
639 <td> C4 </td>
640 <td> 10G/16V </td>
641 <td></td>
642 <td> SW2 </td>
643 <td> SMDSW2 </td>
644 </tr>
645 <tr>
646 <th colspan="2"> Indukčnosti </th>
647 <td></td>
648 <td></td>
649 <td></td>
650 </tr>
651 <tr>
652 <td> TR1 </td>
653 <td> L-TR-1P1S_DOT </td>
654 <td></td>
655 <td></td>
656 <td></td>
657 </tr>
658 <tr>
659 <th colspan="2"> Diody </th>
660 <td></td>
661 <td></td>
662 <td></td>
663 </tr>
664 <tr>
665 <td> D1 </td>
666 <td> BZV55C5.6SMD </td>
667 <td></td>
668 <td></td>
669 <td></td>
670 </tr>
671 <tr>
672 <td> D2,D3 </td>
673 <td> SK54ASMD </td>
674 <td></td>
675 <td></td>
676 <td></td>
677 </tr>
678 <tr>
679 <td> D4 </td>
680 <td> BZV55C18SMD </td>
681 <td></td>
682 <td></td>
683 <td></td>
684 </tr>
685 <tr>
686 <td> D5,D6 </td>
687 <td> BAT48SMD </td>
688 <td></td>
689 <td></td>
690 <td></td>
691 </tr>
692 </table>
693  
694 <h2> Oživení </h2>
695  
696 <p>
697 Po naprogramování by měl procesor po každém resetu pípnout. Při oživování se používají
698 testovací algoritmy programového vybavení. Na výstup RS232 je vhodné připojit pomocný
699 terminál tvořený procesorem PIC s dvouřádkovým LCD displejem. Dále jsou k oživování
700 nezbytné běžné multimetry (současné měření vstupního napětí a proudu a výstupního napětí na
701 definované zátěži) a laboratorní zdroj. Velmi užitečným nástrojem je též osciloskop pro
702 kontrolu průběhů.
703 </p>
704  
705 <p>
706 Při napájení z laboratorního zdroje je třeba omezit napájecí proud. Zejména algoritmy 0 a
707 3, které se snaží udržet definované napětí na slunečních článcích mohou vést k přetížení
708 měniče (spálení cívky nebo tranzistoru).
709 </p>
710  
711 <h1> LCD terminál </h1>
712  
713 <p>
714 LCD terminál se připojuje na konektor J6 elektroniky a průběžně zobrazuje to, co
715 elektronika posílá po sérové lince. Terminál lze snadno sestavit z procesorového modulu s
716 procesorem PIC16F84 a z modulu s dvouřádkovým LCD displejem. Po překladu programu terminálu
717 lze samozřejmě použít i jiný procesor.
718 </p>
719  
720 <p>
721 Komunikační rychlost je 9600Bd bez potvrzování přenosu, 8 datových bitů, 1 stop bit,
722 polarita inverzní (nastavuje se ve zdrojovém kódu).
723 </p>
724  
725 <p>
726 <img width="642" height="316" src="Pictures/image021.gif"
727 alt="Schéma terminálu">
728 </p>
729  
730 <p>
731 Připojení LCD displeje shrnuje následující přehled:
732 </p>
733  
734 <table>
735 <tr>
736 <td> RB4 </td>
737 <td> LCD_DB4 </td>
738 </tr>
739 <tr>
740 <td> RB5 </td>
741 <td> LCD_DB5 </td>
742 </tr>
743 <tr>
744 <td> RB6 </td>
745 <td> LCD_DB6 </td>
746 </tr>
747 <tr>
748 <td> RB7 </td>
749 <td> LCD_DB7 </td>
750 </tr>
751 <tr>
752 <td> RA0 </td>
753 <td> LCD_RS </td>
754 </tr>
755 <tr>
756 <td> RA1 </td>
757 <td> LCD_E </td>
758 </tr>
759 <tr>
760 <td> GND </td>
761 <td> LCD_RW </td>
762 </tr>
763 <tr>
764 <td> RB1 </td>
765 <td> RS232_IN </td>
766 </tr>
767 </table>
768  
769 <h1> Programové vybavení </h1>
770  
771 <p>
772 Verze 1.01.
773 </p>
774  
775 <h2> Uživatelský návod </h2>
776  
777 <p>
778 Programové vybavení má implementovány 4 algoritmy, které se volí stavem dvojitého přepínače
779 SW2.
780 </p>
781  
782 <h3> Algoritmus 0 – standardní jízda </h3>
783  
784 <p>
785 Po resetu 14.5s akumuluje energii do kondenzátoru a poté provede rozjezd. Hlavní měnič a
786 algoritmus optimalizace zátěže slunečních článků běží po celou dobu běhu programu. Pomocí
787 P1 se nastavuje požadovaná velikost napětí na slunečních článcích a pomocí P2 se nastavuje
788 rychlost rozjezdu.
789 </p>
790  
791 <h3> Algoritmus 1 – test PWM měniče a měniče pro rozjezd </h3>
792  
793 <p>
794 Pomocí P1 se nastavuje šířka PWM impulsů hlavního měniče. Je vhodné napájení z
795 regulovatelného zdroje (s proudovým omezením na cca 0.5A). Účinnost se určuje ze vstupního
796 napětí a proudu a z napětí na zatěžovacím odporu 100Ω na výstupu (konektor J3).
797 P2 musí být nastaven na 0 nebo musí být odpojen motor.
798 </p>
799  
800 <p>
801 Šířka impulsů spínače motoru se nastavuje pomocí P2. P1 se nastaví na 0 a na J3 se přivádí
802 pomocné napájecí napětí (5 až 16V). Při šířce impulsů 1 (nastaveno pomocí P2) by mělo
803 vozítko pomalu jet při napětí pomocného zdroje 16V.
804 </p>
805  
806 <h3> Algoritmus 2 – test rozjezdu </h3>
807  
808 <p>
809 Tento algoritmus po resetu počká 2s a pak provede standardní rozjezd motoru. Po 2s motor
810 opět odpojí. Pomocí P2 se nastavuje prodleva mezi stupni řazení. Optimální hodnota bývá
811 mezi 50 a 80ms (není kritické). Test rozjezdu se provádí tak, že se přes J3 nabije
812 akumulační kondenzátor na požadované napětí, poté se pomocný zdroj odpojí a provede se
813 start (pomocí tlačítka reset). Měří se buď délka dráhy nebo čas projetí fixní dráhy. Hlavní
814 střídač při tomto testu neběží. Algoritmus 0 používá stejné nastavení P2.
815 </p>
816  
817 <h3> Algoritmus 3 – test optimalizace nabíjení </h3>
818  
819 <p>
820 Tento algoritmus slouží k ověření algoritmu optimalizace výkonu ze slunečních článků.
821 Pomocí P1 se nastavuje požadovaná hodnota napětí na solárních článcích tak, aby na zátěži
822 100Ω na výstupu (konektor J3) bylo maximální napětí. Algoritmus 0 používá stejné nastavení P1.
823 </p>
824  
825 <h2> Architektura programu </h2>
826  
827 <p>
828 Procesor běží z vnitřního generátoru hodin 4MHz. Má povolen <span lang="EN-US">watch
829 dog</span> a výstup PWM má nastaven na port RB3.
830 </p>
831  
832 <p>
833 Pro vysílání dat do pomocného terminálu používá program HW podporu (jednotka USART) ale
834 nepoužívá přerušení. Je-li třeba vyslat více znaků za sebou, pak procedura pro vysílání
835 znaků <samp>Putc()</samp> čeká dokud není vyslán předchozí znak. Počáteční inicializaci
836 sériové linky zajišťuje procedura <samp>InitRS232()</samp>. Rychlost je nastavena na
837 9600Bd.
838 </p>
839  
840 <p>
841 Pro pozvolný rozjezd motoru se používá jednotka sériové synchronní komunikace SSP, která
842 umožňuje vyslat zadaná data sérově HW prostředky. Pro postupný rozjezd se nejprve vysílají
843 data obsahující 1 jedničku a postupně se ve vysílaném (osmibitovém) slově zvětšuje počet
844 jedniček až na 7. Poté se jednotka SSP deaktivuje a na příslušnou výstupní nožičku je
845 nastaven stav trvalé jedničky.
846 </p>
847  
848 <p>
849 Jednotka SSP po vyslání 1 bajtu dat vyvolá přerušení, jehož obsluha zapíše další bajt do
850 SSP pro vyslání. Jaký bajt se opakovaně vysílá je určeno „převodovým stupněm“ při rozjezdu.
851 Obsluhu přerušení zajišťuje procedura <samp>IntSSP()</samp>, data pro opakované vysílání
852 jsou uložena v globální proměnné <samp>MotorPattern</samp>. Hodnota do této proměnné se
853 nastavuje pomocí procedury <samp>MotorPatternSet()</samp>, která ze zadaného „rychlostního
854 stupně“ vyrobí slovo s příslušným počtem jedniček. Klidový stav („neutrál“) a plný výkon se
855 neobsluhují pomocí SSP, protože jsou zajištěny trvalým stavem 0 nebo 1 na portu pro
856 ovládání motoru.
857 </p>
858  
859 <p>
860 Procedura <samp>MotorSet()</samp> zajišťuje nastavení zadaného rychlostního stupně a povolí
861 přerušení od jednotky SSP. Tato procedura se volá z hlavního programu pro rozjezd.
862 </p>
863  
864 <p>
865 Pro měření času pro akumulaci a pro „řazení“ při rozjezdu se používá časovač T0, který je
866 nastaven na přerušení každou cca 1ms (asi 1000x za sekundu). Obsluhu přerušení od časovače
867 zajišťuje procedura <samp>IntT0()</samp>.
868 </p>
869  
870 <p>
871 Pro odměřování uplynutí časového intervalu se používá procedura <samp>TimerSet()</samp> a
872 pro testování, zda již nastavený čas uplynul, se používá funkce <samp>TimerIf()</samp>.
873 </p>
874  
875 <p>
876 Automatický rozjezd motoru se zahajuje voláním procedury <samp>MotorStart()</samp>, která
877 nastaví příslušné proměnné, které slouží pro řízení rozjezdu. Vlastní řízení rozjezdu se
878 provádí v proceduře <samp>IntT0()</samp>, tedy v obsluze přerušení od časovače T0.
879 Podstatným parametrem rozjezdu je časový interval mezi řazením rychlostních stupňů. Tento
880 parametr se ukládá do globální proměnné <samp>MotorDelay</samp>. Proměnné
881 <samp>MotorGear</samp> a <samp>MotorTime</samp> obsahují aktuální rychlostní stupeň (1 je
882 nejméně) a čas(v ms), který ještě zbývá, než se bude řadit další rychlost.
883 </p>
884  
885 <p>
886 Funkce <samp>ReadAD()</samp> zajišťuje změření napětí na zadaném vstupu AD převodníku.
887 Výstupem je hodnota 8 bitů (0 až 255). Kanál 0 a 1 měří natočení běžce trimru P1 a P2,
888 kanál 4 měří napětí na referenční diodě U2 (v tomto případě se před měřením připojuje
889 napájení na referenční diodu a po ukončení měření se odpojuje).
890 </p>
891  
892 <h3> Hlavní program </h3>
893 <p>
894 Hlavní program sestává z inicializační části, která se provádí jen jednou, poté otestuje
895 stav přepínačů režimu činnosti a podle jejich nastavení spustí jeden ze 4 výkonných
896 algoritmů.
897 </p>
898  
899 <p>
900 Inicializace sestává z těchto činností:
901 </p>
902  
903 <ul>
904 <li>Nastavení rychlosti interního generátoru na 4MHz </li>
905 <li>Nastavení klidové hodnoty na výstupních portech </li>
906 <li>Nastavení <span lang="EN-US">watch dog</span> na 130ms </li>
907 <li>Povolení analogových vstupů na AN0 až AN4, ostatní jsou digitální </li>
908 <li>Inicializace RS232 </li>
909 <li>Pípnutí na piezo element </li>
910 <li>Přečtení stavu přepínače pro volbu režimu činnosti a výpis na LCD </li>
911 <li>Inicializace PWM výstupu (perioda 32us, rozlišení 1us, výstup na 5 bitů) </li>
912 <li>Inicializace časovače T0 (přerušení po cca 1ms) </li>
913 <li>Načtení parametru P2 (časová prodleva mezi stupni řazení při rozjezdu) </li>
914 </ul>
915  
916 <p>
917 Algoritmus optimalizace zátěže slunečních článků pracuje tak, že se přečte z P1 (AD
918 převodníkem na kanálu 1) požadovaná hodnota, která se následně porovnává se skutečnou
919 hodnotou změřeného napětí referenční diody (napětí na referenční diodě je vždy 1,25V ale
920 změřená hodnota odráží skutečnost, že číslu 255 odpovídá plné napájecí napětí procesoru,
921 tedy napětí na slunečních článcích). Pokud je číslo menší, znamená to, že napájecí napětí
922 je větší než požadované a je možno zvýšit výkon měniče. Zvýší se tedy délka PWM impulsu. V
923 opačném případě se délka impulsu snižuje (až na nulu). Maximální hodnota délky PWM impulsu
924 je omezena na 24us, protože při připojení tvrdého napájecího zdroje (například při
925 programování procesoru) by se regulace snažila snížit napájecí napětí na optimálních 2.5 až
926 3V což nejde (nakonec by tranzistor měniče zůstal trvale sepnutý).
927 </p>
928  
929 <h2> Terminál </h2>
930  
931 <p>
932 Program úvodem vypíše verzi na LCD displeji a poté začne přijímat data ze sériové linky.
933 Příjem je zahájen start bitem na INT0 vstupu. Start bit vyvolá přerušení, během kterého je
934 programově přečten 1 znak a vložen do fronty přijatých znaků (až 40 znaků).
935 </p>
936  
937 <p>
938 Hlavní smyčka pouze opakovaně testuje, zda je nějaký znak ve frontě znaků a v případě že
939 jej nalezne, tak jej zpracuje (zobrazí). Program podporuje následující řídící znaky:
940 </p>
941  
942 <ul>
943 <li><samp>0x0C</samp> = <samp>\f</samp> – smazání displeje </li>
944 <li><samp>0x0A</samp> = <samp>\n</samp> – přechod na druhou řádku displeje </li>
945 <li><samp>0x0D</samp> = <samp>\r</samp> – přechod na pozici 1,1 </li>
946 <li><samp>0x08</samp> = <samp>\b</samp> – <span lang="EN-US">back space</span> </li>
947 </ul>
948  
949 </div>
950  
951 <!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
952 <!-- ============== PATIČKA ============== -->
953 <div class="Footer">
954 <script type="text/javascript">
955 <!--
956 SetRelativePath("../../../../");
957 DrawFooter();
958 // -->
959 </script>
960 <noscript>
961 <p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
962 </noscript>
963 </div>
964 <!-- AUTOINCLUDE END -->
965  
966 </body>
967 </html>