发作品签到
标准版

【FOC】无刷电机驱动器ODrive AP1.0-DRV8303版

工程标签

6.7w
0
0
44

简介

【ART-Pi】无刷电机驱动器ODrive AP0.3的分支

简介:【ART-Pi】无刷电机驱动器ODrive AP0.3的分支
创建时间:2021-06-01 13:06:05更新时间:2022-02-24 08:21:24

描述

image.png
(图源:网友@路佳)

写在前面

1、可以直接刷官方ODrive 3.6-24V固件,与官方OD 3.6使用方式无异

2、已测试大部分功能,可以直接打板(打样前最好克隆一次工程,并且保留导出的gerber文件,方便检查硬件问题,导出gerber前最好做下DRC,有报错请自行修改或联系我修改)

简介

本项目基于ODrive的V3.6硬件,为 ART-Pi 拓展板(也适用于 树莓派 Raspberry Pi ——只焊接P1拓展引脚),能实现两路无刷电机闭环控制,具有用于人机交互的屏幕和五向开关

交流群1:778255240

交流群2:851421965

交流群3:732557609

交流群4:957377627(我的群,希望准备打板子的小伙伴能加群,会及时通知修改状况——尤其是BUG)

Layout

image.pngimage.png

项目说明

本项目以学习为目的,对ODriver的硬件进行了重构以契合ART-Pi,拟驱动对象为小功率无刷电机

ART-Pi通过串口配置并使用串口或方向/脉冲信号或PWM信号控制拓展板

相较于原项目,删除了功率耗散电阻电路但预留了拓展接口

增加了1.14' IPS屏幕和五向开关,可选择二者由ODrive使用还是ART-Pi使用

最初打算移植ODrive至ART-Pi,直接驱动,但受限于IO功能,退而求次

草草布线,继续优化中

(当前版本可直接刷官方固件实现基本功能,4月7日前做的板子有BUG,需要修改固件)

拓展板:

https://oshwhub.com/Knight_Sin/abcd_copy

编码器:

https://oshwhub.com/Knight_Sin/art-pi-2312s-bian-ma-qi

计划中的任务

1、接口测试

(1)外部接口

1) SPI编码器接口

2)CAN接口

3) PWM输入 √

4) S/D输入 √

4) 电压输入

(2)ART-Pi接口

1) UART接口 √

2) PWM输入 √

3) S/D输入 √

4) 电压输入

2、LCD多级菜单

(1)FLSAH字库

(2)GUI设计

(3)多级菜单

修改记录

1、(2021年1月19日02点07分)Motor0的DRV8301的BUCK电路是多余的,将其改造为输出12V,为功率耗散电阻电路(VGS)供电

image.png

2、(2021年1月20日23点46分)整理了走线和丝印,引出了AVCC为刹车电阻电路温度采样电路供电,第一版PCB定稿,板子名称暂定ODrive AP,当前版本号0.1,全称ODrive AP试做一型

3、(2021年1月25日16点53分)将47uF/35V的钽电容换成1812封装的47uF/35V的MLCC

4、(2021年2月4日17点28分)调整了采样电阻部分的走线

5、(2021年2月6日22点12分)增加了硬件复位按钮

6、(2021年2月14日20点49分)尽量引出了剩余的IO;增加了一片W25Q32,意图将设置保存在W25Q32中

7、(2021年3月1日15点13分)确认了五向开关封装错误,已修正,如果已经打板,可以将五向开关底部大的定位柱削去然后旋转180°焊接

// 8、(2021年3月5日02点45分)将屏幕的CS/SDA/SCL连接至STM32F4xxVGT6的SPI5的位置(405没有SPI5,拟替换为412)(仔细考察了下,发现412和405引脚竟然不兼容,如若修改,牵涉范围过大,是否替换还需慎重考虑)

8、(2021年3月18日19点58分)将MCU复位引脚引出到ART-Pi接口,以满足ART-Pi强制复位驱动器的需求

9、(2021年3月19日01点57分)对接口进行了拆分,将原14P的座子拆成2个PWM或STEP/DIR或模拟信号输入接口、2个SPI接口(可接入SPI编码器)、一个UART接口,将CAN接口以XH2.54的插座形式引出而非原来的排针;大幅度修改了走线,目前只是连通,还需要进一步优化;调整了部分丝印(尚未完成)。(工作还在进行中,如果发现工程正在被编辑请暂时不要克隆,平时会切换回发布版本)

10、(2021年3月19日20点02分)第二版PCB定稿,当前版本号0.2

11、(2021年3月20日22点05分)为nFault、EN_GATE增加了测试点

12、(2021年4月5日00点50分)修复了一个BUG:axis1的DRV8301的SP2意外地联通到底层PGND铜皮

13、(2021年4月7日00点07分)修复了一个BUG:M1_SO1/M1_SO2连接顺序错误

14、(2021年4月8日20点15分)调整了IN0/IN1接口的顺序(PCB仅仅修改丝印),以符合使用习惯

15、(2021年4月13日20点44分)调整了IN0/IN1/CAN接口的引脚顺序,使之更符合使用习惯;修改IN0/IN1接口的电源为5V,此引脚通常应该不接,但若是使用单一电源供电,可以由此端口給控制板供电

16、(2021年4月29日18点29分)电流采样方式由单端采样修改为差分采样;增加3.3V/A3.3V/5.0V/12.0V测试点,并为所有测试点增添丝印;新增NRST复位引脚,连接到ART-Pi的PA15引脚,保留旧复位引脚连接,以兼容旧版程序;替换1117为RT9193-33;改变设计思想,以实用为主,新增部分接口说明说明丝印;提升版本号为 0.3

17、(2021年5月4日18点55分)修复一个bug,RT9193-33的EN脚有效电平错误,应为高电平使能

18、(2021年5月31日19点12分)DRV8303+TPS54160替换DRV8301,程序完全兼容,无需改动,稍后会新建一个工程将8301版本和8303版本分开

19、(2021年7月11日19点10分)移除了一侧拓展接口;交换了12v/5v buck电路的位置;增加了功率耗散电路(选择焊接);移除了原来的功率耗散电路接口;增加了用于使用排线连接的屏幕的FPC座子(选择焊接);修改SWD接口为2.54排针;修改晶振为有源晶振

调试记录

https://blog.csdn.net/qq_17459305/article/details/115522151

ODrive项目简介

ODrive是一个基于STM32的高性能FOC伺服驱动器,其可以同时驱动两个无刷电机,早期被大量使用与3D打印机或自制CNC电气系统的设计中,知名极客James Bruton使用其作为大部分自己制作机器人伺服驱动的核心单元,之前Stanford开源的8自由度四足机器人Doggo同样也采用了Odrive作为核心的驱动器。[1]

官网:https://odriverobotics.com/

固件:https://github.com/odriverobotics/ODrive

硬件:https://github.com/madcowswe/ODriveHardware

文档:https://docs.odriverobotics.com/

image.png

参考文献

[1]高性能开源伺服器ODRIVE - 电机与控制 - CSDN

优质资料推荐

CSDN博主:codenocold

应用篇

ODrive应用 #1 ODrive入门指南 - codenocold - CSDN

ODrive应用 #2 odrivetool入门指南 - codenocold - CSDN

ODrive应用 #3 odrive_gui入门指南 - codenocold - CSDN

ODrive应用 #4 配置参数&指令 - codenocold - CSDN

ODrive应用 #5 输入接口 - codenocold - CSDN

ODrive应用 #6 编码器 - codenocold - CSDN

ODrive应用 #7 控制器&参数整定- codenocold - CSDN

ODrive应用 #8 平衡车轮毂电机和遥控器设置指南- codenocold - CSDN

ODrive应用 #8(疑误) 故障排除- codenocold - CSDN

干货篇

ODrive干货 #1 Windows下开发环境搭建 - codenocold - CSDN

ODrive干货 #2 Ubuntu下开发环境搭建 - codenocold - CSDN

ODrive干货 #3 ODriveTool 指令大全 - codenocold - CSDN

ODrive干货 #4 为什么无刷电机电流和电源电流不同 - codenocold - CSDN

实例篇

ODrive实例 #1 电机配置实例(4250-520KV + TLE5012B-E1000) - codenocold - CSDN

ODrive实例 #2 电机配置实例(小米9号平衡车轮毂电机) - codenocold - CSDN

开发篇

ODrive开发 #1 ODrive固件开发指南 - codenocold - CSDN

ODrive开发 #2 配置Visual Studio Code开发环境 - codenocold - CSDN

ODrive开发 #3 配置Eclipse开发环境 - codenocold - CSDN

其他篇

ODrive 通讯协议 - codenocold - CSDN

ODrive ASCII格式协议 - codenocold - CSDN

B站UP:唐老师讲电赛

开源ODrive直流无刷电机BLDC控制系统,基于DRV8301与STM32F405的FOC伺服驱动器硬件介绍 - 唐老师讲电赛 - bilibili

基于DRV8302与STM32F405的开源VESC直流无刷电机BLDC控制系统,L6234与Arduino的SimpleFOC,ODriveFOC伺服驱动器 - 唐老师讲电赛 - bilibili

基于DRV8323RH与STM32F446RET6的开源四足机器人FOC驱动电路 - 唐老师讲电赛 - bilibili

完美驯服DRV8301 DRV8302 DRV8323芯片 - 唐老师讲电赛 - bilibili

B站UP:灯哥开源

【教程】灯哥教你入门Odrive无刷驱动器(1)-开发调试环境配置 - 灯哥开源 - bilibili

【教程】灯哥教你入门Odrive无刷驱动器(2)-电机、编码器参数配置和电机校准 - 灯哥开源 - bilibili

知乎:稚晖 / B站UP:稚晖君

【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术 - 稚晖的文章 - 知乎

芯片数据手册

DRV8301数据手册:http://www.ti.com/cn/lit/gpn/drv8301

TPS54160(DRV8301内置)数据手册:http://www.ti.com/cn/lit/gpn/tps54160

五向开关数据手册:https://item.szlcsc.com/471384.html

焊接式1.14吋IPS:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.5c8f2e8dijiLL5&id=586409078629&_u=l21l4csi9ba5

额外推荐

这里推荐一下Mo大佬的板子
仿制ODrive双轴MINI FOC控制器,基于DRV8301,外形小巧,造型美观,已打样测试,源文件见附件
image.png

设计图

PCB

BOM

IDNameDesignatorFootprintQuantity
182p/50VC1,C3,C6,C8,C10,C13,C21,C22C06038
22.2u/16VC2,C11,C12C06033
31u/16VC4,C34,C35C06033
4100n/50VC5,C7,C9,C14,C15,C16,C17,C18,C19,C20,C23,C37C060312
547uF/50VC24,C25,C26,C27,C28,C29,C30,C31,C32,C33C181210

附件

序号文件名称下载次数
1
仿制ODrive双轴MINI FOC控制器@Mo.PcbDoc
1312
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航