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