Talaan ng mga Nilalaman:

16 Channel Servo Tester Sa Arduino at 3D Pag-print: 3 Hakbang (na may Mga Larawan)
16 Channel Servo Tester Sa Arduino at 3D Pag-print: 3 Hakbang (na may Mga Larawan)

Video: 16 Channel Servo Tester Sa Arduino at 3D Pag-print: 3 Hakbang (na may Mga Larawan)

Video: 16 Channel Servo Tester Sa Arduino at 3D Pag-print: 3 Hakbang (na may Mga Larawan)
Video: Complete guide to PCA9685 16 channel Servo controller for Arduino with code Version of 5 ( V1) 2024, Nobyembre
Anonim
16 Channel Servo Tester Sa Arduino at 3D Pagpi-print
16 Channel Servo Tester Sa Arduino at 3D Pagpi-print
16 Channel Servo Tester Sa Arduino at 3D Pagpi-print
16 Channel Servo Tester Sa Arduino at 3D Pagpi-print
16 Channel Servo Tester Sa Arduino at 3D Pagpi-print
16 Channel Servo Tester Sa Arduino at 3D Pagpi-print

Medyo ang bawat proyekto na nagawa ko kani-kanina lamang ay hiniling sa akin na subukan ang ilang mga servos at mag-eksperimento sa kanilang mga posisyon bago sila pumasok sa pagpupulong. Karaniwan akong gumagawa ng isang mabilis na tester ng servo sa isang breadboard at ginagamit ang serial monitor sa arduino IDE upang makuha ang mga posisyon ng servo, ngunit sa oras na ito napagpasyahan kong gamutin ko ang aking sarili at magdisenyo ng isang nakapaloob, permanenteng sistema upang subukan ang aking mga servo!

Maaaring kontrolin ng disenyo ang 16 servos nang sabay-sabay, gamit ang Adafruit PCA9685 servo driver board. Upang makatipid ng puwang, mayroon lamang itong 4 na potentiometers para sa pagsasaayos at isang hiwalay na hanay ng mga switch ang ginagamit upang mapili ang hanay ng apat na nais mong kontrolin. Ang isang problema na nakasalamuha ko sa maagang mga prototype ay ang disenyo na medyo mahirap maghinang at pagkatapos ay mag-cram sa isang maliit na kahon, kaya ang pinakahuling disenyo na ito ay naka-print na flat, soldered at nakatiklop, na ginagawang mas madaling magtipun-tipon!

Gumamit ako ng mahusay na kalidad ng potentiometers na may isang butas ng mounting M9, ngunit kung nais mong baguhin ang pagpupulong ng Fusion 360 upang magkasya ang iyong mga kinakailangan, huwag mag-atubiling i-download ang file: https://a360.co/2Q366j4 (o i-drill lamang ito ng mas malaki).

Inaasahan kong masisiyahan ka sa mabilis na proyekto na ito, alam kong makakakuha ako ng isang toneladang paggamit sa labas ng minahan!

TANDAAN: Nagkakaproblema ako sa pag-upload ng download package sa mga itinuturo, kaya kung hindi mo makuha ito dito kunin ito mula sa aking website.

Mga gamit

  • Arduino Uno:
  • Adafruit PCA9685 16-Channel Servo Driver:
  • 5.5mm DC panel input -
  • 5V Power supply (5A sa kasong ito upang payagan ang maraming mga servo na hinimok) -
  • 10K Potensyomiter (Tandaan na mayroong silid sa disenyo para sa iba't ibang mga uri ng potentiometer depende sa kung ano ang mayroon ka) -
  • 10K Resistor x 2:
  • SainSmart 1.8 "TFT Kulay ng LCD Display Module:
  • Push-to-make switch:
  • Wire para sa paghihinang (ang solong core ay kapaki-pakinabang dahil sa kung gaano kadali ito naka-plug sa arduino)

Hakbang 1: Pagpi-print at Assembly

Pagpi-print at Assembly
Pagpi-print at Assembly
Pagpi-print at Assembly
Pagpi-print at Assembly
Pagpi-print at Assembly
Pagpi-print at Assembly

Walang totoong mga kinakailangan para sa pag-print sa 3D, walang dahilan na hindi mo ito mai-print ito sa isang medyo mababang resolusyon. Kung mayroon kang isang malaking printer posible na mai-print ang buong bagay nang sabay-sabay, ngunit kung mayroon kang isang mas pamantayan na printer na may isang print bed na halos 200mm x 200mm, maaari mong mai-print ang base sa tatlong magkakahiwalay na bahagi. Kapag na-print mo ang lahat ng bahagi, ang dalawang halves ng base ay maaaring isali sa 8 * M2 x 4mm screws.

Maaari mo na ngayong ipasok ang lahat ng mga bahagi - ang mga potentiometers at switch ay maaaring mai-screwed sa kanilang mga panel gamit ang mga nut na kasama nila, at ang mga board ay madaling mai-screwed gamit ang M2 x 6mm-10mm screws. Dapat itong maging malinaw kung paano pumapasok ang mga board batay sa pattern ng mga butas. Ang tanging bahagi na kung saan ay isang maliit na trickier ay ang monitor, dahil ang partikular na modelo ay walang isang maginhawang mounting solution. Gumamit ako ng ilang tape upang ma-secure ito sa panel, ngunit maaari mong gamitin ang pandikit o isang bagay na katulad.

Hakbang 2: Mga kable

Kable
Kable
Kable
Kable
Kable
Kable

Ang pinakamahusay na diskarte ay ang wire ang bawat panel hangga't maaari, pagkatapos ay gawin ang lahat ng mga koneksyon sa cross-panel habang isinasara mo ang kaso. Gumamit ako ng superglue upang i-hold ang ilang mga wire sa lugar at kinailangan ang pamamahala ng cable, at dapat mo ring gamitin ang heatshrink tubing kung saan posible upang ihiwalay ang mga contact.

Hakbang 3: Arduino Programming

Programming ng Arduino
Programming ng Arduino
Programming ng Arduino
Programming ng Arduino
Programming ng Arduino
Programming ng Arduino

Mayroong ilang mga quirks sa library na kasama ng screen, kaya inirerekumenda kong i-install mo ang library na kasama sa aking pag-download. Ang programa para sa screen na ito ay medyo mas kumplikado kaysa sa karamihan sa mga screen na aking na-eksperimento, ngunit sa pangkalahatan ang programa ay medyo simple pa rin.

Upang mabigyan ka ng isang pangkalahatang ideya kung paano gumagana ang code, nagsisimula ang programa sa isang gitnang halaga ng 350 para sa lahat ng mga servo, na tila isang ligtas na pusta. Pagkatapos ay pinasimulan nito, pinupuno ang buong screen ng itim upang gawin ang background, pagkatapos ay isulat ang mga pangalan ng lahat ng mga servos ("Servo 3:" atbp) at ang kanilang mga paunang halagang 350. Ang aktwal na seksyon ng looping ng programa ay unang suriin upang makita kung ang mga pindutan ay pinindot, at kung gayon ilipat ang arrow at irehistro ang kasalukuyang napiling set ng servo. Sinusulat nito pagkatapos ang mga halaga ng mga lapad ng pulso para sa lahat ng apat na servo sa hanay batay sa isang naka-map na pagbabasa ng mga potensyal, isinusulat ito sa kulay ng dilaw, at sa wakas ay itinatakda ang servos sa posisyon na ito sa pamamagitan ng servo board ng driver. Ang anumang mga servo na kasalukuyang hindi hinihimok ay mananatili sa kanilang posisyon batay sa huling input.

Inirerekumendang: