关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 使用SPCE061A单片机的二级倒立摆控制系统

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

作者: 时间:2011-05-05 来源:网络 收藏


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

的IOA0~IOA5。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 下一页

评论


相关推荐

技术专区

关闭