Báo cáo môn vi xủa lý trong đo lường điều khiển

BÁO CÁO MÔN VXL TRONG ĐO LƯỜNG VÀ ĐIỀU KHIỂN
I. Đặt vấn đề :
Ngày nay việc ứng dụng vi điều khiển trong đo lường điều khiển có nhiều ý nghĩa. Cùng với sự phát triển của khoa họa kỹ thuật, đặc biệt là công nghệ bán dẫn, dẫn đến sự ra đời của nhiều dòng vi diều khiển khác nhau. Với vi điều khiển PIC887, là một dòng vi điều khiển mới ra đời, nên có các chức năng tương đương với một vi điều khiển hiện đại: tích hợp chức năng ADC 8bits và ADC 10bits tùy người dung cấu hình, có 3 bộ timer: timer0 8bits, timer1 16bits, timer2 8bits, truyền thông SPI, UART, I2C… Động cơ một chiều DC là một đối tượng thường gặp trong thực tế, nó ứng dụng rộng rãi trong công nghiệp, dân dụng…Việc đo lường và điều khiển tốc độ là một yêu cầu thực tế, do đó nhóm chúng em đã chọn đề tài: điều khiển và đo lường tốc độ động cơ DC.

II. Mục đích yêu cầu :
Mục đích: + Tìm hiểu về giao thức giữa máy tính và vi điều khiển, cụ thể trong báo cáo này là UART. + Tìm hiểu về cấu trúc của vi điều khiển cũng như lập trình cho vi điều khiển. + Biết cách xây dựng một giao diện ứng dụng sử dụng bộ thư viện MFC của VC++ 6.0. Nội dung công việc chúng em đã thực hiện là: + Xây dựng một modul điều khiển động cơ DC, modul hiển thị LCD và modul truyền thông lên máy tính qua cổng COM trên một board mạch. + Lập trình cho vi điều khiển để điều khiển và đo lường tốc độ động cơ. + Xây dựng một giao diện trên máy tính sử dụng truyền thông nối tiếp để truyền dữ liệu điều khiển từ máy tính xuống và từ vi điều khiển lên.

III. Modul phần cứng :
1. Khối Vi điều khiển và hiển thị: Hình ảnh của PIC16F887 SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên - Nguyễn Anh Tùng 1 Lớp TĐH K48

dùng chân 25 (chân TX) và chân 26 (chân RXD) để truyền và đưa tín hiệu lên máy tính qua cổng COM.Báo cáo môn vi xủa lý trong đo lường điều khiển Sơ đồ khối của PIC16F887 PIC16F887 có 40 chân được trình bày trong datasheet. Chúng em sử dụng chân RC2 (chân số 17) là chân PWM1 của PIC16F887 dùng để tạo độ rộng xung điều khiển tốc độ động cơ và chân RA4 (chân số 8) là chân có nhiệm vụ nhận xung đếm được từ Encorder gắn trên trục động cơ. SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên .Nguyễn Anh Tùng 2 Lớp TĐH K48 . Đồng thời chúng em sử dụng Port D dùng các chân như trong nguyên lý đề hiển thị cùng lúc lên màn hình LCD.

Để làm được điều đó chúng ta sử dụng IC Max 232. mức 1 tương ứng với 2.Báo cáo môn vi xủa lý trong đo lường điều khiển 2.12V). trong IC có chứa hai bộ chuyển đổi qua lại giữa hai mức điện áp là mức điện áp logic trong TTL và RS232. trong khi đó chuẩn RS232 của máy tính lại làm việc ở mức logic khác (mức 0 ứng với 3-12V.2V. Max 232 hoạt động ở mức điện áp 5V gồm 20 chân như sau: Sơ đồ khối bên trong của Max 232 như sau: SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên . Do đó.3 – 5V).Nguyễn Anh Tùng 3 Lớp TĐH K48 . Moddul truyền thông: Do vi điều khiển hoạt động ở mức lôgic của họ IC TTL (mức 0 tương ứng với từ 0 . để ghép nối giữa máy tính và vi điều khiển phải đồng nhất mức tín hiệu. mức 1 ứng với -3 đến .

Nguyễn Anh Tùng 4 Lớp TĐH K48 . SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên . sử dụng mạch kích FET. Modul điều khiển động cơ: Phần mạch công suất điều khiển động cơ. Việc ghép nối máy tính và vi điều khiển được thực hiện như sau: Chân 2 và 3 của cổng COM được nối với chân 8 và 14 của Max 232. 3. sau khi tín hiệu được chuyển đổi được nối với vi điều khiển thông qua chân RxD và TxD là hai chân số 25 và 26 của PIC16F887.Báo cáo môn vi xủa lý trong đo lường điều khiển Trong sơ đồ khối có mắc thêm tụ để đảm bảo cho IC hoạt động ổn định.

.Điode 3A.Mosfet IRF540N. SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên .Biến trở 10K.Nguyễn Anh Tùng 5 Lớp TĐH K48 . .Thạch anh 8 MHZ.Led báo. .Trở 1K. . .Optocouple P521. .Tụ 104. .Tụ gốm 22p. .Biến trở 100K. Sơ đồ mạch nguyên lý: Các linh kiện được dùng trong mạch bao gồm: .Báo cáo môn vi xủa lý trong đo lường điều khiển 4. .

) Giá trị xung được update sau một khoảng thời gian trích mẫu. Chương trình cho vi điều khiển PIC16F887 : a.Nguyễn Anh Tùng 6 Lớp TĐH K48 . + Điện áp đặt vào 2 đầu động cơ thay đổi sẽ làm tốc độ thay đổi. vì vậy tín hiệu điều xung PWM có tác động trực tiếp lên vận tốc. Chương trình phần mềm: 1. có thể dùng bộ PID. phải có khâu điều chỉnh tốc độ. Nhiệm vụ là phải có một hàm điều biến xung. SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên . Định hướng chương trình: Để điều khiển động cơ DC.Báo cáo môn vi xủa lý trong đo lường điều khiển C. khoảng thời gian này được xác định bởi timer. + Muốn đáp ứng được tốc độ mong muốn. có hồi tiếp: + Đề tài sử dụng encoder quang để phản hồi tốc độ(động cơ có gắn encoder 100xung/vòng.

Giải quyết vấn đề: Mạch có 2 chế độ hoạt động: Chế độ bằng tay và chế động tự động. Hiện thực code: Chương trình được viết bằng ngôn ngữ C trên phần mềm CCS. và timer0 chạy ở chế độ counter để đếm số xung. + Biến trở điều chỉnh Kp. + Khoảng thời gian lấy mẫu Ts được định trước. giá trị đọc vào từ 0 -> 1023.Nguyễn Anh Tùng 7 Lớp TĐH K48 . Ts : Khoảng thời gian lấy mẫu.) thì timer1 sẽ sinh ngắt. SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên . các tham số được set từ phím bấm và biến trở. Điều này có nghĩa là Kx = giá trị đọc từ adc*0. như vậy bước thay đổi nhỏ nhất tương ứng là 100/1024 = 0. Kd. hay từ PC truyền xuống… b. Ts = 3ms.0976. so_xung : Số xung đếm được trong thời gian Ts. Các tính toán trong lập trình: • Đọc giá trị encoder: + Để đo được tốc độ động cơ.0976. Ki được set từ phím bấm và biến trở. Ở chế độ bằng tay: giá trị của tốc độ đặt cũng như các tham số Kd. + Ta có công thức tính toán vận tốc động cơ theo số xung đếm được như sau: n [vòng/phút] = No : Số xung trong một vòng(độ phân giải của encoder). Ở chế độ tự động: giá trị của tốc độ đặt được PC truyền xuống. cho biến so_xung cập nhật giá trị và hiển thị lên LCD và gửi lên máy tính. + Sử dụng timer2 để đặt tần số PWM: • Đọc và tính giá trị từ biến trở: + Vi điều khiển PIC16F887 có 12 kênh ADC có độ phân giải 10bit. Kp. • Điều xung PWM: Tín hiệu điều khiển trực tiếp lên mạch công suất là tín hiệu PWM để điều khiển tốc độ động cơ. ta dùng timer1 để định khoảng thời gian lấy mẫu. sau mỗi khoảng thời gian Ts(Trong bài.Báo cáo môn vi xủa lý trong đo lường điều khiển + Giá trị tốc độ có thể được set từ phím bấm. Ki ta gán giá trị từ 0 -> 100.

0.c Chinhthuc .c: Chế độ điều khiển tự động. manual.c action. action.c: Chứa các hàm xử lý chính của vi điều khiển. chúng em chia thành 5 modul: dcMotorObject.c: Chế độ điều khiển bằng tay.Nguyễn Anh Tùng 8 Lớp TĐH K48 . Chương trình giao diện trên màn hình máy tính: Chương trình được thiết kế trên VC 6. sử dụng bộ thư viện MFC. autoset.c manual..c: Khai báo các thư viện. các hàm. chinhthuc. Sơ lược về giải thuật lập trình: SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên . Quan hệ giữa các Modul: dcMotorObject . 3.c 2.c autoset..Báo cáo môn vi xủa lý trong đo lường điều khiển Chương trình được phân ra thành các modul để dễ quản lý. debug lỗi và có thể mở rộng các modul phần mềm.c: chương trình chính. và các biến toàn cục. Với dự án này..

Đo tốc độ từ số xung phát ra từ encoder Hiển thị lên LCD và truyền thông lên máy tính qua cổng COM.Kd lấy giá trị từ biến trở và phím bấm. Kp.Nguyễn Anh Tùng 9 Lớp TĐH K48 .Ki. Xuất ra PWM SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên .Báo cáo môn vi xủa lý trong đo lường điều khiển Start Mode =1? Mode = 2 Tốc độ đặt lấy từ phím bấm và biến trở vào. Tốc độ đặt lấy từ máy tính truyền xuống. Tính toán các tham số của bộ diều khiển PID số.

c SV: Nguyễn Ngọc Ánh – Trần Việt Lâm Vũ Văn Hiên . .Nguyễn Anh Tùng 10 Lớp TĐH K48 .Báo cáo môn vi xủa lý trong đo lường điều khiển D.Bước đầu nghiên cứu làm quen với PIC16F887. Kết Luận: Sau một thời gian tìm hiểu và nghiên cứu. làm mát. chúng em đã thu được những kiến thức sau: .Thiết kế được mạch đo và hiển thị tốc độ động cơ điện DC và truyền thông hiển thị kết quả đo được trên màn hình máy tính . sử dụng Port D để hiển thị LCD… . … Ứng dụng thực tiễn: Thiết kế mạch đo và điều khiển hệ thống quạt thông gió. sử dụng được các tính năng cơ bản của chip như: dùng chân RC2 để tạo độ rộng xung điều khiển tốc độ.Bước đầu ứng dụng kỹ thuật lập trình vào trong ứng dụng cụ thể. . robot… Code chương trình: //File dcMotorObject.Thực hiện được việc truyền thông máy tính qua cổng COM.

Sign up to vote on this title
UsefulNot useful