给王八用的轮毂和履带电机是997直流有刷减速电机,本文记录该电机的调试过程。

硬件信息

电机

电机的淘宝链接:997暴力直流行星齿轮减速电机24V12低速大扭力正反转可调中轴马达-淘宝网 (taobao.com)

选用的是24V235转/分钟(rpm)版本,具体参数如下表:

参数名称 参数值
额定输入电压(V) 24
输入电流(A) 15-20
减速比 51
减速级数 3
减速器长度(mm) 58.4
空载转速(rpm) 235
额定转速(rpm) 215
额定转矩(N.m) 15
最大瞬间允许负载(N.m) 25

电机实拍图片如下:

电机一头有两个突出的铜片(?可能是铜),是电机的两相,MOTOR+和MOTOR-

电机驱动

电机驱动的淘宝链接:电机驱动模块 大功率H桥驱动 直流电机驱动器 30A单路(特价版)-淘宝网 (taobao.com)

由于997电机需要用15-20A的电流,通过的电流较大。在此前提条件下,挑选了这款额定电流最大可达30A的直流电机驱动模块,而且该模块还可以通过PWM来调速,非常容易通过单片机来控制,符合我们的需求。

驱动模块的参数如下表:

参数名称 参数值
尺寸(mm) 60*42
额定电流(A) 最大30
峰值电流(A) 60
输入电压(V) 12~30
控制频率(KHz) 最高60

驱动模块的实拍图片如下:

控制器

控制器使用的是STM32F103ZET6芯片的开发板,是正点原子的精英开发板

淘宝链接:正点原子精英STM32开发板F103ZET6入门学习套件ARM嵌入式 单片机-tmall.com天猫

实拍图片:

仿真器

仿真器使用的ST-link

实拍图片:

调试过程

回路连通

首先是焊线,实现整个回路的连通

  1. 电机的两相MOTOR+和MOTOR-焊上线,12AWG,红色接MOTOR+、黑色接MOTOR-
  2. 驱动模块的电源线焊上,12AWG,红正黑负

然后将电机和驱动连接,驱动和电源连接:

然后将单片机的引脚与驱动模块用杜邦线连接,2个控制转向的引脚,1个GND,1个5V,1个PWM脉冲输入。

程序测试

PWM频率为15KHz,占空比50%:

997直流无刷减速电机调试_15KHz占空比50%

PWM频率为15KHz,占空比87.5%:

997直流无刷减速电机调试_15KHz占空比87.5%

PWM的频率为15KHz,占空比从0到50%的测试:

997直流无刷减速电机调试_15KHz占空比0-50

PWM的频率为30KHz,占空比为50%:

997直流无刷减速电机调试_30KHz占空比50%

PWM的频率为50KHz,占空比为50%:

997直流无刷减速电机调试_50KHz占空比50%

占空比增加会使得电机转速增大;增大频率并不会对转速造成影响,只要占空比一样转速就一样。从15KHz到30KHz电流减小了0.1A,但是从30KHz到50KHz电流没有减小,推测频率和电流大小没有明显关系。

转向测试:

997直流无刷减速电机调试_转向测试

转向比较顺利,但是转向时由于突然的变向会有一瞬间的大电流以及比较剧烈的抖动。

刹车测试:

997直流无刷减速电机调试_刹车测试

库文件

/*** @brief     997直流减速电机库文件* @author    JYS* @date      20230227* @details   997直流减速电机的驱动库文件,不止可以用于997电机,其它使用PWM控制的电机也可以使用* @attention !使用之前根据自己使用的PWM和GPIO的引脚修改或添加宏定义,并对函数实现做添加或修改*            !根据设定的ARR值修改PULSE_MAX宏定义,PULSE_MAX的值应为ARR值的98%(驱动限制)*/
#include "tim.h"
#include "gpio.h"#define HTIM htimx
#define TIM_CHANNEL1 TIM_CHANNEL_x
//add more channel macros below
#define GPIO_PORT1 GPIOx
//add more GPIO_PORT macros below
#define GPIO_PIN1 GPIO_PIN_x1
#define GPIO_PIN2 GPIO_PIN_x2
//add more GPIO_PIN macros below
#define PULSE_MAX  //add a value here/*** @brief   初始化997电机* @return  None* @details 开启对应TIM对应通道的PWM* */
void init997Motor()
{HAL_TIM_PWM_Start(&HTIM, TIM_CHANNEL1); //start PWM of motor//add more "HAL_TIM_PWM_Start" below
}/*** @brief   997电机正转* @return  None* @details 修改对应引脚的高低电平;这里写的A1为1,A2为0对应正转,使用时可根据实际效果修改* */
void rotate997MotorForeward()
{HAL_GPIO_WritePin(GPIO_PORT, GPIO_PIN1, GPIO_PIN_SET);   //A1HAL_GPIO_WritePin(GPIO_PORT, GPIO_PIN2, GPIO_PIN_RESET); //A2//add more "HAL_GPIO_WritePin" below
}/*** @brief   997电机反转* @return  None* @details 修改对应引脚的高低电平;这里写的A1为0,A2为1对应正转,使用时可根据实际效果修改* */
void rotate997MotorBackward()
{HAL_GPIO_WritePin(GPIO_PORT, GPIO_PIN1, GPIO_PIN_RESET); //A1HAL_GPIO_WritePin(GPIO_PORT, GPIO_PIN2, GPIO_PIN_SET);   //A2//add more "HAL_GPIO_WritePin" below
}/*** @brief   997电机刹车* @return  None* @details 引脚都设低电平* */
void brake997Motor()
{HAL_GPIO_WritePin(GPIO_PORT, GPIO_PIN1, GPIO_PIN_RESET); //A1HAL_GPIO_WritePin(GPIO_PORT, GPIO_PIN2, GPIO_PIN_RESET); //A2//add more "HAL_GPIO_WritePin" below
}/*** @brief     设定997电机速度* @param     pulse 设定的pulse值,范围[-PULSE_MAX,PULSE_MAX]* @return    None* @details   根据输入的pulse的正负判断方向,然后设定pulse值,改变占空比,从而改变速度* @attention !根据电机数量增加参数个数*/
void set997MotorSpeed(int pulse)
{//限幅if(pulse >= PULSE_MAX)pulse = PULSE_MAX;else if(pulse <= -PULSE_MAX)pulse = -PULSE_MAX;//add more limits here according to param number//判断方向if(pulse >= 0){//正转rotate997MotorForeward();//设定pulse__HAL_TIM_SetCompare(&HTIM, TIM_CHANNEL1, pulse);}else if(pulse < 0){//反转rotate997MotorBackward();//设定pulse__HAL_TIM_SetCompare(&HTIM, TIM_CHANNEL1, -pulse);}//根据参数个数,添加更多设定pulse
}

997直流有刷减速电机调试相关推荐

  1. 直流有刷减速电机结构及其工作原理

    寒假无聊拆了个直流有刷减速电机.下面介绍一下它的结构和工作原理 直流电机 直流电机和直流减速电机: 构造上相差的是一个减速齿轮组. 普通的直流电机当空载时,电机的转速由电压决定,直流减速电机的转速由齿 ...

  2. 直流无刷减速电机PID控制

    最近做了直流无刷减速电机的控制的项目,针对项目中遇到的问题做下总结. #PID_Control PID 代码(速度环 位置环 串级) STM32F407VET6 STM32CubeMX 更新记录 V1 ...

  3. 基于CANOpen协议驱动直流无刷减速电机

    1.硬件连接 硬件连接没什么复杂的,就连接对应的线即可,下面是我画的一个简单的电气连接图 2.上位机配置 上位机主要配置驱动器节点ID,波特率,心跳,CAN驱动.我用的是科亚的上位机和蓝玖的电机.使用 ...

  4. TMC4671基于硬件FOC伺服电机控制芯片适应BLDC/PMSM、两相步进、直流有刷、音圈电机

    TMC4671基于硬件FOC伺服电机控制芯片适应BLDC/PMSM.两相步进.直流有刷.音圈电机 全球领先的嵌入式运动控制公司德国TRINAMIC MOTION CONTROL 将于近期推出其最新的伺 ...

  5. 松下伺服电机pwm控制连线_TMC4671基于硬件FOC伺服电机控制芯片适应BLDC/PMSM、两相步进、直流有刷...

    全球领先的嵌入式运动控制公司德国TRINAMIC MOTION CONTROL 已经推出最新的伺服控制芯片TMC4671 TMC4671_datasheet_v1.03.pdf 5M · 百度网盘 T ...

  6. 硬件FOC伺服控制芯片TMC4617适应永磁同步伺服/直流无刷伺服/直流有刷伺服/闭环步进/音圈电机

    硬件FOC伺服控制芯片TMC4617适应永磁同步伺服/直流无刷伺服/直流有刷伺服/闭环步进/音圈电机 全球领先的嵌入式运动控制公司德国TRINAMIC MOTION CONTROL 将于近期推出其最新 ...

  7. 国产单通道直流有刷马达驱动芯片型号推荐

    直流有刷马达驱动芯片是一款适应消费类.工业类的单通道直流有刷驱动IC,适用于各类玩具,智能家居,智能三表.小封装,低功耗,内置完善的保护机制(过温/过流/过压).具有一个PWM(INA/INB)输入接 ...

  8. pwm 正弦波_CC6420 低噪声,高效率,5V/12V 450mA 单相正弦波直流无刷马达驱动

    特性  内置可调增益高灵敏度霍尔传感器  效率高,采用控制专利技术实现零电流换相(ZCS)和零磁场换相(ZBS)  噪声低,采用SVPWM 技术实现对电机的正弦波控制,降低了电磁噪声  PWM ...

  9. 频率计的交流耦合和直流耦合的区别_风机盘管直流无刷与普通交流电机有什么区别和不同?...

    注:水舒适整理原创,转载请注明出处,面斥不雅直流无刷风机盘管由于具有节能.无级调速.安静.寿命长等优点,所以在许多新建项目中都被广泛应用,并且也越来越得到市场的认可与青睐.那么,直流无刷风机盘管与普通 ...

最新文章

  1. HashMap的容量(桶的数量)为什么要是2的n次方
  2. C# 枚举在项目中的应用总结
  3. 链家java_链家2018春招Java工程师编程题题解
  4. mysql-workbench运行存储过程
  5. 什么事计算机事实性知识,《人工智能》复习要点
  6. PCM设备是做什么的? PCM作用是什么?
  7. php 编程祝新年快乐_第一门编程语言选什么好?
  8. 链表的简单操作-----删除,添加,查找(Xcode)
  9. IDEA中控制台中文乱码问题
  10. PSP联机插件pro online
  11. 一、TI毫米波雷达系列——硬件加速器(HWA)
  12. mac mysql 移动硬盘_MAC上安装Fuse for macOS以支持读取NTFS格式的移动硬盘
  13. Salesforce chatter:userPhotoUpload Component 使用
  14. rosbag库的安装
  15. 原生js实现购物车添加删除商品、计算价格功能
  16. c++ - 信息学奥赛一本通答案1001
  17. VIL-100视频车道线实例数据集格式转换
  18. python练习题:英汉字典
  19. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之二、会中智能
  20. 【矩阵乘法】行为方案

热门文章

  1. 新学期 新开始 新追求
  2. table 'mysql.proc' doesn't exist问题解决
  3. Flask教程(五)GET和POST
  4. PHPEXCEL导出复杂模板和填充的使用
  5. Vue基于Cordova调用相机
  6. 如何选性价比高的笔记本电脑,戴尔灵越16 Plus怎么样?
  7. tree traversal (树的遍历) - 层序遍历 (level order traversal) - 二叉树的层序遍历
  8. Gihosoft TubeGet
  9. 学会自己测天气系列八卦基础---03
  10. 第39次全国计算机二级vb全真模拟考试系统,计算机等级考试二级VB全真模拟试题...