怎么用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 ; //右电机往前走
}
展开
 我来答
zhxiufan
2017-04-16 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38375
国家科技进步奖

向TA提问 私信TA
展开全部
这个还是比较容易实现的,定义个曲线表就可以了,比如按梯形曲线或S型曲线,定义一个升速和降速表,点击的控制分三个阶段:
1、启动
2、运行
3、刹车
所以需要修改run()这个程序,按这三部曲来做。
追问
原来是从run这里入手,我一直修改控制函数那里,我试试
江苏驰骏智能科技有限公司_
2022-05-18 广告
伺服电机的优点:1、精度:实现了位置,速度和力矩的闭环控制;克服了步进电机失步的问题;2、转速:高速性能好,一般额定转速能达到2 ~3 转;3、适应性:抗过载能力强,能承受三倍于额定转矩的负载,对有瞬间负载波动和要求快速起动的场合特别适用;... 点击进入详情页
本回答由江苏驰骏智能科技有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式