Tải bản đầy đủ (.docx) (27 trang)

ĐIỀU KHIỂN tốc độ ĐỘNG cơ DC dùng 89c51 ( có code và mô phỏng và mạch in )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.16 MB, 27 trang )

ĐỒ ÁN 2
DÙNG VI ĐIỀU KHIỂN ĐIỀU KHIỂN
TỐC ĐỘ ĐỘNG CƠ DC

MỤC LỤC


DANH MỤC CÁC HÌNH VẼ


ĐỒ ÁN 2
Trang 3/26

CHƯƠNG 1. ĐỘNG CƠ DC VÀ CÁC LINH KIỆN ĐIỀU
KHIỂN
1.1 Giới thiệu

Xã hội phát triển càng cao thì việc thay thế sức người bằng máy móc
thiết bị ngày càng cao để tăng năng suất lao động. Trong đó việc vận chuyển,
bốc dỡ hàng hoá hay các thiết bị khác phục vụ cuộc sống con người được
quan tâm. Từ những vấn đề trên cần phải tạo ra một thiết bị đảm bảo nhiệm
vụ nhằm giảm nhân công tăng năng suất. Để giải quyết vấn đề trên thì trước
tiên cần tạo ra mô hình trong đó để điều khiển thì cần một động cơ DC quay
thuận, quay nghịch và dừng. Việc điều khiển động cơ DC thì có nhiều
phương pháp và trong số đó có điều khiển động cơ DC bằng vi điều khiển
AT89C52 để lập trình và dùng IC L298 để điều khiển.
1.2 Tìm hiều động cơ DC.
1.2.1 Cấu tạo.
Hình 1.1 Động cơ DC

Stator của động cơ DC thường là 1 hay nhiều cặp nam châm vĩnh cữu


hay nam châm điện, Rotor có các cuộn dây quấn và được nối với nguồn 1
chiều thành phần quan trọng khác trong động cơ DC là bộ chỉnh lưu có
nhiệm vụ đổi chiều dòng điện khi chuyển động quay của Rotor là liên tục.

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 4/26

Hình 1.2 Chuyển động quay của động cơ
1.2.2

Nguyên lý hoạt động
Khi có một dòng điện chạy qua cuộn dây quấn xung quanh một lõi sắt
non, cạnh phía bên cực dương sẽ bị tác động bởi một lực hướng lên, trong
khi cạnh đối diện lại bị tác động bằng một lực hướng xuống theo nguyen lý
bàn tay trái của Flerming. Các lực này gây tác động quay lên cuộn dây và
làm cho Rotor quay. Để làm cho Rotor quay liên tục và đúng chiều, một bộ
góp điện sẽ làm chuyển mạch dòng điện sau mỗi vị trí ứng với ½ chu kỳ. Chỉ
có vấn đề là khi mặt của cuộn dây song song với các đường sức từ trường.
Nghĩa là lực quay của động cơ bằng 0 khi cuộn dây lệch 90o so với phương

1.2.3

ban đầu của nó, khi đó roto sẽ quay theo quán tính.
Điều khiển động cơ DC
Khi được cấp điện thì động cơ DC sẽ quay, mức điện áp cấp cho động
cơ DC càng cao thì quay càng nhanh và ngược lại.
Khi dùng đông cơ DC cần chú ý các điểm sau:

- Đảo chiều điện áp cấp điện chiều quay của động cơ sẽ đổi chiều.
- Điện trở phần ứng càng nhỏ thì dòng chảy qua motor DC càng lớn,
-

lực quay càng mạnh.
Khi động cơ DC quay, từ hai chổi quét điện sẽ luôn phát ra nhiễu

-

ồn rất lớn nên phải dùng tụ và cuộn dây để lọc nhiễu.
Không để động cơ DC bị kẹt không quay, điều này sẽ khiến cho

dòng chạy qua động cơ DC rất lớn có thể dẫn đến cháy.
1.3 Điều khiển bằng IC L298D
Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 5/26

Hình 1.3 IC L298D dùng điều khiển động cơ
IC L298D là một chip tích hợp mạch cầu H trong gói 15 chân. Tất cả
các mạch kích, mạch cầu đều được tích hợp sẵn. Chức năng của các chân IC
L298D:
+4 chân INPUT: IN1, IN2, IN3, IN4 được nói lần lượt tới các chân 5,
7, 10, 12 của L298D. Đây là các chân nhận tín hiệu diều khiển.
+4 chân OUTPUT: OUT1, OUT2, OUT3, OUT4 được nối với các
chân 2, 3, 13, 14 của L298D. Các chân này sẽ dược nối với động cơ.
+Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong
L298D. Nếu ở mức logic 1 cho phép mạch cầu H hoạt động, nếu ở

mức logic 0 thì mach cầu H không hoạt động.
Hình 1.4 Chức năng các chân IC L298D

+Khi ENA = 0 Động cơ không quay với mọi đầu vào.
+Khi ENA = 1
 IN1= 1, IN2 = 0 động cơ quay thuận.
 IN1= 0, IN2 = 1 động cơ quay nghịch.
 IN1 = IN2 động cơ dừng quay.
Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 6/26

+Tương tự ENB với IN3, IN4.

Hình 1.5 Các chân logic của IC L298D
1.4 Phương pháp điều xung PWM

PWM (Pulse Width Modulation) là phương pháp điều chỉnh điện áp ra
tải, hay nói cách khác, là phương pháp điều chế dựa trên sự thay đổi độ rộng
của chuỗi xung vuông, dẫn đến sự thay đổi điện áp ra.
Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng
của sườn dương hay sườn âm.
Sử dụng PWM điều khiển độ nhanh chậm của động cơ hay cao hơn
nữa, nó còn được dùng để điều khiển sự ổn định tốc độ động cơ.
Để tạo ra xung PWM thì hiện nao có 2 cách thông dụng là dùng phần
cứng và phần mềm (nhưng ở đây chỉ sử dụng phần mềm để điều xung).

Dùng vi điều khiển Điều khiển tốc độ động cơ DC



ĐỒ ÁN 2
Trang 7/26

Hình 1.6 Đồ thị dạng xung điều chế PWM
Ud = 2.4 (V) (với D = 20%)
Ud = 4.8 (V) (với D = 40%)
Ud = 10.8 (V) (với D = 90%)
Ta có công thức:
Ud = Umax.(t1/T) (V) hay
Ud = Umax.D
Với
t1 :thời gian xung ở sườn dương
T :thời gian của cả sườn âm và sườn dương
Umax : điện áp nguồn cung cấp cho tải
D (duty cycle) : = t1/T , là hệ số điều chỉnh và được tính bằng %.
1.5 Vi điều khiển AT89C52
1.5.1 Giới thiệu sơ lược AT89C52
AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất. Các sản
phẩm AT89S52 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên
byte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế
độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh cung cấp một bảng tiện
dụng của những lệnh số học 8 bit gồm cả lệnh nhân và lệnh chia. Nó cung
cấp những hổ trợ mở rộng trên chip dùng cho những biến một bit như là kiểu
dữ liệu riêng biệt cho phép quản lý và kiểm tra bit trực tiếp trong hệ thống
điều khiển.
Các đặc điểm của chip AT89S52 được tóm tắt như sau:
- 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu
-


kỳ ghi/xoá
Tần số hoạt động từ: 0Hz đến 24 MHz
Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 8/26

3 mức khóa bộ nhớ lập trình
3 bộ Timer/counter 16 Bit
128 Byte RAM nội.
4 Port xuất /nhập I/O 8 bit.
Giao tiếp nối tiếp.
64 KB vùng nhớ mã ngoài
64 KB vùng nhớ dữ liệu ngoại.
4 µs cho hoạt động nhân hoặc chia
1.5.2 Chức năng các chân dùng trong đề tài
Hình 1.7 Các chân trong AT89C52
-

A. Port 2

Port 2(P2.0 – P2.7) có số chân từ 21 -28. Có chức năng xuất
nhập dữ liệu và sử dụng hoặc không sử dụng bộ nhớ ngoài.
Ở chế độ mặc định (khi reset) thì các chân port 2 được cấu
hình là port xuất dữ liệu. muốn các chân port 2 nhập dữ liệu thì cần
phải lập trình lại, bằng cách ghi lại các mức logic cao đến tất cả các
bit của port trước khi bắt đầu nhập dữ liệu từ port.
B. Port 3


Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 9/26

Port 3 (P3.0-P3.7) có số chân từ 10-17.Có chức năng xuất
nhập dữ liệu,không sử dụng bộ nhớ ngoài hoặc các chức năng đặc
biệt.
Ở chế độ mặc định (khi reset) thì các chân port 3 được cấu
hình là port xuất dữ liệu. Muốn các chân port 3 làm nhập dữ liệu thì
cần phải lập trình lại, bằng cách ghi lại các mức logic cao (mức 1)
đến tất cả các bit của port trước khi bắt đầu nhập dữ liệu từ port.
Khi lập trình cho ROM trong chip thì port 1 đóng vai trò là
ngõ vào của địa chỉ byte thấp.
C. Chân EA
EA (External Access): truy xuất ngoài,chân số 31. Có chức
năng là tín hiệu cho phép truy xuất (sử dụng) bộ nhớ chương trình
(ROM) ngoài, là tín hiệu nhập tích cực mức thấp.
EA= 0: sử dụng chương trình của ROM ngoài. EA=1: sử dụng
chương trình của ROM trong.
Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là
ngõ vào của điện áp lập trình (Vpp=12V -15V).
D. Chân XTAL1, XTAL2
XTAL tinh thể thạch anh,chân 18-19.
Chức năng: dùng để nối thạch anh hoặc mạch dao động tạo
xung clock bên ngoài,cung cấp tín hiệu xung clock cho chip hoạt
động. Với XTAL1 là ngõ vào mạch tạo xung clock trong chip và
XTAL2 là ngõ ra mạch xung clock trong chip.

E. Chân Reset
RST (reset) thiết lập lại,chân 9.
Chức năng:là tín hiệu cho phép thiết lập lại trạng thái ban đầu
cho hệ thống,là tín hiệu nhập, tích cực mức cao.
RST =0: hoạt động bình thường.
RST =1: được thiết lập lại trạng thái ban đầu.
F. Chân Vcc, GND
Vcc,GND: nguồn cấp điện, chân số 40 và 20.
Chức năng: cung cấp nguồn điện cho chip hoạt động.
Vcc = +5V và GDN =0V.

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 10/26

CHƯƠNG 2 THIẾT KẾ VÀ THI CÔNG
2.1 Các linh kiện sử dụng

AT89C52: Vi điều khiển của mạch.

Hình 2.1.1: IC 89C52
IC L298: Điều khiển động cơ.

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 11/26


Hình 2.1.2: IC L298
IC 74LS04.

Hình 2.1.3: IC 74LS04
IC 7805:

Hình 2.1.4 IC 7805
Thạch anh 20 MHZ:

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 12/26

Hình 2.1.5: Thạch anh 12MHZ
Tụ gốm 33pf:

Hình 2.1.6: Tụ gốm 33pf
Nút nhấn 2 chân:

Hình 2.1.7: Nút nhấn 2 chân
Led đơn:

Hình 2.1.8: Led đơn
Điện trở 10 k:

Hình 2.1.9: Điện trở 10k
Điện trở 220 Ohm:


Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 13/26

Hình 2.1.10: Điện trở 220 Ohm
Tụ hóa 100uf:

Hình 2.1.11: Tụ hóa 100uf
Tụ hóa 33uf:

Hình 2.1.12: Tụ hóa 33uf
Domino 2 chân:

Hình 2.1.13: Domino
Nguồn 220 VAC / 12 VDC:

Hình 2.1.14: Nguồn
Động cơ DC:

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 14/26

Hình 2.1.15: Động cơ DC


2.2 Sơ đồ giải thuật

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 15/26

Hình 2.2 Sơ đồ giải thuât
2.3 Sơ đồ khối

Hình 2.3 Sơ đồ khối

2.4 Sơ đồ nguyên lý mạch
Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 16/26

2.4.1 Sơ đồ toàn mạch

Hình 2.4.1 Sơ đồ nguyên lý toàn mạch
2.4.2 Sơ đồ khối nguồn
Hình 2.4.2 Sơ đồ nguyên lý khối nguồn

Nguồn 12 VDC: Cấp cho khối tải.
Nguồn 5 VDC: Cấp cho khối tải, khối vi điều khiển.

Dùng vi điều khiển Điều khiển tốc độ động cơ DC



ĐỒ ÁN 2
Trang 17/26

2.4.3 Sơ đồ khối điều khiển

Hình 2.4.3 Sơ đồ nguyên lý khối điều khiển
Mạch tích cực mức 0.
Thạch anh 12MHZ dùng để tạo xung clk cho mạch, 1 chu kỳ máy
chiếm 1us.
Nút nhấn reset khôi phục lại trạng thái ban đầu cho mạch.
2.4.4 Sơ đồ khối tải

Hình 2.4.4 Sơ đồ khối tải
2.4.5 Sơ đồ mạch in
Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 18/26

Hình 2.4.5 Sơ đồ mạch in

CHƯƠNG 3. KẾT QUẢ MÔ PHỎNG
Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 19/26


Ngày nay trong lĩnh vực khoa học kỹ thuật thì kỹ thuật vi xử lý và
điều khiển ngày càng phát triển nhằm phuc vụ đời sống con người nên các vi
xử lý ngày càng đươc làm mới.
Chính từ nhu cầu đó em đã nghiên cứu và thiết kế mạch “Điều khiển
động cơ DC bằng vi điều khiển”
3.1 Mô hình mô phỏng

Hình 3.1 Mô hình Mô phỏng
3.2 Kết quả mô phỏng

Khi cấp nguồn cho mạch thì led nguồn sang báo hiệu mạch có thể
hoạt động, khi nhấn nút điều khiển thì mạch chay đúng yêu cầu đề ra.

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 20/26

4.1 Kết luận

Song song quá trình nghiên cứu thực hiện đề tài cùng với sự hướng
dẫn nhiệt tình từ giáo viên hướng dẫn thì đồ án hoàn tất đúng thời gian dự
kiến.
Trong quá trình thực hiện đồ án còn nhiều sai sót vì vậy mong được ý
kiến đóng góp từ thầy cô cùng với lời khuyên để nghiên cứu này được hoàn
thiện hơn.

Một lần nữa xin chân thành cảm ơn.
4.2 Hướng phát triển
Có thể ứng dụng thêm vào các mạch khác như điều khiển và đo tốc độ
động cơ, mach điều khiển robot,….

TÀI LIỆU THAM KHẢO
Sách:
[1] Tống Văn On, ”Vi xử lý 8051”.
[2] DH Tôn Đức Thắng, ”slide bài giảng môn vi xử lý”.
Trang web tham khảo:
[1] Phạm Tấn Đạt, “hướng dẫn lập trình PWM điều khiển động cơ”
/>v=EmhHsOF4tik&index=23&list=PLflIPOFhIvBkL2biB_4IZFDU4DrOpAez
/>[2] />Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 21/26

[3] />[4] />
PHỤ LỤC
;----------PHAN KHAI BAO CAC BIT NGO VAO
PWM

BIT

DIR

BIT

P3.2


ON

BIT

P2.0

LEFT BIT

P2.1

RIGH BIT

P2.2

UP

P2.3

BIT

P3.5

DOWN BIT P2.4

;---------PHAN KHAI BAO BIEN LED
PWM_VALUE EQU 31H
Dùng vi điều khiển Điều khiển tốc độ động cơ DC



ĐỒ ÁN 2
Trang 22/26

TOCDO

EQU 30H

;--------KHAI BAO CAC VECTOR NGAT

ORG 0000H
jmp

begin
ORG 00BH
JMP NGAT_T0
ORG 013H
JMP NGAT_INT1
ORG 01BH
JMP NGAT_T1

org

0030h

begin:

SETB TCON.2
MOV TMOD,#11H
MOV TH0,#HIGH(-100)
MOV TL0,#LOW(-100)

CLR TF0
clr

TR0

MOV TH1,#HIGH(-50000)
MOV TL1,#LOW(-50000)
Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 23/26

CLR TF1
clr

TR1

MOV IE,#8EH

clr c

mov 30h,#0
mov PWM_VALUE,#50
main:
clr

PWM

jnb


ON,_RUN

sjmp main
;====================
_RUN:

mov r4,#0
mov r5,#0

JNB ON,$
setb

tr0

setb

tr1

mov

r3,#30

RUN:
cjne

r3,#30,ht

mov r3,#0
Dùng vi điều khiển Điều khiển tốc độ động cơ DC



ĐỒ ÁN 2
Trang 24/26

ht:

inc r3

JNB LEFT,TRAI
JNB RIGH,PHAI
JNB ON,THOATRUN
JNB UP,TANG
JNB DOWN,GIAM
JMP RUN
THOATRUN:
clr

tr0

clr

tr1

JNB ON,$
JMP MAIN
TRAI: JNB LEFT,$
CLR DIR
JMP RUN
PHAI: JNB RIGH,$

SETB DIR
JMP RUN
TANG:

JNB UP,$

INC

PWM_VALUE

INC

PWM_VALUE

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


ĐỒ ÁN 2
Trang 25/26

lcall delay1
JMP RUN
GIAM:

JNB DOWN,$

DEC PWM_VALUE
DEC PWM_VALUE
lcall delay1
JMP RUN

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

tkt:

ret

DELAY:
MOV 7FH,#50
DJNZ 7FH,$
RET
DeLay1:
MOV R1,#02H
REP2: MOV R6,#0FFH

RET

Dùng vi điều khiển Điều khiển tốc độ động cơ DC


×