OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 综合技术 » 工业控制与自动化 » 用国产单片机stc8a的PWM来驱动步进电机,如何改变频率?

共4条 1/1 1 跳转至

用国产单片机stc8a的PWM来驱动步进电机,如何改变频率?

工程师
2021-03-04 10:07:16    评分

大家中午好!

我用国产单片机stc8a的PWM来驱动步进电机,请问如何改变频率以改变它的速度或力矩。。。


我用的STC的例程如下:


#include <STC8A.h>

#include "stdio.h"

#include <intrins.h>

sbit k1 = P2^1;

sbit k3 = P2^2;

sbit k2 = P2^3;

sbit P1a6        =   P2^6;

void main()
{                               
                                P2M0 = 0x20; // 设置强挽推,设置准双向
        P2M1 = 0x00;
                                P_SW2=0x80;
                                PWMC。K。S=0x00;
                                PWMC=0x7999;   //设置脉冲总数
                                PWM5T1=0x0010; //设置低电平开始值
                                PWM5T2=0x06050;  //设置高电平开始值
                                PWM5CR=0x80;
                                P_SW2=0x00;
//                    PWMCR=0x80;
             
              P2PU=0x0E;
        while(1)
        {
                if(k1==0) P1a6=1,PWMCR=0x80;
                if(k2==0) PWMCR=0x00;
                if(k3==0) P1a6=0,PWMCR=0x80;
                                }
                        }




关键词: stc8a     国产单片机     步进电机    

工程师
2021-03-04 21:24:48    评分
2楼

改变PWMC寄存器看看!


工程师
2021-03-04 21:37:52    评分
3楼
PWMC决定PWM周期(或频率),修改PWMC一定会改变周期(或频率)。
楼主是直接用PWM驱动步进电机线圈吗?如果是,则PWM频率是固定的,只改变PWM占空比,按一定速度查正弦表输出就可以获得转速(所谓SPWM),查表速度越快,转速就越快。
如果是步进电机自带驱动器,MCU仅仅是给脉冲,则使用PCA或定时器输出可变频率方波最方便。



工程师
2021-03-04 21:47:02    评分
4楼

改变电压也可以改变力矩或速度的~


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]