có sơ đồ nguyên lý, sơ đồ khối và lưu đồ giải thuật, mạch in và code đầy đủ cho mạch ĐIỀU KHIỂN tốc độ ĐỘNG cơ DC dùng 89c51 ( có code và mô phỏng và mạch in ) ...............................................................................................................................................................
Trang 1TỐC ĐỘ ĐỘNG CƠ DC
MỤC LỤC
Trang 3CHƯƠ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
Dùng vi điều khiển Điều khiển tốc độ động cơ DC
Trang 4Hì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 ban đầu của nó, khi đó roto sẽ quay theo quán tính
1.2.3 Đ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
Trang 5Hì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
Trang 6+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
Trang 7t1 :thời gian xung ở sườn dương
T :thời gian của cả sườn âm và sườn dươngUmax : đ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
Trang 8- 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
B. Port 3
Dùng vi điều khiển Điều khiển tốc độ động cơ DC
Trang 9Port 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
Trang 10CHƯƠ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
Trang 14Hì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
Trang 15Hình 2.2 Sơ đồ giải thuât
Trang 162.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
Trang 172.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
Trang 18Hì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
Trang 19Ngà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”
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
Trang 204.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
[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ơ”
Trang 21[3] gi.html
http://tbe.vn/chia-se-kien-thuc/7056-phuong-phap-dieu-xung-pwm-la-[4] l298-v1.171/
; -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
Trang 22JMP NGAT_T1org 0030h
begin:
SETB TCON.2MOV TMOD,#11HMOV TH0,#HIGH(-100)MOV TL0,#LOW(-100)CLR TF0
MOV TH1,#HIGH(-50000)MOV TL1,#LOW(-50000)
Dùng vi điều khiển Điều khiển tốc độ động cơ DC
Trang 23JNB ON,$
setb tr0setb tr1 mov r3,#30RUN:
cjne r3,#30,ht mov r3,#0
Dùng vi điều khiển Điều khiển tốc độ động cơ DC
Trang 24ht: inc r3
JNB LEFT,TRAIJNB RIGH,PHAIJNB ON,THOATRUNJNB UP,TANG
JNB DOWN,GIAMJMP RUN
CLR DIRJMP RUNPHAI: JNB RIGH,$
SETB DIRJMP RUN
INC PWM_VALUEINC PWM_VALUE
Dùng vi điều khiển Điều khiển tốc độ động cơ DC
Trang 25lcall delay1
JMP RUN
DEC PWM_VALUEDEC PWM_VALUElcall delay1
RETDeLay1:
MOV R1,#02HREP2: MOV R6,#0FFH
RET
Dùng vi điều khiển Điều khiển tốc độ động cơ DC
Trang 26PUSH ACCMOV 70H,C
MOV TH0,#HIGH(-200)MOV TL0,#LOW(-200)setb tr0
MOV A,PWM_VALUECJNE A,#0,EN_PWMJMP EXIT_ISR
EN_PWM:
INC R7MOV A,R7CJNE A,PWM_VALUE,OFF_PULSECLR PWM ;TAT THIET BI
OFF_PULSE:
CJNE A,#100,EXIT_ISRSETB PWM
MOV R7,#0EXIT_ISR:
MOV C,70HPOP ACCRETI
Dùng vi điều khiển Điều khiển tốc độ động cơ DC
Trang 27INC R5RETI
NGAT_T1:
MOV TH1,#HIGH(-50000)MOV TL1,#LOW(-50000)setb tr1
inc r4tt:
RETI
ORG 900H
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90hEND
4.66%
Dùng vi điều khiển Điều khiển tốc độ động cơ DC