Các dòng Vi xử lý và Vi điều khiển đã hình thành và phát triển từ rất sớm, nhưng đối với Việt Nam thì sự ứng dụng chưa được nhiều.. Những nơi sử dụng Vi xử lý và Vi điều khiển chủ yếu ở
Trang 1B Ộ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
Giảng viên hướng dẫn: TS Nguyễn Vi n Qu ễ ốc Sinh viên thực hiện: Nguyễn Xuân Trường
Lê Huy Phát
Nguyễn Văn Trường Nguyễn Tu n Nguyên ấ Nguyễn Hưng Nam
Lớp: DHCDT16B
Tp.Hồ Chí Minh, tháng…năm 2023
Trang 22
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 33
Trong những năm gần đây, robot di động ngày càng được các nhà khoa h c và sinh viên ọquan tâm nghiên c u b i nh ng ng d ng c a chúng trong hứ ở ữ ứ ụ ủ ệ thống dây chuy n s n xuề ả ất hay là đời s ng xã hố ội giúp đỡ con người ví d ụ như: dây chuyền t hành l y hang hóa trong ự ấnhà máy AMAZON hay robot tự lau nhà, … Hệ thống robot odometry được thi t k t ế ế ựhành né v t cậ ản theo nguyên lý vi sai, trong đó dữ liệu thu đượ ừc t các c m bi n encoder, ả ếhướng xe theo m ch c u L298H và c m bi n h ng ngo i H ạ ầ ả ế ồ ạ ệ thống định vị đã loại bỏ được các sai l ch do các y u t ệ ế ố môi trường cũng như những sai s ố tích lũy của phương pháp định
v ị tương đối
Các dòng Vi xử lý và Vi điều khiển đã hình thành và phát triển từ rất sớm, nhưng đối với Việt Nam thì sự ứng dụng chưa được nhiều Những nơi sử dụng Vi xử lý và Vi điều khiển chủ yếu ở những khu công nghệ cao, viện nghiên cứu hoặc những trường đại học top đầu, việc tiếp cận với công nghệ mới, những dòng Vi xử lý và Vi điều khiển mới cần được nghiên cứu có những hạn chế nhất định Do đó em nhận thấy thật sự cần thiết để nghiên cứu và tìm hiểu về vấn đề này nên đã sử dụng vi điều khiển STM32F103C8T6 cho đề tài Quá trình học tập môn thiết kế hệ thống cơ điện tử tại trường em có được giao đề tài: “Thiết
kế robot định vị Odometry sử dụng STM32F103C8T6”, dù đã cố gắng hết sức để có thể hoàn thành tốt nhất đề tài được giao Nhưng quá trình làm đề tài không tránh khỏi những sai sót, em hy vọng nhận được sự đóng góp ý kiến của các thầy cô, bạn bè cùng lớp Chúng
em xin chân thành cảm ơn!
Trang 44
Để hoàn thành đề tài thi t k hế ế ệ thống cơ điện tử này trước h t chúng em xin g i lế ử ời cảm ơn đến thầy Nguyễn Viễn Quốc khoa Cơ Khí lời cảm ơn chân thành Cảm ơn thầy đã
t n tình gi ng d y và trang b cho chúng em nh ng ki n thậ ả ạ ị ữ ế ức chuyên môn, giúp đỡ chúng
em trong su t quá trình h c tố ọ ập Đưa ra những phương án giải quy t vế ấn đề, hướng d n và ẫ
tận tình giúp đỡ nhóm chúng em trong quá trình làm đề tài
Mặc dù nhóm chúng em đã cố ắng hoàn thành đề g tài này v i t t c n lớ ấ ả ỗ ực bản thân và tinh thần nhóm nhưng do trình độ ể hi u bi t và kinh nghi m th c tế ệ ự ế vẫn còn nhi u h n ch ề ạ ếnên s không tránh kh i nh ng thi u sót và sai sót không gi i quy t h t t t c các vẽ ỏ ữ ế ả ế ế ấ ả ấn đề
nhất định, rất mong nhận được sự thông c m, chia sả ẻ, góp ý t n tình t phía th y Và cùng ậ ừ ầ
v i nh ng lớ ữ ời góp ý vô cùng quý giá để giúp nhóm em b sung thêm ki n thổ ế ức và kĩ năng
để tích lũy kiến thức b ổ sung vào thực hiện khóa luận tốt nghiệp
Một lần n a nhóm em xin chân thành cữ ảm ơn thầy đã hướng d n! ẫ
Too long to read on your phone? Save to
read later on your computer
Save to a Studylist
Trang 55
M C L C Ụ Ụ
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 2
LỜI NÓI ĐẦU 3
LỜI CẢM ƠN 4
DANH MỤC HÌNH ẢNH 7
DANH M C BỤ ẢNG 8
MỞ ĐẦU 9
1 Mục tiêu 9
1.1 M c tiêu t ng quát 9 ụ ổ 1.2 M c tiêu c ụ ụ thể ủa đề tài c 9
2 Đối tượng nghiên cứu 9
3 Phương pháp nghiên cứu 9
4 Ph m vi và gi i h n cạ ớ ạ ủa đề tài 9
5 Ý nghĩa khoa học và thực tiễn của đề tài 10
6 Kết cấu bài thuyết minh 10
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 11
CHƯƠNG 2: BẢN VẼ THIẾT KẾ 2D 21
CHƯƠNG 3: THIẾ T KẾ HỆ TH ỐNG ĐIỀ U KHIỂN 25
3.1 Sơ đồ tổng thể hệ thống 25
3.2 Thiết kế ph n c ng cầ ứ ủa hệ thống 25
3.2.1 Các thiết bị được s d ng 25 ử ụ 3.2.2 Thi t b kh i c m bi n 26 ế ị ố ả ế 3.2.3 Thi t b khế ị ối điều khi n trung tâm 28 ể 3.2.4 Thi t b kh i x lý tín hi u 30 ế ị ố ử ệ 3.2.5 Thi t b khế ị ối cơ cấu ch p hành 36 ấ CHƯƠNG 4: THI CÔNG MÔ HÌNH CHẠ Y THỰC NGHI ỆM VÀ ĐÁNH GIÁ 44
4.1 L p ráp linh ki n 44 ắ ệ 4.1.1 Danh sách linh ki n s d ng 44 ệ ử ụ 4.1.2 L p ráp và hoàn thi n mắ ệ ạch 45
4.2 Nội dụng k t qu ế ả chạy thực nghiệm của xe 51
4.3 Đánh giá kết quả 52
Trang 66
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 47
5.1 Kết luận 47 5.2 Hướng phát triển 47
TÀI LIỆU THAM KH O 48 Ả PHỤ L C 49 Ụ
Code robot Odometry 49
Trang 77
DANH MỤC HÌNH ẢNH
Hình 3.1: Sơ đồ ổ t ng quát hệ th ng 25 ố Hình 3.2: Cảm biến h ng ngo i 27 ồ ạ Hình 3.3: Sơ đồ kết nối cảm biến trên m ch 28 ạ
Hình 3.4: Kit phát triển STM32F103C8T6 29
Hình 3.5: Sơ đồ chân GPIO STM32F103C8T6 30
Hình 3.6: Biến tr 31 ở Hình 3.7: Module mạch c u H L298N 31 ầ Hình 3.8: Nguyên lý hoạt động mạch cầu H L298N 32
Hình 3.9: Chân kết nối c a LCD 35 ủ Hình 3.10: Động cơ DC Servo JGA25-370 Geared Motor 36
Hình 3.11: Thông số động cơ 37
Hình 3.12: Bánh xe V2 65mm khớp l c giác 12mm 38 ụ Hình 3.13: Khung xe Robot Chassis Simple S1 39
Hình 3.14: Thông s khung xe 40 ố Hình 3.15: Pin sạc 18650 Li-ion rechargeable battery 3.7V 12mAh 2C 41
Hình 4.1: Sơ đồ dây bước đầ ắở u l p ráp 45
Hình 4.2: Sơ đồ dây sau khi lắp ráp hoàn ch nh 46 ỉ Hình 4.3: Hình ảnh sau khi hi u ch nh l i xe 47 ệ ỉ ạ Hình 4.4: Hình ảnh khi bật công tắc xe 48
Hình 4.5: Số xung khi xe v ề đích và reset 49
Hình 4.6: Mạch in 50
Hình 4.7: Sơ đồ ạch m 51
Trang 88 DANH MỤC BẢNG
B ng 4.1: Linh ki n s d ng cho h ả ệ ử ụ ệ thống điện 26
Trang 9vi điều khiển STM32F103C8T6 thông qua ST-Link
2 Mục tiêu cụ thể của đề tài
- Thiết k mô hình robot Odometry s dế ử ụng 2 động cơ encoder đọc xung và 1 bánh
xe sau đa hướng mắt trâu kim loại cân bằng
- B ộ điều khi n trung tâm s dể ử ụng vi điều khiển STM32F103C8T6 để điều khi n toàn ể
b hoộ ạt động của hệ thống robot và điều khiển động cơ thông qua mạch cầu L298H
- Dữ liệu đo được số xung 2 động cơ encoder sẽ được hi n th lên màn hình LCD ể ị16x2
3 Đối tượng nghiên cứu
- Robot định v Odometry.ị
- STM32F103C8T6, L298H, LCD 16x2, động cơ DC servo JGA25-370, cảm biến
h ng ngoồ ại
4 Phương pháp nghiên cứu
- Thu thập và phân tích các tài li u nghiên c u và tài li u th y gệ ứ ệ ầ ửi
- Kế thừa nh ng k t qu nghiên cữ ế ả ứu đã có để làm n n t ng cho vi c gi i quy t yêu ề ả ệ ả ếcầu của đề tài
- Áp d ng các ki n thụ ế ức được học ở trường từ đó tạo thành một sản ph m hoẩ ạt động theo đúng mục đích đề ra
Trang 1010
5 Phạm vi và giới hạn của đề tài
- Ứng d ng các mụ ạch điều khi n, x lý tín hi u có s n trên th ể ử ệ ẵ ị trường kết hợ ại với p lnhau t o thành m t robot odometry t ng hoàn ch nh.ạ ộ ự độ ỉ
6 Kết cấu bài thuyết minh
Chương 1: Tổng quan
Chương 2: Bản vẽ thiết kế 2D
Chương 3: Thiết kế hệ thống điều khiển
Chương 4: Thi công mô hình chạy thực nghiệm và đánh giá kết quả
Chương 5: Kết luận và hướng phát triển
Trang 1111
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Chúng ta cần theo dõi xe dựa vào hai vecto đó là vecto vị trí và vecto định hướng theta (𝜃) Để tìm được hai vecto này, chúng ta mô hình hóa chuyển động của xe dưới dạng hình cung như bên dưới
Chúng ta có mô hình xe như hình vẽ
Trang 1212
Trong hình vẽ ta có kho ng cách gi a trung tâm xe vả ữ ới 2 bánh xe đó là 𝑇𝐿 và 𝑇𝑅 và kho ng cách t bánh xe ph t i trung tâm xe là ả ừ ụ ớ 𝑇𝐵 Gi s xe chuyả ử ển động theo hình cung như lí thuyết chúng ta đề ra Khi đó chúng ta s nhận th y có 2 cung khác nhau nữa ẽ ấngoài cung c a trung tâm xe so vủ ới điểm C Chúng ta g i vòng cung bên trái là ọ ∆𝐿 và vòng cung bên ph i là ả ∆𝑅 Khi đó sẽ có góc hướng mới của vòng cung trung tâm và góc này s ẽ giúp ta tìm được v ị trí và hướng m i cớ ủa xe
Ta có công thức độ dài vòng cung (S)
𝑆 = 𝑟 × 𝜃 Trong đó:
S : độ dài cung trong
r : bán kính tức thời
𝜃 : góc của cung (rad)
Trang 1414
Tiếp theo, chúng ta s tính toán v ẽ ị trí của xe Tưởng tượng xe trong tọa độ, khi đó có thể
phản ánh được v ị trí dọc và ngang của xe Thông thường cách d nhễ ất là làm cho hướng
đi của xe song song với trục y Và giả sử rằng trục y thực s là một đường thằng từ tâm ự
xe v ở ị trí ban đầu đến tâm xe của vị trí tiếp theo Khi đó quãng đường mà xe di chuy n ểtheo hướng thẳng đứng tạo thành 1 tam giác cân v i với tâm củớ a cung tròn trung tâm c a ủ
xe
Trang 1515 Trong 1 tam giác, ta có
Trang 1616
𝑐 = 𝑎 +𝑏 − 2𝑎𝑏𝑐𝑜𝑠(𝐶) (3) Theo như hình khi ta giả sử thì
𝑎 = 𝑏 =∆𝑅
𝜃 + 𝑇𝑅= 𝑅 (4) Thay vào công thức (3) ta có
𝑦2= 𝑅 + 𝑅 − 2𝑅2 2 2cos (𝜃)
<=> 𝑦 = 2𝑅 (1 − cos2 2 (𝜃) )
<=> 𝑦2= 4𝑅2(1 − cos(𝜃)
2 ) Sau khi b ỏ bình phương 2 vế ta được
𝑦 = 2(∆𝑅
𝜃 + 𝑇𝑅)(sin (𝜃
2)) Theo 1 s tài u khác ố liệ thì:
Tại u kho ng th i gian dt, tđầ ả ờ ọa đ tâm Om c a xe trong tộ ủ ọa độ Oxy gồm bộ 3
𝑥𝑦
𝜃, tại đi m ểnày ta có tọa độ tâm C:
Trang 18𝑣𝑅: vận t c dài quanh tr c bánh phố ụ ải/
𝑣𝐿: vận t c dài quanh tr c bánh trái ố ụ
𝑑𝑡 và 𝑣𝐿=𝑑𝑆𝐿
𝑑𝑡 vào phương trình (7) và phương trình (9) với 𝑑𝑆𝑅và 𝑑𝑆𝐿là độ dài m i bánh d ch chuyỗ ị ển được trong thời gian dt Thay lại r và 𝜔 trong các bi u th c này ể ứvào phương trình (3) ta được
Trang 19𝑛𝐿, 2 đại lượng này là số đếm tăng thêm từ encoder của mỗi bánh, và tọa độ x, y, 𝜃 cuối chu kì trước Khi đó ta gán giá trị 𝑛𝑅𝐷𝜋 và 𝑛𝐿𝐷𝜋 vào vị trí của 𝑑𝑆𝑅 và 𝑑𝑆𝐿 trong phương trình trên
Ta cũng có 1 d n ẫ chứng khác
Trang 2020
𝑥(𝑡) = 1
2∫ (𝑣𝑅 (𝑡)+ 𝑣𝐿(𝑡))cos(θ( ) t ) dt 𝑡
0 𝑦(𝑡) = 1
2∫ (𝑣𝑅 (𝑡)+ 𝑣𝐿(𝑡)) sin(θ( ) t ) dt 𝑡
0 𝜃(𝑡) = 1 2𝐿∫ (𝑣𝑅 (𝑡) − 𝑣𝐿( ) 𝑡 )𝑑𝑡 𝑡
0
Trang 2222
Hộp pin
Stm32F103C8T6
Màn hình LCD model
Trang 2323
Mạch điều khiển động cơ
L298
Trang 2424 Động cơ DC Servo JGA25-
370 kèm bánh xe
Trang 25- Khối cảm biến: Gồm c m biả ến h ng ngo i ồ ạ
- Khối xử lý trung tâm: Module vi điều khi n STM32F103C8T6 ể
- Khối xử lý tín hiệu vào ra: M ch c u L298, màn hình LCD, bi n tr ạ ầ ế ở
- Khối cơ cấu chấp hành: Động cơ Encoder
3.2.1 Các thiết bị được sử ụng d
Trong hệ thống s dử ụng STM32F103C8T6 để thực hiện điều khiển chính Kit điều khi n s d a vào thông s cể ẽ ự ố ảm biến và encoder thu thập được để điều khiển động cơ
Trang 2626
Bảng 4.1: Linh ki n s d ng cho h ệ ử ụ ệ thống điện
STT Tên thi t b ế ị S ố
lượng Chức năng Khối cảm biến
1 Cảm biến h ng ngo i ồ ạ 1 Né khi gặp vật cản
Khối điều khi n trung tâm ể
2 STM32F103C8T6 1 Vi điều khi n trung tâm ể
Khối xử lý tín hiệu
3 Biến tr ở 1 Thay đổi độtương phản của LCD
4 Driver L298 1 Điều khi n tốc độ động cơ ể
5 Màn hình LCD 1 Hiển th thông s xung encoder ị ố
Khối cơ cấu chấp hành
6 Động cơ encoder 2 Di chuyển xe tới vị trí
3.2.2 Thiết bị khối cảm biến
❖
❖ Cảm biến hồng ngo ại
Các c m bi n PIR luôn có sensor (m t c m bi n) vả ế ắ ả ế ới 2 đơn vị (element) Chắn trước
m t sensor là mắ ột lăng kính (thường làm b ng plastic), ch t o theo kiằ ế ạ ểu lăng kính fresnel Lăng kính fresnel này có tác dụng chặn lại và phân thành nhiều vùng (zone) cho phép tia h ng ngoồ ại đi vào mắt sensor Chúng ta có th hiể ểu đơn giản r ng, n u ằ ếkhông có lăng kính fresnel, toàn bộ bức xạ của môi trường sẽ chỉ coi như có 1 Zone
Trang 2727
d i h t vào mộ ế ắt sensor, như vậy thì nó s không có tác d ng phân bi t chuyẽ ụ ệ ển động, và
s cẽ ực kỳ nh y vạ ới bất kỳ ự thay đổ s i nhiệt độ nào của môi trường
Hình 3.2: C m bi n h ng ngo i ả ế ồ ạ
Thông số kỹ thuật:
• Model: OMDHON E18-D80NK
• Số dây tín hiệu: 3 dây (2 dây cấp nguồn và 1 dây tín hiệu)
• Chân tín hiệu ngõ ra: cấu trúc cực thu hở Transistor NPN - Open Collector nên sẽ cần phải có trở kéo (khoảng 1~10K) lên chân nguồn dương VCC để tạo thành tín hiệu mức cao (High)
• Nguồn điện cung cấp: 5VDC
• Khoảng điều chỉnh phát hiện vật cản của cảm biến: 3~80cm (điều chỉnh bằng biến trở trên cảm biến)
• Góc khuếch tán (góc chiếu): 3~5 độ
• Dòng kích ngõ ra: < 30 0mA
• Có led hiển thị ngõ ra màu đỏ
• Chất liệu sản phẩm: vỏ ngoài nhựa ABS, phía trong đổ keo chống nước, chống va đập
• Kích thước: 18 x 70mm
Trang 2828
Sơ đồ dây:
• Màu Nâu (Brown): chân nguồn dương VCC cấp nguồn từ 5VDC
• Màu Đen (Black): chân tín hiệu SIGNAL đầu ra cấu trúc cực thu hở Transistor NPN -
Open Collector
• Xanh Dương (Blue): chân nguồn âm GND 0VDC
Hình 3.3: Sơ đồ kết nối cảm biến trên mạch
3.2.3 Thiết bị khối điều khiển trung tâm
❖
❖ STM32F103C8T6
Kit phát tri n STM32F103C8T6 Blue Pill ARM Cortex-M3 là loể ại được s dử ụng để nghiên c u v ARM nhi u nh t hi n nay do có m c giá rứ ề ề ấ ệ ứ ẻ đồng th i có th nờ ể ạp bootloader Blue Pill để giao tiếp và lập trình với phần mềm Arduino một cách dễ dàng, kit có chất lượng gia công tốt, độ ề b n cao
Trang 29• Ra chân đầy đủ tất cả các GPIO và giao tiếp: CAN, I2C, SPI, UART, USB,
• Tích hợp Led trạng thái nguồn, Led PC13, Nút Reset
• Kích thước: 53.34 x 15.24mm
❖ Sơ đồ chân GPIO STM32F103C8T6:
Trang 30B 11 lo i bi n tr thông d ng 100~1M Ohm (11 kind variable resistor) bao gộ ạ ế ở ụ ồm
11 lo i bi n tr c m thông d ng v i sạ ế ở ắ ụ ớ ố lượng m i loại 5 con (t ng 55 con) giúp bỗ ổ ạn
d dàng th c hi n các thí nghi m trên Breadboard vễ ự ệ ệ ới các module, vi điều khi n, ểcảm biến,
Thông số kỹ thuật:
– 10K Ohm (103)
1M Ohm (105)
Trang 3232
– Cấu tạo Mạch cầu H
• 2V power, 5V power Đây là 2 chân c p ngu n ấ ồ trực tiếp đế độn ng cơ
• Power GND chân này là GND c a ngu n c p ủ ồ ấ cho Động cơ
• 2 Jump A enable và B enable, để như hình, G m ồ có 4 chân Input IN1, IN2, IN3, IN4 Chức năng các chân này tôi sẽ
giải thích ở bước sau
Output A: nối với động cơ A bạn chú ý chân +, Nếu bạn nối ngược thì động cơ sẽ chạy ngược Và chú ý nếu bạn nối động cơ bước, bạn phải đấu nối các pha cho phù hợp
-– Nguyên lý hoạt động:
Hình 3.8: Nguyên lý hoạt động m ch c u H L298N ạ ầ
• Hai chân ENA và ENB dùng để điều khiển các mạch cầu
H trong L298 N u mế ở ức logic “1” (nối với ngu n 5V) thì ồcho phép m ch c u H hoạ ầ ạt động, n u mế ở ức logic “0” thì
Trang 3333
mạch c u H không hoầ ạt động
• Khi ENA = 0: Động cơ không quay v i m i ớ ọ đầu vào
• Khi ENA = 1:
• INT1 = 1; INT2 = 0: ng quay thuđộ cơ ận
• INT1 = 0; INT2 = 1: ng quay nghđộ cơ ịch
• INT1 = INT2: động cơ dừng ngay t c ứ thì
– Thông số kỹ thuật
• Driver: L298N tích h p hai mợ ạch ầ c u H
• Điện áp điều khiển: +5 V ~ +12 V
• Dòng tối đa cho m i c u H 2A ỗ ầ là: (=>2A cho ỗ m i motor)
• Điện áp ủ tín hiệu c a điều khi n: ể +5 V ~ +7 V
• Dòng của tín ệu hi điều khiển: 0 ~ 36mA (Arduino có thể
chơi đế n 40mA nên kh e re nhé các bạn) ỏ
• Công suất hao phí: 20W (khi nhi t T = ệ độ 75 ℃)
Trang 34• Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng
để sử dụng ít điện năng hơn
• Có thể được điều khiển với 6 dây tín hiệu
• Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật, xem thêm HD44780 datasheet để biết thêm chi tiết
Chân Ký hiệu Mô tả Giá trị
Trang 36- S xung encoder m i kênh ố ỗ : 514.8 xung/ vòng
- Khối lượng động cơ ( 1 cái ) : 92 gam
Trang 3737
b Hình ảnh thông s ố động cơ
Hình 3.11: Thông s ố động cơ
c Sơ đồ chân của động cơ
- M1 : Dây cấp nguồn cho động cơ
- GND : Dây cấp ngu n cho encoder ( 0VDC) ồ
- C1/A : Kênh trả xung A
- C2/B : Kênh trả xung B
- VCC : Dây cấp ngu n cho encoder (3.3 5VDC) ồ –
- M2 : Dây cấp nguồn cho động cơ