Vật liệu thiết kế

Một phần của tài liệu Tự động hóa quá trình đo độ rơ vô lăng trong quy trình đăng kiểm (Trang 40)

Chƣơng 3 THIẾT KẾ, LẮP ĐẶT LẬP TRÌNH ĐO ĐỘ RƠ VÔ LĂNG

3.1. Thiết kế cơ cấu cơ hí

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:

Hình 3.27 Kết quả đo độ rơ vơ lăng

Thuật toán để đo độ rơ vô lăng thực tế là đầu tiên xác định khoảng cách từ cảm biến siêu âm đến bánh xe dẫn hƣớng hi bánh xe ở vị trí thẳng đứng, trong 5 giây tìm biên độ dao động khoảng cách của siêu âm, sau đó quay vơ lăng qua trái nếu khoảng cách từ cảm biến siêu âm đến bánh dẫn hƣớng nhỏ hơn biên độ dao động khoảng cách của siêu âm thì dừng quay vơ lăng lại trong 5 giây, tiếp tục xác định biên độ dao động khoảng cách của siêu âm hi bánh xe dẫn hƣớng ở vị trí mới trong 5 giây, sau đó quay vơ lăng qua phải, nếu khoảng cách từ siêu âm đến bánh xe dẫn hƣớng lớn hơn biên độ dao động khoảng cách của cảm biến thì dừng lại, xuất giá trị góc quay tự do hay độ rơ vơ lăng ra màn hình.

Code thực tế nhau sau:

51

{

thoigian = millis();

while ((millis() - thoigian) <5000) { if (lonnhat < int(Sensor1.ping(58,615)*10)) lonnhat=Sensor1.ping(58,615)*10; if (nhonhat > int(Sensor1.ping(58,615)*10)) nhonhat=Sensor1.ping(58,615)*10; Serial.println(lonnhat); Serial.println("&"); Serial.println(nhonhat); }

while ((int(Sensor1.ping(58,615)*10) >= nhonhat ) && point== 0) { quaytrai(200); } dungyen(); delay(5000); xung = 0 ; point = 1; lonnhat = 0; thoigian = millis();

while ((millis() - thoigian) <5000) { if (lonnhat < int(Sensor1.ping(58,615)*10)) lonnhat=Sensor1.ping(58,615)*10; if (nhonhat > int(Sensor1.ping(58,615)*10)) nhonhat=Sensor1.ping(58,615)*10; Serial.println(lonnhat); Serial.println("&"); Serial.println(nhonhat);

52

}

while ((int(Sensor1.ping(58,615)*10) <= lonnhat ) && point ==1) { quayphai(200); xung1 = xung; } dungyen(); lcd.clear(); lcd.setCursor(1,0); lcd.print("DO RO VO LANG"); lcd.setCursor(0,1); lcd.print(xung1*360/600); lcd.print("."); lcd.print(xung1*360%600);

Một phần của tài liệu Tự động hóa quá trình đo độ rơ vô lăng trong quy trình đăng kiểm (Trang 40)

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

(72 trang)