1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG GIẢI THUẬT PID (có code và layout bên dưới)

20 612 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 799,38 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đ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 2

MỤ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 3

5.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 4

DANH 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 5

DANH MỤC CÁC TỪ VIẾT TẮT

A Ampere

ADC Analog Digital Converter

PIC Programmable Intelligent computer

VAC Volts Alternating Current

Trang 6

VDC 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

Ngày đăng: 09/03/2018, 19:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w