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

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

3天内不再提示

基于PWM的树莓派控制电机调速

要长高 来源:SegmentFault思否社区 作者:kumfo 2022-06-24 12:23 次阅读

最近在寻思用树莓派控制电机速度,电机预估电压是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次进行传递。

然亦有以上两点基础知识之后,那么就很容易理解PWM了。理解PWM之前,还需要理解个叫做空占比的概念。空占比的意思是在单位时间内输出的低电平次数占所有电平次数(高电平输出次数+低电平输出次数)的比率,如10MHZ的电路,如果空占比为0.1,那么就有1M次是输出低电平的,9M次是输出高电平的。

PWM的理念就是,本来是5V/16MA的电路,那么,我在单位时间内,本来10M次都是输出高电平,但是假设空占比为0.8,也就是说,相当于这10M次其中有8M=10M*0.8次是输出低电平。然后就显而易见的可知,单位时间内流过的电流为2M=10M-8M次,也就是实际在单位时间内传送电流的时间只占了0.2。也就是说,原本的5V/16MA的电路如今在单位时间内就传送了5V/16MA*0.2=1V/3.2MA,从而达到了降压限流的目的了。

程序控制空占比

如果说树莓派的话,本身是有几个接口可以调用系统提供的库来直接输出PWM的,抛开这点不谈,如果说自己来处理的话,用程序来控制,类似于如下伪代码:

频率 = 10MHZ

一个电平在单位时间内的传送时间 = 1 / 频率

空占比 = 0.8

while True:

输出高电平()

持续等到高电平输出时间 = 一个电平在单位时间内的传送时间 * (1-空占比)

输出低电平()

持续等到低电平输出时间 = 一个电平在单位时间内的传送时间 * 空占比

实际上PWM的算法有很多,而在不同的电路控制中可能会有不同的限制,如最简单的例子,如LED灯控制,如果空占比为0.5,那么1秒内,如果前面0.5秒输出高电平,后面0.5秒输出低电平。虽然来说,单位时间内平均电压和电流为实际电压电流的一半,但是,人眼就非常明显的能感受到LED在闪烁,因为人眼要能感受到画面不闪烁,画面刷新率最起码要达到24HZ。所以,需要把高低电平在单位时间内最起码还要拆分成24份,然后每一份时间内,再按照空占比进行时间拆分,再在自己的时间内输出高电平和低电平。也就是说,把按照空占比输出的高/低电平作为一个基础操作的话,单位时间内能做越多操作,电压和电流也就越稳定,当然,这里我也只是在树莓派上做了实际验证,对于实际的相关数学验证没有做过。

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

    关注

    114

    文章

    5186

    浏览量

    213959
  • 树莓派
    +关注

    关注

    116

    文章

    1707

    浏览量

    105649
收藏 人收藏

    评论

    相关推荐

    玩转树莓树莓 3 + L298N模块控制直流电机

    脚低电平,电机就会正转。1、接线原理图:将L298的ENA与ENB分别接到树莓的Pin16,Pin18接口。ENA与ENB分别为左右电机的使能接口,通过
    发表于 10-21 13:51

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

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

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

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

    树莓电机

    树莓电机 到了 L298N搜索 树莓 L298N,得到 似乎L298N是控制直流
    发表于 09-13 06:12

    如何利用树莓控制步进电机

    如何利用树莓控制步进电机
    发表于 10-27 07:13

    基于Labview的PWM电机调速

    基于Labview的PWM电机调速,选用VISA串口,实现直流电机PWM调速
    发表于 06-24 14:35 30次下载

    树莓驱动电机

    树莓驱动电机 设备: 1.树莓3b+2.若干杜邦线3.电机驱动模块tb6612fng4.
    发表于 03-17 14:39 2次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>驱动<b class='flag-5'>电机</b>

    树莓驱动步进电机

    步进电机一般由电机、驱动器构成,树莓连接驱动器控制电机。 一、接线 DIR+/- 用于
    发表于 03-20 14:40 0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>驱动步进<b class='flag-5'>电机</b>

    树莓驱动无刷电机全攻略(三)无刷电机控制

    由于本人只有3天时间来完成这个项目,所以很多知识都不是特别了解,只能用自己的理解表述了。利用树莓输出的PWM波可以实现对无刷电机转速的控制
    发表于 03-21 14:40 3次下载
    <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>

    树莓驱动步进电机

     闲了无聊,想用树莓驱动步进电机。 测试了两天终于OK了 下图是DM422C接步进电机树莓
    发表于 03-21 14:26 0次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>驱动步进<b class='flag-5'>电机</b>

    树莓控制步进电机

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

    树莓通过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><b class='flag-5'>电机</b>速度

    树莓使用Python控制步进电机

    步进电机和普通电机最大的不同是步进电机可以更加精确地旋转,这个特性使得它们在各种树莓项目中得到广泛运用。 步进
    发表于 03-22 11:36 3次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>使用Python<b class='flag-5'>控制</b>步进<b class='flag-5'>电机</b>

    树莓PWM模式介绍

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

    树莓控制PWM控制电机转速

    树莓控制PWM控制电机转速 一、硬件 树莓
    发表于 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><b class='flag-5'>电机</b>转速