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

Thiết kế mạch điều khiển tốc độ động cơ

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 (292.51 KB, 28 trang )

Môn Vi Xử Lý

Mục lục

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1 Tổng quan

Cùng với sự phát triển của khoa học và công nghệ, các thiết bị điện tử đã,
đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả trong
hầu hết các lĩnh vực khoa học kỹ thuật cũng như trong đời sống xã hội.
Sự phát triển mạnh mẽ của công nghệ điện tử đã cho ra đời nhiều vi mạch số
cỡ lớn với giá thành rẻ và khả năng lập trình cao đã mang lại những thay đổi lớn
trong ngành điện tử. Mạch số ở những mức độ khác nhau đã đang thâm nhập
trong các lĩnh vực điện tử thông dụng và chuyên nghiệp một cách nhanh chóng.
Các trường kỹ thuật là nơi mạch số thâm nhập mạnh mẽ và được học sinh, sinh
viên ưa chuộng do lợi ích và tính khả thi của nó. Vì thế sự hiểu biết sâu sắc về vi
xử lý là không thể thiếu đối với sinh viên ngành điện, điện tử hiện nay.
1.2. Mục đích yêu cầu:
Sự cần thiết, quan trọng cũng như tính khả thi và ích lợi của vi xử lý cũng
chính lý do để chọn và thực hiện đề tài “thiết kế mạch điều khiển tốc độ động
cơ” nhằm ứng dụng kiến thức đã học về vi xử lý vào thực tế.
Yêu cầu đồ án này là thiết kế mạch đo tốc độ sử dụng vi xử lý 89C51 phải
điều khiển được động cơ với 4 cấp tốc độ khác nhau.
1.3 Phương pháp điều khiển tốc độ

Về phương diện điều chỉnh tốc độ, động cơ điện một chiều có nhiều ưu việt
hơn so với loại động cơ khác, không những nó có khả năng thay đổi tốc độ một

1



Môn Vi Xử Lý
cách dễ dàng mà cấu trúc mạch lực, mạch điều khiển đơn giản hơn đồng thời lại
đạt chất lượng điều chỉnh cao trong dải điều chỉnh tốc độ rộng.
1.3.1

Các phương pháp điều khiển tốc độ

13.1.1 Điều chỉnh tốc độ bằng dùng thêm Rp
Điều chỉnh tốc độ bằng dùng thêm Rp:Mắc nối tiếp Rp vào phần ứng,
khi điện trở phần ứng Rư tăng lên, suy ra ω giảm, độ dốc của đường đặc
tính giảm.
Ưu điểm của phương pháp này là đơn giản, tốc độ điều chỉnh liên tục,
nhưng do thêm Rp nên tổn hao tăng, không kinh tế.
1.3.1.2 Điều khiển từ thông:
Điều chỉnh từ thông kích thích của động cơ điện một chiều là điều chỉnh
moment điện từ của động cơ và sức điện động quay của động cơ. Khi từ thông
giảm thì tốc độ quay của động cơ tăng lên trong phạm vi giới hạn của việc thay
đổi từ thông. Nhưng theo công thức khi từ thông thay đổi thì mômen, dòng điện
cũng thay đổi nên khó tính được chính xác dòng điều khiển và mômen tải, nên
phương pháp này cũng ít dùng.

1.3.1.3 Điều khiển điện áp phần ứng:
Thực tế có hai phương pháp cơ bản để điều khiển tốc độ động một chiều
bằng điện áp:
- Điều chỉnh điện áp cấp cho mạch phần ứng của động cơ
- Điều chỉnh điện áp cấp cho mạch kích từ của động cơ.
Trong đó thông thường người ta sử dụng cách điều chỉnh điện áp phần
ứng.
2



Môn Vi Xử Lý
Khi thay đổi điện áp phần ứng thì tốc độ động cơ điện thay đổi theo
phương trình sau:

Vì từ thông của động cơ không đổi nên độ dốc đặc tính cơ cũng không đổi,
còn tốc độ không tải lý tưởng thì tuỳ thuộc vào giá trị điện áp điều khiển Uu của
hệ thống, do đó có thể nói phương pháp điều khiển này là triệt để.
Điện áp tác dụng có thể thay đổi bằng cách xen vào mạch một điện trở nối tiếp
hoặc sử dụng một thiết bị điện tử điều khiển kiểu chuyển mạch lắp bằng
Thyristor, transistor.Trong một mạch điện gọi là mạch băm điện áp, điện áp trung
bình đặt vào động cơ thay đổi bằng cách chuyển mạch nguồn cung cấp thật
nhanh. Khi tỷ lệ thời gian "on" trên thời gian "off" thay đổi sẽ làm thay đổi điện
áp trung bình. Tỷ lệ phần trăm thời gian "on" trong một chu kỳ chuyển mạch
nhân với điện áp cấp nguồn sẽ cho điện áp trung bình đặt vào động cơ.
Như vậy với điện áp nguồn cung cấp là 24V, và đặt tỷ lệ thời gian ON
là 25% thì điện áp trung bình là 6V. Trong thời gian "Off", điện áp cảm
ứng của phần ứng sẽ làm cho dòng điện không bị gián đoạn, qua một đi ốt
gọi là đi ốt phi hồi, nối song song với động cơ. Tại thời điểm này, dòng
điện của mạch cung cấp sẽ bằng không trong khi dòng điện qua động cơ
vẫn khác không và dòng trung bình của động cơ vẫn luôn lớn hơn dòng
điện trong mạch cung cấp, trừ khi tỷ lệ thời gian "on" đạt đến 100%. Ở tỷ lệ
100% "on" này, dòng qua động cơ và dòng cung cấp bằng nhau. Mạch
đóng cắt tức thời này ít bị tổn hao năng lượng hơn mạch dùng điện trở.
Phương pháp này gọi là phương pháp điều khiển kiểu điều chế độ rộng
xung (pulse width modulation, or PWM), và thường được điều khiển bằng
vi xử lý.
Phương pháp điều xung 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ự
3



Môn Vi Xử Lý
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 một tần số và khác nhau về độ rộng của sườn
dương hay sườn âm.
PWM được ứng dụng nhiều trong điều khiển. Điển hình nhất mà thường hay
gặp là điều khiển động cơ và các bộ xung áp, điều áp... 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ơ.

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ơ c
- 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

- 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ới khi cấp m
24V

24V

24V

Hình 1.1
1.4 Tìm hiểu các linh kiện có trong đề tài
1.4.1

Vi điều khiển AT89C51

1.4.1.1 Giới thiệu chung
Bắt đầu xuất hiện vào năm 1980, trải qua gần 30 năm, hiện đã có tới hàng

trăm biến thể (derrivatives) được sản xuất bởi hơn 20 hãng khác nhau, trong đó
phải kể đến các đại gia trong làng bán dẫn (Semiconductor) như ATMEL, Texas
4


Môn Vi Xử Lý
Instrument, Philips, Analog Devices… Tại Việt Nam, các biến thể của hãng
ATMEL là AT89C51, AT89C52, AT89S51, AT89S52… đã có thời gian xuất
hiện trên thị trường khá lâu và có thể nói là được sử dụng rộng rãi nhất trong các
loại vi điều khiển 8 bit.
Đặc điểm và chức năng hoạt động của IC họ MSC-51 hoàn toàn tương tự như
nhau, ở đây đây ta giới thiệu AT89C51.
AT89C51 là phiên bản 8051 có ROM trên chíp là bộ nhớ Flash phiên bản
này rất thích hợp cho các ứng dụng nhanh vì bộ nhớ Flash có thể xóa được trong
vài giây.
AT89C51 được thiết kế với clock tĩnh cho hoạt đôộng có tần số giảm xuống
0 và hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằng phần mền. chế độ
nghỉ dừng của CPU trong khi vẫn cho phép RAM, các bộ định thời / đếm , port
nối tiếp và hệ thống ngắt vẫn tiếp tục hoạt động. Chế độ nguồn giảm duy trì nội
dung của RAM nhưng không cho mạch dao động cung cấp xung clock nhằm vô
hiệu hóa các hoạt động khác của chip cho đến khi reset cứng tiếp theo.
Các đặc điểm của 89C51RD2 được tóm tắt như sau :
+ 1KB bộ nhớ RAM có thể lập trình lại được , có khả năng tới 1000 chu kỳ
+
+
+
+
+
+
+


ghi xóa
Tần số hoạt động từ 12Hz đến 33MHz
3 mức khóa bộ nhớ lập trình
2 bộ Timer/counter 16 bit
128 Bytes RAM nội
Giao tiếp nội tiếp
4 Port xuất /nhập I/O 8 bit
64 KB vùng nhớ mã ngoài

+ 64 KB vùng nhớ dữ liệu ngoại
+ Họ vi điều khiển 8 bit
+ Bộ nhớ : 64 Kb Flash, 1792 Bytes SRAM
+ Timer/Counter : 1 bộ 16 bit
+ 3 kênh PWM
5


Môn Vi Xử Lý
+ 9 nguồn ngắt với 4 mức ưu tiên ngắt
+ Giao diện kết nối : SPI, USART
+ Kiểu chân : PLCC44, VQFP44, PLCC68, VQFP64
+ Xử lý Booleam (hoạt động trên bit đơn)
+ 4 micro giây hoạt động nhân hoặc chia.
+ 210 vị trí nhớ có thể định vị bit

AT89C51RD2 có 32 chân có chức năng như các đường xuất nhập. trong đó có
24 chân có tác dụng kép (có nghĩa là 1 chân có 2 chức năng ), mỗi đường có thể
hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần
của các bus dữ liệu và bus địa chỉ.



Các port :

Port 0 : gồm 8 chân 32 đến 39 (P0.0…P0.7)
Port 0 là port có hai chức năng. Trong các thiết kế cỡ nhỏ không dung bộ
nhớ mở rộng nó có chức năng như các đường IO. Đối với các thiết kế cỡ lớn có
bộ nhớ mở rộng ,nó được kết hợp giữa bus địa chỉ và bus dữu liệu.
Port 1 :chân 1 đến 8 (P1.0…P1.7)
Port là port IO. Có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần.
Port1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các
thiết bị ngoài.
Port 2 : chân 21 đến 28 (P2.0…P2.7)
Port 2 là port có tác dụng kép. Được dùng như các đường xuất nhập hoặc
byte cao của port địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.
Port 3 : là port xuất nhập 8 bit 2 chiều có các điện trở kéo lên bên trong. Các chân
của bus này có nhiều chức năng, các công dụng chuyển đổi có lien hệ với các đặc
tính riêng biệt của 89C51.


Các thanh ghi bộ định thời (Timer):

AT89C51 có 2 bộ định thời:
-

Timer 0: là một bộ đếm lên tuần tự 16 bit , giá tri đếm chứa 2 thanh ghi

TH0,TL0.
-


Timer 1: là một bộ đếm tuần tự 16 bit chứa trong TH1 và TL1.
6


Môn Vi Xử Lý
AT89C51 có hai thanh ghi bộ định thời/đếm 16 bit được dùng cho định thời hoặc
đếm sự kiện.
-

Thanh ghi chế độ định thời (TMOD) :
MSB
Gate

LSB
C/

M1 M

T

Gate

C/T

M1 M0

0

Không được định địa chỉ bit.
Được dùng để định chế độ hoạt động cho các timer.

Chức năng từng bít :
+ M1 , M0 : chọn chế độ hoạt động.
Bảng 1.1
M1
0
0
1
1

M0

CHẾ ĐỘ

0
1
0
1

(MODE)
0
1
2
3

+ T/C : bit chọn chức năng đếm hoặc định thời cho timer.
+ Gate : bit điều khiển cổng cho bộ định thồi.
-

Thanh ghi điều khiển định thời TCON (Timer control) ::


MSB

LSB
TF1

TR1

TF0

TR

IE

IT

IE

IT0

0
1
1
0
Chứa các bit điều khiểu và trạng thái của timer 0 và 1 ở 4 bit cao , 4 bit thấp được
dùng cho chức năng ngắt (interrupt).
Chức năng từng bit :
+ TFx : cờ tràn của timer x (x là 0 hay 1)
+ TRx = 0 : không cho phép timer chạy.
+ TRx = 1 : cho phép timer chạy.
7



Môn Vi Xử Lý

• Các thanh ghi port nối tiếp (serial port)
+ Thanh ghi SBUF ( Serial Buffer) :

- ở địa chỉ 99H là bộ đệm nhập xuất nối tiếp . Khi xuất dữ liệu thì ghi lên SBUF,
khi nhập dữ liệu thì đọc từ SBUF.
- các chế độ hoạt động khoác nhau của port nội tiếp được lập trình thông qua
thanh ghi điều khiển port nối tiếp SCON (Serial Control) ở địa chỉ 98 H. Đây là
thanh ghi được định địa chỉ từng bit.
+ Thanh ghi điều khiển port nối tiếp SCON

MSB

LSB

SM0

SM1

SM2

REN

TB8

RB8


T1

R1

- Địa chỉ 99H.
- Định địa chỉ bit.
- Chức năng các bit:
+ SM0 , SM1 : chọn chế độ hoạt động của port nối tiếp
Bảng 1.2
SM0
0
0
1
1

SM1

CHẾ ĐỘ

MÔ TẢ

0
1

(MODE)
0
1

Thanh ghi dịch
UART 8 bit tốc độ


2

thay đổi
UART 9 bit tốc độ

3

cố định
UART 9 bit tốc độ

0
1

thay đổi
+ SM2 : chọn chế độ hoạt động của port nối tiếp. SM2 = 1 : cho phép truyền
thông đa xử lý ở các chế độ 2 và 3 ; bit RI sẽ không được tích cực nếu bit thứ 9
nhận được là 0
+ REN : bit cho phép thu.
REN = 1 : cho phép thu.
8


Môn Vi Xử Lý
REN = 0 : không cho phép thu.
+ TB8 : bit phát thứ 9 ( ở chế độ 2 và 3), có thể đặt và xóa bằng phần mền
+ RB8 : bit thu thứ 9 (ở chế độ 2 và 3), có thể đặt và xóa bằng phần mền.
Các thanh ghi ngắt (Interrupt):




- 8031/8051 có 5 nguồn ngắt :
+ 2 ngắt ngoài : ngắt ngoài 0 : qua chân 0INT (P3.2)
Ngắt ngoài 1 : qua chân 1INT (P3.3)
+ 3 Ngắt trong : ngắt timer 0
Ngắt timer 1
Ngắt port nối tiếp.



*Các thanh ghi liên qua đến ngắt :
a.

Thanh ghi cho phép ngắt IE (Interrupt Enaple)

MSB
EA

LSB
-

(ET2)

ES

ET1

EX1

- Được định địa chỉ bit.

- Chức năng từng bit :
EA : cho phép toàn bộ.
ET2 : cho phép ngắt timer 2 (nếu có).
ES : cho phép ngắt port nối tiếp.
ET1 : cho phép ngắt timer 1.
EX1 : cho phép ngắt ngoài 1.
ET0 : cho phép ngắt timer 0.
EX0 : cho phép ngắt ngoài 0.
Để cho phép 1 nguồn ngắt , cần phải có :
+ EA = 1
+ Bit cho phép ngắt tương ứng bằng 1.
+ Thanh ghi ưu tiên ngắt IP (Interrupt Priority)
9

ET0

EX0


Môn Vi Xử Lý
MSB
-

LSB
-

(PT2)

PS


PT1

PX1

PT0

PX0

- Được định địa chỉ bit.
- Bit = 1 : mức ưu tiên cao
- Bit = 0 : mức ưu tiên thấp
- Mặc nhiên sau khi reset, tất cả các ngắt ở mức ưu tiên thấp.
- Nếu 2 ngắt với mức ưu tiên khác nhau xuất hiện đồng thời, ngắt có mức ưu tiên
cao sẽ được phục vụ trước . Đồng thời, ngắt có 2 mức ưu tiên cao cũng có thể tạm
dừng chương trình phục vụ ngắt của ngắt có mức ưu tiên thấp.
- Nếu các ngắt có cùng mức ưu tiên xuất hiện đồng thờim, việc xác định ngắt nào
được phục vụ trước sẽ theo thứ tự : ngắt ngoài 0, ngắt timer 0, ngắt ngoài 1, ngắt
timer 1, ngắt port nối tiếp, ngắt timer 2 (đối với 8032/8051).
+ Thanh ghi TCON

MSB
TF1

LSB
TR1

TF0

TR0


IE1

- Định địa chỉ bit.
- Chức năng các bit có liên quan đến ngắt ( intereupt)
+ IEx : cờ ngắt ngoài x (IEx = 1 tạo ngắt ngoài x)
+ITx : bit xác định loại tác động ngắt ngoài x :
ITx = 0 : tác động mức 0
ITx = 1 : tác động cạnh xuống

1.4.2

Động cơ một chiều

10

IT1

IE1

IT0


Môn Vi Xử Lý

Cấu tạo của động cơ điện một chiều.
Động cơ điện một chiều có thể phân thành hai phần chính: phần tĩnh(stato) và phần động
• Phần tĩnh ( stato ).
Stator hay còn gọi là phần kích từ động cơ, là bộ phận sinh ra từ trường .Gồm có mạch từ
Mạch từ được làm bằng sắt từ (thép đúc, thép đặc )
Dây quấn kích thích hay còn gọi là dây quấn kích từ được làm bằng dây điện từ Các cuộn

• Cực từ chính
Là bộ phận sinh ra từ trường gồm có lõi sắt cực từ và dây quấn kích từ lồng ngoài lõi sắt
• Cực từ phụ
Cực từ phụ được đặt trên các cực từ chính và dùng để cải thiện đổi chiều.
• Gông từ
Gông từ dùng làm mạch từ nối liền các cực từ, đồng thời làm vỏ máy. Trong động cơ điệ
d- Các bộ phận khác
Bao gồm:
- Nắp máy : Để bảo vệ máy khỏi những vật ngoài rơi vào làm hư hỏng dây quấn và an to
- Cơ cấu chổi than: để đưa dòng điện từ phần quay ra ngoài.
• Phần quay( roto ).
Là phần sinh ra suất điện động .Gồm có mạch từ được làm bằng vật liệu sắt từ ( lá thép k
• Lõi sắt phần ứng
Dùng để dẫn từ. Thường dùng những tấm thép kỹ thuật điện dày 0,5mm phủ cách điện
• Dây quấn phần ứng
Dây quấn phần ứng là phần phát sinh ra suất điện động và có dòng điện chạy qua. Dây q
• Cổ góp

Dùng để đổi chiều dòng điẹn xoay chiều thành một chiều. Cổ góp gồm nhiều phiến đồng

1.4.3 Tụ điện
-

Tụ điện là một linh kiện điện tử thụ động tạo bởi hai bề mặt dẫn điện được ngăn các

-

Về mặt lưu trữ năng lượng, tụ điện có phần giống với ắc qui. Mặc dù cách hoạt động

1.4.4 MOSFET IRF 540

Mosfet là Transistor hiệu ứng trường (Metal Oxide Semiconductor Field
Effect Transistor) là một Transistor đặc biệt có cấu tạo và hoạt động khác với
Transistor thông thường mà ta đã biết. Mosfet thường có công suất lớn hơn rất
nhiều so với BJT. Đối với tín hiệu 1 chiều thì nó coi như là 1 khóa đóng mở.
11


Môn Vi Xử Lý
Mosfet có nguyên tắc hoạt động dựa trên hiệu ứng từ trường để tạo ra dòng điện,
là linh kiện có trở kháng đầu vào lớn thích hợp cho khuyếch đại các nguồn tín
hiệu yếu.
Cấu tạo của Mosfet ngược Kênh N

Hình 1.2 Cấu tạo của Mosfet ngược Kênh N

G : Gate gọi là cực cổng
S : Source gọi là cực nguồn
D : Drain gọi là cực máng

Trong đó : G là cực điều khiển được cách lý hoàn toàn với cấu trúc bán dẫn
còn lại bởi lớp điện môi cực mỏng nhưng có độ cách điện cực lớn dioxit-silic
(Sio2). Hai cực còn lại là cực gốc (S) và cực máng (D). Cực máng là cực đón các
hạt mang điện.
Mosfet có điện trở giữa cực G với cực S và giữa cực G với cực D là vô cùng lớn ,
còn điện trở giữa cực D và cực S phụ thuộc vào điện áp chênh lệch giữa cực G và
cực S ( UGS )
Khi điện áp UGS = 0 thì điện trở RDS rất lớn, khi điện áp UGS > 0 => do hiệu
12



Môn Vi Xử Lý
ứng từ trường làm cho điện trở RDS giảm, điện áp UGS càng lớn thì điện trở
RDS càng nhỏ.
1.4.5 Mạch mã hóa 74LS147
IC 74148 là IC mã hóa ưu tiên 8 đường sang 3 đường, vào/ ra tác động thấp,
có các ngã nối mạch để mở rộng mã hóa với số ngã vào nhiều hơn. Mạch mã hoá
8 đường sang 3 đường còn gọi là mã hoá bát phân sang nhị phân (có 8 ngõ vào
chuyển thành 3 ngõ ra dạng số nhị phân 3 bit. Trong bất cứ lúc nào cũng chỉ có 1
ngõ vào ở mức tích cực tương ứng với chỉ một tổ hợp mã số 3 ngõ ra; tức là mỗi
1 ngõ vào sẽ cho ra 1 mã số 3 bit khác nhau. Với 8 ngõ vào (I0 đến I7) thì sẽ có 8
tổ hợp ngõ ra nên chỉ cần 3 ngõ ra (Q2, Q1, Q0)
Bảng 1.3 Bảng chân lý 74148

1.4.6 IC so sánh LM339
Mô tả chung LM339 gồm 4 bộ so sánh điện áp độc lập, với điện áp offset thấp
cỡ 2mV cho cả 4 bộ so sánh. Chúng được thiết kế để hoạt động từ một nguồn đơn
có vùng điện áp rộng nhưng cũng có thể hoạt động từ nguồn kép. Nguồn cấp cho
cực máng thấp và độc lập với biên độ điện áp cung cấp. Bộ so sánh này có điểm
nổi bật là vùng điện áp mode chung đầu vào bao gồm cả đất, ngay cả khi hoạt
13


Môn Vi Xử Lý
động từ nguồn đơn. Ứng dụng của LM339 bao gồm các bộ so sánh, các bộ
chuyển đổi tương tự sang số đơn giản, máy phát xung vuông, các bộ đa rung và
cổng logic số điện áp cao. LM339 được thiết kế với giao diện trực tiếp TTL và
CMOS. Khi hoạt động từ nguồn cộng trừ, nó sẽ được thiết kế với giao diện trực
tiếp MOS, trong đó nguồn cực máng thấp của LM339 là một lợi thế so với các bộ
so sánh chuẩn.


Hình 1.3 IC so sánh LM339

1.4.7 Vi mạch MAX232
Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong giao
diện nối tiếp với máy tính. Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào
thành mức +10V hoặc –10V ở phía truyền và các mức +3…+15V hoặc -3…-15V
thành mức TTL ở phía nhận.
Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận. Đường dẫn điều khiển lối
vào CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết, được nối
với chân 9 của vi mạch MAX 232. Còn chân RST (chân 10 của vi mạch MAX )
nối với đường dẫn bắt tay để điều khiển quá trình nhận. Thường thì các đường
dẫn bắt tay được nối với cổng nối tiếp qua các cầu nối, để khi không dùng đến
nữa có thể hở mạch các cầu này. Cách truyền dữ liệu đơn giản nhất là chỉ dùng ba
đường dẫn TxD, RxD và GND (mass).

14


Môn Vi Xử Lý
1.4.8 Khối thạch anh
Tùy thuộc vào chức năng bộ dao động tinh thể được phân thành nhiều
loại, trong đề tài sử dụng loại loại Crystal oscillator (Bộ dao động tinh
thể) là linh kiện điện tử chủ động nó có thể tạo ra tín hiệu xung nhịp tần số ổn
định cao ở mức ppm (part per million: phần triệu). Một bộ dao động tinh thể
thạch anh nói chung bao gồm một tinh thể thạch anh cộng hưởng, một vi mạch
(IC) và một số thành phần thụ động bổ sung.
Thạch anh được nối với 2 tụ ở 2 chân thạch anh ở các chip vi xử lý dùng để hỗ
trợ mạch dao động bên trong chip. Thay đổi giá trị tụ này sẽ làm sai lệch tần số
xung clock của chip .Nếu dùng thạch anh loại gốm thì tụ là 33p.Chọn tần số thạch
anh là 11.0592Mhz


Hình 1.4
1.4.9 Cảm biến hồng ngoại
Passive InfraRed sensor (PIR sensor), tức là bộ cảm biến thụ động dùng nguồn
kích thích là tia hồng ngoại. Tia hồng ngoại (IR) chính là các tia nhiệt phát ra từ
các vật thể nóng. Người ta sẽ dùng một tế bào điện để chuyển đổi tia nhiệt ra
dạng tín hiệu điện và nhờ đó mà có thể làm ra cảm biến phát hiện các vật thể
nóng đang chuyển động. Cảm biến này gọi là thụ động vì nó không dùng nguồn
nhiệt tự phát (làm nguồn tích cực, hay chủ động) mà chỉ phụ thuộc vào các nguồn
tha nhiệt, đó là thân nhiệt của các thực thể khác, như trong đề tài sử dụng bóng
đèn làm nguồn nhiệt tạo điện áp cho mạch so sánh.
15


Môn Vi Xử Lý

CHƯƠNG 2 THIẾT KẾ MẠCH
2.1 Xây dưng sơ đồ khối
Ổn áp
nguồn 5V
Tín hiệu điều
khiển

Khối điều khiển
trung tâm

Xung PWM

Động cơ một chiều


Nguồn 24V

Hình 2.1 Xây dưng sơ đồ khối
Chức năng các khối:


Tín hiệu điều khiển: Bao gồm tín hiệu START, STOP từ cảm biến
hồng ngoại , và tín hiệu giải mã bàn phím 74LS147 đưa tới đầu
vào của 89C51.



Khối điều khiển trung tâm: là vi xư lí 89c51, tại đây các tín hiệu
vào sẽ được xử lí và cho tín hiệu đầu ra tương ứng.



Xung PWM : đầu ra của 89c51 , với thời gian xung ở mức cao và
thời gian xung ở mức thấp theo các câp tốc độ khác nhau để điều
khiển động cơ.



Động cơ một chiều: đối tượng điều khiển, tốc độ thay đổi theo
điện áp trung bình từ xung pwm đưa vào.
16


Môn Vi Xử Lý



Khối nguồn ổn áp 5V:có chức năng cung cấp điện áp ổn định cho
các khối trong mạch.Cụ thể trong mạch ta sử dụng hai nguồn riêng
biệt:
- Nguồn 5V DC dùng để nuôi các IC trong mạch hoạt động tạo ra
các tín hiệu xuất ra chuẩn TTL,tránh các trường hợp nhiễu điện áp
không đúng với điện áp cấp cho IC => tránh IC không hoạt
động,hỏng hóc,chập cháy.
- Nguồn 24V DC dùng để cung cấp cho động cơ một chiều DC
(trong bài tập lớn này sử dụng động cơ một chiều DC 24).
2.2 Tạo Xung PWM

Tạo xung pwm là tạo ra một dạng xung có tần số không đổi, nhưng thời
gian của mức cao trong một chu kì có thể thay đổi được.
Các thông số:


Tần số : f



Chu kì : T



Thời gian ở mức cao :Ton



Thời gian ở mức thấp : Toff




Tỷ lệ phần trăm xung mức cao so với chu kì là

x 100%
Duty cycle =
• Điện áp ra trung bình :
=
Trong đề tài sử dụng vi điều khiển AT89C51RD2 với bộ dao động tần số
11,0592 MHz và dùng ngắt timer0 để tạo xung PWM trên chân P1.0 . Timer0
hoạt động ở chế độ định thời 16 bit.
Do dao động thạch anh là 11,0592 MHz , vậy tần số clock cho timer0 đếm là
0,9216 MHz và chu kì T0 = 1,085us
Giá trị thanh ghi TMOD : #01H
17


Môn Vi Xử Lý
Giá trị nạp cho thanh ghi TH0, TL0 là : 65536 – Ton cho timer0, với Tần
số F= 5Khz thì chu kì là T = 200us vì xung PWM tính theo tỉ lệ phần
trăm, nên giá trị Ton = 200us x100%=20000us = 20ms
Mà T0 = 1.085us, nên giá trị Ton= 200/1,085=185
Vậy giá trị nạp cho thanh ghi TH0, TL0 là : 65536 – 185= 65351us
Tương ứng giá trị TH0,#High(-185) và TL0,#LOW(-185)
2.3 Xây dựng sơ đồ nguyên lý
+ Mô tả hoạt động của mạch điều khiển tốc độ:

Khi cảm biến hồng ngoại CB1 tác động tới chân P1.1 của IC89C51, động
cơ quay với thời gian Ton là 10% so với chu kì 20ms. Khi ấn một trong các

cấp tốc độ mạch giải mã 74148 sẽ cho ở đầu ra mã tín hiệu tương ứng với
phím được bấm, động cơ sẽ quay theo các tốc độ khác nhau, phụ thuộc vào
giá trị đặt tỷ lệ xung. Nguyên lý của phương pháp này là bật tắt nhanh
nguồn điện cấp vào động cơ tạo ra một tín hiệu xung đưa tới cổng vào của
MOSFET. Khi việc bật tắt ở tần số đủ lớn (thường sử dụng từ 1kHz đến
20kHz), động cơ sẽ chạy với 1 tốc độ ổn định nhờ moment quay.Thời gian
cấp nguồn cho động cơ là T-on, thời gian tắt nguồn động cơ là T-off. Việc
thay đổi thời gian T-on và T-off làm thay đổi điện áp hiệu dụng cấp cho
động cơ. Đối với động cơ DC, tốc độ động cơ tương đối tỉ lệ thuận với điện
áp cấp cho động cơ. Vì vậy, bằng cách thay đổi độ rộng của xung, ta đã
thay đổi được tốc độ của động cơ DC. Hệ thống dừng khi cảm biến hồng
ngoại CB2 tác động vào chân RESET của IC89C51.

2.3 Xây dựng thuật toán điều khiển tốc độ
ĐIỀU KHIỂN ĐỘNG CƠ

18


Môn Vi Xử Lý

Khởi tạo

Giải mã phím ấn

Ngắt tạo xung PWM

DELAY 200ms
INT_EX0


END

Đọc mã phím

Hình 2.2 ThuậtCấp
toán TĐ1
điều khiển tốc độ Tỉ lệ xung mức cao 25%
?
S
Đ
Cấp TĐ2
Tỉ 2.3.1
lệ xung
mức toán
cao 50%
Thuật
đọc và giải mã phím? tốc độ

Cấp TĐ3
?

Tỉ lệ xung mức cao 75%
Đ

Tỉ lệ xung mức cao 100%Đ

Cấp TĐ4
?19



Môn Vi Xử Lý

S
Đ

S

S
RETI

Hình 2.3 Sơ đồ thuật toán đọc, giải mã phím

2.3.2 Thuật toán tạo xung PWM
Bắt Đầu

Nạp lại giá trị
timer
bật timer
S

Tyle_xung
PWM <>0
Đ
Tăng đếm R7

DEM < Tyle_xung
20
PWM



Môn Vi Xử Lý
S
Tắt động cơ
Đ
Bật động cơ

S

DEM = 100

Đ
DEM = 0

RETI

Hình 2.4 Sơ đồ thuật toán tạo xung PWM
DELAY 50MS
2.3.3 Thuật toán tạo trễ
Nạp giá trị cho timer1
Bật timer

DELAY 200MS

Lcall DELAY 50ms
4 lần

Đợi ngắt

Xoá TF1
Tắt timer1


RET

21

RET


Môn Vi Xử Lý

Hình 2.5 Sơ đồ thuật toán tạo trễ

2.4 Chương trình

$NOMOD51
$INCLUDE (8051.MCU)
;PHAN KHAI BAO CAC BIT NGO VAO
;----------------------------------------------------------------------------------------------PWM

BIT

START
BIT
HE THONG

P1.0
p1.1

;BIT DIEU KHIEN ĐỘNG CƠ


;BIT CAM BIEN HONG NGOAI KHOI DONG

;----------------------------------------------------------------------------------------------;PHAN KHAI BAO BIEN XUNG PWM
;----------------------------------------------------------------------------------------------TYLE_XUNGPWM

EQU

31H

;----------------------------------------------------------------------------------------------;KHAI BAO CAC VECTOR NGAT
;----------------------------------------------------------------------------------------------ORG 0000H

;Vector reret
22


Môn Vi Xử Lý
LJMP

SETUP

;Nhảy tới chương trình khởi tạo

ORG 000BH

;Vector ngắt tràn TF0

LJMP

;Nhảy tới chương trình ngắt


T0_ISR

ORG 0003H

;Vector ngắt ngoài EX0

LJMP

;Nhảy tới chương trình ngắt

INT_EXO

;----------------------------------------------------------------------------------------------;PHAN 1 CHƯƠNG TRÌNH KHỞI TẠO
;----------------------------------------------------------------------------------------------ORG

0030H

SETUP:
SETB

EA

;Cho phép ngắt toàn cục

SETB

ET0

;Cho phép ngắt tràn timer0


SETB

IE0

;Cờ báo có ngắt ngoài ở chân INTO

SETB

IT0

;Cho phép ngắt ngoài tương ứng
;ngắt theo sườn xuống

CLR

PWM

MOV

TMOD,#11H

MOV
MOV

TH0,#HIGH(-185)
TL0,#LOW(-185)

MOV


TYLE_XUNGPWM,#0 ;HIGH= 200us/1.085= 185

MOV
SETB

;Tắt động cơ
;Chọn TIMER1 VA TIMER0 ở
;Chế độ 1
;TA 11.0592MHZ => 200us x
; 100% = 20000us = 20ms

R7,#0

; Biến đếm xác định ngắt timer

TR0

;cho phép timer0 hoạt động

;PHAN KHOI DONG
START_DC:
JNB

START,START_DC

SETB

EX0

;ấn START khởi động hệ thống

;Cho phép ngắt ngoài

23


Môn Vi Xử Lý
LCALL

DELAY200MS

;gọi chương trình tạo trễ

MOV

TYLE_XUNGPWM,#10

; tỷ lệ xung PWM là 10%

RET
;----------------------------------------------------------------------------------------------; CHƯƠNG TRÌNH PHỤC VỤ NGẮT NGOÀI ĐỌC MÃ PHÍM ẤN
;Interrupt INT_EXO
;Thực hiện đọc mã phím , giải mã và đưa ra đáp ứng tương ứng
;Input

: None

;Output : None
;----------------------------------------------------------------------------------------------INT_EXO:
CLR


IE0

;xoá cờ báo ngắt

MOV

SP,#2FH

;khởi tạo ngăn xếp

MOV

A,P2

;đọc mã bàn phím

ANL

A,#07H

;xoá 5 bit cao về “0”

CJNE

A,#00H,CHECK_CAP2

;có phải cấp tốc độ 1 được ấn?

LCALL


DELAY200MS

;gọi chương trình trễ

MOV

TYLE_XUNGPWM,#25

;tỷ lệ xung PWM là 25%

MOV

A,TYLE_XUNGPWM

;so sánh với biến đếm

CHECK_CAP2:
CJNE

A,#01H,CHECK_CAP3

;có phải cấp tốc độ 2 được ấn?

LCALL

DELAY200MS

;gọi chương trình trễ

MOV


TYLE_XUNGPWM, #50

;tỷ lệ xung PWM là 50%

MOV

A,TYLE_XUNGPWM

;so sánh với biến đếm

CHECK_CAP3:
CJNE

A,#02H,CHECK_CAP4

LCALL

DELAY200MS

;có phải cấp tốc độ 3 được ấn?
;gọi chương trình trễ

24


Môn Vi Xử Lý
MOV

TYLE_XUNGPWM, #75


;tỷ lệ xung PWM là 75%

MOV

A,TYLE_XUNGPWM

;so sánh với biến đếm

CHECK_CAP4:
CJNE

A,#03H,KT

;có phải cấp tốc độ 4 được ấn?

LCALL

DELAY200MS

MOV

TYLE_XUNGPWM, #100

;tỷ lệ xung PWM là 100%

MOV

A,TYLE_XUNGPWM


;so sánh với biến đếm

;gọi chương trình trễ

KT:
RETI

;trở về từ ngắt

;----------------------------------------------------------------------------------------------; CHƯƠNG TRÌNH PHỤC VỤ NGẮT TRÀN TIMER0 TẠO XUNG PWM
;Interrupt T0_ISR
;Thực hiện ngắt tràn, nạp lại giá trị cho timer0, đảo bit p1.0 tạo xung pwm theo tỷ
lệ % thời gian Ton đã đặt trước.
;Input

TYLE_XUNGPWM

;Output

xung PWM

;----------------------------------------------------------------------------------------------T0_ISR:
PUSH

ACC

;lưu lại giá trị tỷ lệ xung PWM

MOV


7FH,C

;

CLR

TR0

;tắt timer0

MOV

TH0,#HIGH(-185)

;nạp lại giá trị cho timer0

MOV

TL0,#LOW(-185)

SETB

TR0

MOV

A,TYLE_XUNGPWM

CJNE


A,#0,DIEU_XUNG

;sẽ cho điều xung , nếu bằng không

JMP

EXIT_ISR

; thì thoát khỏi ngắt

;bật timer0

25

;so sánh tỷ lệ xung , nếu khác “0”


×