準(zhǔn)備工作
硬件:
虹科工業(yè)樹莓派1臺
DIO模塊1個(gè)
Windows系統(tǒng)電腦1臺
LED電路
軟件(PC上):
Chrome內(nèi)核瀏覽器、SSH連接軟件(如putty)
操作步驟
1.工業(yè)樹莓派(RevPi)連好DIO模塊,連網(wǎng)線、電源線上電。
2.電腦的瀏覽器打開樹莓派所在IP地址,登錄其管理后臺,賬號為admin,默認(rèn)密碼見機(jī)身貼紙。
3.打開PiCtory管理界面。
4.按物理設(shè)備的左右順序添加擺放主模塊和DIO模塊(從左邊找到相應(yīng)的模塊,然后拖到右邊區(qū)域進(jìn)行擺放)。
5.單擊選定擺放好的DIO模塊,在網(wǎng)頁界面右下角的變量設(shè)置區(qū),最下面的位置找到OutputPWMActive和OutputPWMFrequency兩個(gè)變量。
OutputPWMActive變量長度為16bit,以掩碼形式表示DIO模塊各DO通道PWM使能情況,某位為1表示該位對應(yīng)的通道PWM使能,某位為0表示該位只用作普通DO輸出,填入框中的數(shù)應(yīng)為十進(jìn)制數(shù)。比方說,如果我只需要第三、第五通道設(shè)為PWM,其它仍是直接DO的話,那該變量應(yīng)設(shè)為 00000000 00010100 = 20。此處,我們將該變量設(shè)為65535,也就是16bit全為1,表示所有通道PWM功能開啟。
而OutputPWMFrequency變量則是選擇形式設(shè)定的,選項(xiàng)有“40Hz 1%”、“80Hz 2%”等。我們這里所選的是“200Hz 5%”,其意義為PWM頻率為200Hz,占空比最小單位是5%。
6.配置完成后點(diǎn)上方菜單的File -》 Save as Start-Config. 保存到啟動方案,然后點(diǎn)Tools -》 Reset Driver立即使配置生效。我們這里做的事情,其實(shí)是把這兩個(gè)變量的復(fù)位默認(rèn)值,改為了我們剛剛設(shè)置的參數(shù),而開機(jī)復(fù)位時(shí)會自動讀取改默認(rèn)值。
應(yīng)當(dāng)注意:OutputPWMActive變量復(fù)位之后通過任何途徑修改其當(dāng)前值是不會生效的,必須要設(shè)為復(fù)位默認(rèn)值才能生效!
7.接下來,我們準(zhǔn)備使用Python編程來嘗試控制DO1通道的PWM。
首先,我們要知道,DO1通道的PWM占空比當(dāng)前值,是由PWM_1變量決定的,該變量名在同時(shí)使用多個(gè)DIO模塊時(shí)會有變化(會自動改名,避免重名),需以PiCtory右下角變量列表中顯示的名稱為準(zhǔn)。
該變量的取值范圍是0-100的整數(shù),表示占空比百分比數(shù),復(fù)位默認(rèn)值不修改時(shí)各通道均為0。
前面我們提到,當(dāng)設(shè)置PWM頻率時(shí),占空比最小單位也會變化,且頻率越高時(shí),占空比最小單位越大,但不用擔(dān)心,即使我們的最小單位是5%,我們在程序中把該變量值設(shè)為5倍數(shù)以外的數(shù)也是不會報(bào)錯(cuò)的,系統(tǒng)會自動取最近可用的數(shù)進(jìn)行輸出設(shè)置。
8.在DO1通道上接上LED電路,限流電阻阻值請按照LED實(shí)際規(guī)格選取合適的值。
整個(gè)LED回路結(jié)構(gòu)為:
DO1 — 限流電阻 — LED — 地
9.現(xiàn)在,我們獲取該變量在過程映像中對應(yīng)的地址(編程時(shí)需要通過過程映像中對應(yīng)的地址來訪問讀寫變量)。先用SSH軟件連上RevPi,登錄名是pi,默認(rèn)密碼和本文第2步中的密碼相同(見機(jī)身貼紙)。
10.SSH登錄成功后,執(zhí)行如下指令:
piTest -v PWM_1
返回結(jié)果中第二行的offset,即為我們所需要的地址值(十進(jìn)制83)。
11.有了地址變量之后開始正式編程,我們在SSH中執(zhí)行命令python3,以進(jìn)入python環(huán)境。命令行開頭的前綴變成“》》》 ”即表明已進(jìn)入python環(huán)境,按Ctrl+D可退出。
12.測試執(zhí)行如下代碼:
此時(shí),LED應(yīng)該會以45%亮度亮起,此時(shí)再執(zhí)行:
則LED應(yīng)以最高亮度亮起。writeByteToOffset函數(shù)的第一個(gè)參數(shù)是寫入的地址,第二個(gè)參數(shù)是寫入的值。
13.先退出python環(huán)境,然后執(zhí)行如下命令創(chuàng)建名為的python腳本到默認(rèn)的主目錄:
nano PWMtest.py
然后在nano編輯器中填入如下代碼:
然后Ctrl+X退出,按Y確認(rèn)保存,再回車確認(rèn)名字即可完成腳本創(chuàng)建。這就是一個(gè)簡單的呼吸燈例程。
14.執(zhí)行如下指令給剛才創(chuàng)建的腳本添加執(zhí)行權(quán)限:
chmod +x PWMtest.py
然后,即可通過如下指令啟動腳本:
。/PWMtest.py
由于腳本中設(shè)置了死循環(huán),退出需要按Ctrl+C。
需要了解更多詳情,請聯(lián)系虹科工業(yè)物聯(lián)網(wǎng)團(tuán)隊(duì):
注意事項(xiàng)
1.當(dāng)DIO模塊3組電源都用24V供電時(shí),PWM輸出的高電平約為24V。
2.由于OutputPWMActive直接改值不會生效,若某一通道設(shè)置了PWM模式,又臨時(shí)需要作為普通DO使用,可通過編程設(shè)置其占空比為100和0來實(shí)現(xiàn)高低邏輯電平輸出。
3.DIO模塊的每通道最大輸出電流為500mA(默認(rèn)的高邊輸出模式狀態(tài)下),使用需要較大電流PWM驅(qū)動的設(shè)備(如直流電機(jī)、電磁閥)時(shí)需注意是否超限。
責(zé)任編輯:haq
-
PWM
+關(guān)注
關(guān)注
114文章
5190瀏覽量
214130 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84758 -
樹莓派
+關(guān)注
關(guān)注
116文章
1708瀏覽量
105692 -
虹科電子
+關(guān)注
關(guān)注
0文章
605瀏覽量
14369
原文標(biāo)題:免費(fèi)教程速遞!虹科手把手教您用工業(yè)樹莓派做基于Python的PWM控制
文章出處:【微信號:Hongketeam,微信公眾號:廣州虹科電子科技有限公司】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論