树莓派控制调速以及关于PWM的思考
作者:kumfo
简介:SegmentFault 后端工程师
来源:SegmentFault 思否社区
前情概要
最近在寻思用树莓派控制电机速度,电机预估电压是24V,电流是10A,以这样的配置需要个无极调速控制器控制电机转速,看了下相关的控制器价格也不贵,十多块钱就能整一块。然后,相关的无极调速有提供PWM控制的。
然后说到调速控制这一块,一般来说,低功率电路,比如5V/1A,3V/1A这样的电路,通常直接接个电位器进行控制就行了,而对于大功率电路,比如100W,200W这样的,通常来说就需要个通过低电压控制高电压电路了。一般来说,直接通过一个大功率三极管就能通过低电压的无极电压电流调节从而控制高电压电流的电路。但是实际上的放大电路还是比较复杂的,我非科班出身,关于这块目前也没有做过深入研究其根本原因和原理,暂且不谈。另外就是数字电路来控制大功率电器,那么也需要低电压通过放大电路来进行控制。
以此为前提,那么就问题来了,数字电路怎么能做到控制电压电流大小。首先看物理电位器的调节原理就是控制电路中的电阻来控制整个电路中的电流和电压大小,这个好理解。而在数字电路中,则是通过PWM(Pulse width modulation),中文意思是脉冲宽度调制。
PWM
从字面理解PWM,一开始看到其实是不太好理解的,我一开始也是弄得云里雾里的,这里用我自己所理解的方式进行梳理一下。
首先:
数字电路输出都是高/低电平,高电平可以假定为1,低电平假定为0,也就是低电平情况电路中没有电流电压流动。至于具体的这个高电平,对应的是多少电压,那么我这以树莓派为例,树莓派有好几个引脚,有的引脚输出的是3.3V电压,有的引脚输出的是5V,那么对应的相关高低电平就是:3.3:0,5:0。
数字电路是有频率的,这个以我的理解,就是一个时钟周期(1秒)内电流分成多少次流动,也就是一个时钟周期内电流分成多少次传递,如10MHZ,那么就是一个时钟周期内把电流分成10M次进行传递。
程序控制空占比
频率 = 10MHZ
一个电平在单位时间内的传送时间 = 1 / 频率
空占比 = 0.8
while True:
输出高电平()
持续等到高电平输出时间 = 一个电平在单位时间内的传送时间 * (1-空占比)
输出低电平()
持续等到低电平输出时间 = 一个电平在单位时间内的传送时间 * 空占比
写在结尾


关注公众号:拾黑(shiheibook)了解更多
赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 鸿蒙版微信1.0.7.39正式版发布:支持收藏内容转发、长按翻译
- Ngrok 内网穿透工具
- 光影猎人能否掌控全场?六款热门旗舰影像大比拼
- 卢布汇率人民币2023年1月25日
- 微软放大“招”!超多 Offer 等你来!
- 共聚有福之州|烽火通信亮相第五届数字中国建设峰会·云生态大会
- 美国FCC将中国电信和中国移动相关子公司等列入“安全威胁清单”
- 关于宽禁带半导体材料,有最新动态!
- 【杂谈快报】腾讯控股:已接获Prosus知会 后者出售约1.92亿股
- Dropbox 的崛起之路,创始人曾拒绝乔布斯天价收购
- 赋能企业,微软人工智能和物联网实验室吹响“集结号”
- 蚂蚁集团获新加坡数字银行运营牌照;扫地机器人中国销量全球第一|Do早报