CHƯƠNG 6 : THIẾT KẾ VÀ THI CƠNG MƠ HÌNH PHẦN CỨNG
6.2 Khối nguồn 24/12/5 Vdc cung cấp cho mạch động lực và độngcơ
- Ngõ vào là điện áp xoay chiều, biên độ 24VAC/ 5A . Sau đĩ qua cầu chỉnh lưu diod ,thành điệp áp một chiều . Tụ điện C10 ( 4700 uF/50V) dùng để làm phẳng điện áp sau chỉnh lưu. Điện áp sau chỉnh lưu sẽ qua IC ổn áp LM7824 thành áp 24VDC, tiếp tục qua tụ C9 (2200uF ) và IC ổn áp LM7812 thành áp 12VDC , cuối cùng qua IC ổn áp LM7805 thành áp 5VDC.
- Các BJT cơng suất loại PNP là: Q2 và Q3 ( BJT 2SA1302 ) dùng để khuyếch đại dịng điện ngõ ra sau các IC ổn áp (LM7824:24V , LM7812:12V ). Các điện trở cơng suất R7, R6 ( 3 Ohm/2W ) được sử dụng cĩ các chức năng sau:
+ Điện áp mức dẫn trên cực E-B của Q2 và Q3: VEB = 0.7 V ( theo datasheet) , nên các BJT Q2 và Q3 chỉ hoạt động khi dịng điện vào các IC ổn áp (LM7824 và LM7812) vượt qua ngưỡng : 0.233( ) 233( )
3 7 . 0 7 A mA R V I EB
nguong = = = = . Cĩ nghĩa là chỉ khi các ngõ ra 24V ( hay 12V) cần sử dụng dịng lớn ( từ 233mA trở lên ) thì các BJT cơng suất mới hoạt động để khuyếch đại dịng ngõ ra.
+ Ngồi ra ,các điện trở R6, R7 cịn cĩ chức năng cải thiện tốt việc đĩng/ngắt của các BJT: Q2,Q3.
- Các diod D9 , D10 , D13 cĩ nhiệm vụ bảo vệ các IC ổn áp khi ngõ vào mất điện đột ngột - Các Led D14, D15 , D16 cĩ nhiệm vụ báo hiệu khi cĩ các mức điện áp 24V , 12 V , 5V - Khối nguồn này được sử dụng theo các mục đích sau:
+ Điện áp 24V được kết nối vào 2 khối mạch động lực : cung cấp cho 2 động cơ DC (24V/20W) trong mơ hình.
+ Điện áp 12V được kết nối vào 2 khối mạch động lực : thực hiện phân cực cho các BJT ( D468 và B562) lái MosFet IRF540.
6.3 Sơ đồ mạch BDM-Pod : dùng để Nạp hay Debug cho họ vi điều khiển HCS12
Sơ đồ mạch này sử dụng vi điều khiển 8-bit AT90S2313 , thuộc họ AVR của hãng Atmel. Vi điều khiển AT90S2313 sẽ được nạp vào 1 chương trình -gọi là FirmWare . Sơ đồ mạch và
CHƯƠNG 7
GIẢI THUẬT CHƯƠNG TRÌNH 7.1 Thiết kế bộ điều khiển PI-Mờ , ổn định tốc độ động cơ DC 7.1.1 Sơ lược sơ đồ khối và hệ phương trình tốn
Hình 7.1 : Sơ đồ khối tổng quát của bộ điều khiển PI-Mờ
+ Ở đây, bộ điều khiển Mờ đĩng vai trị là Bộ chỉnh định các thơng số cho bộ điều khiển PI , dựa vào các biến đầu vào là : Sai số e(t) và đạo hàm sai số ( de/dt ).
+ Bộ điều khiển PI mới tạo ra tín hiệu điều khiển trực tiếp đối tượng · Mơ hình tốn cho bộ điều khiển PI :
u t =KPe t +KIịte x dx 0 ) ( ) ( ) ( (7.1) ) ) ( 1 ) ( ( ) ( 0 ị + = t I P e x dx T t e K t u (7.2) dt K e(t) de K dt du I P + = (7.3)
( ) (1 1 ) s T K s K K s G i P I p PI = + = + (7.4) D P I K K K a 2 = D I T T = a (7.5)
7.1.2 Thiết kế bộ điều khiển PI-Mờ
· Các nguyên tắc tạo luật hợp thành cho các thơng số của bộ điều khiển PI-Mờ :
- Ở đây, ta sẽ xây dựng các luật hợp thành cho các thơng số KP , KD,a rồi từ đĩ tính ra
giá trị của hệ số KI ( theo cơng thức (7.5) :
D P I K K K a 2 = ) .
Hình 7.2 : Sơ đồ chi tiết của bộ điều khiển PI-Mờ được dùng trong luận văn
- Trong điều khiển Mờ , khơng cĩ trình tự thiết kế (các luật hợp thành cho các thơng số
P
K , KD,a ) một cách chính quy ,nhưng ta cũng cĩ một vài nguyên tắc cơ bản để chỉnh định như sau :
- Nguyên tắc chung là là bắt đầu các trị KP , KD, a theo Zeigler-Nichols , sau đĩ dựa vào đáp ứng của hệ thống và thay đổi dần để tìm ra hướng chỉnh định thích hợp.
Hình 7.3: Đường cong đáp ứng Zeigler-Nichols
+ Lân cận 1a ta cần luật điều khiển mạnh để rút ngắn thời gian lên, do vậy chọn : KP lớn , KD nhỏ và a nhỏ.
+ Lân cận 1b ta tránh vọt lố lớn nên chọn : KP nhỏ, KD lớn , a lớn + Lân cận 1c và 1d giống như lân cận 1a và 1b.
+ Khi giá trị tuyệt đối của sai lệch lớn ta cần cĩ tín hiệu điều khiển mạnh để đưa nhanh sai lệch về 0. Dựa theo nguyên tắc này ta cĩ ma trận quan hệ chỉnh định ( Bảng luật hợp thành Mờ ) các thơng số KP , KD, a thường sẽ cĩ dạng gần đối xứng qua đường chéo chính hoặc trục phụ.
- Nguyên tắc thứ 2 : Suy đốn cĩ logic dựa vào giá trị các biến ngơn ngữ đầu vào.Ví dụ như : + Khi giá trị sai số e(t) là âm nhiều ( nghĩa là tốc độ thật của động cơ đang nhỏ hơn rất
nhiều so với tốc độ đặt ) và giá trị đạo hàm của sai số
dt t
de( )cũng âm nhiều ( nghĩa là động cơ đang cĩ xu hướng tiếp tục giảm nhanh tốc độ ) thì giá trị của hệ số KP phải là
Lớn Nhất để tăng tốc mạnh cho động cơ , cịn KDvà a cĩ giá trị nhỏ nhất.
+ Khi giá trị sai số e(t) là âm ít ( nghĩa là tốc độ thật của động cơ đang nhỏ hơn khơng bao nhiêu so với tốc độ đặt ) và giá trị đạo hàm của sai số
dt t
de( ) cũng âm ít ( nghĩa là động cơ đang cĩ xu hướng giảm tốc độ ở mức chậm ) thì giá trị của hệ số KP sẽ là
· Các biến ngơn ngữ :
- Đầu vào : 2 biến
+ Sai lệch: ET = tốc độ đo – tốc độ đặt ; (cách tính tốc độ động cơ: Chương 7-Phần 7.1.3 )
+ Tốc độ tăng T i E i ET DET ( +1)- ( )
= ; với T là chu kì lấy mẫu (ở đây, T = 20ms )
- Đầu ra: 3 biến + KP : hệ số tỷ lệ + KD : hệ số vi phân
+ KI : hệ số tích phân ( tính ra từ giá trị trung gian a:
D P I K K K a 2 = ) - Số lượng biến ngơn ngữ : 5 bậc
+ ET = { âm nhiều , âm ít , zero , dương ít , dương nhiều } = {N2 , N1 , Z , P1 , P2 } + DET = { âm nhiều , âm ít , zero , dương ít , dương nhiều } = {N2 , N1 , Z , P1 , P2 } + KP/KD = { zero , nhỏ, trung bình , lớn , rất lớn } = { Z , S , M , L , U }
+ a = { mức 1, mức 2 , mức 3 , mức 4 , mức 5 } = { L1 , L2 , L3 , L4 , L5 } Tầm giá trị: ET =[-20;20];DET =[-20;20]
Hình 7.4: Các biến ngơn ngữ vào/ra
· Luật hợp thành:
Cĩ tổng cộng 5x5x3 = 75 luật IF…Then
Bảng 7.1, 7.2 , 7.3: Luật hợp thành mờ cho các thơng số KP ,KD và a
DET P K N2 N1 Z P1 P2 N2 U L M Z Z N1 L M S Z Z Z M S Z S M P1 Z Z S M L ET P2 Z Z M L U
DET D K N2 N1 Z P1 P2 N2 Z S M L U N1 S M L U L Z M L U L M P1 L U L M S ET P2 U L M S Z DET a N2 N1 Z P1 P2 N2 L1 L2 L3 L4 L5 N1 L2 L3 L4 L5 L4 Z L3 L4 L5 L4 L3 P1 L4 L5 L4 L3 L2 ET P2 L5 L4 L3 L2 L1
· Luật hợp thành mờ : Chọn luật MAX – MIN
· Giải mờ : Theo phương pháp độ cao
- Gọi: + Tốc độ tính theo vịng/phút (R.P.M : Round Per Minute) là: Speed_RPM + Số xung của encoder trong 20ms ( xung/20ms) là: Pulse_20MS
- Ta cĩ: + Số xung của encoder trong 1 giây là:
60
100 _RPMx
Speed ( xung/s)
+ Số xung của encoder trong 20ms sẽ là: ( 1 s = 1000 ms = 50 x 20ms ) Pulse_20MS ( xung/ 20ms) = 60 100 _RPMx Speed x 50 1 <=> (7.6) Vậy số xung của encoder trong 20ms sẽ bằng tốc độ của động cơ ( đơn vị vịng/phút: R.P.M )
chia cho 30 . Do đĩ ,khi tính được số xung của encoder trong 20ms , ta chỉ cần nhân giá trị này
cho 30 là sẽ được tốc độ của động cơ ( tính theo đơn vị vịng/phút: R.P.M )
(7.7)
7.2 Cách thức điều khiển từ máy vi tính ( PC )
Trong luận văn , tơi đã thiết kế 2 giao diện trên PC để điều khiển và giám sát hệ thống: + Một giao diện trên máy vi tính được đặt tại mơ-đun điều khiển 1 : Dùng để điều khiển-
giám sát 2 mơ-đun điều khiển 1 và 2 ( tương ứng với node 1 và node 2 trong mạng CAN quản lý hệ thống )
+ Một giao diện trên máy vi tính được đặt tại mơ-đun 0 ,điều khiển-giám sát trung tâm ( Là
node 0 của mạng ) : Dùng để điều khiển-giám sát và thu thập dữ liệu của tồn hệ thống.
7.2.1 Các loại khung truyền-nhận giữa máy tính và mơ-đun điều khiển động cơ 1
· Giao diện trên máy tính đặt tại mơ-đun điều khiển động cơ 1 ( Node 1):
Pulse_20MS ( xung/ 20ms) =
30 _RPM Speed
Hình 7.5: Giao diện điều khiển-giám sát trên máy tính của node
Ø Cách sử dụng giao diện này
– Nhập tốc độ đặt vào ơ Tốc độ ở Bảng thơng số ; nếu sử dụng ở chế độ đồng bộ – Check vào “gồm Motor 2 ” , nếu khơng check thì chỉ điều khiển riêng động cơ 1.
– Sau khi nhập xong thơng số, Click vào nút NHẬP để lưu , tiếp đến là Click vào nút TRUYỀN để truyền khung tín hiệu điều khiển xuống vi điều khiển.
– Sử dụng các nút để điều khiển động cơ: CHẠY , DỪNG , TĂNG , GIẢM
Ø Khung truyền để thiết lập Tốc độ đặt từ PC xuống mơ-đun: Gồm 3 byte
Bảng 7.4: Khung thiết lập tốc độ đặt từ PC tại node 1 xuống node 1
Byte 0: Mã cài đặt thơng số Byte 1: Tốc độ đặt Byte 2: Checksum-ký tự “F” + Byte Mã cài đặt thơng số : là byte ký tự “1” – Dùng cho việc đặt tốc độ
(vịng/phút) chia cho 30 ( xem cách tính tốc độ động cơ ở Chương 7 - Phần 7.1.3 ) + Byte Checksum : Là ký tự “F” ( F: Finish )
Ø Khung truyền các lệnh điều khiển từ PC xuống mơ-đun: Gồm 2 byte
Bảng 7.5: Khung truyền lệnh điều khiển từ PC tại node 1 xuống node 1
Byte 0: Lệnh điều khiển Byte 1: Checksum ( ký tự “F” ) - Byte 0 - Lệnh điều khiển, là một ký tự :
+ “S” : Động cơ chạy ( Tương ứng khi nhấn nút CHẠY trên giao diện) + “P” : Động cơ dừng (Tương ứng khi nhấn nút DỪNG trên giao diện)
+ “I” : Tăng tốc độ của động cơ (Tương ứng khi nhấn nút TĂNG trên giao diện) + “D” : Giảm tốc độ của động cơ (Tương ứng khi nhấn nút GIẢM trên giao diện) + “Y” : Hai động cơ 1 và 2 hoạt động đồng bộ ( Khi check vào “gồm Motor 2 ”)
+ “N” : Hai động cơ 1 và 2 hoạt động độc lập với nhau.(Khơng check vào“gồm Motor 2 ”)
Ø Chuỗi dữ liệu từ mơ-đun 1 lên PC: Là một chuỗi byte như hình sau
Hình 7.6: Các chuỗi byte truyền lên PC khi động cơ dừng và khi động cơ chạy
· Giao diện trên máy tính đặt tại mơ-đun trung tâm ( Node 0):
- Mơ-đun trung tâm cĩ nhiệm vụ trong việc điều phối tín hiệu điều khiển từ máy tính tại trung tâm(cĩ quyền điều khiển cao nhất) đến từng mơ-đun điều khiển động cơ trong mạng
Hình 7.7: Lưu đồ cách thức vi điều khiển ở mơ-đun trung tâm phân loại địa chỉ cần gởi của các khung truyền điều khiển nhận được từ PC trung tâm.
- Khung truyền từ máy tính xuống mơ-đun trung tâm sẽ luơn bắt đầu bằng byte địa chỉ của
node cần điều khiển. Dựa vào byte địa chỉ này, vi điều khiển ở mơ-đun trung tâm sẽ quyết
định gởi bức điện (message) đến đúng địa chỉ thơng qua CAN-bus - Các mã căn cước ID của bức điện mà node 0 dùng để gởi:
+ Mã ID 0x500 : Dùng để gởi riêng khung truyền đến cho node 1 Gởi khung điều khiển
xuống mơ-đun trung tâm
Kiểm tra cần điều khiển node nào ?
Máy tính(PC) tại trung tâm
Truyền khung điều khiển cả 2 node: 1&2 ( Loại bỏ byte-địa chỉ trong khung truyền ) Chỉ truyền khung
điều khiển cho node 1 ( Loại bỏ byte địa chỉ trong khung truyền )
Chỉ truyền khung điều khiển cho node 2
( Loại bỏ byte-địa chỉ trong khung truyền )
Node 2
Cả 2 node: 1&2 Node 1
Hình 7.8: Giao diện đặt trên máy tính tại trung tâm điều khiển-giám sát hệ thống
Ø Cách thức sử dụng giao diện tại trung tâm
- Thơng số mặc định: Hệ thống chạy đồng bộ ,điều khiển bằng tay, tốc độ đặt là 2100 R.P.M - Cài đặt thơng số ( theo trình tự ) : Click vào nút “CÀI ĐẶT THƠNG SỐ ” để vào Form cài
đặt ( xem hình 7.9 ở trang bên )
+ Bước 1 : Chọn chế độ điều khiển ( bằng tay – Tự động) , các động cơ hoạt động đồng bộ hay độc lập à Cĩ 4 phương pháp điều khiển ( xem ở hình 7.9 và bảng 7.6 trang bên ) + Bước 2 : Nhập tốc độ đặt và node cần điều khiển
+ Bước 3 : Click vào “ NHẬP” để lưu các thơng số cài đặt
+ Bước 4:Click vào “ TRUYỀN” để truyền dữ liệu điều khiến xuống vi điều khiển ở node0 - Nút “ Thời gian” trên Form chính dùng để đồng bộ đồng hồ của máy tính và của node 0
Hình 7.9: Giao diện thiết lập thơng số và truyền dữ liệu điều khiển.
- Từ khung Chọn chế độ điều khiển ở giao diện trên , ta sẽ cĩ 4 phương pháp điều khiển hệ thống từ Trung Tâm điều khiển như sau:
Bảng 7.6: Các phương pháp điều khiển được cài đặt cho hệ thống
Các phương pháp điều khiển CHẾ ĐỘ BẰNG TAY CHẾ ĐỘ TỰ ĐỘNG KIỂU Đồng bộ Phương pháp 1 Phương pháp 3
KIỂU Độc lập Phương pháp 2 Phương pháp 4 + Phương pháp 1 : Các động cơ hoạt động đồng bộ ( động cơ 2 phụ thuộc vào động cơ 1) ,
người dùng điều khiển động cơ ( cho chạy, dừng, tăng, giảm ) bằng các nút nhấn trên giao diện .
chạy , dừng , tăng, giảm ) bằng các nút nhấn trên giao diện
+ Phương pháp 3 : Các động cơ hoạt động đồng bộ ( động cơ 2 phụ thuộc vào động cơ 1), người dùng chỉ cần cài đặt thời điểm chạy và dừng lại , sau đĩ dựa vào Hệ thống thời gian thực ( DS1307 ) – vi điều khiển ở mơ-đun điều khiển trung tâm sẽ điều khiển hệ động cơ chạy hay dừng đúng thời gian.
+ Phương pháp 4 : Các động cơ hoạt động độc lập với nhau ( bao gồm điều khiển riêng từng động cơ hay điều khiển đồng thời nhiều động cơ) , người dùng chỉ cần cài đặt thời điểm chạy và dừng lại , sau đĩ dựa vào Hệ thống thời gian thực ( DS1307 ) – vi điều khiển ở mơ-đun điều khiển trung tâm sẽ điều khiển hệ động cơ chạy hay dừng đúng thời gian. - Các loại khung truyền-nhận giữa máy tính và mơ-đun trung tâm (node 0 ) : Các khung
truyền ln cĩ byte bắt đầu là: Byte 0-Địa chỉ node (mơ-đun động cơ) cần điều khiển
Ø Khung truyền để thiết lập Tốc độ đặt từ PC xuống mơ-đun trung tâm (node 0): Cĩ 4 byte
Bảng 7.7: Khung truyền để thiết lập Tốc độ đặt từ PC xuống mơ-đun trung tâm (node 0): Byte0: Địa chỉ Node
cần điều khiển Byte 1: Chế độ điều khiển Byte 2: Tốc độ đặt Byte 3: Checksum ( ký tự “F” )
+ Byte 0 – Địa chỉ node cần điều khiển:
“1” : Điều khiển mơ-đun động cơ 1 ( Khi check vào NODE 1 trên giao diện ) “2” : Điều khiển mơ-đun động cơ 2 ( Khi check vào NODE 2 trên giao diện )
“A” : Điều khiển cả 2 mơ-đun động cơ 1 và 2 (Khi check vào TẤT CẢ trên giao diện) + Byte 1 – Chế độ điều khiển :
“1” : Chế độ điều khiển bằng tay ( Chỉ dùng cho chế độ Manual)
+ Byte 2 – Tốc độ đặt (số xung encoder/ 20ms) : Giá trị làm trịn của Tốc độ cần đặt (vịng/phút) chia cho 30 ( xem cách tính tốc độ động cơ ở Chương 7 – Phần 7.1.3 ) + Byte 3 – checksum : trong chương trình của luận văn , là ký tự “F” ( F: Finish )
Ø Khung truyền trong chế độ tự động ( từ PC tại trung tâm xuống node 0): Cĩ 10 byte
Bảng 7.8: Khung truyền từ PC tại node 0 xuống node 0 – sử dụng trong chế độ Tự động
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte 9 Địa chỉ Node “2” ( Auto) Tốc độ đặt Giờ chạy Phút chạy Giây chạy Giờ dừng Phút dừng Giây dừng Checksum ( “ F ” )
Ø Khung truyền các lệnh điều khiển từ PC xuống mơ-đun trung tâm (node 0): Cĩ2 byte
Bảng 7.9: Khung truyền các lệnh điều khiển từ PC tại node 0 xuống node 0
Byte 0: Địa chỉ Node cần điều khiển
Byte 1: Lệnh điều khiển
Byte 2:
Checksum ( ký tự “F” ) - Byte 0 – Địa chỉ node cần điều khiển: , mã hĩa thành ký tự:
+ “1” : Điều khiển mơ-đun động cơ 1