Khối vi điều khiển trung tâm cĩ nhiệm vụ điều khiển quản lý, giám sát, điều khiển hoạt động tồn bộ các modul sử dụng trong mạch cĩ nghĩa là mọi hoạt động trong hệ thống trên cơ sở diều khiển Pic18F4520. Ngồi ra:
- Vi điều khiển Pic18F4520 sử dụng mạch dao động thạch anh ngồi tần số 10MHz.
- Sử dụng mạch nạp PicKit2 riêng để nạp chương trình cho PIC18F4520
Hinh 2.3 Mạch nạp cho vi điều khiển trung tâm b) Khối giao tiếp máy tính qua cổng nối tiếp
Hinh 2.4 Khối giao tiếp máy tính Max232
Cổng nối tiếp của máy tính là cổng COM( Comunication Port) để giao tiếp dữ liệu hai chiều giữa máy tính PC và ngoại vi với nhiều ưu điểm . Ngày nay, mỗi máy tính cá nhân đều cĩ một hoặc một vài cổng nối tiếp theo chuẩn RS-232 (cổng COM), cĩ thể sử dụng để kết nối với các thiết bị ngoại vi hoặc các máy tính khác. Nhiều thiết bị cơng nghiệp cũng tích hợp cổng RS-232 phục vụ cho cơng việc lập trình hoặc tham số hĩa.
- TxD (Transmit Data): đường gửi dữ liệu - RxD (Receive Data): đường nhận dữ liệu
- RTS (Request To Send): Yêu cầu gửi; bộ truyền đặt đường này lên mức hoạt động khi sẵn sàng truyền dữ liệu.
- CTS (Clear To Send): Xố để gửi; bộ nhận đặt đường này lên mức hoạt động để thơng báo cho bộ truyền là nĩ sẵn sàng nhận dữ liệu.
Hình 2.5 : Cấu tạo cổng COM
- DSR (Data Set Ready): Dữ liệu sẵn sàng; tính hoạt động giống với CTS nhưng được kích hoạt bởi bộ truyền khi nĩ sẵn sàng nhận dữ liệu.
- SG (Signal Ground): Đất của tín hiệu.
- DCD (Data Carrier Detect): Phát hiện tín hiệu mang dữ liệu.
- DTR (Data Terminal Ready): Đầu cuối dữ liệu sẵn sàng; tính hoạt động giống với RTS nhưng được kích hoạt bởi bộ nhận khi muốn truyền dữ liệu. - RI (Ring Indicate): Báo chuơng, cho biết là bộ nhận đang nhận tín hiệu
rung chuơng.
Cổng nối tiếp cĩ nhiều ưu điểm và đặc điểm nổi trội:
- Tính chống nhiễu tương đối tốt, khoảng cách truyền xa hơn cổng song song.
- Số lượng dây kết nối ít tối thiểu 3 dây: TxD, RxD, GND. - Ghép nối dễ dàng vi điều khiển hoặc PLC.
- Cĩ khả năng kết nối mạng…
Trong sơ đồ mạch giao tiếp máy tính này chúng ta sử dụng 3 dây truyền nhận dừ liệu TxD, RxD, GND khơng dùng chế độ bắt tay phần cứng, nếu khi cần bắt tay chúng
ta cĩ thể sử dụng phần mềm. Ngày nay vi xử lý và máy tính tốc độ hoạt độngcao khơng nư trước lên thuận lợi khi chúng ta truyền nhận .
Trên vi điều khiển chúng ta sử dụng modul USART giao tiếp bất đồng bộ máy tính cài đặt thơng số: tốc độ 9600 baud, 1bit start, 1 bit stop, 8 bit dữ liệu khơng sủ dụng bit Parity.
c) Khối bàn phím
Hinh 2.6 Modul bàn phím
Nguyên tắc sử dụng khố bàn phím là :Dùng ngắt để nhận biết cĩ phím nhấn. Ban đầu khởi tạo các COL1 : COL4 là 0000, và ngắt ngồi INT0 được kích hoạt khi cĩ sườn xuống (1 0). Khi nhấn một phím bất kỳ thì chân INT0 xuât hiện sườn xuống chương trình chuyển sang phục vụ ngắt. Trong thủ tục ngắt ta xác định phím nào được nhấn, để xác định được ta cần xác định ra hàng và cột của phím được nhấn. Đầu tiên ta kiểm tra các hàng ROW1 ROW4 nếu hàng nào cĩ giá trị bằng “0” thì hàng đĩ cĩ phím nhấn. Tiếp theo ta xác định cột, đầu tiên ta cho COL1=1 và COL2=COL3=COL4=0 sau đĩ kiểm tra tích ROW1*ROW2* ROW3*ROW4, nếu tích bằng “1” thì cột 1 cĩ phím nhấn, từ đĩ xác định được phím nào đã nhấn. Nếu tích đĩ bằng “0” thì khơng phải cột 1 cĩ phím nhấn, ta lại chuyển sang kiểm tra cột 2 với COL2=1 và COL1=COL3=COL4=0. Cứ tiếp tục như vậy ta sẽ xác định được cột cĩ phím nhấn.
d) Khối hiển thị LCD 2x16(2 dịng, 16cột)
Bảng sơ lược chức năng LCD 2x16
Hình 2.7 Khối hiển thị LCD
- Sử dụng một biến trở 100K điều chỉnh độ tương phản của LCD. - Chỉ dùng LCD để hiển thị (Write) nên chân R/W được nối mass.
Hinh 2.8 Khối thiết bị chấp hành
Khối mạch lực này làm việc đúng theo nguyên lý trình cơ cấu chấp hành (IC L298) trình bày chương 3 ứng dụng bộ điều khiển PID số điều khiển động cơ một chiều .
f) Khối nguồn 12V/5V
Hình 2.9 Sơ đồ khối nguồn
Trong mạch sử dụng hai modul nguồn 5V(cung cáp mạch điều khiển) và 12V(cung cấp cho động cơ):
- Mạch cung cấp đầu ra 5V cho mạch điều khiển: điện áp đầu vào xoay chiều khoảng 18-24V xoay chiều lấy từ biến áp, qua chỉnh lưu 2 nửa chu kỳ bằng cầu diode, thu được điện áp 1 chiều 18 - 24V sau đĩ qua IC ổn áp LM7805 mắc song song để thu được điện áp đầu ra 5V. Trước IC ổn áp ta mắc thêm trở nhiệt và diode để tản nhiệt 1 phần cho IC và bảo vệ ngăn dịng đánh ngược. Ở đầu vào và đầu ra của IC ổn áp đều mắc thêm tụ, gồm cả tụ hĩa (cĩ phân cực) và tụ keo (khơng phân cực) để ổn định điện áp. Ngồi ra cịn thêm đèn báo và cơng tắc bật, và cầu chì bảo vệ đầu vào khi lấy nguồn từ biến áp.
- Mạch nguồn 12V cũng tương tự hoạt động như trên nhưng thay vì dùng ICLM7805 chúng ta dùng LM7812 tạo nguồn 12V điều khiển động cơ.
g) Các khối khác
Trên Kit cịn cĩ một số khối phụ khác như cịi chip, led, ADC, ISP&ISCP để kết nối mạch nạp ngồi cho Chip, hai chân vào ra cho phép kết nối đầu vào ra khác, Encoder, truyền thơng cổng Com.
Sơ đồ mạch in hai lớp
2.2 Thiết kế phần mềm trên nền vi điều khiển PIC
2.2.1. Yêu cầu phần mềm
Chương trình phần mềm cho vi điều khiển Pic18F4520 cĩ thể viết theo nhiều cơng cụ như CCS, ngơn ngữ Asembly hoặc C18 . Trong đồ án chúng ta thực hiện lập trình vi điều khiển Pic18F4520 sử dụng C18 trên mơi trường MPLAB của nhà sản suất Mỉcochip. Phần mềm nhúng trên vi điều khiển PIC thực hiện các nhiệm vụ sau:
- Nhận dữ liệu thơng số từ máy tính và bàn phím.
- Xử lý và nhận các tín hiệu từ các đầu vào số hoặc tương tự trên modul phần cứng.
- Truyền dữ liệu lên máy tính qua cổng truỳen thơng nối tiếp RS232. - Hiển thị dữ liệu lên LCD và tín hiệu đèn led.
Khi viết chương trình cho vi điều khiển chúng ta cĩ thể sử dụngthư viện khối chức năng hỗ trợ sãn nhà sản xuất về các modul PWM, Timer, ADC, Led, các hàm bộ điều khiển PID…
Khi thực hiện chương trình chúng ta quản lý theo ngắt để tạo chu kì trích mẫu.
Hình 2.11 Lưu đồ hàm ngắt dùng tạo chu lì trích mẫu
Trong đĩ gọi T là chu kỉ trích mẫu chương trình thì ta sẽ xây dựng được quan hệ biến “Constant” và T theo khung thời gian hoạt động của “timer”. Điều đĩ cĩ nghĩa lớn trong việc quản lý chính xác việc tạo thời gian trích mẫu.
b) Thuật tốn PID số
* ) Luật PID trên miền thời gian ( liên tục ) được mơ tả bởi cơng thức:
(3.1) Trong đĩ: KR = Hệ số tỷ lệ
TC = Hằng số thời gian tích phân TV = Hằng số thời gian vi phân * ) Xấp xỉ thành phần I
(3.2) Bản chất là phép tính xấp xỉ diện tích của hàm e (t) - Xấp
xỉ theo nguyên tắc hình chữ nhật :
- Xấp xỉ theo nguyên tắc hình thang :
Trong đĩ T là chu kì trích mẫu .
- Khai triền thành chuỗi
*) Xấp xỉ luật PID
Thay các cơng thức xấp xỉ trên vào cơng thức: uk = upk + uik + udk
- Với xấp xỉ thành phần I theo phương pháp hình chữ nhật và thành phần D theo bậc 1 (3.3)
- Với xấp xỉ thành phần I theo phương pháp hình chữ thang và thành phần D theo bậc2:
- Theo Takahashi cĩ thể làm giảm bớt biên độ độ lớn điều khiển khi đại lượng chủ đạo ( giá trị đặt ) cĩ đột biến nhanh bằng cách, thay vì ek = wk – xk chỉ sử dụng ek = - xk. Từ đĩ ta cĩ :
(3.4) Mơ hình bộ điều khiển PID số:
- Vi phân x ấ p x ỉ b ậ c 2 :
- Vi phân x ấ p x ỉ b ậ c 1 :
Hình 2.12 Sơ đồ bộ điều khiển PID số
Sơ đồ như trên giúp chúng ta cĩ thể lựa chọn nhiều giải pháp sử dụng bộ điều khiển PID theo nhiều luật khác nhau.
Khi thiết kế thuật tốn PID số cho vi điều khiển chúng ta cũng thực hiện thuật tốn PID theo nguyên tắc chung như trên nhưng sử dụng các khối Timer để quản lý việc thực hiện thuật tốn. Các thơng số đầu vào bộ điều khiển là Ref_Input và Mea_Input luơn được cập nhập từ các cổng vào ra số và tương tự trên kit điều khiển để vi điều khiển thực hiện thuật tốn PID áp đặt lên cơ cấu chấp hành điều khiển đối tượng. Trong quá trình điều khiển dựa trên sai lệch đầu vào giữa Ref_Input và Mea_Input bộ điều khiển PID số tác dụng vừa đưa sai lệch mơ hình về khơng vừa đảm bảo các chỉ tiêu chất lượng điều khiển . Mỗi một chu kì thực hiện thuật tốn PID trên vi điều khiển thì tín hiệu đầu ra của hệ thống điều khiển luơn được cập nhập qua cảm biến chuyển đổi phản hồi về tạo tín hiệu Mea_Input .
Cĩ nhiều cách xấp xỉ bộ điều khiển PID nên việc thực thi các thuật tốn PID trên vi điều khiển cũng khác nhau. Một vấn đề quan trọng cần quan tâm khi thiết kế bộ điều khiển PID cần quan tâm là việc hạn chế các hiện tượng bão hồ tích phân (Winup). Vấn dề này rất thường gặp khi thực thi luật điều khiển PID. Hiện tượng bão hồ tích phân là hiện tượng đầu ra của bộ điều khiển vẫn tiếp tục tăng quá mức giới hạn do tích luỹ của thành phần tích phân vẫn cịn khi sai lệch điều khiển đã trở về khơng. Giải quyết vấn đề này cĩ thể sử dụng phương pháp:
- Khi sai lệch mơ hình bằng khơng ta thực hiện tách bỏ thành phần tích phân hoặc xố trạng thái của nĩ bằng vịng lặp.
- Giảm hệ số khuếch đại để đầu ra nằm trong dải cho phép khơng quá lớn.
- Thực hiện thuật tốn bù thành phần tích phân bằng phản hồi giá trị thực đo được. - Đặt một khâu giới hạn ở dầu ra của bộ điều khiển và sử dụng thuật tốn bù.
Hai phương pháp cuối cĩ ưu điểm hơn cả và thường được hầu hết các bộ điều khiển cơng nghiệp hỗ trợ. Giả pháp đa năng và áp dụng nhiều trên thực tế thực hiện Anti_Winup là điều khiển bám(tracking) thực chất cải thiện thành phần tích phân I:
Hình 2.13 Chống bão hào tích phân
2.2.3. Thiết kế phần mềm điều khiển và giám sát trên máy tính
Chúng ta thực hiện thiết kế giao diện giao tiếp vi điều khiẻn và máy tính bằng ngon ngữ Visual Basic6.0(VB).Trong mơi trường lập trình VB, việc tạo ra một giao diện đồ họa là tương đối đơn giản. VB đã hỗ trợ cho người sử dụng những mơ đun đối tượng phổ biến giúp cho cơng việc của người lập trình trở nên nhẹ nhàng hơn rất nhiều. Việc tạo giao diện chỉ là lựa chọn những đối tượng vẽ vào một giao diện (form) cĩ sẵn cùng với việc thiết lập các thơng số cho đối tượng.
Ở đây, giao diện được tạo tương đối đơn giản nhưng đủ đáp ứng được những yêu cầu mà cơng việc đặt ra.
Yêu cầu cơng việc:
• Thu nhận dữ liệu do người dùng nhập vào (các giá trị Kp, Ki, Kd , thơng số cần đạt được …)
• Phân tích, xử lý dữ liệu đã nhận, truyền xuống cho vi điều khiển PIC qua cổng nối tiếp
• Nhận dữ liệu truyền về từ PIC và hiển thị lên màn hình đồ họa để thấy được khả năng đáp ứng của hệ thống
Hình 2.14. Giao diện giao tiếp PC
Trên giao điện đồ hoạ gồm cĩ các button điều khiển, các textbox hiển thị số liệu, combobox cho phép lựa chọn các chế độ, và picturebox dùng để nhận dữ liệu của người sử dụng vẽ vào, đồng thời cũng là nơi hiển thị dữ liệu thu nhận được cho thấy đáp ứng của hệ thống. Cụ thể hoạt động các phím chức năng như sau:
- Khối chức năng điều khiển động cơ bao gồm:comand button và textbox biểu thị và điều khiển chế độ hoạt đọng động cơ DC. Button „Start‟Button “Start” dùng để bắt đầu gởi giá trị vị trí mong muốn xuống cho vi điều khiển, lúc đĩ chương trình sẽ nhận được giá trị tốc độ được gởi lên bởi vi điều khiển thơng qua giao triếp RS232, rồi vẽ trên đồ thì và hiển thị giá trị tốc độ của động cơ trên đồ thị theo miền thời gian, từ đĩ ta cĩ thể quan sát được hoạt động của hệ thống cĩ đáp ứng đúng yêu cầu đề ra khơng (như sai lệch, thời gian đạt được …).Button „Inverser‟ điều khiển đảo chièu quay động cơ. Button „Stop‟ dừmg hoạt động
của động cơ Button „update‟ là để cập nhập thơng số khi điều khiển. Hai Textbox „tốc độ đặt‟ và „Chu kì‟ tạo thơng số cho điều khiển động cơ xuống vi điều khiển.
- Khối Parameter Sattus Motor là các texbox chỉ cĩ chức năng hiển thị thơng tin cập nhập trong quá trình điều khiển.
- Khối bộ điều khiển cho người sử dụng cĩ thể nhập dừ liệu ban đầu điều khiển. Trên cơ sở đĩ xây dựng thuật tốn phía dưới vi điều khiển.
- Khối đồ thị cĩ button „Export‟ nhiệm vụ xuất dữ liệu ra màn hình điều khiển quan sát chất lượng hệ thống.
- Cịn lại Button „Exit‟ thực hiện thốt khỏi chương trình khi cần thiết .
- Màn hình đồ thị cho ta hai đặc tính đĩ là đặc tính điều khiển tốc độ động cơ và điện áp đầu vào.
phần trên với đặc điểm :
- Cĩ các cổng vào tương tự : 0 - 5V, 0 - 20mA.
2.3 Kit điều khiển
S ả n ph ẩ m kit đ i ề u khi ể n cĩ đượ c sau khi thi ế t k ế cĩ các kh ố i ch ứ c n ă ng nh ư đ ã nêu
- Thời gian trích mẫu tối thiểu là 2.55*10-5s, tuy nhiên với thời gian trích mẫu nhỏ ta phải lưu ý tới thời gian tính tốn của các câu lệnh. Với thời gian trích mẫu lớn ( ví dụ trong ứng dụng điều khiển nhiệt độ…) ta cĩ thể bỏ qua thời gian tính tốn của VXL.
- Cĩ các khối hiển thị LCD, Led .
- Cĩ khối giao tiếp truyền thơng nối tiếp máy tính RS232. - Khối nguồn 5V và 12V
- Cịi cảnh báo
Chương 3: Ứng dụng bộ điều khiển PID số điều khiển động cơ một chiều
3.1 Đối tượng điều khiển
3.1.1. Thơng số kĩ thuật
Hình 3.1 Động cơ sủ dụng trong đồ án Chúng ta sử dụng Servo Motor với các thơng số cơ bản như sau:
- Điện áp nguồntối đa là 24V. - Tốc độ tối đa là 3000 vịng/phút.
- Cĩ gắn liền Encoder quang tương đối 100xung . - Cơng suất 30-50w.
3.1.2. Nhận dạng mơ hình động học của động cơ điện một chiều
Cấu trúc mơhình động học của đọng cơ điện được đề suất tài liệu tham khảo [3], [4], [6] cĩ mơ hình dạng:
K
WDT(s) =
2 (3-1) 1+ 2*ηTs+ (Ts)
Các tham số mơ hình động cơ điện một chiều sẽ được nhận dạng từ thực nghiệm và giới thiệu trong phần tiếp theo.
3.1.3. Thu thập dừ liệu vào/ra của động cơ điện một chiều từ thựcnghiệm
Chúng ta sử dụng kit điều khiển để thu thập dữ liệu nhận dạng động cơ điện một chiều theo mơ hình :
Hình 3.2 Đặc tính thu thập dữ liệu nhận dạng
Trong giao điện phần mềm giám sát hệ thống chúng ta cĩ thể lấy trực tiếp dữ liệu