lequocchi gửi vào
- 13488 lượt xem
1. GIỚI THIỆU
Do mình thấy một số anh và bạn bè mình chơi RoboArm theo nhiều hình thức khác nhau qua Bluetooh, NRF24l01, Xbee,RF, Remote hồng ngoại. Và cũng chưa thấy bài viết tổng hợp về Arm +L298 nên mình xin viết bài này, Do lập trình mình chưa vững chỉ thấy có sự logic là cứ viết cộng với phần cơ khí mình có vẻ tồi nên có gì sai sót mong anh em trong group thông cảm và góp ý vào phần comment phía dưới nhé để bài viết mình chỉnh sửa và hoàn thiện hơn. Hi vọng bài viết này mang lại trải nghiệm thú vị cho một số bạn newbie.
2. NHỮNG THỨ CẦN CHUẨN BỊ
- Arduino Mega 2560
- L298N
- PlayStation 2 không dây kèm bộ nhận tín hiệu
- LCD5110
- 2 viên pin lipo 2 cell // hoặc 1 pin lipo 3cell dòng xả mạnh + thời lượng pin trâu tùy theo sở thích mỗi bạn có thể dung ultra. Của mình là 1 cục 2 cell và 1 cục 3 cell
- 6 động cơ giảm tốc vàng // tiết kiệm chi phí thì dung 2 động cơ và 1 bánh đa hướng hoặc 4 động cơ mắc song song , ở đây hệ thống mình mắc mỗi bên 3 động cơ và chúng mắc song song nên chỉ xem như là 1 động cơ vs 3 bánh mỗi bên
- 3 con giảm áp lm2596 // dùng để giảm áp cho servo, mình sẽ giải thích cách mắc sau
- 6 con servo MG996
- Một khung xe 6 bánh cắt mica 5li + 1 khung cánh tay cắt mica 3li // các bạn hãy xem lại bài hướng dẫn làm cánh tay robot của một anh trong Cộng đồng nhé, mình không trình bày lại vì nó quá dài :v các bạn có thể cắt mica, in3D hoặc mua khung sẵn, và cũng nên làm dạng U-arm để làm ít servo lại ( 4 servo thôi) tùy các bạn, cánh tay của mình do bạn Trương Trọng Thân thiết kế cắt mica và in3D, để thi trong trường với HC05
- Chế khung xe
- Chế tay
- Hoặc các bạn lên thingiverse.com search từ khóa U-arm hoặc servo arm nhé.
- Một mớ String :3 // chú ý dây nhợ nhé các bác, đôi lúc cũng không hiểu vì sao nó chạy sai. Thì ra là nó đứt dây trong
- Nếu cần thiết thì sử dụng vài con tụ mắc song song vào 3 con giảm áp// phòng trường họp khi ngắt nguồn thì nó xả dòng ra để servo xoay chậm lai rồi dừng hẳn, đảm bảo độ an toàn cho servo
3. SƠ ĐỒ
Do dạo này Fritzing nó sao sao ý mấy bạn, mình tải từ bản cũ đến bản mới No Donate khi extract xong nó báo lỗi thiếu file dll, nên mình không thể vẽ sơ đồ mắc dây được. các bạn xem dạng bảng tạm nha
Kết nối L298N với Adruino Mega:
L298n
|
Adruino Mega
|
IN1
|
2
|
IN2
|
3
|
IN3
|
4
|
IN4
|
5
|
Kết nối hệ thống cánh tay Servo với Adruino Mega và nguồn
SERVO
|
Adruino Mega
|
Giảm áp
|
Pin lipo
|
SERVO1
|
44
|
Giảm áp 1
|
LIPO1
|
SERVO2
|
45
|
Giảm áp 1
|
LIPO1
|
SERVO3
|
8
|
Giảm áp 2
|
LIPO2 chung với l298
|
SERVO4
|
9
|
Giảm áp 3
|
LIPO1
|
SERVO5
|
42
|
Giảm áp 3
|
LIPO1
|
SERVO6
|
43
|
Giảm áp 3
|
LIPO1
|
Servo đế mình mắc 2 con đồng trục cùng hướng và mình gọi là servo 1 servo2, tiếp theo lên phía trên là servo 3,4,5 và servo 6 là servo tay gắp. Servo 1,2 mình dung 1 con giảm áp, servo3 1con, và servo 4,5,6 1 con giảm áp. Pin 2 cell dung cho l298n và servo 3, còn 3 cell dung cho 5 con servo còn lại. tất cả chân GND các bạn mắc theo GND giảm áp theo pin của nó như bảng trên. Và lipo1 thì chia thành 2 con giảm áp 1 với 3 mắc song song. bạn nào bối rối với hệ thống mình thì cứ dùng 1 nguồn tùy theo bạn. ở đây mình muốn chơi lâu với một nguồn thì chưa đủ
Kết nối Playstation 2 vs Adruino Mega
PlayStation 2 ( Bộ Thu tín hiệu )
|
Adruino Mega
|
VCC
|
VCC
|
GND
|
GND
|
DATA
|
13
|
CLK
|
12
|
ATTENTION
|
10
|
COMMAND
|
11
|
Vào bài viết bạn đỗ hữu toàn để tải thư viện hoặc searh google PS2x nha :v. Nói vậy thôi, mình up lên codebender ù, các bạn vào và biên dịch thôi :)
Kết nối LCD nokia5110 với Adruino Mega
LCD5110
|
AdrMega
|
VCC; BL
|
5v
|
RST
|
A8
|
CE
|
A9
|
DC
|
A10
|
DIN
|
A11
|
CLK
|
A12
|
GND
|
GND
|
Chân BL mắc vào Vcc nhá
Các bạn thấy rằng adruino mega chơi rất sướng có tới 5 chân GND, 3 Chân 5v nên thỏa sức quẩy nhé
4. CODE
Code mình tham khảo từ code bạn Đỗ hữu Toàn phần di chuyển với L298N. Do bạn ấy dùng digitalWrire các chân động cơ nên rất lag không mượt mà, mình chuyển hết về analogWrite cho PWM = 0 lúc trạng thái LOW còn phần điều khiển servo có thư viện bạn cứ khai báo button ra để chạy góc servo. Do thiết kế cánh tay và đo góc khác nhau nên các bạn chú ý phần vị trí pos góc ban đầu của nó nhé. Khai báo lại góc cho hợp với hệ thống của bạn.