本文作者:立创开源硬件平台 OSHWHub 用户@小路,禁止商用,未经许可禁止转载,点击查看原文章
1、工程描述
基于ESP32的双路FOC控制器,代码采用开源的SimpleFOC,实现双路无刷电机的矢量控制。支持两路IIC编码器,两路SPI编码器,同时两路IIC还可以复用为两路ABZ编码器!
准备用在自己的无刷四足机器人上的。控制器和驱动器分开设计,采用板卡对插的方式,方便后期更换更大电流的驱动板。配套的驱动板稍晚些也会发出来~
2、图片展示
简单介绍下板子设计,双层PCB,主控用的是esp32-wroom。带有Type-c usb转串口通讯,且带有自动下载电路,不需要手动按两个按键啦!两边是标准的2.54的10pin排针,很便宜也很好买。而且上面的信号是对称分布的,你可以正面插入,也可以从后面插入,哎呀反正就是什么姿势都可以的啦!
偷偷告诉你,嫌整体高度高的话还可以选择背靠背贴身插入(老脸都不要了!)
板子下方的四个连接器是编码器接口,从左至右分别为I2C1, SPI1, SPI0, I2C0. 这两个I2C是相互独立的两路,互不干扰,也就是说同时接两个as5600也没问题(众所周知,as5600的单I2C地址很坑)。注意这两个I2C我都没有加外部上拉,因为我的磁编码器板子都是加了上拉的,所以不在主板上加了,而且esp32 本身就可以设置上拉,更没必要了。
剩下两个中间的接口是spi接口,这两个是共用一个spi口的,两个cs使能。这样就可以同时使用两个spi接口的编码器了,比如后面开源的TLE5012B,后期还会开源MA730,都可以直接使用。
什么? 你说你只有ABZ输出的编码器?这。。。这也完全没问题啊, 得益于esp32 的IO全自定义功能,两个I2C接口可以在软件里直接改成ABZ输入,这样就可以直接接ABZ的编码器了,就问你贴心不贴心!
还有,I2C0 和SPI都用的arduino默认pin脚,代码里都不用指明I2C/SPI使用的pin脚,直接召唤函数就行,简直比你妈还贴心有木有!
顺便在这分享下我开源的磁编码器,都放在立创开源广场了:
2. TLE5012B 磁编码器,SPI & ABZ/UVW输出
3. MA730高速磁编码器,支持SPI & ABZ & SSI & PWM接口
排母边上还有一个3pin(新版改为2pin)的小连接器,是CAN通讯接口,预留后面用的,暂时还没测试,一直用的uart接口。有能力的同学可以测试下,我还没用过CAN。。
使用/测试注意点
1. Type-c usb转串口我只设计了一边有用(因为layout不方便),所以插上去电脑没识别串口的话就转个向再插进去就可以了。还预留了uart接口直接接出,在usb口背面,可以通过这个口和其他板子通讯和供电。
2. 板子的电源输入有两个源,一个是驱动板的电源(12V~24V)通过排针到主板,再经过DCDC & LDO转成5V & 3.3V;二是通过usb的5v给板子供电,两个可以同时连接,有个二极管保护usb防止倒灌电流。
3. 用驱动板的12V/24V作为电源时,需注意D2这个TVS二极管,目前设计上用的12V的TVS,要用24V电源的话需要换成24V的tvs管子。
测试代码有问题的话可以用我b站上的代码先试一下。
#可怜的第一版,上电没几次就GG了,默哀0.1s~
2021.06.01——目前板子已验证的功能:
1. 两路AS5600 I2C接口编码器通讯。
2. 两路UVW编码器输入。
3. 两个4010无刷电机的开环速度,位置,电压控制;两个电机闭环速度,电压,位置控制。
4. 单路无刷电机的电流环控制,另一路可能驱动板有点问题,还没搞好。
后续会上传测试视频,有变动会继续更新。
#后续就连着我的狗腿子一起测试啦,有兴趣的来b站一起讨论。
声明:本电路板仅个人兴趣开发,不对任何bug,炸板,烧电容负责,有问题可以反馈,毕竟我也不是渣男。
B站:https://space.bilibili.com/423507600
SimpleFOC官网:https://simplefoc.com/
3、文档
工程附件
本文作者:立创开源硬件平台 OSHWHub 用户@小路,禁止商用,未经许可禁止转载
SX32Y025000BK1T003/无源晶振 | 0.222 | |
XO32C008000GDHE001/有源晶振 | 1.46 | |
XO32C024000GBHE003/有源晶振 | 1.46 | |
SX32Y008000BC1T001/无源晶振 | 0.5772 | |
SX32Y012000BK1T005/无源晶振 | 0.2331 | |
GRM21BZ71E106KE15L/贴片电容(MLCC) | 0.27694 | |
GRM188Z71A106KA73D/贴片电容(MLCC) | 0.210359 | |
GRM188Z71C475KE21D/贴片电容(MLCC) | 0.2402 | |
ATMEGA48PA-AU/单片机(MCU/MPU/SOC) | 6.17 | |
GRM035R60J475ME15D/贴片电容(MLCC) | 0.162562 |
50万+现货SKU
品类不断扩充中
科技智能大仓储
最快4小时发货
正品有保障
物料可追溯
明码标价节省时间
一站式采购元器件