Forum Czytelników ■
[2| rozkaz 99 odbierz trzy zmienne (H,M,S) zawierające informacje o aktualnej godzinie. [3] rozkaz 116 podaj czas zegara sterownika. [4| rozkaz 110 prześlij dane przechowywane w pamięci sterownika.
|5] rozkaz 101 - odbierz dane (po 24 zmienne dla każdego kanału) i zapisz je w pamięci EEPROM.
Rysunek 3 obrazuje organizację danych. Poszczególne zmienne reprezentują godziny, natomiast pojedyncze bity - minuty. Np. ustawienie bitu 4. w pierwszej zmiennej będzie oznaczało godzinę „00.40”. Stąd wynika ograniczenie układu 10-minutowy raster. Po uruchomieniu układu dane przechowywane w
24 zmienne typu ‘byte' na jecer kanał
1 |
\2 |
3 |
4 |
6 |
6 |
... |
23 |
24 |
00: |
02: |
03: |
04: |
05: |
... |
22: |
23: | |
1 | ||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 | |
:00 |
: 10 |
:20 |
30 |
40 |
:50 |
Rys. 3
Listing 1
pamięci EEPROM są wpisywane do dwóch tablic. Co minutę jest wywoływana procedura (listing 2), która w zależności od zmiennych „H‘* i „M” (godziny i minuty) odczytuje z tablic odpowiednią zmienną, dekoduje ją i ustawia wyjścia.
Wyjście PB.I oznaczone jako „Status” miało pełnić funkcję informacyjną - ostatecznie pełni tylko rolę sekundnika.
Kondensator C3 okazał się konieczny, ponieważ np. przy podłączaniu sterownika do modułu wykonawczego (i podaniu napięcia na stabilizator IC2) następował reset mikrokontrolera, a co za tym idzie wyzerowanie zegara. Prawdopodobnie zawinił tutaj układ AT90S2313-10PI wykorzystany w prototypie - powinna być to wersja 2313-4, która może pracować przy niższych napięciach zasilania (2,7 - 6V).
Trymetr C8 umożliwia skalibrowanie układu.
Moduł sterownika można zmontować na płytce drukowanej pokazanej na rysunku 4. Montaż jest typowy i nie powinien sprawić
*9V *9V
If Pind.6 - 0 Then Idle EL 35
Znak = Inkey(#2)
If Znak - 99 TT.er Input #2 , H Input #2 , M Input 42 , S Eni If
;i:
[2]
If Znak - 116 Ther.
Print #1 , "h" ; H ; Chr(13)
Print #1 , "n" ; M ; Chr(13)
Print II , "s" ? S ; Chr(13)
End If
If Znak = ICO Then [4J
Stop Timerl For Eetla - 1 To 24 Print łl , "t" ; Tabiicalipetla) Next Pętla
For Eetla • i To 24 Print #1 , "t" i Tablica2 Ipetla) Next Pętla Start Timerl End If
If Znak - 101 Then Step Timerl Inputbin ł2 Ir.putbir. ł2 Start Tineil Cali Ustaw Cali Zapis Erd If End If Lcop
[5]
Tabiical(I) TabLica2(L)
Chr (13’.
Chr(13;
Rys. 4
nikomu trudności. Zaczynamy od elementów najniższych, na końcu lutujemy złącze Zl. Pod mikrokontroler warto zastosować podstawkę.
Układ po zmontowaniu wymaga ewentualnej kalihracji oscylatora oraz wgrania odpowiednich danych, ale te czynności zostały opisane już wcześniej.
Układ musi być wyposażony w jakieś elementy wykonawcze. Jakie? To już zależy od stawianych mu zadań. W modelu zostały wykorzystane przekaźniki wg rysunku 5.
Sterownik został zamontowany w zmodyfikowanej obudow ie Z14. Dokładny opis jej wykonania możesz znaleźć w drugiej części tego artykułu, który został opublikowany w Elportalu.
Arkadiusz Zieliński
Listing 2
Sub Ustaw | ||
H_temp |
- H + 1 | |
Outl |
- |
Tabiical(n temp).0 |
If M |
> |
y Ther. Outl - Tab.ica.(h tenpi.l |
I f M |
> |
19 Then outl « Tabl.caith cemp).2 |
ir m |
> |
29 Then Outl = Tabiical(h temp).3 |
It M |
> |
39 Then Outl - Tabiical(h temp).4 |
lf M |
> |
49 Then Outl - Tabiical (h_temp) . 0 |
Out2 |
Tablica2(h terrp).0 | |
ir m |
9 Then Out.2 - T<łblica2(h temp; . 1 | |
If M |
> |
19 Then Out2 - Tablica2(h temp).2 |
If M |
> |
29 Then Out2 - Tablico2<h temp).3 |
If M |
> |
39 Then Out2 - ToblLca2(h temp).4 |
If M |
> |
49 Then Out2 - TablLcaS(h_tcmp) . 5 |
Portb. 0 |
- Outl | |
Porcb. 5 |
- Out2 | |
End Sub |
Wykaz elementów
F1...................
C1-C3..................
C4.C5..............
C6.C7.................
C8.................
D6...................
RAT1 .....
IC1...................
IC? .................
X1 ...................
71....................
...... 100jF
.......33pF
..... 1N4148
AT9032312-4
......4 MHz
......DB9F
Eleklro'1 ika dla Wszystkich Maj2006 61