1. Trang chủ >
  2. Kỹ thuật >
  3. Giao thông - Vận tải >

Chương trình con xử lí ngắt.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (12.58 MB, 123 trang )


 Chương trình vòng lặp:

Những lệnh trong setup() sẽ được chạy khi chương trình của bạn khởi động. Bạn có thể sử

dụng nó để khai báo giá trị của biến, khai báo thư viện, thiết lập các thông số, …. Sau khi

setup() chạy xong, những lệnh trong loop() được chạy. Chúng sẽ lặp đi lặp lại liên tục cho

tới khi nào bạn ngắt nguồn của board Arduino mới thơi.



Hình : chương trình vòng lặp Arduino

 Chương trình này bắt đầu từ dòng 58 – 123: void loop() {... }

 Dòng 60-78: dữ liệu điều khiển được truyền từ trên Labview xuống Arduino, sử dụng

lập trình mảng.

 Dòng 80-81: outputValue1 = map(led_analog1,0,100,647,2875);

outputValue2 = map(led_analog1,0,100,1248,3521);

Chuyển đổi dữ liệu sang dạng 12 bit (có giá trị từ 0 đến 4095) của IC MCP4921 bằng

cú pháp Map (val, A1, A2, B1, B2);

Trong đó:

Val: giá trị cần chuyển đổi

A1, A2 là giới hạn trên và dưới của thang đo hiện tại

B1, B2 là giới hạn trên và dưới của thang đo cần chuyển tới.

 Dòng 82-89:



( còn điều chỉnh)

 Dòng 90-97:

 Dòng 98 thể hiện cơng thức tính tocdo của động cơ qua chuky của xung IGT. Vì thời

gian của chuky trong chương trinh ngắt trên là micros và tocdo được tính bằng

vòng/phút do đó ta có cơng thức tính tocdo = 1000000 * 60 /chuky;.



 Dòng 99 - 104 sử dụng hàm analogRead() để đọc giá trị điện áp của tín hiệu VPA,

VPA2, cảm biến THA, THW, VG, VTA, từ các chân Analog A0, A1, A2, A3, A4.

 Dòng 105 - 122 các tín hiệu được Arduino đọc được sẽ xuất ra cổng Serial bằng hàm

Serial.print(); dưới dạng chuỗi dài nối tiếp xen kẽ các chữ cái: a, a0, b, a1, c , THA, d

, THW, e, VG, f, VTA, g, thoigianmuccao0, h, thoigianmucthap1, i, tocdo. Việc chen

các chữ cái này để phục vụ cho việc tách tín hiệu dễ dàng khi phần mềm LabVIEW

nhận được chuỗi tín hiệu này.



3.2.2. Chương trình trên LabVIEW

3.2.2.1 Giao tiếp RS232

Đặc điểm chuẩn RS232 được nối ra một giắc cắm (gọi là cổng COM). Khi sử dụng nó có

thê sử dụng 2 hay tồn bộ chân pin của cổng này (các chân 4,9,15,37 phục vụ các chức năng

khác). Nếu mục đích chỉ truyền nhận tín hiệu, điều khiển giữa 2 thiết bị thì người ta chỉ sử

dụng hai dây 1 dây truyền nhận và 1 dây nối đất vì vậy khi máy tính sử dụng LabVIEW giao

tiếp RS232 với Arduino chỉ bằng cáp nối 2 đầu USB.

RS232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện

áp chênh lệch giữa một dây dẫn và đất. Các cổng của RS232 có ngưỡng điện áp quy ước là

-15V (volt) tới -3V , và 3V tới 15V (hoặc -5V, +5V, sự khác biệt giữa hai giá trị 3V, và 5V

này được gọi là noise magin - biên độ dao động của nhiễu).

-



Tín hiệu có áp lớn +3V được coi có logic 0 hoặc có giá trị cao (H)



-



Tín hiệu có áp nhỏ hơn -3V được coi có logic 1 hoặc giá trị thấp (L).



-



Điện áp từ -3V tới +3V khơng có ý nghĩa.



Chính vì từ -3V tới +3V là phạm vi không được định nghĩa, trong trường hợp thay đổi

giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ

trong một thời gian ngắn hợp lý. Điều này dẫn đến việc phải hạn chế về điện dung của các

thiết bị tham gia và của cả đường truyền. Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài

của dây dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kBd (chiều dài cho phép

30-50 m).

Các giá trị tốc độ truyền tiêu chuẩn: 50, 75, 110, 750, 300, 600, 1200, 2400, 4800, 9600,

19200, 28800, 38400, …, 56600, 115200 bps.

Các ưu điểm của giao tiếp này:

-



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ể lắp ngay khi máy tính đang được cấp điện.



-



Các mạch đơn giản có thể nhận điện áp nguồn ni qua cổng nối tiếp.



Cách giao tiếp RS232 sử dụng trên LabVIEW:



Hình 3.6: Sơ đồ khối giao tiếp giữa Arduino và LabVIEW



Hình 3.7: Mơ hình khối giao tiếp VISA của LabVIEW







Chuyển đổi mảng



Là chuyển đổi các mảng giá trị ASCII thành các chuỗi, như giải thích phần tử mảng mong

muốn và tạo ra một chuỗi ra khỏi các ký tự tương ứng.



Hình 3.3: Hình mơ tả khối chuyển đổi mảng







Tách tín hiệu



Sau khi nhận được tín hiệu truyền đến từ giao tiếp RS232, chúng ta sử dụng các khối Match

Pattern để tách riêng biệt từng dữ liệu ra.



Hình 3.8: Mơ hình khối tách tín hiệu trong LabVIEW



CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

4.1. Quy trình thực nghiệm



 Nội dung thực nghiệm:

Kết nối các chân để đọc tín hiệu các cảm biến THA, THW, PIM, VTA, FUEL và xung

IGT, xung kim phun #10 hoặc #20 với các chân board Arduino. Dữ liệu được truyền từ

board Arduino lên máy tính SERVER thơng qua giao tiếp Serial Monitor. Máy tính sẽ hiển

thị các giá trị cảm biến và xung thông qua phần mềm LabVIEW.

Kết nối các chân của 2 MCP4921 với board Arduino để thực hiện điều khiển bàn đạp ga

điện tử:

 Kết nối các chân của 2 MCP4921 với nhau.

Quy trình thực hiện:

-



Bước 1: Xác đính chân tín hiệu từ các cảm biến và kết nối với các chân Arduino để đọc



-



tín hiệu.

Bước 2: Kết nối board Arduino với máy tín và khởi động Arduino IDE nạp chương trình



-



code cho phần cứng.

Bước 3: Khởi động chương trình LabVIEW trên 2 máy SERVER và CLIENT. Xác định



-



cổng COM trên chương trình LabVIEW của máy SERVER.

Bước 4: Xác nhận IP WAN ở Site trung tâm và IP LAN của máy SERVER để đọc được

PORT sau khi NAT PORT. Nhập IP WAN vào máy CLIENT và chân PORT đồng nhất



-



với IP LAN trên máy SERVER.

Bước 5: Khởi động động cơ

Bước 6: Khởi chạy chương trình LabVIEW máy SERVER trước rồi chạy chương trình



-



trên máy CLIENT sau.

Bước 7: Kết quả được hiển thị thông qua hai máy tiến hành đọc, kiểm tra tín hiệu và ghi

lại tín hiệu đọc được từ các chế độ hoạt động của xe.



4.2. Kết quả thức nghiệm thu được khi nổ máy xe

-



 Thử nghiệm 1:

Xe hoạt động với chế độ không tải (máy lạnh, quạt, đèn khơng bật).



-



Bướm ga đóng hồn tồn với góc mở 0%.

Xe nằm trong xưởng động cơ với nhiệt độ mơi trường tại xưởng bình thường.

Kết quả đo được thể hiện đầy đủ trên giao diện LabVIEW của 2 máy SERVER và



CLIENT với các tín hiệu đo được ở thử nghiệm 1 như sau:



Hình 4.1: Giao diện chương trình SERVER lúc khơng tải (VTA 0 %)



Hình 4.2: Giao diện chương trình CLIENT lúc khơng tải (VTA 0 %)



Các biểu đồ thể hiện đặc tính của các tín hiệu thử nghiệm 1 thu được như sau:



Xem Thêm
Tải bản đầy đủ (.docx) (123 trang)

×