myqiang1990 发表于 2013-2-23 12:51:58

造福大家,哈哈,发一个能用的步进电机S加速曲线的算法...

本帖最后由 myqiang1990 于 2013-2-23 13:00 编辑

大家看看上面的参数,然后对照程序,自己可以仿制一个,程序生存的数据是将3段S曲线,包括加加速和加减速段,这个程序是将S曲线离散成你想要的升频和对应频段内步值,然后分段升频,程序中查表加速就OK了~~(支持变细分哦!!!!抵挡单片机跑高速的福音~~~{:lol:} )软件是delphi7啊~~没有大家就去网上下巴~~
不懂的,大家可以讨论讨论哈~~~因为版权问题,这个软件就不公开了,大家对照我贴的图片的参数,然后对照下面的代码,就懂了,子不过是自己自己建一个新工程而已,注意我用了iocmp控件,没有的童鞋,在这里下载~~http://www.amobbs.com/thread-5267464-1-1.html{:smile:}

//////////////////////////////////S曲线生产////////////////////////////////
//////////////////////////////////S曲线生产////////////////////////////////
//////////////////////////////////S曲线生产////////////////////////////////
//////////////////////////////////S曲线生产////////////////////////////////
procedure TForm1.SCurve();
var
aa:double;//加加速度
v1:integer;//拐点速度
t1:double;//拐点时间
dt:double;//时间间隔
vstart, vend:integer;//起始速度(HZ)
xifen:integer;//细分数
freq:integer;//定时器频率
i,j, allsteps:integer;//脉冲个数
T, time:double;
freqleves:array of integer;
freqsteps:array of integer;
timerdata:array of integer;
showstr : string;
begin
aa := StrToFloat(edit17.Text);//加加速度
vstart := StrToInt(edit18.Text);//启动频率
vend := StrToInt(edit19.Text);//启动频率
xifen := StrToInt(edit37.Text);//细分数
freq := StrToInt(edit16.Text) ;//定时器频率
time := StrToFloat(edit20.Text);//频段保持时间
T := 0;
i := 0;
allsteps := 0;
showstr := ' ';

   v1 := trunc((vstart + vend) / 2);//求出拐点频率
   t1 := Sqrt(2 * (v1 - vstart) / aa);//求出拐点时间(s)
   dt :=time / 1000; //求出时间间隔 (s)
   //////////////调试模式 /////
   if checkbox12.Checked then
   begin
   memo1.Lines.Add('v1(拐点频率)------->' + InttoStr(v1));
   memo1.Lines.Add('t1(拐点时间)------->' + FloattoStr(t1));
   memo1.Lines.Add('dt(减速间隔)------->' + FloattoStr(dt) + #13);
   memo1.Lines.Add( #13);
   end;
   //求出运加速度段
   while (T <= t1) do
    begin
      freqleves := trunc(vstart + 1 / 2 * aa * T * T);
      freqleves := freqleves;//按细分数扩大倍速
      freqsteps := trunc(dt * freqleves);//求出频点的内部步数
      //allsteps := allsteps + freqsteps; //求出总脉冲数

      //if freqsteps = 0 then
       //freqsteps := freqsteps+ 1;

      timerdata := trunc(freq / (freqleves * xifen) + 0.5);//求出定时器初值
      //调试模式
      if checkbox12.Checked then
      begin
      memo1.Lines.Add('freqleves(台阶频率)'+IntToStr(i)+'------->' + inttoStr(freqleves));
      memo1.Lines.Add('freqsteps(台阶步数)'+IntToStr(i)+'------->' + inttoStr(freqsteps));
      memo1.Lines.Add('timerdata(定时器初值)'+IntToStr(i)+'------->' + inttoStr(timerdata));
      memo1.Lines.Add('T(已累加时间)------->' + Format('%.3f', ) + #13);
      memo1.Lines.Add( #13);
      end;

      iXYPlot1.Channel.AddXY(i, freqleves);//画出频率曲线
      iXYPlot1.Channel.AddXY(i, freqsteps); //步值曲线
      if not checkbox13.Checked then
       iXYPlot1.Channel.AddXY(i, timerdata); //定时器初值曲线

      T := T + dt;//递增到下一个频点的时间
      i := i + 1;
    end;
   //求出运减速段
    i :=i - 1 ;
   while (freqleves<= vend) do
   begin
       i :=i + 1 ;
       freqleves := trunc((2 * aa * T * Sqrt(2* (v1 - vstart) / aa))-(1 / 2 * aa * T * T) - (2 * v1) + (3 * vstart));
       freqleves := freqleves;//按细分数扩大倍速
       freqsteps := trunc(dt * freqleves);//求出频点的内部步数
       //allsteps := allsteps + freqsteps; //求出总脉冲数

       //if freqsteps = 0 then
       // freqsteps := freqsteps+ 1;

       timerdata := trunc(freq / (freqleves * xifen) + 0.5);//求出定时器初值
       //调试模式
       if checkbox12.Checkedthen
       begin
       memo1.Lines.Add('freqleves(台阶频率)'+IntToStr(i)+'------->' + inttoStr(freqleves));
       memo1.Lines.Add('freqsteps(台阶步数)'+IntToStr(i)+'------->' + inttoStr(freqsteps));
       memo1.Lines.Add('timerdata(定时器初值)'+IntToStr(i)+'------->' + inttoStr(timerdata));
       memo1.Lines.Add('T(已累加时间)------->' + Format('%.3f', ) + #13);
       memo1.Lines.Add( #13);
       end;

       iXYPlot1.Channel.AddXY(i, freqleves);//画出频率曲线
       iXYPlot1.Channel.AddXY(i, freqsteps); //步值曲线
       if not checkbox13.Checked then
      iXYPlot1.Channel.AddXY(i, timerdata); //定时器初值曲线

       T := T + dt;//递增到下一个频点的时间

       if(trunc((2 * aa * T * Sqrt(2* (v1 - vstart) / aa))-(1 / 2 * aa * T * T) - (2 * v1) + (3 * vstart)) < freqleves) then
         break;
   end;
///////////////////////////统计总步数
   for j:=0 to i do
    begin
      if freqsteps = 0 then
      freqsteps := freqsteps+ 1;

   allsteps := allsteps +freqsteps;
    end;
//变细分处理---->主要处理频率
if checkbox13.Checked = true then
   begin
       j := 0;
       //安细分调节第一段
       while((freqleves <= StrToInt(edit50.Text)) and (j <= i)) do
      begin
         timerdata := trunc(freq / (freqleves * StrToInt(edit51.Text)) + 0.5);//求出定时器初值
         iXYPlot1.Channel.AddXY(j, timerdata); //定时器初值曲线
         j := j+1;
      end;
      //调节第二段
      while((freqleves <= StrToInt(edit47.Text)) and (j <= i)) do
      begin
         timerdata := trunc(freq / (freqleves * StrToInt(edit48.Text)) + 0.5);//求出定时器初值
         iXYPlot1.Channel.AddXY(j, timerdata); //定时器初值曲线
         j := j+1;
      end;
      //调节第三段
      while((freqleves <= StrToInt(edit44.Text)) and (j <= i)) do
      begin
         timerdata := trunc(freq / (freqleves * StrToInt(edit45.Text)) + 0.5);//求出定时器初值
         iXYPlot1.Channel.AddXY(j, timerdata); //定时器初值曲线
         j := j+1;
      end;
          //调节第四段
      while((freqleves <= freqleves) and (j <= i)) do
      begin
         timerdata := trunc(freq / (freqleves * StrToInt(edit54.Text)) + 0.5);//求出定时器初值
         iXYPlot1.Channel.AddXY(j, timerdata); //定时器初值曲线
         j := j+1;
         if j > i then
             break;
      end;
   end;
//非调试模式显示数据
if not checkbox12.Checked then
begin
////生成数据//////////////////////////////////
showstr := showstr + '//////////////////////////////////////////三段式S加速曲线///////////////////////////////'+#13;
showstr := showstr +'//启动频率:' + Format('%d', ) + 'HZ'+#13;
showstr := showstr +'//最高频率:' + Format('%d', ) + 'HZ'+#13;
showstr := showstr +'//加加速度:' + Format('%.3f', ) + 'm*s^-3'+#13;
showstr := showstr +'//频段保持时间:' + Format('%.3f', ) + 's'+#13;
showstr := showstr +'//定时器频率:' + Format('%d', ) + 'HZ'+#13;
showstr := showstr +'//加速频率总段数:' + Format('%d', ) + '段'+#13;
showstr := showstr +'//加速总脉冲数:' + Format('%d', ) + '个'+#13;
showstr := showstr +'//最高运行速度(按电机步距角为1.8度算):' + Format('%d', / (360 /1.8) * 60)]) + 'RPM(转/分)'+#13;
if checkbox13.Checked = true then//变细分
begin
showstr := showstr + '//'+edit49.Text+'HZ--->'+edit50.Text+'HZ--->'+edit51.Text+'细分'+#13;
showstr := showstr + '//'+edit46.Text+'HZ--->'+edit47.Text+'HZ--->'+edit48.Text+'细分'+#13;
showstr := showstr + '//'+edit43.Text+'HZ--->'+edit44.Text+'HZ--->'+edit45.Text+'细分'+#13;
showstr := showstr + '//'+edit52.Text+'HZ--->'+edit53.Text+'HZ--->'+edit54.Text+'细分'+#13;
end
else
showstr := showstr +'//细分数:' + Format('%d', ) + '细分'+#13;
showstr := showstr +'//////////////////步值表//////////////////////////////'+#13;
showstr := showstr +'const u16 MX_LevesStepsTable[]='+#13;
showstr := showstr +'{'+#13;

for j := 0 to i do
   begin
   if not checkbox11.Checked then //10进制显示
      showstr := showstr + format('%d,', ])//+#13;
   else       //16进制显示
      showstr := showstr +format('0x%.4x,', ]);//+#13;

      if (j+1) mod 30 = 0 then
       showstr := showstr+ #13;
   end;
   showstr := showstr +#13+'};'+#13;
   showstr := showstr +#13;

showstr := showstr +'//////////////////定时器初值表///////////////////////////'+#13;
showstr := showstr +'//启动频率:' + Format('%d', ) + 'HZ'+#13;
showstr := showstr +'//最高频率:' + Format('%d', ) + 'HZ'+#13;
showstr := showstr +'//加加速度:' + Format('%.3f', ) + 'm*s^-3'+#13;
showstr := showstr +'//频段保持时间:' + Format('%.3f', ) + 's'+#13;
showstr := showstr +'//定时器频率:' + Format('%d', ) + 'HZ'+#13;
showstr := showstr +'//加速频率总段数:' + Format('%d', ) + '段'+#13;
showstr := showstr +'//加速总脉冲数:' + Format('%d', ) + '个'+#13;
showstr := showstr +'//最高运行速度(按电机步距角为1.8度算):' + Format('%d', / (360 /1.8) * 60)]) + 'RPM(转/分)'+#13;
if checkbox13.Checked = true then//变细分
begin
showstr := showstr + '//'+edit49.Text+'HZ--->'+edit50.Text+'HZ--->'+edit51.Text+'细分'+#13;
showstr := showstr + '//'+edit46.Text+'HZ--->'+edit47.Text+'HZ--->'+edit48.Text+'细分'+#13;
showstr := showstr + '//'+edit43.Text+'HZ--->'+edit44.Text+'HZ--->'+edit45.Text+'细分'+#13;
showstr := showstr + '//'+edit52.Text+'HZ--->'+edit53.Text+'HZ--->'+edit54.Text+'细分'+#13;
end
else
showstr := showstr +'//细分数:' + Format('%d', ) + '细分'+#13;
if Combobox4.ItemIndex = 1 then //显示模式1
   begin
   showstr := showstr +'const u16 MX_SpeedLevesTable[]='+#13;
   showstr := showstr +'{'+#13;
   for j := 0 to i do
   begin
   if not checkbox11.Checked then //10进制
       showstr := showstr +format('%d, ', ])
   else   //16进制
       showstr := showstr + format('0x%.4x, ', ]);

      if (j+1) mod 15 = 0 then
       showstr := showstr + #13;
   end;
   showstr := showstr +#13+'};'+#13;
   end
   else
    begin
   showstr := showstr +'const u16 MX_SpeedLevesTable[] ={'+#13;
   showstr := showstr +'//{频率,定时器初值,台阶步数}'+#13;
   for j := 0 to i do
   begin
   if not checkbox11.Checked then//10进制
      showstr := showstr +'{'+ format('%d', ])+ ', '+ format('%d',])+', '+format('%d', ])+'},'+'//'+format('%d',)+#13
   else      //16进制
       showstr := showstr +'{'+ format('%d', ])+ ', '+ format('0x%.4x',])+', '+format('0x%.4x', ])+'},'+'//'+format('%d',)+#13;
   end;
   showstr := showstr +#13+'};'+#13;
   end;
end;
memo1.Lines.Text := showstr;
end;

myqiang1990 发表于 2013-2-23 12:54:57

如果大家想实时计算,按照里面说的方法自己实现,实现了大家就贴一下思路吧~~~哈哈~~因为我没实现啊~~{:lol:}

mcusy 发表于 2013-2-23 12:58:34

顶一下LZ

kinsno 发表于 2013-2-23 12:59:39

本帖最后由 kinsno 于 2013-2-23 13:04 编辑

楼主是90年的伙计,相当厉害了啊;
1、软件是公司内部自行开发的软件吗,还是采购的商业软件啊?内部软件就不用说了,必须保密。如果是商业软件,是否提供一个名称啊,去寻找破解版。
2、你的算法和软件是根据这个PDF实现的吗?经过实际应用了吗?还是沿且在实验中没经过现场的锤炼?

zhigao0701 发表于 2013-2-23 13:04:00

很厉害啊

myqiang1990 发表于 2013-2-23 13:05:00

本帖最后由 myqiang1990 于 2013-2-23 13:09 编辑

kinsno 发表于 2013-2-23 12:59 static/image/common/back.gif
楼上的是90年的伙计,相当厉害了啊;软件是公司内部自行开发的软件吗,还是采购的商业软件啊?内部软件就不 ...

我自己写的~~~我为公司开发的,所以东西就归公司了,哈哈,平时用电机很多,觉得没有工具帮助,很麻烦啊~~所以索性就写了一个~~~~~肯定用过啦~~~只不过我不经常用S加速而已,因为不太适合我们的东西,因为他加速太慢了(因为他开始有一段加加速,就是比较平滑那段,怎么都比人家启动的慢~~,或许是加速程序处理不够好~~)~~我用的指数型或者梯形~~~

kinsno 发表于 2013-2-23 13:09:41

myqiang1990 发表于 2013-2-23 13:05 static/image/common/back.gif
我自己写的~~~我为公司开发的,所以东西就归公司了,哈哈~~~肯定用过啦~~~只不过我不经常用S加速而已,因 ...

现在这种文档满天飞,年前看了一些,但真正应用起来,发现多半是书生一拍脑门想出来的或者是拿个信号发生器或示波器证实出来的,并不能在现场应用的,一上应用歇菜。
你是这方面的应用专家,发现你在这方面搞了好几年了,如果方便的话,指数型或T形的,能否给介绍些实用文档,经过验证证实现场可靠应用的文档,我下载两个去,偶最近也在弄步进电机方面的算法。

myqiang1990 发表于 2013-2-23 13:14:02

本帖最后由 myqiang1990 于 2013-2-23 13:16 编辑

kinsno 发表于 2013-2-23 13:09 static/image/common/back.gif
现在这种文档满天飞,年前看了一些,但真正应用起来,发现多半是书生一拍脑门想出来的或者是拿个信号发生 ...

指数的我已经发了,你去看我的帖子找找,有的,我都不知道去哪里了,你去我发的帖子找找~~~我悄悄告诉你,指数只要变一下参数就变成了梯形~~~哈哈~~~我自己无意中发现的~~{:lol:} 你还可以参考AVR那个
AVR446_Linear speed control of stepper motor 文档,代码算法都有,梯形的~~~



kinsno 发表于 2013-2-23 13:19:19

myqiang1990 发表于 2013-2-23 13:14 static/image/common/back.gif
指数的我已经发了,你去看我的帖子找找,有的,我都不知道去哪里了,你去我发的帖子找找~~~我悄悄告诉你 ...

太感谢了,学习去。

myqiang1990 发表于 2013-2-23 13:22:53

kinsno 发表于 2013-2-23 13:09 static/image/common/back.gif
现在这种文档满天飞,年前看了一些,但真正应用起来,发现多半是书生一拍脑门想出来的或者是拿个信号发生 ...

专家就不是,我也半路出家,菜鸟一只,我也是站在巨人的肩膀上啊~~哈哈~~{:lol:}

myqiang1990 发表于 2013-2-23 13:25:28

来这里那么久,我从来都没穿过裤子,这次又图有代码,能穿一只吗?{:lol:}阿莫大哥,发一条裤子给我吧~~~

djkc 发表于 2013-2-24 12:35:11

好东西,下载来看看改成自己的

lgg88 发表于 2013-2-25 08:28:27

zhichi      

wenming 发表于 2013-2-25 08:46:59

支持一下你

苹果520 发表于 2013-2-25 14:36:33

支持下,老大给个裤子吧

bbs2009 发表于 2013-3-15 10:23:00

支持你 {:victory:}

vitech 发表于 2013-3-20 10:24:14

支持楼主!{:victory:}

liangws201 发表于 2013-3-20 10:48:51

lz,牛人啊,都为大家造福啊。

zhzj2007 发表于 2013-3-20 10:54:15

学习                                    

lu976046395 发表于 2013-4-8 15:53:32

有那个加速度曲线生成器吗?麻烦上传一个啊

lee345 发表于 2013-4-8 16:28:04

学习学习delphi等

高达 发表于 2013-4-8 16:30:32

支持一下楼主。..桌面上就有个小电机正在转.

崆峒 发表于 2013-4-8 16:48:38

多谢楼主分享

liuqimin 发表于 2013-4-9 19:16:28

mark……

cdlxzlp 发表于 2013-4-11 15:11:33

顶起来啊   哈哈

jz701209李 发表于 2013-4-12 16:00:40

学习一下....

zhangyb 发表于 2013-4-12 16:14:03

支持楼主,收藏了!!!

tangbaiwen 发表于 2013-4-12 20:37:13

mark。。。。。。

yinhe 发表于 2013-4-13 13:05:09

记录一下

lixingling 发表于 2013-5-8 17:12:36

freqleves := freqleves;//按细分数扩大倍速
这是什么意思,

kenson 发表于 2013-5-8 17:22:00

不错好东西 收了

丅輩孑_变壊 发表于 2013-5-8 17:31:30

没接触过,先顶,试着看看

Keller 发表于 2013-5-8 17:39:28

好东西啊,顶一个 MARK一下,最近在搞这个啊 ,头都大了

vitech 发表于 2013-5-8 21:56:09

好东西,MARK一下

gzrldt 发表于 2013-5-8 22:15:44

没有接触,学习下

zl_123 发表于 2013-5-10 23:33:40

mark....................

jinquan123 发表于 2013-5-12 11:05:19

{:handshake:}学习了~很强大

lcmdw 发表于 2013-6-11 17:29:20

mark{:smile:}

milo112 发表于 2013-7-6 16:28:03

好资料

llz0734 发表于 2013-7-9 23:07:40

{:victory:}好东西,收藏一下!

czf070720 发表于 2013-7-10 09:29:22

楼主厉害!

xml2028 发表于 2013-7-10 09:35:21


支持一下你

tp24656 发表于 2013-7-10 09:49:42

好东西,学习了   

mvpgpz 发表于 2013-7-10 10:04:59

最近正在学习驱动电机mark一下很有必要!!!

lujian19871214 发表于 2013-7-12 15:58:14

学习中。。。

zzz123456 发表于 2013-7-13 11:05:39

记号,收藏

xinxin3219 发表于 2013-7-13 11:37:52

仔细研究下,以前我的一个实现方法就是将一个S曲线折线话,然后用线性函数实现,不过如果要光滑的话程序就很长了,一直没有好的算法

wll_2012 发表于 2013-7-13 11:41:56

好东西,收藏一下

hbthgs 发表于 2013-7-13 20:52:53

学习中。。。

iversonY 发表于 2013-7-15 20:39:19

LZ太牛了,没看懂也MK一下

myqiang1990 发表于 2013-7-15 21:01:34

大牛不敢当,小伎俩而已,,,,我对电机加减速还有如何控制步进电机方面有点点经验,欢迎大家跟帖交流。。。{:smile:}

jacksee 发表于 2013-7-15 21:24:38

必须顶,修炼内功

cuit_artsian 发表于 2013-7-15 22:50:55

收下 以后看看 DIY 小车有用

majay123 发表于 2013-7-19 14:55:25

怎么感觉个 fpba的语言有点像啊

majay123 发表于 2013-7-19 14:55:53

是fpga的语言

cnuk01 发表于 2013-8-10 10:28:51

支持
{:smile:}

xiefy21 发表于 2013-8-10 20:07:48

mar…
顶一个…

ab1212144 发表于 2013-8-10 20:28:48

牛人呀………
标记一下

ZYBing 发表于 2013-9-11 20:12:35

Mark{:biggrin:}{:biggrin:}

kalo425 发表于 2013-9-12 08:47:41

myqiang1990 发表于 2013-2-23 13:14 static/image/common/back.gif
指数的我已经发了,你去看我的帖子找找,有的,我都不知道去哪里了,你去我发的帖子找找~~~我悄悄告诉你 ...

楼主太牛逼了····哈啊哈···别怪我挖坟哈····步进电机s加速算法··记得当时老师讲的时候,让后排睡觉的都起来听···大学真是作孽啊···

nishuizhou 发表于 2013-9-12 16:56:12

实时计算也可以啊,不过稍微麻烦一点,我用的是STM32—FPGA这种模式,性能很稳定。

hxhz123456 发表于 2013-9-12 17:14:58

myqiang1990 发表于 2013-2-23 13:22 static/image/common/back.gif
专家就不是,我也半路出家,菜鸟一只,我也是站在巨人的肩膀上啊~~哈哈~~...

有没有试过在换向桥电路上用PWM实现加减算法与电流力矩动态平衡!

hxhz123456 发表于 2013-9-12 17:20:39

myqiang1990有没有联系方式,很想认识一下你.Q号是21836769.

myqiang1990 发表于 2013-9-14 17:20:25

nishuizhou 发表于 2013-9-12 16:56 static/image/common/back.gif
实时计算也可以啊,不过稍微麻烦一点,我用的是STM32—FPGA这种模式,性能很稳定。 ...

恩,,可以的,,但是应用场所不一样~~在国内~~舞台灯整个FPGA,或者高端ARM是不现实滴~~~外国的有~~我看过~~FPGA的~~但是人家一台就买几万,甚至10几万~~~~国内很多厂商还是51呢~~

myqiang1990 发表于 2013-9-14 17:21:41

hxhz123456 发表于 2013-9-12 17:20 static/image/common/back.gif
myqiang1990有没有联系方式,很想认识一下你.Q号是21836769.

一零八五二二六六久六

myqiang1990 发表于 2013-9-14 17:26:21

本帖最后由 myqiang1990 于 2013-9-14 17:28 编辑

hxhz123456 发表于 2013-9-12 17:14 static/image/common/back.gif
有没有试过在换向桥电路上用PWM实现加减算法与电流力矩动态平衡!

我不怎么懂电路,公司的软件是我一个人不负责编写的~~电路又其他工程师负责,,他们怎么画,我就怎么写~~~呵呵~~这个没弄过~~

lcmdw 发表于 2013-9-14 17:42:00

mark{:smile:}

YS126 发表于 2013-9-14 17:43:50

记号,收藏!

JESTER9 发表于 2013-9-14 17:55:38

好东西,学习下

jiangkexiaozhen 发表于 2013-9-14 20:14:05

步进电机

xjtyOnly51 发表于 2013-9-16 09:54:45

ding ding , thanks{:biggrin:}

追寻cheney 发表于 2013-9-16 12:47:21

顶一个!!

rayingpx 发表于 2013-10-9 23:44:21

必须留个号

cshhua 发表于 2013-10-12 10:52:48


好东西,收藏一下!

stevenniu500 发表于 2013-10-12 10:57:50

好东西,标记一下。我做的一个项目也涉及到了电机加减速。回头学习下。三克油!

X-h-p 发表于 2013-10-18 17:33:32

编译成功,谢谢楼主

mvpgpz 发表于 2013-10-22 08:30:07

好帖,收藏!

fayuanye 发表于 2013-10-22 09:21:26

谢谢分享!!

linhui102 发表于 2013-10-22 09:50:22

顶!顶顶

ltmooner 发表于 2013-10-22 10:32:17

好东西,MARK一下

zzz123456 发表于 2013-11-2 13:49:11

收藏,记号

linluse 发表于 2013-11-25 23:26:35

关注中,正在学习步进电机 谢了

Eric321 发表于 2013-11-26 20:24:31

进来看看。。

longxiaomao 发表于 2013-12-27 16:45:40

myqiang1990 发表于 2013-2-23 13:22
专家就不是,我也半路出家,菜鸟一只,我也是站在巨人的肩膀上啊~~哈哈~~...

太厉害了吧。。。半路出家,我也想半路出家搞那么厉害。。。

yyt1372 发表于 2014-1-21 14:25:25

这是电脑所用的源码?

hhuc_dashu 发表于 2014-1-21 15:11:37

学习!!!!!

ethan_free 发表于 2014-1-21 16:16:17

mark,好东西,正在学习这一块知识

LiuYH 发表于 2014-1-21 19:53:30

mark下要研究下才行 支持楼主

yayagepei 发表于 2014-1-21 20:55:36

标记一下,研究研究

lizheng2013 发表于 2014-1-23 07:15:28

好裤,{:smile:}

manyman 发表于 2014-1-23 15:10:38

好东西,收藏了

630511630511 发表于 2014-1-24 16:30:40

谢谢楼主学习了

Felix257 发表于 2014-1-24 16:53:10

三克油喂了吗吃{:victory:}

acuman 发表于 2014-1-24 20:36:52

厉害厉害

larry.wong 发表于 2014-3-10 16:28:07

nishuizhou 发表于 2013-9-12 16:56
实时计算也可以啊,不过稍微麻烦一点,我用的是STM32—FPGA这种模式,性能很稳定。 ...

您好,能详细指点一下吗?谢谢!

Code-X 发表于 2014-3-10 16:48:32

好东西,赞一个。

nishuizhou 发表于 2014-3-10 16:51:19

larry.wong 发表于 2014-3-10 16:28
您好,能详细指点一下吗?谢谢!

可以用STM32的FSMC 的A模式与FPGA通讯,STM32可以做计算和IO控制,FPGA发脉冲。定制FPGA的脉冲频率。不知你要参与什么项目,说不太清楚

fengdingkusong 发表于 2014-3-10 17:10:50

果断收藏

zjk 发表于 2014-3-10 17:12:41

感谢LZ哈,LZ的头像也太萌了哈,受不鸟了。。。

larry.wong 发表于 2014-3-20 20:42:03

nishuizhou 发表于 2014-3-10 16:51
可以用STM32的FSMC 的A模式与FPGA通讯,STM32可以做计算和IO控制,FPGA发脉冲。定制FPGA的脉冲频率。不知 ...

明白了,谢谢!一直用PLC控制,可不用位置模块性能差。一直想自动设计一块控制板.
页: [1] 2
查看完整版本: 造福大家,哈哈,发一个能用的步进电机S加速曲线的算法...