建设网站建设什么征琴,甘肃seo网站,网络舆情监测工作,企业手机端网站源码最近在搞电机驱动程序#xff0c;感觉很简单#xff0c;实际操作却发现里面还有很多猫腻#xff08;细节#xff09;。 电机在嵌入式设备中非常常见#xff0c;例如云台的转动#xff0c;都是靠电机来驱动的。
电机常见分步进电机、直流电机#xff0c;相对来说步进电机…最近在搞电机驱动程序感觉很简单实际操作却发现里面还有很多猫腻细节。 电机在嵌入式设备中非常常见例如云台的转动都是靠电机来驱动的。
电机常见分步进电机、直流电机相对来说步进电机精准度会更高控制起来也更复杂。直流电机往往需要接一个反馈才能比较好的控制电机。
总体来说电机驱动的目的
1、电机开关
2、电机转动方向
3、电机转动距离角度
4、电机转动速度
把这几项管理好协调好就是驱动主要目的。
很多情况下电机不仅仅是转与不转的关系还应该有其他要求因此需要程序或芯片来实现驱动功能。
以下是比较常见的架构当然现在驱动芯片很强可以同时驱动多个电机 作为程序员而言其实是关心的怎么通过MCU “调用” 驱动芯片实现
开关切换、电机转动方向切换、电机转动速度调节之类的。
还好本次同时接触了两款不同的驱动芯片因此可以明确一点不同驱动芯片驱动方式是不相同的所以要分析对应的技术手册文档往往都比较简单虽然看起来内容很多
但不管怎么样还是存在一些共同特性后面会记录。
先看下其中一款驱动芯片引脚定义 其实一开始小白是看不懂的当然有类似经验就好了。总的来说对软件而言关心的有这几个VREF1~VREF4、OUTx、Ixx、PHASE1~PHASE4这几个后面两组是用来Control input控制输入的也就是开关。
再来看看驱动芯片内部结构 就好比流程图一样左边是我们要输入的通过MCU右边是控制输出的。逻辑也上很简单。 再来看看另外一款驱动芯片信息的 这款更简单最多控制两路电机。
与上面那款比起来共同关注是VREFx、OUTx表示的意思也是一样的。
其他常见引脚
●EN 逻辑输入它是芯片使能输入。低逻辑电平可切断桥 A 和桥 B 的所有功率 MOSFET。
此引脚还连至过电流和热保护电路的集电极以实现过电流保护。
●CLOCK 逻辑输入它是步进时钟输入。在每个上升沿状态机前进一步。例如HALF step模式下如果输入一个 波形则Step1
●CW/CCW 逻辑输入它选择了旋转的方向注意这个不是电流控制方向。高逻辑电平设置的是顺时针方向低逻辑电平设置的是逆时针方向。这个跟上面CLOCK有关系要确认好
就好比现在要去调整开关电风扇开关设置风量大小这个引脚的意思你要顺时针调还是逆时针调
●HALF/FULL 逻辑输入它是步进模式选择器。高逻辑电平设置的是半步进模式低逻辑电平设置的是全步进模式。
●CONTROL 逻辑输入它是衰变模式选择器。高逻辑电平设置的是慢衰变模式低逻辑电平设置的是快衰变模式。
●VREFA 和 VREFB 模拟输入它们分别是桥 A 和桥 B 的源引脚。PWM输入如果此处固定输入则Iout是固定的这里 核心内容
控制开关输出
第一款芯片我们来看看手册 大致意思是通过使能I0I1PHASE来控制输出方向状态之类通过VREF来控制速度。这样不是就简单了嘛。但是需要怎么使能呢还得看一张表 圈出来的就是我们需要的。 第二款芯片我们来看看手册以Half step为例 大致的意思当选择half step独立使能引脚模式时通过给不同数量的CLOCK可以实现不同形式切换。 这张图看右侧波形举个例子
当step4的时候IoutaCW,Ioutb待机
当step5的时候IoutaCW,IoutbCW
.... 实际turn A B 实现效果 step1 CCW0 CCW0 A、B反向输出 step2 -2 CCW0 A不输出B反向 step3 CW1 CCW0 A正向B反向 step4 CW1 -2 A正向B不输出 step5 CW1 CW1 A正向B正向 step6 -2 CW1 A不输出B正向 step7 CCW0 CW1 A反向B正向 step8 CCW0 -2 A方向B不输出