玩转树莓派

    返回首页    发表留言
本文作者:李德强
          第一节 占空比信号PWM
 
 

        很多朋友看了《四轴飞行器》的文章之后都有一个同样的疑问:“如何使用树莓派产生多路PWM信号?”很多人给我留言和写信多数问的都是这个问题。所以我觉得还是有必要单独写一章来对这个问题做一下解答。希望对这个问题有困惑的朋友能有所帮助。

        我们首先来看看什么PWM信号。PWM的全称为Pulse-width modulation即脉冲宽度调制,实际上它是一种高低电平反复变化的信号,如下:

        信号高电平为1,低电平为0,这样重复的信号就是一种最基本的PWM信号,它的用途很广。我们主要来谈PWM在电机控制方面的使用方法。通常我们会使用电调来控制电机转动的速度,而通过树莓派(或其它单片机)产生PWM输出给电调。当电调接收到PWM信号时会根据每一个信号周期中高电平的持续时间来计算应该给电机提供的电压从而改变电机转动的速度。

        所以PWM信号也被称为“占空比”即高电平占整个信号周期的比例。其实就是电调根据PWM信号的比例来控制电机电压的比例,从而达到电机速度控制。对于有刷电调和无刷电调对PWM的计算略有不同:

        有刷电调:高电平时长50%~75%有刷电机反转,高电平时长75%~100%有刷电机正转,越接近50%电机反转越快;越接近100%电机正转越快;而越接近75%电机越慢或停止。
        无刷电调:高电平时长50%~100%无刷电机正转,越接近50%电机越慢或停止;越接近100%电机正转越快。

        假设我们产生的PWM信号频率为500Hz周期为2ms。下图分别表示有刷电机和无刷电机的转动速度:

         这里我们们是假设PWM频率为500Hz周期为2.0ms。实际上PWM的频率和周期可以任意设定,比如设定其频率为1000Hz,周期则为1.0ms;如频率为2000Hz,周期则为500us;如频率为500000Hz,则周期为2.0us.

        PWM频率的高低决定了电调的响应速度,频率越高电机响应越快,频率越低电机响应越慢。由于我们使用的树莓派是在Linux操作系统下运行的,它的实时性没有那些专为实时控制设计的单片机那样高,所以我们还是推荐使用500Hz的频率。如果在树莓派上产生高频的PWM信号它的信号准确度就会大大的打折扣,因为Linux是软实时系统而不是硬实时系统。

        

                         

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2023 问渠网 辽ICP备15013245号