Tốc độ đơng cơ được điều khiển bởi tín hiệu PWM từ Arduino, thay đổi điện áp trung bình rơi trên động cơ do đó tốc độ cũng sẽ bị thay đổi.
Hình 4.: Tín hiệu PWM Tính tốn: Vo = 1 / Vdt t 1 0 ton Vo=6 t Vo = 6 *p
p là duty cycle của tín hiệu điều khiển PWM, công thức trên cho thấy các giá trị PWM đa
dạng làm thay đổi điện áp trung bình rơi trên động cơ, nhờ đó mà có thể thay đổi tốc độ động cơ. Tín hiệu PWM được tạo ra bởi vi điều khiển
Ard uino Pro Mini.
Duty Cycle( p) Voltage Across Motor
0% 0V 40% 2V 60% 3V 80% 4V 100% 6V 4.2.8 Tính tốn diện tích của sa hình
Việc lựa chọn diện tích ta sẽ chọn diện tích nhỏ nhất mà xe thực hiện quay được một vịng trịn. Hay cịn gọi là bán kính quay vịng “Swing turn”, là một thuật ngữ thường được sử dụng để chỉ ra bán kính đầy đủ của đường trịn nhỏ nhất mà vật có thể xoay.
Tính tốn:
Tổng độ dài giữa 2 bánh xe của xe là 170mm, đây cũng là bán kính tối thối nếu xe thực hiện quay một vịng trịn.
Hình 4.: Swing turn
Vị trí của xe được chỉ ra ở hình trên. Nếu ta chỉ cho một bánh xe hoạt dộng sẽ tạo nên một bán kính màu xanh dương như hình. Vì vậy đường kính tạo nên một vịng xoay là D = 200 x 2 = 400mm.
Do đó ta sẽ gép những tấm formex khổ A3 có diện tích là 297 x 420 x 8 mm2:
4.2.9 Thiêt lập Raspberry Pi 3 Model B+
Tải phần mềm Raspberry Pi Imager để tải hệ điều hành cho máy tính nhúng Rasoberry Pi 3 Model B+
Install Raspberry Pi os using Raspberry Pi Imager
Daspberry Pi Imager vl.6
Raspberry Pi Imager is the quick and easy way to install Raspberry Pi os and other operating Systems to a microSD card. ready to use wĩth your Raspberry Pi. Watch our 45-
second video to learn hũwto install an operating System
using Raspberry Pi Imager.
Raspberry Pi
Download and install Raspberry Pĩ Imager to a Computer wỉth an SD card reader. Put the SD card you'll use with your Raspberry Pi ịnto the reader and run Raspberry Pĩ Imager.
Downloadfor Windows
Download for macOS Download for Ubuntu forx8ó
To install on Raspberry Pi os type
SUdo apt install rpi-imager
in aTerminal wĩndow.
Hình 4.: Phần mềm hơ trợ download hệ điều hành cho Raspberry Pi
Ta tiến hành chọn hệ điều hành ở mục Operating System sau đó chọn thẻ SD mà ta muốn lưu trữ hệ điều hành, đợi một khoảng thời gian để tải hệ điều hành.
4.2.10 Cài đặt OPEN CV trên Raspberry Pi 3 Model B+
Thực hiện ấn tổ hợp phím Ctrl + Shift + T để mở Terminal
PÍ0192.168.43.6313 password:
The programs included with the Debian GNU/Linux System are free software;
the exact distributĩon terms for each program are described in the
individual files in /usr/3hare/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO RARRANTY, co 1
permitted by applĩcable law.
Last login: Saẽ Sep 28 20:34:07 2019 from 192.168.43.58
piSraspberrỵpi:- $ I
Hình 4.: Terminal
Tiếp theo bạn cần dán những dịng lệnh sau để tiến hành cài đặt open cv cho Raspberry Pi:
• sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-100
• sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test
Tiến hành đặt tên và mật khẩu người dùng, cài đặt wifi cho Raspberry Pi 3 B+ nằm ở góc phải của giao diện
Hình 4.: Giao diện Desktop của hệ điều hành
• sudo apt-get install libatlas-base-dev
• sudo apt-get install libjasper-dev
• sudo python3 get-pip.py
• sudo pip3 install opencv-Contrib-python
Mỗi dịng lệnh sẽ tải các tệp file cần thiết nên sẽ tốn thời gian cho mỗi lệnh. Cuối cùng để kiểm tra bạn cần thêm dịng lệnh:
• python3
• import cv2
• cv2.__version___
Lúc này phiên bản đã được cài đặt sẽ hiển thị thông tin.
Hình 4.: Thơng tin phiên bản đã cài đặt
4.3 Phương hướng và giải pháp thực hiện
4.3.1 Chỉ Sử dụng bộ điều khiển PID kết hợp với cảm biến quang
Mã Lập Trình
Thêm thư viện của cảm biến quang và khai báo số cặp thu phát là 8, tạo một mảng kiểu unsigned int có 8 phần tử.
<QTRSensors .h>^^^^^^^H
QTRSensors qtr ^^^^^^^^^^^^^^B
const uint8_t SensorCount = 8 J ^^J
uint16_t sensorValues[SensorCount];
Khai báo hằng số và các đại lượng của bộ điều khiển PID.
float Kp = ; float Ki = ; float Kd = ; int P; int I; int D;
Khai báo biến lastError để cập nhật đại lượng Derivative, đặt cờ onoff xác định trạng thái hoạt động của xe.
int lastError = 0; boolean onoff =
Khai báo hằng số thể hiện tốc độ của động cơ, vì ta cấp nguồn 7.4V nên duty cycle ở mức 150 sẽ tạo ra điện áp trung bình tối đa là 6V giúp động cơ khơng bị gây hại.
//Increasing the maxspeed can damage the motors - at a value of 255 the 6V motors will receive 7,4 V
const uint8_t maxspeeda = 150; const uint8_t maxspeedb = 150; const uint8_t basespeeda = 10' ;
const uint8_t basespeedb = 10' ;________________________________________________________
//Set up the drive motor carrier pins
int mode = ; int aphase = 9; int aenbl = (; int bphase = 5; int benbl = 3; void setup() { Serial.begin(960 ); qtr.setTypeRC();
//Set up the sensor array pins
qtr.setSensorPins((const uint8_t[]){ , 11, 12, 13, A0, A1, A2, A3}, SensorCount); qtr.setEmitterPin(9);//LEDON PIN pinMode(mode, OUTPUT); pinMode(aphase, OUTPUT); pinMode(aenbl, OUTPUT); pinMode(bphase, OUTPUT); pinMode(benbl, OUTPUT);
digitalWrite(mode, HIGH); //mode của mạch lái động cơ là Phase/Enable delay(500);
pinMode(LED_BUILTIN, OUTPUT); boolean Ok = fals< ;
while (Ok == false) { //the loop won't start until the robot is calibrated ii(digitalRead(buttoncalibrate) == HIGH) {
calibration(); //calibrate the robot for 10 seconds Ok = true;
} }
forward_brake( , 0);
Hàm hiệu chỉnh cho vị trí cảm biến ln ở giữa line.
Khai báo các chân của vi điều khiển để lái động cơ thông qua driver TB6612.
void calibration() {
digitalWrite(LED_BUILTIN, HIGH);
for (uint16_t i = 0; i < 401; i++)
{
qtr.calibrate(); }
digitalWrite(LED_BUILTIN, LOW);
}
Bên trong hàm lặp chỉ cần gọi hàm PID_control(); chứa tồn bộ thuật tốn điều khiển PID
void loop() {
if(digitalRead(buttonstart) == HIGH) {
onoff =! onoff;
if(onoff = tru ) {
delay(L00i );//a delay when the robot starts
} else { delay(50); _ } } if (onoff == tru ) { pID_control(); } else { forward_brake( , ); } } ____________________________________________________ void forward_brake(int posa, int posb) {
//set the appropriate values for aphase and bphase so that the robot goes straight
digitalWrite(aphase, LOW); digitalWrite(bphase, HIGH); analogWrite(aenbl, posa); analogWrite(benbl, posb);
Hàm chứa bộ điều khiển PID, có thể thấy đầu tiên tại một biến unsgined int để lấy giá trị của cảm biến.
Biến error bằng giá trị setpoint trừ đi vị trí hiện tại, việc gọi hàm này trong vòng lặp sẽ được cập nhật giá trị error nhiều lần.
Cập nhật các đại lượng PID, gán lastError bằng error lúc này giá trị Error trước đó đã được lưu trữ và sử dụng cho lần gọi hàm tiếp theo.
Lúc này sẽ có 2 giá trị lưu giá trị PWM để điều khiển động cơ được tính từ phương trình tốc độ động cơ và các câu lệnh điều kiện để xét các giới hạn giá trị cho động cơ.
Cuối cùng là truyền giá trị vào hàm forward brake(int, int) để thay đổi tốc độ động cơ.
void PID_control() {
uint16_t position = qtr.readLineBlack(sensorValues); int error = 3500 - position;
p = error; I = I + error;
D = error - lastError;
lastError = error;
int motorspeed = P*Kp + I*Ki + D*Kd;
int motorspeeda = basespeeda + motorspeed; int motorspeedb = basespeedb - motorspeed;
if (motorspeeda > maxspeeda) { motorspeeda = maxspeeda; } if (motorspeedb > maxspeedb) { motorspeedb = maxspeedb; } if (motorspeeda < 0) { motorspeeda = 0; } if (motorspeedb < 0) { motorspeedb = 0; } //Serial.print(motorspeeda);Serial.print(" ");Serial.println(motorspeedb); forward_brake(motorspeeda, motorspeedb); } 4.3.2 Kết hợp hệ thống dò line và xử lý ảnh
Huấn luyện và phân loại hình ảnh tín hiệu giao thơng sử dụng Mạng nơ-ron liên hợp (Convolutional neural networks), điều này sẽ được thực hiện trên thời gian thực sử dụng một webcam để lấy hình ảnh. CNN đã trở nên phổ biến trong vài năm qua do khả năng tổng qt hóa và phân loại dữ liệu với độ chính xác cao.
Hình 4.: Đối tượng và khả năng chính xác của đối tượng xử lý
Trong chương trình đã cung cấp một thư viện với số lượng biển báo lên đến 35000 tấm ảnh với 43 lớp giúp dễ dàng trong việc phân loại và nhận biết hình ảnh.
4.3.3 Phương pháp gia công khung xe
Công nghệ in 3D FFF viết tắt vủa cụm từ Fused Filament Fabrication, tương đương với một cụm từ phổ biến hơn Fused Deposition Modeling hay cịn gọi cơng nghệ in 3D FDM. Chúng cùng nguyên lý tạo hình cộng dồn, tức là sử dụng thiết bị có khả năng nấu chảy rồi đắp các lớp vật liệu (nhựa, sáp, kim loại) theo các mã Gcode để tạo nên mơ hình sản phẩm. Vật liệu được phun từ trên xuống và các lớp được gắn với nhau nhờ nhiệt độ.
Hình 4.: Quá trình nung chảy và in
Những thành phần được vẽ trên solidworks sẽ được xuất với dạng .stl sau đó được import vào phần mềm in 3D Ultimaker Cura, quá trình tạo ra mã thực thi (gcode) được gọi là slice.
Hình 4. : Phần mềm in 3D Ultimaker Cura
Vật liệu chính được sử dụng là nhựa PLA là tên viết tắt của “Polylactic Acid”. Đây là một loại nhựa nhiệt dẻo phân hủy sinh học có nguồn gốc từ các nguồn tái tạo. Thành phần của nhựa này gồm nhiều phụ gia như bột ngơ, mía, củ sắn hoặc thậm chí tinh bột khoai tây. Nhựa in PLA là một trong những nhựa in 3D FDM phổ biến trên thị trường. Loại nhựa này có giá thành khá thấp, dễ in và có nhiều màu sắc rực rỡ.
PLA có nhiều ưu điểm vượt trội hơn các sản phẩm nhựa hóa dầu trên mạng khác như ABS(Acrylonitrin butadien styren) hay PVA (Polyvinyl Alcohol). Với khả năng tự phân hủy trong môi trường. Nhựa PLA được sử dụng rộng rãi để sản xuất các đồ dùng hàng ngày. Các sản phẩm như bao bì để đựng thực phẩm, khay đựng hoặc là cốc chén, màng thực phẩm,...
Tính chất cơ học của nhựa PLA:
• PLA là một loại nhựa nhiệt dẻo. Vì vậy nó có nhiệt độ nóng chảy trong khoảng 190oC - 220oC.
• Cũng giống với các loại nhựa nhựa in khác. PLA có khả năng sử dụng tốt cho mọi loại máy in.
• Vật liệu in 3D này cũng có độ đàn hồi khá tốt. Ngồi ra nó cịn có tính mềm, dẻo vượt trội.
• Màu sắc in của vật liệu này đa dạng. Khách hàng có thể tùy ý lựa chọn sao cho phù hợp.
• Đặc biệt là khả năng lặp lại nhiều lần quá trình chảy mềm dưới tác dụng nhiệt và trở nên rắn khi được làm nguội. Trong q trình tác động nhiệt, nó chỉ thay đổi tính chất vật lý và khơng bị thay đổi tính chất hóa học. Do đặc tính như vậy nên là nó có khả năng tái sinh nhiều lần. Vì vậy những phế phẩm phát sinh trong q trình sản xuất đều có khả năng tái chế được.
Việc tạo mẫu nhanh với nguyên vật liệu rẻ tiền rất thích hợp cho ứng dụng phát triển và học tập, có thể dễ dàng sửa chửa và thay đổi mẫu in.
CHƯƠNG 5: ĐỀ XUẤT CÔNG NGỆ
CHƯƠNG 6: CHẾ TẠO VÀ THỬ NGHIỆMCHƯƠNG 7: KẾT LUẬN VÀ ĐÁNH GIÁ CHƯƠNG 7: KẾT LUẬN VÀ ĐÁNH GIÁ
TÀI LIỆU THAM KHẢO •
Trong khố luận, các thơng tin, số liệu không phải của tác giả đều phải ghi rõ nguồn gốc của các thơng tin đó bằng cách ngay sau phần thơng tin được trích dẫn ghi số của tài liệu trong ngoặc vng dạng [x,y,z] trong đó x,y,z là số thứ tự của tài liệu được liệt kê trong phần tài liệu tham khảo trình bày ở cuối luận văn. Phần tài liệu tham khảo ở cuối luận văn được ghi theo dạng như sau:
Tiếng Việt: Tiếng Anh
[1] B. Klaus and P. Horn, Robot Vision. Cambridge, MA: MIT Press, 1986.
[2] J. Warren, J. Adams and H. Molle, "Arduino for Robotics," in Arduino Robotics, New York, Apress publiction, 2014, pp. 51-83.
[3] Jim, "PWM/PID/Servo Motor Control," 2005. [Online]. Available:
http://www.uoxrayuoregon.edu. [Accessed 15 December 2015].
[4] Wordpress"Turning radius of the Car," July 2013 [Online]. Available: https:https://goodmaths.wordpress.com/2013/07/19/turning-radius-of-a-car/. [Accessed 28 June, 2016]
Nguồn khác
[1] Line Follower Robot (with PID controller).
https://circuitcellar.com/research-design-hub/projects/build-a-line-follower-robot/ [2] PROJECT REPORT LINE FOLLOWING ROBOT.
PHIẾU NHẬN XÉT KHOÁ LUẬN TỐT NGHIỆP
(Dành cho giảng viên hướng dẫn)
Họ và tên sinh viên LÊ NGUYỄN TRUNG THI MSSV:1800002409
HỒNG TÀI PHÁT MSSV: 1800002627
PHẠM NGUYỄN THANH NAM MSSV:1800002248
Ý KIẾN NHẬN XÉT
Tên đề tài: XÂY DỰNG HỆ THỐNG XE CHẠY TỰ ĐỘNG THEO LINE TRÊN OTO Ngành đào tạo: Công nghệ kỹ thuật oto
Họ và tên GV phản biện: TS NGUYỄN HỮU LUÂN
1. Nhận xét về tinh thần, thái độ làm việc của sinh viên:
2. Nhận xét về kết quả thực hiện của KLTN:
2.1.Kết cấu, cách thức trình bày KLTN:
2.2 Nội dung đồ án:
(Cơ sở lý luận, tính thực tiên và khả năng ứng dụng của đồ án, các hướng nghiên cứu có thể tiếp tục phát triển)
2.3. Kết quả đạt được:
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CƠ KHÍ - ĐIỆN - ĐIỆN TỬ - Ô TÔ
Bộ mơn.....................................
CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
(Mâu Hình thức trình bày tài liệu tham khảo)
2.4. Những tồn tại (nếu có):
3. Đánh giá:(thêm vào phần đánh giá về sản phẩm, mơ hình -ỳ bàn với th Cường và th Sơn) TT Mục đánh giá Điểm tối đa Điểm đạt được 1. Hình thức và kết cấu KLTN 20
Đúng format với đầy đủ cả hình thức và nơi dung của các mục 5
Mục tiêu, nhiệm vụ, tổng quan của đề tài 1
0
Tính cấp thiết của đề tài 5
2. Nội dung KLTN 30
Khả năng ứng dụng kiến thức toán học, khoa học và kỹ thuật, khoa học xã hôi...
5
Khả năng thực hiện/phân tích/tổng hợp/đánh giá 5
Khả năng thiết kế chế tạo một hệ thống, thành phần, hoặc quy trình
đáp ứng yêu cầu đưa ra với những ràng buộc thực tế.
1 0
Khả năng cải tiến và phát triển 5
Khả năng sử dụng công cụ kỹ thuật, phần mềm chuyên ngành. 5
3. Đánh giá về khả năng ứng dụng của đề tài 10
4. Sản phẩm cụ thể của KLTN 40
Sự đa dạng của sản phẩm 1
0
Khả năng hoạt động của sản phẩm 1
0 Tính thẩm mỹ của sản phẩm 1 0 Phạm vi ứng dụng của sản phẩm 1 0 Tổng điểm 100 4. Kết luận: □ Được phép bảo vệ
□ Không được phép bảo vệ
TP.HCM, ngày tháng năm 20...
Giảng viên hướng dẫn
PHIẾU NHẬN XÉT KHOÁ LUẬN TỐT NGHIỆP
(Dành cho giảng viên phản biện)
Họ và tên sinh viên LÊ NGUYỄN TRUNG THI MSSV:1800002409
HỒNG TÀI PHÁT MSSV: 1800002627
PHẠM NGUYỄN THANH NAM MSSV:1800002248
Ý KIẾN NHẬN XÉT
Tên đề tài: XÂY DỰNG HỆ THỐNG XE CHẠY TỰ ĐỘNG THEO LINE TRÊN OTO Ngành đào tạo: Công nghệ kỹ thuật oto
Họ và tên GV phản biện: TS NGUYỄN HỮU LUÂN
l.Kết cấu, cách thức trình bày KLTN:
2 Nội dung khố luận:
(Cơ sở lý luận, tính thực tiên và khả năng ứng dụng của đồ án, các hướng nghiên cứu có thể tiếp tục phát triển)
3.Kết quả đạt được:
4. Những thiếu sót và tồn tại của KLTN:
1. Câu hỏi:
(Mâu Hình thức trình bày tài liệu tham khảo)
TP.HCM, ngày tháng năm 20
Giảng viên phản biện
((Ký, ghi rõ họ tên)
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CƠ KHÍ - ĐIỆN - ĐIỆN TỬ - Ơ TƠ
Bộ mơn.....................................
CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM
2. Đánh giá: TT Mục đánh giá Điểm tối đa Điểm đạt được 1. Hình thức và kết cấu KLTN 20
Đúng format với đầy đủ cả hình thức và nôi dung của các mục 5
Mục tiêu, nhiệm vụ, tổng quan của đề tài 1
0
Tính cấp thiết của đề tài 5
2. Nội dung KLTN 30
Khả năng ứng dụng kiến thức toán học, khoa học và kỹ thuật, khoa học xã hơi...
5
Khả năng thực hiện/phân tích/tổng hợp/đánh giá 5
Khả năng thiết kế chế tạo một hệ thống, thành phần, hoặc quy trình
đáp ứng yêu cầu đưa ra với những ràng buộc thực tế.
1 0
Khả năng cải tiến và phát triển 5
Khả năng sử dụng công cụ kỹ thuật, phần mềm chuyên ngành. 5
3. Đánh giá về khả năng ứng dụng của đề tài 10
4. Sản phẩm cụ thể của KLTN 40
Sự đa dạng của sản phẩm 1
0
Khả năng hoạt động của sản phẩm 1
0 Tính thẩm mỹ của sản phẩm 1 0 Phạm vi ứng dụng của sản phẩm 1 0 Tổng điểm 100 7. Kết luận: □ Được phép bảo vệ