![eb14486e-1697-11ec-80c2-000c2944909e.gif](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB2AO8mBAAG0GrDYctE587.gif)
![eb2ee11a-1697-11ec-9a53-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB2AbP26AAYf5MG95is540.png)
![eb3c98e4-1697-11ec-8cba-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB6ADOQGAAJPdomI6E0494.png)
高性能
多接口
宽温--适应恶劣环境
★★★★★
准备工作
硬件:
虹科工业树莓派1台
DIO模块1个
Windows系统电脑1台
LED电路
软件(PC上):
Chrome内核浏览器、SSH连接软件(如putty)
![eb4572cc-1697-11ec-8c1e-000c2944909e.gif](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB6AfByLAAB2o3Mdhr4339.gif)
操作步骤
1.工业树莓派(RevPi)连好DIO模块,连网线、电源线上电。
2.电脑的浏览器打开树莓派所在IP地址,登录其管理后台,账号为admin,默认密码见机身贴纸。
3.打开PiCtory管理界面。
![eb4c0ad8-1697-11ec-bb7b-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB6AWAT-AAMJpNc5nXU137.png)
4.按物理设备的左右顺序添加摆放主模块和DIO模块(从左边找到相应的模块,然后拖到右边区域进行摆放)。
![eb58889e-1697-11ec-a9b7-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB6AG9QUAAHrupSWvrM734.png)
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%。
![eb66929c-1697-11ec-b4f4-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB6AAw7RAAATAMvW9qo251.png)
6.配置完成后点上方菜单的File -> Save as Start-Config. 保存到启动方案,然后点Tools -> Reset Driver立即使配置生效。我们这里做的事情,其实是把这两个变量的复位默认值,改为了我们刚刚设置的参数,而开机复位时会自动读取改默认值。
应当注意:OutputPWMActive变量复位之后通过任何途径修改其当前值是不会生效的,必须要设为复位默认值才能生效!
7.接下来,我们准备使用Python编程来尝试控制DO1通道的PWM。
首先,我们要知道,DO1通道的PWM占空比当前值,是由PWM_1变量决定的,该变量名在同时使用多个DIO模块时会有变化(会自动改名,避免重名),需以PiCtory右下角变量列表中显示的名称为准。
该变量的取值范围是0-100的整数,表示占空比百分比数,复位默认值不修改时各通道均为0。
![eb8070f4-1697-11ec-a799-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB6AbrK3AAAN7hsxihA581.png)
前面我们提到,当设置PWM频率时,占空比最小单位也会变化,且频率越高时,占空比最小单位越大,但不用担心,即使我们的最小单位是5%,我们在程序中把该变量值设为5倍数以外的数也是不会报错的,系统会自动取最近可用的数进行输出设置。
8.在DO1通道上接上LED电路,限流电阻阻值请按照LED实际规格选取合适的值。
整个LED回路结构为:
DO1 — 限流电阻 — LED — 地
9.现在,我们获取该变量在过程映像中对应的地址(编程时需要通过过程映像中对应的地址来访问读写变量)。先用SSH软件连上RevPi,登录名是pi,默认密码和本文第2步中的密码相同(见机身贴纸)。
10.SSH登录成功后,执行如下指令:
piTest -v PWM_1
![eb87c388-1697-11ec-b531-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB6AIHU0AAAusVlE9C8125.png)
返回结果中第二行的offset,即为我们所需要的地址值(十进制83)。
11.有了地址变量之后开始正式编程,我们在SSH中执行命令python3,以进入python环境。命令行开头的前缀变成“>>> ”即表明已进入python环境,按Ctrl+D可退出。
![eb928e9e-1697-11ec-858e-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB-AcpJsAAA66UKvKg0577.png)
12.测试执行如下代码:
![eb9fae92-1697-11ec-8e39-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB-ALvsBAABnCTmFs4I849.png)
此时,LED应该会以45%亮度亮起,此时再执行:
![ebb03d36-1697-11ec-af2b-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB-ACtsGAAAF_Qmbaj4915.png)
则LED应以最高亮度亮起。writeByteToOffset函数的第一个参数是写入的地址,第二个参数是写入的值.
13.先退出python环境,然后执行如下命令创建名为的python脚本到默认的主目录:
nano PWMtest.py
然后在nano编辑器中填入如下代码:
![ebb6cbe8-1697-11ec-bd0a-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB-AGDHKAAB2wNsHLSc298.png)
![ebc6da9e-1697-11ec-a3b8-000c2944909e.png](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB-AIh0hAAAW66YsSME611.png)
然后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驱动的设备(如直流电机、电磁阀)时需注意是否超限。
![eb4572cc-1697-11ec-8c1e-000c2944909e.gif](https://file1.elecfans.com//web2/M00/9C/38/wKgaomTnxB6AfByLAAB2o3Mdhr4339.gif)
虹科--工业物联网
虹科是一家在工业物联网IIoT行业经验超过3年的高科技公司,虹科与世界领域顶级公司包括EXOR、Eurotech、Unitronics、Matrikon、KUNBUS、VDOO、Esper等合作,提供先进的高端工业4.0 工业触摸屏、高端边缘计算机、IoT开发框架、PLC与HMI一体机、OPC UA、工业级树莓派、VTSCADA、VDOO设备安全分析与防护平台、安卓设备一站式管理平台等解决方案。物联网事业部所有成员都受过专业培训,并获得专业资格认证,平均3年+的技术经验和水平一致赢得客户极好口碑。我们积极参与行业协会的工作,为推广先进技术的普及做出了重要贡献。至今,虹科已经为行业内诸多用户提供从硬件到软件的不同方案,并参与和协助了众多OEM的设备研发和移植项目,以及终端用户的智能工厂和工业4.0升级改造项目。
往期精彩回顾工业树莓派应用案例1:小型水轮机的振动监测
工业树莓派应用案例2:智能铆接工具
工业树莓派应用案例3:印后设备自动化
工业树莓派应用案例4:CloudRail.Box助力快速实现IIOT
工业树莓派应用案例5:铁路注水系统改造(内附实操教学视频)
工业树莓派应用案例6:零售行业应用
工业树莓派应用案例7:机器数据记录
工业树莓派应用案例8:水处理设备
工业树莓派应用案例9:realKNX语音控制和自动化
工业边缘计算技术实用案例分享
边缘计算在工业物联网中的应用
智慧工厂转型——实际案例5则(上篇)
智慧工厂转型——实际案例5则(下篇)
OPC UA的进阶——定义数据技术的新平台
OPC UA 十问十答
OPC UA发布订阅的介绍及其对制造商的重要性
-
电子
+关注
关注
32文章
1901浏览量
89700
发布评论请先 登录
相关推荐
《手把手教你做星闪无人机》即将开播,锁定15日晚七点!
![《<b class='flag-5'>手把手</b>教你<b class='flag-5'>做</b>星闪无人机》即将开播,锁定15日晚七点!](https://file.elecfans.com/web2/M00/35/6C/poYBAGIq5qqAQJzlAAA5OpNWiJA439.png)
《手把手教你做PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战
![《<b class='flag-5'>手把手</b>教你<b class='flag-5'>做</b>PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战](https://file.elecfans.com/web2/M00/35/6C/poYBAGIq5qqAQJzlAAA5OpNWiJA439.png)
使用树莓派实现远程控制的技巧
树莓派开发的最佳编程语言选择
树莓派gpio有什么用,树莓派gpio接口及编程方法
什么是树莓派?树莓派是什么架构的
树莓派和单片机的优缺点是什么
树莓派的功能用途是什么
手把手教你通过宏集物联网工控屏&网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户
![<b class='flag-5'>手把手</b>教你通过宏集物联网工控屏&网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户](https://file1.elecfans.com//web2/M00/02/B6/wKgZoma9kj-AOb0tAACF0naSlO875.webp)
树莓派5,Raspberry Pi 5 评测
手把手教你排序算法怎么写
![<b class='flag-5'>手把手</b>教你排序算法怎么写](https://file.elecfans.com/web2/M00/9B/3D/poYBAGQjnauAVXOgAABFcEbXdEE684.png)
评论