Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển

CẤU TRÚC CỦA VI ĐIỀU KHIỂN

Vi điều khiển (MCU – viết tắt của cụm từ ‘Micro Control Unit’) có thể được coi

như một máy tính thu nhỏ trên một chip, nó có thể hoạt động với một vàu linh kiện

phụ trợ bên ngoài. Vi điều khiển khác với vi xử lý ở những điểm sau:

- Về cấu trúc: Vi xử lý là một CPU trên một chip còn vi điều khiển là một chip

có chứa CPU, bộ nhớ, mạch vào/ra và các mạch đặc biệt khác như bộ đếm/định thời,

mạch biến đổi A/D, D/A, Như vậy, về cấu trúc thì vi điều khiển chính là một hệ vi

xử lý thu nhỏ.

- Về ứng dụng: Các bộ vi xử lý chủ yếu được dùng làm CPU trong các máy tính

còn các bộ vi điều khiển được dùng trong các ứng dụng hướng điều khiển.

- Về tập lệnh: Tập lệnh cho vi xử lý là những lệnh mang tính chất tổng quát nên

chúng được dung nhiều với kiểu định địa chỉ, cho phép thao tác với lượng dữ liệu lớn.

Ngược lại, tập lệnh của vi điều khiển chủ yếu là những lệnh vào/ra đơn giản và các

lệnh xử lý bit.

- Về bộ nhớ: Máy tính là thiết bị đa dụng nên các chương trình ứng dụng thường

được lưu ở các thiết bị lưu trữ ngoài như đĩa cứng, đĩa quang, ổ Flash. Khi cần thực

thi, chương trình được nạp vào bộ nhớ RAM để giải mã lệnh và thực thi. Như vậy, với

máy tính thì RAM chính là bộ nhớ chương trình, còn ROM trong máy tính thường

dung để lưu các thông tin về cấu hình của máy và các chương trình vào ra cơ bản

(BIOS). Điều này giải thích vì sao trong máy tính RAM có dung lượng lớn hơn ROM

rất nhiều lần. Ngược lại, ở vi điều khiển thì chương trình được chứa trong ROM vì

chúng là chương trình điều khiển ứng dụng, hầu như không thay đổi nội dung, còn

RAM được dùng để chứa dữ liệu tạm thời cho chương trình như trạng thái các chân

vào/ra, nội dung các biến được khai báo trong chương trình. Do đó ở vi điều khiển thì

ROM có dung lượng lớn hơn RAM nhiều lần.

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 1

Trang 1

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 2

Trang 2

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 3

Trang 3

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 4

Trang 4

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 5

Trang 5

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 6

Trang 6

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 7

Trang 7

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 8

Trang 8

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 9

Trang 9

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 173 trang baonam 23801
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển

Giáo trình Vi điều khiển ứng dụng trong đo lường và điều khiển
1 
BỘ CÔNG THƯƠNG 
TRƯỜNG ĐẠI HỌC KINH TẾ - KỸ THUẬT CÔNG NGHIỆP 
KHOA ĐIỆN 
Hà Huy Giáp 
Trần Ngọc Sơn, Nguyễn Đức Điển, Mai Văn Duy 
TÀI LIỆU HỌC TẬP 
VI ĐIỀU KHIỂN ỨNG DỤNG TRONG ĐO 
LƯỜNG VÀ ĐIỀU KHIỂN 
(Lưu hành nội bộ) 
HÀ NỘI – 2019 
2 
LỜI NÓI ĐẦU 
Bộ vi xử lý ngày càng phát triển đa năng và được sử dụng hầu hết trong các hệ 
thống điều khiển trong công nghiệp cũng như trong các thiết bị điện tử dân dụng. 
Chính vai trò, chức năng của vi xử lý đã đem lại nhiều ưu điểm, tính năng đặc biệt cho 
các hệ thống điều khiển. 
Các nhà nghiên cứu không ngừng nghiên cứu các hệ thống điều khiển và sử 
dụng vi xử lý để thay thế nhằm nâng cao khả năng tự động thay thế cho con người, và 
cũng chính vì thế đã thúc đẩy lĩnh vực vi xử lý ngày càng phát triển không ngừng, đáp 
ứng yêu cầu điều khiển. Để giảm bớt sự phức tạp của phần cứng khi dùng vi xử lý, các 
nhà khoa học đã tích hợp hệ vi xử lý, bộ nhớ, các ngoại vi thành một mạch duy nhất 
gọi là vi điều khiển. 
Nội dung giáo trình trình bày các kiến thức cơ bản của vi điều khiển. Do có 
nhiều họ vi điều khiển khác nhau, từ hệ 8 bit cho đến hệ 32 bit, mức độ tích hợp từ 
đơn giản đến phức tạp, nhiều hãng chế tạo khác nhau, nhiều chủng loại khác nhau có 
thể làm cho người mới bắt đầu học hay nghiên cứu gặp nhiều bỡ ngỡ không biết bắt 
đầu từ hệ nào cho phù hợp, chính vì vậy tài liệu trình bày về vi điều khiển 8 bit của 
hãng Microchip nhằm giúp các bạn sinh viên ngành “Công nghệ kỹ thuật Điều khiển 
và Tự động hóa” có giáo trình để học tập và nghiên cứu dễ dàng. Do đặc thù tính ứng 
dụng của ngành, giáo trình lựa chọn dòng vi điều khiển 18F4431, dòng vi điều khiển 
này tính năng tương tự như DsPIC30F4011 (16 bit). Vì vậy về tính ứng dụng có thể sử 
dụng vi điều khiển DsPIC30F4011 (16 bit) để triển khai các ứng dụng thực tế, thay vì 
sử dụng 18F4431. Các ứng dụng trong giáo trình, các tác giả trình bày về 2 nội dung: 
Ứng dụng vi điều khiển trong hệ thống đo lường, điều khiển các ngoại vi cơ bản và 
thiết kế bộ điều khiển PID số”. 
Trong quá trình biên soạn, mặc dù các tác giả đã rất cố gắng, nhưng do trình độ 
và thời gian có hạn, tài liệu không tránh khỏi những sai sót. Chúng tôi mong nhận 
được góp ý và nhận xét của bạn đọc để cuốn sách được hoàn thiện hơn trong lần tái 
bản sau.. 
Các tác giả 
3 
MỤC LỤC 
LỜI NÓI ĐẦU ----------------------------------------------------------------------------- 2 
MỤC LỤC ---------------------------------------------------------------------------------- 3 
CHƯƠNG 1. TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC ----------------------------- 5 
1.1. CẤU TRÚC CỦA VI ĐIỀU KHIỂN ---------------------------------------------- 5 
1.2. KIẾN TRÚC CỦA VI ĐIỀU KHIỂN --------------------------------------------- 8 
1.3. MỘT SỐ HỌ VI ĐIỀU KHIỂN THÔNG DỤNG ------------------------------ 10 
1.4. VI ĐIỀU KHIỂN PIC18F4431 ---------------------------------------------------- 12 
CÂU HỎI HƯỚNG DẪN ÔN TẬP, THẢO LUẬN -------------------------------- 27 
CHƯƠNG 2. CÁC TÀI NGUYÊN CƠ BẢN CỦA VI ĐIỀU KHIỂN PIC18F - 28 
2.1. CÁC PHẦN MỀM LẬP TRÌNH -------------------------------------------------- 28 
2.1.1. Phần mềm MPLAB ------------------------------------------------------------ 30 
2.1.2. Phần mềm CCS ----------------------------------------------------------------- 31 
2.1.3. Phần mềm MikroC ------------------------------------------------------------- 32 
2.2. PHẦN MỀM MPLAB VÀ XC8 -------------------------------------------------- 33 
2.3. HOẠT ĐỘNG NGẮT -------------------------------------------------------------- 45 
2.3.1. Giới thiệu ------------------------------------------------------------------------ 45 
2.3.2. Tổ chức ngắt của PIC 18F4431 ---------------------------------------------- 46 
2.4. HOẠT ĐỘNG VÀO/RA (I/O) ---------------------------------------------------- 60 
2.4.1. PORTA -------------------------------------------------------------------------- 61 
2.4.2. PORTB -------------------------------------------------------------------------- 64 
2.4.3. PORTC -------------------------------------------------------------------------- 66 
2.4.4. PORTD -------------------------------------------------------------------------- 69 
2.4.5. PORTE -------------------------------------------------------------------------- 71 
2.5. BỘ ĐỊNH THỜI TIMER ----------------------------------------------------------- 72 
2.5.1. Timer0 --------------------------------------------------------------------------- 73 
2.5.2. Timer1 --------------------------------------------------------------------------- 76 
2.5.3. Timer2 --------------------------------------------------------------------------- 80 
2.6. KHỐI CCP (Capture – Compare – PWM) --------------------------------------- 81 
2.6.1. Chế độ PWM ------------------------------------------------------------------- 81 
2.6.2. Các thanh ghi liên quan ------------------------------------------------------- 83 
2.6.3. Sử dụng các bộ PWM ------- ... PIC18F như sau: 
Ban đầu led 7 đoạn hiển thị 0, 8 led đơn nhấp nháy liên tục. 
Ấn A led 7 đoạn hiển thị số 1, 8 led đơn sáng lần lượt từ trên xuống rồi quay về 
như ban đầu. 
Ấn B led 7 đoạn hiển thị số 2, 8 led đơn sáng dần từ trên xuống rồi quay về như 
ban đầu. 
Nếu các led đơn đang sáng lần lượt mà ấn B thì các led sẽ chuyển sang sáng dần 
và ngược lại. 
Câu 7: Vẽ mạch nguyên lý và viết chương trình cho mạch gồm LCD 16x2 ghép 
nối vi điều khiển VĐK PIC18F như sau: 
159 
Dòng 1 hiển thị tên lớp. 
Dòng 2 hiển thị tên sinh viên. 
Câu 8: Thiết kế chương trình điều khiển cho mạch đo lường dòng điện sử dụng 
điện trở Shunt 30A/75mV, hiện thị trên LCD và bật đèn cảnh báo nhấp nháy 1Hz khi 
dòng điện trên 10A. 
Câu 9: Thiết kế chương trình điều khiển cho mạch đo lường điện áp 300VDC sử 
dụng mạch khuếch đại vi sai, hiện thị trên LCD và bật đèn cảnh báo nhấp nháy 1Hz 
khi điện áp quá 250V và dưới 100V. 
CHƯƠNG 4 
THIẾT KẾ MẠCH VÀ MÔ PHỎNG VI ĐIỀU KHIỂN PIC 18F 
MỤC TIÊU CỦA CHƯƠNG 
Cung cấp cho sinh viên các kiến thức về phần mềm thiết mạch nguyên lý cho 
PIC 18F và phần mềm mô phỏng chương trình ứng dụng. 
4.1. CÁC PHẦN MỀM THIẾT KẾ MẠCH 
4.1.1. Phần mềm Proteus 
Proteus là phần mêm của hảng Labcenter dung để vẽ sơ đồ nguyên lý, mô 
phỏng và thiết kế mạch điện. Gói phần mêm gồm có phần mềm chính : 
- ISIS dùng để vẽ sơ đồ nguyên lý và mô phỏng 
- ARES dùng để thiết kế mạch in. 
a. Vẽ sơ đồ nguyên lý với ISIS 
Chương trình được khởi độnng và có giao diện như hình 4.1 
160 
Hình 4.1. Giao diện vẽ sơ đồ nguyên lý ISIS 
Phía trên và phía phải của chương trình là các công cụ để ta có thể thiết kế sơ đồ 
nguyên lý. Phần giữa có màu xám là nơi để chúng ta vẽ mạch. 
Bảng 4.1. Một số ký hiệu cơ bản 
STT Ký hiệu Ý nghĩa 
161 
1 
Section mode: Chức năng nay để chọn linh kiện 
2 
Component mode: Dùng để lấy linh kiện trong thư viện linh kiện 
3 
Đặt lable cho wire 
4 
Bus 
5 
Terminal: Chứa Power, Ground 
6 
Graph: Dùng để vẽ dạng sóng, datasheet, trở kháng 
7 
Generator Mode: Chứa các nguồn điện, nguồn xung, nguồn dòng 
8 
Voltage Probe Mode: Dùng để đo điện thế tại 1 điểm trên mạch, 
đây là 1 dụng cụ chỉ có 1 chân và không có thật trong thức tế 
9 
Curent Probe mode: Dùng để đo chiều và độ lớn của dòng điện tại 
1 điểm trên wire 
10 
Virtual Instrument Mode: Chứa các dụng cụ đo dòng và áp, các 
dụng cụ này được mô phỏng như trong thực tế 
b. Cách lấy linh kiện 
Để lấy linh kiện, nhìn vào phía trái của chương trình và thực hiện như sau: 
- Bấm vào biểu tượng Component Mode 
- Sau đó bấm vào chữ P hoặc ấn phím tắt P trên bàn phím 
- Khung chương trình Pick Devices hiện ra như hình 4.1 : 
162 
Hình 4.2. Khung chương trình Pick Devices 
1. là ô tìm kiếm linh kiện, chỉ cần gỏ từ khóa vào, ví dụ như muốn tìm BJT 
2N2222 thì gõ 2N2222 như hình vẽ ( không phân biệt chữ hoa và chữ 
thường). 
2. Là các nhóm linh kiện liên quan đến từ khóa cần tìm. 
3. Là nhóm con của linh kiện, ví dụ như transistor thì có BJT, FET 
4. Là ký hiệu (Schematic) trên sơ đồ nguyên lý 
163 
5. Là hình dáng trên sơ đồ mạch in (PCB), ví dụ như BJT có nhiều kiểu đóng 
gói như TO18, TO220, vv  
6. Là kết quả của việc tìm kiếm linh kiện. 
Double Click vào linh kiện cần lấy, lập tức linh kiện sẻ được bổ sung vào “bàn làm 
việc” là vùng màu trắng phí bên trái . Xem hình dưới 
7. Là tên nhà sản xuất 
4.1.2. Phần mềm Altium 
Hiện nay, để thiết kế một mạch điện tử cơ bản thì có rất nhiều các phần mềm đáp 
ứng được yêu cầu đó: Altium Designer, OrCAD, Proteus, Eagle, Sprintf. Đặc điểm 
chung của các phần mềm này là tích hợp sãn các thừ viện mẫu có sẵn về các linh kiện 
cơ bản mà người dùng có thể lấy ra và thiết kế 1 cách đơn giản. 
Phần mềm Altium Designed là một trong những phần mềm đó, nó có thể giúp 
người dùng thiết kế một mạch in một cách nhanh chóng nhất. Phần mềm Altium 
Designer với giao diện đơn giản với người dùng, hỗ trợ vẽ mạch nguyên lý, mạch in 
(PCB), hỗ trợ xuất file in, xuất các file cho máy CNC. Ngoài ra phần mề còn hỗ trợ 
người dùng tạo linh kiện một cách nhanh nhất bằng cách lựa chọn các kiểu chân có 
sẵn. 
Để bắt đầu thiết kế mạch điện tử, đầu tiên phải tạo một project : File > New > 
Project > PCB Project 
164 
Sau khi đã xuất hiện như hình 3. Tiến hành lưu Project đó lại bằng cách: 
Nhấn chuột phải vào Project > Save Project. 
Bước tiếp theo là tạo file nguyên lý và tạo file PCB: 
Nhấn chuột phải vào Project vừa tạo > Add New to Project > Schematic và PCB. 
Sau khi đã tạo xong file nguyên lý và mạch in thì lưu lại giống như lưu 
Project. Chú ý file schematic và PCB phải được làm trong cùng thư mục với file 
Project. 
Toàn bộ Project sau khi tạo sẽ được thể hiện ở mục trên hình 4.3 
165 
Hình 4.3. Toàn bộ Project 
4.2. THIẾT KẾ MẠCH CHO VI ĐIỀU KHIỂN PIC 18F 
Sơ đồ khối của khối điều khiển: 
Hình 4.4. Sơ đồ khối mạch điều khiển, hiển thị. 
- Khối nguồn: 
-
+
D7
BRIDGE
2
1
3
4
15V
C8
104
C10
104
C9
470uF
AC15V02
VCC
SW6
POWER
AC15V01
R20 47ohm
C7
100uF
U4 LM7805/TO
1
2
3
VIN
G
N
D VOUT
166 
Điện áp AC 15V được chỉnh lưu theo phương pháp chỉnh lưu toàn kì không điều 
khiển dùng cầu diode, điện áp DC sau đó được lọc phẳng bằng tụ và đưa vào vi mạch 
ổn áp 7805 để tạo ra điện áp 5V ổn định cấp cho mạch điều khiển. 
Do yêu cầu về an toàn và chống nhiễu, điện áp DC cung cấp cho mạch điều 
khiển, mạch công suất, mạch lái đều được dùng các nguồn khác nhau. 
- Nút nhấn và biến trở. 
Mạch điều khiển được thiết kế với 4 nút nhấn và 4 biến trở. 
Nút nhấn dùng để chọn chế độ điều khiển, chọn chiều quay động cơ được dùng 
chủ yếu trong mode dùng PID trên PIC. 
Tất cả các nút nhấn đều được thiết kế tích cực mức thấp. 
Biến trở dùng để cài đặt tốc độ cũng như cài đặt các giá trị của các thông số PID. 
- Encoder. 
Sử dụng Encoder quang có độ phân giải 100 xung/vòng, dùng để đo và hồi tiếp 
tốc độ quay của động cơ. Các xung được vi xử lý đếm vào khi có tác động cạnh xuống 
trên chân vi điều khiển. 
- Cảm biến nhiệt độ: 
Cảm biến dùng để đo nhiệt độ, giúp lấy mẫu nhiệt độ của các khóa công suất. 
Cảm biến nhiệt có rất nhiều loại, ở đây sử dụng IC cảm biến nhiệt LM335 với tầm đo 
trong khoảng 40 100C C− − . 
TEMS2
C1104
RA5
VCC
R5
2.2K
TEMS1TEMS3
U2
LM335
3
2
1
VIN
VOUT
ADJ
VCC
R7
10K
- LCD hiển thị. 
Sử dụng màn hình tinh thể lỏng LCD 20x4, gồm có 4 hàng và mỗi hàng đều 
hiển thị được 20 kí tự. LCD được giao tiếp với vi xử lý ở chế độ 4 bit giúp tiết kiệm 
chân port cho vi xử lý. 
Việc dùng LCD để hiển thị có nhiều ưu điểm là: 
• Dễ lập trình . 
• Giao diện bắt mắt, trực quan, thông tin hiển thị rõ ràng. 
167 
• LCD 20x4 có số lượng kí tự đủ lớn để hiển thị các thông tin cần thiết. 
- Khối Max232. 
Khi ghép nối cổng Com của máy tính với vi điều khiển hay mạch TTL cần phải 
có mạch chuyển mức 232TTL → và ngược lại.Quy định về mức tín hiệu của hai chuẩn 
này không giống nhau do đó cần có mạch chuyển đổi để hai thiết bị làm việc theo hai 
chuẩn trên có thể giao tiếp với nhau. 
Vi mạch chuyển đổi thường được sử dụng là MAX232(maxim) hoặc 
DS275(dallas). MAX232 thông dụng hơn cả vì chỉ cần nguồn 5V, mạch 10V do 
mạch dao động 16KHz bên trong cung cấp. 
168 
Hình 4.5.- Sơ đồ nguyên lý mạch điều khiển 
4.3. MÔ PHỎNG MẠCH PIC 18F 
Để minh họa việc mô phỏng mạch sử dụng PIC 18F, ta áp dụng ví dụ minh họa 
cho bài toán phát xung điều khiển α để điều khiển cho bộ biến đổi phụ thuộc lưới điện 
Khối tạo xung, hiển thị, dạng xung 
R
D
6
R
B
1
C
5
1
0
4
P
W
M
3
R
D
6
R
B
5
R
A
3
P
W
M
6
R
1
4
3
3
0
R
A
2
R
B
0 S
W
2
R
E
V
C
2
1
5
p
F
S
W
3
D
O
W
N
R
A
0
R
C
2
V
C
C
D
4
LED STA
P
G
D
R
1
6
3
3
0
T
X
D
C
6
1
0
4
V
C
C
R
8
4
7
RD7
K
D
1
2
0
K
R
A
5
T
E
M
S
2
R
B
2
C
1
1
0
4
V
C
C
T
1
3
C
L
K
L
S
1
S
P
E
A
K
E
R
C
2
4
1
u
F
V
C
C
T
1
3
C
L
K
T
0
C
L
K
T
X
D
R
X
D D
2LED PHA A
R
X
D
C
2
7
1
0
4
V
C
C
T
E
M
S
3
D
3LED PHA B
R
1
5
3
3
0
R
2
1
0
K
R
E
2
R
C
4
Y
1
1
2
M
H
z
V
C
C
R
E
1
R
C
3
R
1
9
1
0
K
S
W
4
R
E
V
C
O
M
3
E
N
P
G
C
T
E
M
S
1
V
C
C
R
B
5
R
2
1
1
0
K
A
C
1
5
V
0
2
R
B
4
R
A
2
V
C
C
T
E
M
S
2
T13CLK
J
3
H
A
L
L
 S
E
N
S
O
R
1234
R
E
1
V
C
C
D
6 LED POWER
V
C
C
F
A
N
R
B
3
P
W
M
5
J
4
C
H
IP
 P
R
O
G
R
A
M
E
R
123456
R
B
1
P
W
M
4
R
B
3
R
C
4
D
5
LED INFO
R
B
0
U
7
M
A
X
2
3
2
1 3 4 5
16 15
2 6
1
2
9 1
1
1
0
1
3
8
1
4
7
C
1
+
C
1
-
C
2
+
C
2
-
VCC GND
V+ V-
R
1
O
U
T
R
2
O
U
T
T
1
IN
T
2
IN
R
1
IN
R
2
IN
T
1
O
U
T
T
2
O
U
T
T0CLK
A
C
1
5
V
0
1
S
W
5
R
E
S
E
T
V
C
C
R
A
1
P
G
C
R
E
S
E
T
R
A
0
V
O
L
1
1
0
K
T
E
M
S
1
J
2
C
O
N
7
1234567
R
4
1
0
K
R
B
4
C
O
M
3
RC5
C
3
1
5
p
F
J
5
C
O
M
1 2 3 4 5 6 7 8 9
C
2
5
1
u
F
R
A
5
R
A
3
R
C
5
R
E
2
R
2
2
1
0
K
P
W
M
1
Q
3
N
P
N
 B
C
E
R
1
1
0
K
K
I1
2
0
K
T
E
M
S
3
C
O
M
2
R
6
1
K
V
C
C
C
O
M
2
K
P
1
2
0
K
V
C
C
U
2
L
M
3
5
0
/T
O
3
2 1
V
IN
V
O
U
T
A
D
J
R
A
1
R
5
1
K
1
5
V
C
2
3
1
u
F
E
N
J
1
C
O
N
1
2
1234567891
0
1
1
1
2
U
3
P
IC
1
8
F
4
5
2
0
3
1
1
2
1
1
3
1
1
3
22 3 4 5 6 7
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
1
5
1
6
1
7
1
8
2
3
2
4
2
5
2
6
1
9
2
0
2
1
2
2
2
7
2
8
2
9
3
0
8 9 1
0
1
4
G
N
D
G
N
D
M
C
L
R
/V
P
P
O
S
C
1
/C
L
K
V
D
D
V
D
D
R
A
0
R
A
1
R
A
2
R
A
3
R
A
4
/T
0
C
L
K
R
A
5
/S
S
R
B
0
/I
N
T
R
B
1
R
B
2
R
B
3
R
B
4
R
B
5
R
B
6
R
B
7
R
C
0
/T
1
O
S
I/
T
1
C
L
K
R
C
1
/T
1
O
S
O
R
C
2
/C
C
P
1
R
C
3
/S
C
K
/S
C
L
R
C
4
/S
D
I/
S
D
A
R
C
5
/S
D
O
R
C
6
R
C
7
R
D
0
/P
S
P
0
R
D
1
/P
S
P
1
R
D
2
/P
S
P
2
R
D
3
/P
S
P
3
R
D
4
/P
S
P
4
R
D
5
/P
S
P
5
R
D
6
/P
S
P
6
R
D
7
/P
S
P
7
R
E
0
/R
D
R
E
1
/W
R
R
E
2
/C
S
O
S
C
2
/C
L
K
O
U
T
R
S
R
C
2
V
C
C
R
7
1
0
K
-T
IN
H
 C
H
IN
H
V
C
C
K
H
O
I
D
I
E
U
K
H
I
E
N
V
C
C
V
C
C
P
W
M
2
V
C
C
V
C
C
LCD 20X4
U
1 L
C
D
2
0
X
4
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
V
S
S
V
D
D
V
E
F
R
S
R
W
E
N
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
A K
R
1
7
3
3
0
V
C
C
R
D
7
R
C
3
R
E
S
E
T
P
G
D
R
3
1
0
K
C
4
1
u
F
R
S
P
G
C
R
1
3
3
3
0
V
C
C
F
A
N
Q
4
C
1
8
1
5
R
B
2
S
W
1
S
S
T
A
R
T
T
0
C
L
K
169 
PIC18F4431
AVDD
AVSS
RC6
RC3/INT0
RC2/CCP1
RA0/AN0
5V
0V
5V
VSS
VDD
MCLR
5V
0V
Tín hiệu đồng bộ
UDX
PWM 10KHz 50%
LCD 16x2
5V0V
D4 D5 D6 D7
RD0
RD1
RD2
RD3
RE0
RE1
RE2
RS
RW
E
Hình 4.6. Sơ đồ kết nối vi điều khiển PIC18F3341 khối hiện thị, khối tạo xung, khối 
dạng xung 
a, Khối hiển thị: dùng LCD16x2 hiển thị góc điều khiển α, các thông số điện áp, 
dòng điện,  
Chương trình lập trình: 
 LCD_Init(); 
 LCD_Clear(); 
 LCD_Gotoxy(1,0); 
 LCD_Write_String(" CHINH LUU "); 
 LCD_Gotoxy(2,0); 
 LCD_Write_String("GOC ANPHA= "); 
 LCD_Gotoxy(2,10); 
 LCD_Write_String(text); 
b, Khối tạo xung: Tín hiệu đồng bộ đưa vào vi điều khiển PIC18F4431 qua chân 
RC3/INT0, chức năng ngắt ngoài tạo xung qua chân RC6. 
Chương trình lập trình: 
//Chuong trinh ngat ngoai INT0 
void interrupt Ngat_INT0(void) 
{ 
170 
 if(INT0IF) 
 { 
 delay_ms(timer); 
 LATCbits.LATC6=1; 
 delay_ms(7-timer); 
 LATCbits.LATC6=0; 
 INT0IF=0; 
 } 
 } 
c, Khối dạng xung: 
- Dạng xung chùm (XC): là dạng thông dụng nhất, vì cho phép mở tốt van lực 
trong mọi trường hợp, với mọi dạng tải và nhiều sơ đồ chỉnh lưu khác nhau. Xung 
chùm thực chất là một chùm các xung có tần số cao gấp nhiều lần lưới điện (fxc = 6  
12 kHz). Dễ dàng nhận thấy rằng để thực hiện tạo XC theo nguyên tắc thứ nhất chỉ 
cần một mạch logic và logic AND. 
Hình 4.7. Mô phỏng khâu tạo xung chùm 
- Tạo xung dao động tần số cao: Sử dụng module CCP của vi điều khiển 
PIC18F4431 qua chân RC2/CCP1 tạo xung PWM tần số 10KHz: 
 Chương trình lập trình: 
void Config_PWM( ) 
{ 
 TRISCbits.RC2=0; //Chon chan CCP1 co chieu ra 
 CCP1CON|=0b00001100; // Chon che do PWM 
171 
 T2CONbits.T2CKPS1=0; //TMR2 Prescaler Value =4 
 T2CONbits.T2CKPS0=1; 
 T2CONbits.TMR2ON=1; //Bat Timer 2 
 PR2=124; // PWM Period = 100uS (F=10Khz) 
 CCPR1L=250/4; //Dua 8bit cao chua gia tri bo dem vao CCPR1L 
 CCP1CON|=(250%4) 
} 
Hình 4.8. Mô phỏng mạch điều khiển bộ biến đổi điện tử công suất phụ thuộc lưới 
điện 
172 
CÂU HỎI ÔN TẬP VÀ THẢO LUẬN 
Câu 1: Trình bày cách tạo một project bằng phần mềm Proteus. Cho ví dụ 
Câu 2: Trình bày cách tạo một project bằng phần mềm Altium. Cho ví dụ 
Câu 3: Thiết kế và mô phỏng mạch điều khiển sử dụng vi điều khiển PIC 18F. 
BÀI TẬP ỨNG DỤNG 
Câu 1: Vẽ mạch nguyên lý và mô phỏng chương trình điều khiển cho mạch đo 
lường dòng điện sử dụng điện trở Shunt 30A/75mV, hiện thị trên LCD và bật đèn 
cảnh báo nhấp nháy 1Hz khi dòng điện trên 10A. 
Câu 2: Vẽ mạch nguyên lý và mô phỏng chương trình điều khiển cho mạch đo 
lường điện áp 300VDC sử dụng mạch khuếch đại vi sai, hiện thị trên LCD và bật đèn 
cảnh báo nhấp nháy 1Hz khi điện áp quá 250V và dưới 100V. 
Câu 3: Viết chương trình và mô phỏng bộ điều khiển PID cho bộ điều khiển tốc 
độ động cơ điện một chiều. Quá trình điều khiển tốc độ được thực hiện qua biến trở và 
hiển thị giá trị góc mở α trên LCD 16x2. 
Câu 4: Viết chương trình và mô phỏng bộ điều khiển PID cho bộ biến đổi băm 
xung áp một chiều điều khiển tốc độ động cơ điện một chiều. Quá trình điều khiển tốc 
độ được thực hiện qua biến trở và hiển thị giá trị độ rộng xung (%) trên LCD 16x2. 
Câu 5: Viết chương trình và mô phỏng bộ điều khiển PID cho bộ biến đổi băm 
xung áp một chiều có đảo chiều quay điều khiển tốc độ động cơ điện một chiều. Quá 
trình điều khiển tốc độ được thực hiện qua biến trở và hiển thị giá trị độ rộng xung 
(%) trên LCD 16x2. 
173 
TÀI LIỆU THAM KHẢO 
1. Kiều Xuân Thực, Vũ Thị Thu Hương, Vũ Trung Kiên (2008), “Vi điều khiển 
Cấu trúc – lập trình - ứng dụng”, Nhà xuất bản giáo dục. 
2. Nguyễn Trường Thịnh, Nguyễn Tấn Nó. “Vi điều khiển PIC16F và ngôn ngữ 
lập trình Hi-Tech C”. Nhà xuất bản Đại học Quốc gia TP. HCM-2014. 
3. Vũ Trung Kiên, Phạm Văn Chiến, Nguyễn Văn Tùng. “Giáo trình Kỹ thuật ứng 
dụng vi điều khiển vào điều khiển máy”. JJCA, Đại học Công nghiệp Hà Nội – 
2016. 
4. Microchip. “PIC18F2331/2431/4331/4431 Data Sheet”. 2010 Microchip 
Technology Inc. 

File đính kèm:

  • pdfgiao_trinh_vi_dieu_khien_ung_dung_trong_do_luong_va_dieu_khi.pdf