1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

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

27 3,7K 30

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 4,6 MB

Nội dung

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 1

TỐC ĐỘ ĐỘNG CƠ DC

MỤC LỤC

Trang 3

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

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

Trang 4

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 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 5

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

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 7

t1 :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 9

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

Trang 10

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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

Trang 18

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

Trang 19

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”

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 20

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

[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 22

JMP 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 23

JNB 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 24

ht: 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 25

lcall 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 26

PUSH 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 27

INC 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

Ngày đăng: 11/03/2017, 21:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w