<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> CT01B </title>
<meta name="keywords" content="stavebnice MLAB CT01B tester slunečních článků automatické měření">
<meta name="description" content="Projekt MLAB, CT01B tester slunečních článků">
<!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE -->
<link rel="StyleSheet" href="../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl">
<link rel="StyleSheet" href="../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
<link rel="shortcut icon" type="image/x-icon" href="../../../../Web/PIC/MLAB.ico">
<script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script>
<!-- AUTOINCLUDE END -->
</head>
<body lang="cs">
<!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE -->
<!-- ============== HLAVICKA ============== -->
<div class="Header">
<script type="text/javascript">
<!--
SetRelativePath("../../../../");
DrawHeader();
// -->
</script>
<noscript>
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
<!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE -->
<!-- ============== MENU ============== -->
<div class="Menu">
<script type="text/javascript">
<!--
SetRelativePath("../../../../");
DrawMenu();
// -->
</script>
<noscript>
<p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
<!-- ============== TEXT ============== -->
<div class="Text">
<p class="Title">
Tester slunečních článků
</p>
<p class=Autor>
Milan Horkel
</p>
<p class="Subtitle">
Zařízení CT01B slouží k testování a měření slunečních článků a
baterií sestavených ze slunečních článků. Umožňuje průběžné zobrazení
optimálního zatěžovacího bodu (napětí, proud a výkon při optimální zátěži)
a změření zatěžovací charakteristiky a její odeslání do počítače PC.
Zařízení vzniklo pro měření slunečních článků používaných pro roboty
poháněné světlem.
</p>
<p class="Subtitle">
<img width=324 height=304 src="Pictures/image001.jpg"
alt="Obrázek CT01B">
</p>
<p>
<a href="../CT01B.cs.pdf"><img class="NoBorder"
src="../../../../Web/PIC/FileIco_PDF.ico"
alt="Acrobat"> PDF verze</a>
</p>
<h1> Technické údaje </h1>
<table>
<tr>
<th> Parametr </th>
<th> Hodnota </th>
<th> Poznámka </th>
</tr>
<tr>
<td> Napájení </td>
<td> 9 až 12V </td>
<td> </td>
</tr>
<tr>
<td> Spotřeba </td>
<td> max. 265mA </td>
<td> Na prázdno do cca 15mA </td>
</tr>
<tr>
<td> Rozsah měření proudu </td>
<td> 0 až 250mA </td>
<td> S krokem 1mA </td>
</tr>
<tr>
<td> Rozsah měření napětí </td>
<td> -0,2 až +4,4V </td>
<td> </td>
</tr>
<tr>
<td> Rozhraní </td>
<td> RS232 </td>
<td> Jen RX/TX bez potvrzování </td>
</tr>
<tr>
<td> Rozměry </td>
<td> 91 x 91 x 20mm </td>
<td> Výška nad nosnou deskou </td>
</tr>
</table>
<h1> Popis konstrukce </h1>
<h2> Úvodem </h2>
<p>
Uvedený modul vznikl z potřeby detailního prozkoumání vlastností
slunečních článků používaných pro solární vozítka. Cílem vývoje bylo
získat možnost rychlého a automatického měření zatěžovacích charakteristik
slunečních článků tak, aby se měření dalo stihnout dříve, než se články
ohřejí od lampy. Měří se závislost napětí na zatěžovacím proudu, který
se automaticky mění v rozsahu 0 až 250mA s krokem 1mA.
Měření se končí při dosažení nulového nebo záporného napětí na svorkách
slunečního článku. Naměřené hodnoty se automaticky odesílají po lince
RS232 do počítače PC.
</p>
<p>
Vzhledem k tomu, že zařízení obsahuje mikroprocesor, nebylo již
obtížné doplnit jej o algoritmus automatického průběžného hledání
optimální zátěže a zobrazování optimálního napětí, proudu i výkonu
na LCD displeji.
</p>
<h2> Zapojení modulu </h2>
<h3> Číslicová část </h3>
<p>
Základem zapojení je mikroprocesor PIC16F88, který obsahuje analogově
digitální (AD) převodník a obvod pro pulsně šířkovou modulaci (PWM).
AD převodník používáme k měření napětí na slunečních článcích.
Obvod PWM používáme jako digitálně analogový (DA) převodník pro
nastavování požadovaného zatěžovacího proudu.
</p>
<p>
Procesor běží z vnitřního oscilátoru, není tedy třeba připojovat
krystal. Reset je vyveden na tlačítko. Dále je připojen programovací
konektor. Funkční tlačítko F1 je připojeno na vstup B4 a standardní
dvouřádkový LCD displej je připojen obvyklým způsobem.
</p>
<p>
Pro komunikaci s PC se používá běžný převodník úrovní pro RS232
MAX232. Sériový kanál je připojen na vývody procesoru, které mají HW
podporu sériové komunikace.
</p>
<p>
Napájení zajišťuje stabilizátor s obvodem 7805. Spotřeba naprázdno
je cca 15mA (při připojeném PC). Spotřeba se zvětšuje o proud, který
teče slunečními články a může tak dosáhnout maximálně až 265mA.
</p>
<p>
<img width=473 height=122 src="Pictures/image002.gif"
alt="Napájecí zdroj">
</p>
<p>
<img width=513 height=420 src="Pictures/image003.gif"
alt="Procesor">
</p>
<p>
<img width=358 height=203 src="Pictures/image004.gif"
alt="Display">
<img width=323 height=312 src="Pictures/image005.gif"
alt="Převodník RS232">
</p>
<table class="Soupiska">
<tr>
<th> Reference </th>
<th> Hodnota </th>
<tr>
<th colspan="2"> Odpory </th>
</tr>
<tr>
<td> R6 </td>
<td> 1 </td>
</tr>
<tr>
<td> R14, R18 </td>
<td> 100 </td>
</tr>
<tr>
<td> R5, R11, R13, R15 </td>
<td> 1k </td>
</tr>
<tr>
<td> R10 </td>
<td> 1k2 </td>
</tr>
<tr>
<td> R2, R3, R7, R8, R9, R12, R17 </td>
<td> 10k </td>
</tr>
<tr>
<td> R16 </td>
<td> 47k </td>
</tr>
<tr>
<td> R1 </td>
<td> 180k </td>
</tr>
<tr>
<td> R4, R19, R20 </td>
<td> 220k </td>
</tr>
<tr>
<th colspan="2"> Odporové trimry </th>
</tr>
<tr>
<td> P1, P2, P3 </td>
<td> 47k/PT10MVK047 </td>
</tr>
<tr>
<th colspan="2"> Keramické kondenzátory </th>
</tr>
<tr>
<td> C6 </td>
<td> 10nF </td>
</tr>
<tr>
<td> C2, C3, C4, C5, C7, C8, C9, C10, C12, C13, C14,
C15, C16, C17, C18, C19, C20 </td>
<td> 100nF </td>
</tr>
<tr>
<th colspan="2"> Elektrolytické kondenzátory </th>
</tr>
<tr>
<td> C1 </td>
<td> 100M/16V </td>
</tr>
<tr>
<td> C11, C21 </td>
<td> 22uF/6.3V </td>
</tr>
<tr>
<th colspan="2"> Diody </th>
</tr>
<tr>
<td> D1 </td>
<td> 1N4007 </td>
</tr>
<tr>
<td> D2 </td>
<td> BZX85_5V6 </td>
</tr>
<tr>
<th colspan="2"> Tranzistory </th>
</tr>
<tr>
<td> Q1 </td>
<td> MOS-N-ENH-D </td>
</tr>
<tr>
<td> Q2 </td>
<td> BD136 </td>
</tr>
<tr>
<th colspan="2"> Integrované obvody </th>
</tr>
<tr>
<td> U1 </td>
<td> LM7805T </td>
</tr>
<tr>
<td> U2 </td>
<td> TLC272C </td>
</tr>
<tr>
<td> U3 </td>
<td> PIC16F88/P </td>
</tr>
<tr>
<td> U4 </td>
<td> SC1602A </td>
</tr>
<tr>
<td> U5 </td>
<td> MAX232 </td>
</tr>
<tr>
<th colspan="2"> Mechanické součástky </th>
</tr>
<tr>
<td> SW1, SW2 </td>
<td> P-B1720 </td>
</tr>
<tr>
<td> J1 </td>
<td> K375A </td>
</tr>
<tr>
<td> J2 </td>
<td> JUMP4 </td>
</tr>
<tr>
<td> J3 </td>
<td> JUMP2X1 </td>
</tr>
<tr>
<td> J4 </td>
<td> JUMP3 </td>
</tr>
<tr>
<td> J5 </td>
<td> PIC_ISP </td>
</tr>
<tr>
<td> J6 </td>
<td> RS232DB9M </td>
</tr>
</table>
<p>
<img width=330 height=888 src="Pictures/image006.gif"
alt="Schema">
</p>
<h3> Analogová část </h3>
<p>
Analogová část obvodu se skládá ze dvou obvodů. Prvním z nich
je zdroj proudu s tranzistorem Q1 a druhým je pak zdroj
pomocného napětí 0.5V s tranzistorem Q2.
</p>
<h4> Řízený zdroj proudu </h4>
<p>
Zdroj proudu je tvořen operačním zesilovačem (OZ) U2A, tranzistorem Q1
a snímacím odporem R6. OZ řídí tranzistor Q1 tak, aby úbytek na
R6 byl shodný jako napětí na jeho neinvertujícím vstupu. Pro maximální
proud 250mA je úbytek na R6 250mV. Při maximálním proudu je tedy
na kladné svorce J3.1 minimálně něco přes 250mV (rezerva na Q1).
Aby se dalo měřit až k nulovému napětí na článcích musí být
záporná svorka J3.2 udržována minimálně na tomto napětí.
Zvolené napětí záporné svorky je 0.5V.
</p>
<p>
Řídící napětí pro zdroj proudu se získává z PWM (pulsně šířková
modulace) výstupu procesoru U3.9. Toto pulsní napětí je jednak sníženo
na asi 1/20 velikosti (z rozsahu 0 až 5V na rozsah 0 až 250mV) odporovým
děličem R1, P1, R2 a filtrováno kondenzátorem C5 tak, aby vzniklo
stejnosměrné řídí napětí pro řízení proudového zdroje.
</p>
<p>
Protože reálný OZ má obecně nenulový ofset vstupního napětí (i několik
mV předem neznámé polarity) je do neinvertujícího vstupu OZ injektován
chybový proud tak, aby při nastavení PWM výstupu procesoru na
hodnotu 5 (5 z 255) bylo možno nastavit nulový proud.
Nastavení nuly se provádí pomocí P2 při kalibraci.
</p>
<p>
Jako tranzistor Q1 se hodí libovolný NFET tranzistor, který má prahové
napětí do 2V. Takové tranzistory se dají získat například ze starých
mainboardů počítačů PC.
</p>
<h4> Pomocný zdroj napětí 0.5V</h4>
<p>
Druhou částí je zdroj pomocného napětí 0.5V, který umožňuje měřit
napětí na článcích až k nulové hodnotě (i kousek pod nulu). Dělič
R9, R10 definuje velikost napětí (1/10 napájecího), OZ U2B řídí pak
tranzistor Q2 tak, aby na svorce J4.1 bylo shodné napětí. Nevýhodou
je, že stejný proud, jaký teče slunečními články musí téct i přes Q2
z napájecího zdroje (tedy až 250mA).
</p>
<p>
Pro úsporné měření (pokud nás nezajímají hodnoty při napětí na slunečních
článcích menším než asi 0.5V) můžeme přepnout spojku J4.1-J4.2 do
úsporné polohy J4.2-J4.3. Pak je spotřeba celého přípravku 10 až 15mA.
</p>
<p>
Pokud jsou sluneční články nasvíceny elektrickým světlem (z žárovek)
je nutné filtrovat střídavou složku generovaného proudu. Prvotní
filtraci zajišťuje kondenzátor C21 přímo na měřících svorkách.
Další filtraci zajišťují RC články na vstupu AD převodníku R19, C20
a R20, C19.
</p>
<h2> Mechanická konstrukce </h2>
<p>
Přípravek je mechanicky řešen jako samostatná deska s rohovými
šrouby M3 pro uchycení. LCD displej je přichycen šrouby M2.5.
</p>
<h1> Osazení a oživení </h1>
<h2> Osazení </h2>
<p>
<img width=451 height=420 src="Pictures/image007.jpg"
alt="Osazovák, strana součástí">
<img width=414 height=213 src="Pictures/image008.jpg"
alt="Osazovák, strana spojů">
</p>
<h2> Oživení </h2>
<p>
Nejprve se kontroluje, zda stabilizátor U1 stabilizuje 5V. Spotřeba
by neměla přesáhnout 20mA. Pro kalibraci budeme potřebovat znát přesnou
velikost napětí +5V. Toto napětí se nejsnáze měří na výstupní svorce
stabilizátoru U1.
</p>
<p>
Po vložení procesoru a jeho naprogramování by měl začít LCD displej
vypisovat. Je třeba nastavit kontrast pomocí trimru P3.
</p>
<p>
Po připojení terminálu na sériové rozhraní (používáme null-modem kabel
a nastavení 9600Bd, 8bitů, 1stop bit a žádné řízení přenosu) by mělo
být možné pracovat v režimu kalibrace. Do režimu kalibrace se
vstupuje pokud se drží stisknuté tlačítko F1 při zapínání přípravku.
</p>
<p>
Vložíme operační zesilovač U2 a zkontrolujeme, zda zdroj proudu pracuje
správně. Připojíme laboratorní zdroj zápornou svorkou na zem
(propojka J4.2-J4.3) a kladnou svorku připojíme přes ampérmetr
na kladnou svorku přípravku J3.1. Nastavíme napětí mezi 0.5V a 5V
a v režimu kalibrace nastavujeme střídu PWM modulace.
Měřidlo by mělo ukazovat proud úměrný nastavenému číslu. Je vhodné
zkontrolovat, že se proud nemění při změně napětí v rozmezí
0.5V až 5V.
</p>
<p>
Dále zkontrolujeme, zda napětí na J4.1 („záporná svorka“) je cca 0.5V.
Na přesné hodnotě nezáleží. Přepojíme propojku J4.1-J4.2 a na měřící
svorky J3 zapojíme samotný ampérmetr. Při nastavení různých hodnot
PWM se nesmí napětí záporné svorky J3.2 měnit.
</p>
<h2> Kalibrace </h2>
<p>
Kalibrace se provádí v režimu kalibrace. Připojíme přes null-modem
kabel zařízení s počítačem PC a spustíme terminálový program
s nastavením komunikace 9600Bd, 8bitů, 1stop bit bez řízení toku dat.
Dále stiskneme tlačítko F1 a zapneme zařízení. Na terminálu by se mělo
objevit hlášení o kalibračním režimu.
</p>
<p>
Nejprve nastavíme správnou hodnotu referenčního napětí takto
(příklad uvádí nastavení 4.93V):
</p>
<p class="ShiftRight">
<samp>V4.93</samp>
</p>
<p>
Dále nastavíme ofset a zesílení proudového zdroje. Připojíme ampérmetr
na měřící svorky a propojku J4 do polohy 1-2. Proudový zdroj nastavujeme
tak, aby při hodnotě 5 proud právě netekl, při hodnotě 6 měl velikost
1mA a při hodnotě 204 měl velikost 199mA (voleno s ohledem na
rozsah digitálních měřidel 200mA).
</p>
<p class="ShiftRight">
<samp>5</samp>
</p>
<p>
A nastavíme pomocí trimru P2 nulový proud na ampérmetru připojeném
k měřícím svorkám.
</p>
<p class="ShiftRight">
<samp>204</samp>
</p>
<p>
A trimrem P1 nastavíme proud 199mA.
</p>
<p class="ShiftRight">
<samp>6</samp>
</p>
<p>
A zkontrolujeme proud 1mA. Celou posloupnost několikrát zopakujem
a ověříme, že se správně nastavuje měřený proud.
</p>
<p>
Zařízení současně při každém odřádkování vypisuje změřenou hodnotu
napětí na měřících svorkách.
</p>
<p>
Nakonec režim kalibrace ukončíme (dojde k uložení referenčního
napětí do paměti EEPROM):
</p>
<p class="ShiftRight">
<samp>Q</samp>
</p>
<h1> Programové vybavení </h1>
<h2> Uživatelský návod </h2>
<p>
Po zapnutí zařízení krátce zobrazí název a verzi programového vybavení
a pokud není stlačeno tlačítko F1 dojde k přechodu do automatického
režimu hledání optimální zátěže. Zařízení opakovaně prohledává závislost
napětí na proudu a průběžně zobrazuje napětí, proud a výkon při
optimální zátěži. Měření probíhá v rozsahu proud 0 až 250mA
při napětí 0 až 4.5V.
</p>
<p>
Pokud se stlačí tlačítko F1 provede se automatické změření celé V-A
charakteristiky slunečního článku a naměřené hodnoty se posílají na
RS232. Měření se provádí pro rostoucí proud v rozsahu 0 až 250mA
ale jen pro nezáporné hodnoty napětí.
</p>
<p>
Do režimu kalibrace se vstupuje pokud je tlačítko F1 stlačeno
v době zapínání zařízení. Pak se se zařízením komunikuje pomocí
terminálu na portu RS232. Viz kalibrace.
</p>
<h2> Popis programu </h2>
<p>
Program je prost záludností a nevyžaduje dalších komentářů.
Zdrojové texty jsou bohatě komentovány.
</p>
<h2> Interface </h2>
<p>
Takto vypadají přenesené hodnoty automatického měření V-A charakteristiky:
</p>
<p class="ShiftRight">
<samp>
Solar Cell<br>
Tester 1.00<br>
<br>
I[mA] U[V] P[mW]<br>
000 2.49 0.0<br>
001 2.41 2.4<br>
002 2.30 4.6<br>
003 2.18 6.5<br>
004 2.03 8.1<br>
005 1.80 9.0<br>
006 1.20 7.2<br>
007 0.36 2.5
</samp>
</p>
</div>
<!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE -->
<!-- ============== PATIČKA ============== -->
<div class="Footer">
<script type="text/javascript">
<!--
SetRelativePath("../../../../");
DrawFooter();
// -->
</script>
<noscript>
<p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
</body>
</html>