DRV8711的失速检测问题
您好:
1.数据表中说要在某一最低速度或以上才能产生反电动势,频率调成5KHZ(0.1ms走一个电平,0.2ms走一个周期),为什么还是检测不到BEMF反电动势变化?一直是1V左右(芯片使能着,电机不动也是1V)。
2.这速度不够还是哪出问题了?我暂时不知道该怎么检测问题。我这边最多用到也就10KHZ左右,用这块芯片主要是检测失速或失步,先不说加减速,连最高速度都可能检测不出来,何况加减速做得不好更容易发生失速的吧?
3.暂时用的8细分,如果用256细分岂不是速度更慢?你们测的时候256细分时能测出来吗?我设定的斩波电流1.2A。
4.有中文的数据表吗?英文看着总感觉意会错了什么意思。
PCB板都做了,现在很尴尬。。。
关于stall detection的问题,另一个帖子里面有建议一份快速设置文档,你可以参考调整参数再尝试一下。BEMF主要取决于电机转速。
中文的手册暂时也只是翻译了第一页而已:http://www.ti.com.cn/cn/lit/ds/symlink/drv8711.pdf
抱歉,有一段时间没进社区,没及时看回复。上一个帖子 http://www.deyisupport.com/question_answer/analog/f/60/t/143486.aspx 试了几次都回复不了,就先在这回复吧。
1.数据表写的反电动势是-0.6V到电源电压,我误解成与电源相关。但-0.6V是哪种情况?正常使用时BEMF一般(一秒5圈左右)为哪个数量级?我看SLV632中写的约20mV,那除以4/8/16/32是做什么?
2.上次您说到:“DRV8711不提供速度反馈信号,是一个开环控制器。如果你的电机上有位置传感器,可以通过比较输出信号和位置反馈信号来检测失步。”
位置传感器不是只能知道是否失步,不能知晓失的步数?位置传感器跟DRV8711有什么特殊的配合?您说得做比较的输出信号指的是?
另外,SDTHR[7:0]位代表的具体数值是多少?例如0-256mV???再可分成256份?若BEMF太大再将Vdiv调大?
关于您回复中让看的SLVA632文档中也有几处疑惑:
1.这个1:00AM什么意思?
2.如果设置了ABT位会自动判断到高细分才Tblank减半的吗?低细分为何不Tblank减半?有弊端吗?
3.在慢衰减期间,反电动势短路,这会导致TOFF期间电动机速度非常快地下降?
(This results in the current decreasing very slowly. However, in slow decay the back EMF is shorted, which can cause the motor speed to decrease very rapidly during TOFF.)
不知道翻译正确没。这时候有没有误判失速的风险吗?
4.刚接触电机,看了这么多衰减模式,还是不太懂衰减的用途,以及四种模式(慢衰减,快衰减,混合衰减,自动混合衰减)他们的优缺点和具体的应用用。能否详细指点下?
5.下图SDCNT是什么意思?有什么作用?启动后几步开始检测还是发生失速后等几步开始才报错?
有空时麻烦解答下以上几个问题,万分感谢
快速设置文档中有疑惑:
1.Note that this will only ensure that the minimum PWM frequency is ƒPWM, since the drive time may be longer than TBLANK.(为什么是最小,不应该是最大频率约等于所有时间相加吗)
TBLANK + TOFF + (2 × DTIME) ≈ 1/ƒPWM (Hz) (8)
2.If there is no target ƒPWM, the best way to choose TBLANK and TOFF is to tune the DRV8711 in-system based on the chosen decay mode.这句话什么意思没有目标 ƒPWM则需系统中调优?指加减速每次改变频率需要重新配置TOFF等参数?
1. 似乎是笔误
2. Tblank看8711规格书Figure 10。这些时间的意义和作用都说得比较清楚了。
3. 步进电机的速度只和Step频率有关。这里面说的是直流有刷电机单H桥的情况。
4. 简要概括见图。
5. 检测到stall几个step以后报错。
简单的说,为了更好检测BEMF,需要对BEMF作div或GAIN。
位置传感器看使用什么样精度的了。这个DRV8711已经没什么关系了,是外部独立搭建闭环回路,再反馈控制DRV8711。
谢谢解答。再请教下失速实验测试的问题:
1."检测到stall几个step以后报错" 是指检测一次后延迟几步后报错,还是累计检测到几次失速后再报错?两种情况我都想不出来有什么作用,防止误信号?还麻烦告知下这个参数的作用。
2.失速实验中我将失速条件阈值的最高,使得一启动就会被检测到,使用的是STALLn脚下降沿触发外部中断,但是一旦启动检查到失速后使电机立即停止,清除错误,再次启动又不会检测到失速(状态寄存器里的失速位依旧为0),第三次检测又能正常检测到失速,第四次又不行。也就是检测到失速后,下一次启动就检测不到失速了,请问TI试验时有没有碰到这种情况?
3.同样让其一启动就失速,连续试验了数十次,发现检测到失速时走的步数都不一定,有的走了数步(八细分),我看了下细分表正好是对应第一个零电流阶段,但有的就走了数十步乃至一两百步,对应十多个零电流时期才检测到电机失速,同种条件下失速检测情况不相同,请问了解是什么原因吗成?
(步进周期160us,采样频率50us,BEMF/32,检测阈值为最大FF)
4.失速是在零电流阶段,H桥的一侧处于三态时检测(这里的三态是指高阻态吧),请问只有零电流时期才出现三态吗,还是每次斩波电流改变都会出现?
5.零电流出现三态是8711里特定的?还是所有电机细分驱动芯片都会出现的?
6.每次检测到三态后才开启采样SMPLTH时间,零电流过后就关闭,还是一直都在采样?电机运行时,我将其堵转,有时候很快检测到了,有时较慢(SMPLTH时间都设置小于步进周期)。
7.有什么提高测量准确度的设置方法?快速设置指南文档里讲的都看过。
望按各点回复,不胜感激!
在零电流阶段,H桥的一侧处于高阻抗状态,
延迟几个Step pulses报错。细分的需要。
用DRV8711作BEMF检测失速本来就有很大误差,这种用BMEF幅度设门限的方式只针对正常运转和堵转有清晰差别的系统中。