ĐẠI HỌC BÁCH KHOA HÀ NỘIBáo Cáo Môn Học THIẾT KẾ HỆ THỐNG ĐO VÀ ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ ĐIỆN MỘT CHIỀU DỰA TRÊN VI ĐIỀU... TỔ CHỨC THỰC HIỆN 2.1 Yêu cầu của dự ánĐo tốc độ động cơ và h
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
Báo Cáo Môn Học
THIẾT KẾ HỆ THỐNG ĐO VÀ ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ ĐIỆN MỘT CHIỀU DỰA TRÊN VI ĐIỀU
Trang 2MỤC LỤC
CHƯƠNG 1 NHẬT KÍ HOẠT ĐỘNG 1
CHƯƠNG 2 TỔ CHỨC THỰC HIỆN 2
2.1 Yêu cầu của dự án 2
Bảng 1.1 Yêu cầu của dự án 2
2.2 Giới thiệu thành viên của dự án 2
Bảng 1.2 Giới thiệu thành viên 2
2.3 Kế hoạch thực hiện chung của dự án 2
2.4 Kế hoạch và nội dung thực hiện của từng thành viên 3
CHƯƠNG 3 NỘI DUNG THỰC HIỆN 5
3.1 Phân tích các yêu cầu của dự án 5
3.2 Tìm hiểu các nghiên cứu, dự án liên quan 5
3.2.1 Vi điều khiển MSC-51 5
3.2.2 Đặc tính của động cơ điện một chiều 6
3.2.3 Phương pháp đo tốc độ động cơ 7
3.2.4 Phương pháp điều khiển tốc độ động cơ 7
3.2.5 Bài toán truyền tin UART 7
3.2.6 LCD 7
3.2.7 Ma trận phím 8
3.3 Lựa chọn giải pháp và lên phương án thiết kế 9
3.3.1 Thiết kế sơ bộ 9
3.3.2 Thiết kế chi tiết và mô phỏng 9
3.4 Thử nghiệm và đánh giá 18
3.5 Hoàn thiện sản phẩm 18
3.5.1 Triển khai phần cứng 18
3.5.2 Lắp đặt và chạy 22
CHƯƠNG 4 KẾT LUẬN 23
4.1 Kết quả thực hiện 23
4.2 Kết luận 24
Trang 3CHƯƠNG 1 NHẬT KÍ HOẠT ĐỘNG
cứu bước đầu
thành file word
ra
5 Báo cáo thiết kế chi tiết Thêm ảnh mô phỏng,
hoàn thiện phần thiết kếchi tiết
khai thực tế, thay đổiphần cứng từ encoder
334 xung thành encoder
20 xung
Trang 4CHƯƠNG 2 TỔ CHỨC THỰC HIỆN 2.1 Yêu cầu của dự án
Đo tốc độ động cơ và hiển
thị trên LCD Đưa ra tốc độ động cơ hiển thị lên LCD 1
Điều khiển tốc độ động cơ
Điều khiển tốc độ động cơ theo giá trị
do người dùng cài đặt qua phím chứcnăng: bật, tắt, tăng, giảm 2Cài đặt giá trị tốc độ mong muốn qua
Bảng 2.1 Yêu cầu của dự án
2.2 Giới thiệu thành viên của dự án
Họ và tên: Chu Minh QuânMSSV: 20210703
Phụ trách công việc: thiết kế mô phỏng LCD, motor DC,đọc tốc độ động cơ về, PWM, triển khai phần cứng, hoànthiện báo cáo
Họ và tên: Trần Thái DươngMSSV: 20210257
Phụ trách công việc: thiết kế thuật toán điều khiển PID,giao tiếp UART, bàn phím, triển khai phần cứng, hoànthiện báo cáo
Bảng 2.2 Giới thiệu thành viên
Trang 512 Mô tả bài toán Báo cáo mô tả chi tiết từng chức năng
13 Tìm hiểu về cácbài toán liên
quan
Báo cáo tổng quan các giải pháp, kỹthuật, công nghệ liên quan đến dự án,đánh giá
14, 15 Kế hoạch thựchiện, thiết kế sơ
bộ
- Sơ đồ khối đảm bảo các chức năngcủa bộ điều khiển
- Kế hoạch triển khai (theo tuần)
- Báo cáo: sơ đồ khối, mô tả hoạtđộng của sơ đồ khối
16, 17 Thiết kế chi tiết,mô phỏng
- Lựa chọn linh kiện
- Mô phỏng hoạt động các khối
- Tích hợp mô phỏng đánh giá toàn bộ
hệ thống
18 Triển khai phầncứng, đánh giá
- Mua linh kiện
- Triển khai phần cứng (PCB, cắm bomạch, …)
- Kiểm tra, đánh giá
19 Hiệu chỉnh, báocáo, demo
Bảng 2.3 Kế hoạch thực hiện chung của dự án
2.4 Kế hoạch và nội dung thực hiện của từng thành viên
tuần)
Ghi chú
1 Mô tả bài toán Báo cáo mô tả chi tiết
T13
3 Thiết kế sơ bộ - Sơ đồ khối đảm bảo
các chức năng của hệthống đo và bộ điềukhiển
- Xây dựng sơ đồ khốichương trình đo, điềukhiển tốc độ động cơ
- Tích hợp mô phỏnggiữa các khối
T16, 17
Trang 6- Báo cáo đánh giá hệthống
Bảng 2.4 Kế hoạch làm việc của thành viên Chu Minh Quân
tuần)
Ghi chú
3 Thiết kế sơ bộ Xây dựng sơ đồ khối
chương trình truyền tinUART, điều khiển tốc
độ động cơ và cài đặtgiá trị tốc độ mongmuốn qua máy tính
Trang 7CHƯƠNG 3 NỘI DUNG THỰC HIỆN 3.1 Phân tích các yêu cầu của dự án
- Hệ thống đo và điều khiển tốc độ động cơ điện một chiều dựa trên viđiều khiển MCS-51 được bố trí như hình vẽ dưới đây
Hình 3.1 Hệ thống đo và điều khiển tốc độ động cơ điện một chiều dựa trên vi điều
khiển MCS-51
- Hệ điều khiển động cơ một chiều được thiết kế với các yêu cầu tăng tốc, giảm tốc để tốc độ động cơ đạt giá trị mong muốn của người dùng cài đặt qua phím chức năng và qua kết nối trên máy tính qua cổng UART.
- 4 button mục đích quay thuận, quay nghịch, start, stop.
- Tốc độ động cơ sẽ được đo bởi sensor Ở đây, ta sử dụng encoder được gắn trên động cơ để đo số vòng quay của động cơ thông qua sự liên lạc, mất liên lạc của led phát quang và bộ phận thu quang rồi chuyển thành các xung điện áp vuông gửi tới chân ngắt của vi điều khiển MCS-51.
- Hệ thống sử dụng giao tiếp UART thực hiện nhiệm vụ nhận tốc độ động
cơ tức thời từ vi điều khiển MCS-51 và truyền lên máy tính, hiển thị đồ thị tốc độ động cơ trên màn hình máy tính.
3.2 Tìm hiểu các nghiên cứu, dự án liên quan
3.2.1 Vi điều khiển MSC-51
- Ở đây nhóm sử dụng vi điều khiển AT89S52, một trong những bộ vi điều khiển phổ biến của họ Atmel, vi điều khiển AT89S52 là vi điều khiển công nghệ CMOS 8 bit có bộ nhớ Flash 8KB và bộ nhớ RAM
256 byte
- Nó có thể hoạt động ở tần số tối đa là 33MHz bằng cách sử dụng bộ dao động bên ngoài Giống như các bộ vi điều khiển khác, nó có các chân GPIO, ba bộ định thời 16 bit, một cổng giao tiếp UART song công (truyền tín hiệu theo cả 2 hướng), ba bộ định thời 16 bit, bộ tạo dao động trên chip.
Trang 8- Để vi điều khiển hoạt động, ta cần kích hoạt 1 số chân như sau:
Chân 40, 31 nối nguồn, chân 20 nối đất
Chân 18, 19 nối với thạch anh 11.0592MHz qua 2 tụ 3.3pF songsong
Chân 9 (RST) nối đất qua 1 trở và 1 tụ song song, đồng thời nối lênnguồn qua 1 button
- Trong project này, nhóm tóm tắt lý thuyết tổng quan về các chế độ dùng
để gửi xung pwm, đo vận tốc, truyền giá trị vận tốc
Bộ timer/counter: được dùng để đếm/ tạo khoảng thời gian, đếm sựkiện bên ngoài, hoặc tạo tốc độ baud cho port truyền tin nối tiếp
Ở họ 8052 có 3 timer/counter: 0,1,2
Các thanh ghi sử dụng trong chế độ timer/counter:
Chế độ hoạt động của các bộ timer/counter được điều khiểnthông qua 2 thanh ghi 8-bit: TMOD (thanh ghi chế độ),TCON (thanh ghi điều khiển)
Thanh ghi chứa giá trị đếm: 2 thanh ghi 8 bit TH0 TL0 chotimer 0, TH1 TL1 cho timer 1
3.2.2 Đặc tính của động cơ điện một chiều
Khi đặt vào 2 đầu động cơ 1 điện áp 1 chiều, động cơ sẽ quay với vận tốc tăng vàgiảm đồng thuận với độ lớn điện áp, chiều động cơ phụ thuộc vào chiều điện áp
3.2.3 Phương pháp đo tốc độ động cơ
Trang 9- Khi động cơ quay, cảm biến ánh sáng sẽ gửi xung đến 8051, trên động cơ
có 20 vạch nên quay được 1 vòng sẽ gửi 20 xung, từ đó đếm các xungnhận được trong 1 giây và quy đổi ra đơn vị vòng/phút
(hình mô tả kết nối giữa chân phát xung của encoder và chân P3.3 của 8051)
3.2.4 Phương pháp điều khiển tốc độ động cơ
- Tốc độ quay của động cơ DC đồng biến với điện áp đặt vào nó Do đó,cách
đơn giản nhất để điều khiển tốc độ quay của rotor là thay đổi mức điện áp đặt vàođộng cơ PWM là một phương pháp rất hiệu quả trong việc cung cấp ngay lập tứcđiện áp giữa mức cao và mức thấp của nguồn điện giúp động cơ thay đổi tốc độmượt hơn so với phương pháp cổ điển
- Nguyên tắc cơ bản của phương pháp điều khiển PWM là giữ nguyên giátrị
điện áp và thay đổi thời gian đặt điện áp vào động cơ Điều này có nghĩa, với tần
số đóng ngắt công tắc đủ lớn, thời gian cấp điện áp vào động cơ càng lâu thì điện
áp trung bình càng cao, ngược lại thời gian cấp điện vào động cơ ngắn điện áptrung bình giảm Như vậy, PWM là một kỹ thuật so sánh tỷ lệ phần trăm điện ápnguồn bằng cách đóng ngắt nhanh nguồn điện cấp vào động cơ tạo ra một tínhiệu xung, với độ rộng xung (thời gian cấp điện áp) xác định sẽ tạo ra một điện
áp trung bình xác định (được minh họa như hình 1) Khi tần số đóng ngắt đủ lớn(thường từ 1 ÷20 kHz), động cơ sẽ chạy với một tốc độ ổn định nhờ momentquay
- Đại lượng mô tả mối quan hệ giữa khoảng thời gian T-on và T-off đượcgọi là độ rộng xung (duty cycle)
duty cycle= T on
T on+T off
x 100
3.2.5 Bài toán truyền tin UART
- Hiển thị vận tốc tức thời lên máy tính và vẽ đồ thị để đánh giá hiệu quả
3.2.6 LCD
- Vai trò: Hiển thị lời dẫn, vận tốc đặt và vận tốc tức thời
Trang 10- Tổng quan về LCD 16x2:
Được sử dụng để hiển thị trạng thái hoặc các thông số
Có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN)
5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16x2
Có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng tađang làm
vi điều khiển qua đó điều khiển một thiết bị ngoại vi nào đó
Trang 113.3 Lựa chọn giải pháp và lên phương án thiết kế
- Để nhập vận tốc mong muốn, sử dụng keypad 4x3 kết nối đầu ra các hàng
và cột với cổng P1 của 8051
- Để truyền vận tốc lên máy tính, ta sử dụng chân TXD của vi điều khiểnkết nối với cổng com Matlab bằng giao tiếp UART, sử dụng ngắt timer 1,
từ đó vẽ đồ thị
Trang 123.3.2 Thiết kế chi tiết và mô phỏng
- Đây là mô hình mô phỏng đầy đủ :
- Đo tốc độ động cơ
Khi động cơ quay, cảm biến ánh sáng trên encoder gửi xung đến
8051, trên động cơ có 20 vạch đen nên quay được 1 vòng sẽ gửi 20xung, từ đó đếm các xung nhận được trong 1 giây và quy đổi rađơn vị vòng/phút, ở đây nhóm sử dụng ngắt ngoài 0 để nhận xung
từ encoder và ngắt timer 2 để đọc và đổi tốc độ động cơ mỗi 1 giây
(hình mô tả kết nối chân phát xung của encoder và chân P3.3 của8051)
Trang 13(code phục vụ việc đo tốc độ động cơ)
- Nhập vận tốc mong muốn từ keypad:
theo cột để kiểm tra xem nút nào được bấm cụ thể như sau:
INPUT (giá trị ban đầu cho = 1), các cột Col 1 =>Col 3 là các chân OUTPUT
như kỹ thuật quét Led trong bài Led ma trận) và đọc giá trị của các hàng Hàng nào bị kéo xuống 0 chứng tỏ nút được bấm Dựa vào vị trí cột = 0 và hàng = 0 ta xác định được giá trị nút bấm
keypad[4][3]={‘1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’*’,’0′,’#’};
Trang 14(code phục vụ việc quét phím)
- Điều khiển tốc độ động cơ: Gửi xung PWM qua L298N, từ đó đặt ra hiệuđiện thế trung bình lên động cơ
Trang 15 Thuật toán điều khiển PID: đo sự sai lệch giữa vận tốc tức thời và vậntốc đặt, từ đó tìm ra hiệu điện thế dặt vào 2 đầu động cơ theo biểu thức:
duty_cycle = kp * e + ki * ∫edt + kd * de dt (e=v_ref-v)
Trang 16(code phục vụ điều khiển tốc độ động cơ sử dụng thuật toán PID)
- UART: Đọc dữ liệu là tốc độ tức thời của motor dc từ MCS-51 về máytính
Nhóm dùng phần mềm Virtual Serial Port Driver Pro để kết nối giữa cổngcom ảo của proteus (com2) với cổng com ảo trên matlab (com1) để lấy giátrị vận tốc và vẽ đồ thị
(hình mô tả đồ thị của vận tốc thực khi vận tốc đặt là 100 vòng/phút)
Ở đây, nhóm viết riêng hàm UART bằng assembly, sau đó nhúngvào chương trình chính:
Trang 17(code phục vụ việc xuất giá trị vận tốc)
Trang 18(code matlab phục vụ việc nhận vận tốc và vẽ đồ thị)
- Hiển thị giá trị vận tốc đặt và giá trị vận tốc tức thời trên LCD 16x2: nhóm
sử dụng giao tiếp 4 bit
Trang 19(code phục vụ việc hiển thị vận tốc lên LCD)
- Chọn chế độ quay thuận, nghịch, reset, stop từ button
(code phục vụ việc chọn chế độ quay)
3.4 Thử nghiệm và đánh giá
- Nhóm đã thực hiện mô phỏng và kết quả tương đối như mong đợi, vẫncòn 1 vấn đề là việc vận tốc cuối cùng không hội tụ tuyệt đối đến vận tốcđặt, nhưng sai số cuối cùng đã nhỏ hơn 1%
3.5 Hoàn thiện sản phẩm
3.5.1 Triển khai phần cứng
Các linh kiện cần thiết:
Nguồn 12VDC: cấp điện cho L298, từ L298 xuất nguồn 5V nuôicác linh kiện còn lại
Trang 20 Vi điều khiển AT89S52: vi điều khiển thuộc họ 8052, điều khiểntoàn bộ chương trình: đo vận tốc và hiển thị lên LCD, truyền lênmáy tính bằng UART, điều khiển vận tốc qua L298, kết nối keypad
để set vận tốc đặt
DC Motor:
Module encoder: phát xung cho vi điều khiển, mỗi vòng động cơquay encoder phát được 20 xung
Trang 21 LCD 16x2: màn hình hiển thị vận tốc đặt và vận tốc tức thời
Module điều khiển động cơ L298N: đặt điện áp vào 2 đầu động cơ
để chạy, điện áp trung bình dựa trên duty-cycle của PWM đi vàoL298N, lớn nhất là 12V
Keypad 4x3: đặt vận tốc mong muốn vào vi điều khiển
Trang 22 Mạch nạp ISP: nạp code từ máy tính vào AT89S52
Cáp chuyển đổi USB to TTL: truyền giá trị vận tốc lên máy tính để
vẽ đồ thị
Các linh kiện phụ : nút bấm, dây nối, test board, điện trở, biến trở
Trang 23- Chạy và đánh giá: nhóm đã cho chạy thử và kết quả tương đối như mongmuốn, tuy vận tốc chưa hội tụ tuyệt đối đến giá trị mong muốn nhưng sai
số đủ nhỏ có thể chấp nhận được
- Hình ảnh dưới đây là đồ thị vận tốc thu được khi chạy thực tế, với vận tốcđặt là 250 vòng/phút:
CHƯƠNG 4 KẾT LUẬN 4.1 Kết quả thực hiện
STT Nội dung Kết quả cần đạt Thời gian thực hiện
(dự kiến)
Thời gian thực hiện (thực tế)
Kết quả đạt được
1 Mô tả bài toán Báo cáo mô tả chi
tiết từng chức năng T12
Đúng kếhoạch
Hoànthành
2 Tìm hiểu về
các bài toán
liên quan
Tìm hiểu về động cơđiện 1 chiều (DC),các đặc tính, đo tốc
độ động cơ
T13
Đúng kếhoạch
Hoànthành
3 Thiết kế sơ bộ - Sơ đồ khối đảm
bảo các chức năngcủa hệ thống đo và
bộ điều khiển
- Xây dựng sơ đồkhối chương trình
đo, điều khiển tốc độđộng cơ
T14, 15
Đúng kếhoạch
Hoànthành
4 Thiết kế chi - Mô phỏng hoạt T16, 17 Đúng kế Hoàn
Trang 24- Tích hợp mô phỏnggiữa các khối
- Báo cáo đánh giá
- Bản hiệu chỉnh
- Báo cáo môn học
T18, 19
Đúng kếhoạch
Hoànthành
Bảng 4.6 Kế hoạch làm việc thực tế của thành viên Chu Minh Quân
ST
Thời gian thực hiện (dự kiến)
Thời gian thực hiện (thực tế)
Kết quả đạt được
T13
Đúng kếhoạch Hoànthành
2 Kế hoạch thực
hiện Kế hoạch triển khai(theo tuần) T14 Đúng kếhoạch Hoànthành
3 Thiết kế sơ bộ Xây dựng sơ đồ khối
chương trình truyềntin UART, điềukhiển tốc độ động cơ
T16, 17
Đúng kếhoạch
Hoànthành
- Bản hiệu chỉnh
- Báo cáo môn học
T18, 19
Đúng kếhoạch
Hoànthành
Bảng 4.7 Kế hoạch làm việc thực tế của thành viên Trần Thái Dương