在设计功能较为复杂的程序时,往往离不开各种功能函数的配合。在脚本编程的情况下,自然也不例外。
但在该环境下的函数设计,也与常规的函数设计有一定的差别,那就是这种函数是不带形参的。为此,在进行函数设计时,要借助全局变量的配合来传递参数。
定义函数的方式为:
function 函数名
{
函数处理内容
}使用函数的方式为:
函数名
此外,在各种功能设计中还离不开各种延时函数的使用。在这中使用频率最高的当属sleep指令,其可产生秒级延时效果,并支持诸如延时2.5秒的延时效果,其指令为:sleep 2.5
那我们要延时更长的时间呢?
我们可以通过附加延时单位来实现,以延时5分钟为例,其指令为:sleep 5m
那延时单位有那些单位呢?
这些单位分为:s为秒、m为分钟、h为小时、d为天数。
那要延时更短小的时间呢?
可细分为毫秒和微秒级,所使用的指令为msleep和usleep。
有了以上的知识准备,下面就其来实现步进电机的驱动。
步进电机是一种将电脉冲转换成相应角位移或线位移的电动机。当为其输入脉冲信号时,转子就会转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。因此,步进电动机又称脉冲电机。
受驱动能力的限制,要驱动步进电机需为它配备功率驱动模块,见图1所示。

图1 步进电机与驱动模块
以五线四相步进电机为例,其内部结构如图2所示。

图2 内部结构
因为步进电机是由直流脉冲驱动的,其工作原理是将直流电变成分时供电,进而由多相时序控制电流来为步进电机供电,以驱动步进电机转动。
该步进电机有两种驱动方式,即:四拍驱动方式和八拍驱动方式。
在四拍驱动方式中,每次仅有一个线圈通电,对磁铁产生吸引作用,从而使电机转动,且每次转动一个相位。此外,改变脉冲方向,还可控制电机的转动方向。

图3 四拍驱动方式
相当于四拍驱动方式,八拍驱动方式实现了更精细的角度控制,更适用于高精度的控制场合。

图4 八拍驱动方式
通过对节拍间时间的控制,可调节步进电机的转动速度。间隔时间越短,则转速越快,且扭矩也越小。
由于在步进电机的内部是由以齿轮来减速的,所以一个节拍周期并不是转动一圈,这之间有一个转换关系,不同的电机其比例系数不同。
步进电机与开发板的连接关系为:
A----P0C6(gpio22)
B----P0C7(gpio23)
C----P4A0(gpio128)
D----P4A1(gpio129)

图5 器件连接
对所用引脚的配置程序,见图6所示。

图6引脚配置
驱动步进电机转动一周的函数内容及其用法,见图7所示。

图7 函数定义及使用
演示视频:
25

