Thiết kế phần cứng giao tiếp máy tính với vi điều khiển

Một phần của tài liệu Viết chương trình máy tính hỗ trợ điều khiển và thu thập dữ liệu cho bộ điều tốc điện tử của động cơ Yanmar-3SM (Trang 65)

3.2.2.1. Chọn chuẩn giao tiếp nối tiếp

Cĩ nhiều chuẩn giao tiếp nối tiếp giữa máy tính và vi điều khiển như chuẩn RS232, RS422, RS485, … Tuy nhiên, ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi và phổ biến nhất để ghép nối các thiết bị ngoại vi với máy tính. Nĩ là một chuẩn giao tiếp nối tiếp dùng định dạng khơng đồng bộ, kết nối nhiều nhất là 2 thiết bị, chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đơi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt.

Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là khơng đồng bộ và tốc độ truyền dữ liệu thấp.

* Ưu điểm của chuẩn giao tiếp nối tiếp RS232:

+ Khả năng chống nhiễu của các cổng nối tiếp cao.

+ Thiết bị ngoại vi cĩ thể tháo lắp ngay cả khi máy tính đang được cấp điện. + Các mạch điện đơn giản cĩ thể nhận được điện áp nguồn nuơi qua cổng nối tiếp.

* Đặc điểm của chuẩn RS232:

+ Mức logic 1 cĩ điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ ±3V đến 12V.

+ Các lối vào phải cĩ điện dung nhỏ hơn 2500pF

+ Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 khơng vượt qua 15m nếu khơng sử Model.

+ Các giá trị tốc độ truyền dữ liệu chuẩn :

50,75,110,750,300,600,1200,2400,4800,9600,19200, ….56600,115200 bps. * Quá trình truyền dữ liệu:

Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện khơng đồng bộ. Do vậy nên tại một thời điểm chỉ cĩ một bit được truyền (1 kí tự). Bộ truyền gửi một bit bắt đầu (bit start) để thơng báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp theo . Bit này luơn bắt đầu bằng mức 0. Tiếp theo đĩ là các bit dữ

liệu (bits data) được gửi dưới dạng mã ASCII ( cĩ thể là 5,6,7 hay 8 bit dữ liệu) sau đĩ là một Parity bit ( Kiểm tra bit chẵn, lẻ hay khơng) và cuối cùng là bit dừng – bit stop cĩ thể là 1, 1,5 hay 2 bit dừng.

* Mạch chuẩn giao tiếp RS232 dùng IC Max232

Max232 là IC của hãng Maxim, chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi. Đây là IC chạy ổn định và được sử dụng phổ biến trong các mạch giao tiếp chuẩn RS232. Giá thành của Max232 phù hợp (khoảng 10 hay 12 ngàn đồng) và tích hợp trong đĩ hai kênh truyền cho chuẩn RS232. Dịng tín hiệu được thiết kế cho chuẩn RS232 . Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phĩng tĩnh điện. Ngồi ra Max232 cịn được thiết kế với nguồn +5V cung cấp nguồn cơng suất nhỏ.

Hình 3.2 – IC Max 232

3.2.2.2. Mạch giao tiếp với vi điều khiển dùng IC Max 232

Hình 3.4 – Sơ đồ giao tiếp máy tính với VĐK Atmega 16 của BĐT điện tử

Hình 3.5 – Mạch giao tiếp sau khi chế tạo và lắp trên BĐT điện tử

Mạch giao tiếp Cổng COM

3.3. Giao diện điều khiển trên máy tính 3.3.1. Giải thuật thiết kế giao diện 3.3.1. Giải thuật thiết kế giao diện

Hình 3.6 – Giải thuật cho thiết kế giao diện

3.3.2. Thiết kế giao diện giao tiếp trên Visual Basic 6.0

Khởi động VISUAL BASIC 6.0 từ màn hình Desktop hoặc từ trình đơn Start Menu. Để tạo một dự án VB mới, vào menu File > New Project (hoặc bấm tổ hợp phím Ctrl + N). Hộp thoại New Project hiện ra, chọn loại chương trình, thường là Standard EXE (file thực thi chuẩn). Dự án mới được tạo ra ban đầu như hình 3.7. Sử dụng Toolbox để thêm các đối tượng vào Form.

Hình 3.7 – Màn hình làm việc của VB 6.0 Xuất Xuất Nhập Dữ liệu từ phần cứng - Giải mã tín hiệu - Tính tốn các đại lượng cần đo - Biểu bảng - Hình ảnh đồ thị Save đồ thị ra File XPS và bảng biểu ra File Excel

Hình 3.8 – Giao diện khởi tạo chương trình

Từ giao diện khởi tạo Click Button Bắt đầu để vào giao diện điều khiển chính (Hình 3.9).

Trong đĩ:

- Thanh Menu gồm:

+ File: Cĩ hai lựa chọn: (adsbygoogle = window.adsbygoogle || []).push({});

(1)Back ( trở lại giao diện khởi tạo); (2)Print (in đồ thị sang file XPS). + Settings: cĩ 5 lựa chọn:

(1) Port (chọn cổng COM kết nối với BĐT điện tử); (2) Speed ( tốc độ truyền dữ liệu);

(3) Data Bits ( số dữ liệu truyền ); (4)Parity ( kiểm tra chẵn lẻ); (5) Stop Bits ( số bits dừng). + View: Cĩ hai lựa chọn:

(1)Bảng mã ASCII; (2)Bảng mã HEX. + Help: hướng dẫn trợ giúp. - Các Button điều khiển:

+ Start: bắt đầu chương trình điều khiển. + Stop: dừng chương trình điều khiển.

+ Reset: xĩa các dữ liệu cũ và bắt đầu lại chương trình. + Exit: thốt chương trình.

+ Tốc độ: vẽ đồ thị tốc độ.

+ T_kx: vẽ đồ thị nhiệt độ khí xả.

+ T_nuoc: vẽ đồ thị nhiệt độ nước làm mát. + Print: in đồ thị sang file XPS.

- Thanh Tab điều khiển: Cĩ hai lựa chọn:

+ Đồ thị biểu diễn (DO THI BIEU DIEN) như hình 3.9

Hình 3.10 – Tab thu thập dữ liệu

Trong Tab thu thập dữ liệu cĩ bảng dữ liệu và Button xuất bảng sang file Excel.

3.3.3. Viết chương trình thực thi giao tiếp máy tính

Bước tiếp theo sau khi tạo giao diện là viết lệnh (Code) thực thi cho các đối tượng.

3.3.3.1. Chức năng của chương trình

- Giao tiếp được với VĐK Atmega16 của BĐT điện tử qua cổng COM. - Thu thập các giá trị tức thời của tốc độ động cơ, nhiệt độ khí xả, nhiệt độ nước làm mát từ các cảm biến gắn trên động cơ thơng qua BĐT điện tử.

- Biểu diễn các giá trị thu thập được lên đồ thị.

- Tập hợp các giá trị tức thời thu được vào bảng dữ liệu. - Xuất đồ thị sang file XPS và bảng dữ liệu sang file Excel.

- Cĩ thể nhập tốc độ cài đặt trên máy hoặc lấy tốc độ cài đặt từ BĐT điện tử.

False

True

False

Khởi tạo các khối chức năng phần cứng, các bộ định thời, các ngắt ngoài, các bộ chuyển đổi ADC.

Vịng lặp vơ tận

Khởi tạo các biến chính:

n - tốc độ quay của động cơ (V/ph), T1- nhiệt độ nước làm mát (0 C), T2- nhiệt độ khí xả (0 C), Mode- chế độ làm việc của động cơ. Khởi tạo các biến trung gian.

Gọi chương trình kiểm tra bàn phím Chế độ điều khiển tự động? Từ cảm biến tay ga tính tốn, chuyển đổi và xuất xung PWM tương ứng Xuất dữ liệu ra LCD Xuất dữ liệu ra cổng COM True True

Cập nhật giá trị vị trí của tay ga từ cảm biến tay ga

Cập nhật dữ liệu (adsbygoogle = window.adsbygoogle || []).push({});

- Nhiệt độ khí xả T1, Nhiệt độ nước làm mát T2,Tốc độ quay động cơ n - Xác định điểm làm việc của ĐC, gọi hàm tính PWMtính tốn tương ứng

PWM < PWMtính tốn PWM ++ Delay 40 ms PWM > PWMtính tốn PWM -- Delay 10 ms False False True True Điều khiển từ máy tính? Đọc tốc độ cài đặt từ cảm biến tay ga Đọc tốc độ cài đặt từ cổng COM

3.3.2.3. Một số đoạn Code chính trong chương trình

+ Nhận dữ liệu từ cổng COM và vẽ đồ thị:

Private Sub MSComm1_OnComm() Dim txtBuf As String

Dim i As Integer Dim c() As String

Dim n1_set, n2_set, n1, n2, K1, K2 As Integer With MSComm1

Select Case .CommEvent Case comEvReceive txtBuf = .Input

InputString = InputString & txtBuf End With

For i = 1 To Len(txtBuf)

ReDim Preserve c(1 To Len(txtBuf)) c(i) = Mid(txtBuf, i, 1)

Next i

If Len(txtBuf) >= 7 Then

n1_set = Val(Asc(c(1))) * 100 n2_set = Val(Asc(c(2))) n_set = n1_set + n2_set n1 = Val(Asc(c(3))) * 100 n2 = Val(Asc(c(4))) n = n1 + n2 K1 = Val(Asc(c(5))) * 100 K2 = Val(Asc(c(6))) T_kx = (K1 + K2) / 10 T_nuoc = Val(Asc(c(7))) thoigian = Time

Pindex = Pindex + 1

ReDim Preserve ParrParameter(Pindex) ParrParameter(Pindex).n_caidat = n_set ParrParameter(Pindex).speech = n ParrParameter(Pindex).T_kx = T_kx ParrParameter(Pindex).T_nuoc = T_nuoc ParrParameter(Pindex).Time = thoigian ' Nhập dữ liệu tức thời vào các Text:

txtTextOut = n_set txtResponse = n Text3 = T_kx Text4 = T_nuoc Text1 = thoigian ' Vẽ đồ thị: If Check1.Value = 1 Then With TChart1.Series(0)

.AddXY thoigian, n, "", vbRed End With

With TChart1.Series(3)

.AddXY thoigian, n_set, "", vbBlack End With

End If

If Check2.Value = 1 Then With TChart1.Series(1)

.AddXY thoigian, T_kx, "", vbBlue End With

End If

If Check3.Value = 1 Then With TChart1.Series(2)

.AddXY thoigian, T_nuoc, "", vbGreen End With End If End If End Select End With txtResponse.SelStart = Len(txtResponse) End Sub + Tạo bảng dữ liệu:

Private Sub Form_Load() Dim i As Integer Pindex = 0 MSFlexGrid1.Cols = 6 MSFlexGrid1.Rows = 10 MSFlexGrid1.AllowBigSelection = False MSFlexGrid1.ColWidth(0) = 1000 MSFlexGrid1.ColWidth(1) = 1500 MSFlexGrid1.ColWidth(2) = 1500 MSFlexGrid1.ColWidth(3) = 2200 MSFlexGrid1.ColWidth(4) = 2200 MSFlexGrid1.ColWidth(5) = 2000 For i = 0 To 5 MSFlexGrid1.ColAlignment(i) = 4 Next MSFlexGrid1.TextMatrix(0, 0) = "STT" MSFlexGrid1.TextMatrix(0, 1) = " n_Set" MSFlexGrid1.TextMatrix(0, 2) = " n_thuc"

MSFlexGrid1.TextMatrix(0, 3) = "Nhiet do khi xa" MSFlexGrid1.TextMatrix(0, 4) = "Nhiet do nuoc"

MSFlexGrid1.TextMatrix(0, 5) = "Thoi gian" End Sub

+ Thu thập dữ liệu vào bảng: (adsbygoogle = window.adsbygoogle || []).push({});

Private Sub SSTab1_Click (PreviousTab As Integer) Dim i As Integer If PreviousTab = 0 Then MSFlexGrid1.Rows = Pindex + 5 For i = 1 To Pindex MSFlexGrid1.TextMatrix(i, 0) = i MSFlexGrid1.TextMatrix(i, 1) = ParrParameter(i).n_caidat MSFlexGrid1.TextMatrix(i, 2) = ParrParameter(i).speech MSFlexGrid1.TextMatrix(i, 3) = ParrParameter(i).T_kx MSFlexGrid1.TextMatrix(i, 4) = ParrParameter(i).T_nuoc MSFlexGrid1.TextMatrix(i, 5) = ParrParameter(i).Time Next End If End Sub

+ Xuất bảng dữ liệu sang Excel:

Private Sub To_Excel_Click() Dim X As Excel.Application Dim xl As Excel.Workbook

Set X = New Excel.Application Set xl = X.Workbooks.Add Clipboard.Clear With MSFlexGrid1 .Col = 0 .Row = 0 .ColSel = .Cols - 1 .RowSel = .Rows - 1

Clipboard.SetText .Clip .Row = 0 End With With X.ActiveWorkbook.ActiveSheet .Range("A1").Select .Paste .Range("A1").Select End With X.Visible = True End Sub

Cảm biến: - n - t0 Chương 4 Thực nghiệm và đánh giá 4.1. Mục đích

Mục đích của quá trình thực nghiệm nhằm xem xét, đánh giá hoạt động của chương trình hỗ trợ điều khiển và thu thập dữ liệu cho BĐT điện tử trên động cơ Yanmar 3SM.

4.2. Thực nghiệm hoạt động của chương trình trên BĐT điện tử 4.2.1. Trang thiết bị phục vụ thực nghiệm 4.2.1. Trang thiết bị phục vụ thực nghiệm

- Động cơ Diesel YANMAR 3SM; - Dầu Diesel phục vụ cho thực nghiệm; - Bộ điều tốc điện tử ;

- Bộ đo tốc độ, nhiệt độ khí xả, nước làm mát;

- Bộ tạo tải cho động cơ- Phanh thủy lực DYNOMITE;

- Ắc quy khởi động động cơ (2 bình 12V), ắc quy dùng cho bộ điều khiển (1 bình 12V).

4.2.2. Bố trí thực nghiệm

Sơ đồ bố trí thực nghiệm (như hình 4.1)

Hình 4.1 – Sơ đồ bố trí thực nghiệm Giao diện chương trình CPU Bình nhiên liệu DO BCA Động cơ Yanmar 3SM Tay ga Mạch giao tiếp BĐT điện tử Băng tải

Bố trí thực tế:

Hình 4.2 – Máy tính và BĐT điện tử

Hình 4.3 – Bình nhiên liệu Hình 4.4 – Bộ gây tải và máy đo tải

4.2.3. Tiến hành thực nghiệm

4.2.3.1. Quy trình tiến hành thực nghiệm.

1. Bật cơng tắc cho mạch điện tử hoạt động (Vị trí Power ON trên bảng điều khiển ). 2. Kết nối máy tính với BĐT điện tử qua cổng USB – COM. Kiểm tra chắc chắn đã kết nối.

3. Cho động cơ khởi động và chạy ở chế độ điều tốc cơ khí nhằm đánh giá chất lượng của BĐT điện tử so với điều tốc cơ khí.

4. Chạy chương trình trên máy tính, cho vẽ đồ thị biểu diễn. 5. Tắt động cơ và dừng chương trình.

6. Xuất đồ thị ra file XPS và bảng dữ liệu thu thập được ra file Excel. Sau đĩ Save các file.

7. Reset các giá trị, đồ thị và bảng dữ liệu.

8. Cho động cơ khởi động và chạy khơng tải với điều tốc điện tử ở chế độ Manual.

9. Khi động cơ chạy ổn định chuyển sang chế độ AUTO (gạt cần gạt qua vị trí MODE AUTO trên bảng điều khiển.

10. Chạy chương trình trên máy tính, cho vẽ đồ thị biểu diễn. 11. Tắt động cơ và dừng chương trình. (adsbygoogle = window.adsbygoogle || []).push({});

12. Xuất đồ thị và bảng dữ liệu thu thập được ra file. Sau đĩ Save các file. 13. Reset các giá trị, đồ thị và bảng dữ liệu.

14. Cho động cơ khởi động và chạy khơng tải với điều tốc điện tử ở chế độ Manual.

15. Khi động cơ chạyổn định chuyển sang chế độ AUTO (gạt cần gạt qua vị trí MODE AUTO trên bảng điều khiển.

16. Chạy chương trình trên máy tính, cho vẽ đồ thị biểu diễn.

17. Tiến hành thử tải bằng việc thay đổi lượng nước cấp vào băng tải.

18. Tiến hành tắt máy: giảm dần và ngắt nước cấp vào phanh thử tải, chuyển cần gạt sang chế độ MANUAL MODE, đẩy mạnh ga rồi tiến hành giảm nhanh chĩng để tắt máy. Mục đích xả sạch khí thải, tránh tạo bồ hĩng, kết bụi trong xi lanh động cơ.

19. Dừng chương trình, xuất đồ thị và bảng dữ liệu thu thập được ra file. Sau đĩ Save các file.

20. Ngắt kết nối máy tính và Exit.

21. Đĩng cơng tắt cho mạch điện tử ngừng hoạt động (vị trí OFF trên bảng điều khiển).

22. Kết thúc thử nghiệm.

4.2.3.2. Kết quả thực nghiệm

* Chế độ khơng tải với điều tốc cơ khí

Hình 4.6 – Đồ thị biểu diễn ở chế độ khơng tải với điều tốc cơ khí

STT n_Set n_thuc Nhiet do khi xa Nhiet do nuoc Thoi gian

1 918 945 136.5 62 3:10:45 PM 2 918 949 136 63 3:10:45 PM 3 918 969 138.7 57 3:10:47 PM 4 918 977 139.5 56 3:10:48 PM 5 918 975 144.5 45 3:10:50 PM 6 918 965 143.7 48 3:10:51 PM 7 918 953 145.5 44 3:10:52 PM 8 918 941 145 46 3:10:53 PM … … … … … …

* Chế độ khơng tải với điều tốc điện tử

Hình 4.7 – Đồ thị biểu diễn ở chế độ khơng tải với điều tốc điện tử

STT n_Set n_thuc Nhiet do khi xa Nhiet do nuoc Thoi gian

1 852 0 46.7 49 3:46:38 PM 2 854 0 46.7 49 3:46:39 PM … … … … … … 10 854 582 50.5 48 3:46:55 PM 11 854 680 51.2 48 3:46:56 PM 12 854 844 55 48 3:46:58 PM 13 854 850 57 48 3:46:58 PM … … … … … … 131 1408 1405 184.5 89 3:49:26 PM 132 1408 1408 187.5 83 3:49:28 PM 133 1408 1408 186.7 87 3:49:29 PM 134 1408 1401 186.2 88 3:49:30 PM 135 1408 1414 187.2 86 3:49:30 PM … … … … … … 207 300 270 116 57 3:50:56 PM 208 300 199 115 57 3:50:57 PM 209 300 0 114.7 57 3:50:58 PM 210 300 0 113.5 57 3:51:00 PM

* Chế độ cĩ tải với điều tốc điện tử

Hình 4.8 – Đồ thị biểu diễn ở chế độ cĩ tải với điều tốc điện tử

STT n_Set n_thuc Nhiet do khi xa Nhiet do nuoc Thoi gian

1 1002 0 99 51 3:53:14 PM … … … … … … 130 1002 1009 154 79 3:55:45 CH 131 1002 1003 153,2 82 3:55:46 CH 132 1002 987 153,2 83 3:55:47 CH 133 1002 1004 155 77 3:55:47 CH … … … … … … 260 1002 1002 244.5 118 3:58:21 PM 261 1002 1003 244 121 3:58:21 PM 262 1002 1002 245 118 3:58:22 PM 263 1002 1005 245.7 108 3:58:23 PM … … … … … … 276 1002 1004 251.2 119 3:58:40 PM 277 1002 1032 249.2 126 3:58:43 PM 278 1002 1012 247.5 128 3:58:45 PM 279 1002 1007 240.5 128 3:58:48 PM 280 1002 998 238 128 3:58:49 PM … … … … … … 626 300 327 159.5 96 4:05:42 PM 627 300 263 156.7 95 4:05:43 PM

Nhận xét:

Chương trình làm việc đảm bảo được những yêu cầu đề ra: giao diện giao tiếp đơn giản, dễ thao tác, thể hiện trực quan các thơng số của động cơ như tốc độ, nhiệt độ khí xả, nhiệt độ nước làm mát và biểu diễn các thơng số trên đồ thị, thu thập vào bảng dữ liệu trung thực, chính xác, tin cậy.

Nhờ cĩ chương trình hỗ trợ điều khiển và thu thập dữ liệu cĩ thể thấy rõ ràng chất lượng điều khiển của BĐT điện tử tốt hơn rất nhiều so với BĐT cơ khí đặc biệt khi chạy ở tốc độ cao (hình 4.6 và 4.7). Sự tác động của BĐT điện tử khi thay đổi tốc độ cài đặt diễn ra nhanh, tốc độ thực của động cơ bám sát tốc độ cài đặt khi thay đổi. Sự vọt lố gần như khơng cĩ, thời gian ổn định tốc độ nhanh. Điều này giúp người vận hành cĩ thể quan sát và biết được tình trạng làm việc của động cơ từ đĩ dễ dàng theo dõi, điều khiển động cơ khi khai thác.

Một phần của tài liệu Viết chương trình máy tính hỗ trợ điều khiển và thu thập dữ liệu cho bộ điều tốc điện tử của động cơ Yanmar-3SM (Trang 65)