4.2.1. Thi công board mạch
a.Thi công mạch điều khiển trung tâm
Sau khi thiết kế xong sơ đồ nguyên lý ta tiến hành sắp xếp bố trí linh kiện và vẽ mạch PCB 1 lớp để tiến hành thi công board mạch bằng phương pháp thủ công. Bố trí trên board mạch điều khiển trung tâm bao gồm 1 module Arduino UNO R3, 1 module ESP8266 NodeMCU và 2 module L298N. Board có kích thước là 135mm x 95mm. Sơ đồ bố trí linh kiện của mạch điều khiển trung tâm được trình bày như hình 4.1:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 68
Sau khi đã bố trí vị trí các linh kiện nằm trên board mạch, tiếp theo ta tiến hành đi dây để kết nối các linh kiện lại với nhau. Kích thước đường dây tín hiệu là 25mil, đường dây nguồn là 40mil. Sơ đồ đi dây của mạch điều khiển trung tâm được trình bày như hình 4.2:
Hình 4.2. Mạch in mạch điều khiển trung tâm.
Bảng 4.1. Danh sách linh kiện sử dụng trong mạch điều khiển trung tâm
STT Tên linh kiện Giá trị Số lượng Chú thích
1 Arduino UNO R3 5V – 300mA 1 -
2 ESP8266 NodeMCU 5V – 200mA 1 -
3 Module cầu H L298N 1A 2 -
4 Jack nguồn - 1 -
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 69
6 Hàng rào đực - 1 -
b. Thi công mạch phát hiện kim loại
Sau khi thiết kế xong sơ đồ nguyên lý ta tiến hành sắp xếp bố trí linh kiện và vẽ mạch PCB 1 lớp để tiến hành thi công board mạch bằng phương pháp thủ công. Bố trí trên board mạch phát hiện kim loại bao gồm các linh kiện sau: 1 vi điều khiển PIC 16F690, 1 IC 555, 1 IC 74HC14, IC nguồn 7805 và các tụ, điện trở, led báo nguồn. Board có kích thước là 75mm x 55mm. Sơ đồ bố trí linh kiện của mạch phát hiện kim loại được trình bày như hình 4.3:
Hình 4.3. Bố trí linh kiện mạch dò kim loại.
Sau khi đã bố trí vị trí các linh kiện nằm trên board mạch, tiếp theo ta tiến hành đi dây để kết nối các linh kiện lại với nhau. Kích thước đường dây tín hiệu là 20mil, đường dây nguồn là 30mil. Sơ đồ đi dây mạch phát hiện kim loại được trình bày như hình 4.4:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 70
Hình 4.4. Mạch in mạch dò kim loại.
Danh sách linh kiện sử dụng trong mạch dò kim loại được liệu kê trong bảng 4.2:
Bảng 4.2. Danh sách linh kiện sử dụng trong mạch dò kim loại
STT Tên linh kiện Giá trị Số lượng Chú thích
1 PIC 16F690 5V - 300mA 1 - 2 IC NE555 5V 1 - 3 IC ổn áp 7805 1A 1 - 4 IC74HC14 - 1 - 5 C1815 - 1 - 6 Tụ hóa 2.2µF 2 - 7 Tụ hóa 1µF 1 - 8 Tụ hóa 10µF 1 -
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 71
9 Tụ hóa 220µF 2 -
10 Tụ gốm 100pF 2 -
11 Led 2V - 10mA 1 Báo nguồn
12 Domino - 1 -
13 Hàng rào đực - 1 -
14 Đế IC - 3 -
15 Buzzer 5V – 40mA 1 Báo có kim loại
16 Cuộn dây dò kim loại - 1 Dò tìm kim loại 17 Điện trở 47K, 1K, 2K, 330, 4.7K, 10K 6 - 4.2.2. Lắp ráp và kiểm tra
a.Quy trình lắp ráp, kiểm tra mạch
Bước 1: Chuẩn bị vật liệu làm mạch: khoan, tay hàn, thiếc hàn, bàn ủi, bút lông dầu
để vẽ lại cách đường mạch trong quá trình ủi bị đứt, bột sắt và các linh kiện có trong mạch.
Bước 2: Tiến hành in-ủi, rửa board đồng bằng bột sắt.
Bước 3: Khoan các lỗ chân linh kiện, các lỗ chân của IC, điện trở, tụ thì dùng mũi
khoan 0.8mm. Các lỗ chân hàng rào, domino thì dùng mũi khoan 1mm. Còn các vị trí bắt ốc lên khung xe dùng mũi khoan 3mm.
Bước 4: Gắn linh kiện và hàn mạch.
Bước 5: Dùng đồng hồ đo các đường tín hiệu sau khi mạch đã hàn xem có chạm
chập hay đứt đoạn không. Cấp nguồn cho mạch hoạt động. Sau đó đo áp ở ngõ vào và ngõ ra gắn với các module.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 72 Bước 6: Cuối cùng nạp chương trình điều khiển cho Arduino, ESP8266, PIC16F690
và kiểm tra mạch hoạt động có đúng yêu cầu không. Nếu mạch hoạt động chưa đúng yêu cầu thì tiến hành kiểm tra, sửa chữa cho đến khi mạch hoạt động đúng theo yêu cầu.
b. Lắp ráp mạch điều khiển trung tâm
Sau khi đã in-ủi mạch, tiến hành gắn và hàn linh kiện vào mạch. Mạch sau khi thi công xong có hình ảnh thực tế như hình 4.5:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 73
Hình 4.6. Mặt sau mạch điều khiển trung tâm.
c.Lắp ráp mạch dò kim loại
Sau khi đã in-ủi mạch, tiến hành gắn và hàn linh kiện vào mạch. Mạch sau khi thi công xong có hình ảnh thực tế như hình 4.7:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 74
Hình 4.8. Mặt sau mạch dò kim loại.
4.3. ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH
Sau khi thi công xong và kiểm tra mạch hoạt động tốt ta tiến hành lắp mạch điều khiển trung tâm, mạch dò kim loại, đế pin lên khung xe. Cuối xe gắn đế pin, giữa xe gắn mạch điều khiển trung tâm, đầu xe gắn mạch dò kim loại. Bố trí được trình bày như hình 4.9:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 75
Hình 4.9. Bố trí các bộ phận trên khung xe.
Trên thị trường hiện nay có sản phẩm khung xe robot 4 bánh được thiết kế nhẹ, chắc chắn, cân xứng phù hợp để làm các mô hình như: xe robot tự hành, dò đường, tránh vật cản… Khung xe được làm từ mica có độ dày là 3mm. Xe có kích thước khá lớn: dài 29,5cm, rộng 15cm, với 2 tầng không gian rộng để lắp thêm ắc quy và mạch điều khiển, các cảm biến…
Bộ sản phẩm khung xe robot 4 bánh bao gồm:
4 động cơ giảm tốc DC điện áp hoạt động 4-9V. 2 tấm mica khung xe màu trắng trong.
4 bánh xe kích thước 65mm. Bộ ốc vít, ke, cọc đồng. 1 bộ dây nối động cơ.
Giá của sản phẩm là 165.000 VNĐ. Hình ảnh khung xe robot 4 bánh sau khi được được lắp ráp hoàn chỉnh được trình bày như hình 4.10:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 76
Hình 4.10. Khung xe robot bán trên thị trường.
Nhờ vào những ưu điểm của sản phẩm, giá cả hợp lý và thiết kế phù hợp với nhu cầu của đề tài nên nhóm lựa chọn sản phẩm này để làm khung xe.
Sau khi đã lựa chọn được khung xe, ta tiến hành lắp ráp các mạch lên khung xe. Xe sau khi lắp ráp xong có kích thước là 35cm x 15 cm x 8cm (dài x rộng x cao). Mô hình hoàn chỉnh được trình bày như hình 4.11:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 77
Các thành phần của xe được đánh dấu như hình 4.12:
Hình 4.12. Bố trí các bộ phận của xe.
Vị trí các bộ phận trên khung xe: 1. Cuộn dò kim loại.
2. Mạch dò kim loại.
3. Mạch điều khiển trung tâm. 4. Nguồn pin.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 78 4.4. LẬP TRÌNH HỆ THỐNG
4.4.1. Lưu đồ giải thuật
a. Lưu đồ giải thuật của Arduino UNO R3
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 79
Giải thích lưu đồ
Bắt đầu chương trình khởi tạo các chân I/O, truyền nhận dữ liệu UART, biến data để nhận dữ liệu, biến speedCar để điều khiển tốc độ xe.
Khởi tạo xong, chương trình thực hiện liên tục cho đến khi mất điện theo chu trình sau: đầu tiên chương trình kiểm tra có phát hiện kim loại hay không? Nếu phát hiện thấy có kim loại thì dừng xe lại trong vòng 5 giây, ngược lại nếu không có kim loại thì không làm gì cả. Sau khi thực hiện xong việc kiểm tra kim loại, tiếp theo chương trình kiểm tra dữ liệu từ module ESP8266 truyền qua. Nếu có dữ liệu từ module ESP8266 gửi đến thì ta gán dữ liệu nhận được cho biến data, sau đó kiểm tra biến data, nếu data = ‘F’ thì cho xe
chạy thẳng, tương tự data = ‘B’ cho xe chạy lùi, data = ‘L’ cho xe rẽ trái, data = ‘R’ cho xe rẽ phải, data = ‘S’ cho xe dừng lại, data = ‘1’ gán biến speedCar = 60, data = ‘2’ gán biến speedCar = 70, data = ‘3’ gán biến speedCar = 80, data = ‘4’ gán biến speedCar =
90, data = ‘5’ gán biến speedCar = 100. Lưu đồ cho các chương trình con
Vị trí 4 động cơ trên khung xe được bố trí như hình 4.14. Việc bố trí ví trí các động cơ nhằm mục đích hỗ trợ cho các lưu đồ con bên dưới.
Hình 4.14. Bố trí vị trí các động cơ trên khung xe.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 80
Hình 4.15. Lưu đồ giải thuật khi xe chạy thẳng.
Giải thích lưu đồ
Điều khiển 4 động cơ 1, 2, 3, 4 quay theo thuận với tốc độ SpeedCar. Lưu đồ giải thuật khi xe chạy lùi
Hình 4.16. Lưu đồ giải thuật khi xe chạy lùi.
Giải thích lưu đồ
Điều khiển 4 động cơ 1, 2, 3, 4 quay theo ngược với tốc độ SpeedCar. Lưu đồ giải thuật khi xe rẽ trái
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 81
Hình 4.17. Lưu đồ giải thuật khi xe rẽ trái.
Giải thích lưu đồ:
Điều khiển động cơ 1, 4 quay thuận, động cơ 2, 3 quay ngược. Các động cơ quay với tốc độ SpeedCar.
Lưu đồ giải thuật khi xe rẽ phải
Hình 4.18. Lưu đồ giải thuật khi xe rẽ phải.
Giải thích lưu đồ:
Điều khiển động cơ động cơ 1, 4 quay ngược, động cơ 2, 3 quay thuận. Các động cơ quay với tốc độ SpeedCar.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 82
Lưu đồ giải thuật khi xe dừng lại
Hình 4.19. Lưu đồ giải thuật khi xe dừng lại.
Giải thích lưu đồ:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 83 b. Lưu đồ giải thuật của ESP8266 NodeMCU
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 84
Giải thích lưu đồ
Bắt đầu chương trình khai báo thư viện, khởi tạo truyền nhận dữ liệu UART, cấu hình các chân I/O, cấu hình module ESP8266 ở chế độ Access point (điểm truy cập), tên của wifi là “WIFI_ESP8266_NODEMCU”.
Sau đó nếu có dữ liệu điện thoại gửi đến thì nhận dữ liệu rồi gửi qua Arduino thông qua truyền thông UART. Tiếp theo kiểm tra có phát hiện kim loại hay không. Nếu có thì gửi lên điện thoại kí tự ‘1’, ngược lại không có kim loại thì gửi kí tự ‘0’. Lặp lại liên tục các công việc trên cho đến khi mất điện.
c.Lưu đồ giải thuật của vi điều khiển PIC16F690
Lưu đồ giải thuật chính
Hình 4.21. Lưu đồ giải thuật chính của PIC 16F690.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 85
Giải thuật đo tần số của vi điều khiển: Đầu tiên khởi tạo cho phép timer1 hoạt động, timer1 dùng xung nội, hệ số chia trước bằng 8. Tiếp theo cho phép ngắt toàn cục, ngắt tràn timer1 và ngắt ngoài trên chân RA2. Trong trình ngắt ngoài trên RA2, khi có sự thay đổi tín hiệu từ mức cao xuống mức thấp, hoặc từ mức thấp lên mức cao trên chân RA2 sẽ làm tăng giá trị của biến đếm soXung lên thêm 1 đơn vị. Trong trình ngắt tràn timer1 ta lập trình để tạo ra khoảng thời gian lấy mẫu là 0.3 giây. Khi hết 0.3 giây thì ngắt timer1 hoạt động, gán của biến đếm soXung cho biến tanSo, rồi so sánh biến tanSo với tần số ở ngưỡng so sánh để bật tắt buzzer và xuất mức tín hiệu trên chân RC5 và đặt lại Timer1 về giá trị 40536. Trong trình ngắt tràn timer1 này có thêm phần xử lý khi ta nhấn nút nhấn BTN thì chương trình tiến hành cộng dồn 10 giá trị biến tanSo liên tiếp nhau, sau đó lấy giá trị trung bình của 10 lần đó để lấy làm ngưỡng so sánh tần số.
Lưu đồ giải thuật trình ngắt ngoài
Hình 4.22. Lưu đồ giải thuật ngắt ngoài của PIC 16F690.
Giải thích lưu đồ
Nếu xảy ra ngắt ngoài thì ta lấy biến soXung tăng thêm một đơn vị. Lưu đồ giải thuật trình ngắt timer1
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 86
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 87
Giải thích lưu đồ
Nếu xảy ra ngắt timer1 thì ta tăng biến dem lên thêm 1 đơn vị, khi biến dem bằng 3 (tương đương thời gian lấy mẫu bằng 0.3 giây) thì gán biến giá trị biến soXung gán cho
biến tanSo, rồi lấy biến tanSo đi so sánh với ngưỡng tần số so sánh đã đặt, nếu nhỏ hơn tần số cài đặt thì bật buzzer, ngõ ra RC5 lên mức 1, ngược lại nhỏ hơn tần số cài đặt thì tắt buzzer, ngõ ra RC5 xuống mức 0. Đặt lại giá trị timer1 bằng 40536.
Trong chương trình ngắt tràn timer1 này có thêm phần xử lý khi ta nhấn nút nhấn BTN thì chương trình tiến hành cộng dồn 10 giá trị biến tanSo liên tiếp nhau, sau đó lấy giá trị trung bình của 10 lần đó để đặt lại ngưỡng tần số so sánh.
4.4.2. Giao diện điều khiển
Giao diện điều khiển sẽ là nơi trực tiếp điều khiển xe chạy tiến, chạy lùi, rẽ trái, rẽ phải, thay đổi tốc độ xe. Giao diện cũng là nơi hiện thị trạng thái xe có phát hiện thấy kim loại hay không. Đồng thời khi phát hiện có kim loại thì điện thoại đó sẽ phát ra tiếng bíp bíp liên tục cho đến khi không còn phát hiện có kim loại.
Giao điện điều khiển này được tạo bằng phần mềm MIT App Inventor. Quá trình thiết giao diện gồm 3 bước:
Bước 1: Thiết kế giao diện bằng cách kéo thả, sắp xếp các đối tượng sao cho
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 88
Hình 4.24. Giao diện thiết kế giao diện ứng dụng.
Bước 2: Lập trình chức năng cho từng đối tượng trong giao diện.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 89
Bước 3: Biên dịch, đóng gói thành file có đuôi .APK để cài đặt vào điện thoại.
Giao diện ứng dụng sau khi hoàn thành gồm logo trường ĐHSPKT TP.HCM, một khung thông báo phát hiện kim loại, 5 nút nhấn để điều khiển: tiến, lùi, sang trái, sang phải, dừng xe, một thanh để chọn tốc độ xe. Xe có 4 mức tốc độ lần lượt là: 1, 2, 3, 4. Kết quả của giao diện sau khi hoàn thành được cài đặt vào điện thoại như hình 4.26:
Hình 4.26. Biểu tượng ứng dụng và ứng dụng điều khiển mô hình.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 90
Hình 4.27. Các đối tượng có trong ứng dụng điều khiển.
1: Logo trường đại học sư phạm kĩ thuật Tp. HCM. 2: Vùng thông báo trạng thái dò kim loại.
3, 4, 5, 6, 7: lần lượt là nút nhấn điều khiển xe chạy tiến, xoay trái, dừng xe, xoay phải, lùi xe.
8: Thay đổi tốc độ xe.
4.4.3. Giới thiệu các phần lập trình vi điều khiển a.Giới thiệu phần mềm lập trình Arduino IDE a.Giới thiệu phần mềm lập trình Arduino IDE
Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng đa nền tảng được viết bằng Java. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực