Professional Documents
Culture Documents
EE3480 G1 Final
EE3480 G1 Final
HÀ NỘI, 01/2024
MỤC LỤC
1
CHƯƠNG 2. TỔ CHỨC THỰC HIỆN
2
2.3 Kế hoạch thực hiện chung của dự án
Tuần Nội dung Kết quả cần đạt Ghi chú
12 Mô tả bài toán Báo cáo mô tả chi tiết từng chức năng
Tìm hiểu về các Báo cáo tổng quan các giải pháp, kỹ
13 bài toán liên thuật, công nghệ liên quan đến dự án,
quan đánh giá
- Sơ đồ khối đảm bảo các chức năng
của bộ điều khiển
Kế hoạch thực
- Kế hoạch triển khai (theo tuần)
14, 15 hiện, thiết kế sơ
- Báo cáo: sơ đồ khối, mô tả hoạt
bộ
động của sơ đồ khối
2.4 Kế hoạch và nội dung thực hiện của từng thành viên
STT Nội dung Kết quả cần đạt Thời gian thực Ghi
hiện (theo tuần) chú
1 Mô tả bài toán Báo cáo mô tả chi tiết
T12
từng chức năng
2 Tìm hiểu về các Tìm hiểu về động cơ
bài toán liên quan điện 1 chiều (DC), các
T13
đặc tính, đo tốc độ
động cơ.
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ều
khiển T14, 15
- Xây dựng sơ đồ khối
chương trình đo, điều
khiển tốc độ động cơ.
3
4 Thiết kế chi tiết, - Mô phỏng hoạt động
mô phỏng hoạt của khối đo, hiển thị
động các khối, giá trị lên LCD
tích hợp mô - Tích hợp mô phỏng T16, 17
phỏng, đánh giá giữa các khối
- Báo cáo đánh giá hệ
thống
5 Triển khai phần - Mua linh kiện
cứng, Demo, - Lắp mạch và kiểm tra
hiệu chỉnh, báo - Bản hiệu chỉnh T18, 19
cáo
- Báo cáo môn học
Bảng 2.4 Kế hoạch làm việc của thành viên Chu Minh Quân
STT Nội dung Kết quả cần đạt Thời gian thực Ghi
hiện (theo tuần) chú
1 Tìm hiểu về các Tìm hiểu về bài toán
bài toán liên quan truyền tin UART, thuật
T13
toán điều khiển tốc độ
động cơ
2 Kế hoạch thực Kế hoạch triển khai
T14
hiện (theo tuần)
3 Thiết kế sơ bộ Xây dựng sơ đồ khối
chương trình truyền tin
UART, điều khiển tốc
T15
độ động cơ và cài đặt
giá trị tốc độ mong
muốn qua máy tính.
4 Thiết kế chi tiết, Mô phỏng hoạt động
mô phỏng hoạt của các khối truyền tin
T16, 17
động các khối UART và khối điều
khiển.
5 Triển khai phần - Mua linh kiện
cứng, Demo, - Lắp mạch và kiểm tra
hiệu chỉnh, báo - Bản hiệu chỉnh T18, 19
cáo
- Báo cáo môn học
Bảng 2.5 Kế hoạch làm việc của thành viên Trần Thái Dương
4
CHƯƠNG 3. NỘI DUNG THỰC HIỆN
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
5
- Để 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 song
song
Chân 9 (RST) nối đất qua 1 trở và 1 tụ song song, đồng thời nối lên
nguồ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ển
thô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 cho
timer 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ơ
6
- 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 xung
nhậ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 áp
trung 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 áp
nguồ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ín
hiệ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ờ moment
quay.
- Đại lượng mô tả mối quan hệ giữa khoảng thời gian T-on và T-off được
gọi là độ rộng xung (duty cycle).
T on
duty cycle= x 100
T on+T off
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.
7
- 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.
Ma trận phím 4×3 gồm 12 nút bấm được sắp xếp theo ma trận 4 hàng 3
cột. Các nút bấm trong cùng 1 hàng và 1 cột được nối với nhau, vì vậy có
tổng cộng 7 ngõ ra.
Để tiện mô phỏng ta dùng KEYPAD-PHONE trong proteus
Ma trận phím 4×3 cho phép người dùng nhập chữ số, chữ cái, kí hiệu vào
vi điều khiển qua đó điều khiển một thiết bị ngoại vi nào đó.
8
3.3 Lựa chọn giải pháp và lên phương án thiết kế
3.3.1 Thiết kế sơ bộ
- Để đo tốc độ động cơ, ta lấy xung từ chân ra của encoder kết nối với chân
ngắt ngoài INT0 của 8051, sử dụng ngắt timer 2 để lấy vận tốc mỗi giây.
- Để hiển thị lời dẫn, tốc độ đặt và tốc độ tức thời lên LCD, ta sử dụng cổng
P0 để kết nối với LCD, giao tiếp 4 bit.
- Để điều khiển tốc độ động cơ, ta sử dụng chân P3.3 để xuất xung PWM
bằng ngắt timer 0, sau đó đưa vào cổng ENA của L298, đồng thời sử dụng
các nút bấm “thuận”, “nghịch”, “stop” , các cổng P3.4, P3.5 làm đầu vào
IN1 IN2 của L298 để set chế độ quay cho motor, đầu ra L298 đặt vào 2
đầu của motor.
- Để 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ển
kế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ị.
9
3.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 20
xung, 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ủa
8051)
10
(code phục vụ việc đo tốc độ động cơ)
- Nhập vận tốc mong muốn từ keypad:
Để giao tiếp được với ma trận phím 4×3, dùng phương pháp quét
theo cột để kiểm tra xem nút nào được bấm cụ thể như sau:
Các hàng Row 1 => Row 4 được dùng làm các chân
INPUT (giá trị ban đầu cho = 1), các cột Col 1 =>Col 3 là
các chân OUTPUT.
Lần lượt cho từng cột = 0 các cột còn lại = 1 (cho số 0 chạy
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.
Ta xây dựng ma trận (2 chiều) cho phím:
keypad[4][3]={‘1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’*’,’0′,’#’};
11
(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ơ.
12
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ận
tốc đặt, từ đó tìm ra hiệu điện thế dặt vào 2 đầu động cơ theo biểu thức:
de
duty_cycle = kp * e + ki * ∫ edt + kd * (e=v_ref-v)
dt
(code phục vụ điều khiển tốc độ động cơ sử dụng thuật toán PID)
13
- UART: Đọc dữ liệu là tốc độ tức thời của motor dc từ MCS-51 về máy
tính.
Nhóm dùng phần mềm Virtual Serial Port Driver Pro để kết nối giữa cổng
com ả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úng
vào chương trình chính:
14
(code phục vụ việc xuất giá trị vận tốc)
15
16
(code phục vụ việc hiển thị vận tốc lên LCD)
17
Vi điều khiển AT89S52: vi điều khiển thuộc họ 8052, điều khiển
toàn bộ chương trình: đo vận tốc và hiển thị lên LCD, truyền lên
má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
18
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ào
L298N, lớn nhất là 12V
Keypad 4x3: đặt vận tốc mong muốn vào vi điều khiển
19
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ở
20
- Chạy và đánh giá: nhóm đã cho chạy thử và kết quả tương đối như mong
muố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:
21
động cơ.
4 Thiết kế chi - Mô phỏng hoạt Đúng kế Hoàn
tiết, mô phỏng động của khối đo, hoạch thành
hoạt động các hiển thị giá trị lên
khối, tích hợp LCD, PWM.
mô phỏng, T16, 17
- Tích hợp mô phỏng
đánh giá giữa các khối
- Báo cáo đánh giá
hệ thống
5 Triển khai phần - Mua linh kiện Đúng kế Hoàn
cứng, Demo, - Lắp mạch và kiểm hoạch thành
hiệu chỉnh, báo tra T18, 19
cáo - Bản hiệu chỉnh
- Báo cáo môn học
Bảng 4.6 Kế hoạch làm việc thực tế của thành viên Chu Minh Quân
Thời Kết
Thời gian
gian thực quả
STT Nội dung Kết quả cần đạt thực hiện
hiện đạt
(dự kiến)
(thực tế) được
1 Tìm hiểu về Tìm hiểu về bài toán Đúng kế Hoàn
các bài toán truyền tin UART, hoạch thành
T13
liên quan thuật toán điều khiển
tốc độ động cơ
2 Kế hoạch thực Kế hoạch triển khai Đúng kế Hoàn
T14
hiện (theo tuần) hoạch thành
3 Thiết kế sơ bộ Xây dựng sơ đồ khối Đúng kế Hoàn
chương trình truyền hoạch thành
tin UART, điều
khiển tốc độ động cơ T15
và cài đặt giá trị tốc
độ mong muốn qua
máy tính.
4 Thiết kế chi Mô phỏng hoạt động Đúng kế Hoàn
tiết, mô phỏng của các khối truyền hoạch thành
T16, 17
hoạt động các tin UART và khối
khối điều khiển.
5 Triển khai - Mua linh kiện T18, 19 Đúng kế Hoàn
phần cứng, - Lắp mạch và kiểm hoạch thành
Demo, hiệu tra
22
chỉnh, báo cáo - Bản hiệu chỉnh
- Báo cáo môn học
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
23