鸿科工业树莓派
准备
硬件:
1 宏科工业树莓派
1个DIO模块
Windows系统电脑1台
LED电路
软件(PC端):
Chrome内核浏览器、SSH连接软件(如putty)
脚步
1. 将DIO模块连接到工业树莓派(RevPi),连接网线,并给电源线供电。
2、在电脑浏览器中打开树莓派的IP地址,登录其管理后台。账号是admin。默认密码显示在机身的贴纸上。
3. 打开PiCtory 管理界面。
4、按照物理设备的左右顺序添加并放置主模块和DIO模块(从左侧找到对应的模块,然后拖动到右侧区域进行放置)。
5. 点击选择放置的DIO模块,在Web界面右下角变量设置区底部找到OutputPWMActive和OutputPWMFrequency两个变量。
OutputPWMActive 变量的长度为16 位。它以掩码的形式表示DIO模块各DO通道的PWM使能状态。位为1 表示该位对应通道的PWM 使能。位为0 表示该位仅用于普通DO 输出。填写框中输入的数字应为十进制数。例如,如果我只需要将第三和第五通道设置为PWM,其他通道仍然是直接DO,那么该变量应该设置为00000000 00010100=20。这里,我们将这个变量设置为65535,即16位全部为1,表示所有通道的PWM功能打开。
在选择表单中设置OutputPWMFrequency变量,有“40Hz 1%”、“80Hz 2%”等选项,这里我们选择的是“200Hz 5%”,表示PWM频率为200Hz,占空比的最小单位是5%。
6、配置完成后,点击上方菜单中的文件-》另存为启动-配置。保存到启动计划中,然后点击工具-》重置驱动程序,使配置立即生效。我们这里所做的实际上就是将这两个变量的复位默认值改为我们刚才设置的参数,并且在上电复位时会自动读取更改后的默认值。
需要注意的是,OutputPWMActive变量重置后,通过任何方式修改其当前值都不会生效。必须设置为重置默认值才能生效!
7、接下来我们将使用Python编程来尝试控制DO1通道的PWM。
首先,我们需要知道DO1通道的PWM占空比的当前值是由PWM_1变量决定的。当同时使用多个DIO模块时,该变量的名称会发生变化(会自动重命名以避免重名)。需要以PiCtory命名,以右下角变量列表中显示的名称为准。
该变量的取值范围是0到100之间的整数,代表占空比百分比。不修改复位默认值时,各通道均为0。
前面我们提到,在设置PWM频率时,占空比的最小单位也会改变,频率越高,占空比的最小单位就越大,但是不用担心,即使我们的最小单位是5 %,我们在程序中将变量值设置为5的倍数以外的数字不会导致错误。系统将自动采用最近可用的数字进行输出设置。
8. 将LED 电路连接到DO1 通道。请根据LED的实际规格选择合适的限流电阻值。
整个LED电路结构为:
DO1 — 限流电阻— LED — 地
9. 现在,我们就得到了变量在过程映像中对应的地址(编程时需要通过过程映像中对应的地址来访问读写变量)。首先使用SSH软件连接RevPi。登录名是pi。默认密码与本文第2步中的密码相同(见机身贴纸)。
10. SSH登录成功后,执行以下指令:
piTest -v PWM_1
返回结果中第二行的偏移量就是我们需要的地址值(十进制83)。
11. 有了地址变量后,就开始正式编程了。我们在SSH中执行命令python3进入python环境。命令行开头的前缀变为“》》》”,表示已进入python环境,按Ctrl+D即可退出。
12.测试并执行以下代码:
此时LED应该以45%的亮度亮起,然后执行:
然后LED 应以最大亮度亮起。 writeByteToOffset函数的第一个参数是要写入的地址,第二个参数是要写入的值。
13、先退出python环境,然后执行以下命令创建一个以默认主目录命名的python脚本:
纳米PWM测试.py
然后在nano编辑器中填写以下代码:
然后Ctrl+X退出,按Y确认保存,按Enter确认名称即可完成脚本创建。这是一个简单的呼吸灯例程。
14.执行以下命令为刚刚创建的脚本添加执行权限:
chmod +x PWMtest.py
然后,您可以使用以下命令启动脚本: /PWM测试.py
由于脚本中设置了无限循环,需要按Ctrl+C退出。
了解更多详情,请联系鸿科工业物联网团队:
防范措施
1、当DIO模块的三个电源均采用24V供电时,PWM输出的高电平约为24V。
2、由于直接改变OutputPWMActive的值不会生效,如果某个通道设置为PWM模式,暂时需要作为普通DO使用,可以通过编程将其占空比设置为100和0,实现高电平和低电平。低逻辑电平输出。
3. DIO 模块每路最大输出电流为500mA(默认高边输出模式)。当使用需要较大电流PWM 驱动的设备(如直流电机、电磁阀)时,请注意是否超过限制。
责任编辑:haq