【ART-Pi】【衍生分支】无刷电机驱动器ODrive AP0.3-DRV8303版

2周前

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

开源协议: GPL 3.0

工程来源: 克隆自 【ART-Pi】无刷电机驱动器ODrive AP0.3

  • 468
  • 0
  • 3

描述

image.png

image.png

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版本分开

调试记录

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

拓展板单独演示视频:

BOM

ID Name Designator Footprint Quantity
1 82p/50V C1,C3,C6,C8,C9,C12,C21,C22 C0603 8
2 2.2u/50V C2,C10,C11,C44,C47,C49,C52,C58,C64,C67,C69,C72,C78 C0603 13
3 1u/16V C4,C34,C35 C0603 3
4 100n/50V C5,C7,C13,C14,C15,C16,C17,C18,C19,C20,C23,C37,C40,C45,C48,C51,C53,C59,C65,C68,C71,C73,C79 C0603 23
5 47uF/50V C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 C1812 10
6 10uF/10V C36,C38 C0603 2
7 22n/50V C39,C50,C70 C0603 3
8 3.3n/50V C41 C0603 1
9 6.8p/50V C42,C62 C0603 2
10 5.1n/50V C43 C0603 1
11 47u/35V C46,C66 C1812 2
12 2.2n/50V C54,C55,C56,C57,C74,C75,C76,C77 C0603 8
13 4.7u/35V C60,C80 C0603 2
14 6.8n/100V C61 C0603 1
15 4.3n/50V C63 C0603 1
16 40n/50V C81,C82,C83,C84,C85,C86 C0603 6
17 M1010RS-04P CN1 CONN-SMD_M1010RS-04P 1
18 XH2.54-2P CN2 CONN-SMD_2.54-2P-WT 1
19 XH2.54-4P CN3,CN5 CONN-SMD_2.54-4P-WT 2
20 M1010RS-06P CN4,CN6 CONN-SMD_M1010RS-06P 2
21 M1010RS-05P CN7,CN8 CONN-SMD_M1010RS-05P 2
22 SS34 D1,D3,D4 SMA_L4.4-W2.8-LS5.4-RD 3
23 SMAJ30CA_C266339 D2 SMA_L4.4-W2.6-LS5.0-BI 1
24 FSMD012-1206-R F1 F1206 1
25 XT30U-M H2 XT30U-M 1
26 MR30-M H7,H8 MR30-M 2
27 TM-4175-B-B KEY SW-SMD_TM-4175-B-B 1
28 120uH L1 IND-SMD_L6.0-W6.0 1
29 22uH L2 IND-SMD_L6.0-W6.0 1
30 LED-0603_B LED1 LED0603_BLUE 1
31 ART-Pi -P1扩展引脚 P1 MY_HDR-TH_40P-P2.54-V-M-R2-C20-S2.54 1
32 ART-Pi -P2扩展引脚 P2 MY_HDR-TH_40P-P2.54-V-M-R2-C20-S2.54 1
33 KRC116S-RTK/P Q1 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR 1
34 KNY3406C Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10,Q11,Q12,Q13 PDFNWB-8L_L6.0-W5.0-P1.27-BL-EP_CON 12
35 3.3k R1,R5,R7,R9,R11,R13,R14,R16,R23,R24,R25,R28,R42,R43,R44,R47 R0603 16
36 10k R2,R12,R17,R26,R45 R0603 5
37 22R R3,R6,R29,R30,R48,R49 R0603 6
38 1k R4,R10 R0603 2
39 120R R8 R0603 1
40 10R R15 R0603 1
41 3.3R R18 R0603 1
42 0R R19 R0603 1
43 133k R20 R0603 1
44 562k R21 R0603 1
45 140k R22 R0603 1
46 18k R27,R46 R0603 2
47 2.2R R31,R32,R33,R34,R35,R36,R50,R51,R52,R53,R54,R55 R0603 12
48 0.0005 R37,R38,R56,R57 R2512 4
49 86.6k R39 R0603 1
50 365k R40 R0603 1
51 52.3k R41 R0603 1
52 100R RN1,RN2 RES-ARRAY-SMD_0603-8P-L3.2-W1.6-BL 2
53 10k RT1,RT2 R0603 2
54 TS-1088R-02026 SW1 SW-SMD_L3.9-W3.0-P4.45 1
55 焊接式_TFT_1.14_135x240_13pin TFT1 焊接式_TFT_1.14_135X240_13PIN 1
56 W25Q32FVSSIGTR U1 SOIC-8_L5.3-W5.3-P1.27-LS8.0-BL 1
57 CH340K U2 ESOP-10_L4.9-W3.9-P1.00-LS6.2-BL-EP 1
58 STM32F405VGT6 U3 LQFP-100_L14.0-W14.0-P0.50-LS16.0-BL 1
59 SN65HVD232DR U4 SOIC-8_L5.0-W4.0-P1.27-LS6.0-BL 1
60 DRV8303 U5,U7 HTSSOP-48_L12.5-W6.1-P0.50-LS8.1-BL-EP 2
61 LP5907MFX-3.3/NOPB U6 SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR 1
62 TPS54160DGQR U8,U10 MSOP-10_L3.0-W3.0-P0.50-LS5.0-BL-EP 2
63 RT9193-33GB U9 SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR 1
64 TYPE-C-31-M-12 USBC1 USB-C_SMD-TYPE-C-31-M-12 1
65 8MHz X1 OSC-SMD_3P-L3.2-W1.3-P1.2-L 1

展开

工程成员

工程附件

服务时间

周一至周五 9:00~18:00
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn