我造轮子,你造车,创客一起造起来!塔克创新资讯【塔克社区 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/

本文介绍X-CTR100控制器的直流调速电机控制,X-CTR100具有4路专用直流电机调速接口,PWM进行调速,可用于航、机械臂、机器人等制作。

原理

X-CTR100左侧MNOP接口可实现4路直流电机PWM调速控制,通过TIM1的四个通道实现,每个控制接口配置两个辅助IO,方便实现转向、刹车等控制效果,直流电机控制接口需要配合直流电机驱动使用。X-CTR100的电机控制可用于机器人、智能车等具有直流电机调速控制的场合。

X-CTR100电机接口需要配合电机驱动,可使用配套专用电机驱动模块X-CTR100-MDX2或X-CTR100-MDX4。

X-CTR100-MDX4连接方式如下图所示,X-CTR100-MDX4详细资料请参考硬件资料中的扩展模块资料。

TB6612

TB6612FNG引脚图 TB6612FNG是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机。

TB6612FNG每通道输出最高1.2 A的连续驱动电流,启动峰值电流达2A/3.2 A(连续脉冲/单脉冲);4种电机控制模式:正转/反转/制动/停止;PWM支持频率高达100 kHz;待机状态;片内低压检测电路与热停机保护电路;工作温度:-20~85℃;SSOP24小型贴片封装。

TB6612FNG的主要引脚功能:AINl/AIN2、BIN1/BIN2、PWMA/PWMB为控制信号输入端;AO1/A02、B01/B02为2路电机控制输出端;STBY为正常工作/待机状态控制引脚;VM(4.5~15 V)和VCC(2.7~5.5 V)分别为电机驱动电压输入和逻辑电平输入端。

TB6612FNG是基于MOSFET的H桥集成电路,其效率高于晶体管H桥驱动器。相比L293D每通道平均600 mA的驱动电流和1.2 A的脉冲峰值电流,它的输出负载能力提高了一倍。相比L298N的热耗性和外围二极管续流电路,它无需外加散热片,外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸。对于PWM信号,它支持高达100 kHz的频率,相对以上2款芯片的5 kHz和40 kHz也具有较大优势。

例程

控制四路电机实现增速正传和增速反转交替运行。

硬件说明

硬件资源:

  • 串口UART1
  • RM、RN、RO、RP扩展接口(4路直流电机扩展接口)
  • 直流电机驱动器(需自备,可选专用X-CTR100-MDX2/4驱动器)
  • 直流电机(需自备)

硬件连接:

使用X-CTR100-MDX2 2路驱动器。

直流电源也可以使用3S锂电池代替。

除了专用配套电机驱动模块,也可以使用普通电机驱动模块,使用TB6612电机驱动连接示意图如下图所示。

软件生态

X-SOFT软件生态,X-API扩展文件如下。

ax_motor.c——X-CTR100 直流电机控制源文件

ax_motor.h——X-CTR100 直流电机控制头文件

接口函数

void AX_MOTOR_TIM1_MNOP_Init(uint8_t freq_khz); //电机MNOP接口初始化

void AX_MOTOR_TIM1_M_SetSpeed(int16_t speed); //电机M控制

void AX_MOTOR_TIM1_N_SetSpeed(int16_t speed); //电机N控制

void AX_MOTOR_TIM1_O_SetSpeed(int16_t speed); //电机O控制

void AX_MOTOR_TIM1_P_SetSpeed(int16_t speed); //电机P控制

软件说明

函数AX_MOTOR_TIM1_MNOP_Init()函数实现电机的初始化,包括左侧MNOP四路电机接口,并可设定PWM频率为20K,最大PWM频率100KHz。AX_MOTOR_TIM1_X_SetSpeed()可分别设置四路电机转速。本例程在while循环中实现了增速正转和增速反转交替运行,主程序代码如下。

int main(void)

{

    uint8_t temp; //工作模式

 

    //X-CTR100初始化

    AX_Init(115200);

    printf("***直流电机调速例程***\r\n\r\n");

 

    //模块初始化及配置

    AX_MOTOR_TIM1_MNOP_Init(20); //初始化电机控制端口,PWM频率为20KHz    

 

    //X-API测试:四路电机正反转调速测试    

    printf("*四个电机正反转调速测试\r\n");

 

    while (1)

    {

        printf("*电机正方向增速旋转\r\n");

        for (temp = 0; temp <= 200; temp++)

        {

            AX_MOTOR_TIM1_M_SetSpeed(temp);

            AX_MOTOR_TIM1_N_SetSpeed(temp);

            AX_MOTOR_TIM1_O_SetSpeed(temp);

            AX_MOTOR_TIM1_P_SetSpeed(temp);

            AX_Delayms(30);

        }

        AX_MOTOR_TIM1_M_SetSpeed(0);

        AX_MOTOR_TIM1_N_SetSpeed(0);

        AX_MOTOR_TIM1_O_SetSpeed(0);

        AX_MOTOR_TIM1_P_SetSpeed(0);

        AX_Delayms(1000);

 

        printf("*电机反方向增速旋转\r\n");

        for (temp = 0; temp <= 200; temp++)

        {

            AX_MOTOR_TIM1_M_SetSpeed(-temp);

            AX_MOTOR_TIM1_N_SetSpeed(-temp);

            AX_MOTOR_TIM1_O_SetSpeed(-temp);

            AX_MOTOR_TIM1_P_SetSpeed(-temp);

            AX_Delayms(30);

        }

        AX_MOTOR_TIM1_M_SetSpeed(0);

        AX_MOTOR_TIM1_N_SetSpeed(0);

        AX_MOTOR_TIM1_O_SetSpeed(0);

        AX_MOTOR_TIM1_P_SetSpeed(0);

        AX_Delayms(1000);

    }

}

实现效果

按照硬件连接说明连接好驱动和电机,电机可连接至四路控制接口中的任意一路,可以观察到电机做间隔的增速正转和反转。

玩转X-CTR100 l STM32F4 l TB6612直流电机调速控制的更多相关文章

  1. 玩转X-CTR100 l STM32F4 l DRV8825 A4988 步进电机控制

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器控制步进电机 ...

  2. 玩转X-CTR100 l STM32F4 l ADC 模拟数字转换

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 AD转换接 ...

  3. 玩转X-CTR100 l STM32F4 l MPU6050加速度陀螺仪传感器

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 板载加速度 ...

  4. 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...

  5. 玩转X-CTR100 l STM32F4 l 舵机控制

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的舵机控制,X-CTR ...

  6. 玩转X-CTR100 l STM32F4 l 基础例程printf、LED、蜂鸣器、拨码开关、位带操作

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器基础板载资源 ...

  7. 玩转X-CTR100 l STM32F4 l PS2无线手柄

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] SONY的PS2无线手柄是索尼游戏机的遥控手柄,控制 ...

  8. 玩转X-CTR100 l STM32F4 l DSP指令集性能测试

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 DSP库的 ...

  9. 玩转X-CTR100 l STM32F4 l FPU单精度浮点性能测试

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器如何开启ST ...

随机推荐

  1. hdu 3415 Max Sum of Max-K-sub-sequence 单调队列优化DP

    题目链接: https://www.cnblogs.com/Draymonder/p/9536681.html 同上一篇文章,只是 需要记录最大值的开始和结束的位置 #include <iost ...

  2. BZOJ5168: [HAOI2014]贴海报 线段树

    Description Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论.为了统一管理,城市委 员 会为选民准备了一个张贴海报的electoral墙.张贴规则如下 ...

  3. StringUtils类常用的方法讲解

    StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...

  4. UVa 1614 奇怪的股市

    https://vjudge.net/problem/UVA-1614 题意:输入一个长度为n的序列a,满足1<=ai<=i,要求确定每个数的正负号,使得所有数的总和为0. 思路:贪心部分 ...

  5. vuex到底是个啥

    vuex总结 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的 ...

  6. Codeforces Beta Round #94 div 2 C Statues dfs或者bfs

    C. Statues time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  7. 《A_Pancers团队》作业5—团队项目需求改进与系统设计

    一:团队项目需求改进 1. <音乐播放软件需求规格说明书>的不足 在上周的<音乐播放软件需求规格说明书>我们还需要改进的地方有:1.搜索功能:2.界面的简洁美观化:3.按键的重 ...

  8. 基于Redis分布式锁(获取锁及解锁)

    目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题.分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency).可用性( ...

  9. URAL 1741 Communication Fiend

    URAL 1741 思路: dp 状态:dp[i][1]表示到第i个版本为正版的最少流量花费 dp[i][0]表示到第i个版本为盗版的最少流量花费 初始状态:dp[1][0]=dp[0][0]=0 目 ...

  10. mac 下安装mongodb

    转载自https://segmentfault.com/a/1190000002547229 概念 MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便. MongoD ...