ACS880-07C
关注中国自动化产业发展的先行者!
横河电机-23年10月11日
2024
工业智能边缘计算2024年会
2024中国自动化产业年会
2023年工业安全大会
OICT公益讲堂
当前位置:首页 >> 资讯 >> 行业资讯

资讯频道

谈加工点控制(MPC)运动控制器设计
  • 作者:中国自动化网
  • 点击数:959     发布时间:2012-12-17 05:33:02
  • 分享到:
在数控自动控制领域中, 所谓运动控制就是对机床机械装置运动部件的位置、速度、加速度等参数进行实时的控制管理,使其按照预期的运动轨迹和规定的运动参数进行运动。
关键词:

在数控自动控制领域中, 所谓运动控制就是对机床机械装置运动部件的位置、速度、加速度等参数进行实时的控制管理,使其按照预期的运动轨迹和规定的运动参数进行运动。Linux 是一个遵循POSIX (Portable Operating System Interface)标准的多用户多任务且具有先进的网络特性开源操作系统, 可以方便的进行自主知识产权的软件开发。因此基于Linux操作系统的加工点控制(MPC)5200 运动控制器, 其由系统提供的模块化机制很容易实现运动控制器上相关的文件系统管理、内存管理及实现数控系统的底层加工程序。但Linux 不是一个“硬”实时操作系统, 其内核为非抢占式的( no - preemptive) ,实时任务不能够得到保证, 而运动控制器本身是综合性很强的技术, 具有明显的实时控制、实时交互和实时监测特性。因此本文研究了RTAI(Real - time Application Interface) 的实现原理, 提出了基于加工点控制(MPC)5200 的运动控制器, 它加载了RTAI 实时内核, 并采用串行总线的软连接方式, 使得运动控制器可以和上位机分离,其易于实现分布式的高性能控制, 降低成本, 并且大大提高了运动控制器的可靠性、实时性、开放性、集成性和配置性。

1 实时Linux 的实现

到目前为止, 全球在Linux 平台下开发的具有硬实时功能的系统主要有两个:RTLinux 和RTAI 。RTLinux 最早是美国
新墨西哥理工学院的一个研究项目, 它是由Victor Yodaiken 提出设计思想, 由Michael Barabanov 实现的硬实时操作系统。RTAI( Real Time Application Interface) 是由意大利米兰理工学院航天工程系发起开发的一个遵循GNU 的开源项目, RTAI 已经支持I386, PowerPC, ARM, MIPS 和M68k- nommu 等处理器,是目前支持处理器最多的linux 实时解决方案之一。

RTAI 的实现机制与RTLinux 非常相似, 唯一不同的是RTAI 在Linux 上定义了一个实时硬件抽象层RTHAL (Realtime
Hardware Abstraction Layer) , 并针对RTAI 开发了LXRT(Linux - RT) , 让RTAI 可以调用Linux 本身的系统调用功能。
RTAI 修改了linux/arch/ i386 中与体系结构相关的代码而形成了RTHAL 层, RTHAL 的作用是使RTAI 能够在实时任务需要
运行的任何时刻中断Linux. 引入RTAI 后,Linux 的功能没有改变,但是作为优先级最低的任务运行,并且只有在没有实时任务的时候它才能执行。这样做的好处在于将直接修改linux 核心的代码减到最小, 这使得将RTAI 移植到linux 内核的工作量减至最低。RTAI 实现的主要模块有RTAI 模块、SCHED 模块、FIFO 模块、SHM模块、LXRT 模块,它们能动态装入和卸载。用户自己的实时任务是在RTAI 装入后再载入。可以通过编辑/etc/rc.sysinit 文件, 在系统启动时将RTAI 模块和用户实时模块加载到Linux 内核中, 当实时模块加入到内核后, 实时模块中创建的线程和函数就可以访问系统的底层资源。

2 运动控制器系统设计
运动控制器微处理器采用的是摩托罗拉公司于2003 年下半年推出的新型的具有广泛发展前景的PowerPC MPC5200, 其
内部采用了双处理器结构, 有一个专门负责通信的协处理器,体现了数据通信的专业构架, 并通过双端口内存( 这是种极快的数据交换方式) 与主处理器通信, 从而使主处理器负担大幅度下降。其芯片内部含有丰富的实用型外设。基于PowerPC 内核的MPC5200 是一颗低功耗、处理速度达760MIPS 的嵌入式处理器。它支持以太网、USB、PCI、ATA、I2S、I2C、SPI、串行接口、J1850 和控制区域网(CAN)。同时, 它还支持DDR 存储器, 并集
成了一个双精度的浮点单元(FPU)。如图1。

由于MPC5200 微控制器内部集成可编程串行控制器( PSC, Programmable Serial Controller) , 所以可以通过PSC 控制
器来实现串行通信的优化, 并可以根据需求配置USB、RS232、CAN 等串行通信接口, 从而使得可以根据外界接口的要求进行标准化配置。同时MPC5200 提供了8 个通用定时器资源( GPT0~GPT7) , 所有的定时器都可以配置成以下任意模式: 内部定时器、外部计数器、比较输出和PWM, 除第一种模式以外,每个定时器都有一个I/O 口与之对应。MPC5200 控制一台电机需要占用两个定时器资源, 其中一个设置为PWM输出, 采用定脉宽调频的方式通过高速光耦隔离输出, 驱动电机驱动器; 另一个设置为内部定时器, 用于控制运动控制器输出的脉冲个数。MPC5200 最多可以控制4 台步进电机或伺服电机。

由此可见, MPC5200 运动控制器是一款非常适合于工业控制领域应用的运动控制器, 开放化的特点使其能够应用于多种
机械设备上, 通过CAN 总线互连组建的现场总线运动控制系统是一种全新的分布式控制系统。因此Mpc5200 运动控制器完全可以满足现代数控系统高速化、智能化、网络化、集成化、开放化的需求。

本设计采用串行通信的方式和上位机进行软连接通信, 从而容易通过串行接口构建分布式的数控系统, 其可根据上位机
的通信要求, 在串行通信配置开关中采用跳线或者选择开关的形式进行设置, 在开机初始化时由MPC5200 根据对应的开关状态, 初始化USB 或者RS232 串行通信接口, 并装入EEPROMPCF8582C 中具体的串行通信协议。

为满足高速运动控制的要求, 从MPC5200 中通用定时器GPT0, GPT2 端口输出的PWM 脉冲以及负责方向的GPT1, GPT3 输出, 通过NEC 公司的高速光耦6N136 进行隔离, 其最高速度可以达到2Mbit, 隔离后输入电机驱动器中
驱动坐标轴电机。

为满足坐标轴电机运动位置信号采集, 选用Intel 82C54 计数器对坐标轴电机的光电码盘的反馈脉冲进行计数, 并通过系
统总线输入到微控制器中, 82C54 的计数频率可高达12MHz。片内包含3 个独立的16 位计数通道, 每个计数通道有6 种工作方式, 可由程序设置和改变。

3 实时控制的软件实现
在实时Linux 下, 为了保证数控系统的实时任务能够即时响应,所有和实时相关的任务都必须放在内核层下,每个任务用
一个独立的内核进程来执行, 实时进程是通过调用RTAI 的rt_task_init( ) 函数来实现的。而非实时任务则放在用户层下,
它们在任何时候都不会打断实时任务的运行, 只有在实时任务结束后才会执行。

内核层和用户层之间进程的通讯主要是依靠RTAI 提供的实时FIFO, 通过调用函数rtf_create()来创建管道实现数据传。

运动控制器的实时工作流程如图3 所示, 分为四个实时任务, 即状态检测任务、插补任务、位置控制任务还有功能控制任务, 四个任务的运行周期都是相同的, 取为8ms, 状态检测任务的运行优先级为最高, 即1 级、插补任务的优先级为2级、位置控制任务的优先级为3 级、功能控制任务的优先级为最低4 级。其中, 状态检测任务实现机床运行状态的检测, 并负责从IO 端口读入各个连接的I/O 设备值, 然后将状态写入状态检测缓冲区中, 对机床急停、伺服报警、限位信号进行判断, 并进行相应的处理。插补任务实现从译码缓冲区中顺序取得插补数据, 然后根据是直线或者圆弧进行插补, 得到理论坐标值。位置控制任务, 先进行误差分析, 在系统的第一个采样周期后开始执行, 通过电机反馈取得实际位置, 与插补任务输出的理论位置一起作为误差分析的输入参数, 在进行误差分析时系统将调用误差计算策略进行误差计算, 误差计算策略可以是面向单轴的简单非耦合算法, 也可以是面向轮廓加工的复杂耦合算法, 计算后得到各轴的综合误差值; 之后系统将调用整定策略整定参数, 整定策略可以简单的设定成固定参数, 也可以根据需要实时调整参数; 最后将综合误差与参数一同输入到位置控制部分进行计算, 得到具体的脉冲输出值, 输出到各个伺服电机。功能控制任务负责实现运动控制器的运行、暂停、进给速度等状态设置。

运动控制器软件的所有实时任务和函数包含在实时模块main_program.o 中, 通过编辑/etc/rc.sysinit 文件, 在系统启动时
加载到Linux 内核中, 当实时模块加入到内核中, 实时模块中创建的线程和函数就可以访问系统的底层资源。实时任务模块的加载和卸载在Linux 中由init_module( )和cleanup_module( )两个函数实现的, 同时可以通过这两个函数进
行资源的分配和回收, 以及线程和处理函数的创建。
int init_module(void) { } //加载模块

由于对不同试体进行的试验形式不同, 以及试验机本身标定的需要, 全自动压力试验机必须具有在不同数值上实现恒加荷速度控制的能力以及零速度控制能力(保压)。针对实际过程中出现的各种不同的情况, 利用模糊参数自整定PID 控制器进行控制都取得了良好的效果, 都能尽快响应, 超调小, 抗干扰能力强。这种模糊自适应整定PID 控制结合了PID 控制和模糊控制两者的优点, 对被控对象达到了较好的控制效果, 促进了建材行业检测技术的发展。


热点新闻

推荐产品

x
  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: