Hình 4 .11 Mạch đo tốc độ động cơ
Hình 4.16 Mạch khuếch đại khơng đảo
59 Dựa theo nguyên lý hoạt động của mạch khuếch đại khơng đảo Opamp, điện áp đầu ra được tính theo cơng thức Vout = (1+ Rf/R)*Vin. Theo đó, để đáp ứng yêu cầu của mạch xử lý tín hiệu vị trí bàn đạp tăng tốc thì bắt buộc Vout=Vin, suy ra Rf0 và R=∞ đồng nghĩa loại bỏ R[8], lúc này mạch khuếch đại không đảo Opamp trở thành mạch đệm. Các chân của IC LM358 được lắp như Hình 4.14 thỏa mãn yêu cầu đề ra của mạch điện.
Lý do sử dụng mạch đệm khác nhiều so với việc sử dụng 1 dây điện là lợi dụng ưu điểm của mạch Opamp có trở kháng rất lớn ở điện áp đầu vào, khiến cho dịng tải tín hiệu nhỏ, đồng thời tín hiệu đầu ra có trở kháng nhỏ, có nghĩa tín hiệu ở đầu ra sẽ được giữ ngun đặc tính, ít bị suy hao tín hiệu. Vì vậy, chỉ cần điều chỉnh điện áp đầu vào, phụ thuộc vào chế độ điều khiển của người lái đầu ra ta thu được tín hiệu điện áp cùng giá trị, thỏa mãn điều kiện làm việc như một chân ga giả định của mạch.
4.2.2.3. Mạch nhận tín hiệu các cơng tắc và cụm cơng tắc điều khiển
Hình 4.17. Mạch nhận tín hiệu các cơng tắc và cụm công tắc điều khiển Bảng 4.3. Bảng lắp dây mạch nhận tín hiệu từ cơng tắc
Tên chân Vị trí chân Màu dây Vị trí chân nối tới
J3
Chân 1 Đỏ Chân ON/OFF của cụm công tắc Cruise Control
Chân 2 Xanh dương Chân chung của 3 chế độ Resume, Cancel, Set của cụm công tắc Cruise Control Chân 3 Vàng Chân chung của cả cụm công tắc
60 J9
Chân 1 Đỏ Chân 5V Arduino
Chân 2 Tím Chân GND Arduino
Chân 3 x x
J10 Chân 1 Đen Công tắc lùi
Chân 2 Trắng Chân 24 Arduino
J13
Chân 1 Xám Chân A1 Arduino
Chân 2 Xanh lá Chân A2 Arduino
J15
Chân 1 Đỏ Công tắc bàn đạp phanh
Chân 2 Nâu Chân 22 Arduino
Transistor Q2 được kích hoạt khi cơng tắc lùi được bật, tín hiệu từ Arduino sẽ được truyền đi để làm tín hiệu ngắt hệ thống Cruise Control, Transistor Q4 hoạt động tương tự khi công tắc bàn đạp phanh gửi tín hiệu và tạm ngắt hệ thống ở trạng thái Cancel. Hai tín hiệu này được lấy trực tiếp từ Arduino bằng điện áp 5V hoặc GND. Nguồn 5V được cấp cho cụm công tắc điều khiển hệ thống Cruise Control, với mỗi chế độ trên cụm công tắc sẽ xuất ra một giá trị tương ứng, căn cứ vào giá trị đó để lập trình cho mỗi trường hợp điều khiển khác nhau.
4.2.2.4. Các mạch phụ
4.2.2.4.1. Mạch hiển thị thơng tin và an tồn
Màn hình LCD 1602 làm màn hình hiển thì, với ưu điểm giá thành rẻ, ít tốn tài nguyên hệ thống, dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau. Dễ dàng trong việc thiết kế mạch điện để xử lý hiển thị
61 Hình 4.19. Mạch an tồn
Hình 4.20. Sơ đồ mạch LCD và mạch an toàn
Mạch an tồn có chức năng ngắt tồn bộ hệ thống Cruise Control khi tín hiệu an tồn được kích hoạt. Trong đó, khi có tính hiệu từ cơng tắc an tồn gửi tới, Transistor Q7 sẽ kích hoạt, dẫn tín hiệu trực tiếp từ Arduino và ngắt hồn tồn hệ thống Cruise Control.
4.2.2.4.2. Mạch chuyển tín hiệu điều khiển
Hình 4.21. Mạch chuyển tín hiệu điều khiển 5V 5V
GND
62 Ngun lý mạch hoạt động rất đơn giản, vì tính hiệu từ cảm biến vị trí bàn đạp tăng tốc đến hộp xử lý thơng tin của xe được thiết kế lại, nên khi chưa kích hoạt hộp điều khiển hệ thống Cruise Control bằng cơng tắc tổng, cảm biến vị trí bàn đạp tăng tốc khơng thể gửi tín hiệu đến hộp xử lý thơng tin của xe được, nên mạch này có tác dụng cho phép cảm biến gửi tín hiệu trực tiếp đến hộp xử lý thơng tin của xe để xe vận hành. Khi công tắc tổng được bật, mạch này sẽ ngắt, tín hiệu từ cảm biến vị trí bàn đạp tăng tốc sẽ được gửi đến hộp xử lý thông tin của xe thông qua hộp điều khiển hệ thống Cruise Control. Làm đơn giản quá trình vận hành xe, khơng cần phải cắm giắc dự phịng khi ngắt nguồn hộp điều khiển hệ thống Cruise Control.
Bảng 4.4. Bảng lắp dây các mạch mạch phụ
Tên chân Vị trí chân Màu dây Vị trí chân nối tới
J4
Chân 1 Xanh dương Tín hiệu vị trí bàn đạp tăng tốc phía dưới
Chân 2 Đỏ Tín hiệu vị trí bàn đạp tăng tốc phía trên
J12
Chân 1 Tím Chân GND Arduino
Chân 2 Trắng Chân 5V Arduino
LCD 1602
Chân 1, chân 5, chân 16,
âm biến trở Đen Chân GND Arduino
Chân 2, chân 15,
dương biến trở Đỏ Chân 5V Arduino
Chân 4 Xanh dương Chân 9 Arduino
Chân 11 Đen Chân 7 Arduino
Chân 12 Đỏ Chân 6 Arduino
Chân 13 Xanh dương Chân 5 Arduino
Chân 14 Vàng Chân 4 Arduino
J14
Chân 2 Đỏ Chân 30 Arduino
Chân 1 Tím Tín hiệu
63
4.3. Vẽ mạch điện và tiến hành lắp đặt hệ thống 4.3.1. Vẽ mạch điện 4.3.1. Vẽ mạch điện
Với sự hỗ trợ của phần mềm AutoCAD Electronic, mạch điện tổng quát được vẽ theo chuẩn IEC( Interational Electrotechnical Commission) - Ủy ban Kỹ thuật Điện Quốc Tế. Bảng 4.5. Bảng chú thích các linh kiện, chi tiết
Ký hiệu - Linh kiện – Chi tiết Chú thích
Giắc nối đực và số chân Giắc nối cái và số chân
Cơng tắc hành trình Cơng tắc đơn
Điện trở Cầu chì
Cơng tắc đơi( cơng tắc tổng) Biến trở
Cơng tắc chọn hồi vị trí J2.3 Chân thứ 3 của cụm chân cắm J2 AM.5 Chân 5 trên Board Arduino Mega 2560
Ngoài ra, các linh kiện điện tử ,chi tiết đã sử dụng trong quá trình thiết kế mạch điện gồm: Diode 1N4001; Diode Zener; Điện trở: 560Ω, 1kΩ, 4.7kΩ, 10kΩ; Tụ điện 10uF; Transistor NPN 2N2222; Relay 9V (Mạch chuyển tín hiệu điều khiển sử dụng Relay 5V); Cầu chì; Cơng tắc tổng 4 chân; Giắc nối 3 chân, 4 chân, 9 chân cỡ 2.8.
64
4.3.2. Lắp đặt hệ thống Cruise Control lên xe ZERO
Hình 4.22. Hộp điều khiển hệ thống Cruise Control
Hình 4.23. Màn hình hiển thị
Hộp điều khiển gồm các giắc từ tín hiệu bên ngồi gửi vào và tín hiệu xuất ra bộ chấp hành, cơng tắc tổng khởi động cấp nguồn cho hộp điều khiển thông qua giắc cắm trịn, cầu chì được đặt ra bên ngồi để dễ dàng thay thế khi có sự cố về nguồn.
Màn hình hiển thị các thơng tin gồm: tốc độ xe, tốc độ hệ thống thiết lập, trạng thái hoạt động của hệ thống Cruise Control, núm điều chỉnh độ sáng màn hình hiển thị. Giắc 9 chân gồm 8 dây xử lý màn hình và 1 dây tín hiệu từ cơng tắc an tồn.
65 Hình 4.24. Cụm công tắc điều khiển hệ thống Cruise Control
Hình 4.25. Sơ đồ bố trí giắc cắm trên hộp điều khiển Chú thích: Chú thích:
- 1: Giắc 9 chân từ màn màn hình tới - 2: Giắc nạp chương trình cho hệ thống - 3: Giắc cấp nguồn cho Arduino
- 4: Giắc 3 chân từ cụm công tắc điều khiển hệ thống Cruise Control - 5: Cầu chì
- 6: Giắc 4 chân gồm 2 chân từ cảm biến tốc độ và 2 chân nguồn 12V - 7: Giắc 9 chân từ cảm biến vị trí bàn đạp tăng tốc và các công tắc - 8: Công tắc tổng 1 5 6 2 3 7 4 8
66
CHƯƠNG 5. THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Sau q trình thực hiện đồ án, nhóm đã hồn thành chương trình điều khiển cho CCS ECU bằng Arduino IDE và lắp đặt hệ thống lên xe điện ZERO. CCS ECU đáp ứng tất cả các chức năng.
5.1. Chức năng cài đặt tốc độ (SET)
Hình 5.1. Màn hình hiển thị thơng tin khi khi đã cài đặt tốc độ
Hình 5.2. Hệ thống điều khiển ga tự động khi đã cài đặt tốc độ
Sau khi đã cài đặt tốc độ mong muốn, khi nhả chân ga, CCS ECU sẽ điều khiển xe điện di chuyển ở tốc độ cài đặt, sau đó giữ tốc độ khơng đổi. Trong q trình hoạt động, ta có thể thay đổi tốc độ cài đặt theo mong muốn bằng cách sử dụng công tắc điều khiển.
5.2. Chức năng hủy (CANCEL)
67 Ở chức năng này, CCS ECU tạm ngưng điều khiển xe điện ZERO sau khi đạp phanh hoặc bật cơng tắc CANCEL, tốc độ cài đặt trước đó sẽ được lưu lại bộ nhớ CCS ECU, vận tốc cài đặt này sẽ được kích hoạt trở lại khi sử sử dụng chức năng phục hồi tốc độ cài đặt (RESUME).
Hình 5.4. Màn hình hiển thị thơng tin khi tắt hệ thống điều khiển ga tự động
Trong trường hợp xe nhận tín hiệu lùi, tín hiệu đâm đụng hoặc bật công tắc CRUISE khi CCS ECU đang hoạt động, hệ thống điều khiển ga tự động tự động tắt và xóa tốc độ cài đặt trước đó, yêu cầu người lái phải thực hiện lại các thao tác lại từ đầu.
5.3. Chức năng phục hồi tốc độ cài đặt (RESUME)
Hình 5.5. Hệ thống điều khiển ga tự động khi phục hồi tốc độ cài đặt Để phục hồi tốc độ cài đặt, tốc độ của xe phải lớn hơn 6km/h. Để phục hồi tốc độ cài đặt, tốc độ của xe phải lớn hơn 6km/h.
5.4. Chức năng tăng tốc (ACCELERATE) và giảm tốc (COAST)
68 Hình 5.6. Hệ thống điều khiển ga tự động khi tăng tốc độ cài đặt theo từng nấc Để giảm tốc độ theo nấc, bật công tắc SET/COAST và thả ra lập tức.
Hình 5.7. Hệ thống điều khiển ga tự động khi giảm tốc độ cài đặt theo từng nấc Để tăng hoặc giảm tốc độ liên tục, bật công tắc RES/ACC hoặc SET/COAST và và Để tăng hoặc giảm tốc độ liên tục, bật công tắc RES/ACC hoặc SET/COAST và và giữ đến khi đạt được tốc độ mong muốn.
69 Hình 5.8. Hệ thống điều khiển ga tự động khi tăng và giảm tốc độ cài đặt liên tục
Hệ thống điều khiển tự động đáp ứng tăng tốc độ nhanh và mượt mà, đảm bảo sự thoải cho người lái. Tốc độ đáp ứng ổn định từ tốc độ 6km/h đến 16km/h với độ sai lệch khoảng 0.3km/h (do các yếu tố từ mặt đường)
5.5. Chức năng điều khiển tốc độ không đổi
Khi hệ thống điều khiển ga tự động hoạt động, xe sẽ đảm bảo di chuyển ở tốc độ khơng đổi. Nhưng sẽ có những trường hợp đặc biệt như khi người lái muốn tăng tốc vượt phương tiện phía trước hoặc leo dốc.
Ở trường hợp khi người lái muốn tăng tốc vượt phương tiện phía trước, người lái có thể sử dụng bàn đạp tăng tốc để thay đổi tốc độ xe, sau khi đã vượt được phương tiện, người lái có thể bỏ bàn đạp tăng tốc ra và CCS ECU sẽ điều khiển xe trở lại tốc độ cài đặt.
Hình 5.9 Hệ thống điều khiển ga tự động tự động trả về tốc độ cài đặt khi người lái tăng tốc bằng bàn đạp tăng tốc
70 Hình 5.10. Hệ thống điều khiển ga tự động tự động trả về tốc độ cài đặt
khi người lái giảm tốc bằng bàn đạp tăng tốc
Hình 5.11. Hệ thống điều khiển ga tự động tự động trả về tốc độ cài đặt khi người lái qua một đoạn dốc vừa
71
CHƯƠNG 6. KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN ĐỀ TÀI 6.1. Những thành quả thu được
Nắm vững nguyên lý hoạt động của xe ô tô điện.
Nắm vững nguyên lý hoạt động của hệ thống Adaptive Cruise Control trên xe điện.
Thực hiện lập trình, lắp đặt hệ thống Cruise Control trên xe ô tô điện ZERO.
Thực hành cơ khí và hàn mạch điện.
Hệ thống Cruise Control trên xe điện hoạt động ổn định, đáp ứng yêu cầu đặt ra.
6.2. Hạn chế của đề tài
Hệ thống Cruise Control chưa đủ điều kiện để nâng cấp lên hệ thống Adaptive Cruise Control do chưa có hệ thống cảm biến RADAR hoặc LiDAR và bộ xử lý ảnh, hệ thống điều khiển phanh ABS.
Tốc độ đáp ứng thấp do giới hạn của xe, chỉ có thể sử dụng trong khuôn viên biệt lập như sân golf, trường học.
6.3. Định hướng phát triển đề tài
Tích hợp thêm các cơ hệ thống cảm biến RADAR hoặc LiDAR và bộ xử lý ảnh, hệ thống điều khiển phanh ABS trên xe điện ZERO rồi từ đó kết hợp để xây dựng hệ thống thống Adaptive Cruise Control.
Nâng cấp hệ thống điều khiển, hệ thống giao tiếp trên xe điện ZERO để đảm bảo yêu cầu kỹ thuật cho các công nghệ tiên tiến mới trên ô tô.
72
TÀI LIỆU THAM KHẢO
[1] Tài liệu đào tạo Toyota
[2] Nissan Leaf (2015-2017) Service Manual
[3] https://www.oto-hui.com/diendan/threads/tim-hieu-cam-bien-toc-do-xe-vehicle- speed-sensor.111689/ [4] https://hnue.edu.vn/Portals/0/TeachingSubject/tungpk/9b0bee58-5a43-4963- b90c-4a70cfa68249Truyen-dong-dien---C2.pdf [5] https://voer.edu.vn/m/binh-ac-quy/2458429b [6] http://robocon.vn/detail/ic41-ic-74hc14-ic-logic.html [7]https://obitvn.wordpress.com/2018/09/20/chong-nhieu-cho-vi-dieu-khien-bo- dem-opamp-cho-tin-hieu-analog/ [8] https://www.youtube.com/watch?v=uGnfgb7VW_M
73
PHỤ LỤC
1. Sơ đồ mạch điện hệ thống Intelligence Cruise Control trên xe Nissan Rogue Hybrid đời 2017
Hình 7.1. Sơ đồ mạch điện hệ thống Intelligence Cruise Control trên xe Nissan Rogue Hybrid đời 2017
74 Hình 7.2. Sơ đồ mạch điện hệ thống Intelligence Cruise Control trên xe
75
2. Mạch điện tổng quát hệ thống Cruise Control
76 Hình 7.4. Mạch điện tổng quát hệ thống Cruise Control(tiếp theo)
CCS ECU
77 Hình 7.5. Sơ đồ lắp dây và vị trí chân theo tầng trong hộp điều khiển(tầng trên)
78 Hình 7.6. Sơ đồ lắp dây và vị trí chân theo tầng trong hộp điều khiển(tầng dưới)
79 Hình 7.7. Sơ đồ dây điện từ tín hiệu bên ngồi
80 Hình 7.8. Giắc nối và thứ tự chân
81
3. Code hệ thống CCS trên xe Zero
//khai bao thu vien <LiquidCrystal.h> #include <LiquidCrystal.h>
//khai bao tin hieu tu cac cong tac #define chanphanh 22
#define lui 24
#define damdung 30 // khai bao gia tri LCD #define rs 9 #define en 8 #define d4 7 #define d5 6 #define d6 5 #define d7 4 LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // khai bao cac chan dieu khien
#define enA 11 //dieu khien ga tu dong #define in1 26 //dieu khien relay 4 #define in2 28 //dieu khien relay 5 // khai bao bien tinh toan toc do #define Chuvi 0.048
#define time 0.5 // khai bao PID
#define ERROR_INFERIOR_TOLERANCE_SPEED 0 ; // Km/h #define MIN_PEDAL_POSITION 20 // tin hieu vi tri chan ga nho nhat #define MAX_PEDAL_POSITION 255// tin hieu vi tri chan ga lon nhat
#define MAX_PEDAL_ADVANCE_PER_STEPtang 30 // muc tang, giam toi da #define Kp_SPEED 1.5
#define Ki_SPEED 0.0000355 #define Kd_SPEED 2
82 #define Kp_RPM 0.13
#define Ki_RPM 0.0000355 #define Kd_RPM 0.13 //khai bao bien
unsigned long time_now = 0;
unsigned long time_start = 0; int tar; int state; unsigned long time_vt;
unsigned long time_vt2 = 0;
float t_nhan; float tiki; int logic; int chedo_ctdk; int giam; int tang; float xam;
float vantoc; int targetspeed; float targetRPM; float currentRPM; float vantoccu;
unsigned int xung1s = 0; int v123; int bientro; int buttons = 0; int bat = 0; int dieukien_bat = 0;
int e = 0; int w = 0; int v2 = 0; int u = 0; int bientrolol;
int wasup = 0; float giatoc; // PID
float integral = 0; float previousError = 0;
unsigned long lastdt = millis();
int controlCode = 0; boolean releaseControlFeedback = false; int i = 0; float dieukien_PID; void xung() { xung1s++; } void setup() { pinMode (2, INPUT_PULLUP); pinMode (damdung, INPUT);
83 pinMode (enA, OUTPUT);
pinMode (in1, OUTPUT); pinMode (in2, OUTPUT); pinMode (chanphanh, INPUT); pinMode(lui, INPUT); lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("Toc do:"); lcd.print(" " + String(vantoc)); lcd.setCursor(0, 1); lcd.print("Target: "); lcd.setCursor(8, 1); lcd.print("NA"); Serial.begin(9600);
attachInterrupt (0, xung, FALLING ); }
void CCSAnalyze() { if (Serial.available()) { char temp = Serial.read(); if (temp == '0') state = 0; if (temp == '1') state = 1; if (temp == '2') state = 2; } switch (state) { case 0: break; case 1:
84 tar = targetspeed; Serial.print(time_now); Serial.print("|"); Serial.print(vantoc); Serial.print("|"); Serial.println(tar); break; case 2: time_now = 0; time_start = millis(); state = 0; tar = 0; break; }