由于其它模块属于通常的一些模块,此处不再详述。
5系统软件设计
整个系统软件分为三部分:
1. 伺服电机的核心驱动模块,这部分主要是产生电机驱动所用的PWM信号和相应的控制环路;
2. 系统控制程序;
3. 人机接口界面程序;
电机的核心驱动模块的结构如图 5-1所示,模块使用经典的三环位置伺服结构。整个驱动模块分为位置调节器、速度调节器、电流调节器、位置计算、速度计算和电流反馈几部分构成。每个环节均使用改进的增量PID调节器(结构根据各个环路的特点而有不同),电流环的反馈速度为0.05ms,速度环的反馈速度为1ms,位置环的反馈速度10ms。
![](../img/eep/emb/emb-24671dfgjalffgwq.jpg)
各控制环的核心服务子程序的流程如图 5-2所示。这几部分是整个系统的核心,其性能也决定了整个驱动器的性能。因此,这几部分使用纯汇编编写,相应的PID算法也根据不同控制环的特点进行相应的结构调整和性能优化。以最大限度保证这几部分程序的性能和实时性。
![](../img/eep/emb/emb-24672fqkzvar2ogy.jpg)
![](../img/eep/emb/emb-246730tdyaxhlsgu.jpg)
![](../img/eep/emb/emb-246743tg3cnu0hwq.jpg)
图 5-2 PWM周期中断服务子程序流程图
系统控制部分是整个系统协调的心脏。整个系统都在其协调下有条不紊的工作。这部分主要是根据系统设置和当前系统的状态给出相应的控制信息,以确保系统的可靠运行。
人机接口界面程序,这部主要是为用户提供一个简单易用的交互接口,以方便用户对驱动器的可靠控制。包括驱动器的起停、各种运行参数的设置都在这一层面上进行。
6结语
通常,在开发伺服驱动设备的过程中,需要编写实时性、程序可读性强的代码,这时就需要采用混合编程。而凌阳的m’nSP™ IDE具有良好的编程环境,它可以很轻松、容易地进行混合编程(在C程序中调用汇编程序,在汇编程序中调用C程序)。
该系统用了SPMC75F2313A三个定时器和约30个IO口资源,其实SPMC75F2313A的资源相当丰富。因其有专业的电机驱动硬件支持,电机驱动系统开发变得相对简单。因此,基于SPMC75F2313A的电机伺服驱动器系统在工业、医疗、国防等领域有广阔的应用前景。