标题:
为什么这个15单片机程序驱动不了无刷电机?
[打印本页]
作者:
luo6824791
时间:
2018-9-4 19:09
标题:
为什么这个15单片机程序驱动不了无刷电机?
这个是输出PWM控制有刷空心杯电机的程序,我把它用来换成无刷电机的就不行了,我用串口改变PWM的值后我用示波器发现是方波了,为什么无刷电机就不转呢
如果要修改的话怎么改
单片机源程序:
#include "STC15.h"
#include "intrins.h"
#define FOSC 22118400L
#define BaudRate 115200
sbit Motor1 = P3^7;
void Delay(unsigned int t)
{
while(t--)_nop_();
}
unsigned char PWM=1;
void main(void)
{
//初始化串口1
SCON=0x50;
PCON&=0x3f;
AUXR|=0x15; //0001 0101 置位对应位
AUXR&=0xf7; //1111 0111 清零对应位
T2L = (0xffff - (FOSC/4/BaudRate));
T2H = (0xffff - (FOSC/4/BaudRate))>>8;
CLK_DIV&=0xef; //xxx0 xxxx 不开广播模式
EA=1;
ES=1;
PS=0;
while(1)
{
Motor1=1;
Delay(PWM);
Motor1=0;
Delay(50-PWM);
}
}
void Uart1_interrupt() interrupt 4
{
if(RI)
{
RI=0;
PWM=SBUF;
}
}
复制代码
作者:
wc86110
时间:
2018-9-4 20:48
配件改变了还用原来的程序或电路可能不妥,要改还是得有根据才行是不?
作者:
人中狼
时间:
2018-9-4 21:46
无刷电机和有刷电机的驱动原理不一样,要大改,看看四轴飞行器方面的资料吧,体积大一点的都是用无刷电机
作者:
hts2008222
时间:
2018-12-5 09:38
无刷电机程序是要按需要换相才能运转起来的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1