Bộ Công Thương
Trường Đại Học Công Nghiệp Hà Nội
*********
Báo cáo
Đồ án môn học vi điều khiển
Chủ đề 17: Thiết kế bộ điều khiển tốc độ của động cơ điện một
chiều.
- Mạch điện tử được thiết kế trên máy tính bằng phần mềm chuyên dụng.
- Hệ thống có thể điều khiển được các động cơ có công suất <=60W, điện áp
<=24VDC.
- Thao tác điều khiển bao gồm đảo chiều, tăng giảm tốc độ bằng kỹ thuật điều chế
độ rộng xung (PWM).
- Hệ thống có các phím nhấn điều khiển việc đảo chiều, tăng, giảm tốc độ.
- Hệ thống có cách ly về điện giữa mạch điều khiển và mạch động lực để đảm bảo
chống nhiễu cho bộ điều khiển.
Giáo viên hướng dẫn : Nguyễn Anh Dũng
Sinh viên thực hiện: Đinh Văn Thế
Lưu Doãn Liêm
Nguyễn Anh Tuấn
Lớp: ĐT5 – K11
1
Lời nói đầu
Trong các ngành công nghiêp, công tác điều khiển vận hành các thiết bị theo
một quy trình nhằm nâng cao hiệu quả sản xuất, nâng cao chất lượng sản phẩm
đồng thời tiết kiệm chi phí sản xuất giữ một vị trí quan trọng.
Với ưu điểm là điều khiển tốc độ động cơ dễ dàng, độ ổn định tốc độ cao nên
động cơ một chiều đã được sử dụng khá phổ biến như: truyền động cho một số
máy như máy nghiền, máy nâng, vận chuyển, điều khiển băng tải, điều khiển các
robot…
3
3. Port 2 (P2.0-P2.7)
Là một port có công dụng kép, là đường xuất nhập hoặc là byte cao của bus
dịa chỉ đối vớo các thiết bị đồng bộ nhớ mở rộng.
4. Port 3 (P3.0- P3.7)
Mỗi chân trên Port 3 ngoai chớc năng xuất nhập còn có chớc năng riêng,
cụ thể như sau :
Bit Tên Chức năng
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu truyền cho port nối tiếp
P3.2 INT0 Ngắt bên ngoài 0
P3.3 INT1 Ngắt bên ngoài 1
P3.4 T0 Ngõ vào của Timer/counter 0
P3.5 T1 Ngõ vào của Timer/ counter 1
P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài.
5. Chân /PSEN ( Program store Enable)
/PSEN là chân điều khiển đọc chương trình ở bộ nhớ ngoài, nó được nối với chân
/OE để cho phép đọc các byte mã lệnh trên ROM ngoài . /PSEN sẽ ở mức thấp
4
trong thời gian đọc mã lệnh . Mã lẹnh được đọc từ bộ nhớ ngoài qua bus dữ liệu
(Port 0) thanh ghi lệnh để được giải mã . Khi thực hiện chương trình trong ROM
nội thì /PSEN ở mức cao.
6. Chân ALE (Address Latch Enable)
ALE là tín hiệu điều chỉnh chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi
điều khiển. tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như
74373, 74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ / dữ liệu (Port 0).
7. Chân /EA (External Access)
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài vi
điều khiển . Nếu EA ở mức cao (nối với vcc), thì vi điều khiển thi hành chương
Port 2, các chân còn lại là :chân 9 là chân RST, chân 18 và chân 19 lần lượt là
chân XTAL1 và XTAL2, từ chân 29 đến chân 31 lần lượt là các chân PSEN,
ALE, EA.
Sơ đồ chân của 8051
6
Như vậy theo sơ đồ trên AT89S52 có 40 chân mỗi chân có chức năng như các
đường I/O (xuất nhập ), trong đó 24 chân có công dụng kép, mỗi đường có thể
hoạt động như một đường I/O hoặc như đường điều khiển hoặc như thành phần
của bus điều khiển và bus dữ liệu.
Hình 2. Sơ đồ khối của bộ vi điều khiển AT89S52
AT89S52 có 8byte Flash ROM trên chip, khi chân /EA (chân 31) được đặt ở mức
logic cao thì bộ vi điều khiển sẽ thực hiện chương trình trong bộ nhớ này, tuổi
thọ cho bộ nhớ này vào khoảng 1000 lần lập trình, khi chân EA ở mức thấp thì bộ
vi điều khiển sẽ thực hiện chương trình ở bộ nhớ ngoài (EPROM ngoài). Để thực
hiện được điều này thì 89S52 cần cần có một mạch phối ghép AT89S52 với
Flash/EPROM
AT89S52 có 256 byte RAM nội, trong đó có 32 byte của bộ nhớ dành cho các
bank thanh ghi.
7
AT89S52 có 128 bit có chứa các byte định địa chỉ theo bit tà 20H đến 2FH, các
bít này có thể là việc với 1 lệnh đơn.
Ngày nay , với sự phát triển của công nghệ thì việc sử dụng chip nói chung và
họ 8051 nói riêng ngày càng cần thiết và phổ biến …
III. Các hoạt động của AT89S52:
*Hoạt động định thời/đếm:
AT89S52 có 3 bộ định thời/đếm là Timer0, Timer1, Timer2.
Các thanh ghi của Timer0 và Timer1 gồm có:
được.
8
_____ĐỘNG CƠ MỘT CHIỀU_____
I. Cấu tạo máy điện một chiều
Sau đây là một số sơ đồ của máy điện 1 chiều:
Sơ đồ của một máy điện 1 chiều với bộ phận kích từ song song Mạch từ của một máy điện 2 cực Cuộn dây kích từ trên một cực từ
9
Cấu tạo cổ góp
Cấu tạo chổi than
Máy điện một chiều cơ bản gồm 2 phần mạch điện: mạch kích từ và mạch
phần ứng.
Mạch kích từ hay còn hay gọi là stator gồm phần tĩnh là cuộn dây quấn
quanh các cực từ của stator.
Số cực từ là chẵn chúng sắp xếp xen kẽ theo cực tính nam-bắc. Cuộn kích từ,
dòng điện cũng như thông lượng của các cực từ là như nhau
Các cuộn dây kích từ nối tiếp với nhau.
Dòng điện cung cấp cho cuộn kích từ nhằm tạo ra từ thông trong động cơ.
Mạch kích từ không phải là mạch tiêu thụ công suất nguồn chính trong động cơ.
Mạch phần ứng là mạch tiêu thụ công suất chính trong động cơ và nó nằm trên
phần roto. Các cuộn của dây của phần ứng đặt trong đặt trong các rảnh phân bố
trên bề mặt của roto, độ rộng của một cuộn dây gọi là bước cuộn. Các cuộn dây
trên phần mạch ứng nối với nhau thành một mạch kín, kết thúc của cuộn này sẽ là
Dòng điện cuộn ứng càng lớn thì Фn càng mạnh đồng thời góc quay β càng
lớn.12
PHẦN II. NỘI DUNG
I. Mạch mô phỏng
Mạch mô phỏng trên phần mềm proteus 7.8 SP2. Tuy nhiên mô phỏng với thực
tế có nhiều sự khác biệt. Yêu cầu người làm mạch phải có kỹ năng làm mạch và
khảo sát thực tế.
II. Mạch nguyên lý
13
III. Mạch in
IV. Mạch thực tế
14
V. Lập trình cho vi điều khiển
1. Phương pháp điều chế độ rộng xung điều khiển tốc độ động cơ (PWM)
Điều khiển tốc độ động cơ là một kĩ thuật hết sức quan trọng trong các ứng
dụng của động cơ. Kĩ thuật này giúp bạn có thể điều khiển đ ộn g cơ của
mình chạy nhanh chậm tuỳ ý.
a) Có hai cách tạo xung có độ rộng thay đổi bằng VĐK.
+ Cách 1: Như các bạn điều khiển nhấp nháy 1 con led, đó là tạo ra 1 xung trên
1 chân của vi điều khiển, những xung đó có độ rộng cố định, tần số lớn, cách
bạn có thể điều chỉnh lại hàm delay để tần số của nó đúng 1Khz. Tuy nhiên vì
là dùng hàm delay nên trong thời gian có xung lên 1 (5V) và thời gian không
có xung(0V) vi điều khiển không làm gì cả, hơn nữa tạo xung bằng việc delay
mà các bạn có nhu cầu cần 2 bộ phát xung của 2 kênh, có cùng tần số mà khác
độ rộng xung thì trở nên rất khó khăn. Cho nên chúng ta dùng bộ định thời
- Xung PWM: Đưa ra mở transitor, xung với độ rộng lớn hơn transitor sẽ
mở lâu hơn động cơ sẽ quay nhanh hơn, dĩ nhiên không tuyến tính. Không có
xung động cơ sẽ không quay, có xung 100% động cơ sẽ quay max.Tuy nhiên
xung phải lớn hơn 1 mức nào đó thì mới đủ khởi động cho động cơ. Các đặc
tính này các bạn tham khảo trong giáo trình về máy điện, khí cụ điện.
15
2. Code lập trình
///////////////////////////// Dieu khien toc do dong co bang xung PWM
///////////////// Khai bao thu vien
#include<reg52.h>
#include<math.h>
#include<stdio.h>
////////////////// Khai bao bien
sbit F=P2^7;
sbit T=P1^4;
sbit G=P1^5;
sbit QT=P1^6;
sbit QN=P1^7;
sbit QT1=P2^5;
sbit QN1=P2^6;
unsigned int i;
/////////////////// Ham tao xung PWM
void taoxung(unsigned int i)
{
F=1;
TR0=0;
TH0=-i/256;
TL0=-i%256;
TR0=1;
while(!TF0);
if(i>=990) i=i-10;
} }}
/////////////// Giam toc do dong co
void giam(void)
{
if(G==1);
else
{
while ((T==1)&&(QT==1)&&(QN==1))
{
i=i-10;
taoxung(i);
if(i<=10) i=i+10;
}}}
/////////////// Dieu khien dong co quay thuan
void thuan(void)
{
if(QT==1)
{
QT1=0;
QN1=0;
}
else
{
while(QN==1)
{
QN1=0;
QT1=1;
tang();
giam();
V. Phân tích nguyên lí hoạt động
- Khi chưa nhân nút, chân 26 (P2.5) và chân 27 (P2.6) ở mức 0, rơle không hoạt
động, điện áp ở 2 đầu của động cơ bằng Uvào (12V) => động cơ không hoạt
động.
- Khi nhấn nút quay thuận, tín hiệu được đưa đến vi điều khiển, vi điều khiển
nhận và xử lí tín hiệu => sau đó đưa tín hiệu qua chân 26 (P2.5) và chân 27
(P2.6). Chân 26 tích mức 1, chân 27 tích mức 0 => transistor khuếch đại => điều
khiển rơle1 hoạt động, rơle2 không hoạt đông => Điện áp đặt vào 2 đầu động cơ
là khác nhau (12V – ~0V), đồng thời vi điều khiển tạo 1 xung PWM (độ rộng
khoảng 70%) trên chân 28 qua opto (cách ly quang => chống nhiễu cho vi điều
khiển) => qua MOSFET IRF540 khuếch đại tín hiệu đưa vào đầu còn lại của
động cơ => động cơ quay thuận
18
- Khi nhấn nút quay ngược, tín hiệu được đưa đến vi điều khiển, vi điều khiển
nhận và xử lí tín hiệu => sau đó đưa tín hiệu qua chân 26 (P2.5) và chân 27
(P2.6). Chân 26 tích mức 0, chân 27 tích mức 1 => transistor C1815 khuếch đại
=> điều khiển rơle2 hoạt động, rơle1 không hoạt đông => Điện áp đặt vào 2 đầu
động cơ là khác nhau (~0V – 12`V), đồng thời vi điều khiển tạo 1 xung PWM
trên chân 28 qua opto (cách ly quang => chống nhiễu cho vi điều khiển) => qua
MOSFET IRF540 khuếch đại tín hiệu đưa vào đầu còn lại của động cơ => động
cơ quay ngược
- Khi nhấn nút tăng tốc độ, tín hiệu trên chân 26 và 27 vẫn giữ nguyên mức lôgíc.
Mặt khác, tạo một xung PWM mới (độ rộng khoảng 99%) trên chân 28 qua opto
(cách ly quang => chống nhiễu cho vi điều khiển) => qua MOSFET IRF540
khuếch đại tín hiệu đưa vào đầu còn lại của động cơ => động cơ vẫn quay theo
chiều như trước nhưng tốc độ nhanh hơn.
- Khi nhấn nút giảm tốc độ, tín hiệu trên chân 26 và 27 vẫn giữ nguyên mức
lôgíc. Mặt khác, tạo một xung PWM mới (độ rộng khoảng 1%) trên chân 28 qua
opto (cách ly quang => chống nhiễu cho vi điều khiển) => qua MOSFET IRF540
khuếch đại tín hiệu đưa vào đầu còn lại của động cơ => động cơ vẫn quay theo
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
20