0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用FPGA做一个ODrive

OpenFPGA 来源:OpenFPGA 2023-10-20 11:15 次阅读

“软核”硬做-ODrive(FPGA版本)

之前稚晖君做了一个《机器人的心脏--超迷你FOC矢量控制驱动器》。

核心CPU是XX32FXXX,在工业控制领域其实FPGA占比也很大,所以能不能用FPGA做一个ODrive呢?答案是肯定的。

介绍

该项目旨在以低廉的价格准确地驱动无刷电机。目的是使在高性能机器人项目中使用廉价的无刷电机成为可能。像这样:

主要规格

控制两个电机

提供 24V 和 48V 版本。

每个电机的峰值电流 120A。

持续电流取决于散热情况。

用于任意精确运动的编码器反馈。

支持两种制动模式:

制动电阻

再生制动。

可选使用电池,意味着只需适度的电源即可实现非常高的峰值功率输出。

开源:硬件、软件

控制模式

Goto(带轨迹规划的位置控制)

位置命令

速度指令

扭矩指令

接口

USB——自定义协议,开源

PC、树莓派

步进/方向——现有的运动控制器

UART—— Arduino(带库)、mBed等。

伺服 PWM/PPM——RC 接收器、Arduino 等。

CAN -- 基本自定义协议

一些通用数字和模拟引脚

硬件介绍

原理图和PCB使用AD绘制

原理图TOP:

42742168-6eed-11ee-939d-92fbcf53809c.png

核心器件:

FPGA:10M08SAE144

电源:AP1117E33G-13、LM3490IM5-12/NOPB 这是给FPGA供电的,不需要太大电流

MOS:NTMFS4937NT1G

PCB欣赏:

427f1df2-6eed-11ee-939d-92fbcf53809c.png

版本勘误表:

编码器(M0、M1)的丝印标签是相反的。

在设计后置放大器滤波器时没有考虑电流放大器的输出阻抗。因此,响应比设计慢约 5 倍。因此,最大允许调制指数约为 50%。

固件

EDA工具QUARTUS_VERSION 13.1 ,整体逻辑不是很复杂。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21324

    浏览量

    593215
  • 原理图
    +关注

    关注

    1268

    文章

    6182

    浏览量

    225732
  • 机器人
    +关注

    关注

    206

    文章

    27040

    浏览量

    201417
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10445

    浏览量

    206566
  • 工业控制
    +关注

    关注

    36

    文章

    1275

    浏览量

    85457

原文标题:“软核”硬做-ODrive(FPGA版本)

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    求助 odrive for stm32控制讲解

    小白近期刚开始学习电机控制,购买了odrive驱动板。在github上找到了odrive-for-keil的程序并采用无感控制成功驱动了电机。现在我想学习有感控制,苦于自己英语不好导致有感控制
    发表于 04-25 23:17

    求救“在FPGA里面做一个NIOS核,其中UART的设置”

    我最近在做一个FPGA的设计,在FPGA里面做一个NIOS核,用串口向IONS里送数据,但在NIOS的串口初始化设置时,借鉴了位前辈的程序
    发表于 09-15 23:33

    FPGA里面做一个NIOS核

    我最近在做一个FPGA的设计,在FPGA里面做一个NIOS核,用串口向IONS里送数据,但在NIOS的串口初始化设置时,借鉴了位前辈的程序
    发表于 09-16 23:30

    自己做一个fpga开发板

    本帖最后由 eehome 于 2013-1-5 09:49 编辑 想自己做一个fpga的开发板,有谁有这方面经验的,拿出来分享下!(有哪些外设)
    发表于 09-04 20:36

    FPGA板要做一个硬件测试时,发现FPGA板上不够引脚编辑,该怎么办?

    我自己买了FPGA板,当要做一个硬件测试时,发现FPGA板上不够引脚编辑,该怎么办?
    发表于 05-29 12:25

    做一个FPGA代码,有报酬

    做一个FPGA代码,要求包括四模块:双缓存模块、
    发表于 06-08 22:34

    做一个FPGA控制MOSFET的开关电源,怎样挑选FPGA芯片

    我想做一个FPGA控制MOSFET的开关电源,要求是ALtera的FPGA芯片,请问我该以什么样的标准去挑选款适合我的芯片,或者是我在哪里可以看到
    发表于 03-07 06:35

    Zynq 7020 FPGA做一个RTL引脚规划

    你好,我目前正在为我的Zynq 7020 FPGA做一个RTL引脚规划。我有非常基本的问题。我在PL EMI上的PS和AXI EMC v3.0 ip核心上只有很少的接口。在合成之前
    发表于 04-10 10:21

    怎么判断ODrive是否需要功率耗散电阻?

    怎么判断ODrive是否需要功率耗散电阻?应该选择多大功率的功率耗散电阻?怎么区分我的ODrive是24v版本还是56v版本?
    发表于 07-13 07:28

    如何对Odrive无刷驱动器进行开发

    如何对Odrive无刷驱动器进行开发?在window10系统下如何对Odrive无刷驱动器进行配置?
    发表于 09-02 07:21

    Odrive开发笔记 精选资料推荐

    Odrive开发笔记文章目录Odrive开发笔记接线配置进入校准测试用python来控制odrive电机控制介绍位置环速度环把从开始做odrive
    发表于 09-02 07:33

    你知道odrive有哪些控制原理吗

    无刷电机的工作原理是什么?位置传感器有哪几种类型?odrive有哪些控制原理呢?
    发表于 09-18 09:29

    如何ODrive去驱动无刷电机

    如何ODrive去驱动无刷电机?有哪些操作步骤?
    发表于 09-22 07:19

    ODrive的错误代码是什么?

    ODrive的错误代码是什么?
    发表于 11-15 06:16

    “软核”硬做-ODrive(FPGA版本)

    核心CPU是XX32FXXX,在工业控制领域其实FPGA占比也很大,所以能不能用FPGA做一个ODrive呢?答案是肯定的。该项目旨在以低廉的价格准确地驱动无刷电机。目的是使在高性能机
    的头像 发表于 04-25 11:16 4290次阅读