1、点光源跟踪系统1. 【摘 要】本系统设计是由MSP430F149单片机为控制核心,由恒流源控制1w的大功率LED做点动光源。以光敏电阻作为光源检测传感器,用步进电机来自由转动带动激光笔跟踪点光源的自动跟踪系统. 该系统由430单片机最小系统、点光源检测、步进电机驱动等电路组成,利用三个光敏电阻实现点光源强度和移动方向的检测,通过信号放大和处理,送入单片机内部电路,单片机将采样结果进行分析和处理,控制步进电机运转的步距和方向,从而达到点光源的精确跟踪。关键词:MSP430;恒流源;步进电机;光敏电阻。2. 系统整体方案确立作品以1w白光LED作为光源,固定在一支架上,且LED的电流可调范围为15
2、0mA到350mA,在一定的角度,范围内移动支架,确保跟踪系统中的指向激光笔可以尽快的指向光源。3. 方案设计论证与比较3.1方案设计 由于要以1w的白光LED作为光源,且电流调节范围有限制,所以需要选择一个好的恒流源达到要求,其次在感光系统中,要做到精准的跟踪和定位光源,因此光电传感器的选择也很重要。在这两者的设计中,有以下几种方案。3.2方案论证与比较3.2.1控制核心的选择与比较 方案一:采用MSP430MSP430是TI公司生产的16位超低功耗的混合信号处理器。集模拟电路、数字电路和微处理器于一体,具有方便高速的运算能力和丰富的功能模块,低电源电压范围为1.8-3.6V,还具有灵活的时
3、钟适用范围。方案二:采用89c5189C51单片机是由ATMEL高密度非易失存储器制造技术制造的一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,8位CPU和闪烁存储器组合在单个芯片中,是一种高效微控制器。方案三:采用AVRAVR单片机是由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机。具有运算速度快,性价比高,工作电压范围宽(2.7-6V),和抗干扰能力强等优点。比较以上三种方案,由于对MSP430比较熟悉,因此选择方案一。3.2.2恒流源的选择与比较方案一:用LM358构成恒流源LM358内部包括两个独立的,高增益的,内部频率补偿的
4、双运算放大器,电源电压范围宽,单电源330v,双电源1.515v,低功耗电流,低输入偏流,低输入失调电压和失调电流,差模输入电压范围宽近似等于电源电压范围。方案二:用IRF540构成恒流源 IRF540是一种结型场效应管,可以做压控恒流元件,完全实现小电压控制大电流的目的。具有输入电阻小,噪声小,功耗低,动态范围大,易于集成,没有二次击穿现象,安全区域较宽,温度稳定性好等优点。 比较以上两种方案,LM358电流过小,而IRF540具有较宽的供电范围,因而调节范围也更广,使用更灵活。因此选择第二种方案。3.2.3光敏器件的选择与比较方案一:光敏电阻光敏电阻是利用光的入射引起半导体电阻的变化来进行
5、工作的,光敏电阻属于半导体光敏器件,具有灵敏度高,光谱响应范围宽,体积小,机械强度大,耐冲击,抗过载能力强(最大电压在150v400v之间),耗散功率大,以及寿命长等特点。方案二:光敏二极管光敏二极管是把光信号转换成电信号,利用PN结单向导电性的光电器件,结构与一般二极管类似,PN结安装在管顶部,便于接受光照,光照特性呈现良好的线性,电流灵敏度一般为常数。反应速度快,缺点是输出电流低。方案三:光敏三极管光敏三极管有电流放大作用,具有光敏特性的PN结受到光辐射时形成光电流,由此产生的光电流,由集极进入发射极,从而在集电极回路中产生放大了倍的信号电流。具有很高的灵敏度,缺点是在弱光时灵敏度低些,在
6、强光时则有饱和现象。比较以上三种方案,由于光敏二极管和光敏三极管都没有,选择第一种方案4. 系统的建立4.1系统构建框图4.2硬件电路的制作4.2.1可调恒流源电路 工作原理由场效应管工作在恒流区的特点可知,当UGS固定时,随着UDS的增加iD几乎不变,只要满足UDSUGS-UGS(off)条件,iD的大小只受UGS的控制,达到恒流的效果。原理图4.2.2光源检测电路 如图3.2.2所示,光源检测电路中主要是由三个光敏电阻组成,分别放在不透明的圆筒中,当有光源照射时,三个光敏电阻的阻值会发生变化,然后通过电路信号处理到MSP430中,来控制步进电机。让激光笔跟踪点光源。 图3.2.2(a)光源
7、检测电路 图3.2.2(b) 传感器装置示意图 4.2.3 msp430最小系统4.2.4 JS-8580-V6C驱动步进电机模块控制方式: 脉冲+有脉冲时工作,低电平有效;无脉冲时锁定电机并自动半流方向+低电平输入或悬空时正转;高电平输入时反转脱机+低电平输入或者悬空时正常工作;高电平时脱机4.3程序设计4.3.1程序系统框图4.3.2程序代码/*main主函数*/#include MSP430F149.hvoid IO_init();void CLOCK_init();void TA_init();void Left();void Right();void Stop();void Scan
8、();unsigned char KEY=0XFF;unsigned int jd;int main( void ) WDTCTL = WDTPW + WDTHOLD; IO_init(); CLOCK_init(); TA_init(); _EINT(); while(1) Scan(); void IO_init() P6DIR|=BIT1+BIT2; /脉冲 方向 P6OUT=0XFF; P5DIR=0X00; P1DIR=0XFF; P1OUT=0XFF; P2DIR=0XFF; P2OUT=0X00; P3DIR=0XFF; P3OUT=0X00;void CLOCK_init()
9、unsigned int i; BCSCTL1&=XT2OFF; do IFG1&=OFIFG; for(i=0xff;i0;i-); while(IFG1&OFIFG)!=0); BCSCTL2|=SELM1; BCSCTL2|=DIVM_3;void TA_init() TACTL|=TASSEL_1+TACLR; CCR0=20; TACTL|=MC_1; /CCTL0|=CCIE;void Scan() KEY=P5IN&0XE0; switch(KEY) case 0x00:Stop();break; case 0x60:Left();break; case 0xC0:Right()
10、;break; case 0x40:Stop();break; case 0x80:Left();break; case 0x20:Right();break; default:break; void Stop() CCTL0&=CCIE;void Left() P3OUT=0XFF; CCTL0|=CCIE;void Right() P3OUT=0X00; CCTL0|=CCIE; #pragma vector=TIMERA0_VECTOR _interrupt void TA_ISR(void) P6OUT=BIT1;5. 系统调试5.1调试仪器数字万用表UT39A5.2调试结果5.2.1 恒流源数据测试UDS(V)UGS(V)iD(A)55555.2.2系统测试分别在四种不同的环境下进行灵敏度测试:A:夜间(普通日光灯下)B:早上(有光照因素条件下)C:中午(光照较强烈条件下)D:下午(光照因素影响不大的条件下)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1