心染红尘 发表于 2015-12-1 08:42:18

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

最近要控制十个直流电机的位置和速度,想把PCB板做的很小,集成度高,于是想到了FPGA,一片FPGA能实现十个直流电机的位置和速度控制吗?

ahong2hao 发表于 2015-12-1 08:48:46

可以,小意思。

dr2001 发表于 2015-12-1 08:53:15

先说目前的控制算法需要多少资源呗,比如什么内核处理器,需要多少Flash,多少RAM,多高的频率,什么外设,etc。

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

dyjhy 发表于 2015-12-1 08:54:15

用快点的单片机也不困难吧!

心染红尘 发表于 2015-12-1 09:48:01

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

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

心染红尘 发表于 2015-12-1 09:51:23

dyjhy 发表于 2015-12-1 08:54
用快点的单片机也不困难吧!

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

心染红尘 发表于 2015-12-1 09:53:04

ahong2hao 发表于 2015-12-1 08:48
可以,小意思。

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

3DA502 发表于 2015-12-1 10:24:48

PID计算单元一个就够了,轮询10个控制输出和反馈输入

心染红尘 发表于 2015-12-1 10:44:23

3DA502 发表于 2015-12-1 10:24
PID计算单元一个就够了,轮询10个控制输出和反馈输入

FPGA如何实现浮点数运算?

xivisi 发表于 2015-12-1 10:46:59

心染红尘 发表于 2015-12-1 10:44
FPGA如何实现浮点数运算?

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

dyjhy 发表于 2015-12-1 10:49:31

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

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

3DA502 发表于 2015-12-1 11:38:43

心染红尘 发表于 2015-12-1 10:44
FPGA如何实现浮点数运算?

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

心染红尘 发表于 2015-12-1 11:44:31

3DA502 发表于 2015-12-1 11:38
你这样问,你想要一个什么样的答案,你自己准备好接受什么样的答案

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

YFM 发表于 2015-12-1 17:02:29

心染红尘 发表于 2015-12-1 11:44
比如PID参数整定,如果想把Kp、Ki、Kd设成小数,在不嵌入核的情况下,那如何用FPGA实现呢? ...

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

蓝色风暴@FPGA 发表于 2015-12-1 17:29:46

楼主,我正在用fpga调pid呢,不过我的是伺服电机,麻烦点
pid,肯定要浮点,不然别玩了
另外你想节省资源,速度不快,就用一个pid单元轮询

Flyback 发表于 2015-12-1 18:13:24

楼主只是觉得STM32的编码器输入接口不够用而已,可以单独用FPGA实现这个部分

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

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

心染红尘 发表于 2015-12-2 08:16:19

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

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

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

心染红尘 发表于 2015-12-2 08:16:38

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

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

你也用的FPGA吗

Flyback 发表于 2015-12-2 17:56:10

心染红尘 发表于 2015-12-2 08:16
你也用的FPGA吗

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

大笨蛋1990 发表于 2015-12-4 10:28:29

正好也遇到这个,之前是两片stm32控制6个电机,也正想考虑fpga是否好用

心染红尘 发表于 2015-12-8 09:26:50

大笨蛋1990 发表于 2015-12-4 10:28
正好也遇到这个,之前是两片stm32控制6个电机,也正想考虑fpga是否好用

STM32 可以控制六个吗

xiaocat85 发表于 2015-12-8 10:22:07

浮点可以先定点化

大笨蛋1990 发表于 2015-12-8 20:22:47

心染红尘 发表于 2015-12-8 09:26
STM32 可以控制六个吗

两片控制6个,一片控制3个
页: [1]
查看完整版本: 一片FPGA能实现十个直流电机的位置和速度控制吗?