基于Simple FOC 和 ESP32的双路FOC控制器 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 基于Simple FOC 和 ESP32的双路FOC控制器

简介:基于ESP32的双路FOC控制器,代码采用开源的SimpleFOC,实现双路无刷电机的矢量控制。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2021-06-07 16:42:04
更新时间: 2024-04-22 13:06:59
描述

-----------------------------------------------------------------------------------------------------------

2021.07.14 Update:

       我的配套的驱动板也开源啦!感兴趣的筒子们快来!

<双路无刷FOC驱动_ESP32扩展板>

https://oshwhub.com/zdldcyy/l6234-shuang-lu-wu-shua-qu-dong_esp32-kuo-zhan-ban

-----------------------------------------------------------------------------------------------------------

BeKtCYCkBFHmg9WwCgHTtyvJlVFbQr9IegJLNILD.jpeg

Xvp6bZrh6rQiIrhPNO0csvpuXyDMFiFNoKnv8Qww.jpeg

l6tKMiqEkFk8JY0QnoynvlRcf1eGn5MWnRXdfRmQ.jpeg

        基于ESP32的双路FOC控制器,代码采用开源的SimpleFOC,实现双路无刷电机的矢量控制。支持两路IIC编码器,两路SPI编码器,同时两路IIC还可以复用为两路ABZ编码器!

 

        准备用在自己的无刷四足机器人上的。控制器和驱动器分开设计,采用板卡对插的方式,方便后期更换更大电流的驱动板。配套的驱动板稍晚些也会发出来~

        欢迎关注我的b站,板子的用法和部分代码也会在B站上更新,可以直接扫上面渲染图上的二维码直达我的主页吼吼~

       

我的B站:https://space.bilibili.com/423507600

SimpleFOC官网:https://simplefoc.com/

 

------------------------------------华丽分割~---------------------------------------

 

        简单介绍下板子设计,双层PCB,主控用的是esp32-wroom,淘宝上现在12块钱一个很便宜(对没错,stm32我就是针对你了)。带有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脚,直接召唤函数就行,简直比你妈还贴心有木有!

 

        顺便在这分享下我开源的磁编码器,都放在立创开源广场了:

1. AS5600 磁编码器 I2C接口和PWM接口

2. TLE5012B 磁编码器,SPI & ABZ/UVW输出

3. MA730高速磁编码器,支持SPI & ABZ & SSI & PWM接口

        排母边上还有一个3pin(新版改为2pin)的小连接器,是CAN通讯接口,预留后面用的,暂时还没测试,一直用的uart接口。有能力的同学可以测试下,我还没用过CAN。。

 

-------------------------------再次割割---------------------------------------

        

使用/测试注意点:

       1. Type-c usb转串口我只设计了一边有用(因为layout不方便),所以插上去电脑没识别串口的话就转个向再插进去就可以了。还预留了uart接口直接接出,在usb口背面,可以通过这个口和其他板子通讯和供电。 2021.07.09更新:新板子把两边都连上了,不用担心插错的问题了欧耶~

       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~

可怜的第一版,上电一次就gg了

---------------------------------------------------------------------------------------------------------------------------

2021.06.01——目前板子已验证的功能:

       1. 两路AS5600 I2C接口编码器通讯。

       2. 两路UVW编码器输入。

       3. 两个4010无刷电机的开环速度,位置,电压控制;两个电机闭环速度,电压,位置控制。

       4. 单路无刷电机的电流环控制,另一路可能驱动板有点问题,还没搞好。

------------------------------------------------------------------------------------------------------------------

2021.06.28——板子的I2C和spi接口添加了滤波器和匹配电阻设计,为了解决编码器线缆过长时(我的编码器线长30cm。。。)会有干扰导致数据出错的问题

    板子已经在路上了,验证好之后我会传上来,附件里的还是旧的gerber,暂时先不要下载。

siysosRNs6nm6j7bkfYhkMowR2InM6bTXoIKkf5m.png

---------------------------------------------------------------------------------------------------------------------------

2021.07.09更新:

        1. 上面设计的滤波电路测试下来效果不错,ABZ输入的信号再也没有乱七八糟的波动了。如果当I2C接口用的话需要注意一点下图中的C4和C8两个电容,如果你的编码器的线很长的话可能要把这两个拆掉。这个和I2C的协议规则有关。I2c规定总线的寄生电容值不超过400pf,寄生电容高了的话会影响信号上升沿时间,导致速度下降,或者出错。另外,降低上拉电阻的阻值也可以提升I2C的上升/下降沿时间,要根据自己的速率要求(低速100KHz,高速400kHz)来考虑。

hNQnGedV3rzghdVwixFgcITkb2gOvSgAboUUUDSZ.png

    

        2. Spi接口还未测试,编码器可能被家里的猫叼走了。。。

--------------------------------------------------------------------------------------------------------------------

2021.07.14 Update:

        小更新,测试了SPI编码器MA730,可以用。

        另外,我的配套的驱动板也开源啦!感兴趣的筒子们快来!

<双路无刷FOC驱动_ESP32扩展板>

https://oshwhub.com/zdldcyy/l6234-shuang-lu-wu-shua-qu-dong_esp32-kuo-zhan-ban

-----------------------------------------------------------------------------------------------------------------------

2021.09.05 Update:

增加了IBOM,方便自己smt的同学。用浏览器打开html文件即可

 

-----------------------------------------------------------------------------------------------------------------------

 

后续会上传测试视频,有变动会继续更新。

 

        #后续就连着我的狗腿子一起测试啦,有兴趣的来b站一起讨论。

 

声明:本电路板仅个人兴趣开发,不对任何bug,炸板,烧电容负责,有问题可以反馈,毕竟我也不是渣男。

此致

解散!

文档

1652×1170

PCB

1122×793

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP