网站后台功能模块情感营销案例
本文面向初学者,请多各位高手包涵。我在此特别致谢勤为本先生为我提供的帮助。
步进电机
步进电机就是一种受脉冲控制的电机,步进电机接收到一系列某种调制顺序的脉冲,做出相应的反应,转到相应的角度或者相应的圈数。
步进电机的选择
我选择应用广泛价格最便宜的步进电机,型号为28BYJ-48。
这款电机的型号名28BYJ-48的意义为:“带减速齿轮(J)的永磁(Y)四相八步(48)步进电机”。详细的电机参数如下表所示:
型号 | 28BYJ-48 |
安装孔距 | 35mm |
电压 | 5V |
相数 | 4相 |
减速比 | 1/8 |
步距角 | 5.625° |
驱动方式 | 4相8拍 |
空载牵入频率 | 600Hz |
空载牵出频率 | 900Hz |
转矩 | 1≥34.3mN.m |
净重 | 40g |
空载牵入频率:是指步进电机在裸机运行状态,即没有任何外加负载的时候,从静止到转动的状态,能够成功启动步进电机而且不丢步的最高频率。
空载牵出频率:是指步进电机在已经启动的状态下,不断地增加频率,直到达到步进电机的极限,步进电机开始呈现出抖动且出现丢步运行,此时的频率。
28BYJ-48的空载牵入频率600Hz,所以控制脉冲最小周期应为T=1/600=1.7ms,即设定的脉冲周期应大于1.7ms。
丢步:步进电机是由电机里旋转的磁场驱动的,理论上步进电机所走的步数就是磁场的步数。但如果电机旋转的速度跟不上磁场旋转的脚步,这种步进电机比磁场少走几步,即为丢步现象。丢步时步进电机会发生抖动。
一般来说发生丢步有以下原因:
1.电机所带的负载过大,超出其能力范围,因而造成丢步。
2.电压太低,驱动力不够造成丢步。
3.步进电机发热后,磁铁的磁性会下降,因此会在运转一段时间后丢步。
4.大部分步进电机并不能高速旋转,设定速度太快会造成丢步。
28BYJ-48步进角度为5.625度,我用的这款这个减速比为1/8,
5.625/8 ≈0.703125,
360/0.703125=512
即512个脉冲步进电机转一圈。
28BYJ-48接口意义
序号 | 颜色 | 描述 |
1 | 红 | +5V输入 |
2 | 橙 | A |
3 | 黄 | B |
4 | 粉 | C |
5 | 蓝 | D |
28BYJ-48步进示意图
上电时,Sb接通,Sa、Sc、Sd断开,B磁极与转子0号,3号对上,此刻,转子的1号,4号就与C磁极,D磁极分开,产生错齿。转子的2号,5号就与D磁极,A磁极分开,产生错齿。当接通Sc,Sa、Sb、Sd断开时,因C磁极磁力与1号,4号磁力的相互作用,电机转动后,1号,4号与C磁极对齐。此刻0号,3号与A磁极,B磁极分开,产生错齿,2号,5号就与A磁极,D磁极分开,产生错齿。如此这般四个磁极轮番顺序供电,电机就转动起来。
28BYJ-48有如图2.2的三种工作方式。我准备实现双四拍和八拍工作方式。单四拍的转的快,但是力矩小。八拍转的慢,但是力矩大。双四拍介于两者之间
28BYJ-48脉冲时序图
驱动板的选择
智龙开发板所发出的脉冲信号特别的小,仅仅依靠这脉冲信号,是不足以驱动步进电机的。因此我需要一个驱动板,由驱动板接受智龙开发板发出的脉冲信号,然后将之放大,并传到步进电机,从而驱动部件电机工作。这里我选择广泛适用于智能车的L298N。四个输出口恰好能驱动一个28BYJ-48。
驱动板L298N
L298N是意法半导体制造的电机驱动芯片,其特点是适应性好,成本低,能经受较大电流,较高电压,抗干扰能力强。L298N的供电范围为电流2A,电压5V到35V。额定功率25W。此外还具有过压过流保护功能。所以说用L298N这个芯片来完全能带动28BYJ-48。
驱动方式及接线
由智龙开发板的PWM口产生所需要的脉冲,然后通过智龙开发板的GPIO接口传输到驱动板L298N的四个输入接口上,然后经L298N放大后,由四个输出口传输到步进电机的四个信号输入口上,从而驱动步进电机。
步进电机驱动方式示意图
28BYJ-48除了的+ 5V(红色)不接,其他的依次接到驱动板L298N的OUT1到OUT4上,驱动板的输入口IN1到IN4依次接到智龙开发板的PWM0到PWM3所对应的GPIO口上,L298N的GND接智龙开发板的GND,+5V接VCC。
具体的接线管脚如下表所示:
管脚接法
智龙开发版 | L298N输入 | L298N输出 | 28BYJ-48 |
GPIO 06 | IN 1 | OUT 1 | A(黄) |
GPIO 92 | IN 2 | OUT 2 | B(蓝) |
GPIO 46 | IN 3 | OUT 3 | C(粉) |
GPIO 47 | IN 4 | OUT 4 | D(橙) |
VCC | + 5V | ||
GND | GND |
软件及系统部分的设计
Linux系统的配置与MIPS交叉编译环境的搭建
在Linux系统的单片机上进行嵌入式驱动和程序的开发,因为运行Linux系统的开发板的CPU主频很低,处理能力很弱,只适合进行程序的运行,不适合做程序的开发和调试。因此,我需要在电脑上安装一个Linux系统作为宿主机,然后在宿主机的Linux上配置好MIPS芯片交叉编译环境。然后驱动和软件的编写,编译在宿主电脑上进行,将编译好的智龙开发板用的Linux系统内核和用户程序通过串口软件,和网线的链接传到开发板上进行调试。根据软件实际运行的状况,在宿主机上对源代码进行修改,重复调试,最终得到想要的效果。
Linux系统的选择与虚拟机选择及安装
因为智龙开发板上运行的是32位Linux系统,所以宿主机上必须安装32位的Linux系统,这样编译出的程序才能正常运行。为了便于使用,我选择在虚拟机中安装。我用的是32位版的Ubuntu12.04。Ubuntu是一个主流的,开源的,免费的,操作方便的,界面友好的Linux系统的发行版。至于虚拟机,我用的是VMware公司的VMware Workstation 10.0,为了稳定考虑,我没有选择最新版。VMware 可以从网上下载到,具体的VMware安装的具体过程和教程网上都可以找到详细的教程,我在这里就不再赘述。
Linux系统的安装
1.Ubuntu12.04可以从网上找到下载的资源,选择32位版本,将ISO文件下载到硬盘上。打开之前安装好的的VMware,点击菜单栏,点击文件下拉菜单,点击新建,创