programowany_robot.pdf
(
1630 KB
)
Pobierz
KURS
LITEcomp – aplikacje
Programowany robot i inne
aplikacje
Osoby zainteresowane
budową i zastosowaniami
mikrokontrolerów uważnie
przyglądają się nowinkom
technicznym z tej dziedziny.
Na układy ST7FLITE zwróciłem
uwagę dzięki kilku publikacjom
w EP. Są to układy przyzwoicie
wyposażone i dostępne za niską
cenę. Zachęciło mnie to do
zrobienia projektu na jednym
z mikrokontrolerów z tej rodziny.
Początkowo miał to być prosty
sterownik silników krokowych,
sterowanych za pomocą
pilota RC5. Podobną aplikację
miałem częściowo opracowaną
na 89C2051. W miarę
pisania programu i tworzenia
urządzenia projekt przerodził
się w uniwersalną platformę do
różnych zastosowań z dziedziny
sterowania. Prosta konstrukcja
mechaniczna przemieniła
sterownik w „robota”. Łącznie
w programie zaimplementowałem
9 różnych podprogramów
użytkownika.
st7.ep.com.pl
LITEcomp
LITEcomp jest prostym komputerkiem wy-
konanym na mikrokontrolerze ST7FLITE19.
LITEcomp jest w ramach promocji dodawany
bezpłatnie do książki „Mikrokontrolery ST7LITE
w praktyce” (autor Jacek Bogusz). Książka jest
dostępna w
sklep.avt.pl
(numer katalogowy
KS–260905).
prawidłowego zasilenia i wystero-
wania silników elektrycznych. Ze
względu na dużą prostotę, prezen-
towaną aplikację można uruchomić
także na dowolnych innych płytach
ewaluacyjnych z mikrokontrolerami
ST7FLITE19 lub 19B. Ważne jest,
aby mikrokontroler był taktowany
zewnętrznym kwarcem o częstotli-
wości 16 MHz. Pozostałe układy to
zasilacz (IC3, C1, C2 i C3 –
rys. 1
)
dający na wyjściu napięcie stabili-
zowane 5 V. Należy zaznaczyć, że
w układzie nie ma zabezpieczenia
przed podłączeniem odwrotnie spo-
laryzowanego napięcia. Układ jest
zasilany napięciem stałym o warto-
ści 12 V. Zwora ZW i wejście +V
SILN umożliwiają oddzielne pod-
łączenie zasilania silników (rozłą-
Centralnym elementem układu
elektrycznego jest oczywiście mikro-
komputerek LITEcomp. Jego zworki
są skonfigurowane w następujący
sposób:
• podświetlenie LCD wyłączone
– JP4 zwarte piny 1 i 2 (zworka
po stronie napisu LED),
• generator zewnętrzny aktywny
– w JP 7 i 8 zwarte piny 1 i 2
(zworki po stronie napisu OSC),
• zworka sygnału taktującego JP6
po stronie napisu – PB4_OSC
zwarte piny 2 i 3.
Płytka LITEcompa jest „wspoma-
gana” dodatkową płytką z elemen-
tami peryferyjnymi niezbędnymi do
92
Elektronika Praktyczna 10/2007
KURS
czamy zworki ZW i do +V SILN
podłączamy napięcie zachowując
odpowiednią polaryzację). Pomiędzy
przyłączami +V SILN, +V SIL1i2
i +V SIL3i4 powinny być zamon-
towane mostki. Wejścia te umożli-
wiają sterowanie czterech silników
przy wykorzystaniu przekaźnika
do przełączania plusa poszczegól-
nych par. W przypadku tej opcji
wyprowadzenia A, B, A’ i B’ silni-
ków powinny być podłączone po-
przez szeregowo włączone diody,
katodą w kierunku wyjść układów
ULN2003. Układy ULN2003 mają
wbudowanych siedem inwertorów–
buforów prądowych, które załą-
czają obwody o napięciu do 50 V
i prądzie do 0,5 A. Bezpośrednio
z wyjść tych układów można stero-
wać silniki krokowe unipolarne (5,
6 lub 8 przewodów), pobierające
prąd max 0,5 A na bufor. Do ste-
rowania silników bipolarnych i uni-
polarnych pobierających większy
prąd, proponuję zastosować dodat-
kowe układy z tranzystorami mocy
(
rys.
2
lub
3
).
Elementy PIEZO, LED1, R1 i R2
działają jako sygnalizator świetlno–
dźwiękowy. Rezystor R2 powoduje
rozładowanie piezoelementu, dzię-
ki czemu emitowane dźwięki są
głośne. Kiedy na wyjściu PB6 LI-
TEcompa pojawi się stan 1, to za-
świeci się LED, po podaniu serii
impulsów będzie generowany ton
i będzie świeciła dioda LED. Do
złącza IR/ANAL podłączamy wprost
układ TFM5360 (wyjście układu do
PB0) lub podobny, służący do od-
bioru sygnałów w podczerwieni na
36 kHz. Złącza IR/ANAL można
użyć także jako wejścia analogowe-
go. Porty PB1 do PB4 są podłączo-
ne do czterech włączników i złącza
sygnałów zewnętrznych (JP5). Re-
zystory R6 do R9 i diody D1…3
umożliwiają obsługę włączników
w przerwaniu generowanym opada-
jącym zboczem na porcie PB3. Do
złącza wejść zewnętrznych łatwo
można podłączyć np. transopto-
ry lub krańcówki sterujące proce-
sem. Dla wizualizacji stanu portu
PA zmontowałem bezpośrednio na
złączu goldpin układ z ośmiu diod
LED i rezystorów (
rys.
4
). Jest to
układzik bardzo przydatny podczas
pisania i testowania programów.
W kilku programach diody te służą
jako wskaźnik. Obwód przekaźnika
P1 służy do przełączania dużych
prądów.
Rys. 1.
Elektronika Praktyczna 10/2007
93
KURS
Wzór „rozszerzającej” płytki dru-
kowanej, zaprojektowanej za pomocą
Eagle’a, zamieściliśmy na CD–EP10/
2007B. Całość jest zmontowana na
jednostronnej płytce drukowanej.
Gniazda do podłączenia LITEcompa
oraz złącza wejść i wyjść, wykona-
no z dociętych elementów „żeńskiej”
listwy goldpin o rastrze 2,54 mm.
Pod układy ULN zalecane są pod-
stawki. Montaż pozostałych elemen-
tów nie powinien sprawić kłopotu.
Układ TFM 5360 (lub inny podob-
ny) należy odpowiednio przyluto-
wać do czteropinowej męskiej li-
stwy goldpin.
Rys. 2.
Program
Jak wcześniej wspomniałem pro-
gram powstał na bazie asemblero-
wego programu pisanego na rdzeń
’51, dlatego z pomocą kilku makr
ułatwiłem sobie konwersję. Trudniej
było z zapoznaniem się z wewnętrz-
nymi rejestrami ST7 i ich konfigu-
racją. Program starałem się napisać
tak, aby można go było uruchomić
na ST7FLITE19 i 19B oraz 15 i 15B,
ale – niestety – przekroczyłem nie-
znacznie 2 kB kodu. Po usunięciu
1 lub 2 programów z pośród pod-
programów użytkownika aplikacja
powinna właściwie pracować także
na układach 15 i 15B. Kompilacje
były zrobione w środowisku STVD
3.3.2 na procesor ST7FLITE19.
Ustawienia bitów konfiguracji
mikrokontrolera są następujące:
OSC RANGE High Speed resonator
(HS) 8/16MHz
SEC Sector 0 Size=4k
FMP_R Read–out Protection OFF
FMP_W WRITE Protection OFF
PLLx4x8 PLLx8
PLL OFF PLL Disabled
PLL32 OFF PLL32 Disabled
OSC RC oscilator OFF
LVD LVD off
WDG SW Software
Program składa się z kilku pro-
cedur obsługujących przerwania i 9
programów użytkownika (źródło ASM
publikujemy na CD–EP10/2007B).
Przerwanie przepełnienia timera LT
(co 500 ms) obsługuje generowanie
dźwięków, odlicza czas pauz i steruje
silnikami zgodnie z parametrami za-
danymi z innych procedur. Przerwa-
nie EI2 skonfigurowano dla portu B3
(opadające zbocze). Obsługuje ono
klawiaturę. Funkcje poszczególnych
włączników są następujące – W1(+)
Rys. 3.
zwiększa zawartość zmiennej ZK
stopniowo do 255, W2(–) zmniejsza
ZK do 1, W3 restartuje program
(ale to nie jest sprzętowe zerowa-
nie!), W4 służy do wybierania pro-
gramów użytkownika bez pilota. Po
przyciśnięciu W4, liczymy piknięcia
i puszczamy np. 5 piknięć uruchomi
podprogram 5. Funkcje włączników
W1…W4 są stałe dla wszystkich
podprogramów, ale można je zmie-
niać, dokonując zmian w programie
obsługi przerwania EI2. Przerwania
EI3 i przepełnienia timera AT służą
do wykrywania i detekcji kodu RC5.
Po wykryciu opadającego zbocza na
PA0 przerwanie EI3 ustawia timer
AT i wyłącza się. Timer AT odli-
cza odpowiednie przedziały czasowe
(222 ms), zliczając je aż rozpocznie
się transmisja sześciu ostatnich bi-
tów kodu. Wtedy co 888 ms jest ba-
dany stan portu PA0. Analizowanych
jest tylko 6 ostatnich bitów kodu
Na CD–EP10/2007B publikujemy przygotowane
przez autora projektu krótkie filmy pokazujące
robota w trakcie „pracy”.
Rys. 4.
94
Elektronika Praktyczna 10/2007
KURS
Program 3 (dostępne dźwięki)
Procedura, dzięki której pilot
zamienia się w „instrumencik” mu-
zyczny. Kod rozkazu z pilota de-
cyduje o wysokości generowanego
tonu. Można poznać skromne moż-
liwości dźwiękowe układu. Włącz-
nikami W1(+) i W2(–) zmieniamy
czas trwania dźwięku.
RC5, w których jest zawarty kod roz-
kazu dla danego przycisku w pilocie.
Po sprawdzeniu poprawności odbioru
ustawiany jest znacznik
BNOWERC5,
a kod przycisku jest wpisany w
REJ_
ODB_IR
. Te i inne dane wywołują
programy użytkownika i są w nich
wykorzystywane.
Rys. 5.
Program 7 (pojazd sterowany
RC5)
Po wykonaniu prostej konstruk-
cji mechanicznej z dwóch silnicz-
ków krokowych (patrz prezentacja
wideo), sterownik przekształci się
w pojazd zdalnie sterowany. Przyci-
ski 1…9 służą do sterowania pojaz-
du (np. 2–jazda do przodu, 8–tył,
4–lewo, 6–prawo), gdyby pojazd
inaczej reagował, trzeba jeden z sil-
ników podłączyć odwrotnie. Przy-
cisk 5–sygnał, 0–steruje przekaźni-
kiem, głośność + i – zmiana pręd-
kości. Pojazd jest dość powolny,
a prędkość zależy od przełożenia
i możliwości silników. Po przekro-
Działanie i obsługa
podprogramów
Po załączeniu urządzenia może-
my uruchomić jeden z 9 podprogra-
mów. Podprogramy są wyróżnione
w kodzie specjalnie oznaczonymi
strefami. Można je dowolnie mody-
fikować lub usuwać pozostawiając
bez zmian ograniczające je komen-
tarze. W przypadku używania makr
trzeba uwzględnić, że część z nich
zmienia zawartość akumulatora.
Wszystkie dane użyte w programie
są 8–bitowe. Użytkownik ma do
dyspozycji 5 zmiennych – Z1, Z2,
Z3, Z4 oraz ZK (wartość zmiennej
ZK jest zmieniana włącznikami W1
i W2). W razie potrzeby można so-
bie zadeklarować swoje zmienne.
Aby uruchomić dany podprogram,
w pilocie wciskamy przycisk PO-
WER (włącz/wyłącz) i po usłysze-
niu ciągłego tonu wybieramy nu-
mer podprogramu 1 do 9 (program
wywołany przyciskiem 0 restartuje
system). Przyciski
Power
i
Mute
(wł/
wył głośnik) natychmiast wstrzy-
mują wykonywanie podprogramów
(poza barierą na podczerwień – tu
trzeba użyć włącznika W3).
Zaimplementowałem 9 progra-
mów użytkownika:
Program 4 (zamek na kod)
Program realizuje funkcje zamka
elektrycznego. Po podaniu właści-
wej kombinacji cyfr z pilota, załą-
cza się przekaźnik na czas regulo-
wany włącznikami W1(+) i W2(–)
(domyślnie 5 s). Do przekaźnika
można podłączyć np. elektryczny
siłowniczek lub elektromagnes ot-
wierający zaczep. W programie za
etykietą
TABLICA_KODU
są wpisane
dane kodu (w przykładzie jest to 4,
4, 3, 2, 1 dla kodu 1234). Pierw-
sza pozycja w tablicy kodu określa
jego długość, następnie po niej jest
wpisany kod od tyłu. Długość kodu
może wynosić max 255 cyfr. Jeżeli
nie wpiszemy pełnego kodu, to po
10 s usłyszymy sygnał i kod trzeba
wpisać od nowa.
Konstrukcja mechaniczna pojazdu – robota
Przy konstruowaniu pojazdu starałem się
osiągnąć zadowalającą precyzję ruchu przy jak
najprostszej budowie układu mechanicznego.
Precyzję ruchu i dość duży moment obrotowy
kół uzyskałem stosując proste przełożenie
mechaniczne. Najtrudniejsze było znalezienie
dwóch jednakowych silników krokowych (uni-
polarnych) i zestawu zębatek na koła. Części
te pozyskałem ze starych drukarek i magne-
towidu. W modelu zastosowałem dwa silniczki
na napięcie 24 V i oporności uzwojeń 50
V
.
Podstawą konstrukcji są dwa kątowniki, sprze-
dawane w sklepach z art. metalowymi jako
kształtki do łączenia elementów ciesielskich.
Na każdym z kątowników jest symetrycznie
zamontowany silniczek i odpowiednio umiesz-
czona większa zębatka. Całość jest ustawiona
tak, aby zębatka na wale silnika napędzała
dużą zębatkę, do której jest dokręcone
koło. Na koła nałożone są oringi, które
spełniają rolę opon i zapobiegają wpadaniu
kół w poślizg. Dzięki takiej konstrukcji pojazd
może wykonywać bardzo precyzyjne ruchy.
Całość jest skręcona za pomocą kilku śrubek
i perforowanych płaskowników, które są
stosowane do montażu centralnych zamków
w samochodach. Trzeci punkt podparcia
stanowi śruba z zaokrąglonym łebkiem, jest to
najprostsze rozwiązanie (lepsze byłoby małe
kółko wleczone). Ważne jest aby dokładnie sy-
metrycznie ustawić koła. Osie powinny być na
jednej prostej, a płaszczyzny kół równoległe.
Silniki powinny być podłączone tak, aby po-
jazd właściwie reagował na polecenia z pilota
(2–przód, 8–tył, 4–lewo, 6–prawo i 1, 3, 7,
9 – sterowanie poszczególnymi silniczkami
przód – tył). Jeżeli jest inaczej, to należy
odwrotnie podłączyć do płytki złącze któregoś
z silników. Wyprowadzenia sterujące silnikami
są zbudowane tak, że po obróceniu złącza
o 180
o
silnik będzie kręcił się w odwrotną
stronę. Aby pojazd obracał się o zadany kąt,
należy doświadczalnie dobrać wartość stałej
S_FAZ_NA_STOPIEN,
zmieniając wpis w progra-
mie. Pojazd po wykonaniu w programie
LEWO
#180
,
LEWO #180
powinien obrócić się
o 360
o
. Drobnych korekt dokonujemy regulacją
szerokości rozstawu kół.
Program 5 (bariera na
podczerwień)
Dołączając, pomiędzy +V i wyj-
ście A1 złącza SIL1 (bufor portu
PA7), diodę nadawczą podczerwieni
z szeregowo włączonym rezystorem
100 V, otrzymujemy fotoelektryczną
barierę na podczerwień. Po prze-
cięciu wiązki światła zostaje załą-
czony przekaźnik na czas 0,1 s do
25,5 s. Regulacja czasu pracy prze-
kaźnika włącznikami W1(+) i W2(–)
(domyślnie 2 s). Dodatkowo na po-
zostałych bitach portu PA jest wy-
świetlana binarnie liczba przecięć
wiązki światła (modulo 127 – 7 bi-
tów). Dla prawidłowej pracy barie-
ry dioda powinna być umieszczona
w wąskiej czarnej rurce, ograniczają-
cej emisję w jednym kierunku.
Program 1 („Rombip”)
Prosty programik przetwarzający
256 bajtów kodu programu w dźwię-
ki. Włącznikami W1(+) i W2(–)
zmieniamy czas przerwy między
dźwiękami. Ten program można ła-
two przerobić na sterownik „węża
świetlnego”.
Program 2 („pikaj” kod
z pilota)
Jest to bardzo przydatny program,
gdy zapomnimy kod rozkazu RC5 dla
danego przycisku pilota. Po jego wy-
wołaniu wciskamy przycisk w pilocie
i liczymy piknięcia – ich liczba odpo-
wiada kodowi rozkazu tego przycisku.
Dodatkowo po dołączeniu przystaw-
ki z diodami LED do wyjść buforów
ULN, będzie na nich wyświetlany
kod w formie binarnej. Uwaga: dla
przycisku 0 brak piknięć!
Program 6 (zdalny włącznik
RC5)
Jest modelem typowego sterowni-
ka dziewięciu urządzeń za pomocą
pilota. Przyciski 0…7 i 8 zmienia-
ją stany wyjść PA – odpowiednio
bity 0…7 i przekaźnika, generując
przy tym krótkie dźwięki. Uwaga:
przytrzymanie przycisku w pilocie
powoduje cykliczne zmiany na wyj-
ściach. Do wyjść buforów portu PA
można podłączyć przekaźniki.
Elektronika Praktyczna 10/2007
95
KURS
czeniu pewnej prędkości komutacji,
rotor silnika nie „nadąża” za zmia-
nami pola magnetycznego i silnik
zatrzymuje się.
cią pojazdu i parametrem
S_FAZ_NA_
STOPIEN
w programie.
– 1 pół krok w lewo, 4 – 1 półkrok
w prawo, 2 – 10 półkroków w lewo,
5 – 10 półkroków w prawo, 3 – 100
półkroków w lewo, 6 – 100 półkro-
ków w prawo, 8 – stale w lewo, 0 –
stale w prawo, a przycisk 9 uruchamia
specjalny test, po którym prawidłowo
obciążony silnik powinien zakończyć
pracę w pozycji wyjściowej. Przy-
ciski
Głośność +
i
–
powodują
zmianę prędkości. W programie są
przygotowane odpowiednie makra
do zmiany pracy z półkrokowej
na pełnokrokową lub falową, ale
nie zdążyłem ich zastosować.
Programy prezentują małą
część możliwości układu. Wyko-
rzystując złącza rozszerzające JP5
i JP6 płytka może pełnić wiele
innych funkcji (np. prosty ste-
rownik CO lub żaluzji). Osoby,
które zdecydują się zbudować
część mechaniczną, zachęcam do
opracowania sterowania pisakiem
(podnoszenie i opuszczanie). Funk-
cję taką może pełnić elektromag-
nes podłączony w miejsce prze-
kaźnika.
Wiesław Pytlewski
Program 9 (prosty tester
silników krokowych)
Ostatni z programów jest bardzo
potrzebny przy sprawdzaniu i dobiera-
niu silniczków krokowych: przycisk 1
Program 8 (pojazd LOGO)
To najciekawszy moim zdaniem
program. Po umieszczeniu pisaka
w osi obrotu pojazdu i urucho-
mieniu aplikacji, pojazd prze-
kształca się w żółwika znanego
z programów LOGO (przykład
na prezentacji wideo). Dzięki
odpowiednim makrom fragmen-
ty programu sterujące pojazdem
przypominają interpreter języka
LOGO. Przyciski 1…9 urucha-
miają programy
a’la
Logo, przy-
ciski
Głośność +
i
–
powodują
zmianę prędkości. Dla uzyskania
dobrych efektów, trzeba kon-
strukcje mechaniczną pojazdu
wyregulować tak, aby po wyko-
naniu poleceń np.
DOPRZODU
#200
i
WSTECZ #200
pozostała
jedna linia, a po
LEWO #180
i
LEWO #180
pojazd obrócił się
dokładnie o 360
o
. Kąt obrotu na
1 jednostkę regulujemy szerokoś-
R
E
K
L
A
M
A
Zajrzyj na stronę 69 – poznaj szczegóły
96
Elektronika Praktyczna 10/2007
Plik z chomika:
PanCzarli1
Inne pliki z tego folderu:
Transformatory katalog.pdf
(129 KB)
BC 337-25.pdf
(42 KB)
OT Vela 203 1.pdf
(482 KB)
VELA 206.PDF
(8596 KB)
VELA 202.pdf
(280 KB)
Inne foldery tego chomika:
Pliki dostępne do 01.06.2025
Pliki dostępne do 19.01.2025
❎ GRY PC 2 PLIK ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
❎ GRA O TRON (free odcinki)
❎ GRY - Android
Zgłoś jeśli
naruszono regulamin