SimpleFOC之ESP32(七)—— 霍尔电机
目录
- 一、霍尔电机介绍
- 二、ESP32drive控制霍尔电机
- 2.1、原理图
- 2.2、读霍尔角度
- 2.2.1、硬件准备
- 2.2.2、硬件连接
- 2.2.3、代码演示
- 2.3、控制霍尔电机
- 2.3.1、硬件准备
- 2.3.2、硬件连接
- 2.3.3、代码演示
- 2.3.4、与simpleFOCStudio的互动
- 三、ESP32drive-D控制霍尔电机
- 3.1、原理图
- 3.2、读霍尔角度
- 3.2.1、硬件准备
- 3.2.2、代码演示
- 3.3、控制霍尔电机
- 3.3.1、打开示例
- 3.3.2、修改代码
- 3.3.3、问题说明
- 3.4、控制双霍尔电机
- 问题总结分析
SimpleFOC教程目录:请点击
一、霍尔电机介绍
- 霍尔电机就是带霍尔传感器的直流无刷电机,下图
- 霍尔有两种安装方式,120度和60度,120度安装方式的稍微常见一些,下图
- 主要应用于车轮,特别是电动自行车,几乎都是霍尔电机,下图
- 如果是做机器人底盘,霍尔电机是个很好的选择;
- 如果是做机械臂或者高精度应用的,霍尔电机精度低不适合此类场景。
二、ESP32drive控制霍尔电机
2.1、原理图
2.2、读霍尔角度
2.2.1、硬件准备
序号 | 名称 | 数量 |
---|---|---|
1 | USB转串口 | 1 |
2 | ESP32drive | 1 |
3 | 霍尔电机 | 1 |
4 | 12V电源 | 1 |
5 | 杜邦线 | 若干 |
ESP32drive 购买链接:某宝购买
2.2.2、硬件连接
2.2.3、代码演示
- 打开示例
- 修改代码
- 用手转动电机轴,观察角度输出。如果极对数设置正确,刚好转一圈角度为6.28,
2.3、控制霍尔电机
2.3.1、硬件准备
序号 | 名称 | 数量 |
---|---|---|
1 | USB转串口 | 1 |
2 | ESP32drive | 1 |
3 | 霍尔电机 | 1 |
4 | 12V电源 | 1 |
5 | 杜邦线 | 若干 |
2.3.2、硬件连接
- 与上面的保持一致
ESP32drive 购买链接:某宝购买
2.3.3、代码演示
打开示例
修改代码
发送指令,控制电机转动
2.3.4、与simpleFOCStudio的互动
- 如果对simpleFOCStudio不熟悉,可以先阅读此文:SimpleFOCStudio安装使用说明及PID调试
- 上面修改代码已经给出了与simpleFOCStudio通信需要添加的代码,
- 下面的演示采用24V电压,增大电压可以达到更高的转速,
三、ESP32drive-D控制霍尔电机
3.1、原理图
- ESP32drive-D采用非对称电路设计,M1三个使能引脚,M2一个使能引脚,
- 霍尔信号设计的有上拉电阻,此时可以短路跳线(背面),
3.2、读霍尔角度
3.2.1、硬件准备
序号 | 名称 | 数量 |
---|---|---|
1 | USB转串口 | 1 |
2 | ESP32drive-D | 1 |
3 | 霍尔电机 | 1 |
4 | 12V电源 | 1 |
5 | 杜邦线 | 若干 |
ESP32drive 购买链接:某宝购买
3.2.2、代码演示
3.3、控制霍尔电机
3.3.1、打开示例
3.3.2、修改代码
3.3.3、问题说明
- ESP32drive-D的M1采用了三个使能引脚控制,就是为了实现方波控制,但是实际测试发现,Trapezoid_120和Trapezoid_150两种调制模式,检测的极对数总是不对。强行发送指令电机也可以转动,最高转速与SinePWM和SpaceVectorPWM调制模式差不多。
- 比如测试用的霍尔电机为2对极,如果用SinePWM和SpaceVectorPWM调制模式,检测是正常的,控制也是正常的;如果用Trapezoid_120和Trapezoid_150检测到的极对数是2.4。本人已经反复测试对比,更换了STM32F103C8T6和PowerShieldV0.2,检测到的极对数都是2.4,也可能是我用的不对,或者这部分代码有问题。
3.4、控制双霍尔电机
- 控制双霍尔电机在《SimpleFOC之ESP32(六)—— 双电机控制》的基础上修改,
- 控制效果不太好,双电机检测都正常,但是转动时有时会突然停止,或者两个电机都正常转动的时候,操作一个电机反转,另一个电机会停止。估计跟霍尔检测的中断配置有关,代码中霍尔信号全部是中断模式,这个问题暂时不深入研究,请大家避坑!
问题总结分析
- 问题:
- 1、Trapezoid_120和Trapezoid_150两种调制模式检测极对数不准确,不好用。暂时没有分析出原因。
- 2、单个霍尔电机控制,12V时偶尔会出现突然不转的现象,用示波器查看三相PWM波形已经变为全部是高电平;24V时出现突然不转的频率明显高于12V。
- 3、双霍尔电机控制非常不稳定。(双霍尔电机使用6个中断)
- 原因分析:
- 1、霍尔信号直接进入单片机,中间没有加滤波电路,工业用驱动器的霍尔信号都有阻容滤波设计。
- 2、霍尔信号使用中断模式,软件上也没有滤波处理。
- 3、查看SimpleFOC的底层代码,霍尔电机的处理方式是这样的:霍尔信号中断时更新一次角度,Trapezoid_120和Trapezoid_150根据角度产生方波;SPWM或者SVPWM根据角度产生矢量,如果电机是2对极,一圈12个霍尔信号,也就只有12个矢量。所以无论是方波控制,还是弦波控制,电角度每次都是跨60度,表现为电机振动大噪音大,也因此更容易产品干扰,所以同样是中断模式的ABZ编码器电机程序出问题的概率要小很多。
- 第3个问题与常见的FOC控制霍尔电机处理方式不一样,后续应该会升级。
(完)
欢迎加入simpleFOC技术交流群:923734429 群已满根据提示添加新群 (入群申请写:CSDN)
请继续阅读相关文章:
SimpleFOC之ESP32(一)—— 搭建开发环境
SimpleFOC之ESP32(二)—— 开环控制
SimpleFOC之ESP32(三)—— 闭环控制
SimpleFOC之ESP32(四)—— 电流闭环控制Inline
SimpleFOC之ESP32(五)—— 电流闭环控制Lowside
SimpleFOC之ESP32(六)—— 双电机控制
SimpleFOC之ESP32(七)—— 霍尔电机
SimpleFOC之ESP32(八)—— ABZ编码器电机
SimpleFOC之ESP32(九)—— WIFI、UDP和TCP
SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈
SimpleFOC之ESP32(七)—— 霍尔电机相关推荐
- SimpleFOC(九)—— 霍尔电机控制
目录 一.原理说明 1.1.霍尔电机 1.2.霍尔传感器 1.3.极对数 1.4.霍尔信号的连接 二.读取霍尔角度 2.1.硬件介绍 2.1.1.原理图 2.1.2.SimpleMotor方案 2.1 ...
- SimpleFOC移植STM32(八)—— 霍尔电机
目录 说明 一.霍尔电机 1.1.电机的种类 1.2.霍尔传感器 1.3.SimpleFOC的霍尔电机控制原理 二.电机驱动板103 2.1.读取霍尔角度 2.2.驱动霍尔电机M1 2.3.驱动霍尔电 ...
- SimpleFOC之ESP32(八)—— ABZ编码器电机
目录 一.增量式编码器介绍 二.ESP32drive控制霍尔电机 2.1.原理图 2.2.读编码器获取角度 2.2.1.硬件准备 2.2.2.硬件连接 2.2.3.代码演示 2.2.4.观察角度输出 ...
- SimpleFOC之ESP32(二)—— 开环控制
目录 注意事项 一.硬件介绍 1.1.原理图 1.2.ESP32drive方案 1.2.1.准备清单 1.2.2.硬件连接 1.3.SimpleFOCShield方案 1.3.1.准备清单 1.3.2 ...
- SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈
目录 说明 一.ESP-NOP 1.1.简介 1.2.硬件准备 1.3.代码演示 1.3.1.官方示例 1.3.2.代码改进简化 二.力矩反馈 2.1.Dagor项目介绍 2.2.ESP32drive ...
- SimpleFOC之ESP32(三)—— 闭环控制
目录 一.硬件介绍 1.1.原理图 1.2.ESP32drive方案 1.2.1.准备清单 1.2.2.硬件连接 1.3.SimpleFOCShield方案 1.3.1.准备清单 1.3.2.硬件连接 ...
- SimpleFOC之ESP32(六)—— 双电机控制
目录 说明 一.硬件介绍 1.1.原理图 1.2.ESP32drive-D方案 1.2.1.准备清单 1.2.2.硬件连接 1.3.SimpleFOCShield方案 1.3.1.SimpleFOCS ...
- SimpleFOC之ESP32(九)—— WIFI、UDP和TCP
目录 说明 一.网络通信 1.1.准备工作 1.2.UDP通信 1.3.TCP通信 二.硬件准备 三.代码参考 四.代码演示 4.1.WIFI_AP模式UDP通信 4.2.WIFI_STA模式TCP ...
- ODrive的操作演示——控制AS5047P、霍尔电机和轮毂电机
目录 说明 一.5008航模电机标配AS5047P 1.1.接ABZ接口 1.2.接SPI接口 1.3.无感模式 二.同时控制两个3505电机 三.霍尔电机 四.轮毂电机 ODrive.VESC和 ...
最新文章
- 有存款,才能过得更踏实
- Linux系统下 Apache+PHP 环境安装搭建
- 微信公众号文章中图片加载时,占位图宽高大小的确定
- matlab conv2
- 【Spark】SparkStreaming-加载外部配置文件
- android color列表,Android应用资源---状态颜色列表(Color State List)
- Zabbix篇四:钉钉机器人报警
- 浅析DNS劫持和HTTP劫持
- idea全局搜索替换快捷键
- 中国矿业大学计算机保研去向,喜报!中国矿业大学1065人被保研到北大、清华等校,名单已公布!...
- 微服务守护神-Sentinel-降级规则
- adbdriver的安装
- linux亮度调节指令,Linux Mint 亮度调节——xrandr命令学习
- 安卓手机上最好的3个txt阅读器
- shell中设置IFS,使用自定义分割符
- soj115 御坂网络
- JDBCUtils类的编写(创建连接,关闭连接)
- 编程路上,送给处于迷茫中的你和自己
- 安徽科技学院 信网学院网络文化节 刘洪江
- 深入浅出统计学读书笔记
热门文章
- (最详细)VueApp项目实战 - - 项目环境搭建
- Linux下利用protoc命令生成protobuf的头文件和源文件,根据mesType.proto文件
- vscode win10笔记本 蓝屏_Win10下为VSCode配置LaTex编辑器的方法
- 三国志2霸王的大陆单挑说服几率
- 计算机操作系统☞虚拟
- UOJ Round #20 T1 A. 【UR #20】跳蚤电话(组合数+树形DP)
- 性价比高的学生用台灯哪款好?推荐最适合学生用的台灯
- 硕果累累|善网*益加壹特训营公益媒体账号突破1000个
- 怎么把WPS文字自动替换直引号为弯引号?
- 基于ONENET云平台数据的MQTT协议的使用及模拟数据和搭建。