điều khiển tốc độ động cơ dc dùng pid - Pdf 14

Trương Ngọc Anh :GVHD 2 Đồ
án
1 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
LỜI NÓI ĐẦU
Đất nước ta đang trong thời kì công nghiệp hóa , hiện đại hóa.
Nền kinh tế ngày càng phát triển mạnh mẽ , đời sống nhân dân ngày càng
được nâng cao. Qua đó nhu cầu của ngừơi dân cũng tăng theo, điều đó đòi
hỏi các nhà máy sản xuất phải nâng cao năng suất và đảm bảo cả về mặt
chất lượng.
Để làm được điều đó các nhà máy phải ngày càng nâng cao về
mặt tự động hóa. Trong các dây chuyền sản xuất tự động thì động cơ DC là
một cơ cấu điều khiển hữu hiệu. Động cơ DC được sử dụng rộng rãi trong
các dây chuyền sản xuất tự động , ngoài ra động cơ DC còn được ứng dụng
trong các thiết bò điều khiển chính xác, ví dụ như điều khiển robot…
Trong quá trình học ở trường sinh viên cần phải vận dụng được các
kiến thức đã học vào thưc tế. Đồ án môn học “ĐIỀU KHIỂN TỐC ĐỘ
ĐỘNG CƠ DC DÙNG PID” là một trong những kết quả của sự vận dụng
những kiến thức đã học của sinh viên Đại Học ngành điện tử vào thực tế.
Qua đó giúp cho mỗi sinh viên có thể hiểu rõ hơn những gì đã học ở lý
thuyết mà chưa có dòp để ứng dụng vào thực tế.
2 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
LỜI CẢM ƠN
Dù Em đã có nhiều cố gắng trong quá trình thực hiện đồ án này, tuy
nhiên cũng không thể tránh khỏi những thiếu sót. Kính mong Thầy cùng các
bạn thẳng thắn đóng góp ý kiến để đồ án môn học của em được hoàn thiện

1.Kết luận (nêu tóm tắt các vấn đề đã thực hiện được(
2.Hướng phát triển (nêu hướng phát triển của đề tài(
3.Phụ lục:Code chương trình
4 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
PHẦN I: GIỚI THIỆU ĐỀ TÀI
1.GIỚI THIỆU SƠ LƯC CÁC MODULE CỦA MẠCH
•Yêu cầu đặt ra: Lập trình C cho PIC16f877a điều khiển ổn đònh tốc độ
động cơ DC dùng phương pháp PID. Tốc độ đặt trước động cơ được nhập
từ nút nhấn, tốc độ tức thời hồi tiếp từ động cơ được hiển thò trên LCD
16x2.
•Tóm tắt hướng thực hiện đề tài:
+Sử dụng vi điều khiển PIC làm vi điều khiển trung tâm. Dùng phần mềm
CCS để lập trình và biên dòch.
+Xây dựng khối nút nhấn gồm 6 nút nhấn để điều khiển tốc độ và chiều
động cơ, đồng thời có thêm một nút nhấn để reset VĐK.
+Hiển thò tốc độ động cơ dùng màn hình LCD 16x2 lập trình ở chế độ 8 bit.
5 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
+Dùng IC L298 và IC cổng logic 7408 và 7414 để làm cơ cấu lái và đệm
công suất cho động cơ.
+Dùng kênh PWM ccp1 để thay đổi tốc độ cho động cơ.
+Đối tượng điều khiển là động cơ DC 12V có tích hợp encoder
+Khối nguồn cung cấp cho mạch sử dụng IC7805 ổn đònh 5V
cấp cho vi điều khiển và khối nguồn dùng IC7812 tạo điện áp 12V cấp cho
động cơ DC.

thống. Điều này đạt được bằng cách thiết đặt đội lợi của các đầu ra khơng
mong muốn về 0. Một bộ điều khiển PID sẽ được gọi là bộ điều khiển PI,
PD, P hoặc I nếu vắng mặt các tác động bị khuyết . Bộ điều khiển PI khá phổ
biến, do đáp ứng vi phân khá nhạy đối với các nhiễu đo lường, trái lại nếu
6 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
thiếu giá trị tích phân có thể khiến hệ thống không đạt được giá trị mong
muốn.
Giải thuật điều khiển PID tốc độ:
PID là cách viết tắt của các từ Propotional (tỉ lệ), Integral (tích phân) và
Derivative (đạo hàm). Tuy xuất hiện rất lâu nhưng đến nay PID vẫn là giải thuật
điều khiển được dùng nhiều nhất trong các ứng dụng điều khiển tự động. Đề tài
này điều khiển tốc độ của động cơ DC dùng giải thuật PID có thể được giải
thích như sau:
Gọi F là lực quay động cơ. Ban đầu động cơ ở vận tốc bằng 0, nhiệm vụ đặt
ra là điều khiển lực F (một cách tự động) để làm quay động cơ đạt tới tốc độ đặt
trước với các yêu cầu: chính xác (accurate), nhanh (fast response), ổn định
(small overshot .(
Một điều rất tự nhiên, nếu vận tốc hiện tại của động cơ rất xa vận tốc mong
muốn, hay nói cách khác sai số (error) lớn, chúng ta cần tác động lực F lớn để
nhanh chóng đưa vận tốc động cơ về tới vận tốc đặt trước. Một cách đơn giản
để công thức hóa ý tưởng này là dùng quan hệ tuyến tính:
F=Kp*e (1(
Trong đó Kp là một hằng số dương nào đó mà chúng ta gọi là hệ số P
(Propotional gain), e là sai số cần điều khiển tức độ chênh lệch giữa vận tốc đặt
trước với vận tốc hiện tại của động cơ. Mục tiêu điều khiển là đưa e tiến về 0
7 Đỗ
Huy Duy :SVTH

Sự hiện diện của thành phần D làm giảm overshot của động cơ, khi vận tốc
động cơ tiến gần về O, lực F gồm 2 thành phần Kp*e > =0 (P) và Kd*(de/dt)
<=0 (D). Trong một số trường hợp thành phần D có giá trị lớn hơn thành phần P
và lực F đổi chiều, “thắng” động cơ lại, vận tốc của động cơ vì thế giảm mạnh ở
gần điểm O. Một vấn đề nảy sinh là nếu thành phần D quá lớn so với thành
phần P hoặc bản thân thành phần P nhỏ thì khi vận tốc động cơ tiến gần điểm O
(chưa thật sự đến O), động cơ có thể không tăng tốc nữa, thành phần D bằng 0
(vì sai số e không thay đổi nữa), lực F = Kp*e. Trong khi Kp và e lúc này đều
nhỏ nên lực F cũng nhỏ và có thể không thắng được lực ma sát tĩnh. Bạn hãy
tưởng tượng tình huống bạn dùng sức của mình để đẩy một xe tải nặng vài chục
tấn, tuy lực đẩy tồn tại nhưng xe không thể di chuyển. Như thế, động cơ sẽ
không tăng tốc dù sai số e vẫn chưa bằng 0. Sai số e trong tình huống này gọi là
steady state error (tạm dịch là sai số trạng thái tĩnh). Để tránh steady state error,
người ta thêm vào bộ điều khiển một thành phần có chức năng “cộng dồn” sai
số. Khi steady state error xảy ra, 2 thành phần P và D mất tác dụng, thành phần
8 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
điều khiển mới sẽ “cộng dồn” sai số theo thời gian và làm tăng lực F theo thời
gian. Đến một lúc nào đó, lực F đủ lớn để thắng ma sát tĩnh và tăng tốc động cơ
tiến tiếp về điểm O. Thành phần “cộng dồn” này chính là thành phần I (Integral
- tích phân) trong bộ điều khiển PID. Vì chúng ta điều biết, tích phân một đại
lượng theo thời gian chính là tổng của đại lượng đó theo thời gian. Bộ điều
khiển đến thời điểm này đã đầy đủ là PID:
F=Kp*e + Kd*(de/dt)+Ki*§edt (3(

Như vậy, chức năng của từng thành phần trong bộ điều khiển PID giờ đã rõ.
Tùy vào mục đích và đối tượng điều khiển mà bộ điều khiển PID có thể được
lượt bớt để trở thành bộ điều khiển P, PI hoặc PD. Cơng việc chính của người

5.CÁC BƯỚC VẬN HÀNH MẠCH:
•Bước 1: nhấn nút MODE chọn chế độ hoạt động bình thường hay
ổn đònh tốc độ.
•Bước 2: chọn tốc độ đặt trước và chọn chiều quay.
•Bước 3: nhấn nút START/STOP cho động cơ bắt đầu chạy, nhấn
lần nữa thì động cơ dừng.
11 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
6.GIỚI HẠN ĐỀ TÀI:
•Mạch cầu H sử dụng IC L298 chỉ điều khiển được động cơ DC với cơng suất
nhỏ.
•Đối với khối hiển thị,do tính chất của màn hình LCD nên bị hạn chế quan sát
giá trị ở khoảng cách xa.
7.HƯỚNG PHÁT TRIỂN ĐỀ TÀI:
•Dùng C# lập trình điều khiển động cơ qua máy tính, vẽ biểu đồ tốc độ động
cơ theo thời gian, có thể thay đổi tốc độ động cơ như ý muốn.
•Thiết kế mạch công suất để có thể điều khiển động cơ có công suất lớn.
•Dùng led7đoạn để tăng khả năng quan sát.
PHẦN II: NỘI DUNG
•CHƯƠNG I: GIỚI THIỆU LINH KIỆN
1. PIC16F877A :
I. TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC
- PIC là một họ vi điều khiển RISC được sản xuất bởi cơng ty Microchip
Technology. Thế hệ PIC đầu tiên là PIC1650 được phát triển bởi
Microelectronics Division thuộc General – Instrument .
PIC là viết tắt của "Programmable Intelligent Computer" là một sản phẩm của
hãng General Instruments đặt cho dòng sản phẩm đầu tiên là PIC1650. Thời
điểm đó PIC1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ

•Có hỗ trợ giao tiếp LCD .
•Có MSSP Peripheral dùng cho các giao tiếp I²C, SPI, và I²S .
•Có bộ nhớ nội EEPROM - có thể ghi/xoá lên tới 1 triệu lần .
•Có khối Điều khiển động cơ, đọc encoder .
•Có hỗ trợ giao tiếp USB .
•Tốc độ hoạt động :
DC- 20MHz ngõ vào xung clock .
DC- 200ns chu kì lệnh .
•Dung lượng của bộ nhớ chương trình Flash là 8K×14words .
•Dung lượng của bộ nhớ dữ liệu RAM là 368×8bytes .
•Dung lượng của bộ nhớ dữ liệu EEPROM là 256×8 bytes .
1 .CÁC ĐẶC TÍNH NGOẠI VI
•Timer0: là bộ định thời timer/counter 8 bit có bộ chia trước.
•Timer1: là bộ định thời timer/counter 16 bit có bộ chia trước, có
thể đếm khi CPU đang ở trong chế độ ngủ với nguồn xung từ tụ
thạch anh hoặc nguồn xung bên ngoài .
•Timer2: bộ định thời timer/counter 8 bit với thanh ghi 8-bit, chia
trước và bộ chia sau .
•Hai khối Capture, Compare, PWM .
Capture có độ rộng 16-bit, độ phân giải 12.5ns
13 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
Compare có độ rộng 16-bit, độ phân giải 200ns
Độ phân giải lớn nhất của PWM là 10-bit .

2.CÔNG NGHỆ CMOS :
Có các đặc tính: công suất thấp, công nghệ bộ nhớ Flash/EEPROM tốc độ
cao. Điện áp hoạt động từ

án
3. IC CỔNG LOGIC NOT 74LS14 :
+IC 74LS14 là IC cổng NOT , bao gồm 6 cổng NOT, 1 chân nguồn, 1
chân nối mass , tổng cộng có 14 chân.
Sơ đồ chân và nguyên lý :
7 :GND
14 :VCC = 5V
Bảng trạng thái:
Input Output
X Y
L H
H L
Trong đó:
H: mức điện áp cao
L: mức điện áp thấp
Phép toán logic: Y = NOT(X(
Đặc tính điện:
17 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
4 . CHIP DRIVER L298 :
L298D là một chip tích hợp 2 mạch cầu H trong gói 15 chân. Tất cả các
mạch kích, mạch cầu đều được tích hợp sẵn. L298D có điện áp danh nghĩa cao
(lớn nhất 50V) và dòng điện danh nghĩa lớn hơn 2A nên rất thích hợp cho các
các ứng dụng công suất nhỏ như các động cơ DC loại nhỏ và vừa.
-Hình phía trên là hình dáng bên ngoài và tên gọi các chân của L298D. Hình
phía dưới là cấu trúc bên trong chip. Có 2 mạch cầu H trên mỗi chip L298D
18 Đỗ
Huy Duy :SVTH

cạnh đối diện lại bị tác động bằng một lực hướng xuống theo nguyên lý bàn
tay trái của Fleming. Các lực này gây tác động quay lên cuộn dây, và làm
cho rotor quay. Để làm cho rô to quay liên tục và đúng chiều, một bộ cổ góp
điện sẽ làm chuyển mạch dòng điện sau mỗi vị trí ứng với 1/2 chu kỳ. Chỉ có
vấn đề là khi mặt của cuộn dây song song với các đường sức từ trường.
Nghĩa là lực quay của động cơ bằng 0 khi cuộn dây lệch 90
o
so với phương
ban đầu của nó, khi đó Rô to sẽ quay theo quán tính.
-Trong các máy điện một chiều lớn, người ta có nhiều cuộn dây nối ra nhiều
phiến góp khác nhau trên cổ góp. Nhờ vậy dòng điện và lực quay được liên
tục và hầu như không bị thay đổi theo các vị trí khác nhau của Rô to.
6. ENCOD ER :
•Để điều khiển số vòng quay hay vận tốc động cơ thì chúng ta nhất thiết phải
đọc được góc quay của motor. Một số phương pháp có thể được dùng để xác
định góc quay của motor bao gồm tachometer (thật ra tachometer đo vận tốc
quay), dùng biến trở xoay, hoặc dùng encoder. Trong đó 2 phương pháp đầu
tiên là phương pháp analog và dùng optiacal encoder (encoder quang) thuộc
nhóm phương pháp digital. Hệ thống optical encoder bao gồm một nguồn
phát quang (thường là hồng ngoại – infrared), một cảm biến quang và một
đĩa có chia rãnh. Optical encoder lại được chia thành 2 loại: encoder tuyệt
đối (absolute optical encoder) và encoder tương đối (incremental optical
encoder). Trong đa số các DC Motor đều dùng incremental optical encoder.
20 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
•Encoder thường có 3 kênh (3 ngõ ra) bao gồm kênh A, kênh B và kênh I
(Index). Trong hình 2 bạn thấy hãy chú ý một lỗ nhỏ bên phía trong của đĩa
quay và một cặp phat-thu dành riêng cho lỗ nhỏ này. Đó là kênh I của

án
7. LCD :
1.Hình daïng vaø kích thöôùc:
22 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
2.Chức năng của các chân:
3.Tập lệnh LCD:
23 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
24 Đỗ
Huy Duy :SVTH
Trương Ngọc Anh :GVHD 2 Đồ
án
• CHƯƠNG II: THIẾT KẾ MẠCH
I. KHỐI ĐIỀU KHIỂN :
-Gồm 6 nút nhấn:
•Nút UP đêû tăng tốc độ cho động cơ, nút này nối với chân RA0 của
VĐK.
•Nút DOWN đêû giảm tốc độ cho động cơ, nút này nối với chân RA1
của VĐK.
25 Đỗ
Huy Duy :SVTH


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status