You are on page 1of 35

Kontrola brzine motora

U ovom projektu, mikrokontroler e se koristiti kao kontroler za kontrolu DC motor brzina eljenu
brzinu.Blok dijagram sustava prikazan je na slici 3.1. To je zatvorene petlje u stvarnom vremenu
sustavom kontrole.

Figure 3.1 Block diagram of DC motor speed control system

Stvarne brzine DC motora e se mjeriti po koder i povratne informacije za mikrokontroler. U


mikrokontrolera, to e izraunati pogreku izmeu eljenu brzinu sa stvarnim brzine.Pogreke
e odrediti dunost ciklus pulsnoirinska modulacija (PWM) u mikrokontroler. Zatim, ciklus
dunost e poslati DC motor upravljaki bilo ubrzavanje ili usporavanje istosmjernog motora
za njegovo odravanje na eljenu brzinu.
Slika 3.2 prikazuje sliku projekta. Projekt se dijeli na dva dijela koji su softver i hardver
provedbe. Svaki dio projekta e se raspravljati u sljedeem odjeljku.
3.2 Hardware Implementation

Ovo poglavlje e razmotriti o komponentama koje su ukljuene koristiti DC motor, optiki koder,
napajanja 5V, mikrokontroler PIC 16F877A, pulsnoirinska modulacija (PWM) i RS232 serijski
komunikaciju mikrokontrolera, DC motor disk i optereenja jedinica LU150L

Figure 3.3 shows the DC motor that will be used in this project. It is a permanent magnet 24V
DC motor. The specification of this motor is shown in Table
In this project, an optical encoder will be used to measure the DC motor speed. The
fundamental reason for the superiority of this system is that the optical encoder used as the
velocity sensor, is capable of much better performance than the generator type of tachometer
(by using back EMF that discussed in section 2.2.1). When the optical disc is properly
mounted on the motor shaft, it generates a frequency directly proportional to motor speed.
Changes in gap, temperature, and
U ovom projektu, optiki koder e se koristiti za mjerenje brzine DC motora.Temeljni razlog za
superiornost ovog sustava je da optiki koder koristi kao brzinu senzora, moe puno bolje
performanse u odnosu na generator tipa brzinomjer (pomou lea EMF da govori u odjeljku 2.2.1).
Kada optiki disk ispravno montiran na osovinu motora, on generira frekvenciju izravno
proporcionalna brzine motora. Promjene u jaz, tempe
magnet snaga jednostavno nemaju utjecaja na izlaz optiki tahometar. Nasuprot tome, analogni
brzinomjer izravno utjee sve gore navedene probleme.
Dava na tritu je vrlo skupo. U cilju smanjenja trokova projekta, optiki koder je izgraen. Slika
3.4a i slika 3.4b pokazuje osnovnoj konfiguraciji i shematski od optikih davaa u akciji, odnosno [7].

Brzina tonost preko djeliu revolucije ovisi o kvaliteti optiki koder.DC motor je optiki disk (izradio
kartona) montiran na osovinu.Disk ima N radijalni linije na njegovoj povrini. U ovom projektu, uinit
emo etiri mjesta na disku (N = 4). To e dati rjeenje od 1 / 4 u jednom rotacije.LED (dioda koja
emitira svjetlo), kao odailja je staviti na jednu stranu diska i fotodioda, kao i prijemnik je fiksna na
drugoj strani diska. Chip OPT 101 je odabrana kao fotodioda u ovom projektu.

Da biste bili sigurni izlazni valni oblik u digitalni signal (High / Low), koji je itati mikrokontrolerom,
Chip LM324 se koristi kao komparator. Kada Vout od fotodioda je manje od Vref, izlaz LM324 e biti
0V (Low) i kad Vout je vei od Vref, izlaz LM-324 e biti 5V (High).Obrazac izlazni signal LM324 ima
frekvenciju koja daje Jednadba 2,3. Zatim, izlazni signal e biti poslana na mikrokontroler kao prikaz
stvarne brzine.
Figure 3.4 Optical encoder (a) Basic configuration (b)Schematic circuit
(c)Picture
3.2.3 Power Supply +5V

Most digital logic circuits and processors need a +5 volt power supply. To use these
parts we need to build a regulated +5 volt source. Usually we start with an unregulated power
supply ranging from 9 volts to 24 volts DC.
To make a +5 volt power supply, we use a LM7805 voltage regulator IC (Integrated
Circuit). The IC is shown below.

Sometimes the input supply line may be noisy. To help smooth out this noise and get a
better 5 volt output, capacitors is usually added to the circuit.
3.2.4 Microcontroller PIC 16F877A

Mikrokontroler djeluje kao mozak brzine DC motora sustav kontrole.Mikrokontroler ipu koji
je odabran u svrhu kontrole brzine DC motora PIC16F877A je proizveden od strane
Microchip. Ovaj ip je odabran na temelju vie razloga [8]:

I. Njegova veliina je mala i opremljena dovoljno izlazne portove bez uporabe dekodera ili
multipleksor.
ii. Njegova prenosivosti i niske struje.
iii. To je PWM ip unutar same koji nam omoguuju da se razlikuju radni ciklus DC motorni
pogon.
iv. To je vrlo jednostavan, ali moan mikrokontrolera. Korisnici bi samo trebate nauiti 35
jednu rije uputa kako bi se programu ip.
V. To se moe programirati i reprogramirati lako (do 10.000.000 ciklusa) koristei univerzalni
programer u robotici laboratoriju.

Pogledajte Tablica 3.2 za pin prikljuak PIC16F877A u DC motor brzine sustav kontrole. Pinove koje
nisu navedene u tablici se ne koriste i objeen. Slika 3.7 prikazuje shematski krug mikrokontrolera
PIC16F877A. Na poetku, mikrokontroler e dobiti eljenu brzinu od raunala preko serijskog
porta.Otkrivena broja okretaja motora od optikih enkoder e povratne informacije mikrokontrolera
kroz RA0 od PIC16F877A.Mikrokontroler e raditi kao to je programirana (pojedinosti programa u
dijelu 3.3.1) za proizvodnju novog radnog ciklusa (od CCP2) koji proporcionalna pogreka brzine.
Dakle, u prosjeku napon iz DC motorni pogon mogu se mijenjati kako bi se odrala brzina eljenu
vrijednost.
3.2.4.1 Pulse-Width-Modulation (PWM) in Microcontroller

The Pulse-Width-Modulation (PWM) in microcontroller is used to control duty cycle of DC


motor drive.
Pulsnoirinska modulacija (PWM) u mikrokontroleru se koristi za kontrolu radni ciklus DC motorni
pogon.

PWM je posve drugaiji pristup kontrolu brzine DC motora. Snaga se isporuuje na motor u
kvadratnim valom konstantnog napona, ali razliite irine impulsa ili radnog ciklusa. Radni
ciklus se odnosi na postotak jednog ciklusa tijekom koje radni ciklus kontinuiranog vlak
impulsa. Budui da je frekvencija se odrava konstantna, a na off vrijeme je raznolik, radni
ciklus PWM odreuje irina pulsa. Tako mo poveava radni ciklus u PWM.
izraavanje radnog ciklusa je odreena,

Uglavnom, brzina DC motor je funkcija ulazne snage i pogon karakteristike. Iako je podruje
pod irina ulaznih impulsa vlak je mjera prosjene snage na raspolaganju od takvih ulaz.
3.2.4.2 RS232 Serial Communication

SCI je kratica za serijskog komunikacijskog suelja, a kao poseban podsustav


mikrokontrolera PIC16F877A. Ona prua RS232 serijski komunikaciju s raunalom lako.
Slika 3,8 NRZ (Non Povratak na nula) format podataka

Kao i kod hardvera komunikacije, mi koristimo standardne NRZ (Non Povratak na nula)
formatu takoer poznat kao 8 (9)-N-1, ili 8 ili 9 bitova podataka, bez pariteta malo i jedan
stop bit. Slobodni linija je definirana kao stanje logike jedan. Poetak prijenosa - start bit, ima
status logike nula.Bitova podataka slijediti start bit (prvi bit je niska znaajan bit), a nakon
bitova stavimo stop bit logike jedan. Trajanje stop bit "T" ovisi o prijenosa i prilagoen prema
potrebama prijenosa. Za brzinu prijenosa od 9600 Baud, T je 104s.

Kako bi se spojiti mikrokontroler na serijski port na raunalu, moramo prilagoditi razinu


signala tako da komunikacije se mogu odvijati.Razina signala na PC-je-10V za logiku nula, i
+10 V za logiku jedan. Budui da je razina signala na mikrokontroler je +5 V za logiku jedan
i 0V za logiku nula, trebamo posrednika fazi koja e se pretvoriti razinama. Jedan ip posebno
dizajniran za ovaj zadatak je MAX232. Ovaj ip prima signale od -10 do +10 V, te ih pretvara
u 0 i 5V.Sklop za ovo suelje je prikazano na slici 3,9

Figure 3.9 Connection between D9 Female serial port, MAX232 and PIC16F877A

3.2.5 DC pogona motora

Ako DC motor je spojen izravno na napon, konstantna snaga e biti isporueni u DC motora
svih vremena. Zbog konstantne snage za motor, brzina motora e se usporiti kada teret je tei
i ubrzati kada teret je laki. Dakle, DC motorni pogon potrebna je, gdje moemo kontrolirati
veliine napona napajanja kako bi za kontrolu brzine DC motora.
pogon DC motora koji e se koristiti u ovom projektu je dva puna most upravljaki, ip L298.Napon
operativni opskrba ip L298 je do 46V i ukupne istosmjerna struja do 4A. Tablica 3.3 prikazuje
funkciju svakog pojedinog pina ip L298.

The time to enable the chip L298 will be determined by the duty cycle pulse that sent
from PWM in microcontroller. The average of voltage that supply to DC motor is given by
Equation 2.17.
Vrijeme omoguiti ip L298 odredit e dunost ciklus puls koje je poslalo iz PWM-u
mikrokontroler.Prosjena napona koja opskrbu DC motora je dano od strane Jednadba 2,17.

Slika 3.10 prikazuje shematski krug L298 sa 24V DC motor. Za opskrbu napon motora kroz L298, to bi
trebao biti omoguen po +5 V na pin 6 (Omogui) ili pin 11 (Omogui B). Ako ip je onemoguen,
Vave je nula, nema

napon na motor, motor e se prestati prikazivati. U ovom projektu, radni ciklus PWM e
poslana na Ven za pogon motor.
Iz tablice, znamo da je motor e kontinuirano radi (dok motor ne preoptereti) kada C i D L298
imaju razliite ulaz. Kada se unos C (pin 10) je visoka (H), D (pin12) je nizak (L), motor e se
izvoditi u smjeru prema naprijed i obratno. Kada obje C i D imaju isti ulaz (H / L), motor e
se prestati prikazivati.
Dakle, kako bi bili sigurni da je motor radi cijelo vrijeme, razliiti ulazni moraju poslati na C i
D. U ovom projektu, motor radi cijelo vrijeme u smjeru prema naprijed za primanje C = H
(RB1) i D = L (RB2) iz mikrokontrolera vrijeme inicijalizacije programa. (detaljno u dijelu
3.3.1.1 (a)).

3.2.6 Uitavanje jedinica LU150L ( Loading

Za DC motor za kontrolu brzine s primjenom ovisi optereenja, Loading jedinica LU150L koristi. Ona
ima dva magneta U oblika s malom prostoru izmeu nje. Bez LU150L, disk koji fiksnim na vratilo
motora moe raditi glatko na konstantnom brzinom.
Uz prisutnost LU150L kad motor radi, disk e se smanjiti magnetsko polje indukcije i to postaje
optereenje za motor. Dakle, motor e se usporiti.Poloaj magneti su definirani kao bez optereenja,
normalno optereenja i preoptereenja stanje kao to je prikazano na slici 3.11. U ovom projektu,
kontroler je dizajniran za odravanje brzinu natrag na eljenu brzinu pomou mikrokontrolera.
Figure 3.11 Application of vary load by using Loading Unit LU150L
(a) Loading Unit LU150L (b) No load condition (c) Normal load condition
(d) Overload condition
(a) Jedinica Otvaram LU150L (b) bez optereenja ureaj (c) Normalno stanje optereenja
(d) Preoptereenje stanje

3.3 Software Implementation

Za softver provedbe, MPLAB IDE se koristi za programiranje mikrokontrolera u asemblerski


jezik. Osim toga, Visual Basic koristi za 6,0 korisniko suelje svrhe i za praenje brzine
odziva sustava.

3.3.1 Algorithm and Programming in MPLAB IDE

Mikrokontroler djeluje kao mozak cjelokupnog DC motor za kontrolu brzine sustava. To e primiti
eljenu brzinu od korisnika kroz raunalo s suelje s RS232 serijski prikljuak.Stvarna brzina e se
usporedbi s eljenu brzinu i korekcije e se uiniti od strane mikrokontrolerom uvijek odravati brzinu
DC motor na eljenu brzinu.
Algoritam mora biti razvijen kako bi mikrokontroler za itanje ulaznog i reagirati u skladu s tim. Dakle,
algoritam je osnovan i predstavlja dijagram toka na slici 3,12 i Slika 3.13. Ove flowcharts onda su
prevedene na asemblerskom jeziku i sastavio koristei MPLAB, razvoj PIC16F877A softverski
alat.Programa u asemblerskom jeziku su dati u Dodatku A.
Postoje dva dijela programa koji su glavni program i interrupt program.Mikrokontroler uvijek pokree
glavni program dok se ne interrapt dogodili. Kada mikrokontroler prima prekid zastavu, onda e
skoiti interrapt proces.
3.3.1.1 Processing Explanation of Main Program
3.3.1.1 Obrada Pojanjenje glavnog programa

Postoji est glavnih dijelova glavnog programa u mikrokontroleru. Postoje inicijalizacije portova,
PWM, Timer1, setup za serijski port, dobiti referentna brzine i provjeriti um funkcija.

a) Initialization of the mode of ports A ,B


Inicijalizacija nain portova,A i B
th
In this project, we use pin 0 of the Port A (RA0) as digital input where it receives
input (H/L) from LM324 (pin1). A user register, X1 has been defined as speed counter for
pulses receive from RA0. When the input of RA0 is High (H), it will increase speed counter
X1 where X1 = X1 + 1 (if it is not noise after check noise, detail in section 3.3.1.1 (f)).
Otherwise, the counter will remain its value.
U ovom projektu, koristimo pin 0. u Port A (RA0), kao digitalni ulaz gdje ga prima input (H /
L) od LM324 (pin1).A Koristi registar, X1 je definirana kao brzina brojaa impulsa za primiti
od RA0. Kada je ulaz RA0 je visoka (H), to e poveati brzinu broja X1 X1 = gdje je X1 + 1
(ako se ne buka nakon check buke, detaljnije u dijelu 3.3.1.1 (f)). Inae, broja e ostati svoju
vrijednost.

All pins of Port B are set to output. RB1 is always set to High (H) and RB2 set to Low
(L) to make the motor run in forward direction as describe in section

b) Initialization of PWM

A PWM output (Figure 3.14) has a time-base (period) and a time that the output stays
high (duty cycle). The frequency of the PWM is the inverse of the period (1/period).
PWM izlaz (Slika 3.14) ima vremenske baze (razdoblje) i vrijeme koje izlaz ostaje visoka (radni ciklus).
Uestalost PWM je obrnut razdoblja (1/period).

Figure 3.15 shows a simplified block diagram of the CCP module in PWM mode.
Slika 3,15 prikazuje pojednostavljeni blok dijagram CCP modula u PWM mod.
To setup for PWM operation, the following steps should be taken when configuring
the CCP module for PWM operation:
i. Set the PWM period by writing to the PR2 register.

Za postavljanje za PWM rada, sljedee korake treba poduzeti kada konfigurirate CCP modul za PWM
rada:
I. Postavite PWM razdoblje piui na PR2 se registrirajte.

ii. Set the PWM duty cycle by writing to the CCPR2L register and
CCP2CON<5:4> bits.
iii. Make the CCP1 pin an output by clearing the TRISC<2> bit.
iv. Set the TMR2 prescale value and enable Timer2 by writing to T2CON.
v. Configure the CCP2 module for PWM operation.

ii. Postavite ciklus PWM obvezu piui CCPR2L registar i CCP2CON <5:4> bita.
iii. Napravite CCP1 pin izlazni brisanjem Tri <2> bit.
iv. Postavite TMR2 prescale vrijednost i omoguiti Timer2 piui T2CON.
V. Konfiguracija CCP2 modula za PWM rada.

The PWM period is specified by writing to the PR2 register. The PWM period can be
calculated using the following formula:

PWM period = [(PR2) + 1] * 4 * TOSC *(TMR2 prescale value) (3.2)


In this project, PR2 is set to 255(maximum value of 8 bit for maximum range), so the PWM
period is then become
PWM period = (255+1)* 4 * (1/20M) * (1)
= 51.2s
= 19.53kHz
where Fosc = 20MHz and TMR2 prescale =1
The PWM duty cycle is specified by writing to the CCPR2L register and to the
CCP2CON<5:4> bits. Up to 10-bit resolution is available. The CCPR2L contains
eight MSbs and the CCP2CON<5:4> contains two LSbs. This 10-bit value is represented by
CCPR2L:CCP2CON<5:4>. The following equation is used to calculate the PWM duty cycle
in time:
Ciklus PWM zadaa odreen pisanje CCPR2L registrirati i CCP2CON <5:4> bita. Sve do 10-
bitnom rezolucijom je dostupna.CCPR2L sadri
osam MSbs i CCP2CON <5:4> sadri dvije LSbs. Ovaj 10-bitna vrijednost predstavlja
CCPR2L: CCP2CON <5:4>.Sljedee jednadbe se koristi za izraunavanje ciklusa PWM
obvezu u vremenu:

PWM duty cycle =(CCPR2L:CCP2CON<5:4>)*TOSC* (TMR2 prescale value) (3.3)

CCPR2L and CCP2CON<5:4> can be written to at any time, but the duty cycle value
is not latched into CCPR2H until after a match between PR2 and TMR2 occurs (i.e., the
period is complete).
CCPR2L i CCP2CON <5:4> mogu biti pisani u bilo koje vrijeme, ali radni ciklus vrijednost
nije privren u CCPR2H tek nakon odgovara izmeu PR2 i TMR2 se javlja (tj. razdoblje
potpune).

c) Initialization of TIMER1 in Timer Mode

The Timer1 module in PIC16F877A is a 16-bit timer/counter consisting of two 8-bit


registers (TMR1H and TMR1L), which are readable and writable. Figure 3.16 shows the
Timer1 block diagram which operate in timer mode. The TMR1 Register pair
(TMR1H:TMR1L) increments from 0000h to FFFFh (decimal from 0 to 65535) and rolls over
to 0000h. The TMR1 Interrupt, if enabled, is generated on overflow, which is latched in
interrupt flag bit, TMR1IF (PIR1<0>). This interrupt can be enabled/disabled by
setting/clearing TMR1 interrupt enable bit, TMR1IE (PIE1<0>). Timer mode is selected by
clearing the TMR1CS (T1CON<1>) bit. In this mode, the input clock to the timer is FOSC/4.

Timer1 modul u PIC16F877A je 16-bitni broja / broja se sastoji od dva 8-bitnih registara
(TMR1H i TMR1L), koji su itati i pisati. Slika 3.16 prikazuje Timer1 blok dijagram koji
djeluju u timer nainu rada.Par TMR1 registar (TMR1H: TMR1L) koracima od 0000h do
FFFFh (decimalni 0 - 65.535) i role preko 0000h.TMR1 prekinuti, ako je omoguen je
generirana za preljev, koji je privren na interrapt zastave malo, TMR1IF (PIR1 <0>). To se
moe interrapt ukljuuje / iskljuuje postavljanjem / istini TMR1 interrapt omoguiti malo,
TMR1IE (PIE1 <0>). Odbrojavanje je odabran nain za ienje TMR1CS (T1CON <1>) bit.
U tom nainu rada, unosa sat vremena je FOSC / 4.

Kada Timer1 poveava od 0000h do FFFFh, to traje 65535 ciklusa i vrijeme konzumira je dano od
strane,

t = (65535 - 0) * (1/(20MHz/4)) ; Fosc = 20MHz


= 13.107 ms.
In this project, the interrupt is required to occur each 0.39321s where the pulses counted in X1
will be converted to speed and correction taken. A user register, X2 is defined as gain for this
purpose.
U ovom projektu, interrapt je potrebno da se dogodi svaki 0.39321s gdje impulse broje u X1 pretvorit
e se u brzinu i ispravak poduzeti.A Koristi registar, X2 se definira kao dobitak za tu svrhu.

Gain, X2 = 0.39321s / 13.107ms


= 30
Osim toga, prekida omoguiti bit CCP2 je postavljen. Takoer GIE i PIE su postavljeni.

d) Setup for serial port

The Universal Synchronous Asynchronous Receiver Transmitter (USART) module is


one of the two serial I/O modules. (USART is also known as a Serial Communications
Interface or SCI.)

Universal Sinkroni asinkroni primopredajnik (USART) modul je jedan od dva serijska I / O modula.
(USART je takoer poznat kao serijski komunikacijsko suelje ili SCI).

The USART is configuring in asynchronous mode. In this mode, the USART uses
standard non-return-to zero (NRZ) format (one START bit, eight or nine data bits, and one
STOP bit). The most common data format is 8-bits and it is used in this project. An on-chip,
dedicated, 8-bit baud rate generator can be used to derive standard baud rate frequencies from
the oscillator. The USART transmits and receives the LSb first. The transmitter and receiver
are functionally independent, but use the same data format and baud rate.

USART je konfiguriranje asinkrono u modu. U tom nainu rada, USART koristi standardne ne-
povratka-na nulu (NRZ) format (jedan start bit, osam ili devet bitova podataka, i jedan stop
bit).Najei oblik podataka je 8-bita i to je u ovom projektu.Na ipu, posvetio, 8-bit generator takta
za prijenos podataka se moe koristiti za izvoenje standarda brzinu prijenosa frekvencije
oscilatora.USART prenosi i prima LSB prvi.Odailja i prijemnik su funkcionalno neovisni, ali koristite
iste podatke obliku i brzine prijenosa.

Baud Rate = Fsoc /(16(SPBRG+1)) (3.4)


To set baud rate at 9600bps, we have to set SPBRG as
SPBRG = (Fsoc/ Baud Rate / 16)-1
= 20M / 9600 / 16 -1
= 129
Bit SPEN (RCSTA<7>) is set as 1 and bits TRISC<7:6> are set as 0 in order to
configure pins RC6/TX/CK and RC7/RX/DT as the Universal Asynchronous Receiver
Transmitter.
Bit SPEN (RCSTA <7>) je setovan kao 1. i bitova Tri <07:06> se postaviti kao 0, kako bi
se konfigurirati pinova RC6/TX/CK i RC7/RX/DT kao univerzalni asinkroni primopredajnik.

e) Get reference speed


At beginning of the program, microcontroller will get the reference speed from user at PC
through RS232 serial communication. It will wait there until it gets the reference speed from
user.

Na poetku programa, mikrokontroleru e dobiti referentne brzine od korisnika na raunalo


putem RS232 serijski komunikacije. Ona e ekati tamo dok ne dobije referentnom brzinom
od korisnika.

f) Check Noise function


Provjerite uma funkcija

From experimental result, if is found that there are some noise besides real pulses from
LM324, especially when motor running at high speed. This noise can cause over reading
pulses at speed counter, X1 if it is not filter out. From experiment, it is found that the noise
have a bandwidth less than 1ms (bandwidth of real pulses always greater than 1ms). So, when
a High (H) pulses is receive at RA0, it will hold for 1ms. If the pulse detected still High (H), it
means that the received is real pulse and the X1 will increase it value with one. But if the
pulse detected is Low (L), then it is noise and ignored where X1 remains its value.

Iz eksperimentalnih rezultata, ako se utvrdi da postoje neke buke, osim stvarni impulsa iz
LM324, pogotovo kad motor radi velikom brzinom. Ova buka moe izazvati vie od itanja
impulse pri brzini broja X1 ako se ne filtrira. Od eksperimenta, to je utvrdio da je buka imaju
propusnost manje od 1ms (propusnost od stvarnog impulse uvijek je vea od 1ms). Dakle,
kada Visoki (H) impulse je primiti na RA0, to e se drati za 1ms. Ako puls otkriven jo
visoke (H), to znai da je dobila je pravi puls, a X1 e se poveati vrijednost se s jednim. Ali
ako puls otkriven je niska (L), tada je buka i ignoriraju gdje X1 ostaje svoju vrijednost.

3.3.1.2 Processing Explanation of Interrupt Process

3.3.1.2 Obrada Obrazloenje prekida procesa

Interrupt process is occurs each 0.39321s. The microcontroller will execute the program in
interrupt process instead of main program that is running when it
Prekid je proces javlja svake 0.39321s.mikrokontroleru e izvriti program interrapt proces,
umjesto glavnog programa koji se izvodi kada je

primiti interrapt zastavu. Svaki dio proces interrapt se raspravlja u sljedeem odjeljku.

) Brisanje prekida zastave


Prekida se dogaa svaki 0.39321s s CCP2.Prekid Zastava CCP2 bi trebao biti izbrisani prvi.
Kada ne ienje ovaj, sljedee prekida dolazi bez ekanja eljeno vrijeme.

b) Brzina broja

Na svaki prekid (svaki 0.39321s), vrijednost brzina brojaa, X1 e biti uzeti kao otkrivena
impulse. Od optiki koder s 4 mjesta koja izgraen u ovaj projekt, znamo da e proizvodi 4
impulsa kada se motor okrenuti za 1 krug. Podaci iz brzine broja, X1 u mikrokontroler e se
uitati na raunalo svaki 0.39321s. Dakle, brzina vrtnje motora je dano od strane,
c) Pogreka brzina
Otkrivena brzine e biti u odnosu na referentne brzine za izraun pogreke izmeu njih.

Konano, pogreka napon e se pretvoriti u radni ciklus se temelji na jednadbi 2,17 kako bi
se utvrdilo ubrzati ili usporiti motor. Ako nema pogreke, radni ciklus PWM je ostao.
d) Brzina dolje proces
Kada je otkriven brzina motora je vea od referentne brzine, dunost omjer je smanjen i motorni
pogon elektrina struja je potisnut.Stopa koja dunost omjer se smanjuje odluuje pogreka brzine.
d) Speed down process
When the detected speed of the motor is higher than the reference speed, a duty ratio is
decreased and a motor drive electric current is suppressed. The rate that the duty ratio
becomes smaller is decided by error speed.

e) Speed up process
When the detected speed of the motor is lower than the reference speed, a duty ratio is
increased and a motor drive electric current is increased. The rate that the duty ratio becomes
bigger is decided by error speed.

e) Ubrzati proces
Kada je otkriven brzina motora je nia od referentne brzine, dunost omjer je povean, a motorni
pogon elektrina struja se poveava.Stopa koja dunost omjer postaje vei odluuje pogreka brzine.

f) Send detected speed to PC


To monitor the performance of the system, detected speed will sent to PC each 0.39321s as
detected pulses. This value will then convert to represent the detected speed (rpm) in PC by
using Visual Basic 6.0 program. (detail in section 3.2.3.1)

f) poalji otkriti brzinu raunala


Za praenje uinkovitosti sustava, otkriven brzina e poslan na raunalo svaki 0.39321s kao
otkrivena impulse. Ova vrijednost e pretvoriti u predstavljati detektovanu brzinu (rpm) u PC
pomou programa Visual Basic 6.0. (detaljno u odjeljku 3.2.3.1)

g) prekid zavrava proces


RETFIE upute se provodi na kraju prekida obradu. Prije toga, counter i sat moraju jasno i
reset.
3.3.2 Programiranje u Visual Basic 6.0
U ovom projektu, program e se razviti koristei Visual Basic 6.0. Ovaj program je u mogunosti za
slanje podataka (eljenu brzinu od korisnika) za mikrokontroler i parcele graf otkrivenih brzinu u
odnosu na vrijeme za praenje performansi sustava.
Postoje dva oblika u Visual Basic 6.0. Oni su uvod oblik i glavni program obliku koji su prikazani na
slici 3,20 i Figure3.21 respektivno.
Izvorni kod ovog projekta je prikazan u Prilogu B i dijagram toka programa prikazan je na
slici 3,22. Dvije glavne zadae programa u Visual Basic koje su ulazni itanja od korisnika i
mikrokontrolera i zemljite graf brzine u odnosu na vrijeme.

3.3.2.1 Reading Input from User and Microcontroller

3.3.2.1 Input Reading od korisnika i Mikrokontroler

Da biste dobili eljenu brzinu od korisnika, korisnik je duan odabrati eljenu brzinu na
raunalu.eljenu brzinu (rpm), tada e se pretvoriti u eljeni impulsa prije poslati na mikrokontroleru
preko serijskog porta. Iz jednadbe 3,7, eljeni impulsa je dano od strane,
To obtain desired speed from user, the user is required to select a desired speed at computer. The
desired speed (rpm) will then convert into desired pulses before send to microcontroller through
serial port. From Equation 3.7, desired pulses is given by,

3.3.2.2 plot Graf Brzina u odnosu na vrijeme


Za praenje uinkovitosti sustava, graf otkrivenih brzine u odnosu na vrijeme e se dobiti
pomou Visual Basica.Korisnik e poslana na eljenu brzinu mikrokontrolera klikom na
Pokreni naredbeni gumb. Takoer je dozvoljeno da bi dobili novi graf klikom na New Graf
naredbeni gumb.

CHAPTER 4 6
RESULT AND DISCUSSION
4.1 Uvod
Neki eksperimenti su provedena za projekt. Prvo i najvanije, eksperiment se provodi kako bi saznali
odnos izmeu napona i brzine motora. Zatim, prikupljanje podataka se obavlja u svakoj brzini DC
motor za kontrolu brzine sustava za promatranje performanse sustava. Posljednje, ali ne i najmanje
vano, analiza mrtvo vrijeme sustava je napravio.
4,2 Eksperiment: Odredite Odnos napona i motora
brzina
Eksperiment se provodi utvrditi odnos izmeu napona i brzine [14].Postupke i rezultat e biti
objanjeno u sljedeim poglavljima.

4.2.1 Procedures
1) The circuit was connected as Figure 4.1.
2) Voltage of 0.5V was supplied to motor.
3) Value of rpm at tachometer was recorded in Table 4.1.
4) The voltage increased in steps of 0.5V until 16V and step 3 was repeated.

5) prikljueni Slika 4.2 je zavren promjenom brzinomjer s optikim enkodera koji je izgraen.Izlazni
valni oblik od optikih koder je spojen na osciloskop.

6) Korak 2 je ponovio.
7) oitanja za frekvenciju osciloskop zabiljeeno.

8) Step 4 was repeated.


9) A graph of rpm-voltage was plotted for both tachometer and optical encoder.
10) Based on graphs, both result was compared and the accuracy of optical encoder
that has been built is found.

8) Korak 4 ponovljen.
9) Graf min napona je nacrtane i za brzinomjer i optiki koder.
10) Na temelju grafova, i rezultat je bio u odnosu i tonost optiki koder koji je izgraen
nalazi.
4.2.2 Experimental Result Analysis
From experiment, the data was recorded in Table 4.1. A graph of speed versus voltage supply
by using tachometer and optical encoder is shown in Figure
The accuracy of the optical encoder can be checked by calculate its standard deviation,
s for percentage of error by using Equation 4.1,

The standard deviation percentage of error is quite small, so it can be concluded that the
reading of the optical encoder for speed measurement is quite reliable which is given by,
Standardna devijacija postotak greke je vrlo mala, tako da se moe zakljuiti da je itanje optikih
enkoder za mjerenje brzine je prilino pouzdan to je dao,

where rpm = motor speed


V = voltage supply to motor
4.3 DC Motor Speed Control Result

Microcontroller acts as proportional (P) controller in the DC motor speed control


system. At each speed, the result was collected by applying normal load, overload and then
suddenly the load was as no load condition (Refer Figure 3.11). The performance of the
system at each speed is shown in Figure 4.4 to Figure 4.10 respectively.
Mikrokontroler djeluje kao proporcionalni (P) regulatora brzine u DC motor sustav kontrole.
Na svakom speed, rezultat je bio prikupljeni primjenom normalno optereenje, preoptereenja
i onda odjednom teret bio bez optereenja ureaj (pogledajte Slika 3,11).Performanse sustava
na svakom brzina je prikazana na slici 4,4 na slici 4.10 respektivno.
4.3.1 DC Motor Speed Control Result Analysis
For P controller, as the controller proportional gain, Kp is increased, the response to set
point changes becomes more oscillatory, commonly called underdamped (Figure 4.14a). In
this project, the speed response will give an underdamped response when Kp=1.
At some greater gain, the response of the control loop becomes a steady-state
oscillation (Figure 4.11b). The system is called marginally stable. If the gain is increased
past the point where steady oscillation is observed, the control loop will become unstable and
the oscillations will increase in amplitude (Figure 4.11c) [15].

4.3.1 DC motor kontrolu brzine Rezultat analize


Za P kontroler, kao kontroler proporcionalna dobitak, KP je povean, kao odgovor na
postavljanje toke promjena postaje oscilatorni, obino naziva underdamped (Slika 4.14a). U
ovom projektu, brzine odziva e dati odgovor kada underdamped Kp = 1.
Na nekim veim dobit, odgovor kontrole petlje postaje stacionarno stanje titranja (slika
4.11b).Sustav se zove "marginalno stabilna". Ako dobit je poveana posljednjih mjesta gdje
stalno osciliranje se promatra, petlja kontrole e postati nestabilna i oscilacija e se poveati
na amplitudu (slika 4.11c) [15].

You might also like