mirror of
https://gitee.com/peng_zhihui/Dummy-Robot
synced 2025-09-27 02:09:12 +08:00
[Hw] Add MotorDriver-20.
This commit is contained in:
parent
f762a100a0
commit
879f203f86
3
1.Hardware/MotorDriver-20/.gitignore
vendored
Normal file
3
1.Hardware/MotorDriver-20/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
History
|
||||
Project Logs for littleVisual-ESP32
|
||||
__Previews
|
BIN
1.Hardware/MotorDriver-20/Drive.SchDoc
Normal file
BIN
1.Hardware/MotorDriver-20/Drive.SchDoc
Normal file
Binary file not shown.
BIN
1.Hardware/MotorDriver-20/Interface.SchDoc
Normal file
BIN
1.Hardware/MotorDriver-20/Interface.SchDoc
Normal file
Binary file not shown.
BIN
1.Hardware/MotorDriver-20/MCU.SchDoc
Normal file
BIN
1.Hardware/MotorDriver-20/MCU.SchDoc
Normal file
Binary file not shown.
BIN
1.Hardware/MotorDriver-20/Motor-20.PcbDoc
Normal file
BIN
1.Hardware/MotorDriver-20/Motor-20.PcbDoc
Normal file
Binary file not shown.
1190
1.Hardware/MotorDriver-20/Motor-20.PrjPCB
Normal file
1190
1.Hardware/MotorDriver-20/Motor-20.PrjPCB
Normal file
File diff suppressed because it is too large
Load Diff
5
1.Hardware/MotorDriver-20/Motor-20.PrjPCBStructure
Normal file
5
1.Hardware/MotorDriver-20/Motor-20.PrjPCBStructure
Normal file
@ -0,0 +1,5 @@
|
||||
Record=TopLevelDocument|FileName=Drive.SchDoc|SheetNumber=1
|
||||
Record=NoMainPathDocument|SourceDocument=Drive.SchDoc|FileName=Interface.SchDoc|SheetNumber=1
|
||||
Record=NoMainPathDocument|SourceDocument=Drive.SchDoc|FileName=MCU.SchDoc|SheetNumber=1
|
||||
Record=NoMainPathDocument|SourceDocument=Drive.SchDoc|FileName=Port.SchDoc|SheetNumber=1
|
||||
Record=NoMainPathDocument|SourceDocument=Drive.SchDoc|FileName=Power.SchDoc|SheetNumber=1
|
BIN
1.Hardware/MotorDriver-20/Port.SchDoc
Normal file
BIN
1.Hardware/MotorDriver-20/Port.SchDoc
Normal file
Binary file not shown.
BIN
1.Hardware/MotorDriver-20/Power.SchDoc
Normal file
BIN
1.Hardware/MotorDriver-20/Power.SchDoc
Normal file
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 631 KiB |
BIN
5.Docs/1.Images/dummy1.jpg
Normal file
BIN
5.Docs/1.Images/dummy1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 174 KiB |
25
README.md
25
README.md
@ -1,7 +1,11 @@
|
||||
# Dummy-Robot
|
||||
我的超迷你机械臂机器人项目。
|
||||
# Dummy-Robot: Super compact smart robotic-arm
|
||||
> **我的超迷你机械臂机器人项目。**
|
||||
>
|
||||
> 视频介绍:[【自制】我造了一台 钢 铁 侠 的 机 械 臂 !【硬核】](https://www.bilibili.com/video/BV12341117rG)
|
||||
>
|
||||
> Video : [I made a DUMMY ROBOTIC ARM from scratch! - YouTube](https://www.youtube.com/watch?v=F29vrvUwqS4)
|
||||
|
||||

|
||||

|
||||
|
||||
### 资料待整理
|
||||
|
||||
@ -12,11 +16,14 @@
|
||||
* 已添加REF的硬件设计文件
|
||||
* 已添加DummyStudio上位机
|
||||
* 已添加Dummy核心控制器的固件代码(使用说明见后文)
|
||||
* 已添加步进电机驱动器硬件工程(固件每个关节电机有一些区别,会以多个hex形式发布,源码可以直接去XDrive的仓库查看)
|
||||
* 已添加42步进电机驱动器硬件工程(固件每个关节电机有一些区别,会以多个hex形式发布,源码可以直接去XDrive的仓库查看)
|
||||
* 已添加20步进电机驱动器硬件工程
|
||||
|
||||
## 关于结构设计
|
||||
|
||||
我视频中原版设计使用的步进电机+harmonic的谐波减速模组,其中后者成本较高(我买的二手大搞600元一个),因此为了能让大家尽量复现本项目,我希望后期能添加一个**同步轮轮减速+3D打印**或者**行星减速+3D打印**(其实行星减速也不便宜而且从背隙的角度来看还不如同步轮)的方案,如果有同学有结构设计能力的也欢迎自行设计,提交pull request~
|
||||
我视频中原版设计使用的`步进电机`+Harmonic的`谐波减速模组`,其中后者成本较高(我买的二手大概是600元一个),因此为了能让大家尽量复现本项目,我后期可能会添加一个`自制摆线针轮减速器`+`3D打印`的低成本方案。
|
||||
|
||||
> 目前摆线减速器已经设计好了正在验证,预期会使用PC(或者亚克力)切割结合3D打印制作,精度有所下降但是功能都保持不变,整机硬件成本希望控制在2000元以内。
|
||||
|
||||
## 关于电路模块
|
||||
|
||||
@ -27,9 +34,11 @@
|
||||
* 步进电机驱动
|
||||
* Peak示教器
|
||||
|
||||
其中前两者我都开源了,步进驱动设计的时候参考了: https://github.com/unlir/XDrive 这个项目,这是我一个朋友开源的闭环驱动,基于STM32。该驱动分为开源版和闭源版,闭源版基于分立MOSFET性能极其强劲且功能很完善,开源版用的ADC+斩波驱动芯片,具备基础功能,不带CAN协议。需要的话大家可以自行研究,(另外他家有淘宝店可以直接买闭源成品,非常推荐)。
|
||||
其中前两者和Peak我都开源了,步进驱动设计的时候参考了: https://github.com/unlir/XDrive 这个项目,这是我一个朋友开源的闭环驱动,基于STM32。该驱动分为开源版和闭源版,闭源版基于分立MOSFET性能极其强劲且功能很完善,开源版用的ADC+斩波驱动芯片,具备基础功能,不带CAN协议。需要的话大家可以自行研究,(另外他家有淘宝店可以直接买闭源成品,非常推荐)。
|
||||
|
||||
当然另一种方式是大家也可以自行使用GRBL类的驱动器改装用来驱动本机械臂。
|
||||
当然另一种方式是大家也可以自行使用GRBL类的驱动器改装用来驱动本机械臂,这样方案的问题在于,grbl固件耦合性比较强(毕竟不是针对机械臂而是CNC类应用设计的)不便于扩展,另外脉冲形式的控制方式使得走线极其不优雅(每一个关节都要单独拉`step/dir`线到控制器,导致最后几个关节走线很长)。
|
||||
|
||||
而我用一体闭环的方式则可以以串联的形式把所有电机连起来即可,走CAN总线使得整体走线只需要四根线(电源正负两根,CAN信号线两根),此外总线模型使得电机可以工作在`力矩`、`速度`、`位置`、`轨迹`模式下,而脉冲模式只能工作在位置和轨迹模式,无法进行复杂控制。
|
||||
|
||||
**Peak的话我已经软硬件都开源了,可以去SubModules文件夹里面看那边的README说明。**
|
||||
|
||||
@ -65,7 +74,7 @@
|
||||
|
||||
> 关于位置的记忆,和上电零点校准:
|
||||
>
|
||||
> **由于绝对值编码器的位置只在一圈内有效,工业机械臂经过减速后为了获取绝对位置一般是做输出端编码,但是这样精度就降低了30倍(减速比),所以更合理的是做双编码器,而我这个项目中双编码器影响结构紧凑设计,所以用了更巧妙的方式:利用电机驱动的电流环控制上电后进行低力矩的无零点定向运动,碰到机械臂限位之后确认粗零点(无限位开关归零),然后根据单圈绝对值编码器的位置精调零点。这个方式的零点是没有误差的,而且几乎不受加工精度影响,因为在12度(360/30)内都是绝对值编码器的有效精度范围。**
|
||||
> **由于绝对值编码器的位置只在一圈内有效,工业机械臂经过减速后为了获取绝对位置一般是做输出端编码,但是这样精度就降低了30倍(减速比),所以更合理的是做`双编码器`或者低`功耗编码器+电池`;而我这个项目中双编码器影响结构紧凑设计,所以用了更巧妙的方式:利用电机驱动的电流环控制上电后进行低力矩的无零点定向运动,碰到机械臂限位之后确认粗零点(无限位开关归零),然后根据单圈绝对值编码器的位置精调零点。这个方式的零点是没有误差的,而且几乎不受加工精度影响,因为在12度(360/30)内都是绝对值编码器的有效精度范围。**
|
||||
|
||||
**Peak的固件说明:**
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user