首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

μC/OSII嵌入式操作系统在机电控制中的应用 02

μ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平台专用伺服控制器。控制器能很好地跟踪期望信号,并能在很短的时间内消除干扰的影响。
返回列表