全国电子设计大赛报告一等奖.docx
- 文档编号:30361814
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:12
- 大小:61.65KB
全国电子设计大赛报告一等奖.docx
《全国电子设计大赛报告一等奖.docx》由会员分享,可在线阅读,更多相关《全国电子设计大赛报告一等奖.docx(12页珍藏版)》请在冰豆网上搜索。
全国电子设计大赛报告一等奖
2013年全国大学生电子设计竞赛
简易旋转倒立摆及控制装置(C题)
【本科组】
摘要:
通过对该测控系统结构和特点的分析,结合现代控制技术设计理念实现了以微控制器MC9S12XS128系列单片机为核心的旋转倒立摆控制系统。
通过采集的角度值与平衡位置进行比较,使用PD算法,从而达到控制电机的目的。
其工作过程为:
角位移传感器WDS35D通过对摆杆摆动过程中的信号采集然后经过A/D采样后反馈给主控制器。
控制器根据角度传感器反馈信号进行PID数据处理,从而对电机的转动做出调整,进行可靠的闭环控制,使用按键调节P、D的值,同时由显示模块显示当前的P、D值。
关键字:
倒立摆、直流电机、MC9S12XS128单片机、角位移传感器WDS35D、PD算法
一、设计任务与要求
1设计任务
设计并制作一套简易旋转倒立摆及控制装置。
旋转倒立摆的结构如图1所示。
电动机A固定在支架B上,通过转轴F驱动旋转臂C旋转。
摆杆E通过转轴D固定在旋转臂C的一端,当旋转臂C在电动机A驱动下作往复旋转运动时,带动摆杆E在垂直于旋转臂C的平面作自由旋转。
如下图所示
2设计要求
基本要求:
①摆杆从处于自然下垂状态开始,驱动电机带动旋转臂作往复旋转使摆杆摆动,并尽快使摆角达到或超过﹣60°~+60°;②从摆杆处于下垂状态开始,尽快增大摆杆的摆动幅度,直至完成圆周运动;③在摆杆处于自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤出同时,启动控制旋转臂使摆杆保持倒立状态时间不少于5s;期间旋转臂的转动不大于90°。
发挥部分:
①从摆杆处于自然下垂状态开始,控制旋转臂作往复旋转运动,尽快使摆杆摆起倒立,保持倒立时间不少于10s;②在摆杆保持倒立状态下,施加干扰后摆杆能继续保持倒立或2s内回复倒立状态;③在摆杆保持倒立状态的前提下,旋转臂作圆周运动,并尽快使单方向转过角度达到或超过360°。
二系统方案
1系统结构
系统包括MC9S12XS128单片机;直流电机和电机驱动模块;角位移传感器。
由直流电机来控制旋转臂转动从而来使摆杆摆动,在摆杆的转轴处加上角位移传感器,使摆杆一开始能快速得摆动出来,并且能保持倒立的状态,框图如下:
2方案比较与选择
(1)角度传感器方案比较与选择
方案①选择角位移传感器:
角位移传感器它采用非接触式专利设计,与同步分析器和电位计等其他传统的角位移测量仪相比,有效地提高了精度。
方案②选择陀螺仪:
陀螺仪传感器最主要的特性是它的稳定性和进动性。
它是用来感测和维持方向的装置,主要用在航空来判断方向,在此次设计中想到用陀螺仪来控制摆杆角度,但判断比较复杂,不实用。
因此我们选择角位移传感器。
(2)驱动器方案比较与选择
方案①选择L298:
L298工作电压为12V,电流到2A。
但是它的驱动能力弱,不满足我们的需求。
方案②选择BTN7971:
相对于L298,这款驱动器有着跟强大得驱动能力。
它与单片机5V隔离保护单片机;它的PWM1,PWM2最高支持15V,此驱动集成的模块反应迅速,发热量小。
因此我们选择BTN7971。
三理论分析与计算
1电机的选型
一开始我们选择步进电机:
步进电机可以实现开环控制,即通过驱动器信号输入的脉冲数量和频率实现步进电机的角度和速度控制,无需反馈信号。
它可以旋转极小的角度,从而实现倒立摆的功能。
但我们实际操作起来转速比较慢,加上旋转臂等后速度缓慢。
后来选择直流电机:
通过直流电机来带动旋转臂,从而带动摆杆。
直流电机控制简单,只要加上合适的电压就会转,转速相比步进电机更快,比较适合本题的要求,而且更适用于PD算法,便于摆杆保持倒立状态。
2摆杆状态检测
摆杆状态的检测主要要用角位移传感器,然后通过芯片内置AD每隔读取到数据,再将数据转化成角度,通过PID算法调节电机直立效果。
假如当摆杆在倒立状态时,然后用手往右旋转一个角度后松手(采用PD算法,当偏离平衡角度越大,则PD反馈给电机占空比的值就越大),角位移传感器则将角度信号传给AD,再通过PID算法给芯片,让电机向右旋转,使摆杆能保持倒立的状态。
3驱动与控制算法
摆杆的运动时一个连续变化的过程,旋转的变化也是一个连续渐变的过程。
在连续的闭环控制系统中,按偏差,比列,微分,积分进行的PID控制技术一种应用最广泛的控制方式。
他具有庞简单,易于实现,适用面广等一系列优点。
连续PID控制器也称比列—积分—微分指控器,即过程控制是按误差的比列,积分和微分对系统进行控制。
PID算法的控制数学模型为:
本程序采用PD控制,能够加大系统的反应速度。
四电路与程序设计
1电路设计
(1)最小系统模块电路
此次设计我们采用MC9S12XS128单片机,它是一款增强型16位单片机,该单片机采用CPU12XV2内核,可运行在40MHz总线频率上。
存储器:
128KBFLASH;2KBEEPROM;8KBRAM。
A/D:
16通道模数转换器;可选8位,10位和12位精度。
PWM:
8位9通道或16位4通道PWM。
所有考虑用此芯片为最小系统。
(2)5110显示模块电路设计
5110显示屏是一款经典的机型,它的性价比高,可以显示15个汉字,30个字符。
价格便宜。
接口就四根I/O即可驱动,速度快。
用它来显示PID的P和D的数值。
其按键1为选择参数,按键2为增加参数值,按键3为减少参数值,按键4为启动键,如下图所示。
(3)电机驱动模块电路设计
此次倒立摆的旋转臂由直流电机控制旋转,通过BTN7971驱动器来驱动。
BTN7971内部包含2通道逻辑驱动电路,可以方便的驱动直流电机。
BTN7971的供电电压典型值为,电流为1A。
BTN7971驱动模块连线为:
VCC接5V给芯片供电;EN端接高电平使能;P1/P5为PWM占空比控制与单片机连接;OUT1/2连接直流电机。
(4)角位移传感器模块电路设计
该WDS35D传感器采用特殊形状的转子和绕线线圈,模拟线性可变差动传感器的线性位移,有较高的可靠性和性能,转子轴的旋转运动产生线性输出信号,围绕出厂预置的零位移动±60度。
此输出信号的相位指示离开零位的位移方向。
转子的非接触式电子耦合使传感器具有无限的分辨率,即绝对测量度可达到零点几度。
用高精度角位移传感器WDS35D来采集摆杆的运动信号,本系统采用一个角度传感器装在转轴上。
这样可以控制电机精确的转动。
只需给传感器一个5V的电压,当使摆杆摆动时,转轴会转动,传感器也会随着转轴转动并且输出一系列连续变化的模拟值。
可以将该模拟值直接送给单片机内部的AD进行采样再用数学拟合算法曲线处理之后控制电机转动。
采集电压:
;
。
由这两个公式推算出
(5)电源稳压模块设计
如下图为电源稳压模块,可以产生稳定的5V的电压来供电。
2程序结构与设计
五系统测试与误差分析
测试方案
①硬件检测:
采用数字万用表对电路板连接情况测试。
②基础部分检测:
基础部分的三个要求。
③发挥部分检测:
发挥部分的三个要求。
测试使用仪器
量角器,数字万用表VC890D,示波器DS2101,秒表。
测试结果与误差分析
1摆杆处于自然下垂状态,观察摆角到达60°和时间。
次数
1
2
3
4
时间
2s
2摆杆处于自然下垂状态,观察摆杆完成圆周运动时间
次数
1
2
3
4
时间
3摆杆处入自然下垂状态,外力拉起摆杆接近165°,摆杆保持倒立不少于5s,观察旋转臂的转动角度。
次数
1
2
3
4
角度
失败
失败原因:
电机马力不足,pd值未调好。
4摆杆处入自然下垂状态,然后尽快让摆杆倒立并保持10s以上,观察所需时间。
次数
1
2
3
4
时间
失败
失败
失败
失败
失败原因:
电机马力不足,摆杆头重脚轻而且调试时间不足,导致PD值未调好
6
结论
本系统以单片机为核心部分,根据角度传感器采集来的信息,经计算得出数据来控制直流电机转动,从而达到系统的基本要求。
在系统设计中,力求硬件线路简单,充分发挥软件编程灵活的特点,来满足系统设计的要求。
因为时间有限,该系统还有许多值得修改的地方;比如对此系统来讲,PID算法并不是最优算法;硬件电路的设计还需优化,以减小系统的阻力等等。
因此,系统还有待改进。
在这段时间内的试验过程中,我们遇到过许多的问题,需要我们自己去考虑,去动手,去解决。
平时我们多是时间只是在学习理论知识,在准备比赛和进行比赛这段时间内,我们将平时课本上学习的知识真正的运用到实践中,经过此次竞赛我们认识到了团队合作的重要性,充分领会了大赛的精神,全队每个成员均得到宝贵的创作经验。
参考文献
[1]大学生电子设计竞赛组委会.《第五届全国电子设计竞赛获奖作品编选》.北京:
北京理工大学出版社,2003
[2]何立民.《单片机高级教程应用设计》.北京:
北京航空航天大学出版社,2000
[3]朱定华.《单片机原理与接口技术》.电子工业出版社,2006
[4]吴建平.《传感器原理及应用》.北京:
机械工业出版社,2009
[5]郁有文.《传感器原理及工程应用》.西安:
西安电子科技大学出版社,2008
附录1程序清单(部分)
//主函数
#include<>/*commondefinesandmacros*/
#include""/*derivative-specificdefinitions*/
#include""
#definePITTIME800//定时,,1000*5us
intPJT=478;//平衡位置角度传感器Ad值
voidPLL(void)//48MHz外部时钟16MHz
{
CLKSEL=0X00;//禁止使用锁相环,系统频率=外部晶振,总线频率=系统频率/2
PLLCTL_PLLON=1;//打开锁相环
SYNR=0x40|0x03;//PLLclock=2*osc*(1+SYNR)/(1+REFDV)=96M;
REFDV=0x80|0x01;
POSTDIV=0x00;
_asm(nop);//当POSTDIV=0x00时,BUSCLOCK=PLLclock/2=48M
_asm(nop);
while(!
(CRGFLG_LOCK==1));//等待锁相环初始化完成
CLKSEL_PLLSEL=1;//使用锁相环频率作为系统频率
}
voidPIT_init(void)//定时中断初始化函数5uS定时中断设置
{
PITCFLMT_PITE=0;//PIT禁止
PITCE_PCE0=1;//定时器通道0使能
PITMTLD0=199;//8位定时器初值设定,240分频,在48MHzBusClock下,为。
即5us
PITLD0=PITTIME-1;//16位定时器初值设定。
10ms
PITINTE_PINTE0=1;//定时器中断通道0中断使能
PITMUX_PMUX0=0;//通道0的16位定时器与微时基0连接
PITCFLMT_PITE=1;//PIT使能
}
voidmain(void){
/*putyourowncodehere*/
DisableInterrupts;
IRQCR=0x00;//关闭PE01中断
ECLKCTL=0XC0;//关闭PE4ECLOCK
PLL();
INIT_PWM();
INIT_AD();
PIT_init();
UART_Init();
DDRA=0xFF;
PORTA=0x00;
PORTB=0x00;
DDRB=0x00;
LCD_init();//初始化LCD模块
LCD_clear();//清屏幕
xian();
EnableInterrupts;
for(;;){
keyscan();
canshuxiugai();
jdp(KKK);
jdd(KKP);
}
}
//初始化头文件
#ifndef_INIT_H_
#define_INIT_H_
externvoidINIT_AD(void);
externunsignedintAD_capture(unsignedchars);
externvoidINIT_PWM(void);
externvoidMOTOR_set(intLL);
externvoidspeedout(void);
externvoidLCD_init(void);
externvoidLCD_clear(void);
externvoidxian(void);
externvoidLCD_write_zimu(unsignedcharrow,unsignedcharpage,unsignedcharc);
externvoidjdp(intnumber0);
externvoidjdd(floatnumber1);
externintPJT,KKK;
externintleftout,KAI;
externfloatOutData[4];
externvoidUART_Init(void);
externvoidOutPut_Data(void);
externvoiduart_putchar(void);
externvoidkeyscan(void);
externvoidcanshuxiugai(void);
externvoiddelayms(unsignedintx);
externfloatKKP,ZZ;
#endif
附录2主板电路图
附录3主要元器件清单
序号
名称
数量
备注
1
MC9S12XS128芯片
1
最小系统版
2
直流电机驱动BTN7971
1
驱动直流电机
3
直流电机
RS-380SH
1
控制旋转臂
4
角位移传感器WDS35D
1
旋转角度测量
5
5110显示屏
1
显示PID值
6
主板
1
放置单片机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 电子设计 大赛 报告 一等奖