Chương 2 CƠ SỞ LÝ THUYẾT
3.2. Ứng dụng phần mềm Arduino IDE trong lập trình CCS ECU
3.2.1. Code đọc tín hiệu các cơng tắc, cảm biến
Các tín hiệu được nhận về Arduino có các chân analog và các chân digital. Chân analog được dùng để đọc tín hiệu của cảm biến vị trí bàn đạp tăng tốc và mạch nhận tín hiệu cụm cơng tắc điều khiển. Tín hiệu điện áp thu thập từ chân analog sẽ chuyển đổi tín hiệu điện áp từ 0V đến 5V thành dãy giá trị từ 0 đến 1023. Chân digital được dùng để đọc tín hiệu của mạch đo tốc độ động cơ và mạch đọc tín hiệu các cơng tắc. Tín hiệu điện áp thu thập từ chân digital sẽ chuyển đổi tín hiệu điện áp xấp xỉ 0V là giá trị 0 và tín hiệu điện áp từ 3.3V trở lên là giá trị 1. Bên cạnh đó, đối với tín hiệu từ mạch đo tốc độ động cơ sẽ sử dụng chân digital số 2 có hỗ trợ ngắt để tính tốn tốc độ động cơ.
- Lưu đồ và code đọc tín hiệu chân analog trong chương trình Arduino IDE:
Hình 3.4. Lưu đồ đọc tín hiệu chân analog
bientro = analogRead (A0); // đọc tín hiệu cảm biến vị trí bàn đạp tăng tốc qua chân A0 i = map (bientro,0,1023,0,255); // chuyển đổi giá trị thành dãy giá trị 0 đến 255
- Lưu đồ và code đọc tín hiệu chân digital trong chương trình Ardiuno IDE:
Hình 3.5. Lưu đồ đọc tín hiệu chân digital
th_damdung = digitalRead (22);// đọc tín hiệu cơng tắc đâm đụng qua chân digital 22 - Lưu đồ và code đọc tốc độ động cơ trong chương trình Ardiuno IDE:
Hình 3.6. Lưu đồ đọc tốc độ động cơ void xung() {//chương trình ngắt void xung() {//chương trình ngắt
xung1s++; }
void setup() {
pinMode (2, INPUT_PULLUP); // khai báo chân ngắt
46 }
Void loop(){
time_vt = millis() - time_vt2; if (time_vt >= 500)
{
noInterrupts();// tạm dừng chương trình ngắt vantoc = xung1s * ((Chuvi / 0.5) * 3.6); time_vt2 = millis();
xung1s = 0; // xóa xung đếm được trong vịng 1s
dieukien_PID = 1;// tín hiệu điều kiện để kích hoạt PID time_vt = 0;
interrupts();// tiếp tục chương trình ngắt }
}
3.2.2. Code xử lí tín hiệu cơng tắc điều khiển và điều khiển chế độ thực hiện
Dựa vào tín hiệu chân analog A1, A2 được đọc từ mạch tín hiệu cụm cơng tắc, ta bắt đầu so sánh các giá trị tương ứng và điều kiện hoạt động với các chức năng như CRUISE, SET, CANCEL, RESUME, ACCELERATE, COAST. Khi tín hiệu thõa các điều điều kiện, từ đó các biến điều khiển controlCode được thay đổi theo các giá trị 0,1,2,3 tương ứng với các chế độ điều khiển lần lượt là điều khiển bình thường, điều khiển ga tự động theo tốc độ cài đặt trước bằng hàm điều khiển PID, điều khiển ga tự động với tốc độ giảm dần bằng hàm điều khiển PID, điều khiển ga tự động tăng dần bằng hàm điều khiển PID.
47 - Lưu đồ thuật toán điều khiển bật tắt hệ thống điều khiển ga tự động
Hình 3.7. Lưu đồ thuật tốn điều khiển bật tắt hệ thống điều khiển ga tự động - Lưu đồ thuật toán điều khiển các chức năng của hệ thống - Lưu đồ thuật toán điều khiển các chức năng của hệ thống
48 - Lưu đồ thuật toán điều khiển chế độ điều khiển:
49 - Lưu đồ thuật toán điều khiển PID
50