使用SPCE061A单片机的二级倒立摆控制系统

时间:2011-05-05来源:网络


SPCE061A有8路可复用10位ADC通道,其中一路通道(MIC_In)用于语音输入,模拟信号经过自动增益控制器和放大器放大后进行A/D转换。其余7路通道(Line_In)和IOA[0~6] 管脚复用,可以直接通过引线(IOA[0~6])输入,用于将输入的模拟信号(如电压信号) 转换为数字信号。二级倒立摆系统中的六个状态变量电压变化范围为—12—+12伏,而单片机ADC模块的要求输入电压变化范围为0—+3.3伏,因此六个状态变量经电压转换电路后分别接至

SPCE061A单片机的IOA0~IOA5。SPCE061A UART模块提供了一个全双工标准接口,用于完成SPCE061A与外设之间的串行通讯。UART模块的接收管脚Rx和发送管脚 TX 分别与IOB7和IOB10共用。本系统采用的是半双工的通讯方式。IOB7和IOB10与MAX485芯片相连接,并再经485232转换器与上位机串行口相连。实现状态变量在上位机的显示以及由上位机设置反馈参数的功能。SPCE061A为音频输出提供两个DAC通道, 0—3.3毫安模拟电流信号通过DAC1管脚输出。经状态反馈运算后所得到的控制量以0—3.3毫安模拟电流信号输出,此电流信号经电流电压转换电路,在经电压倍放电路后变为—12—+12V。输至功放去控制PWM脉宽调制进而控制执行电机,使二级倒立摆达到动态平衡状态。

2.3 控制系统软件设计:

上位机应用VC++编写的串口程序。其上位机的应用界面如下图所示:

从图中可以看出,第一行表示的是测量的六个状态变量,分别是小车位置,小车速度,一摆的角度,一摆的角速度,二摆的角度,二摆的角速度。其数据可以实时的显示出来,这样就可以观察数据是否有异常的情况。第二行就是根据实际情况给单片机发送数据,从而达到设置参数的目的。在状态反馈的控制策略中,分别设置的是六个状态反馈系数。

单片机控制系统的软件设计是采用的是C语言,C的结构化设计特点是简洁、明快,有丰富的库函数和较好的调试手段,还具有移植性好,上手快等特点。在控制软件中包含主程序、中断程序和各种子程序,下面介绍应用状态反馈实现对倒立摆稳定控制的程序流程图。

状态反馈需要测量六个量,上位机需要给单片机设置六个反馈参数。程序流程图如下:

3. 结束语

试验证明,本控制系统能方便快捷的找到使二级倒立摆系统达到动态平衡的状态反馈系数,简化控制系统的调试任务,得到了较为理想的试验效果。

本文作者创新点:找到使二级倒立摆系统达到动态平衡的状态反馈系数,研究了状态空间法在本系统中的应用。

1 2

关键词: 倒立 控制系统 二级 单片机 SPCE061A 使用

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版