搜索
bottom↓
回复: 22

一片FPGA能实现十个直流电机的位置和速度控制吗?

[复制链接]

出0入0汤圆

发表于 2015-12-1 08:42:18 | 显示全部楼层 |阅读模式
最近要控制十个直流电机的位置和速度,想把PCB板做的很小,集成度高,于是想到了FPGA,一片FPGA能实现十个直流电机的位置和速度控制吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2015-12-1 08:48:46 | 显示全部楼层
可以,小意思。

出0入0汤圆

发表于 2015-12-1 08:53:15 | 显示全部楼层
先说目前的控制算法需要多少资源呗,比如什么内核处理器,需要多少Flash,多少RAM,多高的频率,什么外设,etc。

如果每路的运算能力需求在100MHz的Cortex M3左右;RAM+Flash需需求在几十到几百KiB;那目前的FPGA可以提供单芯片的解决方案。
如果所需的计算能力继续提高,纯粹的FPGA就比较难提供软核了,只能使用类似Zynq这样的FPGA+AP结构。

出0入0汤圆

发表于 2015-12-1 08:54:15 | 显示全部楼层
用快点的单片机也不困难吧!

出0入0汤圆

 楼主| 发表于 2015-12-1 09:48:01 | 显示全部楼层
dr2001 发表于 2015-12-1 08:53
先说目前的控制算法需要多少资源呗,比如什么内核处理器,需要多少Flash,多少RAM,多高的频率,什么外设, ...

准备不嵌入软核,直接用Verilog语言实现,位置和速度控制精度不高,只想加一个简单的PID算法,实现位置和速度的双闭环控制

出0入0汤圆

 楼主| 发表于 2015-12-1 09:51:23 | 显示全部楼层
dyjhy 发表于 2015-12-1 08:54
用快点的单片机也不困难吧!

您有何好的方法,用一个单片机如何实现十路电机的位置和速度双闭环。我看了STM32能读正交编码信号的定时器才5个,那也是说做多能控制五个呀,而且还是在没有复杂算法的情况下?

出0入0汤圆

 楼主| 发表于 2015-12-1 09:53:04 | 显示全部楼层

我想还加一个位置和速度双闭环控制的PID算法,不知可不可以?

出0入0汤圆

发表于 2015-12-1 10:24:48 | 显示全部楼层
PID计算单元一个就够了,轮询10个控制输出和反馈输入

出0入0汤圆

 楼主| 发表于 2015-12-1 10:44:23 | 显示全部楼层
3DA502 发表于 2015-12-1 10:24
PID计算单元一个就够了,轮询10个控制输出和反馈输入

FPGA如何实现浮点数运算?

出0入0汤圆

发表于 2015-12-1 10:46:59 | 显示全部楼层
心染红尘 发表于 2015-12-1 10:44
FPGA如何实现浮点数运算?

PID不需要浮点啊,定点就好了

出0入0汤圆

发表于 2015-12-1 10:49:31 | 显示全部楼层
心染红尘 发表于 2015-12-1 09:51
您有何好的方法,用一个单片机如何实现十路电机的位置和速度双闭环。我看了STM32能读正交编码信号的定时 ...

一个定时器可以几路共用的呀,计算单元也是多路共用,轮询就行。只是控制响应速度上是否能达到要求就另当别论了。

出0入0汤圆

发表于 2015-12-1 11:38:43 | 显示全部楼层
心染红尘 发表于 2015-12-1 10:44
FPGA如何实现浮点数运算?

你这样问,你想要一个什么样的答案,你自己准备好接受什么样的答案

出0入0汤圆

 楼主| 发表于 2015-12-1 11:44:31 | 显示全部楼层
3DA502 发表于 2015-12-1 11:38
你这样问,你想要一个什么样的答案,你自己准备好接受什么样的答案

比如PID参数整定,如果想把Kp、Ki、Kd设成小数,在不嵌入核的情况下,那如何用FPGA实现呢?

出0入0汤圆

发表于 2015-12-1 17:02:29 来自手机 | 显示全部楼层
心染红尘 发表于 2015-12-1 11:44
比如PID参数整定,如果想把Kp、Ki、Kd设成小数,在不嵌入核的情况下,那如何用FPGA实现呢? ...

浮点计算软核altera的qsys里就有 但是浮点计算比较耗时altera的软核8个clk才能计算完一个浮点,占用400多个le

出0入0汤圆

发表于 2015-12-1 17:29:46 | 显示全部楼层
楼主,我正在用fpga调pid呢,不过我的是伺服电机,麻烦点
pid,肯定要浮点,不然别玩了
另外你想节省资源,速度不快,就用一个pid单元轮询

出110入0汤圆

发表于 2015-12-1 18:13:24 | 显示全部楼层
楼主只是觉得STM32的编码器输入接口不够用而已,可以单独用FPGA实现这个部分

直流电机做双闭环,难度完全不关心H桥的电流?

正在做一个类似的项目,4个电机双闭环且要求同步,速度不快

出0入0汤圆

 楼主| 发表于 2015-12-2 08:16:19 | 显示全部楼层
Flyback 发表于 2015-12-1 18:13
楼主只是觉得STM32的编码器输入接口不够用而已,可以单独用FPGA实现这个部分

直流电机做双闭环,难度完全 ...

电机目前不承受负载,所以其电流应该是很小的

出0入0汤圆

 楼主| 发表于 2015-12-2 08:16:38 | 显示全部楼层
Flyback 发表于 2015-12-1 18:13
楼主只是觉得STM32的编码器输入接口不够用而已,可以单独用FPGA实现这个部分

直流电机做双闭环,难度完全 ...

你也用的FPGA吗

出110入0汤圆

发表于 2015-12-2 17:56:10 | 显示全部楼层

我驱动的是4个电机,只需要4路编码器接口,一个STM32妥妥的

出0入0汤圆

发表于 2015-12-4 10:28:29 | 显示全部楼层
正好也遇到这个,之前是两片stm32控制6个电机,也正想考虑fpga是否好用

出0入0汤圆

 楼主| 发表于 2015-12-8 09:26:50 | 显示全部楼层
大笨蛋1990 发表于 2015-12-4 10:28
正好也遇到这个,之前是两片stm32控制6个电机,也正想考虑fpga是否好用

STM32 可以控制六个吗

出0入0汤圆

发表于 2015-12-8 10:22:07 | 显示全部楼层
浮点可以先定点化

出0入0汤圆

发表于 2015-12-8 20:22:47 | 显示全部楼层
心染红尘 发表于 2015-12-8 09:26
STM32 可以控制六个吗

两片控制6个,一片控制3个
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-15 11:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表