Professional Documents
Culture Documents
Dieu Khien Dong Co DC PID
Dieu Khien Dong Co DC PID
LỜI MỞ ĐẦU
Điều khiển là một lĩnh vực quan trọng của đời sống xã hội, của nền
kinh tế quốc dân, của khoa học kỹ thuật, của nền công nghiệp v.v… Bất cứ ở
vị trí nào, bất cứ một công việc gì mỗi người trong chúng ta đều tiếp cận với
điều khiển. Nó là khâu quan trọng cuối cùng quyết định sự thành bại trong
mọi hoạt động của chúng ta.
Kĩ thuật điều khiển trong tiến trình hoàn thiện lý thuyết cũng tạo cho
mình nhiều phát triển có ý nghĩa. Hiện nay khi nhắc tới điều khiển con người
dường như hình dung đến sự chính xác, tốc độ xử lý và thuật toán thông minh
đồng nghĩa là lượng chất xám cao hơn.
Có thể nói trong lĩnh vực điều khiển và trong công nghiệp thì bộ điều
khiển PID có ứng dụng khá rộng rãi, một giải pháp đa năng cho các ứng dụng
cả Analog cũng như Digital. Thống kê cho thấy có tới hơn 90% các bộ điều
khiển sử dụng trong thực tế là PID. Rõ ràng nếu có thiết kế và chọn lựa các
thông số hợp lý cho bộ điều khiển PID thì việc đạt được các chỉ tiêu chất
lượng mong muốn là khả thi. Bộ điều khiển PID cũng giúp người sử dụng dễ
dàng tích hợp cũng như chọn các luật điều khiển như : tỉ lệ(P), tích phân(I), tỉ
lệ tích phân(PI), tỉ lệ vi phân(PD)… sao cho phù hợp đối với các đối tượng
điều khiển. Nhiều quá trình trong công nghiệp việc sử dụng bộ điều khiển
PID là không thể thay thế như khống chế nhiệt độ, mức, tốc độ… Ngay cả
những lý thuyết điều khiển hiện đại cũng không cho ta những hiệu quả cao
như bộ điều khiển PID mang lại.Ngoài ra bộ điều khiển PID còn ứng dụng
nhiều trong điều khiển thích nghi,bền vững vẫn mang lại hiệu quả cao trong
các cơ cấu chỉnh định.
Ngày nay động cơ điện một chiều được ứng dụng rất nhiều trong các
lĩnh vực của khoa học & đời sống như: Trong các dây chuyền sản xuất, ô tô
điện, tàu thủy, máy bay…. Bài toán thiết kế và điều khiển động cơ một chiều
là bài toán cơ bản và quen thuộc trong ngành điều khiển tự động. Có thể thiết
kế điều khiển cho đối tượng động cơ điện một chiều theo nhiều phương pháp
như :dùng PLC & biến tần, điện tử công suất, vi điều khiển… Mỗi phương
pháp đều có ưu, nhược điểm khác nhau nhưng đều cùng chung mục đích là
điều khiển tốc độ của động cơ.Trên cơ sở muốn tìm hiểu thuật toán PID em
xin chọn đề tài : Điều khiển động cơ DC với giải thuật PID
Chương I: Lý thuyết điều khiển tự động & thuật toán PID cơ bản.
Vì khả năng và thời gian có hạn nên không tránh khỏi những thiếu sót
trong đề tài .Do vậy em mong thầy cô và bạn bè đóng góp xây dựng để đề tài
của em được hoàn thiện hơn
Điều khiển tự động đóng vai trò quan trọng trong sự phát triển của khoa
học và kỹ thuật. Lĩnh vực này hữu hiệu khắp nơi từ hệ thống phi thuyền
không gian, hệ thống điều khiển tên lửa, máy bay không người lái, người
máy, tay máy trong các quy trình sản xuất hiện đại, và ngay cả trong đời sống
hàng ngày: Điều khiển nhiệt độ, độ ẩm, tốc độ v.v …
Là tập hợp tất cả các tác động có mục đích nhằm điều khiển một quá
trình này hay quá trình kia theo một quy luật hay một chương trình cho trước.
Là khoa học nghiên cứu những quá trình điều khiển và truyền thông
máy móc, sinh vật và kinh tế. Điều khiển học mang đặc trưng tổng quát và
được phân chia thành nhiều lĩnh vực khác nhau như: toán điều khiển, điều
khiển học kỹ thuật, điều khiển học sinh vật (phỏng sinh vật: bionics), điều
khiển học kinh tế.
Tập hợp tất cả các thiết bị, kỹ thuật nhằm đảm bảo điều khiển tự động
một quá trình nào đó được gọi là hệ thống điều khiển tự động
1.2. Các thành phần cơ bản của hệ thống điều khiển tự động
Sơ đồ tổng quát.
x(t) y(t)
C O
z(t)
M
x(t) : tín hiệu điều khiển tác động lên đối tượng (O)
1.3.1 Nguyên tắc điều khiển theo sai lệch (hình 1.2)
z(t)
M
Tín hiệu y(t) được đưa ra so sánh với tín hiệu lối vào u(t) nhằm tạo nên
tín hiệu tác động lên đầu vào bộ điều khiển C nhằm tạo nên tín hiệu điều
khiển đối tượng O
1.3.2 Nguyên tắc điều khiển theo phương pháp bù nhiễu (Hình 1.3)
1.3.3 Nguyên tắc điều khiển theo sai lệch và bù nhiễu(hình 1.4)
K y1(t)
z(t)
M
Nguyên tắc điều khiển hỗn hợp là phối hợp cả 2 nguyên tắc trên, vừa
có hồi tiếp theo sai lệch vừa có các thiết bị để bù nhiễu.
Nguyên tắc này mục đích là giữ tín hiệu u=u(t) theo một chương trình
đã được định sẵn.Để tính một tín hiệu nào đó theo chương trình, cần phải sử
dụng một thiết bị có lưu trữ chương trình lớn. Hai thiết bị thông dụng chứa
chương trình điều khiển đó là:
1.4.3 Phân loại theo khả năng quan sát tín hiệu
- Quan sát được tất cả các trạng thái của hệ thống theo thời gian
- Mô tả toán học: Phương trình đại số, phương trình vi phân, hàm
truyền.
Quan sát được một phần các trạng thái của hệ thống. Nguyên nhân
Trong hệ thống không liên tục người ta chia làm hai loại
- Là hệ thống mà ta có thể quan sát các trạng thái của hệ thống theo
chu kỳ T. Về bản chất hệ thống này là một dạng của hệ thống liên tục
- Hệ tuyến tính: Đặc tính tĩnh của tất cả các phần tử có trong hệ thống
là tuyến tính
- Hệ phi tuyến: Có ít nhất một đặc tính tĩnh của một phần tử là hàm phi tuyến
- Hệ thống tuyến tính hóa: Tuyến tính hóa từng phần của hệ phi tuyến
với một số điều kiện cho trước để có được hệ thống tuyến tính gần đúng
Để khảo sát và thiết kế một hệ thống điều khiển tự động người ta thực
hiện các bước sau:
a) Dựa trên các yêu cầu thực tiễn, các mô hình vật lý ta xây dựng mô
hình toán học dựa trên các quy luật, hiện tượng, quan hệ của các đối tượng vật
lý. Mô hình toán học của hệ thống được xây dựng từ các mô hình toán học
của các phần tử riêng lẻ.
b) Dựa trên lý thuyết ổn định, ta khảo sát tính ổn định của hệ thống.
Nếu hệ thống không ổn định ta thay đổi đặc tính của hệ thống bằng cách đưa
vào một khâu bổ chính (compensation) hay thay đổi thay đổi tham số của hệ
để hệ thành ổn định.
c) Khảo sát chất lượng của hệ theo các chỉ tiêu đề ra ban đầu. Nếu hệ
không đạt chỉ tiêu chất lượng ban đầu, ta thực hiện bổ chính hệ thống.
d) Mô phỏng hệ thống trên máy tính để kiểm tra lại thiết kế.
e) Thực hiện mô hình mẫu (prototype) và kiểm tra thiết kế bằng thực
nghiệm.
f) Tinh chỉnh lại thiết kế để tối ưu hóa chỉ tiêu chất lượng và hạ thấp giá
thành nều có yêu cầu.
- Tín hiệu điều khiển trong quy luật tỷ lệ được hình thành theo công thức
x = Kp . e (1.1)
Trong đó Kp là hệ số khuếch đại của quy luật. Theo tính chất của khâu
khuếch đại thì ta thấy rằng tín hiệu ra của khâu luôn luôn trùng pha với tín
hiệu vào. Điều này nói lên rằng ưu điểm của khâu khuếch đại là có tác động
nhanh. Vì vậy, trong công nghiệp quy luật tỷ lệ làm việc ổn định với mọi đối
tượng. Tuy nhiên, nhược điểm của khâu tỷ lệ là khi hệ số tỷ lệ Kp càng lớn thì
độ vọt lố càng cao, hệ thống kém ổn định và khi sử dụng với các đối tượng
tĩnh, hệ thống điều khiển luôn tồn tại sai lệch tĩnh. Để giảm sai lệch tĩnh thì
phải tăng hệ số khuếch đại nhưng khi đó, tính dao động của hệ thống sẽ tăng
lên và có thể làm cho hệ thống mất ổn định
Trong công nghiệp quy luật tỷ lệ thường được dùng cho những hệ
thống cho phép tồn tại sai lệch tĩnh. Để giảm sai lệch tĩnh, quy luật tỷ lệ
thường được hình thành theo biểu thức
x = x0 + Kp .e (1.2)
Trong đó x0 là điểm làm việc của hệ thống. Tác động điều khiển luôn
giữ cho tín hiệu điều khiển thay đổi xung quanh giá trị sai lệch. Hình (1.5) mô
tả quá trình điều khiển với các hệ số Kp khác nhau
Hình 1.5- Quá trình điều khiển với các hệ số Kp khác nhau
Trong quy luật tích phân, tín hiệu điều khiển được xác định theo biểu
thức
(1.3)
Từ công thức này ta thấy giá trị điều khiển x chỉ đạt được giá trị xác lập
(quá trình điều khiển đã kết thúc) khi e = 0. Như vậy ưu điểm của quy luật
tích phân là triệt tiêu sai lệch tĩnh
Xét đặc tính của khâu tích phân, tín hiều ra của nó luôn chậm pha so
với tín hiệu vào 1 góc là . Điều này có nghĩa là quy luật tích phân có tác
động chậm. Do sự tác động chậm mà trong công nghiệp, hệ thống điều khiển
tự động sử dụng quy luật tích phân kém ổn định. Vì vậy mà quy luật này hiện
nay ít được sử dụng trong công nghiệp
Để hệ thống vừa có tác động nhanh, vừa có thể triệt tiêu được sai lệch
dư, người ta kết hợp quy luật tỷ lệ với quy luật tích phân để tạo ra quy luật tỷ
lệ - tích phân
Tín hiệu điều khiển được xác định theo công thức
x = Kp .e + = Kp (e+ ) (1.4)
W(p) = Kp (1+ )
W(j ) = Kp (1-j )
Rõ ràng , về tốc độ tác động thì quy luật PI chậm hơn quy luật tỷ lệ
nhưng lại nhanh hơn quy luật tích phân.
Hình 1.6- Ảnh hưởng của khâu hiệu chỉnh tỷ lệ-tích phân với các hằng
số thời gian tích phân khác nhau.
Nhận xét: Thời gian tích phân càng nhỏ, độ vượt mức
càng cao.
- Tác động điều khiển của quy luật PD được hình thành theo công thức:
Có thêm thành phần vi phân làm tăng tốc độ tác động hệ thống
W(p) = Kp (1+Td.p)
W ( jω ) = Kp (1+ jTd)
ϕ (ω ) = arctg(Td .ω)
Như vậy khi ω thay đổi từ 0 đến ∞ thì đặc tính PT sẽ thay đổi từ 0 đến
π/2 . Ta có thể khẳng định tốc độ tác động của quy luật PD còn nhanh hơn cả
quy luật tỉ lệ.Tuy nhiên, do có thêm thành phần vi phân nên hệ thống sẽ phản
ứng với các nhiễu cao tần có biên độ nhỏ, là điều mà chúng ta không mong
muốn, đồng thời quy luật PD cũng không làm giảm sai lệch dư. Vì vậy, trong
công nghiệp, quy luật PD chỉ sử dụng ở đâu đòi hỏi tốc độ tác động nhanh
như điều khiển tay máy…
Hình 1.7 Ảnh hưởng của khâu hiệu chỉnh tỷ lệ-vi phân với các hằng số
thời gian vi phân khác nhau
Nhận xét: Thời gian vi phân càng lớn thì đáp ứng càng
nhanh.
Để tăng tốc độ tác động của quy luật PI, trong thành phần của nó người
ta ghép thêm thành phần vi phân và nhận được quy luật điều khiển tỉ lệ vi tích
phân.Tác động điều khiển được tính toán theo công thức:
x = Kp .e + + Kd . = Kp (e+ + Td )
W( j ) = Kp (1+j(Td.ω - ))
ϕ(ω)= arctg( )
0 và khi ω = ∞ thì ϕ (ω ) =π/2 . Rõ ràng góc lệch pha của tín hiệu ra so với tín
hiệu vào nằm trong khoảng từ −π/2 đến π/2 , phụ thuộc vào các tham số Kp ,
Ti , Td và tần số của tín hiệu vào. Nghĩa là về tốc độ tác động, quy luật PID
còn có thể nhanh hơn cả quy luật tỉ lệ. Nói tóm lại, quy luật PID là hoàn hảo
nhất. Nó đáp ứng được yêu cầu về chất lượng của hầu hết các quy trình công
nghệ nhưng việc hiệu chỉnh các tham số của nó rất phức tạp, đòi hỏi người sử
dụng phải có một trình độ nhất định. Vì vậy, trong công nghiệp, quy luật PID
chỉ sử dụng ở những nơi cần thiết, khi quy luật PI không đáp ứng được yêu
cầu về chất lượng điều chỉnh.
CHƯƠNG II
MẠCH MÔ PHỎNG TRÊN PROTEUS
Xung PWM không trực tiếp làm quay động cơ mà thông qua một mạch
công suất gọi là driver .Driver cho DC Motor chính là mạch cầu H.Trong bài
này ta sử dụng chip L298N có tích hợp sẵn mạch cầu H.
Để cho việc điều khiển chip driver L298N được dễ dàng, ta sẽ sử dụng
một mạch logic sử dụng các cổng NOT và AND
Một giải thuật PID được xây dựng trong AVR để hiệu chỉnh vận tốc của
động cơ
Chúng ta sẽ nhập vận tốc cần điều khiển vào AVR thông qua cá
swithes.Vận tốc cần mong muốn và vận tốc đạt được sẽ được hiển thị trên
Text LCD
ATmega32 là vi điều khiển chuẩn CMOS 8 bit tiết kiệm năng lượng,
được chế tạo dựa trên cấu trúc AVR RISC (Reduced Instruction Set
Computer), đây là cấu trúc có tốc độ xử lý cao hơn nhiều so với cấu trúc
CISC (Complex Instruction Set Computer). Tần số hoạt động của vi điều
khiển AVR bằng với tần số của thạch anh, trong khi với họ vi điều khiển theo
cấu trúc CISC như họ 8051 thì tần số hoạt động bằng tần số thạch anh chia
cho 12. Hầu hết các lệnh được thực thi trong một chu kỳ xung nhịp, do đó
ATmega32 có thể đạt được tốc độ xử lý đến một triệu lệnh mỗi giây (với tần
số 1MHz). Đặc điểm này cho phép người thiết kế có thể tiết kiệm tối đa mức
độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lý.
131 lệnh – hầu hết các lệnh thực thi trong một chu kỳ máy.
32 thanh ghi 8 bit đa năng.
Tốc độ thực hiện lên tới 16 triệu lệnh trong 1 giây (tần số
16MHz).
Vùng mã Boot tùy chọn với những bit khóa độc lập.
Lập trình trong hệ thống bởi chương trình on-chip boot.
Thao tác đọc ghi trong khi nghỉ.
1024 Byte EEPROM.
Phần lõi AVR kết hợp tập lệnh phong phú với 32 thanh ghi đa dụng.
Toàn bộ 32 thanh ghi này đều kết nối trực tiếp với ALU (Arithmetic Logic
Unit), cho phép truy cập 2 thanh ghi độc lập với 1 lệnh thực thi trong 1 chu kỳ
xung nhịp. Cấu trúc đạt được có tốc độ xử lý nhanh gấp 10 lần so với vi
điều khiển CISC thông thường.
Với các tính năng đã nêu trên, khi ở chế độ nghỉ (Idle), CPU vẫn
cho phép các chức năng khác hoạt động như: USART, giao tiếp 2 dây,
chuyển đổi A/D, SRAM, bộ đếm/bộ định thời, cổng SPI và các chế độ
ngắt. Chế độ Power-down lưu giữ nội dung các thanh ghi nhưng làm
ngừng bộ tạo dao động, thoát khỏi các chức năng của chip cho đến khi có
ngắt ngoài hoặc reset phần cứng. Trong chế độ Power-save, đồng hồ đồng
bộ tiếp tục chạy cho phép chương trình có thể giữ được sự đồng bộ về
thời gian nhưng các thiết bị còn lại ở trong trạng thái ngủ. Chế độ ADC
Noise Reduction dừng CPU và tất cả các thiết bị còn lại ngoại trừ đồng hồ
đồng bộ và ADC, giảm thiểu nhiễu khi ADC hoạt động. Ở chế độ Standby,
bộ tạo dao động chạy trong khi các thiết bị còn lại ở trạng thái ngủ.
Những đặc điểm này cho phép bộ vi điều khiển khởi động rất nhanh trong
chế độ tiêu thụ công suất thấp.
AVR được sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao
của Atmel. Bộ nhớ On-chip ISP Flash cho phép lập trình lại vào hệ thống
thông qua giao diện SPI bởi bộ lập trình bộ nhớ cố định truyền thống hoặc
bởi chương trình On-chip Boot chạy trên lõi AVR. Chương trình Boot có
thể sử dụng bất cứ giao diện nào để download chương trình ứng dụng
trong bộ nhớ Flash. Phần mềm trong vùng Boot Flash sẽ tiếp tục chạy
trong khi vùng Application Flash được cập nhật, giúp tạo ra thao tác
Read-While-Write thực sự. Nhờ việc kết hợp một bộ 8bit RISC CPU với
In-System Self-Programmable Flash chỉ trong một chip, ATmega32 là một
vi điều khiển mạnh có thể cung cấp những giải pháp có tính linh động
cao, giá thành rẻ cho nhiều ứng dụng điều khiển nhúng. ATmega32 được
hỗ trợ đầy đủ với các công cụ hỗ trợ phát triển cũng như lập trình, bao
gồm: trình biên dịch C, macro assembler, mô phỏng/dò lỗi lập trình, mô
phỏng mạch điện và các bộ kit thí nghiệm.
Các chân Port A cũng là ngõ vào analog của bộ chuyển đổi A/D
- Reset: Chân ngõ vào. Khi đặt vào chân này điện áp mức thấp trong
thời gian xác định (xem trong datasheet) thì sẽ reset chương trình. Nếu thời
gian ngắn hơn thì việc reset không thành công.
- XTAL1: ngõ vào khuếch đại dao động đảo và cũng là ngõ vào mạch
tạo xung nội.
- AVCC: là chân nguồn cấp cho Port A và bộ chuyển đổi A/D. Nên nối
chân này với chân VCC ngay cả khi không sử dụng ADC. Nếu dùng ADC thì
nên nối chân này với chân VCC qua 1 tụ lọc thông thấp.
- AREF: chân tham chiếu điện áp analog của bộ chuyển đổi A/D.
Hình 2.11-Động cơ DC
Động cơ điện một chiều thuộc về máy điện một chiều là loại máy hoạt
động với nguồn điện một chiều. Chúng có thể vận hành theo chế độ máy phát
điện hay chế độ động cơ điện. Nghĩa là máy điện một chiều có thể chuyển hóa
cơ năng thành điện năng một chiều hoặc là biến đổi điện năng một chiều
thành cơ năng.
Cấu tạo của động cơ gồm stator, rotor và hệ thống chổi than-vành
góp.Stator bao gồm vỏ máy cực từ chính, cực từ phụ, dây quấn phần cảm(dây
quấn kích thích) bao gồm các bối dây được đặt trong rãnh của lõi sắt. Đối với
các động cơ có công suất nhỏ người ta có thể kích từ bằng nam châm vĩnh
cửu.
Rotor(còn gọi là phần ứng) gồm các lá thép kỹ thuật cách điện lại có
rãnh để đặt các phần tử của dây quấn phần ứng. Lõi thép có hình trụ tạo thành
từ việc ghép nhiều lá thép kỹ thuật điện đã phủ lớp vecni cách điện để giảm
tổn hao gây bởi dòng điện xoáy. Chung quanh lá thép được dập các rãnh để
khi ghép lại sẽ tạo thành rãnh của phần ứng để đặt bộ dây quấn. Giữa lá thép
có dập lỗ để lắp trục và chốt chêm dọc. Ngoài ra, trên lá thép còn được dập
một số lỗ thông gió để làm mát. Thân máy, cực từ và lõi thép phần ứng hợp
thành mạch từ của máy điện một chiều.
Dây quấn được tạo thành từ nhiều phần tử dây quấn, mỗi phần tử gồm
nhiều vòng dây được xếp trong các rãnh của lõi thép. Hai đầu phần tử nối với
với 2 phiến góp, 2 cạnh tác dụng của mỗi phần tử được xếp trong 2 rãnh nằm
dưới 2 cực khác tên.
Phần ứng được bắt chặt trên trục thép, hai đầu trục có gắn bạc đạn. Nắp
máy giữ cố định hai bạc đạn và được bắt chặt vào thân máy bằng bulông
xuyên.
Stator còn gọi là phần cảm có nhiệm vụ tạo ra từ thông chính trong
máy, thường được chế tạo bằng gang hay thép đúc. Stator là mạch từ cũng
vừa là vỏ máy bao bọc các bộ phận bên trong. Phía mặt trong của stator có
gắn các cực từ, phần cuối cực từ được làm loe ra tạo thành đầu cực từ, trên
thân cực từ có gắn cuộn dây quấn kích từ.
Cổ góp tạo thành từ việc ghép nhiều phiến góp bằng đồng thành một
hình trụ tròn, sau đó gắn vào trục rotor, giữa các phiến góp có cách điện với
nhau và được cách điện với trục bằng lớp mica mỏng. Một đầu phiến góp
được xẻ rãnh để hàn với đầu dây của phần tử dây quấn phần ứng.
Chổi than còn gọi là chổi điện làm từ than graphit và được đặt trong giá
đỡ hình hộp. Chổi than có thể di chuyển dọc theo trục giá đỡ, giá đỡ được
cách điện và bắt chặt vào nắp máy. Một đầu chổi than tì sát lên bề mặt cổ góp,
đầu còn lại có lò xo ép chặt.
Chức năng của chổi than – vành góp là để đưa điện áp một chiều vào
cuộn dây phần ứng và đổi chiều dòng điện trong cuộn dây phần ứng.Số lượng
chổi than bằng số lượng cực từ(một nửa có cực tính dương, một nửa có cực
tính âm).
Bên ngoài đĩa được chia thành các rãnh nhỏ và một cặp thu-phát khác
dành cho các rãnh này. Đây là kênh A của encoder, hoạt động của kênh A
tương tự như kênh I, điểm khác nhau là trong 1 vòng quay của motor thì có N
“xung” xuất hiện trên kênh A với N là số rãnh trên đĩa và cũng là độ phân
giải(resolution) của encoder.Mỗi loại động cơ khác nhau thì sẽ có độ phân
giải là hoàn toàn khác nhau
Ngoài ra trên encoder còn 1 cặp thu phát khác được đặt trên cùng
đường tròn với kênh A nhưng mà lệch một chút(M+0.5) rãnh, đây là kênh B
của encoder.Tín hiệu xung từ kênh B có cùng tần số với kênh A nhưng mà
lệch pha 90o. Bằng cách phối hợp 2 kênh A và B thì người đọc sẽ biết được
chiều quay của động cơ
Hình trên cùng trong ba hình thể hiện sự bố trí của 2 cảm biến A và B
lệch pha nhau. Khi cảm biến A bắt đầu bị che thì cảm biến B hoàn toàn nhận
được hồng ngoại xuyên qua, và ngược lại. Hình thấp là dạng xung ngõ ra trên
2 kênh. Xét trường hợp motor quay theo chiều kim đồng hồ, tín hiệu đi từ trái
qua phải. Ta thấy rằng lúc tín hiệu từ kênh A chuyển từ mức cao xuống
thấp(cạnh thấp) thì tín hiệu của kênh B đang ở mức cao.Như vậy bằng cách
phối hợp 2 kênh A và B thì chúng ta có thể xác định được chiều quay của
động cơ (thông qua mức của kênh B ở cạnh xuống của kênh A).
Khi đặt lên dây cuốn kích từ một điện áp U k nào đó thì trong dây cuốn
kích từ sẽ xuất hiện một dòng ik và từ đó mạch từ của máy sẽ xuất hiện một từ
thông . Tiếp đó đặt một giá trị điện áp U lên mặt phần ứng thì trong dây
cuốn sẽ xuất hiện một dòng điện i chạy qua . Tương tác giữa dòng điện phần
ứng và từ thông kích thích sẽ tạo ra mômen điện từ.Giá trị của mô men điện
từ được tính bởi công thức sau.
Trong đó
LCD làm việc ở chế độ 8 bit ghép nối với PortC của vi điều khiển trung
tâm
IC L298N được tích hợp gồm có 2 mạch cầu H, ngoài chức năng dùng
để đảo chiều quay của động cơ thì L298N còn dùng để điều khiển vận tốc
động cơ bằng PWM
Các đường kích cầu trong IC L298N là IN1 và IN2 phải được đặt trong
các trạng thái ngược nhau.Bằng cách này chúng ta có thể tránh được trường
hợp khi mà 2 transistor ở cùng một bên được kích cùng lúc(ngắn mạch). Vì
vậy chúng ta sẽ thiết kế một mạch logic phụ với 2 ngõ vào là PWM và
DIR.Trong đó PWM dùng để điều khiển vận tốc còn DIR dùng để điều khiển
hướng của động cơ.Hai ngõ ra là hai đường điều khiển IN1 và IN2.Vì vậy
khối logic được thiết kế như trên.
Với mạch thiết kế như trên chúng ta có thể đạt được 15 mức vận tốc
khác nhau.
Như vậy số vòng mà động cơ đạt được trong 1s được tính bởi công
thức
(vòng/s)
Như vậy động cơ của ta có tốc độ tối thiểu khi ở tần số là 133.33 Hz và
tốc độ tối đa khi ở tần số là 2 kHz.
KẾT LUẬN
Sau quá trình học tập và nghiên cứu, dưới sự giúp đỡ, chỉ bảo tận tình
của thầy hướng dẫn cùng các thầy cô trong bộ môn Vật Lý Vô Tuyến, với
mục tiêu của đề tài là “Điều khiển động cơ DC motor với giải thuật PID”,
kết quả thu được của em đã hoàn thành mục tiêu đề ra với các nội dung sau:
- Tìm hiểu cơ bản về lý thuyết điều khiển tự động và thuật toán PID.
- Tìm hiểu về và viết chương trình chạy thành công cho vi điều khiển
Atmega32
- Thực hiện được việc chạy mô phỏng và thiết kế thành công phần
mạch thực nghiệm
Kết quả đạt được thỏa mãn yêu cầu của bài toán là khả năng đáp ứng
nhanh và chính xác trong khoảng tần số từ 133.33 – 2kHz.
Ý nghĩa quan trọng của đề tài là việc ứng dụng thành công giải thuật
PID vào thực tế trong việc điều khiển động cơ điện một chiều, với nhiều ứng
dụng thực tế như trong các dây chuyền sản xuất, ô tô điện, tàu thủy, máy
bay….
Tuy nhiên, hạn chế của đề tài là chỉ đáp ứng được một số mức vận tốc
đã đặt trước mà thôi, với vận tốc bất kỳ thì chưa đáp ứng được.
Các vấn đề tiếp theo cần được thực hiện để phát triển thêm đề tài là:
- Phần cứng
Mạch thực nghiệm sẽ sử dụng kết nối với máy tính qua cổng COM
hoặc cổng USB để khống chế tốc độ điều khiển.
Mạch thực nghiệm hiển thị được tốc độ thực tế trên LCD
- Phần mềm
Viết lại chương trình cho vi điều khiển để có thể thực hiện được kết nối
với máy tính và hiển thị được tốc độ thực tế
[2]. Lê Vũ Hà, “Kỹ thuật điều khiển”, NXB ĐHQG Hà Nội, 2006
[3]. Khoa điện, ĐHBK Hà Nội, “Lý thuyết điều khiển tự động”
[4]. Học Viện Công Nghệ Bưu Chính Viễn Thông, “Cơ sở điều
khiển tự động” , 2006
[5]. www.atmel.com/atmel/acrobat/doc2503.pdf
[6]. http://www.vinamain.com/2010/05/dong-co-dien-mot-chieu.html
[7]. http://www.hocavr.com/index.php/app/dcservo
PHỤ LỤC
P1. Code chương trình: Điều khiển động cơ DC với giải thuật PID
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <math.h>
#include <stdio.h>
#include "myLCD.h"
#ifndef cbi
#endif
#ifndef sbi
#endif
#define MOTOR_DIR 6
#define MOTOR_EN 7
volatile long int rSpeed, Err, pre_Err, Kp=8, Kd=10, Ki=1; //for
speed control
volatile long int Ctrl_Speed=5; //van toc can dieu khien (desired
speed)
pPart=Kp*Err;
dPart=Kd*(Err-pre_Err)*inv_Sampling_time;
iPart+=Ki*Sampling_time*(Err+pre_Err)/1000;
//saturation
int main(void){
Pulse=0;
//Motor
MOTOR_DDR=0xF0;
sbi(MOTOR_PORT, MOTOR_DIR);
//-----------------------------------------------------------------------------
----
TCNT2=60; //gan gia tri khoi tao cho T/C2 de duoc 25ms
(truong hop f=8MHz)
//--------------------------------------------------------------------------------
//dung timer1 lam PWM generator, Fast PWM mode 14: ICR1
chua time period
TCCR1A=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM11);
//-----------------------------------------------------------------------------
---
//**********LCD*************************
init_LCD();
clr_LCD();
move_LCD(2,1);
_delay_ms(1000);
clr_LCD();
print_LCD("Actual : /25ms");
move_LCD(2,1);
print_LCD("Desired: /25ms");
//**********LCD*************************
OCR1A=1;
ICR1=PWM_Period;
sei();
//----------------------------------
while (1){
sprintf(dis,"%i", rSpeed);
move_LCD(1,9);
print_LCD(" ");
move_LCD(1,9);
print_LCD(dis);
sprintf(dis,"%i", Ctrl_Speed);
move_LCD(2,9);
print_LCD(" ");
move_LCD(2,9);
print_LCD(dis);
sample_count=0;
sample_count++;
Motor_Speed_PID(Ctrl_Speed);
ISR(INT2_vect){
if (bit_is_set(PINB,0)) Pulse++;
else Pulse--;