NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
……………………………………………………………………………………….
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
……………………………………………………………………………………….
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
Hưng Yên, Ngày….tháng… năm 2010
Giáo Viên Hướng Dẫn :
Nguyễn Ngọc Minh
Môc lôc
Môc lôc
Néi dung Trang
PHẦN I : GIỚI THIỆU ĐỀ TÀI
A: Mục tiêu của đề tài
B: Chủ đề và luật thi
I : Giới thiệu về sân thi đấu, kích thước sân
II : Chủ đề và luật thi
PHẦN I I : Ý TƯỞNG VÀ PHƯƠNG ÁN CHẾ TẠO RÔBÔT
người. Đặc biệt những thập niên gần đây với sự xuất hiện và phát triển nhanh chóng của
công nghệ robot, những dây chuyền tự động chủ yếu thực hiện bằng hệ thống cánh tay
robot linh hoạt. Robot được ứng dụng rộng rãi trong các ngành công nghiệp, thay thế cho
các hoạt động của con người trong các môi trường độc hại, nguy hiểm như thám hiểm.
Robot không những được sử dụng nhằm mục đích tăng năng suất lao động mà dần đi vào
đời sống sinh hoạt của chúng ta. Ban đầu từ con robot lau sàn, những chú chó trông nhà,
… mục đích của chúng ta là tạo ra những con robot ngày càng trở nên thân thiện hơn nữa
với con người.
Cùng với sự phát động phong trào Rôbôt mạnh mẽ của trường Đại học sư phạm kĩ
thuật Hưng Yên trong những năm gần đây khoa Điện – Điện Tử đã phát động cuộc thi
Racing ( Rôbôt đua) nhằm khuyến khích niềm đam mê Rôbôt của sinh viên khoa Điện –
Điện Tử nói riêng và nhà trường nói chung chúng em đã bắt tay vào nghiên cứu ngay từ
những ngày đầu tiên và phát triển lên thành đề tài đồ án môn học này.
Sau một thời gian tập trung nghiên cứu, tìm tòi, học hỏi, đặc biệt dưới sự chỉ bảo,
hướng dẫn nhiệt tình của thầy: Nguyễn Ngọc Minh cùng các thầy cô trong khoa đã giúp
đỡ, tạo điều kiện cho chúng em hoàn thành đồ án môn học này.
Chúng em xin chân thành cảm ơn thầy giáo: Nguyễn Ngọc Minh, cùng các thầy,cô
đã giúp đỡ chúng em hoàn thành đồ án môn học này!
Nhóm sinh viên thực hiện : PHẦN I : GIỚI THIỆU ĐỀ TÀI
A: Mục tiêu của đề tài :
* Thiết kế và chế tạo hoàn thiện robot Racing tham gia cuộc thi Rôbôt Racing
khoa Điện -Điện Tử
- Thiết kế và chế tạo phần cơ khí.
- Thiết kế và chế tạo mạch điện điều khiển robot.
- Lập trình điều khiển robot.
- Khơi dậy niềm đam mê cho sinh viên và khả năng sáng tạo cho sinh viên, vận dụng
những kiến thức được trang bị trong nhà trường vào trong thực tế, khả năng làm việc theo
thúc (KNOCK-OUT).
b. Thứ tự ưu tiên sẽ là: điểm trận (đội thắng được 3 điểm, đội hòa được 1 điểm, đội
thua được 0 điểm), điểm hành trình (từ 0 đến 100 điểm), và điểm thời gian (từ 0 đến 180
giây). Khi hai đội có cùng số điểm có số điểm hành trình cao hơn sẽ là đội thắng cuộc.
Khi hai đội có cùng số
điểm trận và điểm hành trình, đội có thời gian thực hiện hành trình ngắn hơn sẽ là đội
thắng cuộc.
c. Các đội được phép retry Robot với số lần retry không hạn chế, việc retry Robot
được thực hiện tại điểm Checkpoint gần nhất mà Robot vượt qua được. Trong trường hợp
Robot bị phạm luật bởi Robot đối phương, Robot bị phạm luật được phép retry.
6. Phạm luật
Các trường hợp sau được cho là phạm luật và Robot bị truất quyền thi đấu:
a. Robot đi không theo hướng hành trình quy định.
c. Robot hai đội chạm nhau, Robot gây va chạm trên phần sân của đổi phương là
Robot phạm luật.
d. Robot dừng quá 10 giây.
PHẦN II : Ý TƯỞNG VÀ PHƯƠNG ÁN CHẾ TẠO RÔBÔT
* Sau một thời gian nghiên cứu và phân tích yêu cầu của luật thi do khoa phát
động chúng em đã đưa ra những ý tưởng và phương án chế tạo robot để giải quyết đề tài
của cuộc thi như sau:
A. Phương án về mảng cơ khí
• Giải pháp thiết kế cơ cấu cơ khí:
Để phù hợp với yêu cầu luật thi cuộc thi yêu cầu Rôbôt có tốc độ cao trong suốt quá trình
đua nên cơ cấu phải gọn nhẹ bám đường tốt bẻ lái góc cua thật tốt và tăng tốc độ trên
những đoạn đường thẳng.
- Qua nhiều ngày họp bàn ý tưởng và tham khảo các video cũng như những mô hình
Rôbôt Racing BKIT chúng em đã thiết kế và test thử tất các mô hình. Ban đầu từ những
mô hình thứ nhất và được tối ưu qua các lần chế tạo tiếp theo cuối cùng đã thông nhất ra
một mô hình tối ưu và đã thử nghiệm thành công
- Mô hình của bọn em như sau : mô hình Rôbôt đua xe F1,bẻ lái bánh trước nhằm đạt
Qua phân tích các loại dòng vi điều khiển, chúng em đã lựa chọn vi điều khiển loại
PIC18F4431chuyên dụng điều khiển động cơ với các ưu điểm nổi bật so với các loại vi
điều khiển khác:
• Dung lượng bộ nhớ lớn hơn: PIC18F4431 có 16 Kbyte Flash nội trú bên
trong, trong khi đó họ 80C51 chỉ có 4Kbyte. Trong bộ nhớ dữ liệu RAM, PIC18F4431 có
vùng RAM mở rộng gồm 768 Byte , 256 byte EPROM
• PIC18F4431 có 3 bộ Timer/Counter.
• 2 module Capture/Compare/PWM (CCP)
• 9 kênh chuyển đổi ADC 10bit
• Đặc biệt PIC18F4431 modul control power PWM (14 bit) từ pwm0 đến
Pwm7 sử dụng rất đơn giản và linh hoạt cho việc điều xung (rất thuận tiện cho mạch điều
khiển động cơ sử dụng phương pháp PWM để điều chỉnh tốc độ động cơ).
2.Giới thiệu VĐK PIC18F4431
2.1.Những đặc điểm của PIC18F4431
2.1.1 Đặc điểm nổi bật PIC18F4431:
• 33 Đầu vào ra output ,input
• 14-Bit Power Control PWM Module:
- Có 4 kênh (mỗi kênh gồm 1 cặp xung đối nghịch)
- Thời gian dead time linh hoạt
- Update từng duty cycle => ngõ ra PWM đáp ứng nhanh
• Motion Feefblack Module
+ Có 3 kênh capture độc lập:
- Các chế độ hoạt động linh hoạt cho việc đo đạc độ rộng xung
- Module hỗ trợ Hall sensor
+ Quadrature encoder interface:
- 2 pha vào và 1 ngõ vào index từ encoder
- Hỗ trợ đo đạc vận tốc
• High speed, 200Ksps 10 bit A/D converter
+ Có 9 kênh A/D
- 5 port I/O
- Trang bị 3 bộ định thời, 1 bộ 8 bit, 2 bộ 16 bit
- 2 modul Capture/compare/pwm
- Bộ chuyển đổi 10 bít ADC với tốc độ 5 ->10 us
- Cổng serian đồng bộ với chế độ SPI và I2C (master/slaver) thực hiện bằng phần
cứng
- Chế độ truyền nhận động bộ /bất đồng bộ với 9 bit địa chỉ kiểm tra
- Cổng song song (PSP) 8 bit
- Các chế độ định địa chỉ trực tiếp, gián tiếp, tướng đối
- Cho phép đọc/ghi bộ nhớ chương trình
- Có chế độ bảo vệ mã lập trình
- Chế độ SLEEP (tạm nghỉ) để tiết kiệm điện năng
- Cho phép chọn lựa chế độ dao động(nội , ngoại)
- Được sản xuất với nhiều loại khác nhau với cùng 1 mã vi điều khiển, tùy thuộc số
tính năng được trang bị them, các kiểu đế cắm: PDIP(40 chân),PLCC và QFP(cùng
44 chân)
2.2.Sơ đồ khối của PIC18F4431
Hình 8: Sơ đồ khối của PIC18F4431
2.3.Sơ đồ chức năng chân của PIC 18F4431
2.3.1.Sơ đồ chân:
Hình 9: Sơ đồ chức năng chân của PIC 18F4431
2.3.2.Chức năng các chân của Pic 18F4431
a. Port A (RA0 – RA5) : chân 2 –> chân 7
- chân chức I/O năng output ,input
- Đầu vào các kênh chuyển đổi ADC
- Có tất cả 6 chân, từ RA0 -> RA5. Trong đó RA2 và RA3 dùng để tiếp nhận
điện áp so sánh Vref+ và Vref-
- RA2 ,RA3,RA4 là chân đầu vào module feedback chuyên đọc ecoder tần số
cao
- RA4 còn là ngõ vào của xung clock cho timer0. RA5 có thể làm chân chọn
g.Dao đông ngoài :
- chân OSC1 : chân 13
+ chân OSC2 : chân 14
Hình 10: Mạch dao động
h.Chân RESET: chân 1
2.3.3 Bộ định thời trong PIC
Pic 18f4431 có 4 bộ định thời:
a. Timer0
Có các chức năng sau:
• Bộ timer/couter 8bit hoặc 16 bit
• Có thể đọc hoặc ghi được
• Nguồn xung clock có thể lấy từ bên trong hoặc bên ngoài
• Ngắt tràn từ ffh->00 với 8 bit và từ ffffh ->0000h với chế độ 16 bit
• Chọn cạnh cho xung clock ngoài
• Thanh ghi điều khiển T0CON
• Sơ đồ thanh ghi T0CON
Bảng 02: Thanh ghi T0CON
Bit 7 : TMR0ON bit điều khiển cho phép on/off
1= cho phép timer0 hoạt động
0 = không cho phép timer0 hoạt động
Bit6 T016BIT : chọn chế độ 16 bit timer0
1 = timer0 chế độ 8 bit timer/counter
0 = timer0 chế độ 16 bit timer/counter
Bit5 T0CS : timer0 bit chọn nguồn xung clock cho timer
1 = nguồn xung clock ngoài lấy từ pin T0CKI
0 = lấy từ dao động nội (CLK0)
Bit 4 T0SE : timer0 bit chọn cạnh xung clock ngoài
1 = cạnh xung HIGH_TO_LOW trên pin T0CKI
0 = cạnh xung LOW_TO_HIGH on pin T0CKI
Bit 3 PSA : bit cho phép chia tần trước của timer0
N
T1SYN
C
TMR1
C
S
TMR1
O
N
bit 7 bit 0
Thanh ghi T1CON
bit 7 RD16: 16-Bit định chế độ hoạt động 8 hay16 bit
1 = cho phép timer 1 hoạt động ở chế độ 16 bit
0 = cho phép timer 1 hoạt động ở chế độ 8 bit
bit 6 T1RUN: Timer1 Clock
1 = nguồn clock được lấy từ dao động timer1
0 = nguồn clock lấy từ nguồn khác
bit 5-4 T1CKPS1:T1CKPS0: lựa chon tỉ lệ chia clock đầu vào cho timer 1
11 = 1:8 Prescale value // chia trước 8 lần
10 = 1:4 Prescale value
01 = 1:2 Prescale value
00 = 1:1 Prescale value
bit 3 T1OSCEN: bit cho phép
dao động timer1
1 = cho phép bộ dao động Timer1
0 = khóa bộ dao động timer1
bit 2 T1SYNC: bit chọn đồng bộ ngoài xung clock của timer1
When TMR1CS = 1 (dùng dao động nội):
1 = không đồng bộ với clock ngoài ở chân input
0 = đồng bộ với clock ngoài
T2CK
P
S0
bit 7 bit 0
Legend:
R = Readable
bit
W = Writable
bit
U = Unimplemented bit, read as ‘0’
-n = Value at
POR
‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Thanh ghi T2CON
bit 7 không sử dụng để dự trữ
bit 6-3 TOUTPS3:TOUTPS0: lựa chọn số lần timer tràn xẩy ra ngắt
0000 = 1:1 Postscale // tràn 1 lần
0001 = 1:2 Postscale // tràn 2 lần
……
1111 = 1:16 Postscale
Bit 2 TMR2ON : cho phép timer2 hoạt động
1 = Timer2 is on
0 = Timer2 is off
bit 1-0 T2CKPS1:T2CKPS0: lựa chọn tỉ lệ chia clock đầu vào timer2
00 = Prescaler is 1 // chia trước 1
01 = Prescaler is 4 // cứ 4 clock thì co 1 clock được đưa vào timer2
1x = Prescaler is 16
d. Timer 5
Có các chức năng sau:
• Hoạt động chế độ timer/counter 16 bit
0 = cho phép chế độ hoạt động liên tục
bit 4-3 T5PS1:T5PS0: bit chọn chia tần trước cho timer5
11 = 1:8
10 = 1:4
01 = 1:2
00 = 1:1
Bit 2 T5SYNC: chọn xung clock đồng bộ ngoài cho timer 5
Khi TMR5CS = 1:
1 = không đồng bộ với nguồn xung ngoài vào
0 = đồng bộ với nguồn xung ngoài vào
Khi TMR5CS = 0:
Timer 5 sử dụng clock từ bộ dao động thạch anh
bit 1 TMR5CS: lựa chọn nguồn xung clock cho timer 5
1 = xung đếm timer ngoài ở chân T5CKI
0 = xung clock nội từ thạch anh (TCY)
bit 0 TMR5ON: bit cho phép timer 5 hoạt động
1 = cho phép timer 5 hoạt động
0 = không cho phép timer 5 hoạt động
4.3.4 Ngắt (interrupts)
Pic18F4431 có nhiều nguồn ngắt khác nhau .có mức độ ưu tiên khác nhau ,vector
ngắt có ưu tiên cao nhất ở địa chỉ 000008h , vector ngắt có địa chỉ thấp nhất ở địa chỉ
0000018h . mổi khi có sự kiện ngắt thì vi điều khiển sẽ dừng chương trình chính để thực
hiên chương trinh ngắt.
Có 10 thanh ghi điều khiển ngắt: RCON, INTCON,INTCON2,INTCON3,
PIR1,PIR2,PIR3, PIE1,PIE2,PIE3,IPR1,IPR2,IPR3
mỗi nguồn ngắt có 3 bít điều khiển ngắt :
• Bit cờ chỉ sự kiện ngắt suất hiện
• Bit cho phép thực thi chương trình rẽ nhánh đến địa chỉ vector ngắt khi cờ ngắt đã
bật
• Bit ưu tiên để chọn mức ưu tiên cao hay thấp