(SKU:DFR0513)PPM Motor Driver Module

来自DFRobot Product Wiki
跳转至: 导航搜索
DSC 91661 1.jpg

目录

简介

这款电机驱动模块是DFRobot最新推出的一款用PWM信号驱动的电机驱动,能够改变电机的方向及转速。板上设有两个信号接收通道(CH1,CH2)以及两个电机通道(M1,M2),模块外部供电为7~12V,其输入控制信号是频率为50Hz,占空比在5%~10%的PWM信号,在供电范围内(7~12V)其单通道持续带载最大约为3A。

产品参数

  • 逻辑部分工作电压:5V
  • 输入电压:7~12V
  • 主控芯片:STM8S105K6T6
  • 驱动芯片:TLE5205
  • 5A持续驱动能力(支持6A峰值电流)
  • 支持最高供电电压40V(直流)
  • 内部LDO稳压到5V
  • 支持2个独立通道电机驱动
  • 2个PWM信号输入通道
  • 1个串口调试接口
  • 尺寸:90.5mm×29.6mm×1.6mm


引脚说明

引脚说明图
Warning yellow.png

注:DC输入端需要提供7~12V的电源,电源负载能力视电机功率决定。


使用教程

控制信号输入

     PPM Motor Driver Module电机驱动板支持2路独立直流电机驱动,驱动信号从CH1和CH2输入,分别对应M1和M2电机驱动输出。CH1、CH2可直接与航模遥控器的接收机相连(如FS-IA6B航模遥控器),也可以通过Arduino控制器输出PPM信号进行控制。

Warning yellow.png

注:PPM Motor Driver Module提供了5V电源输出,在连接航模遥控器接收机时,不需要外接5V电源。


控制信号

     PPM Motor Driver Module电机驱动板采用的控制信号,是航模遥控标准的PPM输出信号,可以直接连接航模遥控接收机。该信号是一个频率为50Hz的PWM信号,滑动遥控器摇杆,该信号的高电平持续时间在1000us~2000us之间变化,当摇杆回归到中间时,该信号输出高电平持续时间1500us(持续时间是指PWM信号的每个周期内)。

  • 当控制信号高电平持续时间由1500us向2000us递增时,电机正转,且转速逐渐增加
  • 当控制信号高电平持续时间由1500us向1000us递减时,电机反转,且转速逐渐增加
  • 当控制空号高电平持续时间在1500us时(即摇杆回归到中心点),电机停止转动,且电机驱动端口输出低电平
控制信号波形图
Warning yellow.png

注:PPM Motor Driver Module只提供电机驱动能力,不具备刹车功能。

驱动信号

     驱动信号是指PPM Motor Drvier电机驱动板接收到控制信号后,通过STM8S105主控芯片计算,驱动电机转动的信号。该信号是两个频率为1000Hz的PWM信号,分别控制电机的转速和方向。

驱动信号波形图

控制信号与驱动信号的关系

驱动信号的占空比随着PWM控制信号高电平持续时间的变化而改变。

  • 当控制信号高电平持续时间由1000us向1500us递增时,速度驱动信号方向驱动信号波形一致,均是频率为1000Hz,占空比从0%到100%变化的PWM信号;
  • 当控制信号高电平持续时间由2000us向1500us递减时,速度驱动信号认识1000Hz,占空比从0%到100%变化的PWM信号,而方向驱动信号是一个持续不变的高电平信号;
  • 当控制空号高电平持续时间在1500us时,速度驱动信号方向驱动信号一致,均为持续的高电平(100%)信号。
驱动变化图
Warning yellow.png

注:控制信号的控制死区[1470,1557]us,在此区间两路驱动信号均不会随控制信号高电平持续时间的变化而改变,是两个持续的高电平信号。

Warning yellow.png

注:这里的控制死区不是PWM死区,本产品的PWM驱动信号与控制信号均无PWM死区时间

信号发生器

     用Arduino微控制器做一个PWM信号发生器,让其产生一个频率为50Hz,高电平持续时间在1000us~2000us的PWM信号,以作为PPM直流电机驱动模块的控制信号。

  • 硬件
    • Romeo BLE V1.0双合一控制器(一种兼容Arduino的微控制器)购买网址
    • USB cable线
    • PPM Motor Driver Module
    • 杜邦线 若干
  • 软件
  • 样例代码
int pin=2;     //将pin设置为2号数字引脚
int t=1500;        //高电平持续的时间
int Tw=20000;   //PPM的周期为20ms
int flag=0;
void setup()
{
     pinMode(pin,OUTPUT);  //将2号数字引脚设置为输出模式
}
void loop()
{
     digitalWrite(pin,HIGH);  //设置2号数字引脚为高电平
     delayMicroseconds(t);  //延时t微秒
     digitalWrite(pin,LOW);  //设置2号数字引脚为低电平
     delayMicroseconds(10000);//由于20ms会溢出,里面的值最好不超过16000,故将其延时两次以达到20ms的PWM周期
     delayMicroseconds(Tw-10000-t); 
    if(flag==0)
        t+=1;
    else
        t-=1;
     if(t>2000)
          flag=1;
     if(t<1000)
          flag=0;
}
}

     程序功能:让MCU的数字2引脚输出一个频率为50Hz,高电平持续时间在1000~2000us内不断变化的PWM控制信号。

疑难解答

更多问题及有趣的应用,请访问论坛

个人工具
名字空间

变换
操作
导航
工具箱