DRV8834 来控制电机,该控制哪些引脚
BPHASE: direction
ANEBL: logic down enables all outputs
BNEBL: rising edge moves to next step
M0: logic high set Aout1 high Aout2 low.control along with M1
M1: determines the state of the outputs when xENBL = 0. Control along with M0.
SLEEP: logic low to enter low-power sleep mode and reset all internal logic.
方向用BPHASE 来控制,另外一些说的很多,有点混乱,以至于我不知道该将哪个引脚复用为定时器,并配置成PWM模式。
看看User's Guide: http://www.ti.com.cn/cn/lit/ug/slvu701a/slvu701a.pdf
首先,你先确定你是步进还是直流电机。直流就用PHASE、EN控制,步进的话可以PHASE、EN也可以STEP、DIR。
通过config引脚来选择控制模式。如果是STEP、DIR,PWM就加在STEP
Mickey 谢谢回复
有一个小请求,在user's guide 中能帮忙抓下重点么,英文不是很好,抓不住重点。
• Dual H-Bridge with independent current control and PWM control on the ENABLE and PHASE lines.
• Internal indexer microstepping driver capable of supplying up to 32 degrees of microstepping to a
single bipolar stepper motor.
• Dual H-Bridge configured to supply up to 512 degrees of microstepping to a single bipolar stepper
motor.
This user's guide details the operation of the EVM in any of the three modes, as well as the hardware
configurability of the evaluation module.
就发现了这个,但是也没具体说怎么实现。
chunjiang 谢谢回复
我是控制步进电机, 电路图上DRV8834没有引出config引脚, 也是可以PWM加在STEP上吗?
如果你config脚悬空了,就是低电平,选择的是PSASE、ENABLE控制方式,控制线就有4根,一般就整步运行,如果要实现高细分,就在VREF那加变化的电压
Chunjiang 你好
我描述下我的思路,
en(0);
dir(0);
step(0)
delay_us(20);
step(1);
delay_us(20);
en(1);
我这样写,是走一个step。 这样写有什么错误么?
Chunjiang
我想问下我的CONFIG脚为高电平,然后STEP 引脚给了一个波形,但步进电机还是没转,想问下该从哪方面来找问题
STEP频率不要太快,可以从1k调起,然后M0 M1也可以选择一个高一点的细分。然后就是VREF和sense电阻,计算下电流是否合适
ok,可以了。之前错误是有个电阻大了。 感谢!
你好,在吗,我刚拿到板子,有些问题想要请教下
你好,借此正好问一下。问题1:对于这款芯片在驱动步进电机时,选择step模式,我现在不太懂是通过mcu给step的pwm波脉冲个数来确定走多少步呢?还是pwm的脉冲一直给,通过那些使能或者nsleep脚来让整个电机停下来(就算pwm还在给也动不了了) 问题2:然后就是通过pwm脉冲的频率来控制速度,你前面有说不要太高从1k调起就好,但是我如果说电机正常运转也只要每秒940个脉冲(当然启动时就更低了),每秒就给这么多,是否可以?