BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHÓA LUẬN TỐT NGHIỆP
ỨNG DỤNG PIC VỚI THUẬT TOÁN
ĐIỀU KHIỂN PIV TRÊN MÔ HÌNH TRỤC ĐỊNH VỊ
Họ và tên sinh viên:PHAN MINH THỨC
Ngành:ĐIỀU KHIỂN TỰ ĐỘNG
Niên khóa:2005-2009
Tháng 8/2009
1
ỨNG DỤNG PIC VỚI THUẬT TOÁN
ĐIỀU KHIỂN PIV TRÊN MÔ HÌNH TRỤC ĐỊNH VỊ
Tác giả
PHAN MINH THỨC
Khóa luận được đệ trình để đáp ứng yêu cầu
cấp bằng Kỹ sư ngành
Điều khiển tự động
Giáo viên hướng dẫn:
KS.NGUYỄN VĂN BÌNH
Tháng 8 năm 2009
• Sơ đồ chân và chức năng các chân.
• Các port xuất nhập và thanh ghi dẫn hướng.
• Các bộ timer.
• Bộ chuyển đổi A/D.
• Hoạt động ngắt.
• Cách sử dụng PWM.
• Chương trình biên dịch và nạp cho PIC.
2. Tìm hiểu về vít me đai ốc bi, động cơ servo DC, encoder
3. Thiết kế mô hình và mạch điều khiển.
4. Thuật toán điều khiển PIV : Tìm hiểu cơ bản về thuật toán và công thức tính
toán.
5. Kết quả đạt được :
• Mô hình cơ khí trục định vị và mạch điều khiển, mạch hiển thị cơ
bản hoàn thành.
• Chương trình điều khiển xuất led, xuất nhập tìn hiệu số, xuất nhập tín
hiệu tương tự, điều khiển độ rộng xung và lập trình ngắt hoạt động
tốt.
• Chương trình điều khiển bằng thuật toán PIV chạy tốt.
4
MỤC LỤC
Trang
Trang tựa...........................................................................................................................i
Cảm tạ..............................................................................................................................ii
Tóm tắt........................................................................................................................... iii
Mục lục ......................................................................................................................... iv
Danh sách các từ viết tắt.............................................................................................. viii
Danh sách các hình .........................................................................................................ix
Danh sách các bảng .........................................................................................................x
3.1. Thời gian và địa điểm nghiên cứu đề tài ................................................................24
3.1.1 thời gian tiến hành ................................................................................................24
3.2. Các chỉ tiêu theo dõi ...............................................................................................24
3.3. Phương pháp nghiên cứu ........................................................................................24
3.3.1 Thuật toán điều khiển PID....................................................................................24
3.3.2 Thuật toán điều khiển PIV....................................................................................27
3.3.3 Phương pháp điều rộng xung PWM .....................................................................30
CHƯƠNG 4 : KẾT QỦA VÀ THẢO LUẬN ............................................................32
4.1. Sơ đồ khối hệ thống ..............................................................................................32
4.2. Thiết kế phần cơ khí ..............................................................................................32
4.3. Thi công mạch điều khiển .....................................................................................33
4.3.1 Mạch xử lý trung tâm ..........................................................................................35
4.3.2 Mạch nguồn .........................................................................................................35
4.3.3 Mạch nạp cho VĐK.............................................................................................36
4.3.4 Mạch cầu H điều khiển động cơ..........................................................................36
4.3.5 Mạch giao tiếp Encoder và công tắc hành trình ...................................................37
4.3.6 Mạch hiển thị ........................................................................................................38
4.4. Lưu đồ thuật toán...................................................................................................41
4.4. Kết quả khảo nghiệm.............................................................................................41
6
CHƯƠNG 5 : KẾT LUẬN VÀ ĐỀ NGHỊ.................................................................44
5.1 Kết luận....................................................................................................................44
5.2 Đề nghị ....................................................................................................................44
TÀI LIỆU THAM KHẢO
PHỤ LỤC
\
Hình 2.13 : Giao diện phần mềm CCS .........................................................................22
Hình 2.14 : Giao diện phần mềm WinPic800...............................................................23
Hình 3.1 : Sơ đồ khối thuật toán điều khiển PID .........................................................25
Hình 3.2 : Ngõ ra vân tốc động cơ................................................................................28
Hình 3.3 : Sơ đồ khối của thuật toán điều khiển PIV...................................................29
Hình 3.4 : Phương pháp điều rộng xung PWM ............................................................30
Hình 4.1 : Sơ đồ khối của hệ thống ..............................................................................32
Hình 4.2 : Mô hình cơ khí mặt trước............................................................................33
Hình 4.3 : Mô hình cơ khí mặt sau .............................................................................. 34
Hình 4.4 : Sơ đồ khối mạch điều khiển ........................................................................34
Hình 4.5 : Mạch điều khiển ..........................................................................................34
Hình 4.6 : Mạch xử lý trung tâm ..................................................................................35
9
Hình 4.7 : Mạch nguồn .................................................................................................35
Hình 4.8 : Mạch nạp cho PIC .......................................................................................36
Hình 4.9 : Mạch xuất xung PWM từ PIC .....................................................................36
Hình 4.10 : Mạch cầu H................................................................................................37
Hình 4.11 : Mạch giao tiếp giữa PIC với Encoder và công tắc hành trình...................38
Hình 4.12 : Mạch led hiển thị .......................................................................................39
Hình 4.13 : Mạch nguyên lý led hiển thị ......................................................................40
Hình 4.14 : Lưu đồ thuật toán.......................................................................................42
Hình 4.15 : Khối xuất xung trong lưu đồ thuật toán ....................................................43
Hình 4.16 : Khối bảo vệ trong lưu đồ thuật toán..........................................................44
10
DANH SÁCH CÁC BẢNG
Đồng thời cùng với sự phát triển của nền công nghiệp thì việc xác định vị trí một
cách chính xác là một vấn đề cấp thiết ,đặc biệt là trong lĩnh vực Robot, máy công cụ, in
ấn…nên việc đưa ra một mô hình điều khiển chính xác vị trí là cần thiết và đúng đắn.
12
Chính vì thế em đã thực hiện đề tài : “Ứng dụng PIC với thuật toán điều khiển PIV
trên mô hình trục định vị”. Ở đây em xin giới thiệu về PIC18F4431. Tại sao lại chọn
PIC18F4431? điều này khá đơn giản. Thực ra khi bắt đầu học PIC thì bạn có thể chọn bất
cứ con PIC nào để tìm hiểu, bởi hầu hết các dạng PIC đều có cấu trúc phần cứng về cơ
bản là giống nhau, và tùy từng dạng PIC mà sẽ có những tính năng nâng cao khác, chính
điều đó giúp ta làm việc được với nhiều loại PIC một cách nhanh chóng. Với PIC18F4431
có đầy đủ các tính năng cần thiết.
13
Chương 2
TỔNG QUAN
Định vị là một hệ thống đã được ứng dụng phổ biến trong đời sống và có nhiều
cách để định vị, chẳng hạn như : động cơ tuyến tính, động cơ chuyên biệt, đai, xích …
Nhưng trong giới hạn đề tài này là xét đến hệ thống định vị dùng vít me đai ốc vì đơn
giản,dễ điều khiển, giá thành không đắt hơn các loại khác.
2.2. Vít me đai ốc bi
Hình 2.1 : Vít me đai ốc bi
Dùng để truyền chuyển động cho cơ cấu trượt dọc theo trục vít me, trong giới hạn
đề tài này thì cơ cấu đó là kim hiển thị. Do chuyển động đòi hỏi độ chính xác nên ta sử
dụng vít me bi vì lực ma sát nhỏ.
và dòng 1A.
2.4.2 Opto 6N136 và 6N137
Hình 2.5 : Opto 6N136
Hoạt động với nguồn 5V, điện áp vào tối đa là 7V, điện áp ra tối đa là 7V, dòng
không quá 50mA, chủ yếu dùng cho việc cách ly.
2.4.3 Transitor 2SA1943 và 2SC5200
Hình 2.6 : Transitor 2SA1943 và 2SC5200
16
2SC5200 là một loại transitor NPN, còn 2SA1943 là transitor loại PNP,
nguyên tắc hoạt động giống như các transitor thông thường nhưng có một số đặc
điểm riêng :
• 2SC5200 : điện áp tối đa VCB= 230V, VCE = 230V, VEB = 5V, dòng
tối đa IC = 15A, IB = 1.5A, chịu được nhiệt độ từ -550C đến 1500C.
B
• 2SA1943 : điện áp tối đa VCB= -230V, VCE = -230V, VEB = -5V,
dòng tối đa IC = -15A, IB = -1.5A, chịu được nhiệt độ từ -550C đến
1500C.
2.4.4 IC DM7433
Hình 2.7 : Cổng NOR 7433
Gồm 4 cổng NOR tích hợp lại, hoạt động với điện áp từ 4,25V đến 5,25V.
Có thể hoạt động trong điều kiện nhiệt độ từ 00C đến 700C.
2.4.5 IC 7404 và 7406
• Tần số hoạt động : DC – 40 MHz
• Bộ nhớ chương trình : 16384 bytes
• Bộ nhớ chương trình : 8192 lệnh
• Bộ nhớ dữ liệu : 768 bytes
• Bộ nhớ dữ liệu EEPROM : 256 bytes
• Các nguồn ngắt : 35
• Các port xuất nhập : Các port A, B, C, D, E
• Timer : có 4 bộ
• Các module capture/compare/PWM : số lượng 2
• Giao tiếp nối tiếp :SSP,USART
• Module chuyển đổi A/D 10 bit : 9 kênh ngõ vào
• Reset (và delay ) : POR,BOR, reset lệnh, PWRT, OST, MCLR, WDT.
• Bộ lệnh : 75
• Số chân : 40 chân PDIP, 44 chân TQFP, 44 chân QFN
2.5.3 Sơ đồ chân và chức năng các chân
19
Hình 2.12 : VĐK PIC18F4431
• Chân OSC1/CLKI/RA7 (13) : là ngõ vào kết nối dao động với thạch anh hoặc ngõ
vào nhận xung clock bên ngoài.
o OSC1 : ngõ vào dao động thach anh hoặc ngõ vào nguồn xung ở bên ngoài.
Ngõ vào có mạch schmitt trigger nếu sử dụng dao động RC.
o CLKI : ngõ vào nguồn xung bên ngoài. Luôn luôn kết hợp với chân hàm
OSC1.
o RA7 : Chân vào ra.
• Chân OSC2/CLKO/RA6 (14) : ngõ ra dao động thạch anh hoặc ngõ ra cấp xung
clock .
o OSC2 : ngõ ra dao động thạch anh .kết nối đến thạch anh hoặc bộ cộng
o CAP2 : chân vào capture 2.
o QEA : chân ngõ vào xung A của Encoder.
• Chân RA4/AN4/CAP3/QEB (6) :
o RA4 : xuất/nhập số.
o AN4 : ngõ vào tương tự của kênh thứ 4.
o CAP3 : chân vào capture 3.
o QEB : chân ngõ vào xung B của Encoder.
• Chân RA5/AN5/LVDIN(7) :
o RA5 : xuất/nhập số.
o AN5 : ngõ vào tương tự của kênh thứ 5.
o LVDIN : ngõ vào phát hiện điện áp thấp.
21
• Chân RB0/PWM0 (33) :
o RB0 : xuất/ nhập số.
o PWM0 : ngõ ra PWM0.
• Chân RB1/PWM1 (34) :
o RB1 : xuất/ nhập số.
o PWM1 : ngõ ra PWM1.
• Chân RB2/PWM2 (35) :
o RB2 : xuất/ nhập số.
o PWM2 : ngõ ra PWM2.
• Chân RB3/PWM3 (36) :
o RB3 : xuất/ nhập số.
o PWM3 : ngõ ra PWM3.
• Chân RB4/KBI0/PWM5 (37) :
o RB4 : xuất/ nhập số.
o KBI0 : chân thay đổi ngắt.
o PWM5 : ngõ ra PWM5.
o RC3 : xuất/ nhập số.
o TOCKI : ngõ vào xung clock bên ngoài cho timer0.
o T5CKI : ngõ vào xung clock bên ngoài cho timer5.
o INT0 : ngõ vào nhận tính hiệu ngắt ngoài 0.
• Chân RC4/INT1/SDI/SDA (23) :
o RC4 : xuất/ nhập số.
o INT1 : ngõ vào nhận tính hiệu ngắt ngoài 1.
o SDI : dữ liệu vào SPI.
o SDA : xuất nhập dữ liệu I2C.
• Chân RC5/INT2/SCK/SCL(24) :
o RC5 : xuất/ nhập số.
o INT2 : ngõ vào nhận tính hiệu ngắt ngoài 2.
o SCK : ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ SPI.
o SCL : ngõ vào xung clock nối tiếp đồng bộ/ngõ ra chế độ I2C.
23
• Chân RC6/TX/CK/SS (25) :
o RC6 : xuất/ nhập số.
o TX : truyền bấtt đồng bộ USART.
o CK : xung đồng bộ USART.
o SS : ngõ vào chọn lựa SPI phụ.
• Chân RC7/RX/DT/SDO (26) :
o RC7 : xuất/nhập số.
o RX : nhập bất đồng bộ USART.
o DT : dữ liệu đồng bộ USART.
o SDO : dữ liệu ra SPI.
• Chân RD0/T0CKI/T5CKI (19) :
o RD0 : xuất /nhập số.
o TOCKI : ngõ vào xung clock bên ngoài cho timer0.
o RD6 : xuất/nhập số.
o PWM6 : ngõ ra PWM6.
• Chân RD7/PWM7 (30) :
o RD7 : xuất/nhập số.
o PWM7 : ngõ ra PWM7.
• Chân RE0/AN6 (8) :
o RE0 : xuất/ nhập Số.
o AN6 : ngõ vào tương tự 6.
• Chân RE1/AN7 (9) :
o RE1 : xuất / nhập số.
o AN7 : ngõ vào tương tự 7.
• Chân RE2/AN8 (10) :
o RE2 : xuất/nhập số.
o AN8 : ngõ vào tương tự kênh thứ 8.
• Chân Vdd (11,32) và Vss (12,31): là các chân nguồn của PIC.
2.5.4 Các port xuất nhập
a) PORTA và thanh ghi TRISA
• PORTA là port hai chiều chỉ có 6 bit, thanh ghi định hướng dữ liệu tương
ứng là TRISA. Khi bit TRISA bằng 1 thì PORTA là port nhập và khi bit
TRISA bằng 0 thì PORTA là port xuất dữ liệu.
• Hoạt động của mỗi chân được lựa chọn bằng cách xóa/lập các bit điều khiển
cho phù hợp trong thanh ghi ANSEL0 và ANSEL1.
b) PORTB và thanh ghi TRISB
25