单片机实验完整指导书 - 图文(5)

2019-03-09 18:00

第三章 直线运动单元控制系统软件设计

直流电机驱动器的软件包括单片机程序和在上位机上运行的应用程序。本系统仅对单片机程序设计做一些介绍。

3.1 软件结构设计

直流电机驱动器的单片机控制软件采用模块化程序结构。从结构上看,系统程序主要包括一个主循环体程序、PID控制程序、中断服务程序和其他一些控制程序。在该系统中软件中所使用到的单片机的功能,如下图所示(红笔标明)。

USART TWI SPI FLASH SRAM EEPROM 内部时钟振荡 看门狗 TIMER0~TIMER3 ADC 模拟比较器 外部中断 JTAG I/O口 (PA~PG) ALU PC 指令寄存器 通用寄存器

资源应用示意图

3.1.1 主程序

主程序完成系统初始化、中断判断、数据检测及电机的PID调节等工作。

其工作流程是单片机使用中断方式接收电机的控制指令,在每个伺服周期中更新直流电机的速度/位置值、完成一次速度/位置PID运算,同时根据计算结果修改PWM波占空比以调节直流电机转速或修改电机的转向。最后,单片机将当前控制状态参数返回给上位机。下位机实现直线运动模块闭环控制的框图如下图所示。上位机将运动轴反馈回的信息按照规定的协议打包后等待PC机读取。PC机从上位机接收到反馈信息后,完成图形的绘制和状态参数的显示。

指令(速度)实际速度PID控制功率放大直流伺服电机减速器、丝杠、滑块光电编码器

系统控制框图

初始化接收到新指令?NY更新控制指令NPID调节周期到?Y更新速度/位置反馈(编码器脉冲)速度/位置PID运算改变电机转速/方向反馈当前控制状态

单片机软件流程图

3.1.2 PID调节程序

控制理论的发展经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。控制器的输出经过输出接口﹑执

行机构﹐加到被控系统上﹔控制系统的被控量﹐经过传感器﹐变送器﹐通过输入接口送到控制器。不同的控制系统﹐其传感器﹑变送器﹑执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品。

比例十积分十微分(PID)控制器:

PID控制的理想阶跃输入输出如下:

0 KP KD e(t) 0 e(t)ty∞ KP K1 e(t)KP e(t)t比例十积分十微分控制输出响应

式中 : KP——比例放大系数;TI——积分时间; TD——微分时间。

连续-时间PID控制系统

PID控制算法分为模拟PID算法和数字式PID算法,其中数字式PID算法可以简单的分为位置式PID和增量式PID两种算法。

位置式PID算法每次输出与整个过去状态有关,计算式中要用到过去误差的累加值,因此,容易产生较大的累积计算误差。而增量式PID只需计算增量,计算误差或精度不足时对控制量的计算影响较小。

在直线运动单元上,我们运用单片机处理数字PID算法,并采用增量式PID算法。 根据公式可以推导出:(推导过程大量教材都有讲述)

uk?uk?1?Aek?Bek?1?Cek?2;

其中:

A=K(1?PTTI?TDTTD);

B??KP(1?2T);

C=KP增量式PID的控制算法流程图如下所示

开始 TDT;

计算AEk?BEk?1?CEk?2 计算Ek 更新Ek-1,Ek-2 计算AEk 计算BEk?1 计算uk 计算AEk+BEk?1 返回

计算CEk?2 增量式PID算法流程图

3.1.3 串行数据传输

单片机与上位计算机之间采用RS232的串行数据传输方式,单片机采用中断方式接受数据,利用Timer0的20ms的溢出中断来更新数据并发送数据到上位机。

从上位机(PC)到单片机,每发送一次数据称为一帧数据,一帧数据规定由10个字节构成。

PC向单片机发送的协议: 序号 字节数 0 1 2、3 1 1 2 字节内容 0xAA (0~1) (0~600) 字节意义 备注 字头(固定) 表示协议帧的开始 电机方向 0表示正向,1表示反向 电机速度 对应为参考的电机20ms内编码器脉冲数 4、5 6 7 8 9

2 1 1 1 1 0x0000~0xFFFF 电机角位移 对应为编码器目标脉冲数 0x00~0xFF 0x00~0xFF 0x00~0xFF 0x55 Kp Ki Kd 比例系数 积分系数 微分系数 字尾(固定) 协议帧结束 3.1.4 整个系统程序流程

定时/计数器3定时/计数器020ms溢出中断主函数串口接收中断初始化编码器脉冲计数更新编码器脉冲N接收一字节数据PID运算开始发送标志位为1?Y接收完一帧?NY置接收完成标志位为1改变PWM脉冲宽度向PC发送控制结果更新向PC发送的数据清零开始发送标志位更新控制指令置开始发送标志位为1串口接收中断结束 单片机总体程序流程


单片机实验完整指导书 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:追寻幸福与伦理视角网络课答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: