怎么用51单片机控制直流减速电机缓慢启动,缓慢停止?
采用pwm控占空比调速,现在电机启动时是直接按设定占空比转,停止时直接转速为0,很容易把电机齿轮卡坏。怎么写程序让它启动时,占空比慢慢升上去,停止时占空比慢慢降下来?vo...
采用pwm控占空比调速,现在电机启动时是直接按设定占空比转,停止时直接转速为0,很容易把电机齿轮卡坏。怎么写程序让它启动时,占空比慢慢升上去,停止时占空比慢慢降下来?
void control() //按键控制电机转动
{
if(up==0)
{Delay10ms(1);
if(up==0)
{run();} } //前进
else if(down==0)
{Delay10ms(1);
if(down==0)
{ backrun();} }//后退
else if(left==0)
{Delay10ms(1);
if(left==0)
{
leftrun();} } //左转
else if(right==0)
{Delay10ms(1);
if(right==0)
{
rightrun();} } //右转
else {Delay10ms(2);
stoprun();}//停止
}
下面是一个run函数,程序太多这里能看到大概了。
//前进
void run(void)
{
push_val_left=speed; //左电机调速,速度调节变量 0-20
push_val_right=speed; //右电机调速
Left_moto_go ; //左电机往前走
Right_moto_go ; //右电机往前走
} 展开
void control() //按键控制电机转动
{
if(up==0)
{Delay10ms(1);
if(up==0)
{run();} } //前进
else if(down==0)
{Delay10ms(1);
if(down==0)
{ backrun();} }//后退
else if(left==0)
{Delay10ms(1);
if(left==0)
{
leftrun();} } //左转
else if(right==0)
{Delay10ms(1);
if(right==0)
{
rightrun();} } //右转
else {Delay10ms(2);
stoprun();}//停止
}
下面是一个run函数,程序太多这里能看到大概了。
//前进
void run(void)
{
push_val_left=speed; //左电机调速,速度调节变量 0-20
push_val_right=speed; //右电机调速
Left_moto_go ; //左电机往前走
Right_moto_go ; //右电机往前走
} 展开
1个回答
江苏驰骏智能科技有限公司_
2022-05-18 广告
2022-05-18 广告
伺服电机的优点:1、精度:实现了位置,速度和力矩的闭环控制;克服了步进电机失步的问题;2、转速:高速性能好,一般额定转速能达到2 ~3 转;3、适应性:抗过载能力强,能承受三倍于额定转矩的负载,对有瞬间负载波动和要求快速起动的场合特别适用;...
点击进入详情页
本回答由江苏驰骏智能科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询