微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 多轴步进电机控制方案

多轴步进电机控制方案

时间:10-02 整理:3721RD 点击:

我现在要做多轴步进电机控制,TI提供的方案很多,arm,dsp,430都有,当然还有可选的驱动级drv,现在想用430+drv8825,可行吗,还有那些可行的可以借鉴的方案,谢谢

先看系统的电压范围和电流级别是不是和所选芯片匹配。再看输入控制方式是不是你想要的(这里根据你选DRV8825,假定你是要index控制,就是STEP/DIR)

下给出DRV的几套方案,至于MCU,只要能发送所需的STEP/DIR信号就行了,基本上MSP430就可以满足要求

方案:

DRV8825

DRV8818

DRV8880 (电流满足的话首选,最新最好性能,decay优化最好)

DRV8711 + MOSFET (大电流方案)

您好,昨天北京刚听完您的电机主题演讲,还要了您的邮箱,没想到9月份您就回答过我的问题。

1.您说看输入控制方式是否是我想要额的,请问常见PWM、Step/Dir、PH/EN三种具体区别在哪,控制方式选择对性能没影响吧

2.我了解到现在步进电机驱动器厂商主控制器用DSP,功率级电路分立元件,请问您能告诉我这两个选择为什么吗,因为集成芯片细分数不够,精度不够吗(DSP2000针对电机等应用,可是TI好像没有基于C2000的步进电机EVM)

3.昨天您说了POWERPAD布线影响很大,要谨慎,当时讲的有点快,请问注意点有哪些

4.对细分的概念我了解了,但是我一直没理解为什么一个方波慢慢细分,比如2细分,本来电机一步的转角就分成两步了,和电流大小有关?我查很多资料,还没想通,请您解惑

5.我查了您说的DRV8880最新产品,可是它只有16细分,但是我项目里面需要位移台um级别移动,应该要大的细分吧,DRV8880应该就不满足了吧

6.撇开控制方式,针对多轴精密位移控制,在驱动器设计上请问您有什么建议方案吗

真心感谢。。。。。

DRV8412-C2K 套件是基于C2000的步进电机平台

控制方式对性能有一定的情况,主要是细分多少的影响

布线最主要是要加大电容在VM到地之间靠近芯片。PowerPAD是用来散热的,要和大面积的接地铜箔连在一起。

高细分可以通过自己做细分来实现,DRV8881,DRV8812,DRV8848都可以实现高细分,下面是一个用DRV8812实现256细分的文档。

http://www.ti.com/lit/an/slva416/slva416.pdf

http://www.ti.com/lit/an/slva641/slva641.pdf

关于细分,做之前还是要先理解透细分的原理,意义,可以上网搜搜各种资料,具体问题可以发到这里

您好!

1.我记得您主题演讲时说除了DRV8711实现256细分,可以选择不带细分的驱动芯片实现,可是您说的drv8812/13和drv8828/29都是带细分的,难道这里的细分和drv8825那样的step/dir有区别,他们是ph/en,不是indexer?

2.您提供的方案,也给了我链接文档,是基于430的,请问有源代码,能提供吗,还有drv8412-c2-kit应该也可以实现细分,请问能提供源代码吗?

3,请问TI那么多drv8系列驱动芯片,哪些同样控制接口芯片,比如说都是step/dir可以兼容互换吧?不同控制接口,如step/dir和ph/en等可以互换吗?具体到您说的drv8812实现细分的例程,我把drv8812换成你说的第三代drv8881有问题吗?

4请问在选用430做主控制器时,它的输出控制信号是用timer还是普通io口实现的,c2000的话是用事件管理器ev输出的PWM波实现的吗?

5.你说不同的控制接口,step/dir,ph/en,pwm它们本质上有什么区别,能仔细阐述一下吗?

谢谢!

STEP/DIR 都是相当于内置了index的细分,是固定死的,比如芯片提供了最大1/32 1/16 或者1/256 就不能再实现更高的细分了。此时每个STEP走一微步。DIR代表方向。

我说的DRV8812/13 DRV8828/29是另一种形式,芯片是PH/EN的接口,自己完全没有细分功能。需要外部做SPWM控制,实现类似细分的效果。

C2000的那套是有源代码的,可以装了controlSUITE以后到安装目录中找到。

DRV8881E 可以替换DRV8812,当然不是P2P的。

接口的区别都是形式上的,本质都是要控制电机的电流按照正弦变化。当然不同接口做正弦电流的方法也通常是不一样的。 建议上网多查查一些关于细分的方法、目的和意义的资源。

您好,非常感谢你之前耐心详细的解答,你之前说过drv8881和drv8880是ti
第三代驱动芯片,自带autotune,我发现drv8846是32细分而且也带autotune吧?
1.我想我这边需要高精度,根据你之前的解说,带有autotune,但是我看文献就没理解decay具体是电流控制哪个环节,针对decay是电机哪个环节以及autotunr它是如何实现文档里所说的优势的,我想如果我需要精确控制电机,最好应该选择带autotune的芯片吧?希望你能讲述一下

2.我知道步进电机控制可以开环或闭环,闭环一般会有电流和位置反馈,请问drv8x系列(比如drv8825,drv8846)的current regulation是不是就是所谓的电流环?这样使用它们就不需要像使用其他芯片要选择dsp,然后自己设计电流环,dsp处理?

没错,带有index的步进电机驱动芯片是有电流闭环的,但是电机控制上层还是一个开环方案,步进电机系统只有加了位置传感器才叫闭环。

auto tune 只是方便了大家调节decay参数,也具有更多的可调节量,从而有可能适用于更多不同参数的步进电机,并实现形状较好的正弦电流控制。当然即使没有autotune 比如DRV8818,DRV8711这些开放了很多decay参数的芯片还是可以通过参数的仔细调节来实现好的效果。不过像DRV8824这些就没有太多可调的选项,第一次接上电机控制的效果是什么样就什么样了。

DRV8846也算是有autotune的电流控制效果很好的芯片,基本上只要电机的电压电流范围符合就可以使用了。

完全自己写程序做细分(选择没有index功能的驱动器)就需要自己用MCU控制电流,自己做电流反馈了,自己产生正弦电流节拍。当然细分数可做的很高。

Wilson Zuo,再一次感谢,在您的帮助下DRV8X系列我基本很清楚了,理解也比较透彻了,最后几个关于DRV8846的问题还请您解惑。

Step信号时序图可知,它的高低电平大于1.9us就可以(占空比没要求,满足是需要求可以随意变吧),但是在current regulation时TOFF-SEL是10us,20us,30us可调的,根据文献公式可知,电机转速由step的频率决定,理论上也是一个step电机旋转一个微步,但是手册中每给一个step信号,产生的pwm都至少要10us(10us,20us,30us可选)去decay,然后等下一个step(pwm来临),我感觉这里矛盾,pwm信号根本无法跟上step信号的变化(而且在drv8846第20页图12中还展示一个step有几个pwm周期去调节电流),真正电流控制应该是pwm,所以step信号就无法控制电机状态了,这里我比较糊涂,希望您解释一下。

STEP 信号只是看上升沿的。不过当两个微步的时间短于一个PWM周期时(通常是电机很高转速时,而且用高细分驱动时),电流的调控仍然有效但是不可能像低速时的控制的那么好。

举个例子,1.8度的电机,200个脉冲转一圈,当600rpm时(对步进电机来说已经很快了,此时电流控制本身就已经很难正弦了,电源减反电势除以相电阻有可能达不到设置电流值,这里先忽略这一层面的影响)此时整步输入频率是2K,即两个脉冲间是500us,这样中间还是有挺多个PWM周期的。但是用做16细分是,达到同样的速度是要32k的输入频率,两个脉冲间隔是30多us,可能就是1个两个PWM周期了,这个时候,电流限变化很频繁,但是每次变化不多,电流调整的机制可以跨越一个微步继续有效,在多个微步的尺度上还是总体围绕设定的正弦变化,并不影响总体效果,只是微步的分辨率,电流的准确跟随并没有设置的那样高而已。

Wilson Zuo ,您好,您的讲解让我对drv8846有了深入详细的了解,过去两天以初步完成基于drv8846的4轴的驱动级电路设计并将控制口预留引出,我这边涉及多轴精密控制,现在在纠结主控制器的选择,是选msp430,还是选择dsp2000,选择dsp2000的话是浮点还是定点的2812,我拿不定主意,我主控制器要求可以精密控制4-6轴步进电机,且可以与pc机通讯(那样我可以自己编写上位机程序控制),不知您对主控制器选择有什么看法和意见,希望您提供选型指导并给出各主控制器选择优劣,谢谢

我最近在用4片DRV8711做四轴步进驱动器,用STM32控制的

 MCU方面我们有很多专家在C2000和MCU论坛上,您可以去咨询一下。从我看到的客户情况来说,工业应用大家肯定是首选C2000的,而且你做的是多轴控制,如果多轴联动插补运算很多的情况下,还是要选用很高级别的MCU的

Wilson Zuo你好,我之前采购了TI两套电机控制套件,DRV8412和8711的,用drv8412做了一些实验,同时自己选用drv8846设计了多轴驱动控制并电机可以相对较好运转,有几个问题还想向您请教 1.假设我给出10K step信号,采用不同细分,那么输出的近似正弦波的电流信号频率是多少,是10K/细分数吗? 2.我用TI controlsuit自带的drv8412上位机控制界面,可以调节输出电流大小,step等参数,同时实时显示两个线圈绕组的电流波形,为什么我设定电流值(比如2.5A),但真正输出波形图并不是以2.5A为峰峰值的正弦波,而是只有±0.2这样(当然,相应改变输出电流参数,输出电流波形图值正相关随着改变),这一点和我自己做的基于drv8846一样,我用12V直流稳压电源给我做的drv8846驱动板供电,设置输出电流0.5A这样(我电机要求工作电流0.49),但是电机正式运转时,稳压电源上显示的电流值只有0.12,请您帮忙解释一下 3.我自己设计的drv8846驱动板,选用稳压电源供电时候电机运转很好,但是当我用市面上输出为12_的适配器供电时电机运转却变得特别差,磕磕碰碰,我想这应该与供电电源有关,您能解释一下其中关系吗 4.最后一个问题是我希望能够用仪器把其中一线圈绕组电流(正弦波)实时检测出来,ti的drv8412应该是用采样电路经过A/D然后画图,这部分电路和程序我没有做,我想请问您有什么方法建议可以让我自己通过某仪器去检测绕组电流,我调研了一下,在其中一组线圈串联了1欧的电阻,用示波器检测电阻两端电压,但是只要示波器接上电阻一端,电机立刻停止运转,请问这是怎么回事?我把电机这个控制对象去了,直接在一组线圈串联电阻,去检测却也检测不出来,这样把电机去了直接接电阻作为负载来检测方法就是错的吧,请您解惑,先谢谢您了!

1. 一个正弦波周期包含刚好4个全步整步,假设细分数为m=1, 1/2, 1/4..., F= 10k*m/4

2. 你是说电源端看到的电流吗,这个通常是正常的,因为电源端的电流和电机相电流没有直接关系,之间插入了PWM的机制。一般都是电源端电流小。这么来理解,到了电机线圈上是有PWM的,电机线圈的实际功率是  

V 相电压 * I 相电流 = VM * I 电源电流,但是V相电压= VM*PWM_Duty. 所以 I 电源 = I 相*PWM_Duty. (这里忽略了芯片电流损耗,但是基本可以忽略)

DRV8846会看到同样的问题。

3. 电源会有关系,板子上VM的去耦电容估计也没有放好吧。

4. 只是测量用,建议直接上一个电流探头。串电阻测量也可以,不至于一碰就不能运行,看看是不是存在示波器接地问题

接电阻测量不行,完全没有电感效应,不能真实反应电机线圈特性

Best regards,

Wilson Zuo,您好,这份回复很唐突,目的不在技术咨询,在于自我推荐。

您以前在TI会议后留给我您邮箱,不过我发送您私人邮箱系统提示不存在,所以我在此回复.

我非常渴望加入TI,我不知道通过什么更好的途径去应聘推荐自己,因为我已经3次在TI官网申请,但是没有收到任何消息,我和TI唯一能想到的联系就是您,所以如果可以的话,希望通过您引荐应聘TI,我的邮箱是xiao-zheng@buaa.edu.cn,在此,先感谢您的查阅!

您好,这个用stm32编程的时候需要注意些什么啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top