当前位置:文档之家› 角度传感器做跷跷板小车

角度传感器做跷跷板小车

/* 增量式 PID计算
*/ int IncPID_Calc(float NextPoint) {
floatIError;//偏差 floatIIncpid;//增量 int Ret_IIncpid=0; IError=SPID->SetPoint-NextPoint;//E[k] SPID->SumError+=IError;//误差累计
uchar i=0; BCSCTL1&=~XT2OFF;//开启 XT2 do {
9
IFG1 &= ~OFIFG; for (i = 0xFF; i > 0; i--); } while((IFG1&OFIFG));//XT2异常 BCSCTL2=SELM_2+SELS; //MCLK=SMCLK=XT2 }
2
3.1.4倾角传感器选择 方案一:采用SCA60C倾角传感器,此芯片只有模拟输出,所以结合MSP430
内部AD模块或者采用专用AD芯片采样如ADS7813来采集传感器信号,并转换为 倾斜角度送给单片机处理。价格低廉,易于连线。
方案二:采用SCA100T高精度双轴倾角传感器,此传感器为数字SPI输出模 式,测量分辨力可达0.003度,具有灵敏度极高,抗冲击,抗震动等诸多优点。 但采用该传感器所需要的硬件电路相对复杂。
ST188采用高反射功率红外光电二极管和高灵敏度光电晶体管组成。检测距离: 4--13mm。
4
(1)其极限参数如表 3—1示:(Ta=25℃) 表 3—1
(2)其光电特性如表 3—2示:(Ta=25℃) 表 3—2
红外传感电路如图 3—3所示。
5
图 3—3红外传感电路 当 st188的发射管发出的红外线照射到跷跷板平面后反射,若红外接收管能接收 到反射回的光线则检测出跷跷板面继而输出低电平,若接收不到发射管发出的光线则 检测出黑线继而输出高电平。 3.2.3角度传感器 角度检测模块采用单轴倾角传感器 SCA60C,SCA60C利用感应重力加速度在某一 方向的分量来完成角度的测量,其输出电压与角度变化成一定的线性关系。通过 AD 采样判断角度的大小。小车处于平衡状态时,SCA60C的输出电压是 2.44V。小车在上 坡过程中,输出电压逐渐增大至 2.44V。小车通过平衡点,下坡时,输出电压由 2.44V 增大至限幅电压 3V。 角度传感电路如图 3—4所示。
《自动化专业》 课程设计报告
系 别: 专业班级: 学生姓名: 指导教师:
目录
1.课程设计目的………………………………………………………………… 1 2.课程设计题目描述和要求…………………………………………………… 1 3.课程设计报告内容…………………………………………………………… 1 3.1方案设计与确定……………………………………………………………… 1 3.2系统硬件设计………………………………………………………………… 4 3.3系统软件设计………………………………………………………………… 8 3.4系统调试………………………………………………………………………17 4.总结……………………………………………………………………………18 参考文献 …………………………………………………………………………19
6
图 3—4角度传感电路
3.2.4驱动电路 步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,
步进电机就转动一个角度,因此非常适合于单片机控制。 步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原
理作用如下: (1)控制换相顺序 通电换相这一过程称为脉冲分配。 (2)控制步进电机的转向 如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机 就反转。 (3)控制步进电机的速度 如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。 两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可 以对步进电机进行调速。
方案二:使用红外发光二极管和一体化接收器自制反射式或对射型的传感 器。
小车到板边沿需要距离为100mm左右的探测,且为了避免环境光以及杂讯干 扰故用方案二。 3.1.7电源模块
方案一:单电源供电,由于小车体积和重量的限制,只使用单电池组。 方案二:采用控制、驱动两部分分离供电,中间采用光耦隔离,最大限度降 低信号干扰。 通过体积、重量、系统功耗、电压稳定性等多方面研究,一组电池供电已经
.课程设计目的 通过本次试验,我们能够加深对单片机的认识,以及加强硬件电路的设计能力。
为日后从事本专业工作打下坚实基础。 2.课程设计题目描述和要求
设计制作一个电动车跷跷板,在跷跷板起始端 A一侧装有可移动的配重。电动车 从起始端 A出发,可以自动在跷跷板上行驶。
基本要求:在不加配重的情况下,电动车完成以下运动: (1)电动车从起始端 A出发,在 30秒钟内行驶到中心点 C附近; (2)60秒钟之内,电动车在中心点 C附近使跷跷板处于平衡状态,保持平衡 5秒钟, 并给出明显的平衡指示; (3)电动车从(2)中的平衡点出发,30秒钟内行驶到跷跷板末端 B处(车头距跷 跷板末端 B不大于 50mm); (4)电动车在 B点停止 5秒后,1分钟内倒退回起始端 A,完成整个行程; (5)在整个行驶过程中,电动车始终在跷跷板上,并分阶段实时显示电动车行驶所 用的时间。 3.课程设计报告内容 3.1方案设计与确定
从成本控制和硬件复杂度上综合考虑,采用方案一。 3.1.5小车引导方式选择 为了使小车不至于掉下跷跷板且能平稳的走直线,有两种引导方式。
方案一:在跷跷板上采取不影响板面平整的引导措施,设计拟在板面上贴黑 色引导胶带,在电动车上安装一系列ST188红外反射光电传感器,采用循迹的方 式引导电动车在板上行驶。
方案二:在小车边缘设置数个光电探测传感器对木板边沿定位,使小车沿中 线前进保证不跌落板面。
考虑到题目要求中方案一技术成熟可靠,稳定性高。 3.1.6光电探测模块
方案一:使用电探测器光成品,如微型红外传感器TCRT或ST系列,体积小 且开关量输出,但有效距离一般不超过10mm;而工业上使用的光电开关距离较长 但体积过大
/* 端口: LCD12864 :P4、P5 MOTOR :P3 ST168 :P1 */ void Init_Port(void) {
P4DIR=0XFF; P5DIR=0XFF; P3DIR=0xFF; } (2)平衡检测
10
此函数是整个设计的核心。 程序首先通过对平衡传感器 SCA60C的返回值的采样来判断小车是否处于平 衡状态,如果返回值为 2.44±0.03V,则小车处于平衡的状态,如果传感器返 回值小于 2.41,则小车处于向上爬行阶段,否则,小车处于下坡阶段。当小车 越过平衡点出现超调时,PID调节起作用。 /*小车平衡控制*/ unsigned char Level_Ctrl(float Deviation_ADC12_Level)// 参 数:Deviation_ADC_12() { float Deviation_Angle_Deviation=Deviation_ADC12_Level;
/* 1us-1600t/s=>1000/1.6=625即赋值 625可以得到 1600次/秒 的中断*/ voidInit_T0(uintVAL )//初始化 T0中断时间 {
TACTL=TASSEL_2+MC_1+ID_3;//SMCLK+Up mode+ 8 Input divider.8*1/8=1us. TACCR0=VAL-1;//定时值-1 TACCTL0|=CCIE;//允许中断 _EINT();//开启中断 }
8
开发语言:C/C++ 开发环境:IAR4.20 3.3.2系统主程序流程图 系统主程序流程图如图 3—6所示。
图 3—6系统主流程图 3.3.3主要函数设计说明 (1)系统初始化
在系统初始化中主要完成以下任务:端口初始化,系统时钟初始化和定时器 初始化。 初始化程序 : /*8M外部晶振,时钟周期 1/8us*/ voidInit_Clk(void)//初始化时钟 {
3
可以满足设计需要,故采用方案一。 3.1.8最终方案确定 控制芯片采用 MSP430F169 ST188红外反射光电传感器作为循迹引导电动车 采用 SCA60C作倾角传感器 电机模块采用两相步进电机
3.2系统硬件设计 3.2.1系统总框图 系统总框图如图 3—2所示。
图 3—2系统总框图 3.2.2红外传感器
if(Mode_Flag==2) {
if( (Deviation_Angle_Deviation<0.03)&&(Deviation_Angle_Deviation>-0.0 3))//平衡
{ if(Level_Flag==0) { Level_Flag=1; Delay_ms(100); } else if(Level_Flag==1) { ADC12CTL0 &= ~ENC; Mode_Flag=3; //进入模式 3 Motor_Stop(); return 1; }
方案二:采用 MSP430F169低功耗单片机主控芯片,该单片机 IO接口数量多, 内部资源丰富,如包涵 12位 AD转换、16位定时器、PWM控制、USART接口等,处理 能力强大,能够轻松胜任此任务。 3.1.2驱动电机选择
方案一:使用步进电机。步进电机的一个显著特点就是具有快速启停能力, 如果负荷过大超过步进电机所提供的动态转矩值,就能够立即使步进电机启动或 反转。另一个显著特点是转换精度高,正反转控制灵活。
通过车载倾角传感器对跷跷板倾角的高精度测量,实时的向控制系统反馈倾 斜状态,系统根据跷跷板状态做出前进或后退动作,使跷跷板保持平衡及实现所 要求的其他功能。为保证小车在板上平稳行使,以及从地面任意位置找到跷跷板 起点,在小车的前后四角各安装了一对红外发射接收传感器,通过设定合适的光 强和角度,可以探测板边界的位置,配合上软件分析引导小车行驶。
相关主题