Cấu trúc ch-ơng trình phần mềm

Một phần của tài liệu Đồ án tốt nghiệp Nghiên cứu hệ thống điều khiển mờ cho mô hình con lắc ngược (Trang 62 - 73)

Bộ điều khiển đ-ợc xây dựng trong Simulink_Matlab. Để kết nối với hệ thống con lắc ng-ợc ta sử dụng th- viện hỗ trợ chạy với thời gian thực trong Matlab là Real Time Workshop và Real Time Windows Target.

4.2.1. Real Time Workshop.

A, B, Z

U Uđk

Máy tính

Real Time Workshop đòi hỏi cần có một ch-ơng trình biên dịch trợ giúp có thể là một trong các ch-ơng trình phần mềm: Borland C/C++, Visual C/C++, Wattcom C, Lcc±

L-u đồ làm việc của Real Time Workshop:

Hình 4.10. L-u đồ dịch của Real Time Workshop .

Các đặc tr-ng cơ bản của Real Time Workshop:

- Real Time Workshop là một th- viện trợ giúp cho Simulink sinh ra mã nguồn chạy với thời gian thực. Nó tạo ra một files chạy (*.exe) độc lập với tr-ờng Matlab, có thể kết nối giữa hệ thống thực với ch-ơng trình điều khiển.

- Real Time Workshop phát sinh ra môi tr-ờng làm việc thời gian thực- truy nhập trực tiếp từ hệ thống ch-ơng trình thiết kế với phần cứng, có thể làm việc này trong thời gian rất ngắn đồng thời kiểm tra sự đúng đắn của hệ thống ch-ơng trình tr-ớc khi truyền đến phần cứng.

Real Time Workshop còn trợ giúp cho phần cứng đang làm việc có thể cho phép thay đổi (hoặc tự động thay đổi) cho các thông số ở ch-ơng trình đồng thời Real Time Workshop còn trợ giúp phần gỡ lỗi cho ch-ơng trình.

- Với Real Time Workshop ta có thể tạo ra Code ch-ơng trình, phụ thuộc vào ch-ơng trình trợ giúp biên dịch mà ta cài đặt.

Matlab/Simulink Real Time Workshop

Wattcom C/C++

Hard Real Time- Task Running Underneath Windows

- Simulink Code Generator: Tự động sinh ra mã C từ Simulink.

- Make Process: Quá trình xử lý ứng dụng thiết kế từ Real Time-Workshop đến ứng dụng phần cứng.

- Simulink External Mode: Cho phép kết nối mô hình Simulink và đối t-ợng trong chế độ làm việc theo thời gian thực.

- Targeting Support: Cho phép thiết lập hệ thống trong một số môi tr-ờng (Dos, Tornado±)

- Rapid Simulations: Trợ giúp cho mô phỏng nhanh.

Trong phần này ta làm quen với khái niệm của Real Time- Workshop để khi thực hiện thiết kế ch-ơng trình sẽ có đ-ợc các công cụ và hiểu đ-ợc bản chất của các công cụ.

- Target/ Host.

+ Target là một môi tr-ờng phần cứng hoặc hệ điều hành của ứng dụng đ-ợc phát sinh d-ới dạng mã. Nó bao gồm các hệ file Target, Template makefile và Command điều khiển cho mỗi Code mà Target yêu cầu.

+ Host là hệ thống mà ta chạy Matlab, Simulink và Real Time- Workshop. Mục đích sử dụng một Tool trong Host để tạo ra Code và tiến hành chạy hệ thống Target.

Hình 4.11. L-u đồ kết nối của Real Time- Workshop

- Code Formats Host- Target Host Target PC Matlab Simulink RTW xPC Target

Real Time Kernel (32 bit protected

Code Formats có thể tạo ra một khung làm việc cho code phù hợp cho ứng dụng cụ thể. Khi chọn cấu hình Target tức là đã chọn Formats code nếu ta dùng Real Time- Workshop Embedded Code.

- Generic Real Time Target.

+ Trong Real Time-Workshop cung cấp cho ta Generic Real Time Target. Trong Generic Real Time Target cung cấp từng b-ớc mô phỏng tuỳ thuộc môi tr-ờng ở chế độ đơn hay đa nhiệm ch-ơng trình sẽ phát Generic Real Time Target chạy trong chế độ đã đặt trong thời gian mô phỏng chạy nh- một ch-ơng trình chạy độc lập trong các môi tr-ờng làm việc.

+ Generic Real Time Target còn cho phép hợp pháp hoá các đầu ra, trạng thái, thời gian mô phỏng đ-ợc đ-a vào file dữ liệu. File dữ liệu này có thể đ-ợc đ-a vào Matlab Workspace để phân tích hoặc sử dụng nh- một đầu ra của một mô hình cụ thể. Generic Real Time Target cũng cung cấp một khởi đầu cho một phần cứng.

- Target Language Compiler Files.

Real Time- Workshop sử dụng Target Language Compiler Files là một ch-ơng trình dịch Simulink thành mã nguồn. Target Language Compiler Files sử dụng d-ới hai hình thức: Target Language Compiler Files trong phát sinh code và Target Language Compiler Files trong quá trình biên dịch.

System Target file đ-a ra cách để tạo ra code cho Target đã chọn là chỉ ra đ-ờng dẫn cho ch-ơng trình Target Language Compiler Files đ-ợc tiến hành.

- Template Makefiles.

Trong Real Time-Workshop sử dụng Template Makefiles để tiến hành xây dựng cho Generic Code thực hiện nh- sau: Real Time-Workshop tạo ra Makefile từ Template Makefiles. Mỗi dòng trong Template Makefiles đ-ợc chuyển tới Makefile (chính là sự triển khai trong Makefile).

Template Makefiles đ-ợc ra có đuôi là *.tmf và tên t-ơng ứng với Compile và Target của ứng dụng.

Ví dụ: Nừu hệ thống xây dựng Real Time- Workshop trên nền Visual C/C++ thì Template Makefiles là grt_vc.tmf.

- Build Process.

làm việc, đồng thời cho phép Target Language Compiler Files làm việc. Quá trình xây dựng đ-ợc thực hiện qua các b-ớc sau:

+ Đầu tiên make_rtw biên dịch các khối của Simulink và sinh ra các file mô hình (model.rtw).

+ Tiếp theo make_rtw cho phép Target Language Compiler Files sinh ra code riêng biệt của Target.

+ Sau đó make_rtw tạo ra một makefile cho mô hình (model.mk) từ cách chọn Template Makefiles.

+ Kết thúc quá trình cho phép hiện lên các b-ớc biên dịch và link các ch-ơng trình tự dạng mã nguồn.

4.2.2. Real Time Windows Target.

Real Time Windows Target là phần mềm có thể chạy bởi mã ch-ơng trình C đ-ợc sinh ra bởi Real Time Workshop trong thời gian thực của máy. Trong máy tính xây dựng bộ điều khiển trên th- viện Simulink- Matlab và trong Real Time Workshop ch-ơng trình điều khiển đ-ợc sinh ra d-ới dạng mã C và đ-ợc biên dịch bởi một phần mềm biên dịch khác (LCC, Wattcom, VC±) tiếp đến Real Time Windows Target cho ta tín hiệu điều khiển theo thời gian thực: tín hiệu control, tín hiệu ph°n hồi± Khi sử dụng thời gian lấy mẫu của dữ liệu từ cổng v¯o ngay lập tức đ-ợc đ-a vào xử lý và đ-a ra bên ngoài thông qua cổng ra của Card. Real Time Windows Target đã có sẵn cho ta các cổng vào ra của hơn 60 loại Card khác nhau. Tín hiệu vào ra này có thể quan sát đ-ợc thông qua dùng Scope trong Simulink cho kết quả các trạng thái đang chạy. Trong Real Time Windows Target đòi hỏi phải có ch-ơng trình biên dịch hỗ trợ là Wattcom 11.0C/C++.

Real Time Windows Target bao gồm các files nguồn, các tín hiệu thiết bị driver, templat makfiles, Mex_files và một số files khác:

+ win_watc. tlc: file target hệ thống. + win_watc. tmf: hỗ trợ tự động makefile.

+ win_tgt. dll: Mex_file cho phép liên kết giữa Simulink và Real Time Windows Target.

63 Real Time Windows Target bao gồm các th- viện nhỏ: Analog ipnut, Analog output, Digital input, Digital output, Encoder input, Counter iput± Ta có thể mở Real Time Windows Target bằng hai cách:

+ Mở Simulink -> Real Time Windows Target -> cho cửa sổ th- viện. + Gõ lệnh rtwinlib trong cửa sổ Matlab -> cho cửa sổ th- viện.

Để tiến hành cài đặt cho Card AD512 và khai báo cho các kênh tín hiệu vào ra ta tiến hành nh- sau:

+ Đầu tiên lấy trong th- viện Real Time Windows Target một khối bất kì phù hợp với Card AD512, ví dụ ta lấy khối Analog Input, vào Block Parameter của khối đó sẽ xuất hiện cửa sổ nh- hình 4.12:

Hình 4.12. Cửa sổ Block Parameter của khối Analog Input ch-a có AD512

Sau đó nhấn chuột vào Install new board, sau đó chọn Humusoft-> AD512 sẽ xuất hiện cửa sổ cho phép chọn địa chỉ Card AD512.

64 Hình 4.13. Cửa sổ chọn địa chỉ cho Card AD512

Ta có thể đặt địa chỉ cho Card AD512 bằng cách chọn các bit A3 A9. ở đây

ta chọn địa chỉ cho Card AD512 là 300H.

Sau khi đã cài đặt đ-ợc Card AD512 ta tiến hành khai báo cho các kênh tín hiệu. Chẳng hạn với kênh vào t-ơng tự nh- hình 4.14:

Hình 4.14. Khai báo thông số cho khối Analog Input .

Hình 4.15. Khai báo thông số cho khối Analog Output .

Đối với kênh vào số (hình 4.16):

4.2.3. Mô hình Simulink điều khiển hệ thống con lắc ng-ợc theo thời gian thực.

Mô hình xây dựng trên Simulink để thực hiện việc điều khiển hệ thống con lắc ng-ợc theo thời gian thực (hình 4.17):

Hình 4.17. Mô hình Simulink HTĐK theo thời gian thực của con lắc ng-ợc

Trong sơ đồ khối trên góc lệch của con lắc so với ph-ơng thẳng đứng đ-ợc xác định bằng cách dịch đi giá trị điện áp lấy từ chiết áp một l-ợng điện áp Udich sau đó nhân với hệ số quy đổi góc lắc.

Hình 4.18. Khâu xác định góc lệch

Vị trí của xe goòng đ-ợc xác định bằng khâu đo vị trí. Hai tín hiệu xung A, B của Encoder đ-ợc lấy qua hai kênh vào số đ-a tới khâu đo vị trí. Hai đầu xung

chính A, B của hệ thống lệch pha nhau 900.. Khi xe chuyển động theo chiều thuận,

xung kênh A v-ợt tr-ớc xung kênh B, khi xe chuyển động theo chiều ng-ợc, xung kênh B v-ợt tr-ớc xung kênh A. Do đó dựa vào xung hai kênh A, B có thể xác định đ-ợc chiều chuyển động và vị trí của xe goòng. Thuật toán xác định vị trí xe goòng đ-ợc trình bày trên đồ thị hình 4.19. Tín hiệu CW xuất hiện khi có s-ờn sau của xung A và tín hiệu logic của xung B là 1. Tín hiệu CCW xuất hiện khi có s-ờn sau của xung B và tín hiệu logic của xung A là 1. Tín hiệu CW chỉ xuất hiện khi kênh A v-ợt pha tr-ớc kênh B tức là trong tr-ờng hợp xe chuyển động theo chiều thuận. Ng-ợc lại, tín hiệu CCW chỉ xuất hiện khi kênh B v-ợt pha tr-ớc kênh A tức là trong tr-ờng hợp xe chuyển động theo chiều ng-ợc. Bằng cách đếm số xung CW và CCW sẽ xác định khoảng dịch chuyển của xe ở chiều chuyển động thuận và ng-ợc. Hiệu của khoảng dịch chuyển sẽ cho biết vị trí của xe goòng.

Sơ đồ tính xác định vị trí xe goòng ở trên hình 4.20. Hai dãy xung A, B đ-ợc đ-a vào một khâu Trigơ D để tạo ra tín hiệu xung CW và CCW. Các dãy xung CW, CCW đ-ợc đ-a tới hai khâu tạo s-ờn xung. Các xung đ-ợc đếm bằng hai bộ đếm “Dovitrithuan” v¯ “Dovitringuoc” thực hiện đếm số xung thuận v¯ số xung ngược. Hiệu số xung thuận và xung ng-ợc sẽ đ-ợc nhân với hệ số quy đổi sẽ cho vị trí thực của xe. Ch-ơng trình bộ đếm đ-ợc viết ở dạng S-Funtion có l-u đồ thuật toán trên

Hình 4.19. Nguyên tắc xác định vị trí xe. Hình 4.20. Sơ đồ xác định vị trí xe goòng. A B CW CCW A B CW CCW 3 2 1 0 Chiều thuận 3 2 1 0 Chiều ng-ợc

Hình 4.21. L-u đồ ch-ơng trình S-Function tính vị trí xe.

Một phần của tài liệu Đồ án tốt nghiệp Nghiên cứu hệ thống điều khiển mờ cho mô hình con lắc ngược (Trang 62 - 73)

Tải bản đầy đủ (PDF)

(99 trang)