co dien tu
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
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