61
4.4 Tổng quan bên trong, lập trình code:
• Cấu tạo của động cơ xe đạp điện:
Động cơ của xe đạp điện được thiết kế khép kín có khả năng chống nước cao. Vị trí đặt động cơ thường là bánh sau của xe, động cơ liền khối với vành xe. Động cơ xe đạp điện được thiết kế gồm 2 phần là vỏ và lõi. Vỏ động cơ là phần bên ngoài giúp bảo vệ động cơ chống lại các tác nhân gây hại, bên trong có nam châm để giúp động cơ quay khi có dịng điện đi qua lõi động cơ.Lõi động cơ được cuốn bằng các cuộn dây đồng, có trục động cơ và các mắt động cơ. Động cơ xe đạp điện thường là 3 pha và phân biệt là loại có chổi than và khơng có chổi than. Động cơ, motor lắp bánh sau 24v /36v; cho tốc độ từ 27- 30km/h.
Hình 4.4: động cơ xe đạp điện gắn vào e lăn • Bình ắc quy xe đạp điện:
Ắc quy xe đạp điện: (12v-12a) và (12v-14a)
Ắc quy nhỏ được dùng chủ yếu là cho các dịng xe đạp điện cơng suất dưới 500W như: Ninja, Honda A6, Giant M133, Yamaha icat, Vnbike và các dòng xe đạp điện khác... Thơng thường ắc quy nhỏ gồm có 3 cách mắc thơng dụng như sau:
Cách 1: mắc nối tiếp 2 bình với nhau: (24v-12a) và (24v-14a) Dùng để bắt cho các loại xe dưới 250W.
Cách 2: mắc nối tiếp 3 bình với nhau: (36v - 12a) và (36v-14a) Dùng để bắt cho các loại xe từ 250W-350W.
Cách 3: mắc nối tiếp 4 bình với nhau: (48v - 12a) và (48v-14a) Dùng để bắt cho các loại xe từ 350W - 500W.
62
Hình 4.5: hình bình ắc quy thực tế Chú ý: Chú ý:
1. So sánh giữa bình ắc quy 14a và 12a:
+ Bình ắc quy 14a có tuổi thọ cao hơn bình ắc quy 12a do mỗi lần sạc bình 14a sẽ tích đựơc nhiều lượng điện hơn.
+ Bình ắc quy 14a có gia thành cao hơn bình ắc quy 12a.
+ Bình ắc quy 14a giúp cho xe có thể chạy được nhanh hơn, khỏe hơn, xa hơn so với bình 12a.
+ Bình ắc quy 14a sạc lâu đầy hơn bình 12a nếu dùng chung 1 loại sạc.
2. Trong 3 cách mắc nói trên thì cách mắc 4 bình nối tiếp vơi nhau là thơng dụng nhất và được sử dụng nhiều nhất vì cách bắt này giúp cho khách hàng tiết kiệm được chi phí nhiều nhất, giải quyết được hiệu quả về vấn đề tích trữ nhiên liệu của xe đạp điện. 3. Những dịng xe dùng loại bình nhỏ này được gọi chung là xe đạp điện và không phải đăng ký biển số xe.
4. Khi mắc nối tiếp thì hiệu điện thế (V) được cộng dồn và cường độ dịng điện (A) khơng thay đổi.
5. Khi bắt ắc quy phải để ắc quy theo chiều đứng, tuyệt đối không được đặt nghiêng hoặc lật úp.
Lập trình code kết nối bluetooth _ Bản mạch thu và khuếch đại bluetooth
63 ➢ Sơ đồ kết nối [1]
Hình 4.6: thiết kế mạch kết nối bluetooth mơ hình
64
4.5 Code lập trình
65
4.5.2 Code thiết lập ở ARDUINO
#include <SoftwareSerial.h> char state;
int toc_do;
const int role1 = 2;// role la thuoc bo dieu khien dong co const int tip1 = 3;// tip la dong co
const int role2 = 4; const int tip2 = 5;
const int motor3 = 6 ;// dong co lung ghe const int motor4 = 9 ;// dong co chan trai const int motor5 = 10;// dong co chan phai void setup()
66
{
pinMode(role1, OUTPUT);// thiet lap chan ra pinMode(tip1 , OUTPUT);
pinMode(role2, OUTPUT); pinMode(tip2 , OUTPUT);
digitalWrite( role1, HIGH );// thiet lap tat dong co khi bat digitalWrite( tip1, HIGH );
digitalWrite( role2, HIGH ); digitalWrite( tip2, HIGH );
Serial.begin(9600);// khai bao toc do } void loop() { if(Serial.available() > 0){ state = Serial.read(); switch (state) {
case 'M'://neu nhan thanh truot toc do
toc_do = Serial.parseInt(); //bien toc do = gia tri thanh truot goi ve hc-06 toc_do = map(toc_do,0,255,255,0);//dao gia tri tren thanh truoc
break;
67 case'U'://chay toi while(!Serial.available()); analogWrite(tip1, toc_do); analogWrite(tip2, toc_do); digitalWrite(role1, HIGH); digitalWrite(role2, HIGH); break; case'D'://chay lui digitalWrite(role1, LOW); digitalWrite(role2, LOW); analogWrite(tip1, toc_do); analogWrite(tip2, toc_do); break; case'L'://sang trai digitalWrite(role1, LOW); digitalWrite(role2, HIGH); analogWrite(tip1, toc_do); analogWrite(tip2, toc_do); break; case'R'://sang phai digitalWrite(role1, HIGH);
68 digitalWrite(role2, LOW); analogWrite(tip1, toc_do); analogWrite(tip2, toc_do); break; case'S'://stop
digitalWrite( role1, HIGH ); digitalWrite( tip1, HIGH ); digitalWrite( role2, HIGH ); digitalWrite( tip2, HIGH ); break;
case '1'://nang lung ghe analogWrite(motor3, HIGH); break;
case '2'://nang chan trai analogWrite(motor4, HIGH); break;
case '3'://nang chan phai analogWrite(motor5, HIGH); break;
69
analogWrite(motor5, LOW); break;
case 'B'://ha chan trai
analogWrite(motor5, LOW); break;
case 'C'://ha chan phai
analogWrite(motor5, LOW); break; } } }
70
4.5.3 Code bluetooth
1. // Khai báo biến
2. char state;
3.
4. void setup() {
5. // Cài đặt các chân bạn
muốn điều khiển thành
thành Ouput 6. // Ở đây tôi sử dụng 4 chân 9, 10, 11, 1 7. pinMode(9, OUTPUT) 8. pinMode(10, OUTPUT) 9. pinMode(11, OUTPUT) 10. pinMode(12, OUTPUT) 11. Serial.begin(9600); // Kết nối bluetooth module ở tốc độ 960 12. } 13. 14. void loop() { 15. 16. if(Serial.available() > 0) 17. // Đọc giá trị nhận được từ bluetoot 18. state = Serial.read() 19. } else 20. state = 0 21. 22. Serial.println(state) 23. // Thực hiện điều khiển các chân 9, 10, 11, 12
24. // Ở đây tôi đã quy
ước sẵn các giá trị gửi và nhận dữ liệu giữa điện thoại và Arduino 25. switch (state) { 26. case '1' 27. digitalWrite(9, HIGH) 28. break 29. case '2' 30. digitalWrite(9, LOW) 31. break 32. case '3' 33. digitalWrite(10, HIGH) 34. break 35. case '4' 36. digitalWrite(10, LOW) 37. break 38. case '5' 39. digitalWrite(11, HIGH) 40. break 41. case '6' 42. digitalWrite(11, LOW) 43. break 44. case '7' 45. digitalWrite(12, HIGH) 46. break 47. case '8' 48. digitalWrite(12, LOW) 49. break; 50. 51. default: 52. break 53. } 54. 55.
71 ➢ Hình ảnh thực
Hình4.9: ảnh chạy thử mạch blueooth
4.6 Mơ hình mơ phỏng sơ lược:
72
4.7 Sơ đồ mạch điều khiển và động lực
Hình 4.11: Sơ đồ mạch động lực
Mạch động cơ có chức năng điều khiển động cơ chạy thuận hoặc chạy ngược. Ban đầu khi TIP41C và role chưa dẫn thì động cơ khơng hoạt động. Khi TIP41C dẫn thì động cơ sẽ được cấp điện để chạy thuận, tiếp đó kích thêm role thì động cơ chạy ngược.
4.8 Mạch kết nối Bluetooth và Aurino
73
4.9 Mạch tổng
Hình 4.13: Mạch tổng
74
Hình 4.15: Hình chạy mơ phỏng trên phần mềm
Hình 4.16: Mạch in
75
4.10 Tính tốn khối nguồn:
Hình 4.18: nguồn được sử dụng trên xe lăn
❖ Các thơng số: [3] • Dung lượng pin: 12AH • Điện áp tiêu chuẩn: 24V • Sạc điện áp: 24V
• Tiêu chuẩn: GB/18278-2000 Cơng suất tiêu thụ:
Dịng ESP8266 1 chân GPIO là 20mA, trong hệ thống này sử dụng 8 chân GPIO nên dòng sẽ là 160mA.
Dòng module 1 chân là 40mA, sử dụng 2 chân nên số dịng là 80mA. Do đó, có tổng dịng là 240mA.
Cơng suất tiêu thụ của hệ thống là: P = U*I = 5 *0.24 = 1.2 W
Tính thời gian sử dụng của xe:
Do xe được điều khiển với 5 tốc độ nên ở mỗi mức độ sẽ có 1 thời gian sử dụng khác nhau, qua thực nghiệm và tính tốn đã cho ra kết quả:
• Thời gian sử dụng xe ở mức 1 (MIN): Áp lúc sử dụng: 1,7V Dịng điện: 2.3A Cơng suất là: 3.91W
76
Do đó, thời gian sử dụng của xe là:[3]
Tương tự, ta được kết quả thời gian sử dụng ở các mức tiếp theo. • Thời gian sử dụng xe ở mức 3 (TB) là hơn 6h.
• Thời gian sử dụng xe ở mức 5 (MAX) là hơn 3h.
4.11 Khối công suất điều khiển động cơ
Động cơ được chọn trong mơ hình là động cơ giảm tốc DC để điều khiển xe chạy tiến, lùi, xoay trái, xoay phải, điều chỉnh tốc độ nhanh chậm theo ý muốn.Ở đây nhóm chọn module BTS7960 để điều khiển động cơ do module đáp ứng đủ những điều kiện trên, giá thành của module là 139.000 VNĐ phù hợp cho sinh viên sử dụng trong mơ hình. Một số thơng số cơ bản của module BTS7960:
• Điện áp đầu vào: 6~27V
• Dịng điện tải mạch: 43A (tải trở), 15A (tải cảm). • Tín hiệu logic điều khiển: 3.3 ~ 5V.
• Tần số điều khiển tối đa: 25KHz.
• Tự động shutdown khi điện áp thấp: để tránh điều khiển động cơ ở mức điện áp thấp thiết bị sẽ tự shutdown. Nếu điện áp < 5.5V, mạch điều khiển động cơ DC BTS7960 sẽ tự ngắt điện và sẽ mở lại sau khi điện áp > 5.5V.
• Bảo vệ quá nhiệt: BTS7960 bảo vệ chống quá nhiệt bằng cảm biến nhiệt tích hợp bên trong. Đầu ra sẽ bị ngắt khi có hiện tượng quá nhiệt.
77
Bảng . Kết nối ESP8266 NodeMCU với module BTS7960.
ESP8266 NodeMCU Module BTS7960 (1)
D0 R_EN,L_EN
D1 LPWM
D2 RPWM
ESP8266 NodeMCU Module BTS7960 (2)
D3 R_EN,L_EN
D4 LPWM
78
CHƯƠNG 5: THI CƠNG 5.1 Mơ hình mơ phỏng
Hình 5.1: mơ phỏng chuyển động xe lăn lúc ngồi
Hình 5.2: Mô phỏng chuyển động xe lăn lúc ngồi ngữa ra 1/2
79
5.2 Mơ hình vật lý
Hình 5.4: tổng quan thực tế của thiết bị
80
5.3 Chạy thử sản phẩm
Hình 5.6: chạy thử sản phẩm thực tế qua đường có chướng ngại Hình 5.7: chạy thử sản phẩm thực qua đường bằng phẳng Hình 5.7: chạy thử sản phẩm thực qua đường bằng phẳng
Hình 5.8: khởi động sản phẩm trong thực tế Hình 5.9:cơng ắc nguồn
81
Hình 5.11: hình xe lăn hồn chỉnh có thêm đệm đầu khi bật
Ứng dụng sau khi hoàn thành đã đáp ứng yêu cầu của đề tài là sau khi kết nối với mơ hình thì ứng dụng đã điều khiển được xe chạy tiến, lùi, xoay trái, xoay phải, dừng xe, thay đổi tốc độ xe.
5.4 Nhận xét & đánh giá
Nhóm đã hồn thành các mục tiêu ban đầu đề ra là:
Điều khiển xe chạy tiến, lùi, rẽ trái, rẽ phải, thay đổi được tốc độ xe thông qua ứng dụng điện thoại Android thông qua Bluetooth. Điều khiển xe chạy tiến, lùi, rẽ phải, rẽ trái bằng giọng nói.
Ngồi những kết quả đạt được, mơ hình cịn những hạn chế sau:
Vẫn còn xảy ra chậm trễ trong việc điều khiển từ điện thoại tới mơ hình xe. Do có sự trễ trong truyền nhận dữ liệu trên đường truyền và khả năng viết ứng dụng Android điều khiển mơ hình, chương trình cho vi điều khiển chưa được tối ưu (do kiến thức lập trình của sinh viên cịn hạn chế).
82
• Thống kê độ chính xác thực tế đối với mỗi lệnh, tiến hành kiểm tra mỗi lệnh 10 lần thì được kết quả:
❖ Điều khiển bằng tay đạt 100%.
❖ Điều khiển bằng bluetooth: • Lệnh tiến: 70% • Lệnh lùi: 70% • Lệnh dừng: 70% • Lệnh trái: 60% • Lệnh phải:60% CHƯƠNG 6: KẾT LUẬN
Sau 15 tuần nghiên cứu và thực hiện đề tài, về cơ bản nhóm đã hồn thành đề tài “Điều khiển xe lăn Bluetooth hoặc smartphone” và đã đạt được mục tiêu ban đầu đề ra. Trong q trình thực hiện, nhóm đã có được một số kết quả nhất định sau:
Thiết kế được giao diện ứng dụng điều khiển trên điện thoại thân thiện và dễ sử dụng.
Điều khiển xe chạy tiến, chạy lùi, rẽ trái, rẽ phải, thay đổi được tốc độ di chuyển.
Điều khiển được xe bằng bluetooth.
Mơ hình có thể ứng dụng và phát triển trong thực tế.
6.1 Hướng phát triển
Đây là đề tài mà nhóm chỉ làm trên phương diện thí nghiệm và chưa được áp dụng vào thực tế. Vì vậy để mơ hình này có thể hồn thiện hơn sau đây nhóm xin đề ra một vài phương án để góp phần cải thiện mơ hình và có thể mang ra áp dụng ngồi thực tế:
Kết hợp với cảm biến phát hiện vật cản.
App còn hạn chế chỉ dụng hệ điều hành Android, cần nghiên cứu phát triển thêm trên hệ điều hành IOS.
83
TÀI LIỆU THAM KHẢO
[1] PGS.TS. Nguyễn Hữu Phương, “Mạch số dùng cho sinh viên đại học ngành điện tử, tự động hóa, viễn thơng, tin học, v.v.”, Nhà xuất bản Thống kê, 2004. [2] Nguyễn Văn Hiệp, “Giáo trình Lập trình Android trong ứng dụng điều khiển”, Nhà xuất bản đại học quốc gia TP. Hồ Chí Minh.
[3] “Giáo trình điện tử cơ bản” Trần Thu Hà, Trương Thị Bích Ngà, Nguyễn Thị Lưỡng,.. --Tp. Hồ Chí Minh: Đại học Quốc gia Tp.HCM,2013.
Trang Web tham khảo
[4] “Arduino”, truy cập ngày 6/11/2019, đường dẫn: https://vi.wikipedia.org/wiki/Arduino
[5] “Arduino là gì và những ứng dụng của nó trong cuộc sống”, truy cập ngày 6/11/2019, đường dẫn:
https://quantrimang.com/arduino-la-gi-va-ung-dung-cua-no-trong-cuoc-song- 145388
[6] “Động cơ giảm tốc là gì? Motor giảm tốc có gì khác so với hộp giảm tốc? Khái niệm hộp giảm tốc?”, truy cập ngày 6/11/2019, đường dẫn:
http://www.namtrung.com.vn/document/dong-co-giam-toc-la-gi-hop-giam-toc-la-gi [7] “WiFi Access Point”, truy cập ngày 13/11/2019, đường dẫn:
https://arduino.esp8266.vn/wifi/access-point.html#softap
[8] “Internet Of Things (IoT) : cho người mới bắt đầu”, truy cập ngày 13/11/2019, đường dẫn:
https://iotmakervn.github.io/iot-starter-book/#_esp8266 [9] truy cập ngày 14/11/2019, đường dẫn:
https://viblo.asia/p/machine-learning-that-thu-vi-6-nhan-dien-giong-noi- 1Je5E8DylnL
[10] Ths. Hà Đình Dũng, Giáo trình kỹ thuật bluetooth, truy cập ngày 14/11/2019, đường dẫn:
https://xemtailieu.com/tai-lieu/giao-trinh-ky-thuat-am-thanh-ths-ha-dinh-dung- 1573504.html