μC/OSII嵌入式操作系统在机电控制中的应用 02
- UID
- 872238
|
μC/OSII嵌入式操作系统在机电控制中的应用 02
3 嵌入式RTOS的选择
目前嵌入式实时操作系统RTOS分为两类:商用型和免费型。其中商用型典型的RTOS有:Windows CE 4.0(适合于消费类电子产品);VxWork(适合于网络、交换设备等);Palm OS(适合于PAD产品)。免费型RTOS有Linux(包括uLinux和RT-Linux)和μC/OSII。综合考虑,这里选择μC/OSII作为本系统的RTOS。
μC/OSII(即μC/OS的最新版)主要特点如下:
(1)公开源码:是为数不多的公开源码的RTOS,给二次开发和移植提供了可能;
(2)可移植性强:μC/OSII绝大多数源码用AI C编写,少量用汇编语言编写,具有较强的移植性;
(3)可固化:微小内核,可以和应用程序一起固化到FLASHROM中;
(4)可裁剪:通过条件编译即可实现裁剪,十分方便;
(5)占先式:是实时性的重要保证;
(6)多任务:多达64个任务管理,可以满足大多数控制任务;
(7)可确定性:全部的函数调用与服务执行的时间是可知的;
(8)系统服务:提供众多的系统服务,如:消息队列、信号量、内存管理等。
(9)中断管理:多达255层的中断管理。
(10)稳定性和可靠性:自1992年以来已经有好几百个商业应用。其中NationalOptronics公司成功将μC/OS用于三轴运动控制卡中,该三轴运动控制卡主要用于高精度的光电子制造业。
4 基于Stewart平台的伺服控制器设计
4.1 系统硬件结构
Stewart平台是6腿(杆)机械手,在大射电望远镜指向跟踪系统中是利用Stewart平台作馈源舱的精调子系统。在该系统中要求Stewart平台系统实现高精度、高实时性运动,其控制精度直接决定着馈源的定位精度,而且对Stewart平台控制器的可靠性、体积都有较高的要求。
Stewart平台控制系统基于ATMEL公司的AT9140800嵌入式微处理器为核心。其它主要硬件部分有:
(1) 存储器:系统配以2MDRAM,1MB线性FlashROM用于存储RTOS和应用软件。
(2) 编码器接口:设计6路独立编码器接口,包括脉冲细分逻辑和辨向电路。
(3) DA接口:6路独立的12位DA接口电路,其输出的模拟量作为伺服放大器的输入。
(4) 两个标准RS232接口:可以通过RS232接口接收主机的指令。
(5) 提供ISA总线接口:可以将本嵌入式系统插入PC的ISA槽中,通过ISA总线接收PC的指令,用于标准的工控模式。
(6) 各种状态指示灯,指示系统的工作状况和每个通道的工作状态。各接口的通讯格式全部采用带校验的自定义格式。
4.2 系统软件
该系统软件是基于μC/OS为RTOS开发的专用软件。主要包括以下几部分:
(1) 多任务管理;
(2) 内存资源管理;
(3)中断管理;
(4)UART接口管理;
(5) ISA接口管理;
(6) 电机控制ADRC算法。
其中(1)、(2)、(3)由μC/OS实现(与接口有关的中断服务程序需用户编写),其余为用户编程实现。传统的各类电机控制器中大多采用各种各样的PID,如非线性PID,模糊PID等,这里电机控制采用自抗扰控制ADRC(auto_disturbance rejector controller)算法。为了提高算法的效果,对原来ADRC算法进行了适当的改进,采用变参数思想,称之为模糊ADRC。
4.3 μC/OS的移植软件
μC/OS的移植工作主要包括:
(1)声明10个数据类型。在文件OS_CPU.H 中定义9个数据类型和一个堆栈宽度。
(2)用#define设置一个表示堆栈增长方向的常量OS_STK_GROWTH x 。
(3)用#define声明三个宏。
(4)用C语言编写六个简单的函数。
由于μC/OS是源码公开的免费型RTOS,其上有许多成功的移植实例共享。按照上述嵌入式软硬件设计思想,我们设计了Stewart平台专用伺服控制器。控制器能很好地跟踪期望信号,并能在很短的时间内消除干扰的影响。 |
|
|
|
|
|