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

điều khiển động cơ bước bằng truyền thông

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 (841.36 KB, 24 trang )

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

BÁO CÁO THIẾT KẾ MÔN
HỌC
KĨ THUẬT VI XỬ LÝ
Đề tài:
ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC
BẰNG TRUYỀN THÔNG

Hà Nội-2018


Trường Đại học Giao Thông Vận Tải

Khoa : Điện điện tử

LỜI MỞ ĐẦU
Hiện nay động cơ điện được sử dụng trong hầu hết mọi lĩnh vực trong cuộc
sống. Yêu cầu điều khiển động cơ điện ngày một phức tạp hơn, đòi hỏi sự chính
xác cao hơn với những kỹ thuật khác nhau. Cùng với sự phát triển mạnh mẽ của
công nghệ thông tin, việc điều khiển nói chung và điều khiển động cơ điện nói
riêng ngày được số hóa.
Một trong những động cơ được sử dụng rộng rãi hiện nay có khả năng số
hóa cao là động cơ bước.
Từ những kiến thức đã học và trong quá trình tìm hiểu tài liệu, chúng em xin
được trình bày về động cơ bước và những điểm chính trong động cơ bước từ
truyền thông.
Với kiến thức,tài liệu và khả năng trình bày có hạn,chắc chắn bài làm sẽ còn
nhiều thiếu sót. Chúng em mong nhận được sự đóng góp của thầy cô và các bạn để
hoàn thiện hơn kiến thức của nhóm em.



MỤC LỤC
I-Giới thiệu về động cơ bước
1-Động cơ bước là gì ?
2-Cấu tạo
3-Nguyên lý hoạt động
4-Các loại động cơ bước
5-Cách điều khiển động cơ bước
6-Ứng dụng
II-Giới thiệu tổng quan về họ vi điều khiển 8051
1-Sơ đồ khối và sơ đồ chân AT89C51
2-Chức năng của các chân AT89C51
3-Mạch vi đệm ULN2003
III-Lập trình và mô phỏng
1-Mô phỏng
2-Lập trình
IV-Nhận xét và đánh giá


Linh kiện bao gồm:
AT89C51
Điện trở
Thạch anh 12MHZ
Tụ điện (tụ thường 2 con 33pF,, 1 con 100uF)
Trở thanh
Động cơ bước
ULN2003

I-Giới thiệu về động cơ bước
1-Động cơ bước là gì ?

Động cơ bước thực chất là một động cơ đồng bộ dùng để biến đổi các tín hiệu
điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động
góc quay hoặc các chuyển động của roto và có khả năng cố định roto vào những vị
trí cần thiết. Động cơ bước làm việc được là nhờ có bộ chuyển mạch điện tử đưa
các tín hiệu điều khiển vào stato theo một thứ tự và một tần số nhất định. Tổng số
góc quay của roto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc
độ quay của roto, phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi. Khi một
xung điện áp đặt vào cuộn dây stato (phần ứng) của động cơ bước thì roto (phần
cảm) của động cơ sẽ quay đi một góc nhất định, góc ấy là một bước quay của
động cơ. Khi các xung điện áp đặt vào các cuộn dây phần ứng thay đổi liên tục thì
roto sẽ quay liên tục. (Nhưng thực chất chuyển động đó vẫn là theo các bước rời
rạc).


Hình dạng của một loại động cơ bước

2. Cấu tạo

Động cơ bước là động cơ điện có nguyên lý và ứng dụng khác biệt với đa số các
loại động cơ điện thông thường. Chúng thực chất là một động cơ đồng bộ dùng
để biến đổi các tín hiệu điều khiển dưới dạng các xung điện.


Bên trong động cơ bước
Theo hình trên, bên trong động cơ bước có 4 cuộn dây Stator được sắp xếp theo
cặp đối cứng qua tâm. Rotor là nam châm vĩnh cửu có nhiều răng. Động cơ bước
hoạt động trên cơ sở lý thuyết từ trường các cực cùng dấu đẩy nhau và các cực
khác dấu hút nhau. Từ trường của Stator là do dòng điện chạy qua lõi cuộn dây
tạo ra, khi đó hướng của dòng thay đổi thì cực từ trường cũng thay đổi theo gây
nên chuyển động đảo chiều của động cơ.


3. Nguyên lý hoạt động
Khác với động cơ đồng bộ thông thường, Rotor của động cơ bước được khởi động
bằng phương pháp tần số do không có cuộn dây khởi động. Rotor của động cơ
bước có Rotor tích cực hoặc Rotor thụ động.
Động cơ bước làm việc nhờ bộ chuyển mạch điện tử đưa các tín hiệu vào Stator
theo một thứ tự và một tần số nhất định. Số lần chuyển mạch sẽ bằng tổng số góc
quay của Rotor, chiều quay và tốc độ quay của rotor cũng phụ thuộc vào thứ tự
chuyển đổi và tần số chuyển đổi.


Xung điện áp cấp cho cuộn dây Stator có thể là xung 1 cực hoặc 2 cực:
Chuyển mạch điện tử có thể cung cấp điện áp điều khiển cho các cuộn dây stator
theo từng cuộn riêng lẻ hoặc có thể theo từng nhóm các cuộn dây. Trị số cũng như
chiều của lực điện từ tổng F phụ thuộc vào vị trí của các lực điện từ thành phần.
Do đó, vị trí của Rotor của động cơ bước phụ thuộc hoàn toàn vào phương pháp
cung cấp điện cho các cuộn dây:
Khác với động cơ đồng bộ bình thường, rôto của động cơ bước không có cuộn dây
khởi động mà nó được khởi động bằng phương pháp tần số.Rôto của động cơ
bước có thể được kích thích (rôto tích cực) hoặc không được kích thích (rôto thụ
động).

Sơ đồ nguyên lý động cơ bước m pha với rôto có 2 cực (2p=2) và không được kích
thích.
Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng
bước nên có độ chính xác rất cao về mặt điều khiến học. Chúng làm việc nhờ các
bộ chuyển mạch điện tử đưa các tín hiệu điều khiến vào stato theo thứ tự và một
tần số nhất định. Tổng số góc quay của rôto tương ứng với số lần chuyển mạch,



cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và
tần số chuyển đổi.

Hình minh họa thứ tự cấp điện các cuộn dây và các bước quay

4. Các loại động cơ bước
Động cơ bước được chia làm hai loại, nam châm vĩnh cửu và biến từ trở, ngoài ra
còn có loại động cơ hỗn hợp nhưng nó không có khác biệt gì với động cơ nam
châm vĩnh cửu. Nếu không có nhãn để phân biệt động cơ, bạn vẫn có thể phân
biệt hai loại động cơ này bằng cảm giác mà không cần cấp điện cho chúng.

Động cơ bước nhiều pha
Động cơ nam châm vĩnh cửu dường như có các nấc khi bạn dùng tay xoay nhẹ
Rotor của chúng , trong khi động cơ biến từ trở thì dường như xoay tự do, sử
dụng 0hm kế ta cũng có thể phân biệt được hai loại động cơ này.


Động cơ bước 2 cực
Động cơ biến từ trở thường có 3 mấu với một dây chung, trong khi đó động cơ
nam châm vĩnh cửu thường có hai mấu phân biệt, có thể có hoặc không có nút
trung tâm.
Động cơ bước có góc quay phong phú, các động cơ kém nhất quay 90 độ mỗi
bước, trong khi đó các động cơ nam châm vĩnh cửu xử lý cao thường quay 1.8 độ
đến 0.72 độ mỗi bước. Hầu hết các loại động cơ nam châm vĩnh cửu và hỗn hợp
đều có thể chạy ở chế độ nửa bước và một vài bộ điều khiển có thể điều khiển các
phân bước nhỏ hơn hay còn gọi là vi bước.

Động cơ bước đơn cực

5. Cách điều khiển động cơ bước

Động cơ bước được điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau tạo
thành các chuyển động góc quay hoặc các chuyển động của Rotor. Động cơ bước
không quay theo cơ chế thông thường, chúng quay theo từng bước bên có chế độ


chính xác rất cao về mặt điều khiển học. Chúng làm việc nhờ các bộ chuyển mạch
điện tử đưa các tín hiệu điều khiển vào Stator theo thứ tự và tần số nhất định.
Một hệ thống có sử dụng động cơ bước có thể được khái quát theo sơ đồ sau.

D.C.SUPPLY: Có nhiệm vụ cung cấp nguồn một chiều cho hệ thống. Nguồn một
chiều này có thể lấy từ pin nếu động cơ có công suất nhỏ. Với các động cơ có công
suất lớn có thể dùng nguồn điện được chỉnh lưu từ nguồn xoay chiều.
CONTROL LOGIC: Đây là khối điều khiển logic. Có nhiệm vụ tạo ra tín hiệu điều
khiển động cơ. Khối logic này có thể là một nguồn xung, hoặc có thể là một hệ
thống mạch điện tử. Nó tạo ra các xung điều khiển. Động cơ bước có thể điều
khiển theo cả bước hoặc theo nửa bước.
POWER DRIVER: Có nhiệm vụ cấp nguồn điện đã được điều chỉnh để đưa vào
động cơ. Nó lấy điện từ nguồn cung cấp và xung điều khiển từ khối điều khiển để
tạo ra dòng điện cấp cho động cơ hoạt động.
STEPPER MOTOR: Động cơ bước. Các thông số của động cơ gồm có: Bước góc, sai
số bước góc, mômen kéo, mômen hãm, mômen làm việc.Đối với hệ điều khiển
động cơ bước, ta thấy đó là một hệ thống khá đơn giản vì không hề có phần tử
phản hồi. Điều này có được vì động cơ bước trong quá trình hoạt động không gây


ra sai số tích lũy, sai số của động cơ do sai số trong khi chế tạo. Việc sử dụng động
cơ bước tuy đem lai độ chính xác chưa cao nhưng ngày càng được sử dụng phổ
biến. Vì công suất và độ chính xác của bước góc đang ngày càng được cải thiện

Bước góc của động cơ bước được chế tạo theo bảng tiêu

chuẩn sau:

6. Ứng dụng
Động cơ bước được ứng dụng nhiều trong ngành tự động hóa, chúng được ứng
dụng trong các thiết bị điều khiển cần độ chính xác. Trong điều khiển chuyển động
kỹ thuật, động cơ bước là một cơ cấu chấp hành đặc biệt hữu hiệu bởi nó có thể
thực hiện trung thành các lệnh đưa ra dưới dạng số.
Ví dụ: điều khiển robot, điều khiển bắt, bám các mục tiêu trong các khí tài quan
sát, điều khiển lập trình trong các thiết bị gia công cắt gọt… Ngoài ra trong công
nghệ máy tính, động cơ bước được sử dụng cho các loại ổ đĩa cứng, máy in…

II-GIới thiệu tổng quan về họ vi điều khiển 8051
AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chất lượng
cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable read only
memory).
Các đặc điểm của 8951 được tóm tắt như sau:
- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới 1000 chu kỳ
- Tần số hoat động từ 0 Hz đến 24 MHz
- 3 mức khóa bộ nhớ lập trình


- 2 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
- Xử lý Boolean (hoạt động trên bit đơn)
- 210 vị trí nhớ có thể định vị bit
- 4μs cho hoạt động nhân hoặc chia


1 – Sơ đồ khối và sơ đồ chân của AT89C51
INT1\ INT0\
SERIAL PORT TEMER0
TEMER1
TEMER2 8032\8052

128 byte RAM
8032\8052
INTERRUPT CONTROLOTHER REGISTER

128 byte RAM

ROM
0K:
8031\8032
4K:8951
8K:8052

TEMER2 8032\8052
TEMER1
TEMER1

CPU
BUS CONTROL
I/O PORT

OSCILATOR

EA\ RST


SERIAL PORT

ALE\ PSEN\
P0 P1 P2 P3
Address\Data

TXD RXD


Hình 1 – Sơ đồ khối của AT89C51

Hình 2 – Sơ đồ chân của AT89C51

2 – Chức năng các chân của AT89C51
+ Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra, port 0 còn
là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được sử dụng khi
AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus.


Hình 3 – Port 0
+ Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit và byte.
Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn ISP, 2 chân
P1.0 và P1.1 được dùng cho bộ Timer 2.

Hình 4 – Port 1


+ Port 2 (P2.0 – P2.7 hay chân 21 – 28): 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 địa chỉ đối với các thiết kế dùng bộ nhớ mở

rộng.

Hình 5 – Port 2
+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức năng
xuất nhập ra còn có một số chức năng đặc biệt sau:


Bit

Tên

Chức năng chuyển đổi

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



Hình 6 – Port 3
+ RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta phải đưa
mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tương đương 2µs
đối với thạch anh 12MHz.
+ XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó thường được nối với
một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thông thường là 12MHz.


+ EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc mức thấp
(GND). Nếu ở mức cao, bộ vi điều khiển thi hành chương trình từ ROM nội. Nếu ở
mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng.
+ ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một thanh ghi
bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó các đường port 0 dùng để
xuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ.
+ PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ nhớ chương
trình mở rộng và thường được nối với đến chân /OE (Output Enable) của một
EPROM để cho phép đọc các bytes mã lệnh. PSEN sẽ ở mức thấp trong thời gian
đọc lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua Bus và
được chốt vào thanh ghi lệnh của bộ vi điều khiển để giải mã lệnh. Khi thi hành
chương trình trong ROM nội, PSEN sẽ ở mức thụ động (mức cao).
+ Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V – 5.5V được cấp
qua chân 40 (Vcc) và chân 20 (GND).
+Thạch anh 12 Mhz : Tạo tần số hoạt động cho VĐK 8051
Thạch anh có tính chất áp điện, nghĩa là dưới tác dụng của điện trường thì sinh ra
dao động. Do đó có thể dùng thạch anh như một khung cộng hưởng. Tính chất
dao động của thạch anh được biểu diễn bởi sơ đồ tương đương hình a., trong đó
Lq,Cq và rq phụ thuộc vào kích thước khối thạch anh và cách cắt khối thạch anh.
Thạch anh có kích thước càng nhỏ thì Lq, Cq và rq càng nhỏ, nghĩa là tần số cộng

hương riêng của nó càng cao. Lq, Cq và rq có tính ổn định cao. Cq là điện dung giá
đỡ, tính ổn định của Cq kém hơn.


3-Mạch vi đệm ULN2003
ULN 2003 là một vi mạch đệm, bản chất cấu tạo là các mảng darlington chịu được
dòng đện lớn và điện áp cao, trong đó có chứa 7 cặp transistor NPN
ghép darlington cực góp hở với cực phát chung. Mỗi kênh của ULN 2003 có một
diode chặn có thể sử dụng trong trường hợp tải có tính cảm ứng, ví dụ như các
relay.


ULN 2003 có khả năng điều khiển 7 kênh riêng biệt, có thể nối trực tiếp với vi điều
khiển 5V. Bên cạnh đó, mỗi kênh của ULN 2003 có thể chịu được dòng điện lớn
trong một khoảng thời gian dài lên tới 500mA với biên độ đỉnh lên tới 600mA.
Ứng dụng của ULN 2003 được sử dụng trong các mạch đệm điều khiển động cơ
một chiều, động cơ bước, khối hiển thị ma trận led,...

III-Lập trình và mô phỏng
1-Mô phỏng trên proteus


2- Code lập trình
Sử dụng ngôn ngữ lập trình C được viết bằng phần mềm keil C

Code như sau:
#include <REGX51.H>
sbit xung1=P2^6; 
sbit xung2=P2^7;
sbit xung3=P3^2;

sbit xung4=P3^3;
int goc=250;
int j,sobuoc=10,i=0,mode=3;
void delay(int k)
   {
for(j=0;j17 for(i=0;i<125;i++);
   }
void com_initialize(void) 
{
EA=0;
TR1 = 0; 
ET1 = 0; 
PCON = 0x00;
TMOD = 0xf0; 
TMOD = 0x20; 
TH1=0xfd; 
TL1 = TH1; 
SM0 = 0;


SM1 = 1; 
SM2 = 0; 
REN = 1; 
TI = 0; 
RI = 0; 
ES = 1; 
PS = 0; 
TR1 = 1;
 

EA=1;
    }
void send(char x) 
   {
SBUF=x;
while(TI==0);
TI=0;
    }
void sendchuoi(char *str)
  {
unsigned char i=0;
while(str[i]!=0)
  {
send(str[i]);
   i++;
   }
  }
void xoaygocgiam() // ham giam goc
   {
xung1=1;xung2=1;xung3=0;xung4=0;
delay(5000);
xung1=0;xung2=1;xung3=1;xung4=0;
D:\ATILIUM\vi xu ly nam 3\dong co buoc uart\mach vxl ­ 
Copy\dong co buoc\main.c
Page 2
delay(5000);
xung1=0;xung2=0;xung3=1;xung4=1;


delay(5000);

xung1=1;xung2=0;xung3=0;xung4=1;
delay(5000);
 }
void xoaygoctang()
  {
xung1=0;xung2=0;xung3=1;xung4=1;
delay(5000);
xung1=0;xung2=1;xung3=1;xung4=0;
delay(5000);
xung1=1;xung2=1;xung3=0;xung4=0;
delay(5000);
xung1=1;xung2=0;xung3=0;xung4=1;
delay(5000);
  }
void Comm_int(void) interrupt 4   
{
char ch;
if (RI) 
  {
RI = 0; 
ch=SBUF;
if(ch=='t')
  {
xoaygoctang();
sendchuoi("\n TIEN 1 BUOC\n");
   }
if(ch=='l') 
   {
xoaygocgiam();
sendchuoi("\n LUI 1 BUOC\n");

    }
if(ch=='n')
   {   
mode=1;
sendchuoi("\n CHAY TIEN LIEN TUC \n");
   }
if(ch=='c') 


   {
mode=2;
sendchuoi("\n CHAY LUI LIEN TUC \n");
   }
if(ch=='d') //
   {
mode=3;
sendchuoi("\n DUNG LAI \n");
 }

void main()
  {
com_initialize();
sendchuoi("\n DIEU KHIEN DONG CO BUOC BANG UART\n");
while(1)
 {
if(mode==1)xoaygoctang();
else if(mode==2) xoaygocgiam();
 }
}
Điều khiển động cơ bước dùng các xung

1100  0110 -> 0011 >> 1001 để quay thuận
0011 > 0110 > 1100 >1001

để quay nghịch

Thời gian delay để quay các bước là 5ms để động cơ có thể quay các góc chính xác
Động cơ bước dược set góc quay là 1.8 độ vì vậy sau 4 xung động cơ sẽ quay
được 7.2 độ
Lệnh được gửi từ máy tính đưa vào hàm ngắt để chạy

IV-Nhận xét đánh giá



×