72 73

background image

Elektronika Praktyczna 6/98

72

M I N I P R O J E K T Y

Mikroprocesorowy generator impulsów

W†praktyce

elektronika-praktyka

czÍsto wystÍpuj¹

sytuacje, kiedy istnieje

potrzeba zastosowania

ürÛd³a impulsÛw

prostok¹tnych,

niekoniecznie

o†wygÛrowanych

parametrach.

Nie kaødego jest

staÊ na zbudowanie

duøego,

wielozakresowego

generatora, a†praktyka

dowodzi, øe do

uruchomieÒ

nieskomplikowanych,
amatorskich uk³adÛw

cyfrowych wystarczy

prosty generatorek. Oto

taka propozycja.

W†czasie projektowania

przyjÍto za³oøenie, øe gene-
rator powinien byÊ prosty,
bardzo ³atwy w†uruchomie-
niu, oraz mieÊ moøliwoúci
odwrotnie proporcjonalne
do wielkoúci zastosowanego
uk³adu scalonego.

Generator powinien spe³-

niaÊ nastÍpuj¹ce funkcje:
- generacja przebiegu prosto-

k¹tnego o†p³ynnie regulo-
wanym wype³nieniu;

- umoøliwiaÊ zmianÍ czÍs-

totliwoúci przebiegu w†moø-
liwie duøym zakresie.

Po krÛtkiej analizie moø-

liwoúci uk³adÛw dostÍpnych
na rynku, na ìserceî urz¹-
dzenia zosta³ wybrany 8-
nÛøkowy mikroprocesorek
PIC12C508.

Schemat elektryczny ge-

neratora pokazano na rys. 1.
Ca³e urz¹dzenie sk³ada siÍ
z†jednego mikroprocesora
PIC12C508, piÍciu przycis-
kÛw oraz stabilizatora zasi-
laj¹cego procesor. Wyjúcie

sygna³u stanowi linia GP0,
pozosta³e piÍÊ linii obs³u-
guje klawiaturÍ. Wykorzys-
tujemy tutaj tryb synchroni-
zacji pracy mikrokontrolera
z†kalibrowanym, wewnÍtr-
znym generatorem zegaro-

Rys. 1.

background image

73

Elektronika Praktyczna 6/98

M I N I P R O J E K T Y

wym RC. CzÍstotliwoúÊ ze-
g a r a j e s t s t a ³ a i † w y n o s i
4MHz. Wybrany tryb pracy
pozwala poprawiÊ moøli-
woúci ìkomunikacyjneî pro-
cesora o†50%! Tyle bowiem
zyskujemy przez dostÍp do
kolejnych dwÛch linii por-
tu: GP5/OSC1 i†GP4/OSC2,
wobec czterech dotychcza-
sowych.

Jak juø widaÊ, ca³a idea

sterowania zosta³a ìzaszytaî
w†programie, ktÛrego frag-
menty pokrÛtce omÛwimy.

Mikrokontroler PIC12C508

nie posiada wbudowanego
generatora PWM, naleøy
wiÍc stworzyÊ go na drodze
programowej. Øeby by³o jesz-
cze trudniej, nie ma on rÛw-
nieø systemu przerwaÒ, na
szczÍúcie posiada timer.

Algorytm dzia³ania gene-

ratora PWM (ang. P u l s e
Width Modulation
- modula-

WYKAZ ELEMENTÓW

Rezystory
R1: 8x4,7k

Kondensatory
C1, C3, C4: 100nF
C2: 100

µ

F/25V

Półprzewodniki
IC1: PIC12C508 −
zaprogramowany
IC2: LM78L05 lub podobny
Różne
JP1, JP2: złącza ARK2
SW1, SW2, SW3, SW4, SW5:
mikrowłączniki

Kompletny uk³ad i p³ytki druko-
wane s¹ dostÍpne w†AVT pod
oznaczeniem AVT-1185.

cja szerokoúci impulsu) jest
we wszystkich rozwi¹za-
niach z†grubsza ten sam, ale
istniej¹ dwie szko³y jego wy-
konania. Wed³ug pierwszej
z†nich czas dla stanu wyso-
kiego i†niskiego jest odlicza-
ny niezaleønie od siebie.
Wed³ug drugiej szko³y nie-
zaleønymi wielkoúciami jest
okres i†jeden ze stanÛw prze-
biegu. W†naszym rozwi¹za-
niu przyjmiemy wariant dru-
gi, tzn. bÍdziemy zmieniaÊ
okres i†czas trwania stanu
wysokiego.

W p r o w a d z a m y z a t e m

dwie zmienne, ktÛre bÍd¹
odliczaÊ umowny czas trwa-
nia okresu i†stanu wysokie-
go, nazywaj¹c je odpowied-
nio W00 i†cycle. Algorytm
dzia³ania tak zaprojektowa-
nego generatora PWM poka-
zano na rys. 2. Przed we-
júciem w†nieskoÒczon¹ pÍt-
lÍ generacji ci¹gu zer i†jedy-
nek ustawiane s¹ parametry
pocz¹tkowe generatora, czy-
li zmienna cycle zostanie
wyzerowana, a†W00 przy-
jmie wartoúÊ zmiennej W01,
ktÛra okreúla wielkoúÊ wy-
pe³nienia przebiegu. Mody-
fikuj¹c zawartoúÊ zmiennej
W01 okreúlamy czas trwania
stanu wysokiego. Zmienna
cycle, jako 8-bitowa i†nie
modyfikowana, wyznacza
sta³y okres trwania przebie-
gu.

Jak wspomniano wczeú-

niej, uøytkownik generatora
powinien mieÊ wp³yw na
czÍstotliwoúÊ generowanego
przebiegu. Wykorzystuj¹c
wewnÍtrzny timer mikro-
kontrolera moøemy spowo-
dowaÊ spowolnienie odli-
czania czasu przez W00
i†cycle. Czas odliczany przez
timer TMR0 teø uzaleønimy
od zmiennej, powiedzmy
o † n a z w i e

O p o z T M R 0 .

W†zmiennej OpozTMR0 jest
przechowywana wartoúÊ, ja-
ka bÍdzie zawsze wpisana
do zmiennej TMR0 (adres fi-
zyczny 01h) przed odlicze-
niem opÛünienia. Tak¹ mo-
dyfikacjÍ podstawowego al-
gorytmu przedstawiono na
rys. 3. Od tej pory mamy
wiÍc moøliwoúÊ sterowania
w y p e ³ n i e n i e m p r z e b i e g u
p r o s t o k ¹ t n e g o o r a z j e g o
czÍstotliwoúci¹.

Na list. 1 przedstawiono

program, jaki zosta³ uøyty
do zaprogramowania mikro-
kontrolera PIC12C508. Pod-
czas analizy programu moø-
na dojúÊ do wniosku, øe
uøyto nieznanych rozkazÛw

Listing 1.

main:

clrwdt
movff

tmr0,OpozTmr0

main2:

movf

tmr0,w

skpz
goto

main2

decfsz

w00,f

goto

main1

bcf

gp0

main1:

decfsz

cycle,f

goto

main

bsf

gp0

movff

w00,w01

btfss

KlSzybciej

call

Szybciej

btfss

KlWolniej

call

Wolniej

btfss

KlMaleWypel

call

MaleWypel

btfss

KlDuzeWypel

call

DuzeWypel

btfss

KlPolWypel

call

PolWypel

goto

main

Rys. 3.

Rys. 4.

m i k r o k o n t r o l e r a : m o v l f ,
movff i†skpz. Movlf i†movff
s¹ makrorozkazami przypi-
sania zmiennej odpowied-
nio wartoúci litera³u i†war-
toúci innej zmiennej, zaú
s k p z j e s t w a r u n k o w y m
makrorozkazem skoku ze
w z g l Í d u n a u s t a w i e n i e
wskaünika Z. Rozkazy te zo-
stan¹ omÛwione w†artyku-
l e , k t Û r y o p u b l i k u j e m y
w†EP7/98.

Aby umoøliwiÊ zmiany

wartoúci

zmiennych

OpozTmr0 i†W01, zastoso-
wano piÍÊ przyciskÛw re-
gulacyjnych, bezpoúrednio
p o ³ ¹ c z o n y c h z † w e j ú c i a m i
mikrokontrolera, a†w†pro-
gramie do nich przypisano
zmienne Klxxxxxx. Po za-
koÒczeniu kaødego cyklu
przebiegu badany jest stan
przyciskÛw SW1..SW5. Jeú-
li ktÛrekolwiek z†wejúÊ wy-
kaøe stan niski, a†to ozna-
cza naciúniÍcie odpowiada-
j¹cego mu przycisku SWx,
zostanie wywo³any odpo-
wiedni podprogram mody-
fikuj¹cy wartoúci w†zmien-
n y c h O p o z T m r 0 i † W 0 1 .
PrzyjÍto nastÍpuj¹ce zna-
c z e n i e p o s z c z e g Û l n y c h
przyciskÛw:
SW1 - ìSZYBCIEJî - wzrost

czÍstotliwoúci generowane-
go przebiegu.

SW2 - ìWOLNIEJî - czÍstot-

liwoúÊ generowanego prze-
biegu coraz mniejsza.

SW3 - ìMA£E WYPE£NIE-

NIEî - wype³nie-
nie stanem wy-
sokim maleje.

SW4 - ìDUØE WY-

PE£NIENIEî - wy-
pe³nienie stanem
wysokim roúnie.

SW5 - ì50%î -

wype³nienie wy-
nosi 50%.

Na rys. 4†jest

pokazana p³ytka

drukowana i†rozmieszczenie
podzespo³Ûw. Montaø urz¹-
dzenia jest banalny, nie bÍ-
dziemy go wiÍc szczegÛ³owo
omawiaÊ.

U r u c h o m i e n i e u k ³ a d u

n i e p o w i n n o n a s t r Í c z a Ê
wiekszych problemÛw. Po-
t r z e b n y b Í d z i e z a s i l a c z
10..16V oraz oscyloskop al-
bo jakikolwiek licznik im-
pulsÛw. Najpierw sprawdza-
my, czy lokalny zasilacz
p³ytki pracuje poprawnie.
Naleøy to zrobiÊ przed w³o-
øeniem procesora w†p³ytkÍ.
Wystarczy pomiÍdzy nÛøka-
mi 1†i†8†podstawki proceso-
ra zmierzyÊ napiÍcie, ktÛre
musi wynosiÊ 5V ±0,2V. Po
w³oøeniu mikrokontrolera
i†w³¹czeniu zasilania, na
ekranie oscyloskopu do³¹-
czonego do wyjúcia uk³adu
powinien pojawiÊ siÍ obraz
przebiegu prostok¹tnego.
R e g u l u j ¹ c o d p o w i e d n i m i
przyciskami SWx moøemy
dowiedzieÊ siÍ o†moøliwoú-
ciach generatorka przebiegu
prostok¹tnego. Za pomoc¹
licznika impulsÛw moøna
sprawdziÊ jedynie czÍstotli-
woúÊ generacji.
Mirosław Lach, AVT
mlach@polbox.com

Plik PWM.ASM jest do-

stÍpny w†Internecie pod ad-
resem: www.avt.com.pl/avt/
ep/ftp

Rys. 2.


Wyszukiwarka

Podobne podstrony:
71 72 73
72, 73
10 1995 72 73
cfps 72 73
72 73
page 72 73
72 73
72 i 73, Uczelnia, Administracja publiczna, Jan Boć 'Administracja publiczna'
72 73
72 73
72 73
72 73 407 pol ed02 2005
72 73
72 73
page 72 73
72 73 bipper pol ed01 2009
McBurney mysleć jak psycholog 2002 str 27 39, 72 73, 80 97
72, 73

więcej podobnych podstron