论文研究-基于C51单片机的精密达位电动转台控制系统设计 .pdf

所需积分/C币:11 2019-08-28 02:13:31 399KB .PDF

基于C51单片机的精密达位电动转台控制系统设计,李辉,胡洲,本文提出了一种基于51单片机的精密达位电动转台控制系统设计方案。在控制回路中,依据角位给定值和反馈值,计算角位误差信号,然�
中国科技记又在线 控制单元输入输出接口设计 本系统主要冇三种输入量,两种输出量。输入量分别冇键盘键值输入,上位机指令输入, 角位反馈信号输入。其中键盘输入接口用一片作为输入接口芯片,是专用的键盘 显示接口芯片,使用它可以减轻单片机的负担,提高系统的可靠性。上位机指令的 输入采用串行通信的方式,使用单片机自带的串行通信接口。角位信号通过角位变送器处理 后,也以串行通信的方式传送给单片机,用单片机的两个口和一个定时器模拟串行通信。 输出量分别为显小输出和波,采用单片机自身带有的定时器产生波,所以输 岀接口可直接用单片机的口。但波信号输出到控制板时,必须采用光耦隔离。单片 机∏和内存分配如衣所示 表单片机资源分配表 口|作数据总线 、作反馈通道的模拟串口 用于第一路波输出通道(方位通道), 用于第二路 波输出通道(俯仰通道)。 用于选通地址。、用于选通地址。余、 用于与上位机的串口通信。 读写选通信号。 定定时器用于产牛 时行口波特率发牛器。 波。定时器用于与变送器的串行通信。定时器用于与上位杠的 内低个单元的到分配给堆栈空间。到主要存放一些不用连续寻址的变量, 存如角位给定值的十六进制形式,角位反馈值的十六进制形式,角位误差的十六进制进式,与 分操作有关的参数单元,和各种临时的存储变量。高位主要用于串行通信的缓冲区, 刷 配屏时所取的数据。 二轴转台控制系统软件设计与实现 系统软件由个主程序和多个了程序组成。下面主要介绍下主程序和三个中断了程序 的设计。 主程序设计 主程序主要完成初始化、查询键盘输入、刷新显示、接收上位机指令、显示角位 值、比较给定值和实测值计算角位误差信号、按照控制算法计算搾制量、最后口输 出合适 波控制电机转动。系统首先显示初始界面,然后查询是否有键盘输入或 者接收到上位机指令,接收到正确指令信号后,运行程序,读入执行通道的角位值,计算角 位误差信号,然后加载给定值与实测值程序,同时定时器赋初值产生 波,控制电 机旋转。当实测值角位误差满足精度要求时,停止波输出,采集角位数据,把 码转换为显示码,最后送显示。主程序沇程图如图所示。 中国科技记文在线 开始) 上电延时 串行中断入口 系统初始化、开中断 RT=1? 查询键盘时间到否? 调用接收子 调用发送子 程尸 程序 读入给定值、实测值 LCD显小 复位R 复位T 计算角位误差信号 SBUH内突读将ACC内容写 PID控制算法计算控制量 入ACC 入SUBF IO口输出PWW波 返叫 图主程序流程图 图串行屮断子程序流程图 串行中断子程序设计 三个了程序分别是串行中断了程序、 波了程序和模拟串行通信了程序。串行中断 主要完成单片机与上位机的串行通信。串行中断子程序流程图如图所示,在接收时,停止 位进入 中的 位数据进入接收缓冲器 中,并置中断标志上位机 通过串行口发送控制指令给单片机,单片机端一位一位的接收数据,当接收到一个有 效字符时,即接收缓冲器已满,则置位产生串行中断,调用接收子程序,然后软 件复位接收中断标志位,并把接收缓冲器 中的数据读入累加器中,当接收 到一组完整、正确的指令时,单片机按照控制指令的指小执行相应揀作。串行接口电路在发 送时能自动插入起始位和停止位。单片机向上位机发送数据时,当发送缓冲器 为空, 则硬件自动置位产生串行中断,调用发送子程序,软件复位发送中断标志位,把累加 器内容写入发送缓冲器然后由单片机端向上位机逐位的传送数据,上位 机接收到由单片机发送的正确信息,然后进行数据处理 D6 D5 D4 DI T2CON (C8H) TF2 EXF2 RCLK TCLK EXEN2 TR2C/ P/RL2 SCON 98H) SMO SⅣ2 REN lBS RBS LI RI 图定时器计数器、串行口控訇寄存器初始化 定时器、串行口控制寄存器初始化设置如图所示。软件中设定 令串行口工作于模式(位异步收发器),即一个字符包括位数据、一个起始位和一个 停止位。其波特率可变,由定时器的滏出率和 (程序中设定 )决定。 时,把定时器作为串行口的接收、发送时钟,定时器工作于波特率发 生器模式。应用以下公式确定其波特率: 中国技记又在线 波特率 其中晶振频率为 ,初值 波子程序设计 开始 正转PWM波 PSW入栈 取反 PWM HL BIT位 判断 PWM HL BIT- 0 1? SETB P1.2 CLR P1. 2 反转PWM波 CLR P1.3 SETB P1.3 THO、TL0 TH0、TL0 PL. 2 赋初值 初值 定时器延时 3 图 子程序流程图 图电机正、反转输出波示意图 选择为,我们采用了定频调宽方式,因为采用这种方式,电机在运转时比 较稳定且没有噪音。在采用单片机产生脉冲的软件实现上比较方便,采用定时器作 为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个。以方位通道 为例 波子程序流程图如图所小,首先取反 位,然后根据 位值,通过单片机 和口输岀两组高、低电平,然后由控制算法计算得出的合适 初值赋予寄存器 启动定时器产生延时,加计数溢出再次进入中断后取反 位 口和口输出另外两组高、低电平,然后重新对寄存器 赋值并启动定时器进行延时,如此循环,口和口将产生占空比可调且波肜气补 的两组波。当∏输出组占空比大于 波时产生均值为止的电压,驱功电 机正转;当凵输出一组占空比小于的波时产生均值为负的电压,驱动电机反 转;当口占空比为时,此时对应的有效电压值为,电机将停转。电机正、反转 时输出波示意图如图所示。 D4 DI DO 0 TMOD (89H) GATE C/T MI MO GATE C/T MI MO 图定时器计数器 工作模式寄存器 初始化 寄存器用于选择定时器计数器、的工作模式,低四位用于定时器,高四 位用于定时器,软件中设定低四位中, ,即定时器工作于位计数方式, 和从初值开始加计数,直至溢出为止, 的初始化如图所示。其定时时 间由公式得出: 中国科技记又在线 (模值初值)机器周期 其中模值表小计数器所能计的最大值加,即位计数器的模值为 模拟串行通信子程序设计 串行通信时钶秒传送的数据位称为波特率。如数据传输的波特率为波特,则字节 中每一位的传送时间为 根据薮据传送的波特率即字节中每一位的传送时 间,便可用普通口模拟实现串行通信的时序。设计中, 单片机的和 口分别模拟串行通信的发送和接收。下面仅以一个字节的数据为例,说明如何用单片机的 和口实现单片机与 角位变送器进行模拟串行通信的。单片机发送数据时, 先发送一个起始位,再在累加器最高位中加入奇偶校验位,接着以 的时间按 低位在先的顺序发送一位薮据,直至位数据全部发送完毕,最后发送停止位。接收数据时, 先检测口是否有起始低电平出现,如有则按低位在先的顺序接收位数据,最后判断 ∏是否有停止高电平出现,如有则完成个薮据接收,否则继续等待。在接收每·位 数据时,为了减少频繁的中断而提高单片机的效率,单片机只对每一位传输数据的中间时刻 进行一次采样(误码率非常低,不影响正常的串行通信,在本控制系统中已得到证明)。图 为模拟串行通信一字节数据发送、接收流程图 开始 开始 发送起始位O 查询P1.1口是否为低电平? 取1个字节数据送入ACC ACC最高位ACC7 延时15位的时间 中加入奇偶校验位上 P1.1口电平值赋给进 4CC带进位右移一位 位C AC(带进位右移一位 延时一位的时间 延时一位的时间 进位C值赋给P10口 8位是否接收完毕? 8位是否发送完毕?> 发送停止位1 P1.1凵为高电平 结束 结束 图模拟串行通信一字节数捱发送、接收流程图 延时时间由定时器完成。如图所示,在程序中设定 高四位中的 初值设为 ,则定时器工作于位自动重装载模式,发 生溢出中断时,不仅使溢出中断标志置,而且发岀重装载信号,使三态门打开,把 所保存的內容自动重新装入到中,使从初值廾始重新计数。重新装入初值后, 的内容保持不变。为了能在每一位传输的中间时刻进行采样,定时时间只需要定时 中国科技记又在线 半位的时间即约为 由公式确定如下: (模值初值)×机器周期 初值 结论 微型计算机在智能化电器发展中起着至关重要的作用,而单片机经济实用、开发简便, 因而在工业控制、家电智能化等领域占据了广泛的市场。本文针对目前精密达位电动转台控 制器现状,分别从控制系统总伓结构、硬件和软件的角度设计了一种新的方案。采用 单片机作为主控单元, 角位变送器精确采集角位信号,单片机计算角位误 差控制量,软件编程技术控制直流力矩电机,这一方案能在电机运行时实时的控訇电机的转 速、转向及在某一位置停转,该控制系统简单可靠,结枃紧凑,控制灵活,实时性好,且成 本低。工程实践表明,本文所设计的控制系统能基本满是一般性测试转台的需求,只有较高 的实用价值。 参考文献 杨宁胡学军单片机与搾制技术北京北京航空航天大学出版社 马淑华上风文张美金单片机原理与接口技术北京北京邮电大学出版社 胡寿松自动控制原理第四版北京:科学出版社, 孙立志与数字化电动机控制技术应用北京:中国电力出版社 赵志蘩,邓方林轴运动仿真转台控制系统设计实用测试技术, 齐明邹继斌刘承军.基于圆感应同步器的高精度角度测量系统.电子器件

...展开详情
img

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐