Từ biểu thức (3.3) đến biểu thức (3.19), ta được mơ hình tốn học cho cánh quạt chính:
2 2 * *cos* *sin*k k * 222 vmmb vmrmtrtvbc cvvvhvh dmmm Jmlm lglmlgu dt 2 * * *cos *sin * (W ) 2 2 2 mmb hmrmtrtbc cvvmvm mmm mlm llmlglF (3.33)
Từ biểu thức (3.17) đến biểu thức (3.21), ta được mơ hình tốn học cho cánh quạt đuôi:
2 2h * (W ) cos * *u *cos hthtvhhvhvv d JlFkk dt (3.34) Từ biểu thức (3.33) và (3.34) ta có mơ hình thuật tốn:
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH55 - - - Hình 3. 15 Sơ đồ thuật tốn hệ thống TRMS. Trong đó * 2mm rm 2mt rt 2bbc c m mm k m l m l lm l g (3.35)
Kết luận: Điểm mấu chốt của chương 3 trình bày việc thiết kế mơ hình thực nghiệm cách kết nối các thiết bị. Cùng với đó là xây dựng mơ hình tốn học của mơ hình TRMS và các thơng số vật lý của hệ được tham khảo bởi tài liệu [6]. Trong chương sau sẽ trình bày việc mơ phỏng hệ TRMS và mơ hình điều khiển tốc độ động cơ sử dụng các bộ điều khiển khác nhau dựa trên phần mền Matlab/Simulink. Qua đó viết chương trình điều khiển và nhúng chương trình vào Kit STM32F4 để thực nghiệm trên mơ hình.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH56 CHƯƠNG 4. THI CÔNG HỆ THỐNG
4.1 GIỚI THIỆU:
Sau q trình tính tốn và thiết kế chọn thiết bị hợp lý, nay tiến hành lắp ráp mơ hình phần cứng của hệ thống và thiết kế các bộ điều khiển cho từng mơ hình khác sau và tiến hành mơ phỏng các hệ thống.
4.2 MƠ HÌNH PHẦN CỨNG:
4.2.1Mơ hình TRMS:
Hệ thống cơ khí:
Mơ hình cơ khí của hệ TRMS được thiết kế như hình 4.1, hệ gồm một hệ thống cơ khí với hai khâu, một khâu nằm ngang được kết nối qua một khớp quay và một khâu vng góc với khâu nằm ngang được nối qua một khớp quay khác với hai động cơ và hai cánh quạt ở hai đầu. Chuyển động trong mặt đứng của hệ do rotor chính, chuyển động trong mặt ngang của hệ do rotor đuôi (cả hai động cơ là động cơ khơng chổi than TAROT), có thể thay đổi tốc độ bằng phương pháp điều chỉnh điện áp thông qua ESC BL Heli điều này được thực hiện bằng việc thay đổi Duty Cycle xung PWM của vi điều khiển. Trên mỗi khớp quay có đặt encoder E50S8-5000 với mục đích đo góc quay để phản hồi giá trị cho hệ thống so sánh với giá trị đặt để thu được tín hiệu lỗi cung cấp cho bộ điều khiển.
Hệ thống điều khiển:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH57 CPU Encoder interface ESC USB Computer Matlab simulink STM32F4 Input D12,D13 Input B4,B5 Rotor chính Rotor đi Encoder đi Encoder chính Output E13 Output E5 PWM
Hình 4. 1 Sơ đồ kết nối hệ thống điều khiển với mơ hình TRMS.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH58 4.2.2Mơ hình điều khiển tốc độ động cơ:
Mơ hình điều khiển động cơ được thể hiện như hình 4.3. Thơng qua Encoder E50S8- 1024-6-L-5 vận tốc của motor sẽ được hồi tiếp về vi điều khiển STM32F4 để xử lý.
Bảng 4. 1 Thông số bộ phận phản hồi (Encoder). Ký
hiệu Ý nghĩa Giá trị Đơn vị
T1 Thời gian lấy mẫu
của Encoder 0.01 s
Re Độ phân giải của
Encoder 1024 xung/vòng
N Số xung đọc được
của encoder xung
Vận tốc đọc về của động cơ được tính theo cơng thức sau. . 60. .4 1 e TR N v (rpm) (4.1)
Giá trị vận tốc này được vi điều khiển dùng để tính tốn xuất áp điều khiển biến tần. Giá trị xuất ra của bộ điều khiển STM32 là 0-3.3Volt. Thông qua chân DAC, mức điện áp được đưa vào chân Analog Input của biến tần VLT2800 sẽ quyết định điện áp và tần số cấp cho động cơ hoạt động thơng qua đó điều chỉnh tốc độ động cơ. Tốc độ động cơ được cập nhật liên tục trên máy tính thơng qua Serial.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH59 CPU Encoder interface DAC USB Computer Matlab Simulink STM32F4 Inverter Input Pin [CH_A,CH_B]:[D12, D13] Output Pin [A4]:[53] 3 Phase Induction Motor Braking Machine Encoder Danfos VLT 2800 Platform
Hình 4. 3 Sơ đồ kết nối hệ thống điều khiển mơ hình.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH60
4.3 PHẦN MỀM LẬP TRÌNH:
4.3.1Giới thiệu Matlab:
Matlab là chương trình phần mềm lớn của lĩnh vực tốn số. Matlab chính là chữ viết tắt của từ Matrix Laboratory, thể hiện định hướng chính của chương trình bao gồm một số hàm tốn có các chức năng nhập xuất cũng như các khả năng lập trình với cú pháp thơng dụng.
Ứng dụng:
Matlab tạo điều kiện thuận lợi cho:
Các khoá học về toán học.
Các kỹ sư, các nhà nghiên cứu khoa học.
Dùng Matlab để tính tốn, nghiên cứu tạo ra các sản phẩm tốt nhất trong sản xuất.
Hình 4. 5 Giao diện Matlab.
Các chức năng của các khối trên giao diện matlab.
Môi trường làm việc: nơi nhập lệnh và hiển thị kết quả hoặc các vấn đề phát sinh trong quá trình chạy chương trình.
Toolbox
Workspace
History Chứa thưmục Môi trường làm việc
Phiên bản matlab
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH61
Chứa thư mục: gồm những file năm trong thư mục này. Để nạp chương trình, ta phải chỉ đúng đường link của tệp đó.
Phiên bản matlab: hiển thị phiên bản của matlab. Để chạy được chương trình thì phiên bản này phải lớn hơn hoặc bằng phiên bản của tệp.
Toolbox: chứa các công cụ cần thiết như import data, lưu dữ liệu,…
Workspace: nơi lưu trữ các thơng số dữ liệu đang có.
History: hiển thị các lệnh đã được thực hiện.
4.3.2Simulink:
Simulink là một phần mềm mở rộng của MATLAB (1 toolbox của Matlab) dùng để mơ hình hóa, mơ phỏng và phân tích một hệ thống động. Thơng thường dùng để thiết kế hệ thống điều khiển, thiết kế DSP, hệ thống thông tin và các ứng dụng mô phỏng khác.
Simulink là thuật ngữ mô phỏng dễ nhớ được ghép bởi hai từ Simulation và Link. Simulink cho phép mơ tả hệ thống tuyến tính, hệ phi tuyến, các mơ hình trong miền thời gian liên tục, hay rời rạc hoặc một hệ thống gồm cả liên tục và rời rạc.
Để mơ hình hóa, Simulink cung cấp cho bạn một giao diện đồ họa để sử dụng và xây dựng mơ hình sử dụng thao tác “nhấn và kéo” chuột. Với giao diện đồ họa ta có thể xây dựng mơ hình và khảo sát mơ hình trực quan hơn. Đây là sự khác xa các phần mềm trước đó mà người sử dụng phải đưa vào các phương vi phân và các phương trình sai phân bằng một ngơn ngữ lập trình.
Điểm nhấn mạnh quan trọng trong việc mô phỏng một quá trình là việc thành lập được mơ hình. Để sử dụng tốt chương trình này, người sử dụng phải có kiến thức cơ bản về điều khiển, xây dựng mơ hình tốn học theo quan điểm của lý thuyết điều khiển và từ đó thành lập nên mơ hình của bài tốn.
Để khởi động chương trình Simulink có hai cách:
Cách 1: ta gõ dịng lệnh “Simulink” trực tiếp lên Command Window.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH62
Khi khởi động Simulink xong ta được màn hình cửa sổ Simulink. Cửa sổ này hoạt động liên kết với cửa sổ lệnh MATLAB.
Từ cửa sổ lệnh ta thấy được các khối thư viện: Khối nguồn (Sources), khối đầu đo (Sinks), khối liên tục ( Continuous), khối rời rạc ( Discrete) …
Hình 4. 6 Giao diện làm việc của Simulink.
Sau đây là các Block Library của Simulink, giúp cho có cách nhìn khái qt thư viện của Simulink.
Khối Commonly Used Blocks: Gồm các khối thường sử dụng.
Khối Continuous: Tập hợp các khối tỉ lệ, vi phân, delay, limit,… dùng cho đối tượng có tính liên tục.
Khối Discrete: Tập hợp các khối tỉ lệ, vi phân, delay, limit,… dùng cho đối tượng có tính rời rạc.
Khối Math Operations: tập hợp các khối toán tử.
Khối Sinks: gồm các khối thu tập tín hiệu đầu ra.
Khối Sources: gồm các khối nguồn.
Nạp code
Thư viện
Run, dừng
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH63
Hình 4. 7 Thư viện Simulink.
Các thao tác cơ bản trên Simulink:
Sao chép: bằng cách kéo thả ta có thể chép một khối từ thư viện.
Di chuyển: ta có thể di chuyển dễ dàng một khối hay nhiều khối trong phạm vi cửa sổ của khối đó nhờ phím chuột trái.
Xóa: xóa một khối và các đường nối bằng cách gọi lệnh menu Edit/Clear, hoặc phím “delete” trên máy tính.
Hệ thống con: bằng cách đánh dấu nhiều khối có quan hệ chức năng, sau đó gom chúng lại thông qua menu Edit/Creat Subsystem.
Simulink cho phép ta mô phỏng với miền liên tục và rời rạc. Để thay đổi giữa hai miền này, ta thực hiện như sau:
Nhấp vào “Simulation” trên tool Simulink, sau đó chọn “Model Configuration Parameters”, hoặc nhấn tổ hợp phím Ctrl E.
Chọn Solver-> Type. Chọn “Variable-step” nếu mô phỏng trên miền liên tục. Chọn “Fixed-step” nếu mơ phỏng trên miền rời rạc.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH64
Hình 4. 8 Thiết lặp miền mơ phỏng.
4.3.3Thư viện waijung:
Để viết chương trình và nhúng code xuống STM32F4, ta cần phải cài đặt thư viện Waijung Blockset. Waijung Blockset là một thư viện gồm các khối được xây dựng trên nền tảng C của Matlab, có chức năng cấu hình cho tất cả các ngoại của vi điều khiển thuộc dòng STM32F405xx-407xx-415xx-417xx. Các khối trong thư viện Waijung Blockset đều có khả năng xuất code cho vi điều khiển STM32F4 khi sử dụng tính năng Real-time Workshop, phù hợp các phiên bản MATLAB 2009a, 2009b trở đi…….mới nhất. Giao diện của từng khối rất dễ sử dụng và được mô tả bằng tiếng anh rất chi tiết. Đặc biệt cho phép STM32 giao tiếp qua UART, USB với MATLAB để chạy Simulink.
Để cài đặt thư viện này, ta chỉ cần chỉ đường dẫn chứa file cài và nhấn “install”. Sau khi cài đặt xong, lúc này thư viện simulink có thêm mục “Waijung Blockset”. Truy cập vào trang web http://waijung.aimagin.com/ để tải thư viện.
BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH65
Hình 4. 9 Thư viện waijung blockset.
4.3.4Tool box Fuzzy:
Để đơn giản hóa việc áp dụng các giải thuật hiện đại, thơng minh vào điều khiển. Thì Matlab có hỗ trợ người dùng các tool box. Fuzzy logic Toolbox cung cấp các chức năng, ứng dụng MATLAB cho việc phân tích, thiết kế và mơ phỏng các hệ thống dựa trên logic mờ. Hộp cơng cụ cho phép chúng ta mơ hình hóa các hành vi hệ thống phức tạp bằng cách sử dụng các logic đơn giản, và sau đó thực hiện các quy tắc này trong một hệ thống suy luận mờ.
Việc sử dụng Fuzzy logic Toolbox được trình bày như sau:
Bước 1: Tại giao diện chính của Matlab, gõ “fuzzy” thì giao diện tool fuzzy sẽ xuất hiện. Tiếp theo, nhấp chuột vào File/ New FIS chọn loại Mamdani hoặc Sugeno để thiết kế.
BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH66
Hình 4. 10 Giao diện ban đầu vủa fuzzy.
Bước 2: Tại thẻ Edit/ And Variable có thể chọn số lượng đầu vào và ra của giải thuật.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH67
Bước 3: Sau khi điều chỉnh số đầu vào, ra phù hợp với hệ thống, ta viết tập mờ cho chương trình bằng cách nhấn đúp vào biểu tượng icon của tập mờ. Tại thẻ Membership Function Editor. Ta có thể điều chỉnh được số lượng hàm liên thuộc, tên hàm, kiểu hàm, thơng số, và giới hạn.
Hình 4. 12 Tập mờ.
Bước 4: Sau khi viết xong tập mờ cho hệ thống, ta tiến hành viết luật mờ bằng cách chọn Edit/Rule. Giao diện viết luật mờ sẽ hiện ra các cột tùy vào số lượng đầu vào ra của hệ thống. Chọn các hàm liên thuộc và cách kết nối để tạo thành luật mờ.
BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH68
Hình 4. 13 Luật mờ.
Bước 5: Sau khi hoàn tất thiết kế luật mờ. Ta xuất file ra workspace để làm việc hoặc cũng có thể lưu file dưới dạng .fis để sử dụng cho những lần sau bằng cách chọn File/Export.
Bước 6: Để sử dụng Fuzzy logic Toolbox, vào thư viện simulink chọn Fuzzy Logic Controller để thêm vào chưa trình. Tại thẻ thuộc tính của Fuzzy Logic Controller, điền tên của file fuzzy vừa tạo.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH69
Hình 4. 14 Gọi fuzzy vào chương trình.
4.3.5Toolbox neural và nhận dạng hệ thống:
Để nhận dạng hệ thống, ta tiến hành theo các bước sau:
Bước 1: Thu thập dữ liệu ngõ vào và ngõ ra của hệ thống và lưu vào excel hoặc workspace.
Bước 2: Nhấp vào “import data” trên tool matlab để import dữ liệu đã thu thập vào matlab.
Bước 3: Trên môi trường làm việc matlab, gõ “ident” để mở thanh công cụ nhận diện hàm truyền.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH70
Hình 4. 15 Giao diện làm việc của tool ident.
Bước 4: Chọn “Import data” -> “Time domain data”.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH71
Bước 5: Tại “Input” và “Output” ta điền tên dữ liệu tương ứng với ngõ vào và ngõ ra. “Starting time”: thời gian bắt đầu lấy mẫu để nhận dạng (s), thường lấy giá trị là 0. “Sampling interval”: thời gian lấy mẫu. Các thời gian phải được điền chính xác vì chúng ảnh hưởng rất lớn đến kết quả nhận dạng.
Bước 6: Sau khi chèn dữ liệu vào, ta nhấn “Import” để import dữ liệu.
Hình 4. 17 Giao diện tool ident sau khi chèn dữu liệu.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH72
Hình 4. 18 Chọn số cực và số zero của hệ thống cần nhận dạng.
Number of poles: số bậc mẫu số của phương trình của hệ thống cần nhận dạng. Number of zeros: số bậc tử số của phương trình của hệ thống cần nhận dạng.
Bước 8: Chọn “Estimate” để bắt đầu nhận dạng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH73
Bước 9: Ta nhấn “Model output” để kiểm tra hệ thống sau khi nhận dạng đạt yêu cầu khơng. Ta chú ý đển số “Best Fits” cao thì ta đã nhận dạng gần đúng hệ thống. Nếu chỉ số này, ta cần phải nhận dạng lại.
Bước 10: Nhấp chuột phải vào “tf1” để hiển thị phương trình. Phương trình này mơ tả gần đúng hệ thống cần nhận dạng.
Tool neural:
Tương tự như Fuzzy logic Toolbox, Tool box Neural cũng là một sản phẩm được phát triển bởi Matlab để hỗ trợ người dùng. Tool box Neural cung cấp các hàm và chương trình ứng dụng giúp mơ hình hóa những đối tượng khơng tuyến tính, phức tạp hoặc khó nhận dạng bằng tốn học. Tool box Neural cịn hỗ trợ các phương pháp huấn luyện có giám sát như lan truyền thuận (feedforward), hàm cơ sở bán kính radial basis và dynamic network. Bên cạnh đó Tool box Neural cịn hỗ trợ huấn luyện không giám sát với việc thay đổi cấu trúc và tối ưu số lớp của mạng. Có thể sử dụng Tool box Neural để thiết kế, huấn luyện, mơ phỏng mạng neural để ứng dụng vào phân tích dữ liệu, bài toán phân loại, nhận dạng, dự báo, nhận dạng và điều khiển đối tượng phức tạp. Để tiến hành quá trình training, Simulink hỗ trợ 3 tool neural: Model Reference Controller, NARMA_L2 Controller, NN