工业级树莓派:RevPi DIO模块功能测试教程

工业级树莓派

RevPi 数字IO模块有三种版本,均可以通过PiBridge与Core模块直接相连。它们的前端都具有相同的28针I/O连接器。除了具有14个数字输入和14个数字输出的标准版本外,还有两个特殊版本,它们仅具有16个数字输入或16个数字输出。根据EN 61131-2的要求,所有版本都有抗干扰保护,并且可以在-40°C到55°C的温度范围,相对湿度高达93%的环境内运行。此外,所有数字IO模块都具有UL认证(UL文件号E494534)。
在这里插入图片描述

输入和输出的开关状态通过PiBridge与RevPi Core的中央处理映像进行周期性数据交换。除了切换状态之外,它还可以周期性地传输可能的错误状态(诊断数据)和配置数据。RevPi DIO模块还配备了PWM(脉冲宽度调制)和计数器输入,可以根据需要单独为各个输出激活PWM功能,为各个输入通道激活计数器功能。

本文将借助一个LED灯和一个按钮,进行DIO模块的简单实操,测试其控制输出状态、读取输入状态、PWM输出模式以及输入端口计数器的功能。

硬件要求:

☑PC
☑RevPi Core模块一个
☑RevPi DIO模块一个
☑24V电源
☑PiBridge连接帽一个
☑LED灯及电阻各一只
☑按钮一个
☑RJ45连接线一根
☑路由器一台

软件要求:

☑Advanced IP Scanner
☑Putty

功能测试步骤

1.模块连接
通过PiBridge连接帽,将Core模块和DIO模块连接起来,并接好电源线。注意DIO模块顶部有额外的X2插头用于供电,从而使得模块具有电流分离的输入和输出,可以使用独立的电源进行供电,当然也可以连接在X4插头的电源上。
在这里插入图片描述

根据DIO模块的输入输出端口分布图,分别将LED灯正极和按钮分别接在Output_1和Input_1端口,LED负极接电源负极,按钮另一端接电源正极。(注意LED灯应串联一个限流电阻,防止电流过大,烧坏元件)
在这里插入图片描述
2.Pictory配置
将Core模块通过RJ45端口连接到路由器上并上电后,从位于同一局域网的电脑端进入Pictory界面(在电脑浏览器输入Core模块的IP地址即可,可通过Advanced IP Scanner获取Core模块的IP地址)。

从界面侧边栏拖拽出DIO模块并放置在Core模块的右侧。(若在连接实物时将DIO模块连接到了Core模块的左侧,请按实际情况配置)
在这里插入图片描述

界面右下角将I_1改为Button,将O_1改为LED。点击File->Save,然后点击Tools->Reset Drive。
在这里插入图片描述
3.配置输出端口状态
打开PuTTy软件,输入Core模块的IP地址,选择端口22和SSH连接方式,建立远程连接,根据Core模块侧面标签上的用户名和密码登入系统。
调用piTest -r命令,首先读取当前LED端口的输出状态(Ctrl+C停止读取):
在这里插入图片描述
读取到过程映像中LED(即Output_1端口)的当前值为0,即当前端口输出低电平,此时LED灯未点亮。利用piTest -w命令向LED写入1,使其输出高电平,成功点亮LED灯。
在这里插入图片描述
4.读取输入端口状态
调用piTest -r命令,读取Button的值,并在读取的过程中按下按钮,查看其值的变化:
在这里插入图片描述
可以看到,当按下按钮时,该输入端口接入高电平,因此读取到的数值为1。松开时,又恢复为0。
5.PWM输出
进入Pictory界面,在右下角Value Editor栏中,进行以下更改:
在这里插入图片描述
上图中OutputPWMActive值设为1,表示激活O_1(即LED)的PWM功能,若要激活O_1和O_2的PWM功能应将此值设为3,即二进制的11。OutputPWMFrequency可以设置PWM的频率,这个频率对于所有的输出端口均有效,后面的百分数表示设置占空比的步长。

Save并Reset Driver,通过PuTTy软件,依次输入以下命令:
在这里插入图片描述
上图的命令分别表示输出占空比为20%、50%和100%的PWM波。此时LED灯的亮度会有所不同,占空比越低,亮度越低。下图展示了不同占空比时LED灯的亮度,由于拍摄原因区别可能不是很明显,但肉眼直接观察实物的话可以很明显看出不同。
在这里插入图片描述
6.输入端口计数器功能
进入Pictory界面,进行以下配置:
在这里插入图片描述
选择InputMode_1(即1号输入端口)的工作模式为计数器,上升沿触发,Save并Reset Driver。计数器的数值将存储在变量Counter_1中(可以在pictory界面修改变量名称),通过piTest -r命令不断读取Counter_1的值,并在此过程中尝试点按按钮,观察变化。
在这里插入图片描述
可以看到,每按下一次按钮,Counter_1的值便会增加1。

总结

以上就是本次测试教程的全部内容,本文成功测试了RevPi DIO模块的基本功能,包括读取并转换输出状态、读取输入状态、输出端口的PWM功能以及输入端口的计数器功能。

如果想了解学习更多工业级树莓派的信息,可以点击这里

猜你喜欢

转载自blog.csdn.net/Hongke_IIOT/article/details/108048960