打印

基于SPCE061A MCU的机轮驱动控制器

[复制链接]
427|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FCCdsp|  楼主 | 2018-12-10 12:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
基于SPCE061A MCU的机轮驱动控制器

     1  引言

  在飞机试飞中,机轮刹车系统的参数测试是试飞测试的一个重要项目。传统的机轮刹车试验是电机直接带动摩擦驱动轮转动,摩擦驱动轮带动飞机机轮转动,估计机轮达到预定转速并恒速运转时,由飞机驾驶仓操作人员检验机轮刹车是否正常。因为整个试验都靠工作人员的经验,从而可能导致试验结果准确性变差。为此,设计了一套机轮拖动与控制系统克服了以前的缺点,确保刹车时的机轮速度符合试验要求,使整个试验过程准确、可靠,操作方便灵活。

    2  系统的工作原理
  机轮拖动与控制系统结构框图如图1 示:

图1  机轮拖动与控制系统结构框图

  机轮拖动与控制系统是一闭环恒值调节系统,它由微控制器MCU、交流变频器FR、测速传感器、液晶显示器LCD(240mm×180mm) 、键盘(4 行×5 列) 等部分构成。MCU 控制电机按设定速度旋转,电机通过联轴节带动摩擦驱动轮转动,摩擦驱动轮则带动飞机机轮转动,测速传感器不断检测机轮实际转速,并通过反馈电路自动调节电机转速,当飞机机轮恒速运转时,飞机驾驶仓操作人员可进行刹车实验并进行有关参数测试。
  在系统运行过程中,有关机轮直径、给定转速等参数可非常直观地由键盘输入并显示在LCD 上,电机运转后转速等动态显示并可随时停止运转。

   3  系统的硬件设计
  主控芯片:本系统控制器以SPCE061A 为核心,该单片机内置2K字节SRAM 和32K 字FLASH ,因而不需外扩程序存储器和数据存储器;32 位可编程多功能I/ O 端口,每一位可单独定义为带上拉、下拉电阻的输入或带数据缓冲器的输出,因此键盘和LCD 可直接和端口连接;两个16 位定时器/ 计数器,具有自动重装载初值的功能,定时时间到可产生中断,并且提供多种时钟源,使定时、计数灵活、方便、简单;14 种中断源,分为两个优先级( FIQ 和RIQ) ,丰富的时基中断,从而很容易实现准确定时和周期性控制。双通道10 位DAC 转换器。

  由于以上特点,从而使得硬件电路变得既简单又经济实用。
  测速传感器:可把电机的转速转换为脉冲信号。
  液晶显示器(LCD) :选用TRULY公司的MPG240128A1 - 7 ,控制芯片为T6963C ,用于显示操作提示、用户设定参数以及实时显示机轮当前转速和线速度。
  变频器:用于控制电机正反转以及根据控制量准确调节机轮转速
  键盘:设置机轮直径、给定转速等参数以及控制电机的启动和停止。

   4  系统软件设计
  本系统的软件部分采用SPCE061A 单片机支持的C 语言编制而成,因而该程序具有简明高效、功能强大、设计完备等特点。整个程序主要由包含控制算法的主程序和用于测量转速的中断服务程序所组成。
4. 1  主程序流程
  主程序主要完成参数的设置、保存和显示,控制电机的启停,并在电机运转的过程中根据中断。(定时器每隔2s 产生一次中断) 服务程序中所测得的转速调用控制算法进行控制。具体流程如下(flag - 中断标法) :

图2  主程序流程
4. 2  转速测量
  转速测量一般有两种方法,一种是利用测速发电机等将转速转换为模拟电压信号,再经过A/ D 转换来获得,另一种是利用光电编码器等将转速转换为脉冲信号,然后通过测量脉宽(低速时) 或一定时间内的脉冲个数(高速时) 来获得。
  在本系统中,机轮的转速通过测量一定时间内测速传感器输出的脉冲信号的个数来求取,因此如何测量脉冲信号的个数成为测速的关键。因为SPCE061A 的IOB2 和IOB3 除作为普通I/ O 口外,还可通过设置定时器A 或B 的控制单元使IOB2 ( EX2Tl) 和IOB3 (EXT2) 作为外部频率量(外部中断源) 输入,故在本系统中将IOB2 设置为外部频率量输入引脚,接转速传感器输出的脉冲信号。
  为了满足控制性能和实时性的要求,每隔2s 更新一次转速值,并据此转速进行控制。转速通过在中断子程序中读取2s 内所测的脉冲个数freq (freq 设置为全局变量) 来计算。具体关系是:电机每转一转,测速传感器发出10 个脉冲。
  与转速测量相关的主程序部分如下:..
SP_Export (Port_TimerA_Ctrl ,0x0005) ; ∥定时器时钟频率为2048Hz
SP_Export (Port_TimerA_Data ,0xefff) ; ∥设计数初值,使定时时间为2s
SP_Export (Port_TimerB_Ctrl ,0x0007) ; ∥使TimerB 的EXT1 可用( I0B2 为外部频率量输入)
SP_Export (Port_TimerB_Data ,0x0) ; ∥设置TimerB 初值为0
freq = 0 ;
..
while (1)
{freq0 =freq * 3 ; ∥当前转速转/ 分(freq 在中断程序中获取)
freq3 = (int) (freq0 * 1. 023/ 3) ;
..
freq1 = (int) (3. 14159 * n2/ 1000. 0 3 freq0/ 50 * 3 * 10) ; ∥机轮线速度km/ h
..
}
中断子程序如下:
INCLUDE hardware. inc
. external_freq_flag : ∥声明全局变量
. text
. public_IRQ1 ;
_IRQ1 : ∥IRQ1 中断服务程序入口
INT OFF
push r1 ,r5 to[ sp ] ∥保护现场
r1 = [ P_TimerB_Data ]
[_freq] = r1 ∥TimerB 当前值送c 程序中的全局变量freq
r1 = 1
[_flag] = r1
r1 = 0x0000
[ P_TimerB_Data ] = r1 ∥TimerB 重置初值
r1 = 0x1000
[ P_INT_Clear ] = r1 ∥清中断
pop r1 ,r5 from[ sp ] ∥恢复现场
INT IRQ
reti ∥返回

4. 3  控制算法
  控制算法用于把机轮的线速度调节到给定线速度,并保证系统在调节过程中的动态指标达到最优。控制算法在主程序中反复被执行,但通过控制标志flag 在中断程序中的设置确保每控制周期(2s) 只执行一次,具体设置可参考中断子程序。

图3  控制算法流程
  另外,设计中为了减少超调和调节时间,在加入控制算法之前让控制量等于给定值并延迟一定的时间,而这个延迟时间是以变频器频率与调节时间的关系为基础,然后根据给定值的大小确定。在图3 中,n1 为机轮给定转速,freq 为机轮当前转速。

   5  结束语
  该控制器目前已成功应用于实际。实践表明,它具有操作简单、运行稳定可靠、控制精度高等特点,为消除飞机刹车的安全隐患提供了有力的手段。在设计过程中,通过SPCE061A 单片机的使用,极大地简化了控制器软、硬件系统的设计,并提高了整个系统的性能,而且节约了开发成本,表明该单片机具有很好的应用价值。







相关帖子

沙发
FCCdsp|  楼主 | 2018-12-10 12:05 | 只看该作者
基于SPCE061A MCU的机轮驱动控制器

文档1.pdf

142.68 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝