0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用工业树莓派做ython的PWM控制

广州虹科电子科技有限公司 来源:广州虹科电子科技有限公 作者:广州虹科电子科技 2021-09-16 10:57 次阅读

虹科工业树莓派

准备工作

硬件

虹科工业树莓派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

3f6168ec-168d-11ec-8fb8-12bb97331649.png

返回结果中第二行的offset,即为我们所需要的地址值(十进制83)。

11.有了地址变量之后开始正式编程,我们在SSH中执行命令python3,以进入python环境。命令行开头的前缀变成“》》》 ”即表明已进入python环境,按Ctrl+D可退出。

3f7dea76-168d-11ec-8fb8-12bb97331649.png

12.测试执行如下代码:

3f97f6e6-168d-11ec-8fb8-12bb97331649.png

此时,LED应该会以45%亮度亮起,此时再执行:

3fa50052-168d-11ec-8fb8-12bb97331649.png

则LED应以最高亮度亮起。writeByteToOffset函数的第一个参数是写入的地址,第二个参数是写入的值。

13.先退出python环境,然后执行如下命令创建名为的python脚本到默认的主目录:

nano PWMtest.py

然后在nano编辑器中填入如下代码:

3fb0138e-168d-11ec-8fb8-12bb97331649.png

3fbca82e-168d-11ec-8fb8-12bb97331649.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驱动的设备(如直流电机、电磁阀)时需注意是否超限。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5125

    浏览量

    213297
  • python
    +关注

    关注

    55

    文章

    4777

    浏览量

    84411
  • 树莓派
    +关注

    关注

    116

    文章

    1697

    浏览量

    105482
  • 虹科电子
    +关注

    关注

    0

    文章

    591

    浏览量

    14235

原文标题:免费教程速递!虹科手把手教您用工业树莓派做基于Python的PWM控制

文章出处:【微信号:Hongketeam,微信公众号:广州虹科电子科技有限公司】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    树莓学习笔记之PWM控制直流电机转速介绍 相关资料分享

    树莓控制PWM控制电机转速一、硬件二、连线三、树莓
    发表于 06-29 08:47

    树莓pwm是如何去控制无刷电机的?

    树莓pwm是如何去控制无刷电机的?其实现代码是怎样去编写的?
    发表于 07-21 06:46

    树莓有什么用_树莓能用来啥_树莓新手入门教程

    本文首先介绍了树莓的功能,其次介绍了树莓的用途,最后详细介绍了树莓新手入门教程。
    的头像 发表于 05-08 14:15 3.3w次阅读

    树莓入门教程之新手使用树莓系统的教程资料说明

    本文档的主要内容详细介绍的是树莓入门教程之新手使用树莓系统的教程资料说明免费下载。
    发表于 03-22 08:00 10次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>入门教程之新手使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>做</b>系统的教程资料说明

    虹科工业树莓和PLC怎么选?

    工业树莓和PLC的区别在哪?应该选择工业树莓还是PLC?本篇文章为你解答~
    的头像 发表于 02-22 11:03 938次阅读

    树莓控制步进电机

    树莓控制步进电机 前言 设备 连接 源码 前言 测试步进电机 设备 名称 型号 树莓 3B+ 步进电机 28BYJ-48-5V 步进电机
    发表于 03-21 11:39 0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b>步进电机

    树莓通过pwm控制电机速度

    树莓通过脉冲宽度调制可以控制电机的速度。实际上在精度要求不是非常高的情况下,普通引脚也可以通过软件模拟来控制 电机,实现pwm一样的功能
    发表于 03-21 10:19 0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>通过<b class='flag-5'>pwm</b><b class='flag-5'>控制</b>电机速度

    树莓PWM模式介绍

    树莓可以同时产生两路独立的pwm
    的头像 发表于 03-24 11:30 5326次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>的<b class='flag-5'>PWM</b>模式介绍

    树莓控制PWM控制电机转速

    树莓控制PWM控制电机转速 一、硬件 树莓 12
    发表于 03-31 10:59 3次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b><b class='flag-5'>PWM</b><b class='flag-5'>控制</b>电机转速

    树莓控制继电器

    树莓控制继电器命令行输入gpio readall查看树莓io口属性可以看到被分为左右两侧,左侧为树莓
    发表于 04-21 11:50 0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>控制</b>继电器

    虹科工业树莓应用小技巧

    在应用虹科工业树莓进行项目开发的过程中,我们会应用到各种功能,部分功能看似不起眼,但是在实际应用开发过程中却非常重要。接下来虹科分享几个工业树莓
    的头像 发表于 05-24 17:33 654次阅读
    虹科<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>应用小技巧

    免费教程速递!虹科手把手教您用工业树莓基于Python的PWM控制

    点击关注我们可获取更多IIOT干货哦~虹科工业树莓高性能多接口宽温--适应恶劣环境★★★★★准备工作硬件:虹科工业树莓
    的头像 发表于 09-17 18:24 785次阅读
    免费教程速递!虹科手把手教您<b class='flag-5'>用工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>做</b>基于Python的<b class='flag-5'>PWM</b><b class='flag-5'>控制</b>

    虹科干货 | 简单几步教您使用工业树莓结合CODESYS配置EtherCAT主站

    虹科IIoT虹科教您简单几步使用工业树莓结合CODESYS配置EtherCAT主站前言工业树莓
    的头像 发表于 07-14 09:25 4793次阅读
    虹科干货 | 简单几步教您使<b class='flag-5'>用工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>结合CODESYS配置EtherCAT主站

    虹科方案 | 虹科工业树莓和PLC怎么选?

    虹科IIoT虹科工业树莓VSPLCHongKeTechnology虹/科/方/案01什么是虹科工业树莓
    的头像 发表于 03-29 15:42 812次阅读
    虹科方案 | 虹科<b class='flag-5'>工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>和PLC怎么选?

    宏集方案 | 如何用工业树莓和MQTT平台打通OT和IT?

    如何用工业树莓和MQTT平台打通OT和IT?
    的头像 发表于 01-05 11:01 348次阅读
    宏集方案 | 如何<b class='flag-5'>用工业</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>和MQTT平台打通OT和IT?