Thiết kế phần cơ khí

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 76)

3.3.1. Thiết kế miếng gá mô tơ

Mô phỏng miếng gá trên AutoCAD:

Hình 3. 28: Miếng gá mô phỏng trên Auto CAD

Miếng gá thực tế:

Hình 3. 29: Miếng gá mô tơ thực tế

3.3.2. Thiết kế bánh răng truyền động bướm ga 3.3.2.1. Tính toán thông số bộ bánh răng 3.3.2.1. Tính toán thông số bộ bánh răng

Khoảng cách trục: a = 52mm Chọn modun: m = 2 mm Tỉ lệ: 1:2 Ta có: a = 1 2𝑚(𝑍1+ 𝑍2) = 1 2𝑚3𝑍1

64 => 52 =3 2𝑚𝑍1 =>𝑍1 = 17,3 Chọn Z1 = 17 răng, Z2= 34 răng, Đường kính vòng đỉnh: 𝑑𝑎1 = 𝑚(𝑍1+ 2) = 2. (17 + 2) = 38𝑚𝑚 𝑑𝑎2 = 𝑚(𝑍2+ 2) = 2. (34 + 2) = 72𝑚𝑚 Đường kính vòng đáy: 𝑑𝑓1 = 𝑚. (𝑍1− 2.5) = 2. (17 − 2.5) = 29𝑚𝑚 𝑑𝑓2 = 𝑚. (𝑍2− 2.5) = 2. (34 − 2.5) = 63𝑚𝑚 Đường kính vòng chia: 𝑑1 = 𝑚. 𝑍1 = 2.17 = 34𝑚𝑚 𝑑2 = 𝑚. 𝑍2 = 2.34 = 68𝑚𝑚

Chiều cao răng:

ℎ = ℎ𝑎 + ℎ𝑓 = 2.25𝑚 = 4.5𝑚𝑚

3.3.2.2. Bộ bánh răng thực tế

Hình 3. 30: Bộ bánh răng kéo bướm ga thực tế

3.3.3. Thiết kế bộ truyền đai kéo máy phát

Thiết kế puli có then hoa gắn vào trục khuỷu động cơ để kéo máy phát quay theo tỉ lệ ~3:2, có thêm bánh căng đai.

65

66

3.4. Thuật toán điều khiển

3.4.1. Tiến trình thực hiện đọc tín hiệu

Đọc tín hiệu điện áp:

Hình 3. 32: Chu trình đọc tín hiện dạng điện áp Bảng 3. 9: Bảng chuyển thang giá trị cảm biến

Tín hiệu Thang chuyển đổi

Vị trí bướm ga 0% - 100%

Mực xăng 0 (lít) – 4 (lít)

Nhiệt độ dầu động cơ 00C - 1200C

Dòng điện nạp 0 (A) – 20 (A)

Điện áp Acquy 0 (V) – 15 (V)

Đọc và tính toán tốc động cơ:

67 Truyền dữ liệu qua App Designer:

Hình 3. 34: Chu trình gửi dữ liệu

Một chu trình gửi sẽ truyền vào bộ nhớ đệm của giao tiếp một chuỗi đầy đủ các giá trị như trên. Từ đây App Designer sẽ tách chuỗi thành từng giá trị riêng biệt tương ứng với từng giá trị tín hiệu đã thu thập. Chu trình này sẽ thực hiện tuần hoàn với chu kì gửi 0.2s.

68

3.4.2. Các lưu đồ thuật toán

Thuật toán khởi động động cơ tự động:

Hình 3. 35: Lưu đồ thuật toán điều khiển mở máy

Trong đó:

Vt là giá trị điện áp tổng Acquy thu thập về.

Vy là giá trị điện áp định mức yêu cầu phải nạp có giá trị là 54V. ST là chân điều khiển relay khởi động.

toc là biến tốc độ động cơ.

toct là mức xác định tốc độ động cơ khi chưa hoạt động có giá trị 1000 vòng/phút. time là biến thời chờ khởi động.

ty là mức thời gian chờ khởi động có giá trị 5s. Thuật toán điều khiển tắt động cơ tự động:

69

Hình 3. 36: Lưu đồ thuật toán điều khiển tắt máy

Trong đó:

Vn là điện nạp được thu thập về Arduino.

Vi là điện áp định mức khi Acquy có giá trị xấp xỉ 68V (75%SOC). Time là biến đếm thời gian ngắt công tắc máy.

ty là thời gian ngắt công tắc máy có giá trị 3s.

70

Hình 3. 37: Lưu đồ thuật toán điều khiển kích từ máy phát

Trong đó:

Setpoint là giá trị góc mở bướm ga mong muốn.

Setpointy là biến xác định cho phép đếm thời gian chuẩn bị kích từ có giá trị 102. In là dòng điện nạp được thu thập về Arduino.

Iy là dòng điện định mức khi Acquy đầy có giá trị xấp xỉ 0A. Time là biến đếm thời gian bật kích từ.

timey là biến xác định thời gian bắt đầu bật kích từ có giá trị 2s.

71

Hình 3. 38: Lưu đồ thuật toán điều khiển bướm ga

Trong đó:

Setpoint là giá trị góc mở bướm ga mong muốn. OUTPUT là giá trị tính toán sau bộ PID.

72

CHƯƠNG 4: ỨNG DỤNG APP DESIGNER LẬP TRÌNH, THIẾT KẾ GIAO DIỆN HIỂN THỊ

4.1. Giới thiệu chung về App Designer 4.1.1. App Designer là gì? 4.1.1. App Designer là gì?

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

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 76)