28BYJ-48步进电机详解

一, 28BYJ-48电机原理

1.1 28BYJ-48是4相永磁试电机,详细信息大家查阅相关资料就可以了;电机的里面有6个齿(0-5),每一个齿上都有永久的磁性,它是电机的转子;电机的外壳有八个齿(A,B,C,D),每个齿上都有缠有一个线圈绕组,正对这的线圈绕组又是链接在一起的如图1.1(详细信息请查阅相关资料): 

图1.1

    1.2 怎样让电机转动起来呢?首先,假设我们让B线导通,此时转子0和3都对应B有一个吸引力;可以看到的是,A和2之间有一个很小的夹角,当我们导通A时,转子就会顺时针转动对齐A,此时我们D和4之间的夹角也减到了最小(再小就是正对),为了让转子向一个方向旋转,我们可以先关闭A,导通D,此时4和D之间产生的吸引力,使电机又顺时针转动了一点。

        步进电机一共有5根线,红色是公共端,接5v电源,橙,黄,粉,蓝,就对应A,B,C ,D ;根据电路的设置,我们可以把电机每转动一个小角度的值给他算出来,分别是:0xe,0xc,xd,0x9,0xb,0x3,0x7,0x6;

        我们在开发过程中,可以直接按照顺序,依次给控制电机的IO口给这几个值就可以了。

  1.3 示列代码:

    #include  

unsinged char code BeatCode[6] = {

    0xE,0xc,0xd,0x9,0xb,0x3,0x7,0x6;

};

void main()

{

    unsigned char tmp;//定义一个临时变量

    unsigned char index = 0;

    while(1)

{

    tmp = P1;

tmp = tmp & 0xF0;

tmp = tmp | BeatCode[index];

P1 = tmp;

index++;

index= index & 0x07;

delay();//延时2ms

}

}

二 拓展蜂鸣器

    2.1     蜂鸣器从结构可以分为电压试蜂鸣器和电磁试蜂鸣器。也可以分为有源和无源蜂鸣器。

    2.2     有源蜂鸣器,一般给一个导通电频,它就可以直接发声了;而无源蜂鸣器内部是不带晶振的,不许给500~4.5khz才会发声。

    2.3     给蜂鸣器的震动频率不一样,蜂鸣器发出的声音也会有差距。一下代码就是配置蜂鸣器发声的:

//示列音频


unsigned int code NoteFrequ[] = {

    523,587,659,698,784,880,988,//低1--7

    1047,1175,1319,1397,1568,1760,1976,//高1--7


  void OpenBuzz(unsigned int frequ)

{

    unsinged int reload;//计算所需要的定时器重载值

    reload = 65536 - (11059200/12)/(frequ*2);//由给定的频率计算定时器的重载值

    TH0 = (unsigned char)(reload>>8);//16位重载值,分解为高低俩个字节

    TL0 = (unsigned char)reload;

ET0 = 1;//使能T0中断

TR0 = 1;//启动T0

}

你可能感兴趣的:(28BYJ-48步进电机详解)