Trong thời gian học tập v nghi n cứu, đƣợc học tập v nghi n cứu môn vi điều khiển , lập tr nh C v ứng dụng của nó trong c c lĩnh vực của hệ thống sản xuất hiện đ i. V vậy để có thể nắm vững phần l thuyết v p dụng kiến thức đó v o trong thực tế, chúng em đƣợc nhận đồ n môn học với đề t i: “Thiết kế, chế tạo mạch u n n t tốc ộ ộng cơ ện 1 chi u”. Với đề t i đƣợc giao, chúng em đã vận dụng kiến thức của m nh để t m hiểu v nghi n cứu l thuyết, đặc biệt chúng em t m hiểu sâu v o t nh to n thiết kế phục vụ cho việc ho n thiện sản phẩm. Dƣới sự hƣớng dẫn chỉ bảo nhiệt t nh của thầy Nguyễn Trung T àn cùng với sự cố gắng nỗ lực của c c th nh vi n trong nhóm chúng em đã ho n th nh xong đồ n của m nh. Tuy nhi n do thời gian v kiến thức còn h n chế n n không tr nh khỏi thiếu sót khi thực hiện đồ n n y. V vậy chúng em rất mong sẽ nhận đƣợc nhiều kiến đ nh gi , góp của thầy cô gi o, cùng b n bè để đề t i đƣợc ho n thiện hơn
Trang 1SVTH: Khổng Văn Hải
Phùng Văn Quang
1
MỤC LỤC MỤC LỤC 1
LỜI NÓI ẦU 2
NH N X T CỦ GI O VI N 3
NH N X T CỦ HỘI ỒNG PHẢN BIỆN 4
CHƯƠNG I: CƠ SỞ LÝ THUYẾT 5
1.1 Giới thiệu về họ vi điều khiển PIC16F877 5
1.2.Encoder .17
1.3 ộng cơ điện 1 chiều .20
1.4.Khối hiển thị: Giới Thiệu Về LCD 26
1.5.Một số linh kiện kh c .34
CHƯƠNG II:THIẾT KẾ MẠCH .40
2.1.Sơ đồ khối 40
2.2.Sơ đồ m ch - nguy n l ho t động v t nh chọn c c khối 40
CHƯƠNG III: CHƯƠNG TR NH IỀU KHIỂN 47
3.1.Code chương tr nh 47
KẾT LU N ……… 50
Trang 2SVTH: Khổng Văn Hải
Phùng Văn Quang
2
LỜI NÓI ĐẦU
Sự ph t triển của công nghệ Tự ộng Hóa thời gian qua không t ch rời sự ph t triển của c c công nghệ cao kh c như công nghệ thông tin (CNTT), công nghệ truyền thông v cơ điện t C c th nh tựu của chip vi x l , m ng v truyền thông được p dụng rộng rãi trong c c sản phẩm v hệ thống T H Ngược l i, nhiều nguy n l của điều khiển tự động được ứng dụng trong c c sản phẩm CNTT C c sản phẩm công nghệ cao ng y c ng thông minh hơn v được thiết kế t ch hợp tối ưu cả phần x c (phần cứng - cơ kh , linh kiện…) v phần hồn (phần mềm - software, thuật to n…)
tr n quan điểm cơ điện t Xu hướng n y t o n n c c sản phẩm t ch hợp trong nó nhiều chức năng của nhiều lĩnh vực công nghệ Sự hội tụ c c công nghệ trong một sản phẩm l m ranh giới giữa CNTT v truyền thông, công nghệ T H v cơ điện t ng y
c ng thu hẹp
Trong thời gian học tập v nghi n cứu, được học tập v nghi n cứu môn vi điều khiển , lập tr nh C v ứng dụng của nó trong c c lĩnh vực của hệ thống sản xuất hiện
đ i V vậy để có thể nắm vững phần l thuyết v p dụng kiến thức đó v o trong thực
tế, chúng em được nhận đồ n môn học với đề t i: “Thiết kế, chế tạo mạch u
n n t tốc ộ ộng cơ ện 1 chi u” Với đề t i được giao, chúng em đã vận
dụng kiến thức của m nh để t m hiểu v nghi n cứu l thuyết, đặc biệt chúng em t m hiểu sâu v o t nh to n thiết kế phục vụ cho việc ho n thiện sản phẩm
Dưới sự hướng dẫn chỉ bảo nhiệt t nh của thầy Nguyễn Trung T àn cùng với sự
cố gắng nỗ lực của c c th nh vi n trong nhóm chúng em đã ho n th nh xong đồ n của m nh Tuy nhi n do thời gian v kiến thức còn h n chế n n không tr nh khỏi thiếu sót khi thực hiện đồ n n y V vậy chúng em rất mong sẽ nhận được nhiều kiến đ nh gi , góp của thầy cô gi o, cùng b n bè để đề t i được ho n thiện hơn
S n V ên thực hiện
Khổng Văn Hải
P ùng Văn Quang
Trang 3SVTH: Khổng Văn Hải
Phùng Văn Quang
5
CHƯƠNG I : CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu v họ vi đi u khi n PIC16F877A
1.1.1.Những Đặc m của họ v u n PIC 16F877A
H nh1.1.1 Sơ đồ chân PIC 16F877A
Trang 5Việc xuất nhập dữ liệu ở PIC16F877 kh c với họ 8051 Ở tất cả c c PORT của PIC16F877 , ở mỗi thời điểm chỉ thực hiện được một chức năng :xuất hoặc nhập ể chuyển từ chức năng n y nhập qua chức năng xuất hay ngược l i, ta phải x l bằng phần mềm, không như 8051 tự hiểu lúc n o l chức năng nhập, lúc n o l chức năng xuất
Trong kiến trúc phần cứng của PIC16F877 , người ta s dụng thanh ghi TRIS ở địa chỉ 85H để điều khiển chức năng I/O tr n Muốn x c lập c c chân n o của PORT
l nhập (input) th ta set bit tương ứng chân đó trong thanh ghi TRIS Ngược l i, muốn chân n o l output th ta clear bit tương ứng chân đó trong thanh ghi TRIS iều n y ho n to n tương tự đối với c c PORT còn l i
Ngo i ra, PORT còn có c c chức năng quan trọng sau :
- Ngõ v o nalog của bộ DC : thực hiện chức năng chuyển từ nalog sang Digital
Trang 6SVTH: Khổng Văn Hải
Phùng Văn Quang
8
Khi muốn chân n o của PORTB l input th ta set bit tương ứng trong thanh ghi
TRISB, ngược l i muốn chân n o l output th ta clear bit tương ứng trong TRISB
Thanh ghi TRISB còn được t ch hợp bộ điện trở kéo l n có thể điều khiển được
bằng chương tr nh
PORTC
PORTC có 8 chân v cũng thực hiện được 2 chức năng input v output dưới sự điều khiển của thanh ghi TRISC tương tự như hai thanh ghi tr n
Ngo i ra PORTC còn có c c chức năng quan trọng sau :
- Ngõ v o xung clock cho Timer1 trong kiến trúc phần cứng
- Bộ PWM thực hiện chức năng điều xung lập tr nh được tần số, duty cycle: s
dụng trong điều khiển tốc độ v vị tr của động cơ v.v…
- T ch hợp c c bộ giao tiếp nối tiếp I2C, SPI, SSP, US RT
PORTD
PORTD có 8 chân Thanh ghi TRISD điều khiển 2 chức năng input v output của
PORTD tương tự như tr n PORTD cũng l cổng xuất dữ liệu của chuẩn giao tiếp
song song PSP (Parallel SlavePort)
PORTE
PORTE có 3 chân Thanh ghi điều khiển xuất nhập tương ứng l TRISE C c chân
của PORTE có ngõ v o analog B n c nh đó PORTE còn l c c chân điều khiển của
chuẩn giao tiếp PSP
1.1.2 Tìm u v v u khi n PIC16F877A
Cấu trúc phần cứng của PIC16F877A
PIC l t n viết tắt của “ Programmable Intelligent computer” do hãng General
Instrument đặt t n cho con vi điều khiển đầu ti n của họ Hãng Microchip tiếp tục
ph t triển sản phầm n y v cho đến h ng đã t o ra gần 100 lo i sản phẩm kh c nhau
PIC16F887 l dòng PIC kh phổ biến, kh đầy đủ t nh năng phục vụ cho hầu hết
tất cả c c ứng dụng thực tế ây l dòng PIC kh dễ cho người mới l m quen với PIC
có thể học tập v t o nền tản về họ vi điều khiển PIC của m nh
Trang 7- 5 port v o ra với t n hiệu điều khiển độc lập
- 2 bộ định thời Timer0 v Timer2 8 bit
- 1 bộ định thời Timer1 16 bit có thể ho t động ở cả chế độ tiết kiệm năng lượng với nguồn xung clock ngo i
- 2 bộ Capture/ Compare/ PWM
- 1 bộ biến đổi nalog -> Digital 10 bit, 8 ngõ v o
- 2 bộ so s nh tương tự
- 1 bộ định thời gi m s t (Watch Dog Timer)
- 1 cổng song song 8 bit với c c t n hiệu điều khiển
- 1 cổng nối tiếp
- 15 nguồn ngắt
Trang 9c ch kh c
Mỗi bank của bộ nhớ dữ liệu PIC16F877 bao gồm cả c c thanh ghi có chức năng đặc biệt SFR nằm ở c c c c ô nhớ địa chỉ thấp v c c thanh ghi mục đ ch dùng chung GPR nằm ở vùng địa chỉ còn l i của mỗi bank thanh ghi Vùng ô nhớ c c thanh ghi mục đ ch dùng chung n y ch nh l nơi người dùng sẽ lưu dữ liệu trong qu tr nh viết chương tr nh Tất cả c c biến dữ liệu n n được khai b o chứa trong vùng địa chỉ n y Trong cấu trúc bộ nhớ dữ liệu của PIC16F877 , c c thanh ghi SFR n o m thường xuy n được s dụng (như thanh ghi ST TUS) sẽ được đặt ở tất cả c c bank để thuận tiện trong việc truy xuất Sở dĩ như vậy l v , để truy xuất một thanh ghi n o đó trong
bộ nhớ của 16F877 ta cần phải khai b o đúng bank chứa thanh ghi đó, việc đặt c c
Trang 11SVTH: Khổng Văn Hải
Phùng Văn Quang
13
thanh ghi n y ta phải chuyển đến bank0 Ngo i ra một v i c c thanh ghi thông dụng
kh c ( sẽ giới thiệu sau) cũng chứa ở bank0
- Bank1 gồm c c ô nhớ có địa chỉ từ 80h đến FFh C c thanh ghi dùng chung có địa chỉ từ 0h đến Efh C c thanh ghi TRIS , TRISB, TRISC, TRISD, TRISE cũng được chứa ở bank1
- Tương tự ta có thể suy ra c c nhận xét cho bank2 v bank3 dựa tr n sơ đồ tr n Cũng quan s t tr n sơ đồ, ta nhận thấy thanh ghi ST TUS, FSR… có mặt tr n cả 4 bank Một điều quan trọng cần nhắc l i trong việc truy xuất dữ liệu của PIC16F877
l : phải khai b o đúng bank chứa thanh ghi đó Nếu thanh ghi n o m 4 bank đều chứa th không cần phải chuyển bank
Một vài thanh ghi chức năng đặc biệt SFR
Thanh ghi STATUS: thanh ghi n y có mặt ở cả 4 bank thanh ghi ở c c địa chỉ 03h,
83h, 103h v 183h : chứa kết quả thực hiện phép to n của khối LU, tr ng th i reset
v c c bit chọn bank cần truy xuất trong bộ nhớ dữ liệu
Thanh ghi OPTION_REG : có mặt ở bank2 v bank3 có địa chỉ 81h v 181h
Thanh ghi n y cho phép đọc v ghi, cho phép điều khiển chức năng pull_up của c c chân trong PORTB, x c lập c c tham số về xung t c động, c nh t c động của ngắt ngo i vi v bộ đếm Timer0
Thanh ghi INTCON : có mặt ở cả 4 bank ở địa chỉ 0Bh,8Bh,10Bh,18Bh Thanh ghi
cho phép đọc v ghi, chứa c c bit điều khiển v c c bit b o tr n timer0, ngắt ngo i vi RB0/INT v ngắt khi thay đổi tr ng th i t i c c chân của PORTB
Trang 12SVTH: Khổng Văn Hải
Phùng Văn Quang
14
Thanh ghi PIE1 :địa chỉ 8Ch, chứa c c bit điều khiển chi tiết c c ngắt của c c khối
chức năng ngo i vi
Thanh ghi PIR1 : địa chỉ 0Ch, chứa cờ ngắt của c c khối chức năng ngo i vi, c c
ngắt n y được cho phép bởi c c bit điều khiển chứa trong thanh ghi PIE1
Thanh ghi PIE2 : địa chỉ 8Dh, chứa c c bit điều khiển c c ngắt của c c khối chức
năng CCP, SSP bú, ngắt của bộ so s nh v ngắt ghi v o bộ nhớ EEPROM
Thanh ghi PIR2: địa chỉ 0Dh, chứa cờ ngắt của c c khối chức năng ngo i vi, c c
ngắt n y được cho phép bởi c c bit điều khiển chứa trong thanh ghi PIE2
Thanh ghi PCON : địa chỉ 8Eh, chứa c c cờ hiệu cho biết tr ng th i c c chế độ
reset của vi điều khiển
Thanh ghi W(work)
ây l thanh ghi rất đặc biệt trong PIC16F877 Nó có vai trò tương tự như thanh ghi ccummulator của 8051, tuy nhi n tầm ảnh hưởng của nó rộng hơn rất nhiều
Tập lệnh của PIC16F877 có tất cả 35 lệnh th số lệnh có sự “góp mặt” của thanh ghi W l 23 lệnh Hầu hết c c lệnh của PIC16F877 đều li n quan đến thanh ghi W
Trang 138 bit) v gi trị một hằng số k n o đó (th m 8 bit nữa) l 16 bit, vượt qu giới h n 14 bit Do vậy ta không thể n o tiến h nh một phép t nh to n trực tiếp n o giữa 2 thanh ghi với nhau hoặc giữa một thanh ghi với một hằng số k Hầu hết c c lệnh của PIC16F877 đều phải li n quan đến thanh ghi W cũng v l do đó Khi thực hiện một dòng lệnh n o đó, th PIC sẽ không phải tốn 8 bit để lưu địa chỉ của thanh ghi W trong
mã lệnh ( v được hiểu ngầm) Có thể xem thanh ghi W l thanh ghi trung gian trong
qu tr nh viết chương tr nh cho PIC16F877
Trang 14Timer0 được t ch hợp th m bộ tiền định 8 bit (prescaler), có t c dụng mở rộng
“dung lượng” của Timer0 Bộ prescaler n y có thể được điều chỉnh bởi c c 3 bit PS2:PS0 trong thanh ghi OPTION Nó có thể có gi trị 1:2, 1:4, 1:8, 1:16 , 1:32, 1:64, 1:128, 1:256 tùy thuộc v o việc thiết lập c c gi trị 0 ,1 cho 3 bit tr n
Bộ tiền định có gi trị 1:2 chẳng h n ,có nghĩa l : b nh thường không s dụng bộ tiền định của Timer0 (đồng nghĩa với tiền định tỉ lệ 1:1) th cứ khi có t c động của 1 xung clock th timer0 sẽ tăng th m một đơn vị Nếu s dụng bộ tiền định 1:4 th phải mất 4 xung clock th timer0 mới tăng th m một đơn vị Vô h nh chung, gi trị của timer0 (8 bit) lúc n y không còn l 255 nữa m l 255*4=1020
C c thanh ghi li n quan đến Timer0 bao gồm :
- TMR0 : chứa gi trị đếm của Timer0
Trang 15Cặp thanh ghi của TMR1 sẽ tăng từ 0000h l n đến FFFFh rồi sau đó tr n về 0000h Nếu ngắt đƣợc cho phép, nó sẽ xảy ra khi khi gi trị của TMR1 tr n từ FFFFh rồi về 0000h, lúc n y TMR1IF sẽ bật l n
Timer1 có 3 chế độ ho t động :
- Chế độ ho t động định thời đồng bộ : Chế độ đƣợc lựa chọn bởi bit TMR1CS Trong chế độ n y xung cấp cho Timer1 l Fosc/4, bit T1SYNC không có t c dụng
- Chế độ đếm đồng bộ : trong chế độ n y, gi trị của timer1 sẽ tăng khi có xung
c nh l nh v o chân T1OSI/RC1 Xung clock ngo i sẽ đƣợc đồng bộ với xung clock nội, ho t động đồng bộ đƣợc thực hiện ngay sau bộ tiền định tỉ lệ xung (prescaler)
- Chế độ đếm bất đồng bộ: chế độ n y xảy ra khi bit T1SYNC đƣợc set Bộ định thời sẽ tiếp tục đếm trong suốt qu tr nh ngủ của vi điều khiển v có khả năng t o một ngắt khi bộ định thời tr ng v l m cho Vi điều khiển tho t khỏi tr ng th i ngủ
Timer2 : l bộ định thời 8 bit bao gồm một bộ tiền định (prescaler), một bộ hậu
định Postscaler v một thanh ghi chu kỳ viết tắt l PR2 Việc kết hợp timer2 với 2 bộ định tỉ lệ cho phép nó ho t động nhƣ một bộ đinh thời 16 bit Module timer2 cung cấp thời gian ho t động cho chế độ điều biến xung PWM nếu module CCP đƣợc chọn
H nh 1.1.6.Sơ đồ khối của Timer2
Trang 16* Nguy n l ho t động cơ bản của encoder, LED v lỗ
Nguy n l cơ bản của encoder, đó l một đĩa tròn xoay, quay quanh trục Tr n đĩa có
c c lỗ (rãnh) Người ta dùng một đèn led để chiếu l n mặt đĩa Khi đĩa quay, chỗ không có lỗ (rãnh), đèn led không chiếu xuy n qua được, chỗ có lỗ (rãnh), đèn led sẽ chiếu xuy n qua Khi đó, ph a mặt b n kia của đĩa, người ta đặt một con mắt thu Với
c c t n hiệu có, hoặc không có nh s ng chiếu qua, người ta ghi nhận được đèn led có chiếu qua lỗ hay không Khi trục quay, giả s tr n đĩa chỉ có một lỗ duy nhất, cứ mỗi lần con mắt thu nhận được t n hiệu đèn led, th có nghĩa l đĩa đã quay được một vòng Tuy nhi n, những vấn đề được đặt ra l , l m sao để x c định ch nh x c hơn vị tr của đĩa quay (mịn hơn) v l m thế n o để x c định được đĩa đang quay theo chiều
n o? ó ch nh l vấn đề để chúng ta t m hiểu về encoder
-Ta có công thức đo vận tốc:
V = vòng/phút
1.2.2 Encoder tuyệt ố (absolute encoder)
- Sơ ồ nguyên lý kết cấu:
Encoder kiểu tuyệt đối, kết cấu gồm c c phần sau: bộ ph t nh s ng(LED ph t), đĩa
mã hóa (chứa c c dải băng mang t n hiệu) v một bộ thu nh s ng nh y với nh s ng
từ bộ ph t (bộ thu thường l photosensor)
Trang 17c c dải băng, c c diện t ch phân tố có phân tố trong suốt ( nh s ng có thể xuy n qua được) v cũng có phân tố được phủ l n một lớp m nh s ng không thể chiếu xuy n qua được Sự trong suốt v không trong suốt đặc trưng đặc t nh của c c phân tố
Nguyên lý hoạt ộng:
Ba bộ phận quan trọng nhất cấu th nh encoder tuyệt đối l đèn LED, đĩa mã hóa v
c c photosensor nh s ng được chiếu từ đèn LED qua đĩa mã hóa đến c c photosensor Số đèn LED bằng với số dải băng (hay còn gọi l vòng lỗ) tr n đĩa mã hóa v cũng bằng với số photosensor ( hoặc cũng có thể dùng một đèn LED nhưng công suất của đèn n y phải lớn, nh s ng của nó phải chiếu phủ hết c c dải băng tr n đĩa mã hóa) Tr n encoder, đèn LED, dải băng v photosensor phải sắp xếp nằm tr n một đường thẳng èn LED v photosensor được gắn cố định tr n vỏ encoder Còn đĩa mã hóa th quay quanh trục mang c c t n hiệu mã hóa nhằm x c định góc quay
Khi nh s ng từ nguồn s ng chiếu tới đĩa mã hóa, nếu đối diện với tia s ng l vùng diện t ch trong suốt, nh s ng xuy n qua đĩa đến photosensor l m xuất hiện dòng chảy qua photosensor ( lúc n y photosensor n y nhận được t n hiệu 1 trong mã nhị phân) Nếu đối diện với tia s ng l vùng diện t ch bị phủ lớp chắn s ng, nh s ng không đến được photosensor (lúc n y photosensor n y nhận được t n hiệu 0 trong mã nhị phân)