Hình 3.3 Cơ cấu giá đỡ mơ phỏng
1- T rục cố định 3- Vít cố định 5- hộp giữ trục trượt 2- Trục trượt dọc 4- Trục trượt ngang 6- Vít đỡ giá động cơ điện
3.1.3. Thiết kế cơ cấu gá vào vô lăng
Để cơ cấu gá vào vơ lăng có thể giữ chặt và làm quay vơ lăng trong q trình động cơ điện cung cấp momen xoắn, chúng em tiến hành thiết kế một cơ cấu 3 chạm, góc giữa
33 mỗi chạm bằng 1200, sử dụng 3 bu lông để ép chặt vào vành lái, trên đầu mỗi bu lơng đều có gắn cao su đệm để tránh gây trầy xƣớc đối với vơ lăng. Chính giữa tâm, có một trục nối, đƣợc hàn cứng, và nối cứng với ổ đai răng cố định bằng bu lơng. Sử dụng một bạc đạn có giá đỡ, quay trơn với trục quay là trục nối cứng cơ cấu gá với ổ đai răng, đồng thời, dùng bu lông và đai ốc để nối với một miếng sắt lá, bên trên miếng sắt có hàn cố định 2 trục trịn để căn đai. Encoder đƣợc gắn đồng trục với bạc đạn, ổ đai răng hay có thể cho nối là đồng tâm với vô lăng và cố định bằng một giá đỡ đƣợc hàn trên miếng sắt nối ổ bi. Nhƣ vậy, hi cơ cấu chuyển động, encoder sẽ đc giữ cố định để có thể thực hiện đƣợc việc đọc xung một cách chính xác nhất.
3.1.3.1. Vật liệu thiết kế
3 thanh inox lá chiều dài 210mm, chiều rộng 40mm, dày 2.5mm 2 thanh inox lá chiều dài 40mm, rộng 40mm, dày 2.5mm
3 miếng cao su đệm dày 20mm 3 bu lơng – đai ốc đƣờng ính 10mm Bạc đạn đƣờng ính trong 20mm 2 trục inox trịn đƣờng ính 6mm
3.1.3.2. Thiết kế mơ phỏng cơ cấu gá trên SolidWorks
34
Hình 3.5 Cơ cấu gá vô lăng mô phỏng
1- Cảm biến đo góc Encorder 4- Vít vặn 7- Trục căng đai 2- Ổ đai răng lớn 5- Cao su đệm 8- Giá đỡ cảm biến 3- Bạc đạn và ổ đỡ bạc đạn 6- Trục đỡ ở đai răng nhỏ 9- Khớp nối cứng
3.1.4. Thiết kế giá đỡ động cơ
Trong quá trình hoạt động, động cơ điện sẽ dao động rất nhiều, chính vì thế cần đƣợc đặt cố định trên một cơ cấu nhằm đảm bảo quá trình hoạt động diễn ra ổn định. Mặt hác vô lăng trên mỗi loại xe cơ giới thƣờng đƣợc đặt với một góc nghiêng nên để đảm bảo trục động cơ điện ln vng góc với mặt phẳng vơ lăng tại tâm của vô lăng, hay trục động cơ điện luôn song song với mặt phẳng trục vơ lăng lái thì giá đỡ động cơ điện phải có hả năng thay đổi góc quay. Đây là vấn đề chính trong việc gá động cơ điện để truyền mô men xoắn giúp làm quay vô lăng.
3.1.4.1. Vật liệu thiết kế
1 tấm bản lề bằng inox
1 giá đỡ động cơ bằng inox đã đƣợc tạo hình sẵn Bu lơng – đai ốc đƣờng ính 6mm
3.1.4.2. Thiết kế mơ phỏng giá đỡ động cơ bằng SolidWorks
Khi thiết kế cơ cấu giá đỡ trƣợt, chúng em có dùng một bu lông hàn cứng với trục trƣợt ngang ở một đầu trục. Do vậy trên tấm bản lề, chúng em cũng khoan một lỗ 10mm
35 và sẽ dùng đai ốc 10mm siết cứng giá đỡ động cơ trong quá trình đo iểm. Đây cũng là chỗ cho phép chúng em có thể thay đổi góc nghiêng của trục động cơ sao cho phù hợp.
Hình 3.6 Hình chiếu 3 mặt giá đỡ động cơ điện
Hình 3.7 Cơ cấu giá đỡ động cơ điện mô phỏng 1- Ổ đai răng nhỏ 3- Khung giá đỡ động cơ 1- Ổ đai răng nhỏ 3- Khung giá đỡ động cơ
36
3.1.5. Thiết kế giá đỡ cảm biến
Cảm biến đƣợc đặt ở bánh xe. Với ý tƣởng sử dụng cảm biến loại cảm biến siêu âm, có hả năng tự đọc khoảng cách từ cảm biến đến bánh xe do đó chúng em quyết định sẽ sử dụng một giá đỡ, đặt dƣới cố định dƣới nền phẳng gần bánh xe. Giá đỡ cảm biến đƣợc thiết kế từ vật liệu sắt với các ích thƣớc đƣợc cho nhƣ trong bản vẽ và một khung đỡ cảm biến bằng nhựa.
Hình 3.8 Hình chiếu 3 mặt giá đỡ cảm biến
Hình 3.9 Cơ cấu giá đỡ cảm biến
3.1.6. Cơ cấu cơ khí hồn chỉnh của mơ hình đo độ rơ vơ lăng tự động trên xe cơ giới và phƣơng chiều chuyên động của các bộ phận
Với những bộ phận riêng biệt đã đƣợc thiết kế và với nhƣng cơng cụ hữu ích mà SolidWorks mang lại, bƣớc tiếp theo đó là tiến hành liên ết các bộ phận lại với nhau để tạo thành một cơ cấu hoàn chỉnh nhất và tiến hành mô phỏng hoạt động của cơ cấu. Công
37 việc này sẽ giúp hình dung một cách rõ ràng nhất, cho ta cái nhìn trực quan gần nhất về hoạt động của cơ cấu sau hi đƣợc chế tạo ra.
3.1.6.1. Cơ cấu cơ khí hồn chỉnh
Hình 3.10 Mơ hình cơ cấu đo độ rơ vơ lăng hồn chỉnh
Giá đỡ hệ dẫn động 2- Giá đỡ động cơ điện 3- Cơ cấu gá
Chuyển động tịnh tiến theo phương ngang Chuyển động tịnh tiến theo phương thẳng đứng
Chuyển động quay
Hệ dẫn động vơ lăng đƣợc hồn thiện đƣợc sử dụng trong cơ cấu cơ hí nhƣ hình 3.10
38
1- Mô tơ điện 2- Đai răng 3- Cơ cấu gá
Đƣờng truyền mô men xoắn từ động cơ điện đến vơ lăng:
Hình 3.12 Sơ đồ đường truyền công suất đến vô lăng
Sau hi mô phỏng hoạt động của cơ cấu cơ hí với SolidWor s và tiến hành đánh giá hả năng đáp ứng các yêu cầu của quá trình đo độ rơ vơ lăng tự động trên xe cơ giới. Nhận ra cơ cấu này có thể hồn tồn hả năng thực hiện điều đó, vì vậy đây sẽ là cơ cấu đƣợc sử dụng và bắt đầu quá trình chế tạo thử một cơ cấu đo độ rơ thực tế.
3.1.7. Tiến hành chế tạo mơ hình thực tế cơ cấu đo độ rơ vơ lăng
Từ những k năng thực hành cơ hí đã đƣợc thực hành trong q trình học tập và số liệu ích thƣớc của từng chi tiết đã đƣợc cho trong các bản vẽ 2D bên trên. Chúng em đã tiến hành thực hiện và hoàn thiện lần lƣợt từng bộ phận trong mơ hình cơ hí đã đƣa ra. Một số yêu cầu đề ra trong quá trình thực hiện:
K năng sử dụng máy hàn Mig CO2
Đo đạc chế tạo các bộ phận bằng ích thƣớc trong bản vẻ với dung sai nhỏ nhất để tránh tạo thêm độ rơ cơ hí cho ết quả đo iểm
Tuân thủ các quy tắc về an tồn lao động trong q trình chế tạo Một số hình ảnh về cơ cấu cơ hí thực tế đã đƣợc chế tạo:
Động cơ điện DC 24V
Bộ truyền động đai răng
Cơ cấu gá vít 3 chạm
39
Hình 3.13 Cơ cấu gá vơ lăng
40
Hình 3.15 Giá đỡ cảm biến
Hình 3.16 Giá đỡ cơ cấu dẫn động vơ lăng và hình ảnh tổng quát về cơ cấu đo độ rơ vô lăng được thực hiện
41
3.2. Mô phỏng mạch trên Proteus
Chúng em thảo luận với nhau sử dụng Arduino Nano để làm vi điều khiển trung tâm, dùng LCD 16x2 để làm màn hình hiển thị thơng tin, dùng cảm biến siêu âm US-015 để phát hiện sự dịch chuyển của bánh xe, sử dụng incremental rotary encoder LPD3806- 400BM-G5-24C có 600 xung/vịng để đo góc xoay của vơ lăng, nhƣ vậy độ chia nhỏ nhất của của cảm biến là độ. Dùng cầu H rờ le để điều khiển động cơ. Trong Proteus thì chúng em sử dụng sẵn Motor có sẵn Encoder giả lập phát 3 tín hiệu xung pha A, pha B và pha Z, chúng em chỉ sử dụng hai pha A và pha B để xác định góc quay. Nhƣ hình 3.17 thì hoảng cách của cảm biến siêu âm tới bánh xe dẫn hƣớng đƣợc điều chỉnh bằng biến trở, đầu tiên thì vi điều khiển lƣu hoảng cách chuẩn từ cảm biến siêu âm tới bánh xe dẫn hƣớng, cho động cơ điện phát động vô lăng quay ngƣợc chiều im đồng hồ, khi khoảng cách từ cảm biến siêu âm tới bánh xe dẫn hƣớng nhỏ hơn khoảng cách chuẩn thì dừng động cơ điện lại, đặt giá trị đo góc về 0, tiếp tục cho vô lăng quay qua phải tới khi khoảng cách từ cảm biến siêu âm tới bánh xe dẫn hƣớng lớn hơn khoảng cách chuẩn thì dừng lại, ghi nhận giá trị góc quay tự do hay độ rơ vô lăng và xuất giá trị ra màn hình LCD. Sau hi lập trình trên Arduino, cho chạy thử trên Proteus thì chúng em thấy hệ thống hoạt động thành công trên nguyên lý đo.
42 Code để cảm biến siêu âm biết đƣợc khoảng cách:
long sieuam() {
digitalWrite(TrigPin, LOW); delayMicroseconds(2);
digitalWrite(TrigPin, HIGH); //tạo ra một xung trong khoảng thời gian ngắn delayMicroseconds(5);
digitalWrite(TrigPin, LOW);
Time_Echo_us = pulseIn(EchoPin, HIGH,20000);
/* cảm biến sẽ tạo xung HIGH ở chân Echo từ khi phát đến khi nhận lại tín hiệu xung ở chân Trig, hàm pulse sẽ đo khoảng thời gian đó*/
kc = Time_Echo_us/2/29.412;
/* Tốc độ của âm thanh trong khơng khí là 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)). Khi đã tính được thời gian, ta sẽ chia cho 29,412 để nhận được khoảng cách.*/
return kc; // trả kết quả về hàm sieuam()}
Code để encoder biết đƣợc góc xoay:
attachInterrupt(0, demxung, FALLING);
/* dùng hàm ngắt khi pha A của encoder từ mức HIGH xuống mức LOW thì gọi chương trình demxung để thực thi */
void demxung() { if (digitalRead(int2) == LOW) { xung++; }
// khi đó pha B ở mức LOW thì encoder xoay theo chiều kim đồng hồ, xung sẽ tăng lên một đơn vị
else { xung--;
43
}
// nếu pha B ở mức HIGH thì encoder xoay ngược chiều kim đồng hồ, xung sẽ giảm một đơn vị
}
Khi ta đó để tính được góc xoay encoder ta lấy xung*360/600
Code để điều khiển động cơ điện hình 3.1:
void quaytrai() {
digitalWrite(in1,HIGH); // vi điều khiển tạo điện áp làm transitor Q1 dẫn, điện qua cuộn dây làm rờ le 1 dẫn, động cơ điện quay trái
digitalWrite(in2,LOW); }
void quayphai() {
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH); // vi điều khiển tạo điện áp làm transitor Q2 dẫn, điện qua cuộn dây làm rờ le 2 dẫn, động cơ điện quay phải
}
void dungyen() {
digitalWrite(in1,LOW);
digitalWrite(in2,LOW); // vi điều khiển ngắt điện áp kích làm hai transitor không dẫn, nên hai rờ le ngắt, động cơ điện đứng yên}
Code điều khiển hệ thống mô phỏng đo độ rơ vô lăng:
void loop()
{if (kcc == 0) kcc = sieuam(); // đầu tiên đặt khoảng cách chuẩn từ cảm biến đến bánh xe
while ( kcc == sieuam()) quaytrai(); // trong khi khoảng cách chuẩn bằng với khoảng cách siêu âm trả về thì động cơ điện quay trái
dungyen();
44
point = true;// xác định động cơ điện đã quay sang trái
while ((kcc < sieuam()) && point ==true) quayphai(); // trong khi khoảng cách chuẩn nhỏ so với khoảng cách siêu âm trả về thì động cơ điện quay phải while ((kcc >= sieuam()) && point ==true ) dungyen(); // // trong khi khoảng cách chuẩn lớn hơn hoặc bằng với khoảng cách siêu âm trả về thì động cơ điện đứng yên
lcd.begin(16, 2); lcd.setCursor(1,0);
lcd.print("DO RO VO LANG"); lcd.setCursor(0,1);
lcd.print(xung*360/600); // xuất giá trị góc quay tự do hay độ rơ ra màn hình lcd.print(" do");
if (xung*360/600 < 12) lcd.print(" ------ Dat"); else {lcd.print(" ------Chua Dat");}
3.3. Lắp đặt và lập trình độ rơ vơ lăng thực tế 3.3.1. Kiểm tra hoạt động của các linh kiện 3.3.1. Kiểm tra hoạt động của các linh kiện
Chúng em tiến hành đi dây điện cho linh kiện theo phƣơng án đã đề ra, gá đỡ tạm lên tấm formex, để trong thực tế có nhiều hó hăn hơn lúc mơ phỏng có thể dễ dàng thay thế linh kiện. Ban đầu chúng em sử dụng cầu H bằng rờ le để điều khiển động cơ điện, nhƣng nhận thấy đƣợc độ trễ của rờ le trong lúc đóng ngắt sẽ làm tăng sai số hi đo độ rơ vô lăng, nên chúng em quyết định sử dụng module cầu H BTS7960 để điều khiển động cơ điện.
45
Hình 3.19 Hệ thống hoạt động khi cấp nguồn Bảng 3.1 Sơ đồ kết nối chân các linh kiện hệ thống Bảng 3.1 Sơ đồ kết nối chân các linh kiện hệ thống
Tên linh kiện Chân linh kiện Chân Arduino
Cảm biến siêu âm
Trig D10 Echo D11 VCC +5V GND GND LCD 16x2 và module I2C SLC A5 SDA A4 VCC +5V GND GND Module BTS7960 VCC +5V GND GND R_EN D7 L_EN D8 RPWM D5 LPWM D5 Encoder VCC +24V GND GND Phase A D2 Phase B D3
46 Để hệ thống hoạt động ổn định và dễ tìm nguyên nhân lỗi làm hệ thống hông hoạt động, chúng em tiến hành iểm tra thử từng linh kiện. Đầu tiên chúng em iểm tra cảm biến siêu âm (linh kiện quan trọng nhất quyết định sự đúng sai của phép đo), với code chúng em sử dụng để đo hoảng cách trong mô phỏng hi đo ngồi thực tế đơi hi mất tín hiệu hơng rõ lý do, sẽ làm cho hệ thống hoạt động mất ổn định, để tăng sự ổn định thì chúng em quyết định sử thƣ viện arduino cảm biến siêu âm HCSR04[4], sau khi kiểm tra lại thì thấy cảm biến đã hơng bị mất tín hiệu mà hoạt động bình thƣờng. Tiếp theo chúng em thấy đƣợc tín hiệu trả về ln bị nhiễu nhƣ hình 3.20, chúng em thảo luận nếu dùng bộ lọc để giảm nhiễu thì cảm biến sẽ mất đi độ nhạy hi bánh xe vừa dịch
Hình 3.20 Tín hiệu gửi về của cảm biến siêu âm
chuyển và nhƣ vậy sẽ làm phép đo hơng chính xác. Chúng em quyết định dùng thuật toán xác định biên độ khoảng cách dao động, sau đó dùng hoảng cách vừa mới nhận đƣợc để so sánh hoảng biên độ dao động, nếu có sự chêch lệch tức bánh xe đã chuyển động nhƣ hình 3.21.
Kho
ảng các
47
Hình 3.21 Tín hiệu cảm biến siêu âm khi bánh xe dẫn hướng dịch chuyển
Lƣu đồ thuật toán nhƣ sau:
Code nhƣ sau: Code nhƣ sau: Kho ảng các h (mm) Đ Đ Đ S S S While i< 10
Khoảng cách siêu âm KC
MAX < KC
MIN > KC
MAX = KC
MIN = KC
Xuất MIN MAX i+ =1
48
thoigian = millis();
while ((millis() - thoigian) <10000) // nếu khoảng thời gian nhỏ hơn 10 giây thì thực hiện chương trình { if (lonnhat < int(Sensor1.ping(58,615)*10)) lonnhat=Sensor1.ping(58,615)*10; // tìm khoảng lớn nhất if (nhonhat > int(Sensor1.ping(58,615)*10)) )) nhonhat=Sensor1.ping(58,615)*10; // tìm khoảng nhỏ nhất Serial.println(lonnhat); Serial.println("&");
Serial.println(nhonhat); // xuất kết quả ra màn hình }
Đối với các linh iện module hác, chúng em iểm tra thấy hoạt động bình thƣờng và hông hác lúc mô phỏng nên chúng em tiến hành đo thực tế.
3.3.2. Q trình đo độ rơ vơ lăng thực tế
Hệ thống đƣợc tiến hành thử nghiệm trên chiếc xe Toyota Vios. Tồn cảnh q trình thử nghiệm nhƣ hình 3.23
49 Chúng em tiến hành đo độ rơ vô lăng thực tế trên chiếc xe Toyota Vios. Đầu tiên chúng em gá cơ cấu dẫn động vào vô lăng, ết nối bánh đai răng với cơ cấu đỡ động cơ điện nhƣ hình 3.24, kết nối dây điện từ bộ xử lý trung tâm đến động cơ điện và cảm biến đo góc. Đặt cảm biến siêu âm ở bánh gần bánh dẫn hƣớng, cấp nguồn điện và tiến hành đo độ rơ vơ lăng nhƣ hình 3.26.
Hình 3.24 Gá cơ cấu dẫn động vào vơ lăng
50
Hình 3.26 Đặt cảm biến siêu âm ở gần bánh xe dẫn hướng
Chúng em tiến hành khởi động xe và đo thì đƣợc kết quả nhƣ hình 3.27: