关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于ATmega8的直流电机PWM调速控制系统设计与实现

基于ATmega8的直流电机PWM调速控制系统设计与实现

作者: 时间:2011-05-27 来源:网络 收藏

3、控制程序
以下是单片机控制的部分程序:
控制器的初始化:
voidtimer1_init(void)
{ OCR1A=0; //初始化为0,停止
OCR1B=0; //初始化为0,停止
TCCR1A=(1TCCR1B=(1  TCNT1=1;
  CLR_IN1;
  SET_IN2;
  CLR_IN3;
  SET_IN4;
}
定时器0中断服务函数,用于控制1A的时间:
SIGNAL(SIG_OVERFLOW0)
{ if(Timer0_Tick1A_counter)
  { Timer0_Tick++;}
  else{printf(ACK:);
  SET_IN3;
SET_IN4;
  OCR1A=0;
  TIMSK=~_BV(TOIE0);
  }
}
电机正转,speed为速度(0-255可调),choose为电机通道选择(R为右、L为左):
voidfor_ward(ucharspeed,charchoose)
{ if(ch=='R')
{ OCR1B=speed; //PWM1B_EN;
  SET_IN1;
  CLR_IN2; }
  Else
  { OCR1A=speed;//PWM1A_EN;
  SET_IN3;
  CLR_IN4; }
}

五、结语

利用单片机产生的PWM信号,加入数字PID算法对电机速度的控制,提高了系统的控制精度,保证了电机转速的稳定性;电机的启动、停止、左右转和速度都由程序定义,调试时只需修改PWM信号占空比即可速度控制,改变输出口电平即可实现电机正反转,无须改变系统硬件电路,即可实现各种控制,能有效缩短开发周期,提高效率;结合了受限倍频单极性可逆PWM电机驱动电路,增强了系统的驱动能力,提高了系统的可靠性和性价比。电路简单,电机控制方便,有利于广泛推广。

本文引用地址:https://www.eepw.com.cn/article/162036.htm

pid控制器相关文章:pid控制器原理


pwm相关文章:pwm原理


脉宽调制相关文章:脉宽调制原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭