Báo cáo thầy Dũng

21
BGIÁO DC ĐÀO TO TRƯỜNG ĐẠI HC DÂN LP HI PHÒNG  Bài tiu lun Vi điu khin và ng dng ĐỀ TÀI : VI ĐIU KHIN 8051 ĐIU KHIN ĐỘNG CƠ DC BNG XUNG PWM Ging viên : Nguyn Huy Dũng Sinh viên : Phm Nho Bin Đào thNăm THu Quang Vinh 1  

Transcript of Báo cáo thầy Dũng

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 1/21

BỘ GIÁO DỤC ĐÀO TẠO

TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG

 Bài tiểu luận

Vi điều khiển và ứng dụng

ĐỀ TÀI : VI ĐIỀU KHIỂN 8051 ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNGXUNG PWM

Giảng viên : Nguyễn Huy Dũng

Sinh viên : Phạm Nho Biển

Đào thị Năm

Tạ Hữu Quang Vinh

1

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 2/21

Mục lục

1. Giới thiệu

2. Tổng quan kỹ thuật vi điều khiển 8051

3. Xung PWM - Pulse Width Modulation

4. Mạch cầu H

5. Động cơ 1 chiều

6. Mạch nguồn 7805

7. Sơ đồ nguyên lý

2

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 3/21

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 4/21

Đặc tính Số lượng

ROM trên chíp 8 k byte

RAM 128 byteBộ định thời 2

Các chân vào ra 32

Cổng nối tiếp 1

 Nguồn ngắt 6

Các đặc tính của 8051 đầu tiên

Cấu tạo và chức năng các khối của AT89S52.

4

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 5/21

5

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 6/21

Các đặc tính của AT89S52

CPU( CPU centralprocessing unit) bao gồm:

Thanh ghi tích lũy A

Thanh ghi tích lũy phụ B

Đơn vị logic học (ALU)

Thanh ghi từ trạng thái chương trình

Bốn băng thanh ghi

6

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 7/21

Con trỏ ngăn xếp

Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash.

Bộ nhớ dữ liệu( RAM) gồm 256 byte.

Bộ UART, có chức năng truyền nhận nối tiếp.

3 bộ Timer/Counter 16 bit thực hiện chức năng định thời và đếm sự kiện.

Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong.

Bộ lập trình( ghi chương trình lên Flash ROM) cho phép người sử dụng có thể nạp cácchương trình cho chíp mà không cần các bộ nạp chuyên dụng.

Bộ chia tần số với hệ số chia là 12.

4 cổng xuất nhập với 32 chân.

Chức năng các chân của AT89S52

 Port 0( P0.0=>P0.7)

Port 0 gồm 8 chân, ngoài chức năng xuất nhập, port 0 còn là bus đa hợp dữ liệu và địachỉ( AD0-AD7), chức năng này sẽ được sử dụng khi 89s52 giao tiếp với các thiết bị ngoài có kiếntrúc Bus như các vi mạch nhớ, mạch PIO…

 Port 1( P1.0=>P1.7)

Chức năng duy nhất của Port 1 là chức năng xuất nhập cũng như các Port khác. Port1 có thểxuất nhập theo bit và theo byte.

 Port 2( P2.0=>P2.7)

Port 2 ngoài chức năng là cổng vào/ra như Port 0 và 1 còn là byte cao của bus địa chỉ khi sửdụng bộ nhớ ngoài.

 Port 3

Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một 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

7

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 8/21

P3.3 INT1 Ngắt ngoài 1

P3.4 TO Ngõ vào của Timer/counter0

P3.5 T1 Ngõ vào của Timer/counter1

P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài.

P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài.

Chân /PSEN : là chân điều khiển đọc chương trình ở bộ nhớ ngoài.

Chân ALE : ALE là tín hiệu điều khiển 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ênngoài như 7473.

Chân /EA : Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hayngoài. EA=1 thì thực hiện chương trình trong RAM nội. EA=0 thực hiện ở RAMngoài.

 RST( reset) : Ngõ vào reset trên chân số 9. khi RST=1 thì bộ vi điều khiển sẽ được

khởi động lại thiết lập ban đầu. XTAL1, XTAL2 : 2 chân này được nối song song với thạch anh tần số max=33 Mhzđể tạo dao động cho bộ vi điều khiển.

Vcc, GND : cung cấp nguồn nuôi cho bộ vi điều khiển. cấp qua chân 20 và 40.

3. Xung PWM - Pulse Width Modulation

Phương pháp điều chế PWM có tên tiếng anh là Pulse Width Modulation là phương pháp điềuchỉ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ẫm đếm 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 hoặc là sườn âm. Điều chế độ rộng xung (PWM) là mộtkỹ thuật thường được sử dụng để kiểm soát tính năng của các thiết bị quán tính điện, áp dụng thựctế trong các thiết bị chuyển mạch điện điện tử hiện đại.

Tần số chuyển mạch PWM nhanh hơn nhiều so với các tác động ảnh hưởng đến tải, cụ thể ở đây là các thiết bị sử dụng điện. Thông thường các bộ chuyển đổi thực hiện nhiều lần một phúttrong một bếp điện, 120 Hz trong một đèn mờ, từ vài kilohertz (kHz) đến hàng chục kHz cho một ổđĩa động cơ và cũng vào hàng chục hoặc hàng trăm kHz, bộ khuyếch đại âm thanh và máy tínhnguồn cung cấp điện.

8

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 9/21

Ví dụ về PWM trong 1 ổ đĩa động cơ 

PWM cũng đã được sử dụng trong một số hệ thống thông tin chu kỳ nhiệm vụ của nó đã đượcsử dụng để truyền đạt thông tin qua một kênh thông tin liên lạc .

Trong báo cáo này để điều khiển tốc độ dùng chỉnh độ rộng xung (Pulse Width Modulation-PWM) hay còn được các đội robot gọi là: băm xung. Là cách phổ biến để có thể thay đổi tốc độcủa robot.

Điều khiển độ rộng của xung được làm bằng cách tắt bật nhanh nguồn điện lên động cơ. Nguồn áp 1 chiều DC sẽ chuyển thành tín hiệu xung vuông, thay đổi từ 12V xuống 0V.Nếu tần số bật tắt mà đủ cao, motor sẽ chạy ở một tốc độ ổn định nhờ mômen quay.Bằng cách thay đổi chu kỳhoạt động của tín hiệu (thay đổi độ rộng xung – PWM), tức là khoảng thời gian “Bật”, nguồn điệntrung bình đặt lên động cơ sẽ thay đổi và dẫn đến thay đổi tốc độ.

 Như trên hình, với dãy xung điều khiển trên cùng, xung ON có độ rộng nhỏ nên động cơ 

chạy chậm. Nếu độ rộng xung ON càng lớn (như dãy xung thứ 2 và thứ 3) động cơ DC chạy càngnhanh

9

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 10/21

Ưu điểm: - Transistor ở lối ra chỉ có duy nhất hai trạng thái (ON hoặc OFF) do đó loại bỏđược mất mát về năng lượng đốt nóng hay năng lượng rò rỉ tại lối ra.

- Dải điều khiển rộng hơn so với mạch điều chỉnh tuyến tính.

- Tốc độ mô tơ quay nhanh hơn khi cấp chuỗi xung điều chế theo kiểu PWM so vớikhi cấp một điện áp tương đương với điện áp trung bình của chuỗi xung PWM.

 Nhược điểm: - Cần các mạch điện tử bổ trợ - giá thành cao

- Các xung kích lên điện áp cao (12 - 24V) có thể gây nên tiếng ồn nếu mô tơ không được gắn chặt và tiếng ồn này sẽ tăng lên nếu gặp phải trường hợp cộnghưởng của vỏ.

- Ngoài ra việc dùng chuỗi xung điều chế PWM có thể làm giảm tuổi thọ của môtơ.

4. Mạch cầu H

Mạch cầu H là mạch được cấu tạo bởi 4 transitor hay là Fet. Đôi khi mạch cầu H cũng đượccấu tạo bởi 2 transitor hay Fet. Tác dụng của transitor và Fet là các van đóng mở dẫn dòng điện từnguồn xuống tải với công suất lớn. Tìn hiệu điều khiển các van là tín hiệu nhỏ (điện áp hay dòngđiện) và cho dẫn dòng và điện áp lớn để cung cấp cho tải.

Tín hiệu điều khiển của điều khiển là nhỏ thường là tín hiệu đầu ra của vi điều khiển là nhỏhơn 5V (do các điều chế PWM) mà điều khiển động cơ cần dòng điện và điện áp lớn. Các van điềukhiển hay các chân điều khiển chỉ cần tín hiệu nhỏ (Điện áp hay dòng điện) là mở khóa (Transitor)

dẫn dòng cho tải. Nên thế mới dùng mạch cầu HMạch cầu H có thể đảo chiều dòng điện qua tải nên thế nó hay được dùng trong các mạch

điều khiển động cơ DC và các mạch băm áp. Đối với mạch điều khiển động cơ thì mạch cầu H cóthể đảo chiều động cơ quá là đơn giản. Chỉ cần mở khóa các van đúng chiều mà mình muốn.

Giả sử có một động cơ DC có 2 đầu A và B, nối 2 đầu dây này với một nguồn điện DC (ắcqui điện – battery). Nếu nối A với cực (+), B với cực (-) mà động cơ chạy theo chiều thuận (kimđồng hồ) thì khi đảo cực đấu dây (A với (-), B với (+) thì động cơ sẽ đảo chiều quay , mạch cầu H(H-Bridge Circuit) sẽ giúp bạn. Như thế, mạch cầu H chỉ là một mạch điện giúp đảo chiều dòngđiện qua một đối tượng .

10

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 11/21

Mạch cầu H.

Trong hình 2 đầu V và GND là 2 đầu (+) và (-) của ắc qui, “đối tượng” là động cơ DCmà chúng ta cần điều khiển, “đối tượng” này có 2 đầu A và B, mục đích điều khiển là cho phépdòng điện qua “đối tượng” theo chiều A đến B hoặc B đến A. Thành phần chính tạo nên mạch cầuH của chúng ta chính là 4 “khóa” L1, L2, R1 và R2 (L: Left, R:Right). Ở điều kiện bình thường 4khóa này “mở”, mạch cầu H không hoạt động. Chúng ta sẽ khảo sát hoạt động của mạch cầu Hthông qua các hình minh họa có hình dạng dưới đây :

11

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 12/21

 Nguyên lý hoạt động mạch cầu H.

Giả sử bằng cách nào đó mà 2 khóa L1 và R2 được “đóng lại” (L2 và R1 vẫn mở), dễdàng hình dung có một dòng điện chạy từ V qua khóa L1 đến đầu A và xuyên qua đối tượng đếnđầu B của nó trước khi qua khóa R2 và về GND (như hình a). Như thế, với giả sử này sẽ có dòngđiện chạy qua đối tượng theo chiều từ A đến B. Bây giờ hãy giả sử khác đi rằng R1 và L2 đóng

trong khi L1 và R2 mở, dòng điện lại xuất hiện và lần này nó sẽ chạy qua đối tượng theo chiều từ Bđến A như trong hình b (V->R1->B->A->L2->GND). Chúng ta có thể dùng mạch cầu H để đảochiều dòng điện qua một “đối tượng” (hay cụ thể, đảo chiều quay động cơ) bằng “một cách nàođó”.

 Nếu đóng đồng thời 2 khóa ở cùng một bên (L1 và L2 hoặc R1 và R2) hoặc thậm chí đóngcả 4 khóa thì sẽ xảy ra hiện tượng “ngắn mạch” (short circuit), V và GND gần như nối trực tiếp vớinhau và hiển nhiên ắc qui sẽ bị hỏng hoặc nguy hiểm hơn là cháy nổ mạch xảy ra. Cách đóng cáckhóa như thế này sẽ làm ảnh hưởng đối với mạch cầu H

5. Động cơ 1 chiều

Động cơ điện một chiều là động cơ điện hoạt động với dòng điện một chiều. Động cơ điện mộtchiều ứng dụng rộng rãi trong các ứng dụng dân dụng cũng như công nghiệp. Thông thường độngcơ điện một chiều chỉ chạy ở một tốc độ duy nhất khi nối với nguồn điện, tuy nhiên vẫn có thể điềukhiển tốc độ và chiều quay của động cơ với sự hỗ trợ của các mạch điện tử cùng phương phápPWM.

12

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 13/21

Phần chính gồm Stato(phần đứng yên) với các cực từ (bằng nam châm vĩnh cửu hoặc namchâm điện), Roto với các cuộn dây quấn, cổ góp cùng chổi điện.

6. Mạch nguồn 7805

Linh Kiện : IC 7805 là IC ổn áp 5V

Với những mạch điện không đòi hỏi độ ổn định của điện áp quá cao, sử dụng IC ổn ápthường được người thiết kế sử dụng vì mạch điện khá đơn giản. Các loại ổn áp thường đượcsử dụng là IC 78xx, với xx là điện áp cần ổn áp

Sơ đồ phía dưới IC 7805 có 3 chân:

13

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 14/21

 Ngõ ra OUT luôn ổn định ở 5V dù điện áp từ nguồn cung cấp thay đổi. Mạch nàydùng để bảo vệ những mạch điện chỉ hoạt động ở điện áp 5V (các loại IC thường hoạt động ở điện áp này). Nếu nguồn điện có sự cố đột ngột: điện áp tăng cao thì mạch điện vẫn hoạtđộng ổn định nhờ có IC 7805 vẫn giữ được điện áp ở ngõ ra OUT 5V không đổi .

Mạch trên lấy nguồn một chiều từ một máy biến áp với điện áp từ 7V đến 9V để đưa

vào ngõ IN. Khi kết nối mạch điện, do nhiều nguyên nhân, người dùng dễ nhầm lẫn cực tínhcủa nguồn cung cấp khi đấu nối vào mạch, trong trường hợp này rất dễ ảnh hưởng đến cáclinh kiện trên board mạch. Vì lí do đó một diode cầu được lắp thêm vào mạch, diode cầu đảm

 bảo cực tính của nguồn cấp cho mạch theo một chiều duy nhất, và nguời dùng cũng khôngcần quan tâm đến cực tính của nguồn khi nối vào ngõ IN nữa.

Điện áp đặt trước IC7805 phải lớn hơn điện áp cần ổn áp từ 1.5V đến 2V

7. Sơ đồ nguyên lý

Sơ đồ khối

14

 

Tín hiệu vào Khối điều khiểntrung tâm

Mạch cầu H Motor DC

Khối nguồn 5V

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 15/21

Sơ đồ nguyên lý

15

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 16/21

 Lưu đồ thuật toán :

Y

 N

Y

 NY

 N

Y

 N

Y

 N

16

 

BEGIN

Khởi tạo cấu hình xung PWM

Xử lý quay thuậnQuay thuận

Quay nghịch

Tăng tốc

Giảm tốc

Xử lý quay nghịch

Xử lý tốc độ tăng

Xử lý tốc độ giảm

Điều khiển động cơ quay

END

 Ngừng động cơ Stop

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 17/21

8. Chương trình

#include <regx52.h>

char duty=0,pwm=0;// Gia tri toc do ban dau

unsigned char t=0;

bit enable_pwm=0,rl=0;

void left(void);

void right(void);

void init_timer()//khoi tao ban dau cho ngat

{

//----------------thiet lap tna so bus---------------------

TMOD=0x22;//chon timer 0 che do 8 bit tu lap lai

TH0=0x00;//thoi gian ngat ~140us

TL0=0xFC;//thoi gian ngat ~140us

ET0=1;// Cho phep ngat timer 0

TR0=1;//khoi dong timer 0EA=1;//cho phep ngat toan cuc

}

void timer_int_0(void) interrupt 1// Ham xu li ngat timer 0

{

TF0=0;

if(enable_pwm==1)// <-> Pwm=4.7619Khz

{

if(duty<pwm && pwm>=0)

{

if(rl==0) P2_3=1;// Quay trai

else P2_6=1;// Quay phai

}

17

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 18/21

else if(duty>pwm && duty<100)

{

P2_3=0;// Thoi gian off 

P2_6=0;

}

duty++;

if(duty==100)

{

duty=0;// Xoa ve 0

}

}

t++;

if(t==100)

{

//---------------------------------------------------if(P3_0==0)// Neu an quay trai

{

left();

}

else if(P3_1==0)// Neu an quay phai

{

right();

}

else if(P3_2==0)// Neu an giam toc

 

{

18

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 19/21

if(pwm>0)

{

pwm--;// Tang toc

}

}

else if(P3_3==0)// Neu an tang toc

{

if(pwm<99)

{

pwm++;// Giam toc

}

}

else if(P3_4==0)// Neu an Stop

{

 pwm=0;}

t=0;

}

}

void left(void)// Ham quay trai

{//5--3

enable_pwm=0;

P2_3=0;// Tat pwm

P2_6=0;// Tat pwm

P2_7=1;// Khoa van tren

P2_5=0;// Mo van tren

rl=0;// Quay trai

19

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 20/21

enable_pwm=1;

}

void right(void)// Ham quay phai

{//7---6

enable_pwm=0;

P2_3=0;// Tat pwm

P2_6=0;// Tat pwm

P2_5=1;// Khoa van tren

P2_7=0;// Mo van tren

rl=1;// Quay phai

enable_pwm=1;

}

void main()

{

init_timer(); 

P3=0xFF;// Lay Port3 lam dau vao

P0=0xFF;

P1=0xFF;

P2=0xFF;

left();// Quay trai

 

while(1)

{

 

}

}

20

 

8/3/2019 Báo cáo thầy Dũng

http://slidepdf.com/reader/full/bao-cao-thay-dung 21/21

9. Mạch in

Chúng em xin chân thành cám ơn

----------------------------------THE END----------------------------------

21