ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG GIẢI THUẬT PID (có code và layout bên dưới) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG GIẢI THUẬT PID (có code và layout bên dưới) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG GIẢI THUẬT PID (có code và layout bên dưới) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG GIẢI THUẬT PID (có code và layout bên dưới) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG GIẢI THUẬT PID (có code và layout bên dưới)
Trang 1ĐỒ ÁN 3
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI
THUẬT PID
Trang 2MỤC LỤC
DANH MỤC CÁC HÌNH VẼ X DANH MỤC CÁC BẢNG BIỂU XI DANH MỤC CÁC TỪ VIẾT TẮT XII
CHƯƠNG 1 TỒNG QUAN VỀ ĐỀ TÀI 1
1.1 GIỚI THIỆU ĐỀ TÀI 1
1.1.1 Mục đích của đề tài 1
1.1.2 Ứng dụng 1
1.1.3 Yêu cầu đề tài 1
CHƯƠNG 2 THIẾT KẾ TỔNG QUÁT 2
2.1 SƠ ĐỒ KHỐI 2
2.2 LINH KIỆN CHÍNH 3
2.2.1 PIC 16F877A 3
2.2.2 Module thu phát hồng ngoại 4
2.2.3 Module Bluetooth 4
2.2.4 Động cơ DC 5
CHƯƠNG 3 THIẾT KẾ CHI TIẾT 6
3.1 SƠ ĐỒ NGUYÊN LÝ CHI TIẾT 6
3.2 LƯU ĐỒ GIẢI THUẬT 7
CHƯƠNG 4 MÔ PHỎNG VÀ THI CÔNG 8
4.1 MÔ PHỎNG 8
4.1.1 Điều kiện mô phỏng 8
4.1.2 Kết quả mô phỏng 8
4.2 THI CÔNG 8
CHƯƠNG 5 KẾT LUẬN 9
5.1 KẾT LUẬN 9
Trang 35.2 ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN 9
5.2.1 Ứng dụng thực tiễn 9
5.2.2 Hướng phát triển 10
TÀI LIỆU THAM KHẢO 11
PHỤ LỤC 12
Trang 4DANH MỤC CÁC HÌNH VẼ
Hình 2.1: SƠ ĐỒ KHỐI 2
Hình 2.2: SƠ ĐỒ CHÂN PIC 16F877A 3
Hình 2.3: MODULE THU PHÁT HỒNG NGOẠI 4
Hình 2.4: MODULE BLUETOOTH 4
Hình 2.6: ĐỘNG CƠ DC 5
Hình 3.1: SƠ ĐỒ NGUYÊN LÝ 6
Hình 3.2: LƯU ĐỒ GIẢI THUẬT 7
DANH MỤC CÁC BẢNG BIỂU Bảng 4.1: KẾT QUẢ TEST MẠCH 8
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT
A Ampere
ADC Analog Digital Converter
PIC Programmable Intelligent computer
VAC Volts Alternating Current
Trang 6VDC Volts Direct Current
V Voltage
Trang 7ĐỒ ÁN 3 Trang 1/15
CHƯƠNG 1 TỒNG QUAN VỀ ĐỀ TÀI
1.1 GIỚI THIỆU ĐỀ TÀI
1.1.1 Mục đích của đề tài
- Thiết kế hệ thống điều khiển động cơ DC, sử dụng PIC 16F877A Lập trình
hệ thống điều khiển và hiển thị tốc độ
1.1.2 Ứng dụng
- Khoa học công nghệ ngày càng phát triển thì lĩnh vực điều khiển cần phải được mở rộng hơn Vì vậy việc điều khiển và quan sát trạng thái động cơ là cực kì quan trọng, góp phần phần triển nền công nghiệp tự động hóa
1.1.3 Yêu cầu đề tài
- Sử dụng vi điều khiển PIC
- Dùng động cơ DC với encode
- Tìm hiểu giải thuật PID
- Đo tốc độ bằng encode
- Hiển thị tốc độ lên điện thoại di động
- Thiết kế và thi công mạch
CHƯƠNG 2 THIẾT KẾ TỔNG QUÁT
2.1 Sơ đồ khối
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 8ĐỒ ÁN 3 Trang 2/15
Hình 2.1: Sơ đồ khối
- Khối nguồn:
Sử dụng nguồn 12V có nhiệm vụ cấp nguồn cho các khối khác hoạt động
- Khối cảm biến:
Sử dụng Module thu phát hồng ngoại và xuất ra cho PIC 16F877A
- Khối điều khiển:
Sử dụng PIC 16F877A đã được nạp Code => tùy thuộc vào việc cảm biến thu phát hồng ngoại và xuất tin hiệu của cãm biến, PIC 16F877A
sẽ điều khiển các chân ngõ ra hiển thị lên thiết bị di động thông qua Bluetooth
- Khối thiết bị di động:
Thiết bị di động có nhiệm vụ hiển thị tốc đo được
- Khối Bluetooth:
Gửi thông thông tin lên thiết bị di động
- Khối Động cơ DC :
Sử dụng động cơ DC để đo tốc độ
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 9ĐỒ ÁN 3 Trang 3/15
2.2 Linh kiện chính
2.2.1 PIC 16F877A[4]
Từ sơ đồ chân ở trên, ta rút ra các nhận xét ban đầu như sau:
- PIC16F877A có tất cả 40 chân
- 40 chân trên được chia thành 5 PORT, 2 chân cấp nguồn, 2 chân GND, 2 chân thạch anh và một chân dùng để RESET vi điều khiển
- 5 port của PIC16F877A bao gồm:
PORT B: 8 chân
PORT D: 8 chân
PORT C: 8 chân
PORT A: 6 chân
PORT E: 3 chân
2.2.2 Module thu phát hồng ngoại[1]
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Hình 2.2: Sơ đồ chân của PIC 16F877A[4]
Trang 10ĐỒ ÁN 3 Trang 4/15
Hình 2.3: 2.2.2 Module thu phát hồng ngoại[ [1]
- Chân 1: Đấu với nguồn Nguồn cung cấp 3V đến 5V tùy mục đích sử dụng
- Chân 2: Chân nối đất
- Chân 3: Output – Chân tín hiệu
- Module Thu Phát Hồng Ngoại có thể phát hiện khoảng cách 2cm đến 30cm Nhưng khoảng cách cho kết quả tốt trong thực tế là 2cm đến 10cm
1.1.1 Module Bluetooth[3]
- Điện áp hoạt động : +3.3VDC - 30mA
- Dải tần hoạt động được: 2.4GHz
- Kích thước : 26.9mm x 13mm x 2.2mm
1.1.2 Động cơ DC[3]
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Hình 2.4: Module Bluetooth HC05[3]
Trang 11ĐỒ ÁN 3 Trang 5/15
Hình 2.6: Động cơ DC[3]
- Chiều dài động cơ: 40mm
- Đường kính động cơ: 27.5mm
- Trục đường kính: 2.3mm
- Phạm vi điện áp: 6V đến 12V
CHƯƠNG 3 THIẾT KẾ CHI TIẾT
3.1 Sơ đồ nguyên lý chi tiết
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 12ĐỒ ÁN 3 Trang 6/15
Hình 3.1: Sơ đồ nguyên lý
Nguyên lý hoạt động:
- PIC 16F877A đã được nạp code, nhận tín hiệu mức thấp khi Cảm biến thu phát hồng ngoại nhận được tín hiệu vào, vi xử lý thực hiện chuyển đổi tín hiệu từ dạng tương tự sang tín hiệu số
- Đồng thời thực hiện kết nối giữa mạch và thiết bị bị di động thông qua Bluetooth
- Khi hồng ngoại cảm biến được, PIC 16F877A sẽ xử lý theo code đã nạp sẵn Xuất ra chân 25 và 26 Gửi tốc độ đo được lên điện thoại di động qua Bluetooth
3.2 Lưu đồ giải thuật
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
START
Trang 13ĐỒ ÁN 3 Trang 7/15
Sai
Đúng
Hình 3.2: Lưu đồ giải thuật
Giải thích lưu đồ
- Đầu tiên, khi cấp nguồn cho mạch, vi điều khiển sẽ tiến hành khởi tạo Sau
đó thực hiện kết nối với điện thoại qua Bluetooth,cảm biến thu phát hồng ngoại sẽ đo tốc độ động cơ DC Đồng thơi vi xử lý là PIC 16F877A sẽ gửi thông tin là tốc độ lên điện thoại di động qua Bluetooth
CHƯƠNG 4 MÔ PHỎNG VÀ THI CÔNG
4.1 Mô phỏng
4.1.1 Điều kiện mô phỏng
- Dùng vi điều khiển PIC
- Đo tốc độ bằng encode
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Kết nối Bluetooth
Kết nối lại
Thực hiện đếm xung
đông Ngắt timer để đo tốc độ
Hiển thị tốc độ ra điện thoại di động
END
Trang 14ĐỒ ÁN 3 Trang 8/15
- Hiển thị thông tin trên điện thoại di động
4.1.2 Kết quả mô phỏng
Bảng 4.1: Kết quả test mạch
Kết quả test mạch Nguồn cấp cho Mạch 12V
Chân số 25 12V/ 0.99A
Chân 26 12V/099A
- Đèn led trên mạch chớp liên tục là đang thực hiện lấy tốc độ động cơ hiển thị tốc độ lên điện thoại
4.2 Thi công
- Kết quả thực tế giống với kết quả mô phỏng
- Đo được tốc độ
- Thông tin được hiền thị trên điện thoại di động
KẾT LUẬN
4.3Kết luận
- Như vậy trong quá trình phân tích và thi công mạch, tôi đã nghiên cứu phần lớn những vấn đề cốt lõi của đề tài, nhưng do thời gian nghiên cứu
và kiến thức còn hạn chế nên không tránh khỏi sự thiếu sót mong quí thầy
cô đóng góp ý kiến để đồ án được hoàn chỉnh hơn
Ưu điểm:
- Mạch được thiết kế nhỏ ngọn, ta có thể dễ dàng điều chỉnh tùy thuộc vào yêu cầu và trường hợp cụ thể
- Cấu tạo và hoạt động đơn giản
- Có thể mở rộng và phát triển dễ dàng
- Dễ lắp đặt, thiết lập và sữa chữa
- Sử dụng các linh kiện quen thuộc
Nhược điểm:
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 15ĐỒ ÁN 3 Trang 9/15
- Cấu tạo mạch còn đơn giản, công suất nhỏ
- Phải tính toán, điều chỉnh lại các thông số trong các trường hợp khác nhau
- Tín hiệu từ cảm biến còn xuất hiện nhiễu và hoạt động trong cự ly ngắn
- Mạch thật được test trong phạm vi nhỏ, sử dụng cảm biến dễ bị nhiễu tín hiệu
4.4Ứng dụng và hướng phát triển
4.4.1 Ứng dụng thực tiễn
- Bên canh mục đích điều khiển, đề tài này còn có thể được ứng dụng ở nhiều lĩnh vực khác như giám sát, bảo trì
4.4.2 Hướng phát triển
- Hiển thị tốc độ qua internet
- Lưu trữ dữ liệu trên google drive
- Giao tiếo wifi
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 16ĐỒ ÁN 3 Trang 10/15
TÀI LIỆU THAM KHẢO
Tiếng Việt:
- [1] http://hshop.vn/products/cam-bien-hong-ngoai
- [2] http://linhkientudong.vn/ro-le-24v-5-chan_i1804_c223.aspx
- [3] http://www.dientuvietnam.net
- [4] http://www.picvietnam.com/forum/archive/index.php/t-1198.html
Tiếng Anh:
- [5] http://www.alldatasheet.com/
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 17ĐỒ ÁN 3 Trang 11/15
PHỤ LỤC
Code nạp cho PIC 16F877A
#include <16f887.h>
#include <def_877a.h>
#include <string.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#USE DELAY(CLOCK=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
//khai bao ngo vao ra
#define xung RB0
#define K1 RD0
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 18ĐỒ ÁN 3 Trang 12/15
//khai bao cac ham so nguyen
int soxung=0;
int8 count=0;
//char str[10];
#INT_EXT // ngat ngoai tu encoder
void ext_isr() {
soxung++;//dem xung tang dan theo bien thoi gian
}
#INT_TIMER1 // ngat timer de doc toc do
void interrupt_timer1()
{
count++;//dem tang dan
set_timer1(15535);
if(count==30) { //thoi gian doc toc do la 10*20=200ms
// LCD_putcmd(0x8a);
((soxung%10000)/1000);//nghin
((soxung%1000)/100);//tram
((soxung%100)/10);//chuc
(soxung%10);//don vi
//sprintf(str, "s,%ld,e\n", (long)soxung);
printf("s %d e", soxung);
count=0; soxung=0;
}
}
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 19ĐỒ ÁN 3 Trang 13/15
void main()
{ trisa=0x00;
trisb=0x01; //
trisd=0xFF;
trisc=0x00;
printf("hello");
setup_timer_1(t1_internal);//khoi tao che do hoat dong timer1
SET_TIMER1(15536); //T_dinhthoi = (65536-15536)/(20.000/4) = 10000us = 10ms
enable_interrupts(int_ext); //su dung ngat cho bo do xung
ext_int_edge(0,h_to_l);
disable_interrupts(int_timer1);
enable_interrupts(global);//ngat toan cuc
DUNG://che do dung dong co
disable_interrupts(int_timer1);//tat che do ngat ngoai cua timer1 ( ngung lay xung tu
bo encoder )
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY
Trang 20ĐỒ ÁN 3 Trang 14/15
while(true)
{
IF(K1==0) {WHILE(K1==0){}GOTO CHAY;}
}
CHAY://che do chay dong co
enable_interrupts(int_timer1);//bat che do ngat ngoai cua timer1 ( lay xung tu bo encoder )
while(true)
{
IF(K1==0) {WHILE(K1==0){}GOTO DUNG;}
}
}
ĐIỀU KHIỂN ĐỘNG CƠ DC DÙNG GIẢI THUẬT PID SVTH: PHAN XUÂN HUY