Nghiên cứu thiết kế chế tạo bộ giao tiếp giữa máy tính và ecu điều khiển động cơ
Mục tiêu của chủ đề này là thiết kế, chế tạo bộ giao tiếp giữa máy tính và ECU
điều khiển động cơ và giao diện giao tiếp bằng phần mềm Matlab. Từ đó, đưa ra
giao thức truyền dữ liệu giữa động cơ và máy tính thông qua cổng nối tiếp RS-232, sao cho, trêngiao diện người sử dụng có thể quan sát sự thay các thông số
động cơ. Mặt khác, họ có thể thay đổi các thông số đầu vào để thấy được các đáp
ứng của các tín hiệu điều khiển cơ cấu chấp hành. Ngoài ra, người sử dụng cũng
có thể điều khiển nguồn cung cấp cho động cơ, khởi động động cơ và truy xuất mã
lỗi bằng máy tính.
giữa máy tính và ECU điều khiển động cơ và giao diện giao tiếp bằng phần mềm Matlab. KS. Huỳnh Quốc Việt Học viên cao học khoá: 2003 - 2005 Khoa Cơ khí Động lực Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh email: vietckd@yahoo.com Tóm tắt Mục tiêu của chủ đề này là thiết kế, chế tạo bộ giao tiếp giữa máy tính và ECU điều khiển động cơ và giao diện giao tiếp bằng phần mềm Matlab. Từ đó, đưa ra giao thức truyền dữ liệu giữa động cơ và máy tính thông qua cổng nối tiếp RS- 232, sao cho, trên giao diện người sử dụng có thể quan sát sự thay các thông số động cơ. Mặt khác, họ có thể thay đổi các thông số đầu vào để thấy được các đáp ứng của các tín hiệu điều khiển cơ cấu chấp hành. Ngoài ra, người sử dụng cũng có thể điều khiển nguồn cung cấp cho động cơ, khởi động động cơ và truy xuất mã lỗi bằng máy tính. Abstract The purpose of this topic is to design the interface communicator between computer and ECU by mean of matlab software. Thenceforth, it could lay out the protocol of data transferring between the engine and computer through the serial port RS-232, so that the user could observe the change of the engine parameters from the interface. One the other hand, the user could also change one of those input parameters to see the response of actuators. Besides, the user could also use computer to turn off/turn on, to start or access code of the engine. Giới thiệu Thiết kế và chế tạo mạch giao tiếp hai chiều giữa máy tính và ECU điều khiển động cơ nhằm hiển thị các thông số hoạt động của động cơ, đồng thời, điều khiển động cơ từ máy tính. Việc tính toán mô phỏng và điều khiển động cơ được thực hiện thông qua phần mềm matlab. Trên cơ sở mạch giao tiếp này ta có thể phát triển các thiết bị chẩn đoán và sửa chữa động cơ. Trên giao diện giao tiếp máy tính chúng ta có thể: - Điều khiển nguồn điện cấp cho động cơ, tương ứng với trường hợp công tắc máy ở vị trí ON. - Điều khiển động cơ khởi động, tương ứng với trường hợp công tắc máy ở vị trí ST. - Điều khiển động cơ đang hoạt động + Nếu không sử dụng giao diện giao tiếp với máy tính, các tín hiệu đầu vào của động cơ được chuyển đến vi điều khiển sau đó truyền đến ECU để điều khiển động cơ. + Nếu chúng ta đang sử dụng giao tiếp với máy tính, ngoài việc chuyển dữ liệu đến ECU, vi điều khiển còn truyền dữ liệu đó lên máy tính. + Ngoài ra, vi điều khiển còn nhận các tín hiệu điều khiển đánh lửa - IGT, tín hiệu điều khiển kim phun - #10 để tính toán tốc độ động cơ, thời gian ngậm điện, thời gian phun nhiên liệu và truyền lên máy tính. - Điều khiển chẩn đoán động cơ, bộ giao tiếp điều khiển chân TE1 nối mát và nhận dữ liệu truyền từ chân W, xác định mã lỗi và truyền đến máy tính. Thiết kế phần cứng bộ giao tiếp Trong quá trình nghiên cứu lý thuyết về các xung tín hiệu của động cơ, ta thấy các tín hiệu đầu vào khá đa dạng: gồm cả tín hiệu số và tín hiệu tương tự. Vì vậy, trước khi thực hiện kết nối với máy tính ta cần chuyển tất cả các dạng tín hiệu về dạng số. Để thực hiện điều này, người nghiên cứu sử dụng IC chuyển đổi 8 kênh 8 bit ADC0809. Tuy nhiên, do mức điện áp giữa đầu ra của vi điều khiển (0 đến 5V) và chuẩn nối tiếp RS-232 (-10 đến +10) không tương thích nên người nghiên cứu đã sử dụng IC chuyển đổi MAX232. Ngoài ra, để thực hiện được việc điều khiển từ máy tính trở lại động cơ, người nghiên cứu thực hiện ngắt tín hiệu từ cảm biến đến động cơ bằng phần mềm do vi điều khiển thực hiện. Như vậy, khi nhập số liệu từ máy tính, các thông số này sẽ được truyền trực tiếp đến ECU thông qua vi điều khiển. Do đó, để ECU nhận và xử lý được các tín hiệu này, ta phải chuyển tín hiệu số này sang tín hiệu tương tự bằng IC chuyển đổi DAC M62358. Ngoài ra, trên mạch còn sử dụng IC khuếch đại tín hiệu điều khiển từ LM324, IC 7805 chuyển đổi nguồn điện áp 5V cho bộ giao tiếp từ nguồn điện ắc quy 12V, IC 74HC14 tạo dao động cung cấp xung clock cho ADC0809, các transistor, . Hình 1. Sơ đồ nguyên lý mạch giao tiếp Thiết kế phần mềm bộ giao tiếp. Giao thức truyền dữ liệu giữa máy tính và vi điều khiển được thực hiện theo kiểu hỏi đáp. Nghĩa là nếu máy tính muốn gởi dữ liệu thì đầu tiên máy tính sẽ gởi một tín hiệu (254), khi vi điều khiển nhận được tín hiệu này (254) thì gởi lại tín hiệu (253) báo cho máy tính, máy tính sẽ gởi tiếp dữ liệu. Nếu vì lý do nào đó vi điều khiển không nhận được, máy tính chờ hết thời gian xác định mà không nhận được tín hiệu (253) báo thì máy tính sẽ gởi lại tín hiệu đó. Hướng truyền dữ liệu từ vi điều khiển đến máy tính cũng tương tự. Lưu đồ chương trình chính của bộ giao tiếp trong đó gồm các chương trình con sau: - Call ADC: Chương trình con chuyển đổi tín hiệu tương tự - số - Call DAC: Chương trình con chuyển đổi tín hiệu số - tương tự - Call Load: Chương trình con chuyển dữ liệu nhận từ mày tính đưa đến chuyển đổi DAC - Call RPM: Chương trình con đo tốc độ động cơ - Call TGP: Chương trình con đo thời gian phun nhiên liệu - Call TGN: Chương trình con đo thời gian ngậm điện Hình 2. Lưu đồ chương trình chính bộ giao tiếp. Trong khi đang thực hiện chương trình chính nếu có xảy ra hiện tượng ngắt thì chương trình chính tạm thời ngừng hoạt động để thực hiện các chương trình ngắt. Sau khi thực hiện các chương trình ngắt xong, vi điều khiển sẽ quay về chương trình chính tại vị trí ngừng lần trước. Các chương trình ngắt được thực hiện theo lưu đồ hình 3 Hình3. Lưu đồ chương trình các ngắt trong bộ giao tiếp. Thiết kế giao diện giao tiếp bằng matlab. Thực hiện kiểm tra hoạt động của bộ giao tiếp, có thể dùng phần mềm matlab thiết kế giao diện và lập trình giao tiếp qua cổng nối tiếp RS-232. Để thuận lợi cho việc thực nghiệm, người nghiên cứu đã thiết kế giao diện giao tiếp bằng Matlab hiển thị dữ liệu hiện hành và đọc mã lỗi động cơ như hình 4 và 5. Để máy tính nhận dữ liệu từ động cơ ta cần khởi tạo và thiết lập đối tượng cổng nối tiếp. Giả sử, khởi tạo cổng COM1 có tốc độ truyền 19200Baud, có 8 bít dữ liệu truyền và không dùng bít chẵn lẻ. s=serial('COM1'); set(s,'BAUD',19200,'Timeout',1,'InputBufferSize',5 00000, … 'OutputBufferSize', 500000); set(s,'Parity','none','DataBits',8); fopen(s) Tiếp theo cần phải lập trình thêm cho các hàm nhận, truyền và xử lý dữ liệu. Sau khi kết thúc việc giao tiếp ta thực hiện ngắt thiết bị khỏi cổng giao tiếp như sau: fclose(s) delete(s) clear s Chú ý: Khi thiết lập thuộc tính cổng nối tiếp, tốc độ Baud và định dạng truyền dữ liệu của thiết bị truyền và thiết bị nhận phải giống nhau. Đọc dữ liệu hiện hành của động cơ. Để đọc dữ liệu từ động cơ ta nhấn nút ĐỌC DỮ LIỆU, dữ liệu hiện hành của động cơ sẽ được hiển thị trên giao diện như hình 4. Hình 4. Dữ liệu động cơ hiển thị trên máy tính Để nhập dữ liệu điều khiển động cơ từ máy tính ta nhấn nút NHẬP DỮ LIỆU, động cơ sẽ hoạt động theo dữ liệu nhập vào, sự ảnh hưởng của các tín hiệu đầu vào cũng được hiển thị trên giao diện nhờ vào sự thay đổi các đáp ứng đầu ra. Đọc mã lỗi Để đọc mã lỗi từ động cơ ta nhấn nút ĐỌC MÃ LỖI, các lỗi động cơ (nếu có) sẽ được hiển thị trên giao diện máy tính. Khi đọc mã lỗi, máy tính sẽ đọc liên tục, quá trình đọc chỉ dừng lại khi ta nhấn nút XÓA MÃ LỖI hoặc nút TRANG CHỦ để thoát khỏi trang M-LOI trở về trang chủ. Giao diện M_LOI hiển thị mã lỗi động cơ như hình 5. Hình 5. Mã lỗi động cơ hiển thị trên giao diện máy tính Trong quá trình thực nghiệm, so sánh kết quả dữ liệu hiển thị trên giao diện máy tính và máy chẩn đoán DCN-PRO của công ty HANATECH Hàn Quốc ta thấy dữ liệu trên hiển thị trên máy tính và máy chẩn đoán hầu như sai khác nhau rất nhỏ. Ứng dụng. Sau khi tiến hành thí nghiệm để xác định độ ổn định và mức độ chính xác của bộ giao tiếp, người nghiên cứu thực hiện thực nghiệm, ứng dụng bộ giao tiếp xác định sự ảnh hưởng của nhiệt độ động cơ với thời gian phun nhiên liệu trong điều kiện nhất định. Anh hưởng nhiệt độ động cơ đến thời gian phun. Điều kiện thí nghiệm: Cánh bướm ga đóng hoàn toàn, tốc độ động cơ 1000 vòng/phút, nhiệt độ khí nạp 350C, áp suất khí nạp 30 kPa. Thực hiện thay đổi dữ liệu nhập vào ô nhiệt độ động cơ liên tục trong giải từ -20 đến 1000C, các ô còn lại giữ nguyên giá trị. Từ các số liệu nhận được, dùng chương trình Matlab biểu diễn sự ảnh hưởng của nhiệt độ động cơ đến thời gian phun nhiên liệu bằng đồ thị (hình 6). Hình 6. Đồ thị biểu diễn sự phụ thuộc của thời gian phun vào nhiệt độ động cơ Tương tự, chúng ta cũng có thể sử dụng bộ giao tiếp thực hiện các thực nghiệm về sự ảnh hưởng của các thông số đầu vào khác đến thời gian phun nhiên liệu, thời gian ngậm điện và tốc độ động cơ. Kết luận Từ kết quả thực nghiệm cho thấy, bộ giao tiếp hoạt động ổn định, có độ chính xác cao. Vì vậy, có thể ứng dụng bộ giao tiếp để tiến hành các thực nghiệm trong nghiên cứu. Tương tự, với kết quả đọc dữ liệu và truy xuất mã lỗi, bộ giao tiếp là một thiết bị hữu ích trong việc kiểm tra, chẩn đoán hệ thống điều khiển động cơ. Sản phẩm của đề tài là mô hình dạy học hữu ích minh họa sự thay đổi các thông số động cơ và đặc biệt là ảnh hưởng của các tín hiệu đầu vào đến hoạt động của động cơ. TÀI LIỆU THAM KHẢO [1]. PGS.TS. Đỗ Văn Dũng, Trang bị điện và điện tử trên ôtô hiện đại, Nxb Đại học quốc gia Tp. Hồ Chí Minh, năm 2004. [2]. Tống Văn On - Hoàng Đức Hải, Họ vi điều khiển 8051, Nxb Lao động – Xã hội, năm 2001. [3]. Nguyễn Hoài Sơn, Ứng dụng matlab trong tính toán kỹ thuật, Nxb Đại Học quốc gia TP. Hồ Chí Minh, năm 2000. [4]. Ngô Diên Tập, Kỹ thuật kết nối máy tính, Nxb Khoa học Kỹ thuật, năm 2005. [5]. Ngô Diên Tập, Đo lường và điều khiển máy tính, Nxb Khoa học Kỹ thuật, năm 1999. [6]. Ngô Diên Tập, Lập trình kết nối máy tính trong Windows, Nxb Khoa học Kỹ thuật, năm 2005. [7]. Allan W.M. Bonnick, Automotive computer cotrolled systems, Butterworth – Heinemann, 1999. [8]. Toyota, Toyota computer control systerms.
File đính kèm:
- Nghiên cứu thiết kế chế tạo bộ giao tiếp giữa máy tính và ecu điều khiển động cơ.pdf