co dien tu

56
Baùo caùo ñoà aùn moân hoïc I Lôøi caûm ôn Kính göûi Thaày TS. Nguyeãn Thieän Thaønh! Em laø Nguyeãn Uy Danh, sinh vieân naêm 4, khoa Ñieän_Ñieän Töû, Ñaïi Hoïc Baùch Khoa Tp.HCM. Hoïc kyø naøy, em raát vinh döï ñöôïc thöïc hieän ñeà taøi cuûa ñoà aùn moân hoïc I döôùi söï höôùng daãn taän tình cuûa Thaày. Chính söï nhieät tình chæ daãn cuûa Thaàyù ñaõ giuùp em hoaøn thaønh ñoà aùn khaù toát, ñaït ñöôïc nhöõng yeâu caàu cô baûn maø ñeà taøi ñaët ra. Vaø cuõng qua ñoù, em ñaõ hoïc hoûi, tieáp caän ñöôïc nhieàu vaán ñeà thöïc teá hôn, boå sung nhöõng “khe hôû” kieán thöùc do vieäc hoïc thieân veà lyù thuyeát ñeå laïi. Em xin chaân thaønh caûm ôn Thaày. Cuõng qua ñaây, em xin göûi lôøi caûm ôn chaân thaønh cuûa mình ñeán gia ñình, baïn beø –nhöõng ngöôøi ñaõ ñoäng vieân, quan taâm heát möïc ñeán em trong suoát quaù trình thöïc hieän ñoà aùn. Ñoù laø nhöõng ñoäng löïc thuùc ñaåy em coá gaéng hôn, quyeát taâm hôn, ñeå cuoái cuøng em coù ñöôïc keát quaû nhö ngaøy hoâm nay. Em xin göûi lôøi caûm ôn ñeán taát caû. Sinh vieân thöïc hieän Nguyeãn Uy Danh GVHD : TS. Nguyeãn Thieän Thaønh SVTH : Nguyeãn Uy Danh 1

Upload: hus

Post on 18-Jan-2023

4 views

Category:

Documents


0 download

TRANSCRIPT

Baùo caùo ñoà aùn moân hoïc I

Lôøi caûm ônKính göûi Thaày TS. Nguyeãn Thieän Thaønh!

Em laø Nguyeãn Uy Danh, sinh vieân naêm 4, khoa Ñieän_Ñieän

Töû, Ñaïi Hoïc Baùch Khoa Tp.HCM.

Hoïc kyø naøy, em raát vinh döï ñöôïc thöïc hieän ñeà taøi

cuûa ñoà aùn moân hoïc I döôùi söï höôùng daãn taän tình

cuûa Thaày. Chính söï nhieät tình chæ daãn cuûa Thaàyù ñaõ

giuùp em hoaøn thaønh ñoà aùn khaù toát, ñaït ñöôïc nhöõng

yeâu caàu cô baûn maø ñeà taøi ñaët ra. Vaø cuõng qua ñoù,

em ñaõ hoïc hoûi, tieáp caän ñöôïc nhieàu vaán ñeà thöïc teá

hôn, boå sung nhöõng “khe hôû” kieán thöùc do vieäc hoïc

thieân veà lyù thuyeát ñeå laïi.

Em xin chaân thaønh caûm ôn Thaày.

Cuõng qua ñaây, em xin göûi lôøi caûm ôn chaân thaønh cuûa

mình ñeán gia ñình, baïn beø –nhöõng ngöôøi ñaõ ñoäng vieân,

quan taâm heát möïc ñeán em trong suoát quaù trình thöïc

hieän ñoà aùn. Ñoù laø nhöõng ñoäng löïc thuùc ñaåy em coá

gaéng hôn, quyeát taâm hôn, ñeå cuoái cuøng em coù ñöôïc

keát quaû nhö ngaøy hoâm nay.

Em xin göûi lôøi caûm ôn ñeán taát caû.

Sinh vieân thöïc hieän

Nguyeãn Uy Danh

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

1

Baùo caùo ñoà aùn moân hoïc I

Chöông I :

Giôùi thieäu veà ñeà taøi

I.Toùm taét ñeà taøi ñoà aùn moân hoïc I

1. Giôùi thieäu caùc module maïch cuûa ñeà taøi

Ñeà taøi ñoà aùn moân hoïc I cuûa em laø : “ Ñieàu khieån

ON_OFF toác ñoä ñoäng cô DC”. Vôùi yeâu caàu ñeà taøi nhö

treân, höôùng thöïc hieän ñeà taøi cuûa em ñöôïc toùm taét

nhö sau:

- Söû duïng vi ñieàu khieån PIC16F877A laøm chip ñieàu

khieån trung taâm.

- Xaây döïng baøn phím goàm 13 phím. Trong ñoù:

+1 phím ñeå ñoàng thôøi reset vi ñieàu khieån vaø

döøng ñoäng cô DC

+ 10 phím öùng vôùi 10 soá töø 0 ñeán 9 ñeå ngöôøi

duøng nhaäp toác ñoä ñaët

+ 1 phím ra leänh ñoäng cô quay thuaän (FORWARD)

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

2

Baùo caùo ñoà aùn moân hoïc I

+ 1 phím ra leänh ñoäng cô quay ngöôïc (REVERSE)

- Söû duïng 8 led 7 ñoaïn. Trong ñoù

+ 4 led duøng ñeå ngöôøi duøng nhaäp toác ñoä ñaët

mong muoán

+ 4 led ñeå ngöôøi duøng quan saùt toác ñoä ño tröïc

tieáp töø ñoäng cô

- Söû duïng driver caàu H L293D tröïc tieáp ñieàu

khieån chieàu quay, ñoùng ngaét ñoäng cô DC

- Ñoái töôïng ñieàu khieån laø ñoäng cô DC coù gaén

encoder ñoàng truïc.

- Ngoaøi ra, treân maïch coøn coù caùc linh kieän

khaùc ñeå thöïc hieän truyeàn tín hieäu giöõa vi ñieàu

khieån trung taâm vôùi caùc thieát bò hieån thò noùi treân.

Taát caû caùc module maïch treân seõ ñöôïc em trình baøy roõ

trong caùc phaàn tieáp theo cuûa ñeà taøi.

2. Sô ñoà nguyeân lyù keát noái caùc module trong maïch

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

3

Baùo caùo ñoà aùn moân hoïc I

3. Caùch vaän haønh maïch

+ Böôùc 1: ta seõ nhaäp toác ñoä ñaët töø baøn phím.

Toác ñoä ñaët naøy goàm coù 4 chöõ soá, seõ hieän leân

thoâng qua 4 led. Ta phaûi nhaán ñuû 4 con soá thì maïch

môùi hoaït ñoäng ñöôïc, neáu khoâng nhaán ñuû maïch seõ

“treo ñoù”, chôø ngöôøi duøng nhaán soá tieáp. Neáu nhaäp

sai toác ñoä, ta coù theå nhaán phím reset ñeå nhaäp toác

ñoä laïi töø ñaàu. Neáu nhaán nhaàm sang caùc phím RESERVE

hoaëc FORWARD tröôùc khi nhaäp ñuû 4 soá ôû phaàn caøi ñaët

toác ñoä thì ngöôøi duøng hoaøn toaøn coù theå nhaán laïi

maø khoâng aûnh höôûng ñeán keát quaû.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

4

Baùo caùo ñoà aùn moân hoïc I

+ Böôùc 2: ta nhaán tieáp RESERVE hay FORWARD cho ñoäng

cô chaïy theo yù muoán. Trong quaù trình ñoäng cô quay, vi

ñieàu khieån seõ nhaän lieân tuïc nhaän xung phaùt ra töø

encoder, tính toaùn ra toác ñoä vaø so saùnh vôùi toác ñoä

ñaët ban ñaàu ñeå ra quyeát ñònh ON_OFF ñoäng cô. Toác ñoä

nhaän veà seõ ñöôïc so saùnh vôùi toác ñoä ñaët cöù 1ms moät

laàn. Ngoaøi ra cöù 1s thì vi ñieàu khieån seõ caäp nhaät

toác ñoä thöïc cuûa ñoäng cô, theå hieän ra 4 led 7 ñoaïn

ñeå ngöôøi duøng coù theå theo doõi vaø ñaùnh giaù.

II. Caùc yeâu caàu cuûa ñeà taøi

1. Thoâng qua ñeà taøi, laøm quen vôùi caùch thöùc ñieàu

khieån ñoái töôïng ñoäng cô.

2. Tìm hieåu thöïc teá caùc linh kieän, caùc loaïi IC,

hoaït ñoäng cuûa caùc loaïi caûm bieán….

3. Thieát keá, thi coâng maïch ñieàu khieån vaø maïch

ñoäng löïc ñieàu khieån ñoäng cô DC

4. Vieát chöông trình cho vi ñieàu khieån PIC16F877A thöïc

hieän thaønh coâng theo yeâu caàu ñeà ra.

5. Ñaùnh giaù veà sai soá ,chaát löôïng heä thoáng ñieàu

khieån

6. Tìm hieåu caùc höôùng phaùt trieån cuûa ñeà taøi, naâng

cao chaát löôïng cuûa heä thoáng

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

5

Baùo caùo ñoà aùn moân hoïc I

Chöông II :

Giôùi thieäu veà caùc linh kieän, phaàn töû söû duïng trong

maïch

I. Vi ñieàu khieån PIC16F877A

1. Khaùi quaùt veà vi ñieàu khieån PIC16F877A

1.1.Sô ñoà chaân vaø sô ñoà nguyeân lyù cuûa PIC16F877A

Sô ñoà chaân

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

6

Baùo caùo ñoà aùn moân hoïc I

Sô ñoà nguyeân lyù

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

7

Baùo caùo ñoà aùn moân hoïc I

1.2. Nhaän xeùt

Töø sô ñoà chaân vaø sô ñoà nguyeân lyù ôû treân, ta ruùt

ra caùc nhaän xeùt ban ñaàu nhö sau :

- PIC16F877A coù taát caû 40 chaân

- 40 chaân treân ñöôïc chia thaønh 5 PORT, 2 chaân caáp

nguoàn, 2 chaân GND, 2 chan thaïch anh vaø moät chaân

duøng ñeå RESET vi ñieàu khieån.

- 5 port cuûa PIC16F877A bao goàm :

+ PORTB : 8 chaân

+ PORTD : 8 chaân

+ PORTC : 8 chaân

+ PORTA : 6 chaân

+ PORT E : 3 chaân

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

8

Baùo caùo ñoà aùn moân hoïc I

1.3. Khaùi quaùt veà chöùc naêng cuûa caùc port trong vi ñieàu khieån

PIC16F877A

PORTA

PORTA goàm coù 6 chaân. Caùc chaân cuûa PortA, ta laäp

trình ñeå coù theå thöïc hieän ñöôïc chöùc naêng “hai

chieàu” : xuaát döõ lieäu töø vi ñieàu khieån ra ngoaïi vi

vaø nhaäp döõ lieäu töø ngoaïi vi vaøo vi ñieàu khieån.

Vieäc xuaát nhaäp döõ lieäu ôû PIC16F877A khaùc vôùi hoï

8051. ÔÛ taát caû caùc PORT cuûa PIC16F877A, ôû moãi thôøi

ñieåm chæ thöïc hieän ñöôïc moät chöùc naêng :xuaát hoaëc

nhaäp. Ñeå chuyeån töø chöùc naêng naøy nhaäp qua chöùc

naêng xuaát hay ngöôïc laïi, ta phaûi xöû lyù baèng phaàn

meàm, khoâng nhö 8051 töï hieåu luùc naøo laø chöùc naêng

nhaäp, luùc naøo laø chöùc naêng xuaát.

Trong kieán truùc phaàn cöùng cuûa PIC16F877A, ngöôøi ta

söû duïng thanh ghi TRISA ôû ñòa chæ 85H ñeå ñieàu khieån

chöùc naêng I/O treân. Muoán xaùc laäp caùc chaân naøo cuûa

PORTA laø nhaäp (input) thì ta set bit töông öùng chaân ñoù

trong thanh ghi TRISA. Ngöôïc laïi, muoán chaân naøo laø

output thì ta clear bit töông öùng chaân ñoù trong thanh ghi

TRISA. Ñieàu naøy hoaøn toaøn töông töï ñoái vôùi caùc PORT

coøn laïi

Ngoaøi ra, PORTA coøn coù caùc chöùc naêng quan troïng

sau :

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

9

Baùo caùo ñoà aùn moân hoïc I

- Ngoõ vaøo Analog cuûa boä ADC : thöïc hieän chöùc

naêng chuyeån töø Analog sang Digital

- Ngoõ vaøo ñieän theá so saùnh

- Ngoõ vaøo xung Clock cuûa Timer0 trong kieán truùc

phaàn cöùng : thöïc hieän caùc nhieäm vuï ñeám xung thoâng

qua Timer0…

- Ngoõ vaøo cuûa boä giao tieáp MSSP (Master

Synchronous Serial Port)

PORTB

PORTB coù 8 chaân. Cuõng nhö PORTA, caùc chaân PORTB

cuõng thöïc hieän ñöôïc 2 chöùc naêng : input vaø output.

Hai chöùc naêng treân ñöôïc ñieàu khieån bôùi thanh ghi

TRISB. Khi muoán chaân naøo cuûa PORTB laø input thì ta set

bit töông öùng trong thanh ghi TRISB, ngöôïc laïi muoán

chaân naøo laø output thì ta clear bit töông öùng trong

TRISB.

Thanh ghi TRISB coøn ñöôïc tích hôïp boä ñieän trôû keùo

leân coù theå ñieàu khieån ñöôïc baèng chöông trình.

PORTC

PORTC coù 8 chaân vaø cuõng thöïc hieän ñöôïc 2 chöùc

naêng input vaø output döôùi söï ñieàu khieån cuûa thanh ghi

TRISC töông töï nhö hai thanh ghi treân.

Ngoaøi ra PORTC coøn coù caùc chöùc naêng quan troïng sau

:

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

10

Baùo caùo ñoà aùn moân hoïc I

- Ngoõ vaøo xung clock cho Timer1 trong kieán truùc

phaàn cöùng

- Boä PWM thöïc hieän chöùc naêng ñieàu xung laäp trình

ñöôïc taàn soá, duty cycle: söû duïng trong ñieàu

khieån toác ñoä vaø vò trí cuûa ñoäng cô v.v….

- Tích hôïp caùc boä giao tieáp noái tieáp I2C, SPI,

SSP, USART

PORTD

PORTD coù 8 chaân. Thanh ghi TRISD ñieàu khieån 2 chöùc

naêng input vaø output cuûa PORTD töông töï nhö treân. PORTD

cuõng laø coång xuaát döõ lieäu cuûa chuaån giao tieáp song

song PSP (Parallel Slave Port).

PORTE

PORTE coù 3 chaân. Thanh ghi ñieàu khieån xuaát nhaäp

töông öùng laø TRISE. Caùc chaân cuûa PORTE coù ngoõ vaøo

analog. Beân caïnh ñoù PORTE coøn laø caùc chaân ñieàu

khieån cuûa chuaån giao tieáp PSP.

1.4. Taïi sao söû duïng PIC16F877A maø khoâng duøng 8051 cho ñeà taøi

Trong chöông trình ñaøo taïo cuûa Tröôøng Ñaïi Hoïc Baùch

Khoa, em ñöôïc hoïc vaø thí nghieäm treân kit cuûa vi ñieàu

khieån 8051. Hoï vi ñieàu khieån 8051 laø moät hoï vi ñieàu

khieån ñieån hình, phoå bieán, deã söû duïng vaø laäp trình,

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

11

Baùo caùo ñoà aùn moân hoïc I

raát phuø hôïp vôùi sinh vieân môùi baét ñaàu laøm quen ñeán

laäp trình cho vi ñieàu khieån. Tuy nhieân, cuõng trong quaù

trình nghieân cöùu vaø thí nghieäm vôùi caùc chip ñieàu

khieån thuoäc hoï 8051 ( ñieån hình laø 89C51, 89052…), em

nhaän thaáy noù coù nhöõng nhöôïc ñieåm cô baûn sau ñaây :

- Boä nhôù Ram noäi coù dung löôïng thaáp , chæ coù 128

bytes. Ñieàu naøyù gaây trôû ngaïi lôùn khi thöïc hieän caùc

döï aùn lôùn vôùi vi ñieàu khieån 8051. Ñeå khaéc phuïc ta

phaûi môû roäng theâm laøm haïn cheá soá chaân daønh cho

caùc öùng duïng cuûa vi ñieàu khieån.

- Soá löôïng caùc boä giao tieáp vôùi ngoaïi vi ñöôïc

tích hôïp saün trong 8051 ít, khoâng coù caùc boä ADC, PWM,

truyeàn döõ lieäu song song…. Khi muoán söû duïng caùc chöùc

naêng naøy, ta phaûi söû duïng theâm caùc IC beân ngoaøi,

gaây toán keùm vaø khoù thöïc hieän vì deã bò nhieãu neáu

khoâng bieát caùch choáng nhieãu toát.

- Ngoaøi ra coøn moät soá haïn cheá khaùc nhö soá löôïng

Timer cuûa 8051 ít, chæ coù 2 Timer. Chính ñieàu naøy laøm

cho giaûi thuaät khi vieát chöông trình gaëp khoù khaên.

Nhöõng nhöôïc ñieåm caên baûn treân cuûa 8051, em ñaõ quyeát

ñònh khoâng duøng vi ñieàu khieån naøy cho ñeà taøi “ñieàu

khieån toác ñoä ñoäng cô” cuûa mình.

Vôùi kyø voïng döïa treân neàn taûn kieán thöùc tieáp thu

ñöôïc khi hoïc vi ñieàu khieån 8051, em raát muoán töï baûn

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

12

Baùo caùo ñoà aùn moân hoïc I

thaân tìm hieåu moät hoï vi ñieàu khieån môùi maïnh hôn,

ñaày ñuû tính naêng hôn ñeå tröôùc maét laø phucï vuï toát

cho ñoà aùn , luaän vaên, sau nöõa laø cho caùc döï aùn

trong töông lai neáu em coù dòp söû duïng vi ñieàu khieån

trong döï aùn cuûa mình.

Trong quaù trình tím kieám moät hoï vi ñieàu khieån môùi

thoõa yeâu caàu nhö em ñaõ trình baøy treân. Em nhaän thaáy

PIC cuûa haõng Microchip laø moät löïa choïn lyù töôûng. Chæ

caàn xem xeùt qua caùc port vaø chöùc naêng cuûa caùc port

maø em ñaõ trình baøy ôû muïc 1.3, ta cuõng deã daøng nhaän

ra nhöõng öu ñieåm vöôït troäi cuûa vi ñieàu khieån naøy so

vôùi 8051.

Giaù cuûa PIC16F877A maø em mua treân thò hieän tröôøng

laø 50000 ñoàng, maéc hôn 2 laàn giaù moät con chip hoï

8051. Vieäc söû duïng PIC16F877A trong moät ñeà taøi khoâng

lôùn nhö ñeà taøi “ñieàu khieån toác ñoä ñoäng cô” coù theå

laø moät laõng phí. Tuy nhieân vôùi muïc ñích naâng cao

kieán thöùc, naâng cao khaû naêng töï tìm toøi ,hoïc hoûi

qua caùc keânh thoâng tin giaùo duïc khaùc nhau, nhaèm phuïc

vuï muïc ñích laâu daøi sau naøy, thì ñaây laø moät söï löïa

choïn hoaøn toaøn xaùc ñaùng. Vaø treân thöïc teá, trong

moät thôøi gian töông ñoái ngaén, em ñaõ naém vöõng ñöôïc

nhöõng maõng kieán thöùc cô baûn nhaát ñeå söû duïng noù

toát trong ñeà taøi cuûa mình.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

13

Baùo caùo ñoà aùn moân hoïc I

Treân laø toaøn boä nguyeân do taïi sao em choïn vi ñieàu

khieån PIC16F877A cho ñeà taøi ñoà aùn moân hoïc I cuûa

mình.

ÔÛ phaàn tieáp theo cuûa baùo caùo ñoà aùn moân hoïc I em

seõ ñi saâu giôùi thieäu nhöõng phaàn maø em ñaõ nghieân

cöùu ñöôïc ñeå phuïc vuï cho vieäc thöïc hieän ñoà aùn cuûa

mình.

2. Tìm hieåu veà vi ñieàu khieån PIC16F877A

2.1. Caáu truùc phaàn cöùng cuûa PIC16F877A

PIC laø teân vieát taét cuûa “ Programmable Intelligent

computer” do haõng General Instrument ñaët teân cho con vi

ñieàu khieån ñaàu tieân cuûa hoï. Haõng Micrchip tieáp tuïc

phaùt trieån saûn phaàm naøy vaø cho ñeán haøng ñaõ taïo ra

gaàn 100 loaïi saûn phaåm khaùc nhau.

PIC16F887A laø doøng PIC khaù phoå bieán, khaù ñaày ñuû

tính naêng phuïc vuï cho haàu heát taát caû caùc öùng duïng

thöïc teá. Ñaây laø doøng PIC khaù deã cho ngöôøi môùi laøm

quen vôùi PIC coù theå hoïc taäp vaø taïo neàn taûn veà hoï

vi ñieàu khieån PIC cuûa mình.

Caáu truùc toång quaùt cuûa PIC16F877A nhö sau :

- 8K Flash Rom

- 368 bytes Ram

- 256 bytes EFPROM

- 5 port vaøo ra vôùi tín hieäu ñieàu khieån ñoäc laäp

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

14

Baùo caùo ñoà aùn moân hoïc I

- 2 boä ñònh thôøi Timer0 vaø Timer2 8 bit

- 1 boä ñònh thôøi Timer1 16 bit coù theå hoaït ñoäng

ôû caû cheá ñoä tieát kieäm naêng löôïng vôùi nguoàn

xung clock ngoaøi

- 2 boä Capture/ Compare/ PWM

- 1 boä bieán ñoåi Analog -> Digital 10 bit, 8 ngoõ

vaøo

- 2 boä so saùnh töông töï

- 1 boä ñònh thôøi giaùm saùt (Watch Dog Timer)

- 1 coång song song 8 bit vôùi caùc tín hieäu ñieàu

khieån

- 1 coång noái tieáp

- 15 nguoàn ngaét

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

15

Baùo caùo ñoà aùn moân hoïc I

Sô ñoà khoái vi ñieàu khieån 16F877A

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

16

Baùo caùo ñoà aùn moân hoïc I

2.2. Toå chöùc boä nhôù PIC16F877a

2.2.1. Boä nhôù chöông trình

Boä nhôù chöông trình PIC16F877A

Boä nhôù chöông trình cuûa vi ñieàu khieån PIC16F877A laø

boä nhôù Flash, dung löôïng 8K word (1 word chöùa 14bit) vaø

ñöôïc phaân thaønh nhieàu trang nhö hình treân.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

17

Baùo caùo ñoà aùn moân hoïc I

Ñeå maõ hoùa ñöôïc ñòa chæ 8K word boä nhôù chöông trình,

thanh ghi ñeám chöông trình PC coù dung löôïng 13 bit.

Khi vi ñieàu khieån reset, boä ñeám chöông trình seõ

troû veà ñòa chæ 0000h. Khi coù ngaét xaûy ra thì thanh ghi

PC seõ troû ñeán ñòa chæ 0004h.

Boä nhôù chöông trình khoâng bao goàm boä nhôù Stack vaø

khoâng ñöôïc ñòa chæ hoùa bôûi boä ñeùm chöông trình.

2.2.2. Boä nhôù döõ lieäu

Boä nhôù döõ lieäu cuûa PIC16F877A ñöôïc chia thaønh 4

bank. Moãi bank coù duïng löôïng 128 byte.

Neáu nhö 2 bank boä nhôù döõ lieäu cuûa 8051 phaân chia

rieâng bieät : 128 byte ñaàu tieân thuoäc bank1 laø vuøng

Ram noäi chæ ñeå chöùa döõ lieäu, 128 byte coøn laïi thuoäc

bank 2 laø cuøng caùc thanh ghi coù chöùc naêng ñaëc bieät

SFR maø ngöôøi duøng khoâng ñöôïc chöùa döõ lieäu khaùc

trong ñaây thì 4 bank boä nhôù döõ lieäu cuûa PIC16F877A

ñöôïc toå chöùc theo caùch khaùc.

Moãi bank cuûa boä nhôù döõ lieäu PIC16F877A bao goàm caû

caùc thanh ghi coù chöùc naêng ñaëc bieät SFR naèm ôû caùc

caùc oâ nhôù ñòa chæ thaáp vaø caùc thanh ghi muïc ñích

duøng chung GPR naèm ôû vuøng ñòa chæ coøn laïi cuûa moãi

bank thanh ghi. Vuøng oâ nhôù caùc thanh ghi muïc ñích duøng

chung naøy chính laø nôi ngöôøi duøng seõ löu döõ lieäu

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

18

Baùo caùo ñoà aùn moân hoïc I

trong quaù trình vieát chöông trình. Taát caû caùc bieán döõ

lieäu neân ñöôïc khai baùo chöùa trong vuøng ñòa chæ naøy.

Trong caáu truùc boä nhôù döõ lieäu cuûa PIC16F877A, caùc

thanh ghi SFR naøo maø thöôøng xuyeân ñöôïc söû duïng (nhö

thanh ghi STATUS) seõ ñöôïc ñaët ôû taát caû caùc bank ñeå

thuaän tieän trong vieäc truy xuaát. Sôû dó nhö vaäy laø vì,

ñeå truy xuaát moät thanh ghi naøo ñoù trong boä nhôù cuûa

16F877A ta caàn phaûi khai baùo ñuùng bank chöùa thanh ghi

ñoù, vieäc ñaët caùc thanh ghi söû duïng thöôøng xuyeân

giuùp ta thuaän tieân hôn raát nhieàu trong quaù trình truy

xuaát, laøm giaûm leänh chöông trình.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

19

Baùo caùo ñoà aùn moân hoïc I

Sô ñoà boä nhôù döõ lieäu cuûa PIC16F877A

Döïa treân sô ñoà 4 bank boä nhôù döõ lieäu PIC16F877A ta

ruùt ra caùc nhaän xeùt nhö sau :

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

20

Baùo caùo ñoà aùn moân hoïc I

-Bank0 goàm caùc oâ nhôù coù ñòa chæ töø 00h ñeán 77h,

trong ñoù caùc thanh ghi duøng chung ñeå chöùa döõ lieäu

cuûa ngöôøi duøng ñòa chæ töø 20h ñeán 7Fh. Caùc thanh ghi

PORTA, PORTB, PORTC, PORTD, PORTE ñeàu chöùa ôû bank0, do

ñoù ñeå truy xuaát döõ lieäu caùc thanh ghi naøy ta phaûi

chuyeån ñeán bank0. Ngoaøi ra moät vaøi caùc thanh ghi

thoâng duïng khaùc ( seõ giôùi thieäu sau) cuõng chöùa ôû

bank0

- Bank1 goàm caùc oâ nhôù coù ñòa chæ töø 80h ñeán FFh.

Caùc thanh ghi duøng chung coù ñòa chæ töø A0h ñeán Efh.

Caùc thanh ghi TRISA, TRISB, TRISC, TRISD, TRISE cuõng ñöôïc

chöùa ôû bank1

- Töông töï ta coù theå suy ra caùc nhaän xeùt cho bank2

vaø bank3 döïa treân sô ñoà treân.

Cuõng quan saùt treân sô ñoà, ta nhaän thaáy thanh ghi

STATUS, FSR… coù maët treân caû 4 bank. Moät ñieàu quan

troïng caàn nhaéc laïi trong vieäc truy xuaát döõ lieäu cuûa

PIC16F877A laø : phaûi khai baùo ñuùng bank chöùa thanh ghi

ñoù. Neáu thanh ghi naøo maø 4 bank ñeàu chöùa thì khoâng

caàn phaûi chuyeån bank.

2.2.3. Moät vaøi thanh ghi chöùc naêng ñaëc bieät SFR

Thanh ghi STATUS : thanh ghi naøy coù maët ôû caû 4 bank

thanh ghi ôû caùc ñòa chæ 03h, 83h, 103h vaø 183h : chöùa

keát quaû thöïc hieän pheùp toaùn cuûa khoái ALU, traïng

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

21

Baùo caùo ñoà aùn moân hoïc I

thaùi reset vaø caùc bit choïn bank caàn truy xuaát trong

boä nhôù döõ lieäu.

Thanh ghi OPTION_REG : coù maët ôû bank2 vaø bank3 coù ñòa

chæ 81h vaø 181h. Thanh ghi naøy cho pheùp ñoïc vaø ghi, cho

pheùp ñieàu khieån chöùc naêng pull_up cuûa caùc chaân trong

PORTB, xaùc laäp caùc tham soá veà xung taùc ñoäng, caïnh

taùc ñoäng cuûa ngaét ngoaïi vi vaø boä ñeám Timer0

Thanh ghi INTCON : coù maët ôû caû 4 bank ôû ñòa chæ

0Bh,8Bh,10Bh,18Bh. Thanh ghi cho pheùp ñoïc vaø ghi, chöùa

caùc bit ñieàu khieån vaø caùc bit baùo traøn timer0, ngaét

ngoaïi vi RB0/INT vaø ngaét khi thay ñoåi traïng thaùi taïi

caùc chaân cuûa PORTB.

Thanh ghi PIE1 :ñòa chæ 8Ch, chöùa caùc bit ñieàu khieån chi

tieát caùc ngaét cuûa caùc khoái chöùc naêng ngoaïi vi.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

22

Baùo caùo ñoà aùn moân hoïc I

Thanh ghi PIR1 : ñòa chæ 0Ch, chöùa côø ngaét cuûa caùc

khoái chöùc naêng ngoaïi vi, caùc ngaét naøy ñöôïc cho pheùp

bôûi caùc bit ñieàu khieån chöùa trong thanh ghi PIE1.

Thanh ghi PIE2 : ñòa chæ 8Dh, chöùa caùc bit ñieàu khieån

caùc ngaét cuûa caùc khoái chöùc naêng CCP, SSP buù, ngaét

cuûa boä so saùnh vaø ngaét ghi vaøo boä nhôù EEPROM.

Thanh ghi PIR2: ñòa chæ 0Dh, chöùa côø ngaét cuûa caùc khoái

chöùc naêng ngoaïi vi, caùc ngaét naøy ñöôïc cho pheùp bôûi

caùc bit ñieàu khieån chöùa trong thanh ghi PIE2

Thanh ghi PCON : ñòa chæ 8Eh, chöùa caùc côø hieäu cho bieát

traïng thaùi caùc cheá ñoä reset cuûa vi ñieàu khieån.

2.3. Thanh ghi W(work) vaø taäp leänh cuûa PIC16F877A

2.3.1. Thanh ghi W

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

23

Baùo caùo ñoà aùn moân hoïc I

Ñaây laø thanh ghi raát ñaëc bieät trong PIC16F877A. Noù

coù vai troø töông töï nhö thanh ghi Accummulator cuûa 8051,

tuy nhieân taàm aûnh höôûng cuûa noù roäng hôn raát nhieàu.

Taäp leänh cuûa PIC16F877A coù taát caû 35 leänh thì soá

leänh coù söï “goùp maët” cuûa thanh ghi W laø 23 leänh.

Haàu heát caùc leänh cuûa PIC16F877A ñeàu lieân quan ñeán

thanh ghi W. Ví duï nhö, trong PIC chuùng ta khoâng ñöôïc

pheùp chuyeån tröïc tieáp giaù trò cuûa moät thanh ghi naøy

qua thanh ghi khaùc maø phaûi chuyeån thoâng qua thanh ghi

W.

Thanh ghi W coù 8 bit vaø khoâng xuaát hieän trong baát

kyø bank thanh ghi naøo cuûa boä nhôù döõ lieäu cuûa

16F877A. Moãi doøng leänh trong PIC16F877a ñöôïc moâ taû

trong 14 bit. Khi ta thöïc hieän moät leänh naøo ñoù, noù

phaûi löu ñòa chæ cuûa thanh ghi bò taùc ñoäng (chieám 8

bit) vaø giaù trò moät haèng soá k naøo ñoù (theâm 8 bit

nöõa) laø 16 bit, vöôït quaù giôùi haïn 14 bit. Do vaäy ta

khoâng theå naøo tieán haønh moät pheùp tính toaøn tröïc

tieáp naøo giöõa 2 thanh ghi vôùi nhau hoaëc giöõa moät

thanh ghi vôùi moät haèng soá k. Haàu heát caùc leänh cuûa

PIC16F877A ñeàu phaûi lieân quan ñeán thanh ghi W cuõng vì

lyù do ñoù. Khi thöïc hieän moät doøng leänh naøo ñoù, thì

PIC seõ khoâng phaûi toán 8 bit ñeå löu ñòa chæ cuûa thanh

ghi W trong maõ leänh ( vì ñöôïc hieåu ngaàm). Coù theå xem

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

24

Baùo caùo ñoà aùn moân hoïc I

thanh ghi W laø thanh ghi trung gian trong quaù trình vieát

chöông trình cho PIC16F877A.

2.3.2. Taäp leänh cuûa PIC16F877A

PIC16F877A coù taát caû 35 leänh vaø ñöôïc trình baøy khaù

roõ trong datasheet. Em seõ ñính keøm taäp leänh ôû phaàn

cuoái cuøng cuûa baøi baùo caùo.

Trong chöông trình, em söû duïng ngoân ngöõ asembly ñeå

vieát. Trình bieân dòch laø Mplab ñöôïc Microchip cung caáp

mieãn phí cho ngöôøi duøng.

2.4. Caùc vaán ñeà veà Timer

PIC16F877A coù taát caû 3 timer : timer0 (8 bit), timer1

(16 bit) vaø timer2 (8 bit).

Timer0

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

25

Baùo caùo ñoà aùn moân hoïc I

Sô ñoà khoái cuûa Timer0

Cuõng gioáng nhö 8051, Timer0 cuûa 16F877A cuõng coù 2

chöùc naêng : ñònh thôøi vaø ñeám xung. 2 chöùc naêng treân

coù theå ñöôïc löïa choïn thoâng qua bit soá 5 TOCS cuûa

thanh ghi OPTION.

Ngoaøi ra, ta cuõng coù theå löïa choïn caïnh tích cöïc

cuûa xung clock, caïnh taùc ñoäng ngaét…thoâng qua thanh ghi

treân.

Timer0 ñöôïc tích hôïp theâm boä tieàn ñònh 8 bit

(prescaler), coù taùc duïng môû roäng “dung löôïng” cuûa

Timer0. Boä prescaler naøy coù theå ñöôïc ñieàu chænh bôûi

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

26

Baùo caùo ñoà aùn moân hoïc I

caùc 3 bit PS2:PS0 trong thanh ghi OPTION. Noù coù theå coù

giaù trò 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:128, 1:256 tuøy

thuoäc vaøo vieäc thieát laäp caùc giaù trò 0 ,1 cho 3 bit

treân.

Boä tieàn ñònh coù giaù trò 1:2 chaúng haïn ,coù nghóa

laø : bình thöôøng khoâng söû duïng boä tieàn ñònh cuûa

Timer0 (ñoàng nghóa vôùi tieàn ñònh tæ leä 1:1) thì cöù khi

coù taùc ñoäng cuûa 1 xung clock thì timer0 seõ taêng theâm

moät ñôn vò. Neáu söû duïng boä tieàn ñònh 1:4 thì phaûi

maát 4 xung clock thì timer0 môùi taêng theâm moät ñôn vò.

Voâ hình chung, giaù trò cuûa timer0 (8 bit) luùc naøy

khoâng coøn laø 255 nöõa maø laø 255*4=1020.

Caùc thanh ghi lieân quan ñeán Timer0 bao goàm :

- TMR0 : chöùa giaù trò ñeám cuûa Timer0

- INTCON : cho pheùp ngaét hoaït ñoäng

- OPTION_REG : ñieàu khieån prescaler

Timer1

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

27

Baùo caùo ñoà aùn moân hoïc I

Sô ñoà khoái cuûa Timer1

Timer1 laø boä ñònh thôøi 16 bit, giaù trò cuûa Timer1

seõ ñöôïc löu trong hai thanh ghi 8 bit TMR1H:TMR1L. Côø

ngaét cuûa Timer1 laø bit TMR1IF, bit ñieàu khieån cuûa

Timer1 laø TRM1IE.

Caëp thanh ghi cuûa TMR1 seõ taêng töø 0000h leân ñeán

FFFFh roài sau ñoù traøn veà 0000h. Neáu ngaét ñöôïc cho

pheùp, noù seõ xaûy ra khi khi giaù trò cuûa TMR1 traøn töø

FFFFh roài veà 0000h, luùc naøy TMR1IF seõ baät leân.

Timer1 coù 3 cheá ñoä hoaït ñoäng :

- Cheá ñoä hoaït ñoäng ñònh thôøi ñoàng boä : Cheá ñoä

ñöôïc löïa choïn bôûi bit TMR1CS. Trong cheá ñoä naøy xung

caáp cho Timer1 laø Fosc/4, bit T1SYNC khoâng coù taùc

duïng.

- Cheá ñoä ñeám ñoàng boä : trong cheá ñoä naøy, giaù

trò cuûa timer1 seõ taêng khi coù xung caïnh leânh vaøo

chaân T1OSI/RC1. Xung clock ngoaïi seõ ñöôïc ñoàng boä vôùi

xung clock noäi, hoaït ñoäng ñoàng boä ñöôïc thöïc hieän

ngay sau boä tieàn ñònh tæ leä xung (prescaler).

- Cheá ñoä ñeám baát ñoàng boä :cheá ñoä naøy xaûy ra

khi bit T1SYNC ñöôïc set. Boä ñònh thôøi seõ tieáp tuïc ñeám

trong suoát quaù trình nguû cuûa vi ñieàu khieån vaø coù

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

28

Baùo caùo ñoà aùn moân hoïc I

khaû naêng taïo moät ngaét khi boä ñònh thôøi traøng vaø

laøm cho Vi ñieàu khieån thoaùt khoûi traïng thaùi nguû.

Timer2 : laø boä ñònh thôøi 8 bit bao goàm moät boä tieàn

ñònh (prescaler), moät boä haäu ñònh Postscaler vaø moät

thanh ghi chu kyø vieát taét laø PR2. Vieäc keát hôïp timer2

vôùi 2 boä ñònh tæ leä cho pheùp noù hoaït ñoäng nhö moät

boä ñinh thôøi 16 bit. Module timer2 cung caáp thôøi gian

hoaït ñoäng cho cheá ñoä ñieàu bieán xung PWM neáu module

CCP ñöôïc choïn.

Sô ñoà khoái cuûa Timer2

II. Motor Driver L293D :

L293D laø IC duøng ñeå ñieàu khieån cuøng 1 luùc 2 ñoäng

cô nhoû. Trong ñeà taøi cuûa mình, em chæ duøng noù ñeå

ñieàu khieån moät ñoäng cô.

Doøng giôùi haïn cuûa L293 laø 600mA.

Sô ñoà chaân cuûa L293

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

29

Baùo caùo ñoà aùn moân hoïc I

Sô ñoà hoaït ñoâng cuûa L293D

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

30

Baùo caùo ñoà aùn moân hoïc I

Baûng ñieàu khieån caùc chaân chöùc naêng cuûa L293D

ENABLE DIRA DIRB FunctionGVHD : TS. Nguyeãn Thieän Thaønh

SVTH: Nguyeãn Uy Danh31

Baùo caùo ñoà aùn moân hoïc I

High High low Quay phaûiHigh low high Quay traùiHigh Low/high Low/high Döøng nhanhLow Döøng chaäm

Trong ñoà aùn , em söû duïng 3 chaân cuûa PortC ñeå ñieàu

khieån 3 chaân DIR1A, DIR1B vaø EN1 vaø laøm quay ñoäng cô

M1. Keát quaû thu ñöôïc khaù toát.

III. Caùc IC khaùc

IC74LS138

Em söû duïng IC naøy ñeå choïn led ñöôïc hieån thò. Ñaây

laø IC coù chöùc naêng phaân keânh, töø tín hieäu maõ hoùa

ñaàu vaøo coù theå choïn ñöôïc moät trong 8 keânh ñaàu ra

khaùc nhau (chaân ñöôïc choïn tích cöïc möùc 0).

Sô ñoà chaân :

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

32

Baùo caùo ñoà aùn moân hoïc I

Sô ñoà nguyeân lyù:

3 chaân A, B, C ñöôïc maõ hoùa ñeå choïn keânh ñaàu ra.

Caùc chaân G2A, G2B (tích cöïc thaáp) vaø G1 (tích cöïc cao)

laø caùc chaân cho pheùp. Y0:Y7 laø caùc ngoõ ra.

Baûng chaân trò

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

33

Baùo caùo ñoà aùn moân hoïc I

IC74LS47: coù chöùc naêng chuyeån töø BCD sang maõ ñeå

hieån thò ra led 7 ñoaïn.

Sô ñoà keát noái

Caùc chaân A3:A0 laø ñeå ñöa tín hieäu maõ BCD. Caùc

chaân a,b,c,d,e,f,d laø tín hieäu output maõ led 7 ñoaïn

(tích cöïc möùc thaáp).

Baûng chaân trò

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

34

Baùo caùo ñoà aùn moân hoïc I

IV. Ñoái töôïng ñieàu khieån : Ñoäng cô DC

Ñaây caø ñoäng cô em söû duïng trong ñeà taøi :

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

35

Baùo caùo ñoà aùn moân hoïc I

Beân trong ñoäng cô coù gaén moät encoder ñoàng truïc

vôùi noù duøng ñeå xaùc ñònh toác ñoä vaø vò trí cuûa ñoäng

cô.

Caùc thoâng soá cuûa ñoäng cô nhö sau:

+ Ñieän aùp DC caáp cho ñoäng cô : 24VDC

+ Toác ñoä toái ña 4000 voøng/phuùt

+ Soá xung cuûa encoder 108xung/voøng

+ Ñieän caûm L=102mH

Ñoäng cô coù taát caû 6 daây ra :

+ 2 daây cung caáp nguoàn 24 V cho ñoâng cô

+ 2 daây nguoàn 5V cung caáp aùp cho encoder

+ 1 daây tín hieäu keânh A vaø 1 daây keânh A buø ñöa

xung encoder ra ngoaøi

Phöông phaùp ñieàu khieån : Thay ñoåi toác ñoä ñoäng cô baèng

caùch thay ñoåi aùp caáp vaøo cho ñoäng cô.

Nguyeân lyù hoaït ñoäng cuûa caûm bieán encoder : coù nhieàu loaïi

encoder khaùc nhau. Moãi loaïi laïi coù moät nguyeân lyù

hoaït ñoäng khaùc nhau, trong khuoân khoå baùo caùo ñoà aùn

I em xin trình baøy phaàn nguyeân lyù loaïi encoder trong

ñeà taøi maø em söû duïng : incremental encoder.

Moâ hình thöù 1

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

36

Baùo caùo ñoà aùn moân hoïc I

Incremental encoder veà cô baûn laø moät ñóa troøn quay

quanh moät truïc ñöôïc ñuïc loã nhö hình treân.

ÔÛ 2 beân maët cuûa caùi ñóa troøn ñoù, seõ coù moät boä

thu phaùt quang. Trong quaù trình encoder quay quanh truïc,

neáu gaëp loã roáng thì aùnh saùng chieáu qua ñöôïc, neáu

gaëp maõnh chaén thì tia saùng khoâng chieáu quaù ñöôïc. Do

ñoù tín hieäu nhaän ñöôïc töø sensor quang laø moät chuoåi

xung. Moãi encoder ñöôïc cheá taïo seõ bieát saün soá xung

treân moät voøng. Do ñoù ta coù theå duøng vi ñieàu khieån

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

37

Baùo caùo ñoà aùn moân hoïc I

ñeám soá xung ñoù trong moät ñôn vò thôøi gian vaø tính ra

toác ñoä ñoäng cô.

Caùi encoder maø em söû duïng trong ñoà aùn cuûa mình,

hoaøn toaøn gioáng vôùi moâ hình ôû treân. Tuy nhieân, moâ

hình treân coù nhöôïc ñieåm lôùn laø : ta khoâng theå xaùc

ñònh ñöôïc ñoäng cô quay traùi hay quay phaûi, vì coù quay

theo chieàu naøo ñi nöõa thì chæ coù moät daïng xung ñöa ra.

Ngoaøi ra ñieåm baét ñaàu cuûa ñoäng cô, ta cuõng khoâng

theå naøo bieát ñöôïc.

Caûi tieán moâ hình 1 baèng moâ hình 2 nhö sau:

Moâ hình thöù 2

Trong moâ hình naøy, ngöôøi ta ñuïc taát caû laø 2

voøng loã. Voøng ngoaøi cuøng gioáng nhö moâ hình 1, voøng

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

38

Baùo caùo ñoà aùn moân hoïc I

giöõa pha so vôùi voøng ngoaøi laø 90 ñoä. Khi ñoù, daïng

xung ra töø 2 voøng treân nhö sau :

Hai xung ñöa ra töø 2 voøng leäch nhau 90 ñoä, neáu voøng

ngoaøi nhanh pha hôn voøng trong thì chaéc chaén ñoäng cô

quay töø traùi sang phaûi vaø ngöôïc laïi.

Moät loã ôû voøng trong cuøng duøng ñeå phaùt hieän ñieåm

baét ñaàu cuûa ñoäng cô. Coù theå vieát chöông trình cho vi

ñieàu khieån nhaän bieát : neáu coù moät xung phaùt ra töø

voøng trong cuøng naøy, töùc laø ñoäng cô ñaõ quay ñuùng

moät voøng.

Vôùi nhöõng ñaëc tính treân, encoder duøng raát phoå

bieán trong vieäc xaùc ñònh vò trí goùc cuûa ñoäng cô…..

Vaán ñeà quan troïng trong vieäc tìm mua nhöõng loaïi

ñoäng cô coù gaén encoder nhö theá naøy ñeå laøm ñoà aùn

ñoái vôùi sinh vieân laø : caëp maét quang 2 beân encoder

ñeå taïo xung thöôøng bò cheát vaø khoâng coù ñoà thay theá.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

39

Baùo caùo ñoà aùn moân hoïc I

Moät loaïi encoder thöù 2 cuõng phoå bieán hieän nay, ñoù

laø :absolute encoder.

Moâ hình ñóa quang cuûa loaïi naøy nhö sau:

Chöông III :

Nguyeân lyù hoaït ñoäng cuûa moät soá module trong

maïch

I.Maïch nguoàn 5 V chuaån cung caáp cho vi ñieàu khieån vaø nguoàn

24 cung caáp cho ñoäng cô.

1. Sô ñoà nguyeân lyù

R 32.2K

0

- +

D 1

B R ID G E

1

2

3

4

D 3

LE D

U 4LM 7812

1

3

2V IN

GND

V O U T

O U T_5

0

D 14LE D

0

R 4560

D 16LE D

O U T_12

0

R 101k

D 15LE D

0

R 6

4.7-2W

O U T_24

Q 1Q 2S A 1015

J6

24V A C /5A

12

D 12D 1N 4007

0J7

5V

12

Q 2S A 1302Q 3

O U T_5

0

0

R 7

4.7-2W

R 11470

J8

12V

12

J9

24V

12

0

R 5

100K

R 92.2K

C 82200uF /35V

C 11

2200uF /35V

C 9

2200uF /35V

F 1

F U S E

Q 2S A 1302Q 2

D 10

D 1N 4007

C 10

8200uF /50V

U 3LM 7824

1

3

2V IN

GND

V O U T

O U T_12

D 9

D 1N 4007

0

0

O U T_24

C 12

0.1uF

D 13

D 1N 4007

0

D 8D 1N 4007

0

U 5LM 7805

1

3

2V IN

GND

V O U T

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

40

Baùo caùo ñoà aùn moân hoïc I

2. Giaûi thích nguyeân lyù hoaït ñoäng

Töø traùi sang :

- Duøng bieán aùp ñeå chuyeån töø nguoàn 220VAC sang24VAC cung caáp vaøo module maïch nguoàn treân.

- Caàu diode D1 BRIDGE duøng ñeå naén doøng xoay chieàu

thaønh moät chieàu. Khoái maïch goàm caùc linh kieän D14007

D8, D14007 D12, Q1 C1815, R3 2.2k, R5 100k, Led D3 duøng

ñeå baùo hieäu coù nguoàn cung caáp ôû ñaàu vaøo.

- Caùc tuï trong maïch naøy ñeàu coù taùc duïng loïc

nhieãu nguoàn vaøo , cuõng nhö loïc nhieãu nguoàn ñaàu ra.

Laøm cho nguoàn töông ñoái oån ñònh, khoâng bò aûnh höôûng

nhieàu bôûi taûi (taûi nhoû).

- Transitor coâng suaát Q2SA1302 duøng ñeå keùo doøng cho

2 nguoàn 24 V vaø 12V traùnh hieän töôïng suït aùp treân

taûi do doøng yeáu.

- Caùc IC 7824, 7812, 7805 laø 3 IC oån aùp, laàn löôït

oån aùp 24V, 12V vaø 5V ôû ñaàu ra.

- 3 led D14, D15, D16 ñeå hieån thò coù aùp ôû ñaàu ra.

II. Khoái maïch reset vi ñieàu khieån PIC16F877A

1.Sô ñoà nguyeân lyù

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

41

Baùo caùo ñoà aùn moân hoïc I

10k

0

P IC 16F 877A

234567

3334353637383940

1516171823242526

1920212227282930

13

14

3211

3112

1

8910

R A 0/A N 0R A 1/A N 1R A 2/A N 2/V R E F -/C V R E FR A 3/A N 3/V R E F +R A 4/T0C K I/C 1O U TR A 5/A N 4/S S */C 2O U T

R B 0/IN TR B 1R B 2

R B 3/P G MR B 4R B 5

R B 6/P G CR B 7/P G D

R C 0/T1O S O /T1C K IR C 1/T1O S I/C C P 2R C 2/C C P 1R C 3/S C K /S C LR C 4/S D I/S D AR C 5/S D OR C 6/TX/C KR C 7/R X/D T

R D 0/P S P 0R D 1/P S P 1R D 2/P S P 2R D 3/P S P 3R D 4/P S P 4R D 5/P S P 5R D 6/P S P 6R D 7/P S P 7

O S C 1/C LK IN

O S C 2/C LK O U T

V D DV D D

V S SV S S

M C LR */V P P

R E 0/R D */A N 5R E 1/W R */A N 6R E 2/C S */A N 7

HI

2. Gi ải thích

Vi ñieàu khieån 16F877A hoaït ñoäng khi chaân soá 1 MCLR ôû

möùc 1 vaø bò reset khi bò clear veà möùc 0.

Vôùi maïch reset ôû treân, bình thöôøng phím nhaán hôû ra,

chaân reset möùc 1 , vi ñieàu khieån hoaït ñoäng. Khi nhaán

phím xuoáng, chaân 1 chaïm ñaát bò clear veà 0, vi ñieàu

khieån ñöôïc reset trôû laïi traïng thaùi ban ñaàu. ( thanh

ghi PC troû ñòa chæ 0000h trong boä nhôù chöông trình).

III. Khoái maïch queùt phím

1.Sô ñoà nguyeân lyù

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

42

Baùo caùo ñoà aùn moân hoïc I

10k 10k

0

HANG 1

HI

10k

HANG 2

10k

HANG 3

4M hz

10k

0C 6 30p

HIHI

HANG 0

0

C 5 30p

P IC 16F 877A

234567

3334353637383940

1516171823242526

1920212227282930

13

14

3211

3112

1

8910

R A 0/A N 0R A 1/A N 1R A 2/A N 2/V R E F -/C V R E FR A 3/A N 3/V R E F +R A 4/T0C K I/C 1O U TR A 5/A N 4/S S */C 2O U T

R B 0/IN TR B 1R B 2

R B 3/P G MR B 4R B 5

R B 6/P G CR B 7/P G D

R C 0/T1O S O /T1C K IR C 1/T1O S I/C C P 2R C 2/C C P 1R C 3/S C K /S C LR C 4/S D I/S D AR C 5/S D OR C 6/TX/C KR C 7/R X/D T

R D 0/P S P 0R D 1/P S P 1R D 2/P S P 2R D 3/P S P 3R D 4/P S P 4R D 5/P S P 5R D 6/P S P 6R D 7/P S P 7

O S C 1/C LK IN

O S C 2/C LK O U T

V D DV D D

V S SV S S

M C LR */V P P

R E 0/R D */A N 5R E 1/W R */A N 6R E 2/C S */A N 7

HI

2. Giaûi thích keát noái

Söû duïng PORTD cuûa vi ñieàu khieån ñeå thöïc hieån

queùt phím. Caùc chaân 6,5,4 keát noái thaønh 3 coät

(colums), caùc chaân 3,2,1,0 keát noái thaønh 4 haøng

(rows), chaân 7 boû troáng.

Thieát laäp caùc chaân rows laø chaân input, chaân cols

laø chaân output. Keùo caùc ñieän trôû leân nguoàn ôû rows

ñeå xaùc ñònh ñuùng möùc logic beân ngoaøi ñöa vaøo vi ñieàu

khieån.

3. Giaûi thuaät queùt phím

b1: Kieåm tra coù keït phím naøo khoâng. Neáu khoâng bò keït

phím thì qua böôùc 2.

b2: Tieán haønh queùt phím, xem thöû phím naøo nhaán, laáy

maõ phím ñoù veà löu trong bieán key.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

43

Baùo caùo ñoà aùn moân hoïc I

b3: Moãi giaù trò bieán key ñaïi dieän cho moät phím treân

baøn phím. ÖÙng vôùi moãi bieán key, ta ñaët ra moät phím

hieån thò treân led mong muoán.

b4: Tra baûng ñeå ñoåi giaù trò bieán key sang maõ BCD

chuaån bò ñöa vaøo 7447 ñeå ñoåi dang maõ led 7 ñoaïn.

b5 : Laëp laïi böôùc 1 ñeå nhaán ñuùng phím tieáp theo.

IV. Giaûi thuaät ñieàu khieån ON_OFF ñoäng cô DC

1.Sô ñoà nguyeân lyù

0

P IC 16F 877A

234567

3334353637383940

1516171823242526

1920212227282930

13

14

3211

3112

1

8910

R A 0/A N 0R A 1/A N 1R A 2/A N 2/V R E F -/C V R E FR A 3/A N 3/V R E F +R A 4/T0C K I/C 1O U TR A 5/A N 4/S S */C 2O U T

R B 0/IN TR B 1R B 2

R B 3/P G MR B 4R B 5

R B 6/P G CR B 7/P G D

R C 0/T1O S O /T1C K IR C 1/T1O S I/C C P 2R C 2/C C P 1R C 3/S C K /S C LR C 4/S D I/S D AR C 5/S D OR C 6/TX/C KR C 7/R X/D T

R D 0/P S P 0R D 1/P S P 1R D 2/P S P 2R D 3/P S P 3R D 4/P S P 4R D 5/P S P 5R D 6/P S P 6R D 7/P S P 7

O S C 1/C LK IN

O S C 2/C LK O U T

V D DV D D

V S SV S S

M C LR */V P P

R E 0/R D */A N 5R E 1/W R */A N 6R E 2/C S */A N 7

HI

HI

0

Encoder

1 2 3 4

Vcc

GND

C.A

C.A-

A-

+

M G 1

12

Nguon 24V

+-

0

H I

C 6 30p

C 5 30p

Encoder :108 xung, 4000vong/phut

U 14

L293

271015

19

36

1114

4513 12

168

1A2A3A4A

1/2E N3/4E N

1Y2Y3Y4Y

GND

GND

GND

GND

V C C 1V C C 2

0

4M hz

10k

Noái 2 chaân 3 vaø 6 cuûa L293D vaøo 2 daây nguoàn cuûa

ñoäng cô. Söû duïng 2 bit RC6 vaø RC7 cuûa PORTC vi ñieàu

khieån noái vaøo 2 chaân 2 vaø 7 cuûa L293D ñeå ñieàu khieån

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

44

Baùo caùo ñoà aùn moân hoïc I

chieàu quay. Bit RC5 laø bit cho pheùp ñoäng cô hoaït ñoäng.

Chaân RA4 ñöôïc ñònh ôû cheá ñoä input ñeå nhaän xung töø

encoder truyeàn veà.

2. Giaûi thuaät ñieàu khieån

b1: Ñaët 2 bit RC6 vaø RC7 laø 0, 1 hoaëc ngöôïc laïi ñeå

xaùc ñònh chieàu quay cuûa ñoäng cô. Baät bit RC5 leân 1 cho

pheùp ñoäng cô quay.

b2: Duøng Timer1 ñònh thôøi gian 1ms, Timer0 ôû cheá ñoä

ñeám xung töø encoder. Cöù sau moãi 1ms ( thôøi gian laáy

maãu) ngaét timer1 xaûy ra, trong chöông trình phuïc vuï

ngaét cuûa timer1, tieán haønh ñoïc xung cuûa encoder chöùa

trong thanh ghi TMR0 cuûa timer0.

b3 : Töø soá xung cuûa Timer0 trong 1ms, ta tính toaùn

ñöôïc toác ñoä hieän taïi cuûa ñoäng cô.

b4 : Thöïc hieän pheùp tröø giöõa toác ñoä ñaët vaø toác

ñoä ño ñöôïc. Neáu hieäu soá lôùn hôn 0 ( khoâng coù nhôù)

thì cho ñoäng cô tieáp tuïc chaïy, neáu hieäu soá nhoû hôn 0

(côø nhôù leân 1) thì tieán haønh taét ñoäng cô baèng caùch

cho bit EN=0.

b5: Cöù sau 1s thì hieän toác ñoä cuûa ñoäng cô ra led 7

ñoaïn moät laàn.

b6: Laëp laïi lieân tuïc quaù trình treân, ta coù toác

ñoä ño dao ñoäng xung quanh toác ñoä ñaët.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

45

Baùo caùo ñoà aùn moân hoïc I

Chöông IV

Chöông trình vieát baèng Assembly ñieàu khieån ON_OFF ñoäng cô DC

Phaàn chöông trình seõ ñöôïc em trình baøy trong buoåi baûo

veä ñoà aùn moân hoïc. Caùc phaàn ñaùnh giaù chaát löôïng

ñieàu khieån , nhaän xeùt v.v… seõ ñöôïc em trình baøy trong

baøi baùo caùo chính thöùc vaø trong buoåi baûo veä ñoà aùn

moân hoïc.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

46

Baùo caùo ñoà aùn moân hoïc I

Phuï luïc:

Taäp leänh PIC16F877A

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

47

Baùo caùo ñoà aùn moân hoïc I

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

48

Baùo caùo ñoà aùn moân hoïc I

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

49

Baùo caùo ñoà aùn moân hoïc I

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

50

Baùo caùo ñoà aùn moân hoïc I

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

51

Baùo caùo ñoà aùn moân hoïc I

Taøi lieäu tham khaûo1. Hoà Trung Myõ. Vi xöû lyù. Nhaø xuaát baûn ñaïi hoïc Quoác

Gia

2. Microchip. Datasheet 16F877A

3. Tröông Sa Sanh (chuû bieân). Kyõ Thuaät ñieän Ñaïi Cöông.

Nhaø xuaát baûn ñaïi hoïc Quoác Gia

4. Nguyeãn Thò Phöông Haø. Lyù Thuyeát ñieàu khieån Töï Ñoäng.

Nhaø xuaát baûn ñaïi hoïc quoác gia.

5. Caùc taøi lieäu töø internet, töø dieãn ñaøn

www.picvietnam.com vaø caùc luaän vaên cuûa caùc anh

chò khoùa treân.

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

52

Baùo caùo ñoà aùn moân hoïc I

Muïc luïc

Ñeà muïc trangLôøi caûmôn………………………………………………………………………………………………………………………………….. 1Chöông I : Giôùi thieäu veà ñeàtaøi…………………………………………………………………………… ………….. 2

I. Toùm taét ñeà taøi ñoà aùn moân hoïc I……………………………………………………………………. 2

1. Giôùi thieäu caùc module maïch cuûa ñeàtaøi……………………………………….. 2

2. Sô ñoà nguyeân lyù keát noái caùc module trongmaïch …………………… 3

3. Caùch vaän haønh maïch…………………………………………………………………………….. 3

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

53

Baùo caùo ñoà aùn moân hoïc I

II. Caùc yeâu caàu cuûa ñeà taøi………………………………………………………………………… …………. 4Chöông II : Giôùi thieäu veà caùc linh kieän, phaàn töû söûduïng trong maïch……………. 5

I. Vi ñieàu khieån PIC16F877A………………………………………………………………………………. 5

1. Khaùi quaùt veà vi ñieàu khieånPIC16F877A………………………………………. 5

1.1. Sô ñoà chaân vaø sô ñoà nguyeân lyù cuûaPIC16F877A……………… 5

1.2. Nhaän xeùt……………………………………………………………………………………………. 6

1.3. Khaùi quaùt veà chöùc naêng cuûa caùc porttrong vi ñieàu khieånPIC16F877A…………………………………………………………………………………………………….

71.4. Taïi sao söû duïng PIC16F877A

………………………………………………….. 82. Tìm hieåu veà vi ñieàu khieån PIC16F877A

………………………………………... 102.1. Caáu truùc phaàn cöùng cuûa

PIC16F877A………………………………….. 102.2. Toå chöùc boä nhôù

PIC16F877a……………………………………………………… 132.2.1.Boä nhôù chöông

trình…………………………………………………………….. 132.2.2. Boä nhôù döõ lieäu

………………………………………………………………………. 142.2.3. Moät vaøi thanh ghi chöùc naêng ñaëc

bieät SFR……………… 162.3. Thanh ghi W(work) vaø taäp leänh cuûa

PIC16F877A…………. 182.3.1. Thanh ghi

W………………………………………………………………………….. 182.3.2. Taäp leänh cuûa

PIC16F877A……………………………………………… 18

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

54

Baùo caùo ñoà aùn moân hoïc I

2.4. Caùc vaán ñeà veà Timer…………………………………………………………………. 18

II. Motor Driver L293D………………………………………………………………………………………… 22

III. Caùc IC khaùc………………………………………………………………………………………………………… 24

IV. Ñoái töôïng ñieàu khieån : Ñoäng cô DC………………………………………………………….. 27Chöông III :Nguyeân lyù hoaït ñoäng cuûa moät soá moduletrong maïch …………… …… 31

I.Maïch nguoàn 5 V chuaån cung caáp cho vi ñieàu khieånvaø nguoàn 24 cung caáp cho ñoängcô……………………………………………………………………………………………………………

31II. Khoái maïch reset vi ñieàu khieån

PIC16F877A………………………………………….. 32

III. Khoái maïch queùtphím………………………………………………………………………………………… 33

IV. Giaûi thuaät ñieàu khieån ON_OFF ñoäng côDC…………………………………….. …… 34Chöông IV:Chöông trình vieát baèng Assembly ñieàu khieånON_OFF ñoäng cô DC…………………………………………………………………………………………………………………………………

36Phuï luïc: Taäp leänhPIC16F877A………………………………………………………………………………………… 37

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

55

Baùo caùo ñoà aùn moân hoïc I

GVHD : TS. Nguyeãn Thieän ThaønhSVTH: Nguyeãn Uy Danh

56