Talaan ng mga Nilalaman:

DIY Laser Steering Module para sa Arduino: 14 Mga Hakbang (na may Mga Larawan)
DIY Laser Steering Module para sa Arduino: 14 Mga Hakbang (na may Mga Larawan)

Video: DIY Laser Steering Module para sa Arduino: 14 Mga Hakbang (na may Mga Larawan)

Video: DIY Laser Steering Module para sa Arduino: 14 Mga Hakbang (na may Mga Larawan)
Video: How to use Laser Transmitter and Laser sensor for Arduino 2024, Nobyembre
Anonim
Image
Image

Sa Instructable na ito, ipapakita ko ang pagtatayo ng isang dual-axis, solong-mirror na laser steering module na gumagamit ng mga naka-print na bahagi ng 3D at mga murang sangkap mula sa eBay.

Ang proyektong ito ay may pagkakatulad sa Arduino Laser Show na may Full XY Control at Arduino Laser Show With Real Galvos ngunit naniniwala ako na ang unang gumamit ng isang naka-print na 3D na disenyo na may mga murang solenoid. Inilalagay ko ang lahat ng mga file ng disenyo sa ilalim ng GPLv3 upang ang disenyo ay maaaring mapahusay at mapagbuti.

Bagaman sa kasalukuyan ay natipon ko lamang ang module at nagsulat ng ilang napaka-pangunahing code ng pagsubok, ang aking pag-asa ay balang araw ay madala ko ito sa susunod na antas sa pamamagitan ng pagsasama ng vector graphics code mula sa aking naunang Instructable, Super Fast Analog Voltages mula sa Arduino.

Hakbang 1: Ipunin ang Hindi-3D na Mga Naka-print na Bahagi

Ang pagpupulong ng laser ay binubuo ng mga sumusunod na bahagi:

  • 4 micro solenoids
  • Isang 1/2 pulgadang salamin
  • Apat na M3 na turnilyo

Ang mga partikular na solenoid na ginamit ko ay binili sa eBay ng $ 1.45 bawat isa. Ang bilog na salamin ay natagpuan sa aisle ng sining sa HobbyLobby - isang pack na 25 ang nagkakahalaga sa akin ng mas mababa sa $ 3 dolyar. Maaari ka ring makahanap ng mga salamin sa eBay.

Kakailanganin mo rin ang isang murang laser pointer, muli, mula sa eBay. Ang isang violet laser kasama ang isang glow-in-the-dark sheet ng vinyl ay isang mahusay na combo para sa proyektong ito!

Ang isang hanay ng mga tumutulong kamay ay hindi kinakailangan, ngunit magiging napaka kapaki-pakinabang para sa paghawak at pagpoposisyon ng laser pointer. Ang isang malaking binder clip ay maaaring magamit upang pindutin nang matagal ang power button.

Kakailanganin mo ang isang Arduino (Gumamit ako ng Arduino Nano) at isang paraan upang himukin ang mga solenoid. Tulad ng sinabi ng VajkF sa mga komento, maaari mong gamitin ang paunang ginawa na H-tulay tulad ng mga batay sa L298 o sa L9110. Ito ay kaagad na magagamit sa eBay para sa ilang mga pera at maaari ding magamit para sa pagmamaneho ng mga proyekto sa motor at robot.

Dahil wala akong H-tulay, nagtayo ako ng sarili kong driver na wala sa mga discrete na bahagi:

  • Apat na NPN bipolar transistors (Gumamit ako ng MPS3704)
  • Apat na resistors (Gumamit ako ng 1.2k ohm risistor)
  • Apat na mga diode (Gumamit ako ng isang 1N4004)
  • Isang 9V na baterya at konektor ng baterya

Ang mga elektronikong sangkap ay nagmula sa aking lab, kaya wala akong eksaktong gastos para sa kanila, ngunit maliban kung mayroon ka na ng mga bahagi o maaring i-scavenge ang mga ito, malamang na mas epektibo ang paggamit ng isang paunang pagbuo ng H-tulay. Gayunpaman, ibibigay ko ang mga iskema para sa pagbuo ng iyong sarili.

Hakbang 2: 3D I-print ang Mirror Steering Module

3D I-print ang Mirror Steering Module
3D I-print ang Mirror Steering Module
3D I-print ang Mirror Steering Module
3D I-print ang Mirror Steering Module

Ang module ng pagpipiloto ng laser ay binubuo ng dalawang mga naka-print na bahagi ng 3D: isang batayan para sa pag-mount ng apat na solenoids at isang artikuladong platform para sa salamin.

Inilakip ko ang dalawang mga STL file para sa iyo upang mag-print ng 3D, pati na rin ang mga file ng FreeCAD kung sakaling kailangan mong baguhin ang disenyo. Ang lahat ng nilalaman ay nasa ilalim ng GPLv3, kaya malaya kang magawa at ibahagi ang iyong mga pagpapabuti!

Hakbang 3: Magtipon ng Laser Module

Ipunin ang Laser Module
Ipunin ang Laser Module
Ipunin ang Laser Module
Ipunin ang Laser Module
Ipunin ang Laser Module
Ipunin ang Laser Module
  • Gumamit ng mainit na pandikit upang mailagay ang apat na solenoids sa ibabang bahagi.
  • Gumamit ng mainit na pandikit upang mailagay ang salamin sa gitna ng itaas na piraso.
  • Ipasok ang mga metal piston sa mga solenoid at pagkatapos ay iposisyon ang itaas na piraso sa mga post (ngunit huwag i-tornilyo ito). Paikutin nang bahagya ang tuktok na piraso at gamit ang isang maliit na driver ng tornilyo, iangat ang bawat piston sa posisyon. Ang labi ng disc ay dapat dumulas sa uka sa piston. Mag-ingat, dahil ang mga naka-print na 3D na bisagra ay napaka marupok. Sa pasensya at marahil ng ilang mga nabigong pagtatangka, dapat mong mailagay ang lahat ng apat na piston nang hindi paikot o binibigyan ng presyon ang mga bisagra.
  • Kapag nakaposisyon na ang lahat ng mga piston, bahagyang ipasok ang mga M3 screws, ngunit bago pahigpitin ang mga ito, dahan-dahang itulak pababa sa bawat piston at siguraduhin na ang salamin ay malayang umikot. Kung hindi ito gumalaw nang malaya o mahuli, maaaring kinakailangan na alisin ang tuktok na plato, pry off ang isa o higit pang solenoids maluwag at muling ilakip ito sa isang bahagyang panlabas na anggulo (ang paglalagay ng mga spacer sa pagitan nito at ng gitnang post ay maaaring makatulong dito).

Hakbang 4: I-print ang Laser Pointer Collar

I-print ang Laser Pointer Collar
I-print ang Laser Pointer Collar
I-print ang Laser Pointer Collar
I-print ang Laser Pointer Collar

Ang kwelyo ng laser pointer ay umaangkop sa ulo ng laser pointer. Maaari mo nang magamit ang isang hanay ng mga tumutulong kamay upang maunawaan ang kwelyo at payagan kang iposisyon ang laser nang tumpak sa iyong bench.

Hakbang 5: Magtipon ng Circuit sa Pagmamaneho

Magtipon ng Circuit sa Pagmamaneho
Magtipon ng Circuit sa Pagmamaneho

Ang drive circuit ay ipinapakita sa eskematiko. Tulad ng nakasaad kanina, ang aking bersyon ay binuo ng mga discrete na bahagi, ngunit maaari mo ring gamitin ang isang madaling magagamit na H-bridge. Kung pinili mo na bumuo ng iyong sarili, kakailanganin mong bumuo ng apat na kopya ng circuit na ito, isa para sa bawat isa sa apat na solenoids.

Ang bawat circuit ay kumokonekta sa isang Arduino pin, dalawa para sa pagkontrol sa kaliwa at kanang solenoid, at dalawa para sa pataas at pababang solenoids. Ang mga ito ay kailangang maiugnay sa mga PWM na may kakayahang mga pin, tulad nito:

  • Pin 9: Up Solenoid
  • Pin 3: Down Solenoid
  • Pin 11: Kaliwa Solenoid
  • Pin 10: Tamang Solenoid

Ang isang solong 9V na baterya ay maaaring magamit para sa pagmamaneho ng lahat ng apat na solenoid circuit ng driver o maaari mong gamitin ang isang benchtop power supply. Ang Arduino ay tatakbo sa lakas ng USB at hindi dapat maiugnay sa positibong bahagi ng 9V na baterya. Gayunpaman, ang negatibong bahagi ng baterya ay ginagamit bilang ground-refer at dapat i-wire sa pin ng GND sa Arduino pati na rin sa mga emitter pin sa mga transistor.

Hakbang 6: I-upload ang Sample Code

I-upload ang Sample Code
I-upload ang Sample Code

Ang sample code ay na-update na may mga sumusunod na tampok:

  • Inaayos ang dalas ng PWM na ang mekanismo ay halos tahimik sa mababang bilis. Ang buzzing sa Motion Test 1 ay tuluyan nang nawala!
  • Nagdaragdag bilang mga equation ng boltahe batay sa papel ng Schimpf upang "linyang linya" ang di-linear na tugon ng mga solenoid.

Nagsama rin ako ng pagpapatupad ng isang Lorenz atraksyon batay sa code mula sa blog na ito.

Ang katapatan ng mga resulta ay nag-iiwan ng medyo nais, ngunit ginagawa ko pa rin ito!:)

Ang mga kasunod na hakbang ay naglalarawan ng ilan sa mga diskarteng ginamit sa code.

Hakbang 7: Pagbaba ng Dami

Sa aking Motion Test 1, maririnig mo ang isang malakas na paghiging, sa partikular sa paggalaw ng pataas at pababa. Ito ay sanhi na ito ay sanhi ng default na pagpuputol ng PWM dalas ng Arduino na nasa loob ng naririnig na saklaw. Ang mabilis na paglipat ng boltahe ng coil on at off ay magiging sanhi ng kanilang pag-vibrate sa dalas na iyon, na ginagawang maliit na maliit na mga loudspeaker.

Upang malutas ang problemang ito, nadagdagan ko ang dalas ng PWM sa code:

#define PWM_FREQ_31372Hz 0x01 // Itinatakda ang dalas ng PWM sa 31372.55 Hz # tukuyin ang PWM_FREQ_3921Hz 0x02 // Itinatakda ang dalas ng PWM sa 3921.16 Hz #define PWM_FREQ_980Hz 0x03 // Itinatakda ang PWM HQT saTCT = frequency & 0b11111000) | dalas; // Itakda ang timer1 (pin 9 & 10) dalas ng TCCR2B = (TCCR2B & 0b11111000) | dalas; // Itakda ang timer2 (pin 3 & 11) dalas}

Ang pagtatakda ng dalas ng Arduino PWM ay isang kapaki-pakinabang na trick para sa pag-quieting ng mga solenoid o motor. Eksperimento sa iba't ibang mga pagpipilian ng mga frequency upang makita kung alin ang magbibigay sa iyo ng pinakamahusay na mga resulta. Bagaman nagsasangkot ito ng ilang mas advanced na programa, isang mahusay na mapagkukunan sa kung paano gumagana ang mga timer ay narito.

Hakbang 8: Pag-tune ng Mga Boltahe upang Bawasan ang Distorsyon

Pag-tune ng Mga Boltahe upang Bawasan ang Pagkabali
Pag-tune ng Mga Boltahe upang Bawasan ang Pagkabali

Ang aking paunang mga pagsubok sa paggalaw ay ipinakita na ang mga makabuluhang pagbaluktot sa tugon ng solenoids. Sa Motion Test 3 (kaliwang pigura), kung ano ang dapat na isang pabilog na spiral sa halip ay naging isang hugis-parihaba na web na may jagged edge.

Ang paglutas sa problemang ito ay nangangailangan ng kaunting matematika, ngunit nakita ko ang isang kamangha-manghang papel sa web na tumulong sa akin na maunawaan ang problema nang maayos upang malutas ito sa software.

Ano ang sumusunod na hakbang sa iyo sa proseso na dumaan ako upang ibagay ang system at pagbutihin ang hitsura ng mga nagresultang bakas!

Hakbang 9: Pagperpekto sa Software, Sa Math

Pagperpekto sa Software, Sa Math
Pagperpekto sa Software, Sa Math
Pagperpekto sa Software, Sa Math
Pagperpekto sa Software, Sa Math

Ang sikreto sa pag-tune ng system ay naging isang mahusay na papel na tinawag na "A Detailed Explanation of Solenoid Force" ni Paul H. Schimpf ng Eastern Washington University (link). Sa partikular, ang equation 17 ay nagbigay sa akin ng lakas na solenoid sa mga tuntunin ng iba't ibang mga term.

Ang mga sumusunod na term ay madaling sukatin:

  • R - Ang paglaban ng aking solenoid
  • l - Ang haba ng solenoid
  • x - Ang pag-aalis ng piston sa solenoid
  • V - Ang boltahe sa kabuuan ng solenoid

Alam ko rin na ang puwersang inilabas ng solenoid ay kailangang balansehin ang puwersa mula sa mga naka-print na spring ng 3D sa dual-axis mirror. Ang puwersa ng isang bukal ay pinamamahalaan ng batas ni Hooke, na nakasaad bilang mga sumusunod:

F = -kx

Bagaman hindi ko alam ang halaga ng k, alam ko man lang na ang puwersang nakuha ko sa equation 17 mula sa papel ni Schimpf ay dapat pantayin ang puwersa mula sa batas ni Hooke.

Ang halaga ng alpha (α) ay isang mahirap. Kahit na ang mga equation 13 at 14 ay ipinakita kung paano makalkula ang mga halagang ito mula sa lugar ng solenoid (A), ang bilang ng mga liko (N) at mga halagang magnetic permeability (μ), hindi ko nais na pilasin ang isang solenoid upang mabilang ang bilang ng mga liko, ni hindi ko alam ang materyal na kung saan ginawa ang core ng aking solenoid.

Hakbang 10: Ang isang Murang Component Tester ay nakakatipid ng Araw

Ang isang Murang Component Tester ay nakakatipid ng Araw!
Ang isang Murang Component Tester ay nakakatipid ng Araw!
Ang isang Murang Component Tester ay nakakatipid ng Araw!
Ang isang Murang Component Tester ay nakakatipid ng Araw!
Ang isang Murang Component Tester ay nakakatipid ng Araw!
Ang isang Murang Component Tester ay nakakatipid ng Araw!

Gayunpaman, naka-out, ang equation na 15 at 16 ay nagbigay sa akin ng kailangan ko. Mayroon akong isang murang M328 na bahagi ng tester na binili ko mula sa eBay sa halagang $ 10. Nagamit ito upang sukatin ang inductance ng aking solenoid at nalaman ko na sa pamamagitan ng pagtulak sa armature sa iba't ibang lalim ay binigyan ako ng iba't ibang mga halaga ng induction.

Ang pagsukat nito gamit ang armature na ganap na naipasok ay nagbigay sa akin ng halaga ng L (0).

Ang haba ng aking solenoid ay 14mm, kaya sinukat ko ang inductance sa armature sa limang posisyon at binigyan ako nito ng iba't ibang mga halaga para sa L (x):

  • L (0.0) = 19.8 mH
  • L (3.5) = 17.7 mH
  • L (7.0) = 11.1 mH
  • L (10.5) = 9.3 mH
  • L (14) = 9.1 mH

Gumamit ako pagkatapos ng isang spreadsheet upang lagyan ng plano ang aking mga halaga kumpara sa halaga ng equation 15 at 16, para sa isang partikular na pagpipilian ng μr at pagkatapos ay iba-iba ang aking pinili hanggang sa makahanap ako ng mahusay na tugma. Nangyari ito noong μr ay 2.9, tulad ng ipinakita sa grap.

Hakbang 11: Hanapin ang Spring Constant K, Malutas ang problema

Image
Image
Pagsusuri sa Mga Kasalukuyang Problema at Mga Posibleng Solusyon
Pagsusuri sa Mga Kasalukuyang Problema at Mga Posibleng Solusyon

Ang natitirang hindi kilala ay K, ang spring pare-pareho. Sinukat ko ito sa pamamagitan ng paglalapat ng 9V sa isa sa mga solenoids sa aking dual-axis na pagpupulong at pagsukat sa distansya kung saan hinugot ang salamin. Sa mga halagang ito, nalutas ko ang mga equation para sa K, na nahanap ko ay nasa 10.41.

Mayroon na akong mga halagang kinakailangan upang makalkula ang paghila ng solenoid sa iba't ibang mga posisyon kasama ang stroke. Sa pamamagitan ng pagtatakda ng F (x) na katumbas ng puwersang spring mula sa batas ni Hooke, malulutas ko ang kinakailangang boltahe V.

Ipinapakita ng grap ang kinakailangang boltahe para sa paglipat ng solenoid sa anumang nais na posisyon x.

Sa kanan, kung saan ang boltahe ay zero at ang posisyon ay 3 mm, tumutugma ito sa walang kinikilingan na resting point ng solenoid kapag ang naka-print na 3D na mga bisagra ay ganap na nakakarelaks. Ang paglipat ng kaliwa sa grap ay tumutugma sa paghila ng armature sa solenoid laban sa paghila ng 3D na naka-print na bisagra - ito ay paunang nangangailangan ng mas maraming boltahe, ngunit habang ang armature ay lumalalim sa solenoid, tumataas ang paghila at ang kinakailangang mga taper ng boltahe sa pagmamaneho.

Ang ugnayan na ito ay tiyak na hindi linear, ngunit sa mga equation mula sa papel ni Schimpf, maaari kong isulat ang aking Arduino code upang maipakita ang wastong mga voltages kaya't ang pagpapalihis ng sinag ay linear:

float posisyonToVoltage (float x) {

// Pagpapanumbalik ng puwersang ipinataw ng mga bisagra (Batas ni Hooke) sa ninanais na x. Const float spring_F = -s spring_K * (x - spring_X0); // Voltage tulad na ang lakas ng paghila ng solenoid ay tumutugma sa // pagpapanumbalik ng puwersa ng mga bisagra na bumalik sqrt (-2 * R * R * (- spring_F) * solenoid_len / (a * L_0 * exp (-a * x / solenoid_len))); }

Ito ay humahantong sa isang mas paikot na paikot kaysa sa aking orihinal na pagsubok sa paggalaw. Natapos ang misyon!

Hakbang 12: Mga Tanong at Sagot Tungkol sa Driver Circuit Paggamit ng Mga Discrete Component

Bakit hindi ko mai-hook up ang solenoid nang direkta sa Arduino?

Ito ay isang usapin kung magkano ang kasalukuyang maaaring ibigay ng Arduino nang hindi nagtaguyod ng pinsala. Ito ay tungkol sa 40mA bawat pin. Alam na ang Arduino ay nagpapatakbo sa 5V, maaari naming gamitin ang batas ng Ohm upang makalkula ang kinakailangang minimum na paglaban ng pag-load (sa kasong ito, ang solenoid). Ang paghahati ng 5 volts ng 0.040 amps ay nagbibigay sa amin, 125 ohms. Kung ang pagkarga ay may isang mas malaking paglaban, maaari nating mai-hook ito nang direkta sa Arduino, kung hindi man hindi. Ang isang maliit na solenoid ay karaniwang may pagtutol ng 50 ohms, kaya hindi namin ito maitutulak nang direkta mula sa Arduino. Kung ginawa namin, hihilahin nito ang 100mA, na malinaw na sobra.

Bakit mo ginagamit ang 9V para sa solenoid, ngunit 5V para sa Arduino?

Ang Arduino ay tumatakbo sa 5V, ngunit ito ay medyo masyadong maliit para sa isang solenoid. Ang paggamit ng isang transistor ay nagbibigay-daan sa amin upang pumili ng isang boltahe para sa solenoid na malaya sa 5V na ginamit para sa Arduino.

Paano ko malalaman kung ang isang transistor ay angkop para sa proyektong ito?

Tulad ng Arduino, ang pangunahing kinakailangan ay ang kasalukuyang dumadaloy sa solenoid na hindi lalampas sa maximum na mga rating para sa transistor (sa partikular, ang kasalukuyang kolektor). Madali nating makalkula ang pinakapangit na sitwasyon sa pamamagitan ng pagsukat ng paglaban ng solenoid at pagkatapos ay paghatiin ang boltahe ng suplay sa pamamagitan nito. Sa kaso ng isang kasalukuyang kasalukuyang supply ng 9V para sa mga solenoid, at isang paglaban ng solenoid na 50 ohms, inilalagay tayo ng pinakapangit na sitwasyon na 180mA. Ang MPS3704, halimbawa, ay na-rate para sa isang maximum na kasalukuyang kolektor ng 600 mA, na nagbibigay sa amin ng isang margin ng tungkol sa 3.

Paano ko matutukoy ang minimum na halaga ng paglaban upang ilagay sa pagitan ng output ng Arduino at ang base ng transistor?

Ang output ng Arduino ay ikonekta ang base leg ng bipolar transistors sa pamamagitan ng isang kasalukuyang nililimitahan na risistor. Dahil ang Arduino ay nagpapatakbo sa 5V, maaari naming magamit muli ang batas ng Ohm upang makalkula ang kinakailangang paglaban upang limitahan ang kasalukuyang nasa ibaba 40mA. Iyon ay, hatiin ang 5 volts ng 0.04 amperes upang makakuha ng isang halaga na hindi bababa sa 125 ohms. Ang mga mas mataas na halaga ng risistor ay magbabawas ng kasalukuyang, sa gayon ay magbibigay sa amin ng isang mas higit na margin ng kaligtasan.

Mayroon bang isang maximum na halaga para sa pagtutol na kung saan hindi ako dapat lumampas?

Ito pala, oo. Ang isang transistor ay may kilala bilang isang kasalukuyang pakinabang. Halimbawa, kung ang nakuha ay 100, nangangahulugan ito na kung inilalagay namin ang 1mA sa base, pagkatapos ay hanggang sa 100mA ay dumadaloy sa pamamagitan ng pagkarga na kinokontrol ng transistor. Kung inilalagay namin ang 1.8mA sa base, pagkatapos ay hanggang sa 180mA ay dumadaloy sa pamamagitan ng pagkarga. Dahil na-compute namin nang mas maaga na sa 9V, ang 180mA ay dumadaloy sa solenoid, kung gayon ang isang batayang kasalukuyang 1.8mA ay ang "sweet spot", at mas kaunti at ang aming solenoid ay hindi ganap na bubuksan.

Alam namin na ang Arduino ay naglalagay ng 5V at nais namin ng 1.8mA ng kasalukuyang daloy, kaya ginagamit namin ang batas ni Ohm (R = V / I) upang makalkula ang paglaban (R = V / I). Ang 5V na hinati ng 1.8mA ay nagbibigay ng paglaban ng 2777 ohms. Dahil sa mga pagpapalagay na ginawa namin, inaasahan namin na ang paglaban ay dapat magsinungaling sa pagitan ng 125 at 2777 - ang pagpili ng isang bagay tulad ng 1000 ohms ay nagbibigay sa amin ng isang mahusay na margin ng kaligtasan sa alinman sa paraan.

Hakbang 13: Pagsusuri sa Mga Kasalukuyang Suliranin at Mga Posibleng Solusyon

Pagsusuri sa Mga Kasalukuyang Problema at Mga Posibleng Solusyon
Pagsusuri sa Mga Kasalukuyang Problema at Mga Posibleng Solusyon

Ang kasalukuyang prototype ay nagpapakita ng potensyal, ngunit maraming mga problema ang nananatili:

  1. Ang paggalaw kasama ang axis ng X at Y ay hindi lilitaw na patas.
  2. Mayroong isang pagtalon kapag ang salamin ay nagbabago ng direksyon.
  3. Ang resolusyon ay medyo mababa at may mga nakikitang mga pattern ng hakbang sa hagdanan.
  4. Sa mas mataas na bilis ng paggalaw, ang landas ng laser ay napangit ng mga panginginig at pag-ring.

Isyu 1) ay maaaring sanhi ng disenyo ng 3D naka-print na may kakayahang umangkop na mga bisagra na nagpapadala ng paggalaw kasama ang isang axis sa patayong axis.

Isyu 2) ay dahil sa slack sa pagkabit sa pagitan ng mga piston ng pagmamaneho at ng mirror platform, ito ay sanhi ng salamin sa salamin at laktawan ang mga paglilipat sa pagitan ng axis ng X at Y. Ang biglaang paggalaw na ito ay humahantong sa isang madilim na hugis ng X na puwang kung saan ang tuldok ng laser ay gumagawa ng isang mas mabilis na walang kontrol na paglipat.

Ang Isyu 3) ay nangyayari sapagkat ang default na Arduino PWM ay mayroon lamang 255 mga antas at ilan sa mga nasayang dahil sa hugis ng boltahe na kurba. Maaari itong mapabuti nang malaki sa pamamagitan ng paggamit ng timer1, na 16-bit at may kakayahang 65536 natatanging mga halaga.

Ang Isyu 4) ay nangyayari dahil ang salamin at ang sliding armature (pistons) ng solenoid ay bumubuo ng isang makabuluhang halaga ng gumagalaw na masa.

Tulad ng mga isyu 1) at 2) na nauugnay sa disenyo ng mekanikal, ang isang posibilidad ay maaaring alisin ang mga metal piston at palitan ang mga ito ng maliliit na mga magnet na bihirang-lupa na nakakabit nang diretso sa ikiling plate. Ang solenoids ay magiging isang bukas na likid na makaakit o maitaboy ang mga magnet na hindi nakikipag-ugnay sa pisikal. Ito ay hahantong sa mas makinis na paggalaw at alisin ang posibilidad ng jerking, habang binabawasan ang kabuuang masa.

Ang pagbawas ng masa ay ang pangunahing solusyon para sa isyu 4), ngunit ang anumang natitirang mga problema ay maaaring ma-target nang direkta sa software sa pamamagitan ng pagpapatupad ng isang kilos control profile sa software upang mapabilis at mabawasan ang salamin sa isang kontroladong pamamaraan. Malawakang ginagawa ito sa 3D printer firmware at ang mga katulad na pamamaraan ay maaaring gumana din dito. Narito ang ilang mga mapagkukunan na nauugnay sa pagkontrol ng paggalaw dahil nalalapat ito sa mga 3D printer:

  • "Mga Profile sa Pagkontrol sa Matematika ng Motion", Chuck Lewin (link)
  • "Ipinaliwanag ang Kontroladong Motion ng Jerk", (link)

Pinaghihinalaan ko na ang pagdaragdag ng isang profile ng pagkontrol sa paggalaw ng trapezoidal ay magpapahintulot sa salamin na maitulak sa mas mataas na bilis nang hindi nagri-ring o mga artifact na panginginig.

Hakbang 14: Trabaho sa Hinaharap at Mga Posibleng Aplikasyon

Kahit na ang pagbuo ng mga solusyon sa mga problemang ito ay magtatagal ng isang malaking halaga ng trabaho, umaasa ako na ang open-source beam steering module na ito ay maaaring maging isang abot-kayang kahalili sa mga proyekto na batay sa galvanometer sa mga naturang aplikasyon tulad ng:

  • Ang isang murang laser ay nagpapakita para sa mga DJ at VJ.
  • Isang electro-mechanical vector display para sa isang vintage arcade game tulad ng Vectrex.
  • Ang isang DIY resin-type na SLA 3D printer na sa diwa ng kilusang RepRap, maaaring mag-print ng sarili nitong laser steering module.
  • Digital panning o optikal na pagpapapanatag ng imahe para sa mga camera.
Arduino Contest 2017
Arduino Contest 2017
Arduino Contest 2017
Arduino Contest 2017

Pangalawang Gantimpala sa Arduino Contest 2017

Inirerekumendang: