使用SPWM 1~64细分驱动2相4线步进电机效果视频
使用STC各种型号的MCU,SPWM1~64细分驱动2相4线步进电机运行效果视频,
同时发布在这里,避免重复上传,有7M多的容量。
视频为串口每隔1000ms自动发送命令: L1,2400,800
所得到的运行效果,即,每隔1000ms,发送一次命令,
(程序默认4细分,800脉冲一圈),电机顺时针转动,
频率为2400表示每秒3转,转动步数为800步,即转一圈。
加减速时间均为100ms,简单的线性加减速。
运行结果,加减速丝滑、稳定。
步进电机驱动 程序, 直接驱动, 或驱动步进电机驱动器 一共8个程序
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2160
{:4_250:} {:4_250:} 驱动芯片用哪个?源程序可以贴出来吗? dbkdz 发表于 2023-7-1 17:31
驱动芯片用哪个?源程序可以贴出来吗?
步进电机驱动 程序, 直接驱动, 或驱动步进电机驱动器 一共8个程序
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2160
{:4_250:} 这个程序看不懂,能说说原理? fjstcmcu 发表于 2024-3-11 22:15
这个程序看不懂,能说说原理?
2相步进电机,给两相线圈加载相位差90度的正弦电流,即可得到细分驱动,程序就是实现这个思想。相位差90度的正弦波,更好是余弦波。 梁工 发表于 2024-3-11 23:28
2相步进电机,给两相线圈加载相位差90度的正弦电流,即可得到细分驱动,程序就是实现这个思想。相位差90 ...
也就是两个相位差90度的正弦波是硬件PWM实现?另这种思想实现的方案怎么调细分 fjstcmcu 发表于 2024-3-12 09:02
也就是两个相位差90度的正弦波是硬件PWM实现?另这种思想实现的方案怎么调细分 ...
细分处理方案:
两个相电流相位差90度,产生的磁力是矢量,叠加后成为一个合成矢量,为了使合成矢量恒定,细分使用正交分解,这样其合成矢量就会恒定(即 SQRT(sin(A)*SIN(A)+COS(A)*COS(A)) = 1。
比如4细分,就是电流从0到最大分4级,即90度分4份,22.5度一份,则得到:
角度A sin(A) sin(A+90)
0 0 1
22.5 0.3827 0.9239
45 0.7071 0.7071
67.5 0.9239 0.3827
90 1 0
按照这个规律,每走一步,根据上面表格的顺序将改变对应的PWM占空比即可。专用驱动器原理是一样的,只不过其PWM控制的是电流,如果我用PWM控制电流,则电路复杂,不合适学习原理,使用SPWM控制电压的方法来控制电流,学习起来简单。