您当前的位置:五五电子网电子知识电子知识资料电动机-发电机减速步进电机28BYJ-48原理分析及演示程序 正文
减速步进电机28BYJ-48原理分析及演示程序

减速步进电机28BYJ-48原理分析及演示程序

点击数:7614 次   录入时间:03-04 11:58:30   整理:http://www.55dianzi.com   电动机-发电机

  减速步进电机28BYJ-48原理图如下图所示:

减速步进电机28BYJ-48原理图

  中间部分是转子,由一个永磁体组成,边上的是定子绕组。当定子的一个绕组通电时,将产生一个方向的电磁场,如果这个磁场的方向和转子磁场方向不在同一条直线上,那么定子和转子的磁场将产生一个扭力将定子扭转。
  
  依次改变绕组的磁场,就可以使步进电机正转或反转(比如通电次序为A->B->C->D正转,反之则反转)。而改变磁场切换的时间间隔,就可以控制步进电机的速度了,这就是步进电机的驱动原理。
  
  由于步进电机的驱动电流较大,单片机不能直接驱动,一般都是使用ULN2003达林顿阵列驱动,当然,使用下拉电阻或三极管也是可以驱动的,只不过效果不是那么好,产生的扭力比较小。

  步进电机演示程序如下:

  #include <reg52.h>
  
  sbit key=P2^0; //按键控制步进电机的方向
  
  unsigned char speed=5; //步进电机的转速
  
  //八拍方式驱动,顺序为A AB B BC C CD D DA
  
  unsigned char code cLOCkWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x0d};
  
  void delay(unsigned char z)
  
  {
  
  unsigned char x,y;
  
  for(x=0;x<z;x++)
  
  for(y=0;y<110;y++);
  
  }
  
  void main()
  
  {
  
  unsigned char i;
  
  while(1)
  
  {
  
  for(i=0;i<8;i++)
  
  {
  
  if(key)      //按键未按下,正转
  
  {
  
  P0=clockWise[i];
  
  delay(speed);
  
  }
  
  else      //按键按下,反转
  
  {
  
  P0=clockWise[8-i];
  
  delay(speed);
  
  }




本文关键字:步进电机  程序  电动机-发电机电子知识资料 - 电动机-发电机