5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
标题:
新人关于单片机PWM控制好赢电调的问题 ,大家帮帮我吧!
[打印本页]
作者:
march_gx
时间:
2012-5-18 10:25
标题:
新人关于单片机PWM控制好赢电调的问题 ,大家帮帮我吧!
我的电调初始化程序已经完成了,无论输出的波形是什么样子的(只要是低一点的,大概在一毫秒左右),电机会按照程序走完,等待起飞的响声。电机就一直没有动静了,等待起飞。我试过调到一点五秒,还是一直等待起飞。调到两秒之后,就一直进入设置状态。我用的是stc12c5a60s2的单片机。
程序
#include <reg51.h>
sbit PWM=P0^3;
sfr AUXR = 0x8E;
void delay1ms100us(void) //误差 0us
{
unsigned char a,b;
for(b=42;b>0;b--)
for(a=77;a>0;a--);
}
void delay19ms100us(void) //误差 -0.000000000001us
{
unsigned char a,b,c;
for(c=213;c>0;c--)
for(b=107;b>0;b--)
for(a=1;a>0;a--);
}
void main(void)
{
AUXR = AUXR|0x40; // T1, 1T Mode
InitTimer1();
while(1)
{
PWM=1;
delay1ms100us();
PWM=0;
delay19ms100us();
}
}
我在复位端,以一定的频率,可以让电机转起来。
控制不好,有时会很快停下来。
希望得到大家的帮助,给的程序。。。。。。谢谢
作者:
seanshuai
时间:
2012-5-18 10:44
单片机产生PWM不是这样发生的 要用定时器 STC12C5A60S2是1T单片机比普通的51要块12倍(同样外部晶振) 这样延时是不行的
作者:
lijunmail
时间:
2012-5-18 10:58
同意楼上意见,要用定时器中断
作者:
生活如此多娇
时间:
2012-5-18 11:05
都是高手
作者:
bilyh
时间:
2012-5-18 11:47
提示:
作者被禁止或删除 内容自动屏蔽
作者:
march_gx
时间:
2012-5-18 15:38
现在是找不到最低油门对应得时刻。一直是处于等待起飞的状态。
作者:
bilyh
时间:
2012-5-18 18:01
提示:
作者被禁止或删除 内容自动屏蔽
作者:
bilyh
时间:
2012-5-19 15:28
提示:
作者被禁止或删除 内容自动屏蔽
作者:
铜河
时间:
2012-5-21 08:45
用定时器产生PWM最好
作者:
lll8
时间:
2012-5-21 08:51
学习
作者:
hydefee
时间:
2012-5-22 11:07
还是想想写个PWM信号,作为油门信号?
你这个没有初始化啊。你这样写:
void main(void)
{
AUXR = AUXR|0x40; // T1, 1T Mode
InitTimer1();
PWM=1;
delay500US;
PWM=0;
delay19.5MS;
wait(10S);
while(1)
{
PWM=1;
delay1ms100us();
PWM=0;
delay19ms100us();
}
}
作者:
hydefee
时间:
2012-5-22 11:08
void main(void)
{
AUXR = AUXR|0x40; // T1, 1T Mode
InitTimer1();
for(X=0;X<500;X++)
{
PWM=1;
delay500US;
PWM=0;
delay19.5MS;
}
while(1)
{
PWM=1;
delay1ms100us();
PWM=0;
delay19ms100us();
}
}
欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com./)
Powered by Discuz! X3.3