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

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

3天内不再提示

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

广州虹科电子 2021-09-17 18:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

eb14486e-1697-11ec-80c2-000c2944909e.gif

eb2ee11a-1697-11ec-9a53-000c2944909e.png eb3c98e4-1697-11ec-8cba-000c2944909e.png

虹科工业树莓派

高性能

多接口

宽温--适应恶劣环境

★★★★

准备工作

硬件:

虹科工业树莓派1台

DIO模块1个

Windows系统电脑1台

LED电路

软件(PC上):

Chrome内核浏览器、SSH连接软件(如putty)

eb4572cc-1697-11ec-8c1e-000c2944909e.gif   

操作步骤

1.工业树莓派(RevPi)连好DIO模块,连网线、电源线上电。

2.电脑的浏览器打开树莓派所在IP地址,登录其管理后台,账号为admin,默认密码见机身贴纸。

3.打开PiCtory管理界面。

eb4c0ad8-1697-11ec-bb7b-000c2944909e.png

4.按物理设备的左右顺序添加摆放主模块和DIO模块(从左边找到相应的模块,然后拖到右边区域进行摆放)。

eb58889e-1697-11ec-a9b7-000c2944909e.png

5.单击选定摆放好的DIO模块,在网页界面右下角的变量设置区,最下面的位置找到OutputPWMActiveOutputPWMFrequency两个变量。

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

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

前面我们提到,当设置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

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

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

eb928e9e-1697-11ec-858e-000c2944909e.png

12.测试执行如下代码:

eb9fae92-1697-11ec-8e39-000c2944909e.png

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

ebb03d36-1697-11ec-af2b-000c2944909e.png

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

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

nano PWMtest.py


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

ebb6cbe8-1697-11ec-bd0a-000c2944909e.pngebc6da9e-1697-11ec-a3b8-000c2944909e.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  

虹科--工业物联网

虹科是一家在工业物联网IIoT行业经验超过3年的高科技公司,虹科与世界领域顶级公司包括EXOR、Eurotech、Unitronics、Matrikon、KUNBUS、VDOO、Esper等合作,提供先进的高端工业4.0 工业触摸屏、高端边缘计算机、IoT开发框架、PLC与HMI一体机、OPC UA、工业级树莓派、VTSCADA、VDOO设备安全分析与防护平台、安卓设备一站式管理平台等解决方案。物联网事业部所有成员都受过专业培训,并获得专业资格认证,平均3年+的技术经验和水平一致赢得客户极好口碑。我们积极参与行业协会的工作,为推广先进技术的普及做出了重要贡献。至今,虹科已经为行业内诸多用户提供从硬件到软件的不同方案,并参与和协助了众多OEM的设备研发和移植项目,以及终端用户的智能工厂和工业4.0升级改造项目。

往期精彩回顾

ec0c6054-1697-11ec-8ed4-000c2944909e.gif

RevPi 应用案例 · 在这里

工业树莓派应用案例1:小型水轮机的振动监测

工业树莓派应用案例2:智能铆接工具

工业树莓派应用案例3:印后设备自动化

工业树莓派应用案例4:CloudRail.Box助力快速实现IIOT

工业树莓派应用案例5:铁路注水系统改造(内附实操教学视频)

工业树莓派应用案例6:零售行业应用

工业树莓派应用案例7:机器数据记录

工业树莓派应用案例8:水处理设备

工业树莓派应用案例9:realKNX语音控制和自动化

ec0c6054-1697-11ec-8ed4-000c2944909e.gif

边缘计算 · 知多少

边缘与云计算如何结合以创建工业自动化平台

工业边缘计算技术实用案例分享

边缘计算在工业物联网中的应用

智慧工厂转型——实际案例5则(上篇)

智慧工厂转型——实际案例5则(下篇)

ec0c6054-1697-11ec-8ed4-000c2944909e.gif

您想知道的 · OPC UA

OPC UA的进阶——定义数据技术的新平台

OPC UA 十问十答

OPC UA发布订阅的介绍及其对制造商的重要性


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

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

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

    关注

    32

    文章

    2003

    浏览量

    93046
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    手把手完成LuatOS GNSS定位调试:实用操作指南

    想要快速掌握LuatOS GNSS定位调试?本文将以手把手的方式,带领一步步完成调试流程。无论您是初学者还是有一定经验的开发者,这份实用操作指南都能帮助您有效提升调试效率,确保定位功能稳定可靠
    的头像 发表于 11-04 18:30 1084次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教</b><b class='flag-5'>您</b>完成LuatOS GNSS定位调试:实用操作指南

    零成本自建邮箱!手把手教你用树莓打造 24h 在线私人邮件服务器!

    前言:很多人一直以为树莓(RaspberryPi)只是创客圈子里的小玩具——一块信用卡大小的开发板,用来点亮LED、跑个Python脚本、或者给中学生上一堂入门编程课。然而,事实远比想象震撼:
    的头像 发表于 08-16 16:16 1055次阅读
    零成本自建邮箱!<b class='flag-5'>手把手</b>教你用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>打造 24h 在线私人邮件服务器!

    工业树莓的高光时刻!树莓工业级 HMI 列阵!

    上海晶珩作为树莓官方设计合作伙伴和代理商,基于树莓技术开发了一系列工业级人机界面(HMI)产品,广泛应用于
    的头像 发表于 07-23 18:36 542次阅读
    <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><b class='flag-5'>工业</b>级 HMI 列阵!

    RT-Thread Nano硬核移植指南:手把手实现VGLite图形驱动适配 | 技术集结

    VGLite是NXP提供的轻量级2D图形API,本文将手把手带你实现VGLite图形驱动适配RT-Thread。文章分为上、下两篇,将手把手移植。上篇对RT-ThreadNano内
    的头像 发表于 07-17 14:40 3041次阅读
    RT-Thread Nano硬核移植指南:<b class='flag-5'>手把手</b>实现VGLite图形驱动适配 | 技术集结

    手把手教你用树莓打造 LoRaWAN 网关!

    使用BasicStation或PiWAN连接到TheThingsNetwork将树莓设置为LoRaWAN网关乍一看可能令人望而生畏,但有了合适的工具和指导,它就会成为一个有意义的DIY网络项目。在
    的头像 发表于 06-09 16:23 1690次阅读
    <b class='flag-5'>手把手</b>教你用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>打造 LoRaWAN 网关!

    手把手教你如何调优Linux网络参数

    在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃。本文基于真实案例分析,从参数解读、问题诊断到优化实践,手把手教你如何调优Linux网络参数,支撑百万级并发连接。
    的头像 发表于 05-29 09:21 644次阅读

    正点原子Linux系列全新视频教程来啦!手把手教你MP257开发板,让轻松入门!

    正点原子Linux系列全新视频教程来啦!手把手教你MP257开发板,让轻松入门! 一、视频观看 正点原子手把手教你学STM32MP257-第1期:https://www.bilibili.com/video/BV1UtEiz
    发表于 05-16 10:42

    让性能飙升!使用Python并行计算榨干树莓算力!

    甚至微型服务器时,你是否也遇到过程序卡顿、视频处理延迟的尴尬?今天我们就手把手教你用Python并行处理技术,让树莓的性能瞬间翻倍!欢迎在评论区晒出你的优化方案,
    的头像 发表于 03-26 17:08 691次阅读
    让性能飙升!使用<b class='flag-5'>Python</b>并行计算榨干<b class='flag-5'>树莓</b><b class='flag-5'>派</b>算力!

    KiCad直播活动(三):在 Windows上编译KiCad 手把手编译/构建 KiCad 源码

    Developer Ethan 同学,手把手编译/构建 KiCad 源码: 开发工具安装 环境变量配置 使用 VS2022 构建 KiCad 参与直播的小伙伴还有机会获得 KiCon Badge
    的头像 发表于 03-24 11:14 1388次阅读
    KiCad直播活动(三):在 Windows上编译KiCad <b class='flag-5'>手把手</b><b class='flag-5'>教</b><b class='flag-5'>您</b>编译/构建 KiCad 源码

    《零基础开发AI Agent——手把手教你用扣子智能体》

    《零基础开发AI Agent——手把手教你用扣子智能体》是一本为普通人量身打造的AI开发指南。它不仅深入浅出地讲解了Agent的概念和发展,还通过详细的工具介绍和实战案例,帮助读者快速掌握
    发表于 03-18 12:03

    手把手教你星闪无人机—KaihongOS星闪无人机开发实战》系列课程课件汇总

    为助力开发者迅速掌握『KaihongOS轻量系统开发技术』与『星闪无线通信技术』,实现快速上手与深度体验,“开鸿Developer社区”携手“电子发烧友”再次联合推出《手把手教你星闪无人机
    发表于 03-18 10:33

    手把手教你PC-KaihongOS笔记本电脑开发实战》课件汇总

    ”携手“电子发烧友”联合推出了 《KaihongOS手把手系列直播课程》,该系列课程以实际产品为案例,详细讲解每个产品的开发全流程。 此次首发内容是《手把手教你PC-KaihongOS笔记本电脑开发
    发表于 03-18 10:25

    开发者集结!《手把手教你星闪无人机》第二课开讲啦!

    开发者集结!《手把手教你星闪无人机》第二课开讲啦!
    的头像 发表于 02-17 19:40 653次阅读
    开发者集结!《<b class='flag-5'>手把手</b>教你<b class='flag-5'>做</b>星闪无人机》第二课开讲啦!

    手把手教你星闪无人机》即将开播,锁定15日晚七点!

    ”再次联合推出《手把手教你星闪无人机—KaihongOS星闪无人机开发实战》系列课程,该课程与《手把手教你PC—KaihongOS笔记本电脑开发实战》同步并行,
    的头像 发表于 01-13 19:42 878次阅读
    《<b class='flag-5'>手把手</b>教你<b class='flag-5'>做</b>星闪无人机》即将开播,锁定15日晚七点!

    手把手教你PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战

    ”携手“电子发烧友”联合推出了《KaihongOS手把手系列直播课程》,该系列课程以实际产品为案例,详细讲解每个产品的开发全流程。此次首发内容是《手把手教你PC-
    的头像 发表于 01-06 20:46 863次阅读
    《<b class='flag-5'>手把手</b>教你<b class='flag-5'>做</b>PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战