概述
如果您還記得以前的Raspberry Pi教程,我們已經(jīng)看到如何使用RASPBERRY PI控制直流電機(jī)以及如何使用RASPBERRY PI控制伺服電機(jī)。
步進(jìn)電機(jī)可以分為伺服電機(jī)和直流電機(jī),因?yàn)槟梢钥刂平嵌任恢幂S以及沿任一方向自由旋轉(zhuǎn)軸。
我已經(jīng)討論了步進(jìn)電機(jī),步進(jìn)電機(jī)的類型電動(dòng)機(jī),步進(jìn)電動(dòng)機(jī)的內(nèi)部結(jié)構(gòu)以及如何設(shè)計(jì)步進(jìn)電動(dòng)機(jī)在使用ARDUINO 項(xiàng)目的步進(jìn)電機(jī)控制中進(jìn)行滾動(dòng)循環(huán)。
因此,我建議您在繼續(xù)使用Raspberry Pi步進(jìn)電機(jī)之前參考該項(xiàng)目一次接口。
驅(qū)動(dòng)步進(jìn)電機(jī)
識(shí)別步進(jìn)器非常重要電動(dòng)機(jī),即它是單極步進(jìn)電動(dòng)機(jī)還是雙極步進(jìn)電動(dòng)機(jī)。因?yàn)椋@些電動(dòng)機(jī)的驅(qū)動(dòng)技術(shù)是不同的。
在這個(gè)項(xiàng)目中,我將使用一個(gè)簡(jiǎn)單的12V雙極步進(jìn)電機(jī)。為了驅(qū)動(dòng)這個(gè)步進(jìn)電機(jī),我們需要一個(gè)電機(jī)驅(qū)動(dòng)模塊,如L293D或L298N。這兩個(gè)模塊都適用于12V步進(jìn)電機(jī)。因此,選擇驅(qū)動(dòng)程序模塊取決于您。對(duì)于這個(gè)項(xiàng)目,我選擇了L298N電機(jī)驅(qū)動(dòng)器模塊。
步進(jìn)電機(jī)優(yōu)于伺服電機(jī)的主要優(yōu)點(diǎn)是電機(jī)軸完全旋轉(zhuǎn)分為幾步并且您可以通過(guò)小心地給電機(jī)線圈通電來(lái)精確定位步進(jìn)電機(jī)。
即使沒(méi)有像伺服電機(jī)那樣的反饋機(jī)制,步進(jìn)電機(jī)的步進(jìn)角也會(huì)更小提供非常精確的角度定位。
通常,幾乎所有市售的步進(jìn)電機(jī)都具有1.8 0 的步進(jìn)角。因此,對(duì)于完整的360 0 度旋轉(zhuǎn),其步數(shù)將為200.
為了提高步進(jìn)電機(jī)的精度即為了實(shí)現(xiàn)軸的更精確的角度定位,您可以使用稱為“半步進(jìn)”的技術(shù)。
半步進(jìn)是一種技術(shù),我們將使用一相和兩相激勵(lì)的組合,而不是一次激勵(lì)單相。使用這種技術(shù),您可以實(shí)現(xiàn)更小的400步分辨率和更平穩(wěn)的操作。
Raspberry Pi步進(jìn)電機(jī)接口
幾乎所有先進(jìn)的數(shù)控機(jī)床和工業(yè)貼片機(jī)器人都使用步進(jìn)電機(jī)。另一方面,Raspberry Pi是一臺(tái)小型計(jì)算機(jī),可用于機(jī)器人,家庭自動(dòng)化,工業(yè)自動(dòng)化等眾多應(yīng)用中。
因此,連接使用Raspberry Pi的步進(jìn)電機(jī)將非常有趣,因?yàn)槟梢栽谏鲜鏊袘?yīng)用中實(shí)現(xiàn)此接口。
12V雙極步進(jìn)電機(jī)可吸收約350mA至500mA的電流。因此,我們?cè)谑褂肦aspberry Pi步進(jìn)電機(jī)接口時(shí)需要一個(gè)專用的驅(qū)動(dòng)電路。
由于我使用的是雙極步進(jìn)電機(jī),我只需要四根控制線。這可以通過(guò)許多不同的模塊或驅(qū)動(dòng)程序(如L293D,ULN2003或L298N)來(lái)完成。
如果是單極步進(jìn)電機(jī),有多種方法可以連接它到驅(qū)動(dòng)程序模塊。通常,單極步進(jìn)電機(jī)將具有5或6根電線。因此,您需要使用ULN2003或?qū)⑵溥B接到雙極步進(jìn)電機(jī)。
電路圖
下圖顯示了使用L298N的Raspberry Pi步進(jìn)電機(jī)控制的連接圖。它使用Fritzing Application實(shí)現(xiàn)。
所需組件
Raspberry Pi 3 B型
12V雙極步進(jìn)電機(jī)
L298N電機(jī)驅(qū)動(dòng)器模塊
12V電機(jī)電源
Raspberry Pi的電源
連接電線
計(jì)算機(jī)
電機(jī)驅(qū)動(dòng)器模塊的輸入,即IN1,IN2,IN3和IN4連接到物理引腳11,12,13和15,即Raspberry Pi的GPIO17,GPIO18,GPIO27和GPIO22 。
一組電機(jī)線圈連接到電機(jī)驅(qū)動(dòng)器的OUT1和OUT2,另一組連接到OUT3和OUT4。
為電機(jī)驅(qū)動(dòng)器模塊提供12V外部電源,L298N電機(jī)驅(qū)動(dòng)器模塊和Raspberry Pi的接地端子是通用的。
為Raspberry Pi提供單獨(dú)的5V電源。
代碼
項(xiàng)目的編程部分是使用Python實(shí)現(xiàn)的。下面給出了使用Raspberry Pi和L298N電機(jī)驅(qū)動(dòng)器模塊控制步進(jìn)電機(jī)的Python腳本。
項(xiàng)目工作
這個(gè)簡(jiǎn)單項(xiàng)目的目的只是為了理解如何使用Raspberry Pi和L298N連接步進(jìn)電機(jī)。該項(xiàng)目的工作非常簡(jiǎn)單,并在此處進(jìn)行說(shuō)明。
最初,您需要通過(guò)提供一些隨機(jī)值來(lái)校準(zhǔn)步進(jìn)電機(jī),以便鎖定步驟。這里,正值(例如30)將使步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn),負(fù)值(如-30)將使其沿逆時(shí)針?lè)较蛐D(zhuǎn)。
初始校準(zhǔn)后,您可以輸入任何值,步進(jìn)電機(jī)將移動(dòng)到該位置。由于我們正在實(shí)施半步進(jìn)技術(shù),因此總步數(shù)為400.因此,如果輸入100,則步進(jìn)電機(jī)將以順時(shí)針?lè)较蛐D(zhuǎn)90 0 。
同樣,通過(guò)輸入其他值(正數(shù)或負(fù)數(shù)),您可以準(zhǔn)確控制步進(jìn)電機(jī)的位置。
應(yīng)用程序
使用Raspberry Pi控制步進(jìn)電機(jī)將使我們能夠在各種項(xiàng)目和應(yīng)用中使用此接口,例如:
機(jī)器人
CNC繪圖儀
3D打印
家庭自動(dòng)化
工業(yè)自動(dòng)化
-
步進(jìn)電機(jī)
+關(guān)注
關(guān)注
150文章
3097瀏覽量
147357 -
電機(jī)驅(qū)動(dòng)器
+關(guān)注
關(guān)注
16文章
633瀏覽量
64620 -
L298N
+關(guān)注
關(guān)注
21文章
224瀏覽量
78638 -
樹(shù)莓派
+關(guān)注
關(guān)注
116文章
1699瀏覽量
105537
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論