Talaan ng mga Nilalaman:

Kinokontrol ng IR ng Stepper Motor Lift: 15 Hakbang
Kinokontrol ng IR ng Stepper Motor Lift: 15 Hakbang

Video: Kinokontrol ng IR ng Stepper Motor Lift: 15 Hakbang

Video: Kinokontrol ng IR ng Stepper Motor Lift: 15 Hakbang
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Hulyo
Anonim

Kailangan kong i-automate ang pag-angat ng isang malaking larawan na nagtatago ng isang TV na naka-mount sa isang fireplace. Ang larawan ay naka-mount sa isang pasadyang frame ng bakal na sliding na gumagamit ng mga lubid, pulley at counterweights upang maiangat ito ng kamay. Mahusay ito sa teorya ngunit hindi maginhawa sa pagsasanay kung nais mo lamang manuod ng TV nang ilang minuto. Nais kong i-automate ang pag-angat ng larawan gamit ang mga utos ng IR mula sa isang Harmony Hub tuwing nakabukas ang TV.

Hakbang 1:

Narito kung paano angat ng larawan dati. Tulad ng nakikita mong walang sapat na silid upang mai-install ang isang tipikal na TV lift. Kahit na may sapat na silid, ang pinakamataas na TV lift ay nag-a-advertise na maaari nilang iangat ang isang TV hanggang sa 60 pulgada ngunit nakaliligaw iyon dahil ang kanilang maximum na paglalakbay ay karaniwang 24 hanggang 30 pulgada lamang at kailangan kong ilipat ang larawan na 53 pulgada. Inimbestigahan ko ang mga linear na actuator ngunit muli walang sapat na silid at hindi ko makita ang isang siksik na may ganoong karaming angat. Mayroon ding problema sa pag-uunawa kung paano ito mai-aktuate gamit ang IR na karamihan sa paggamit ng isang pisikal na switch o RF remote.

Hakbang 2:

Image
Image

Kailangan ko ng isang mekanismo na siksik, maaaring maglakbay ng 53 pulgada at makontrol ng IR. Sa wakas ay naayos ko ang paggamit ng isang malaking stepper motor na may isang mahabang tornilyo. Pagkatapos ng isang online na paghahanap natagpuan ko ang dalawang video na ito. Pasimple kong pinagsama ang dalawang konsepto.

Hakbang 3:

Listahan ng mga bahagi

High Torque NEMA 23 Stepper Motor

NEMA 23 Damper https://smile.amazon.com/gp/product/B07LFG6X8R Nag-aalala ako na ang mataas na dalas ng tunog ng stepper motor ay tatunog sa metal frame at gumawa ng maraming ingay kaya gumamit ako ng damper. Ang stepper ay isang maliit na mas malawak kaysa sa anggulo ng bakal kaya ang isang bahagi ng stepper ay talagang mai-clamp sa mga turnilyo, nut at fender washers kaya kinailangan kong gamitin ang style damper na ito na mayroong apat na mounting hole sa bawat dulo sa halip na ang karaniwang dalawa.

Stepper Motor Driver 1.0-4.2A 20-50VDC

Fanless 24V Power Supply

Arduino

Micro switch https://smile.amazon.com/dp/B07KLZTHR9 o https://smile.amazon.com/dp/product/B07V6VGV9J depende sa kung magkano ang maabot na kailangan. Gumamit ako ng isang mabibigat na switch ng tungkulin tulad nito dahil inilalagay ko ito sa anggulo na bakal.

Diode ng IR receiver https://smile.amazon.com/dp/B00UO9VO8O Ang mga tagatanggap ng Vishay na ito umano ang pinakamahusay.

Malinaw o pinausukang Arduino Case https://smile.amazon.com/gp/product/B075SXLNPG Isang bagay na malinaw na maaaring tumagos sa isang IR flasher.

Zyltech 8mm T8x8 ACME Lead Screw and Nut ("T8" = 8mm diameter; "x8" = 8mm lift per rebolusyon) Kailangan ko ng talagang mahabang lead screw kaya nahanap ko ang 2000mm (78 pulgada ~ 6.5 ft) na ito sa ebay https: / /www.ebay.com/itm/323211448286 Sa kabutihang palad ang tagagawa na ito ay nagsasama ng isang mabibigat na tungkulin na tanso na nut na may isang malawak na flange. Karamihan sa iba pang mga tatak ay may makitid na mga flanges na may maliit na mga mounting hole na napakalapit sa baras na hindi nila iniiwan ang clearance para sa mga washer at locknuts.

8mm hanggang 10mm Shaft Coupler https://smile.amazon.com/gp/product/B07X4VHYTQ Siguraduhin na gumamit ng isang solid, clamp-style na coupler tulad nito habang hinahawakan nila ang mas mahigpit kaysa sa isang uri ng set-screw at hindi makakasira sa baras o tornilyo ng tingga.

Anumang IR remote

Mga kable sa pagitan ng Arduino at Stepper Driver https://smile.amazon.com/dp/B07D58W66X Pinrograma ko ang Arduino gamit ang mga katabing pin upang magamit ko ang isang malawak na konektor ng header na tulad nito na hindi madaling maluwag.

4-conductor wire sa pagitan ng Stepper Driver at Stepper

2-conductor wire sa pagitan ng Arduino at Micro switch

Mga konektor ng terminal ng istilong Euro

Hakbang 4:

Ginamit ko ang aklatan ng stepper ng AccelStepper upang masimulan ko at matigil ang stepper nang paunti-unti dahil medyo may kasangkot na masa ngunit kailangan ko pa ring maiuwi ang stepper na may kapangyarihan gamit ang isang Micro switch. Natagpuan ko ang video at tutorial sa YouTube na ito na ipinakita kung paano maiuuwi ang stepper gamit ang regular na switch ng mataas / mababang pin bago ibigay ang kontrol sa AccelStepper para sa mas mabilis na paggalaw.

Hakbang 5:

Larawan
Larawan

Gumamit ako ng isang Arduino Uno at jumper wires para sa pag-coding at prototyping phase.

Hakbang 6:

Bago ko maisulat ang sketch para sa pag-angat kailangan ko upang hanapin ang mga IR hex code para sa mga pindutan sa remote na gagamitin ko pataas at pababa kaya na-upload ko ang naka-attach na sketch sa Arduino at binuksan ang serial monitor upang matingnan ang mga code habang Pinindot ko ang mga pindutan sa remote.

P. S. Ito ang aking unang proyekto ng Arduino sa Instructables. Para sa ilang kadahilanan ang code ay nagmula kapag ginamit ko ang alinman sa pagpipilian ng format ng code o paglakip bilang simpleng teksto kaya't na-upload ko ito sa isang extension na.c. Pangalanan lamang ito sa extension ng.ino ng Arduino. O.txt kung nais mo lamang itong tingnan nang mabilis.

Hakbang 7:

Ang code para sa pag-angat mismo.

Hakbang 8:

Larawan
Larawan

Gumamit ako ng isang Arduino Uno at indibidwal na mga jumper wires para sa prototyping phase ngunit nais kong gumamit ng isang 5-pin header cable upang maiwasan ang mga wire na aksidenteng makuha. Ang nag-iisang buong sukat na board ng Arduino na maaari kong makita nang walang paunang naka-install na mga header pin ay isang Arduino Leonardo mula sa opisyal na tindahan ng Arduino. Ang code ay pareho para sa pareho maliban sa isang kilalang salungatan sa pagitan ng pin ng LED ng Leonardo at IR ng Leonardo kaya't hindi ko makuha ang LED upang kumurap para sa visual na feedback kapag tumatanggap ng mga IR signal tulad ng kaya kong gawin sa Uno ngunit hindi iyon biggy. Ang tanging iba pang mga kapansin-pansin na pagkakaiba ay ang Leonardo na gumagamit ng isang micro USB konektor at bota na mas mabilis kaysa sa Uno. Baluktot ko ang mga lead ng IR tatanggap ng 90 degree at solder ito sa permanenteng upang harapin ang tuktok ng kaso kung saan binalak kong idikit ang IR flasher ng Harmony Hub.

Hakbang 9:

Larawan
Larawan
Larawan
Larawan

Nais kong panatilihin ang lahat bilang siksik hangga't maaari kaya nahanap ko ang maliit na naaayos na kahon ng kable / modem na ito https://smile.amazon.com/dp/B077T45BXR upang hawakan ang Arduino, stepper driver at power supply. Gumamit ako ng velcro at silicone servo tape upang mapanatili ang lahat mula sa pagdulas kapag hinihigpit ang bundok. Ang hakbang, direksyon at paganahin ang mga terminal sa stepper driver ay hindi nagbabahagi ng isang karaniwang landas at mayroon lamang akong isang ground wire na nagmumula sa Arduino kaya gumamit ako ng mga jumper wires (mga maliit na itim na loop) upang ikonekta ang lahat ng mga ground terminal nang magkasama sa stepper driver. Ang maliit na hubad na kawad na dumidikit na hindi konektado sa anumang bagay ay ang positibong kawad para sa Micro switch. Karaniwan mayroong isang hakbang, direksyon, paganahin, micro switch at ground wire na nagmumula sa Arduino.

Hakbang 10:

Larawan
Larawan

Ang pag-install ng ACME nut, lead screw at stepper motor mismo ay hindi mahirap ngunit kailangan ko ng maraming tulong sa pag-alis ng larawan at counterweights upang makapunta sa frame.

Hakbang 11:

Larawan
Larawan

Naka-install ang nut ng ACME.

Hakbang 12:

Narito ang isang maikling video ng homing na bahagi ng sketch. Mabagal ito sa pamamagitan ng disenyo habang nangangaso ito para sa limit switch. Awtomatikong nagsisimula ang homing pagkatapos ng bawat oras na may pagkawala ng kuryente kaya alam ng stepper driver ang posisyon ng stepper. Kung i-on mo ang dami sa 12 segundong marka maaari mong marinig ang pag-click sa micro switch kapag naitulak ito at muling mag-click kapag pinakawalan pagkatapos ng stepper na umikot.

Hakbang 13:

Image
Image

At sa wakas narito ang pag-angat sa aksyon. Tumatagal ng 25 segundo upang maiangat ang larawan 53 pulgada.

Hakbang 14:

Larawan
Larawan

Mga sangkap na naka-mount sa likod ng TV.

Hakbang 15:

Larawan
Larawan

Natutunan ko ang ilang mga aralin sa pagsulat at pag-debug ng code. Ang una ay ang stepper ay magsisimulang homing sa power-up kahit na ang Micro switch ay naka-disconnect kaya sa halip ay na-wire ko ang Arduino sa karaniwang nakasara (NC) na bahagi ng switch at nagdagdag ng ilang code upang lumabas sa sketch kung ang switch ay hindi napansin, kung hindi man, ang stepper ay hindi hihinto sa homing. Kung gagamitin mo ang karaniwang bukas (HINDI) na bahagi ng switch pagkatapos ay hindi masasabi ng Arduino kung ang switch ay bukas o simpleng hindi nakakabit. Ang pangalawang aral na natutunan ko ay ang stepper driver na gagamit ng kapangyarihan (buo o kalahating lakas depende sa isang setting ng switch ng DIP sa stepper driver) upang i-hold ang driver ng stepper kapag hindi ito gumagalaw. Makatuwiran ito para sa mga aplikasyon sa pag-print ng CNC at 3D ngunit hindi ko ito kailanganing hawakan nang matagal sa oras (Pahiwatig: Ang paghawak sa kalahating lakas ay gumagawa ng stepper motor na hindi kasing init lol) dahil gumagamit ako ng medyo walang timbang na mekanismo ng pag-angat. Ang solusyon ay ang paggamit ng mga stepper driver na ENA (paganahin) ang mga pin. Ikinonekta ko ang stepper driver na ENA + sa isang pin sa Arduino at ang ENA- sa lupa ng Arduino at pinalitan ko lang ang ENA + pin sa TAAS (Bukas) upang sabihin sa driver ng stepper na patayin ang kuryente sa stepper sa pagitan ng mga paggalaw. Kung ginagamit ko ito upang maiangat ang isang mabibigat na TV susubukan ko munang gumamit ng isang anti-backlash nut upang makita kung sapat na iyon upang hawakan ito bago gamitin ang isang patuloy na pinalakas na stepper upang makatipid lamang sa kuryente. Inaasahan kong ang Instructable na ito ay naging kapaki-pakinabang sa isang tao! Salamat sa pagtingin!

Inirerekumendang: