Mạch khuếch đại khơng đảo

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống cruise control cho xe ô tô điện (Trang 68)

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 Rf0 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; }

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống cruise control cho xe ô tô điện (Trang 68)

Tải bản đầy đủ (PDF)

(107 trang)