Giới thiệu chung về AppDesigner

Một phần của tài liệu Ứng dụng matlab arduino trong mô phỏng, thiết kế và chế tạo bộ điều khiển sạc cho xe e REV đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 85)

App Designer là giao diện đồ họa có điều khiển bởi nhiều thanh công cụ được người lập trình sẵn, cho tương tác giữa người dùng là giao diện chương trình, mỗi chương trình được người lập trình tạo sẵn giao diện thực hiện một vài chức năng được người lập trình tạo sẵn và giao tiếp với người dùng. Nó có thể tạo ra giao diện người dùng tương tự như VBA, C++… App Designer bao gồm đầy đủ các chương trình hỗ trợ thực hiện các phép toán LOGIC, mô phỏng không gian 2D, 3D, liên kết đa phương tiện.

Hình 4. 1: Sơ đồ khối App Designer

Hầu hết App Designer chỉ thực hiện lệnh người dùng thông qua các tác động của người dùng lên giao diện, người dùng không cần biết cấu trúc của chương trình vẫn có thể thực hiện được. App Designer thực hiện thông qua hàm CALLBACK, khi người dùng tác động lên giao diện bằng các cách khác nhau thì hàm CALLBACK được gọi ra để thực thi.

73

4.1.2. Phương pháp để lập trình với App Designer

Cách đơn giản là sử dụng công cụ có sẵn trong App Designer Matlab để lập trình. Ưu điểm của cách này là dễ thực hiện, các hàm FUNCTION được tự tạo sẵn.

Cách thứ hai là lập trình tự tệp Mfile bằng các hàm FUNCTION do người lập trình tự viết, nó có ưu điểm là tùy biến cao. Tuy nhiên cách này khó hơn và đòi hỏi người lập trình phải có hiểu biết sâu. Đối với những bài tập đơn giản thì ta nên sử dụng cách thứ nhất để lập trình giao diện với những công cụ được hỗ trợ sẵn trong Matlab.

Các bước cần thực hiện trước khi bắt đầu với App Designer:

 Trước khi để bắt đầu lập trình ta cần phải xác định mục tiêu của chương trình là gì?

 Sau đó tiến hành xác định các bước thực hiện để mô phỏng giao diện người dùng sao cho hợp lí chính xác.

 Bước cuối cùng là viết chương trình và thực thi.

 Khi bắt đầu với App Designer, nó tự động tạo ra các tập tin được thực hiện bởi hàm Callback function. App Designer thao tác trên những kí tự mà người dùng nhập vào chuyển sang dạng số học, nói cách khác, giao diện App Designer tương tự như những lệnh thực thi trong Comment Windows.

 Tất cả các hàm Callback thực thi những lệnh chứ trong nó.

 Ngoài ra, chúng ta nên sử dung chức năng HELP để tìm thêm tất cả hàm thực thi trong App Designer, cách tạo và thao tác với App Designer….

4.2. Thao tác với App Designer 4.2.1. Khởi động App Designer 4.2.1. Khởi động App Designer

Thực hiện hởi động Matlab đến APP DESIGNER như sau:

 Khởi động Matlab.

 Có thể mở bằng một số cách sau:

 Chọn thẻ Home → New → App.

 Chọn thẻ APPS → Design App.

 Trong cửa sổ Command Windown gõ lệnh “appdesigner” và Enter. Ta được giao diện màn hình như sau:

74

Hình 4. 2: Giao diện mở đầu AppDesigner

4.2.2. Mô tả chức năng và giao diện App Designer

Trong giao diện trên chúng ta có thể thao tác tùy biến các ô công cụ phù hợp với mục đích sử dụng.

Bảng 4. 1: Các công cụ trong AppDesigner

Công cụ Mô tả

Align Dùng để sắp xếp các đối tượng điều khiển Inspector Thiết lập thuộc tính của các đối tượng điều

khiển. Nó cung cấp một danh sách tất cả các thuộc tính bạn có thể thiết lập và hiển thị các giá trị hiện tại của chúng

Component Object Hiển thị danh sách phân cấp của các đối tượng trong giao diện đồ họa

Run Lưu và chạy giao diện hiện tại

Phía bên trái là COMPONENT LIBRARY nhóm các biểu tượng được APP DESIGNER hỗ trợ sẵn

 Button là nút nhấn, khi nhấn vào sẽ thực thi lệnh trong cấu trúc hàm callback của nó.

75

 Axes là giao diện đồ họa hiển thị hình ảnh, nó có nhiều thuộc tính bao gồm: không gian 2D (theo trục đứng và trục ngang), 3D (hiển thị không gian 3 chiều).

 Check Box sử dụng để đánh dấu tích (thực thi) vào và có thể check nhiều ô để thực thi.

 List Box là hộp thoại danh sách các mục, cho phép người dùng chọn một hoặc nhiều mục.

 Edit Field là nơi các số, kí tự có thể được nhập từ người dùng, họ có thể thay đổi.

 State Button là nút nhấn có hai điều khiển, khi nhấp chuột và nhả ra, nút nhấn được giữ và lệch thực thi, khi nhấp chuột vào lần thứ hai, nút nhấn nhả ra, hủy bỏ lệnh vừa thực thi.

 Radio Button Group quản lí sự lựa chọn của nút Radio Button. Radio Button giống như Check Box nhưng thường được sử dụng để tạo sự lựa chọn duy nhất, tức là một lần chỉ được chọn một trong số các nhóm nhiều nút. Khi một ô được chọn thì các ô còn lại trong nhóm bỏ chọn.

 Table tạo ra một bảng tương tự Excel.

 Panel tạo ra một mảng nhóm các biểu tượng lại với nhau giúp ta dễ hiểu kiểm soát và thao tác khi di chuyển.

 Ngoài ra còn có một số công cụ hiển thị bằng hình ảnh như Gauge , Switch , Lamp ,….

Bên cạnh nhóm biểu tượng là các cửa sổ cho phần làm việc từ thiết kế đến lập trình gọi hàm cho giao diện đã thiết kế.

76

Hình 4. 3: Cửa sổ thiết kế đồ họa trong AppDesigner

Với tùy chọn “designer View” đưa ra cửa sổ cho phép người dùng sử dụng các biểu tượng và thiết kế một giao diện làm việc theo mục đích thích hơp.

Hình 4. 4: Cửa sổ lập trình đối tượng trong AppDesigner

Với tùy chọn “Code View” đưa người dùng tới cửa sổ viết lệnh cho giao diện đã thiết kế. Ở đây có thêm các chức năng “Callbacks” cho phép truy cập trực tiếp đến từng biểu tượng đồ họa để viết lệnh, gọi hàm. “Functions” cho phép tạo ra vùng để viết các hàm

77 riêng phục vụ nhu cầu lập trình. “Properties” tạo ra vùng để khai báo các biến trong toàn cục trong chương trình.

Và để có thể thiết kế cũng như điều chỉnh, định dạng về từng đối tượng riêng biệt, App Designer có hộp thoại Inspector thực hiện điều này.

Hình 4. 5: Hộp thoại Inspector

Bảng 4. 2: Các thuộc tính trong hôp thoại Inspector

Thuộc tính Mô tả

BackgroundColor Màu nền đối tượng

FontAngle Kiểu chữ nghiêng

FontName Kiểu chữ

FontSize Cỡ chữ

FontUnits Đơn vị kích thước font chữ.

78

ForegroundColor Màu chữ

Handle Visibility Cho dù xử lý có thể truy cập từ dòng lệnh và ảnh minh họa

BusyAction Callback thường xuyên gián đoạn

Enable Kích hoạt hoặc vô hiệu hóa các đối tượng điều khiển

Visible Điều khiển thuộc tính nhìn thấy của các đối tượng

Value Giá trị hiện thời đối tượng điều khiển

Units Đơn vị đo lường

Tag Dùng để phân biệt giữa các đối tượng

điều khiển

Style Kiểu của đối tượng điều khiển

Horizontal Alignment Căn ngang của chuỗi nhãn

Position Kích thước và vị trí đối tượng điều khiển

4.3. Thiết kế giao diện nhận và hiển thị dữ liệu trên App Designer

Với mục đích phải nhận dữ liệu liên tục từ Arduino gửi qua và hiển thị dữ liệu một cách trực quan nhất cho người xem, do đó cần phải thiết kế giao diện hiển thị đầy đủ, rõ ràng, dễ quan sát. Đồng thời các dữ liệu nhận được phải được lập trình hiển thị một cách nhanh chóng tương ứng với trạng thái hoạt động của động cơ.

4.3.1. Chu trình nhận dữ liệu trên App Designer

79

Hình 4. 6: Chu trình nhận dữ liệu

Các dữ liệu từ Arduino được gửi một cách liên tục và lưu trong bộ đệm của cổng giao tiếp. Với một lần gửi một chuỗi dữ liệu bao gồm các giá trị tín hiệu cách nhau bởi dấu “,” được truyền qua công giao tiếp và lưu vào bộ nhớ đệm cho đến khi chuỗi này được đọc. Chuỗi dữ liệu này được chuyển đổi từ mảng ASCII thành kiểu số và tách thành các tín hiệu riêng biệt phục vụ cho nhu cầu tính toán, hiển thị trên Matlab.

Sơ đồ khối chu trình thực hiện trong App Designer:

80

4.3.2. Thiết kế giao diện hiển thị 4.3.2.1. Nội dung thiết kế 4.3.2.1. Nội dung thiết kế

- Thiết kế nút điều khiển chương trình.

- Hiển thị dữ liệu trên các đồng hồ đo bao gồm các tín hiệu về tốc độ động cơ, nhiệt độ dầu động cơ và tín hiệu báo mực xăng.

- Hiển thị dữ liệu điện áp Acquy bao gồm điện áp từng Acquy, điện áp tổng và các cảnh báo tương ứng với các mức dung lượng Acquy.

- Hiển thị dữ liệu dưới dạng đồ thị trực quan để theo dõi kết quả trong quá trình thực nghiệm bao gồm tín hiệu dòng điện nạp và tín hiệu vị trí góc mở bướm ga.

4.3.2.2. Kết quả thiết kế

Các tín hiệu nhiệt độ dầu động cơ, tốc độ động cơ, mực xăng được thiết kế bằng các khối “Gauge” qua điều chỉnh thang số và màu sắc phù hợp.

Hình 4. 8: Giao diện hiển thị dạng đồng hồ và điều khiển chương trình

Bên cạnh đó có thiết kế hai nút “START”, “STOP” cho việc điều khiển bắt đầu, kết thúc giao tiếp nhận và hiển thị. Các nút được lập trình trạng thái, cho phép truy cập đúng quy trình. Bao gồm trạng thái chuẩn bị giao tiếp, chỉ sử dụng được nút “START” và trạng thái đang hoạt động quá trình giao tiếp, chỉ sử dụng được nút “STOP”.

81

Hình 4. 9: Giao diện nút điều khiển

Giao diện hiển thị điện áp Acquy tổng và điện áp từng Acquy đơn được thiết kế riêng phần cho người xem dễ phân biệt và quan sát.

Hình 4. 10: Giao diện hiển thị giá trị điện áp Acquy

Bên cạnh đó với mỗi giá trị điện áp đều được lập trình màu sắc để cảnh báo về tình trạng của Acquy. Màu vàng cho Acquy tổng thể hiện điện áp mức thấp và chuẩn bị được sạc. Màu đỏ cho các Acquy đơn cảnh báo Acquy hư hỏng, sụt áp cao, cần sửa chữa, thay thế. Màu xanh lá cho tất cả các giá trị điện áp báo Acquy đang ổn định. Các màu này được lập trình thay đổi tương ứng với giá trị điện áp thực thu thập về. Ngoài ra, mức dung lượng của Acquy còn được thể hiện qua các mức thang đo bên dưới để dễ dàng quan sát sự cân bằng dung lượng của các Acquy.

Và để đảm bảo trực quan nhất cho việc đánh giá, nhóm thiết kế một biểu đồ cho giá trị dòng điện nạp và một đồ thị cho khả năng đáp ứng của mô tơ kéo bướm ga.

82

Hình 4. 11: Giao diện hiển thị tín hiệu theo đồ thị

Tất cả các nội dung thiết kế được sắp xếp phù hợp tạo nên một giao diện tổng thể, hiển thị đầy đủ dữ liệu động cơ trong các chu trình thực nghiệm.

83

84

CHƯƠNG 5: MÔ PHỎNG VÀ ĐÁNH GIÁ KẾT QUẢ 5.1. Nội dung thực hiện

- Đặt ra các bài toán dựa trên điều kiện thực tế của mô hình và đưa ra hướng giải quyết. - Xây dựng chương trình mô phỏng Simulink dựa trên mô hình thực tế.

- Tiến hành mô phỏng chương trình với các bài toán đặt ra để đánh giá kết quả.

5.2. Tiến trình thực hiện

5.2.1. Bài toán thực tiễn và hướng giải quyết

Đối với mô hình xe E-REV sử dụng hệ thống nguồn gồm 5 Acquy mắc nối tiếp, yêu cầu của bộ điều khiển sạc là tối ưu quá trình sạc và giám sát hệ thống các Acquy. Để đáp ứng yêu cầu đó, thì cần giải quyết những bài toán dưới đây:

- Khởi động sạc. - Điện áp và dòng sạc.

- Giám sát và cân bằng Acquy. - Kết thúc sạc.

- Đánh giá quá trình sử dụng xe song song với sạc Acquy.

5.2.1.1. Thời điểm khởi động sạc

Để kéo dài tuổi thọ của Acquy, mức SOC tối thiểu khi sử dụng là khoảng 30%. Chính vì thế, để tối ưu quá trình sạc song song với sử dụng xe và bảo vệ Acquy, ta nên tiến hành khởi động sạc khi SOC trung bình của Acquy thấp hơn 40%.

85

Hình 5. 1: Lưu đồ thuật toán khởi động

5.2.1.2. Điện áp và dòng sạc

Để đảm bảo thời gian sạc thì dòng sạc phải đủ lớn và không vượt quá dòng sạc tối đa là 19,5A (theo thông số Acquy) ở các mức SOC khác nhau. Ta tiến hành mô phỏng quá trình sạc tại các mức điện áp sạc khác nhau và quan sát dòng sạc sao cho hợp lý. Sau khi mô phỏng và chọn được mức điện áp hợp lý, ta tiến hành chọn dòng kích từ và độ mở bướm ga để đạt được mức điện áp đó.

5.2.1.3. Giám sát và cân bằng Acquy

Mức điện áp và SOC của mỗi Acquy luôn được giám sát nhằm phát hiện sự chênh lệch SOC giữa các Acquy. Khi có sự chênh lệch quá giới hạn cho phép, mạch cân bằng Acquy sẽ hoạt động.

Để đạt hiệu suất sạc và tính kinh kế cao ta nên cân bằng tại Acquy có mức SOC cao nhất và độ chênh lệch (giữa Acquy có SOC lớn nhất và nhỏ nhất) cao. Nhóm chọn độ chênh lệch cần cân bằng là 30% SOC (tương đương 1.6V) và mức SOC tại Acquy đó lớn hơn 60% SOC. Ngoài ra, Acquy nào có mức SOC lớn hơn 80% cũng cần được cân bằng.

86

Hình 5. 2: Lưu đồ thuật toán cân bằng

5.2.1.4. Thời điểm kết thúc

Đối với phương pháp sạc điện áp không đổi, dòng sạc sẽ giảm dần về 0 khi dung lượng tăng. Để tối ưu hiệu suất sạc ta kết thúc sạc khi SOC trung bình trên 75%, khi đó ta tiến hành ngắt kích từ và tắt động cơ.

Lưu đồ thuật toán giải quyết:

87

5.2.1.5. Giám sát quá trình sạc song song với sử dụng xe

Để đảm bảo tối ưu quá trình sử dụng xe khi mức SOC xuống thấp thì máy phát sẽ hoạt động như một nguồn phụ cung cấp cho motor điện. Nếu công suất máy phát lớn hơn công suất motor điện thì xe có thể vận hành tốt mà không ảnh hưởng nhiều đến Acquy. Ngược lại, nếu công suất máy phát nhỏ hơn công suất motor điện, ta hạn chế công suất tiêu thụ bằng cách hạn chế tốc độ xe ở các trường hợp khác nhau.

5.2.2. Xây dựng chương trình mô phỏng Simulink

Hình 5. 4: Mô hình mô phỏng

Dựa theo mô hình thực tế và các bài toán thực tế ở trên, chương trình mô phỏng bao gồm các khối dưới đây:

- Bộ điều khiển PID cho bướm ga của động cơ xăng.

88 - Khối động cơ xăng và hệ thống dẫn động máy phát.

Hình 5. 6: Mô phỏng động cơ xăng

- Khối máy phát.

Hình 5. 7: Mô phỏng máy phát điện

89

Hình 5. 8: Mô phỏng Acquy

- Mạch cân bằng bị động dung lượng Acquy.

90 - Khối hệ thống truyền lực.

Hình 5. 10: Mô phỏng hệ thống truyền lực

5.3. Kết quả mô phỏng

5.3.1. Mô phỏng quá trình khởi động sạc

Mô phỏng trường hợp xe E-REV có mức SOC trung bình dưới 40% và quá trình sạc bắt đầu.

Mục đích:

- Quan sát sự thay đổi độ mở bướm ga. - Quan sát tốc độ động cơ xăng.

- Quan sát điện áp đầu ra máy phát.

Điều kiện mô phỏng:

- Mức SOC giảm xuống dưới 40% tại giây thứ 5 của mô phỏng, lúc này quá trình sạc bắt đầu.

91

Kết quả mô phỏng:

Hình 5. 11: Mức SOC giảm xuống dưới 40%

92

Hình 5. 13: Sự thay đổi của tốc độ động cơ xăng

93

Đánh giá kết quả:

- Với phương pháp điều khiển PID (Hình 5.14), độ mở bướm ga thay đổi từ 0% lên 20% sau khi SOC giảm xuống dưới 40%, tốc độ phản hồi và độ vọt lố đáp ứng yêu cầu (đường màu đỏ).

- Tốc độ động cơ xăng ổn định sau khoảng 15s (xấp xỉ 5300v/p), nằm trong vùng hiệu suất hoạt động tốt (5000-6000v/p).

- Điện áp đầu ra ổn định 80V như mong muốn.

5.3.2. Mô phỏng quá trình sạc

Một phần của tài liệu Ứng dụng matlab arduino trong mô phỏng, thiết kế và chế tạo bộ điều khiển sạc cho xe e REV đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 85)

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

(150 trang)