做网站云服务器还是云虚拟主机,河北利用关键词优化网页,怎么进入自己网站主机地址,可以做设计的网站有哪些目录 stm32电路磁编码器电路电机驱动电路电流采样电路电机选择本文示例硬件说明 为了承载和验证本文的FOC代码工程#xff0c;本节设计了一个简易的三相无刷电机
硬件套件#xff0c;主控采用非常常用的stm32f103c8t6单片机#xff0c;电机编码器采用MT6701#xff0c;电机… 目录 stm32电路磁编码器电路电机驱动电路电流采样电路电机选择本文示例硬件说明 为了承载和验证本文的FOC代码工程本节设计了一个简易的三相无刷电机
硬件套件主控采用非常常用的stm32f103c8t6单片机电机编码器采用MT6701电机采用22xx系列云台电机驱动电路采用集成驱动芯片DRV8313电流传感器采用INA199A1在线采样。 该
硬件套件使用无工具快拆装设计到手即可直接快速手拧安装拆卸。 接下来对各个模块进行设计讲解 stm32电路
stm32f103c8t6可以说是学习stm32中最热门和常见的一颗芯片网络上的配套资料非常丰富某宝上的成品最小系统板的价格也非常便宜当你不确定是电路问题还是代码问题时可以快速地低成本地使用最小系统板进行验证本文使用其作为主控芯片。 如果你自行进行芯片选型时注意不要选择同样热门的stm32f103c6t6实测Flash容量不足以运行本文的FOC代码。 晶振电路 该电路是单片机运行的必要条件 boot选择电路 该电路非必须但是最好保留以防万一程序里将烧录引脚当成普通IO口进行了控制导致无法通过J-Link、DAPLink等进行烧录而只能使用ISP烧录。stm32的boot0和boot1引脚输入可以控制程序启动方式对应关系如下
boot0电平boot1电平启动方式0任意正常启动即在主flash启动10芯片出厂时自带一个bootloader用于串口烧录程序启动该bootloader程序即ISP烧录11在ram启动
一般不使用在ram启动因此从上表来看只需要将boot1直接接地控制boot0位的输入电平即可使用ISP烧录。 将boot0下拉处理实现默认输入为0默认正常启动
SWD调试信号 单片机烧录调试可选择SWD接口或JTAG接口JTAG除了电源线需要接入JTCK引脚、JTDI引脚、JTDO引脚、JTMS引脚而SWD除了电源线只需要接入SWCLK引脚和SWDIO引脚常用的J-Link、DAPLink等调试器都支持SWD接口。本文使用SWD接口并且使用超低成本的开源调试器DAPLink。该调试电路直接引出即可 复位电路 LED电路 放置一个IO控制的LED灯方便程序里某些情况下用作指示灯。 PWM输出信号 用于输出FOC产生的PWM信号到电机驱动桥直接引出即可。本文的硬件套件电路板将该三个信号引出方便接示波器同时这里的PA9和PA10也是ISP烧录的引脚。 接入PWM的刹车引脚 SPI信号 用于读取MT6701磁编码器直接连线即可。 调试串口信号 一个串口用于调试直接引出即可。 ADC信号 用于电流采样信号采集直接连线即可注意ADC外设的通道是对应固定引脚的不能随便接。
磁编码器电路
本文使用MT6701磁编码器该编码器价格比常用的AS5600稍贵但是支持SPI角度读取。 经过我实测stm32f1系列的I2C外设确实存在硬件bug使用硬件I2C读取AS5600时经常会陷入busy状态因此本文使用支持SPI读取的MT6701。 MT6701供电电压可以是3.3V或者5V这里使用了5V进行供电因为MT6701数据手册中有写要操作内部EEPROM时供电电压在4.5V到5V之间。不过一般也不操作内部EEPROM操作内部EEPROM需要使用I2C方式由于这里使用了SPI接口万一要操作时请使用软件I2C。
电机驱动电路
为了方便学习验证FOC算法本文选择集成驱动芯片DRV8313该芯片内部有3个半桥驱动以及保护电路可以减少对驱动设计的要求以及防止损坏器件。 该芯片自带的过流保护和相线短路保护非常有用如果使用MOS管搭建的驱动桥进行驱动在刚开始学习验证FOC算法的时候比较容易烧毁MOS管我就烧毁过MOS管好几次。 但是该芯片驱动电流不是很高每个电机相线最高峰值输出2.5A电流对于学习验证阶段足够了。
电流采样电路
为了方便在定时器任意溢出时刻采样将电流采集位置设计在电机相线上采样时刻请查看前文adc外设的高级用法。 电流采样是放大采样电阻两端电压后输入单片机ADC引脚再根据欧姆定律反算得到的。例如假设
运算放大器放大倍数是50倍输出大于1.65V代表正向电流小于1.65V代表负向电流。采样电阻是0.02Ω。单片机ADC读到的电压是0.65V。 那么流经该相线的电流为(1.65-0.65)/50/0.021A。
本文电流传感器选择INA199系列该电流传感器相对于更常用INA240系列的价格低很多INA240大约是10元一片INA199具有26V的共模电压采集相线上的采样电阻两端电压没有问题就是参考电压需要输入1.65V会麻烦一点。 这里选择INA199A1放大倍数是50倍。
电机选择
由于DRV8313驱动电流有限因此最好选择绕组电阻高一点线电阻10Ω以上的电机不要使用航模电机这里使用2208云台电机。云台电机与航模电机主要的区别就是绕组铜线匝数不一样云台电机匝数多因此绕组电阻大、磁感应强度大、相同电流产生的力矩大大概小于200KV的航模电机也就能称为云台电机了。 经过我的测试使用1000KV的2208航模电机在DRV8313驱动下位置环的力矩比较微弱速度环勉强能运行总之不适合DRV8313驱动当然由于DRV8313自带过流保护因此使用很低绕组电阻的航模电机也不会烧毁驱动。 下图左边是2208云台电机右边是2208航模电机
本文示例硬件说明
为了学习验证本文的FOC算法我按照上述电路设计了一个简单的集成了磁编码器、电机驱动、单片机的ALL-IN-ONE验证板。
支持位置环、速度环、电流环力矩环。无需接线无需找对应引脚安装好电机后只需外接一根电源线和一根Type-C线使用适配DAPLink盲插即可工作。使用全手拧设计全程无需螺丝刀等工具到手即可快速手拧安装和拆卸。引出多个接口磁编码器的SPI接口、三相PWM信号线、多个低压电源口方便抓取波形等操作。适配实验用大平台底座电机调试过程中底座稳定不摇晃。自带电机电源开关一键关闭电机电源及时制止失控。