找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4445|回复: 0
打印 上一主题 下一主题
收起左侧

STC12C2052AD使用pwm信号给直流电机调速的算法

[复制链接]
跳转到指定楼层
楼主
ID:104126 发表于 2016-1-24 02:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说明:以下只涉及到核心算法,程序其它部分可根据实际情况设计。
1.delay过程在这里用作延时,可根据实际情况调整延时时间,实现电机在某个固定速度上运行一段时间。   
2.pwm_out过程为pwm信号输出。
3.以下一个while代表一次加速度,利用延时过程在while里进行延时累加,实现pwm缓慢加速。可根据实际运行情况实现分级加速。如地铁中常使用的4级调速。
4.如应用至电力机车中,对于电机的调速,电机的加速度尽量接近车辆在一定作用力下的自然加速度,防止对功率管、电机和车辆各个系统造成过大冲击。

pwm_add=20;   //pwm0设置初始值,使得启动时有足够电压驱动电机,并且实现降压启动
    pwm_out(pwm_add);   //pwm0公共过程
delay(base_time,2000);


    pwm_add=20;   //pwm0设置初始值,使得启动时有足够电压驱动电机,并且实现降压启动
    while(pwm_add!=150) //pwm0输出小于151时使其不断累加
     {
    delay(base_time,add_time);   //控制加速度
          pwm_out(pwm_add);   //pwm0公共过程
       pwm_add=pwm_add+1;  //累加器
  }
delay(base_time,3000);  //运行一段时间


    pwm_add=150;   //pwm0设置初始值,使得启动时有足够电压驱动电机,并且实现降压启动
    while(pwm_add!=255) //pwm0输出小于151时使其不断累加
     {
          delay(base_time,add_time);   //控制加速度
          pwm_out(pwm_add);   //pwm0公共过程
       pwm_add=pwm_add+1;  //累加器
  }

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表