第1步:清單
首先,您必須找到所需的所有部件:
步進(jìn)電機(jī):我使用過一個(gè)從舊打印機(jī)恢復(fù)的。您可以在打印機(jī),掃描儀,任何類型的機(jī)器人,有時(shí)是電器等中找到這些電機(jī)。您將識(shí)別它們,因?yàn)樗鼈冇?根或更多根電線。
Arduino :我使用(克?。┘{米版本因?yàn)樗某叽绾芊奖?,但每個(gè)人都是一樣的。
你將還需要一個(gè) DC-DC降壓電壓調(diào)節(jié)器來調(diào)節(jié)12V望遠(yuǎn)鏡電源的電壓(或者你可以使用一些電池)來運(yùn)行電機(jī)和Arduino所需的電壓。
當(dāng)然, Nunchuck (a假的也很好)
各種尺寸的齒輪將運(yùn)動(dòng)從電機(jī)傳遞到旋鈕
1(紅色)Led
1電阻( 220歐姆)
1個(gè)穿孔板
金屬板或一點(diǎn)點(diǎn)巧妙地將設(shè)備連接到您的伸縮臂上應(yīng)對(duì)
電線,士兵,(最終)面包板,連接器,工具
當(dāng)然,特別是第6和第7點(diǎn)取決于你的望遠(yuǎn)鏡,所以我不能真的告訴你如何做這部分項(xiàng)目,但在這里你可以解開你的巧妙!
我做的第一件事就是找路將電機(jī)連接到望遠(yuǎn)鏡管上。
我很幸運(yùn),因?yàn)槲覐拇蛴C(jī)中恢復(fù)的電機(jī)有一個(gè)板(我稱之為電機(jī)板),內(nèi)置兩個(gè)齒輪,所以我只需要在望遠(yuǎn)鏡上擋住那個(gè)板。但是,你真的不需要它,你可以直接將電機(jī)連接到我將要談?wù)摰腖形板上。
我設(shè)法切割了我車庫(kù)里的1mm金屬板為了獲得一個(gè)L形板。
利用固定聚焦旋鈕的兩個(gè)螺絲,我將L板固定在望遠(yuǎn)鏡上,然后將電機(jī)板安裝到L型,如同圖片。通過這種方式,我最終也可以通過旋轉(zhuǎn)L電極上的電機(jī)板將電機(jī)與聚焦器分開(用于手動(dòng)調(diào)節(jié))。
完成后,問題是:如何轉(zhuǎn)動(dòng)旋轉(zhuǎn)運(yùn)動(dòng)從我在電機(jī)板上的齒輪到聚焦旋鈕?
我雖然是傳動(dòng)帶,但我沒有人,它本來很難找到一個(gè)合適的長(zhǎng)度并找到兩個(gè)齒輪開車吧。此外,腰帶有可能在未來失去彈性;所以我放棄了這個(gè)選項(xiàng)。
我認(rèn)為最好的解決方案是通過齒輪直接將電機(jī)連接到旋鈕。
現(xiàn)在的問題是:我用什么齒輪必須使用,我在哪里可以找到它們?
如果您足夠幸運(yùn),您的旋鈕已經(jīng)開槽(作為齒輪),您只需在電機(jī)樞軸上插入兼容的齒輪,然后觸摸帶凹槽的旋鈕。
然而,我的旋鈕幾乎是光滑的,所以我需要在旋鈕上安裝一個(gè)齒輪并與安裝在電機(jī)上的齒輪進(jìn)行通信(或者就像我的齒輪系一樣)。我選擇3D打印那個(gè)裝備,這樣我就能得到我所需要的。結(jié)果非常好,我終于能夠?qū)?dòng)作從電機(jī)轉(zhuǎn)移到旋鈕。
我還安裝了一塊加強(qiáng)板(如圖所示),以防止主板彎曲旋轉(zhuǎn)電機(jī)。
好的,機(jī)制準(zhǔn)備就緒,讓我們現(xiàn)在跳到“復(fù)雜”部分!
第3步:電氣工程師
現(xiàn)在我們需要控制電機(jī)。
注意#1:在附件中你會(huì)發(fā)現(xiàn)電氣方案,arduino引腳方案,降壓數(shù)據(jù)表和l293方案。除此之外,您還可以在面包板上找到電路設(shè)置的標(biāo)簽圖片。請(qǐng)注意,面包板右側(cè)有兩個(gè)按鈕。只是忽略它們,我們不會(huì)使用它們,它們應(yīng)該沒有在那里:)
注意#2:如果你打算使用我的設(shè)置(Arduino Nano)你沒問題,否則你只需要最終改變一些引腳連接。
要做的第一件事就是建立電子電路。
我上傳了這個(gè)方案,所以你很容易設(shè)置它。
你可以先在面包板上試一下電路,然后(在編寫arduino之后(下一步是關(guān)于它))將所有東西都焊接在一個(gè)穿孔板上,就像我一樣。
現(xiàn)在,我想向你解釋這個(gè)計(jì)劃,這樣你就可以深刻地意識(shí)到你在做什么。
所以:
首先,你需要力量。我將整個(gè)電路連接到我用于望遠(yuǎn)鏡支架的電源供應(yīng)商,但您可以按照自己的喜好進(jìn)行操作。根據(jù)您購(gòu)買的步進(jìn)電機(jī),您需要一個(gè)特定的電壓才能運(yùn)行。在我的情況下它大約是8伏特,所以我需要一個(gè)DCDC降壓(能夠降低連續(xù)電流電壓的設(shè)備)從12V到8V。我選擇了MP1584(請(qǐng)參閱附帶的文檔),這也允許我調(diào)節(jié)輸出電壓。
然后我將所有需要電源的電機(jī)(電機(jī),l293d,arduino)連接到降壓的+輸出。
特別是,您可以通過引腳30上的引腳為arduino供電(有關(guān)更多信息,請(qǐng)參閱arduino網(wǎng)站)。要為電機(jī)和l293d供電,必須在l293d芯片上為引腳1,8,9,16供電。
現(xiàn)在,將l293d上的引腳4,5,12,13和arduino上的引腳4連接到電路共同點(diǎn)(它基本上是電壓降低的輸出)。
完成后,你必須將電機(jī)連接到l293d芯片,以便從arduino控制它。
通常的步進(jìn)電機(jī)由兩個(gè)線圈組成,一個(gè)是垂直線圈,另一個(gè)是水平線圈。在它們內(nèi)部有一個(gè)由磁鐵構(gòu)成的轉(zhuǎn)子。交替線圈上的電流,可以在線圈內(nèi)部產(chǎn)生旋轉(zhuǎn)磁場(chǎng)(View Biot-Savart定律)。磁鐵(或轉(zhuǎn)子)受到該旋轉(zhuǎn)磁場(chǎng)的影響,并開始自身旋轉(zhuǎn),以便與場(chǎng)線對(duì)齊。這將導(dǎo)致轉(zhuǎn)子旋轉(zhuǎn)。
這基本上就是步進(jìn)電機(jī)的工作方式(我將在下一步詳細(xì)解釋它)
現(xiàn)在我們要做的是識(shí)別哪些電線來自線圈,哪個(gè)電線來自另一個(gè)。您可以使用數(shù)字萬(wàn)用表檢查哪些導(dǎo)線相互連接:嘗試所有組合,然后您將確定與兩個(gè)線圈相對(duì)應(yīng)的兩對(duì)導(dǎo)線。
完成后,連接一根導(dǎo)線從l293d上的一個(gè)線圈到引腳3,另一個(gè)(從相同的線圈)到l293d上的引腳6。另外,將另外兩根線從另一根線圈連接到l293d上的引腳11和14上。
現(xiàn)在你必須將l293d連接到arduino:
按照方案完成。
接下來要做的是將nunchuck連接到arduino,它將收到來自它的數(shù)據(jù)并控制電機(jī)。
首先,除非你有一個(gè)用于雙節(jié)棍特殊銷釘?shù)牟?,否則切斷雙節(jié)棍線。你現(xiàn)在將有來自雙節(jié)棍的5條小線。我們將只使用它們中的4個(gè)(白色,黃色,綠色和紅色)。
為了進(jìn)行通信,雙節(jié)棍使用I2C協(xié)議,該協(xié)議使用由時(shí)鐘線和數(shù)據(jù)構(gòu)成的總線一。黃色線是時(shí)鐘的黃色線。將其連接到arduino上的模擬A5引腳。雙節(jié)棍綠線用于數(shù)據(jù)。將它連接到arduino上的A4引腳。雙節(jié)棍紅線用于3.3V營(yíng)養(yǎng)。 Arduino具有3.3V輸出引腳(引腳17),因此將紅線連接到它。將雙節(jié)棍白線連接到電路公共地。
好的,你差不多完成了。
只需在電路中添加一個(gè)LED(紅色是夜間觀察的最佳選擇),這樣我們就可以得到一些關(guān)于正在發(fā)生的事情的反饋。在電路中。
我們想要的效果是當(dāng)我們向前或向后推動(dòng)雙節(jié)棍操縱桿時(shí),讓LED更亮。為此,我們需要一個(gè)特殊的arduino引腳,一個(gè)具有PWM功能的引腳,允許您調(diào)制輸出脈沖以調(diào)節(jié)LED亮度。在arduino上使用16針。將其連接到220歐姆電阻器,然后連接到LED的陽(yáng)極。然后將LED陰極連接到地面。
最后,您必須調(diào)節(jié)dcdc上的螺絲降壓,以便輸出正確的電壓(見圖)。 (你可以通過將dcdc降低電源并使用數(shù)字萬(wàn)用表測(cè)量輸出電壓,同時(shí)根據(jù)電機(jī)數(shù)據(jù)表調(diào)節(jié)輸出電壓(注意不要克服通過引腳為arduino供電的最大電壓)(它是這里所說的20V:https://store.arduino.cc/arduino-nano)。
哦,做得好!
現(xiàn)在,在焊接一切之前,讓我們告訴arduino它是什么必須這樣做!
第4步:軟件工程師
注意:我已經(jīng)附加了我在此項(xiàng)目中使用的.ino版本和.txt版本的代碼
在這里,我們將對(duì)arduino進(jìn)行編程并告訴它它與從nunchuck接收的數(shù)據(jù)有什么關(guān)系。
在做任何事情之前,斷開arduino引腳30和4與前一個(gè)電路的連接,從現(xiàn)在開始我們將通過usb將arduino連接到我們的電腦,它將從USB連接接收所需的電源。
完成后,使用micro usb電纜將arduino連接到您的電腦。比啟動(dòng)arduino應(yīng)用程序(你可以從這里下載:https://www.arduino.cc/en/Main/Software?)并從[工具 - 》端口]中選擇你已連接到arduino的usb串口。現(xiàn)在創(chuàng)建一個(gè)新項(xiàng)目。我們已準(zhǔn)備好開始。
我們可以將目標(biāo)劃分為兩個(gè)子目標(biāo):
從雙節(jié)棍獲取數(shù)據(jù)
使用這些數(shù)據(jù)控制電機(jī)(和LED)
讓我們繼續(xù)訂購(gòu):
從nunchuck收集數(shù)據(jù)的最簡(jiǎn)單方法是使用專用庫(kù)(它被稱為ArduinoNunchuck,您可以從這里下載:http://www.marcopucci.it/wp-content/uploads/2013/。..)
下載并將其導(dǎo)入arduino軟件。
由于這個(gè)庫(kù),arduino會(huì)將來自雙節(jié)棍的數(shù)據(jù)存儲(chǔ)在某些特定的數(shù)字變量中。我們只需要一個(gè)與操縱桿垂直運(yùn)動(dòng)相對(duì)應(yīng)的一個(gè),它叫做nunchuk.analogX。我們需要知道的是當(dāng)操縱桿處于靜止?fàn)顟B(tài)時(shí)nunchuk.analogX的價(jià)值是多少。為了做到這一點(diǎn),從arduino應(yīng)用程序轉(zhuǎn)到[files-》 examples-》 arduino nunchuck-》 arduino nunchuck demo]并運(yùn)行它。打開串行監(jiān)視器,您將看到一個(gè)數(shù)字列表。 (與附圖中的相似)在第一列中顯示了與nunchuk.analogX對(duì)應(yīng)的不同時(shí)刻的數(shù)字。嘗試垂直移動(dòng)操縱桿,您將看到它們發(fā)生變化。你要做的就是記住當(dāng)操縱桿處于靜止?fàn)顟B(tài)時(shí)以及處于兩個(gè)極端時(shí)所獲得的數(shù)字(我的是:其余為124,極端向上為255,極端向下為0)。
稍后您將需要這些數(shù)字。
現(xiàn)在讓我們轉(zhuǎn)到任務(wù)編號(hào)2:我們?nèi)绾慰刂撇竭M(jìn)電機(jī)?
實(shí)際上,有幾個(gè)這樣做的庫(kù),比如Stepper或者AccelStepper,但我更喜歡編寫自己的代碼來控制電機(jī)。該想法是,如在前一步驟中所解釋的,對(duì)于步進(jìn)電機(jī)旋轉(zhuǎn),它需要旋轉(zhuǎn)磁場(chǎng),其中連接到樞軸的轉(zhuǎn)子(即磁體)可以旋轉(zhuǎn)。在你的電機(jī)中有兩個(gè)線圈,相互垂直,兩個(gè)都垂直于電機(jī)樞軸(見附圖)。通過這種設(shè)置,您可以通過這種方式獲得旋轉(zhuǎn)磁場(chǎng):
如果線圈A中的電流向上并且線圈B中的電流為零,由于物理學(xué),我們知道線圈A內(nèi)部會(huì)有是一個(gè)向下的磁場(chǎng),所以轉(zhuǎn)子北極將是下行。
我們將A中的電流變?yōu)榱悖孊中的電流向右流動(dòng),因此磁場(chǎng)將向左,轉(zhuǎn)子向北桿將左側(cè)
然后我們讓A中的電流向下流動(dòng),我們將B中的電流設(shè)置為零,因此磁場(chǎng)向上,轉(zhuǎn)子北極向上
最后我們將A中的電流設(shè)置為零,讓B中的電流向左流動(dòng)。磁場(chǎng)現(xiàn)在向右,轉(zhuǎn)子北極是右側(cè)
EtVoilà,磁場(chǎng)順時(shí)針旋轉(zhuǎn)一圈,因此轉(zhuǎn)子也是如此,因此電機(jī)的樞軸也是如此。
交換步驟2和4我們得到一個(gè)逆時(shí)針旋轉(zhuǎn)。
我們可以通過改變每一步之間的時(shí)間延遲來改變電機(jī)速度:延遲越小,電機(jī)就越快。
正如您將在附帶的代碼中看到的那樣,在實(shí)現(xiàn)arduino代碼完成一次完整轉(zhuǎn)換所需的前4個(gè)步驟中沒有任何困難。
然后我們讓arduino在循環(huán)中執(zhí)行這4個(gè)步驟
現(xiàn)在,我們都知道如何從雙節(jié)棍中獲取數(shù)據(jù)以及如何控制電機(jī)。
我們要做的就是使用數(shù)據(jù)從nunchuck到控制電機(jī)。
我們可以通過在nunchuk.analogX中使用數(shù)字arduino存儲(chǔ)來實(shí)現(xiàn),因?yàn)槲覀兇怪币苿?dòng)操縱桿。
我們將創(chuàng)建一些范圍的nunchuk.analogX變量的值,并為每個(gè)范圍分配電機(jī)旋轉(zhuǎn)步驟之間的延遲時(shí)間值。
這樣做,在垂直移動(dòng)操縱桿的同時(shí),根據(jù)我們“落入”的范圍,我們將獲得不同的電機(jī)轉(zhuǎn)速。
另外,我們將告訴arduino如果nunchuk.analogX大于我們?yōu)椴倏v桿靜止位置獲得的值,則電機(jī)必須順時(shí)針移動(dòng)。如果nunchuk.analogX小于靜止值,則電機(jī)必須逆時(shí)針移動(dòng)。
這樣,根據(jù)我們推動(dòng)操縱桿的方向,電機(jī)將以不同的速度順時(shí)針移動(dòng),并且如果我們向后推動(dòng)操縱桿,則相反。
無(wú)論如何,代碼被評(píng)論得足以讓你很難迷失它。
最后要做的事情是控制LED。
我們可以通過使用函數(shù)analogWrite(LED,亮度)來調(diào)節(jié)LED亮度,取決于操縱桿位置,其中“l(fā)ed”代表引腳(在我們的例子中為16)附著,并且“亮度”是量化LED亮度的數(shù)字。該數(shù)字必須與nunchuk.analogX給出的值成比例。經(jīng)過一些試驗(yàn),我發(fā)現(xiàn)“亮度”的最佳表達(dá)方式是:亮度= 6 ^ abs(nunchuk.analogX - 124)
這樣,當(dāng)操縱桿位于時(shí),LED會(huì)亮一點(diǎn)靜止位置(意味著電路開啟),如果我們向上或向下移動(dòng)操縱桿,它將增加亮度。
好的,一切都應(yīng)該很好,現(xiàn)在可以焊接了!
第5步:設(shè)計(jì)師
注意:在附圖中你可以找到一些照片烙鐵在作用和焊接的各個(gè)階段。除此之外,我重新安裝了電氣方案,以便在焊接前仔細(xì)檢查連接是否有用。
現(xiàn)在一切正常,我們必須重新排列所有內(nèi)容。更好的方式。
首先,我們必須焊接我們已經(jīng)放置在面包板上的所有組件(步驟2)。
我(顯然)使用了烙鐵和支撐底座PerfBoard。我使用從絞線上切割的電線制作了所有連接。我還決定不直接焊接arduino和l293d芯片。相反,我焊接了兩個(gè)插槽,我插入了兩個(gè)組件。
我選擇使用USB連接器將Nunchuck連接到電路板(因?yàn)樗挥?根電線)。所以我將USB引腳連接到雙節(jié)線(如圖中所示)和USB插槽連接到PerfBoard(確保在完成所有這些連接器的連接時(shí)遵守電氣方案)。
然后,我選擇白色6針連接器(雖然正如我在介紹中所說的那樣(當(dāng)然你只需要4)將電機(jī)連接到電路板上。 (我選擇這個(gè)連接器只是因?yàn)樗呀?jīng)安裝在我的電機(jī)線上)。對(duì)于電源連接,我選擇了一個(gè)普通的圓柱形插孔,然后我連接到(正如我所說的,如圖所示)我用于望遠(yuǎn)鏡支架的12V電源。在任何情況下,您都可以使用您喜歡的每個(gè)連接器(只需確保它有足夠的引腳作為您必須連接的電線)。
焊接完所有東西之后,我連接了所有電線,我給了電源和。..
結(jié)果令人驚訝。即使在300倍視距目鏡下,我也可以在焦距上進(jìn)行最小的校正而不會(huì)在我的視野中進(jìn)行最小的移動(dòng)。
與手動(dòng)調(diào)焦器調(diào)整相比,它只是白天和白天。
我做的最后一件事是3D打印一個(gè)專門為我的電路板設(shè)計(jì)的盒子,然后我把它掛在我的望遠(yuǎn)鏡上,用一根繩子和一個(gè)鉤子,如下圖所示。
第6步:快樂的天文學(xué)家!
我給你留下了一個(gè)關(guān)于行動(dòng)中的惡魔裝置的短片和一些終極Nunchuck&Arduino Controlled Focuser的照片。
-
聚焦
+關(guān)注
關(guān)注
0文章
10瀏覽量
8712 -
望遠(yuǎn)鏡
+關(guān)注
關(guān)注
0文章
129瀏覽量
15829
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論