欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    点光源跟踪系统课程设计Word格式.docx

    • 资源ID:3376060       资源大小:3.13MB        全文页数:23页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    点光源跟踪系统课程设计Word格式.docx

    1、2.1设计方案的选择2.1.1系统方案的拟定1.方案一 由检测电路、AT89C52单片机、时钟电路、A/D转换控制电路等主要模块组成。传感器部分采用光敏二极管,将光信号变换为电信号。经过A/D转换将其转化离散的数字信号。控制电路以单片机为核心,能够对采集的数字信号进行处理和判断,控制步进电机运转使传感器光板正对光线。2.方案二 以单片机低功耗LM3S1138微控制器作为核心控制单元,光强度检测模块,时钟模块,电机驱动,电源供电,步进电机控制电路模块等主要模块组成。传感器采用光敏电阻,LM3S1138微控制器自带8个10位A/D,能够识别模拟信号。控制电路以单片机为核心,能够对采集的模拟信号进行

    2、处理和判断对步进电机实现控制。2.1.2方案选择 比较以上两方案可知,系统的工作原理是一致的,都是通过传感器感受光强变化并间接或直接将其转化成单片机能够识别的信号,通过单片机处理信号并进行判断,步进电机控制电路根据单片机传出的信号转动。不同的是选择的控制器,从单片机方面考虑,方案一所使用的传统的AT89C52单片机器件比方案二所使用的LM3S1138微控制器成本低,但是方案二集成8为A/D/处理模块,对于处理数模显得简单方便。经过试验,采用外接A/D模块的方案一,传感器采集数据电路处理较复杂,A/D模块后期程序编写遇到瓶颈,无法实现,于是改为选择采用LM3S1138微控制器的方案二,因为有经验

    3、借鉴,因此设计题目的要求得以方便实现。综合考虑,最后确定选择方案二。 系统组成及工作原理以单片机为控制核心,采用光强度检测电路测量,以光敏电阻传感器作为测量元件,构成光电测量模块。该系统可分为电源模块电路、光电测量电路、步进电机控制电路、单片机、A/D转换电路。选用的主要器件有:光敏电阻,LM3S1138微控制器,ULN2003步进电机驱动模块,步进电机等。图2-1 系统设计框图2.2硬件电路的设计2.2.1 步进电机模块驱动方法及主要参数:驱动方式(4-1-2相驱动)导线颜色123456785红+4橙-3黄2粉1蓝主要技术参数电机型号电压V相数步距角度减速比28BYJ-485.625/641

    4、:642.步进电机的主要特性:1) 步进电机必须加驱动才可以运转, 驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止, 如果加入适当的脉冲信号, 就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。2)28BYJ48是减速步进电机,减速比为1:64,步进角为5.625/64度。如果需要转动1圈,那么需要360/5.625*64=4096个脉冲信号。3) 步进电机具有瞬间启动和急速停止的优越特性。4)改变脉冲的顺序, 可以方便的改变转动的方向。 电机线圈由四相组成,即A、B、C、D四相,电机示意图和各线圈通电顺序图如下图所示: 步进电机原理图 相顺序从0到1称为一步,电机轴将转过

    5、5.625度,四相四拍为0-1-2-3则称为通电一周,若循环进行这种通电一周的操作,电机便连续的转动起来,而进行相反的通电顺序如3-2-1-0将使电机同速反转。同理四相八拍的通电顺序为A-AB-B-BC-C-CD-D-DA-A(本设计用的是四相八拍)。通电一周的周期越短,即驱动频率越高,则电机转速越快,但步进电机的转速也不可能太快,因为它每走一步需要一定的时间,若信号频率过高,可能导致电机失步,甚至只在原步颤动。2.2.3电机驱动模块 本设计采用LM3S1138微控制器(晶振频率为12MHZ)对该四线八相制步进电机进行控制。通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过特定芯

    6、片驱动步进电机。本文选用ULN2003构成步进电机的驱动电路,ULN2003 是高耐压、大电流达林顿列,由七个硅NPN 达林顿管组成。选择ULN2003A作为步进电机的驱动电路。其部集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTLCOMS,由达林顿管组成驱动电路。ULN是集成达林顿管IC,部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故

    7、可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。图如图2-7所示。ULN2003和LM3S1138微控制器构成的驱动电路如图2-8所示。 图2-7 ULN2003部方框图该电路的特点如下:ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采

    8、用DIP16 塑料封装。输入低电平输出高电平,输入高电平输出低电平。ULN2003A的输出结构是集电极开路的,所以要在输出端接一个上拉电阻,在输入低电平的时候输出才是高电平 本次课程设计使用的5线4相步进电28BYJ-48有VCC线 故不需接上拉电阻。图2-8 ULN2003和LM3S1138微控制器构成的驱动电路2.2.4检测模块: 图2-9 光敏电阻分布图通过比较1、2和3、4两组电压的大小,实现竖直方向的转动,通过比较1、3和2、4两组电压的大小,实现水平方向的转动。图2-10检测电路2.2.5单片机模块1.LM3S1138微控制器结构和引脚 单片机的选择主要考虑了单片机自带资源是否满足

    9、设计要求,如果能够选择合适的单片机,则可大为简化电路设计的复杂程度,从而提高系统的可靠性。本系统采用LM3S1138微控制器作为核心控制单元。LM3S1138微控制器具有的电池备用的休眠模块,可以有效地使LM3S1138掉电,在长时间的器件停止工作过程中让器件进入一个低功耗的状态,这非常适合要求最大限度降低功耗的应用。LM3S1138微控制器的优势还在于能够方便的运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。另外,该微控制器使用了兼容ARM Thumb的Thumb2指令集来减少存储容量的需求,并以此达到降低成本的目的。最后,LM3S1138微控制器Stel

    10、laris系列的所有成员是代码兼容的,这为用户提供了灵活性,能够适应各种精确的需求。LM3S1138微控制器的相关特性:单输入和微分输入配置 用作单终端输入的8个10位通道(输入) 灵活、可配置的模数转换 可以把输出配置为:驱动输出管脚、产生中断或者ADC采样序列 比较两个外部管脚输入或者将外部管脚输入与部可编程参考电压相比较 片低压差(LDO)稳压器,具有可编程的输出电压,用户可调节的围为2.25V到2.75V 因此采用LM3S1138微控制器可以最大程度提高本系统的准确度。图2-11 LM3S1138芯片引脚图2.3系统软件设计 本设计中程序采用C语言进行设计。程序中主要有以下几个主要子程

    11、序:主程序,LM3S1138微控制器部集成的A/D模块初始化、采集、转换数据程序,电机驱动控制程序。程序源代码见附录。三、总体调试3.1 软硬件调试 写完成后,在对整个系统调试的过程中,出现了电机不运转等问题。主要通过单独调试各个模块及检查相关硬件电路的焊接,找出问题所在,然后针对问题逐个击破,最后成功完成本设计。四、设计总结本系统是点光源随动系统,通过采用lm3s1138单片机作为核心部件,光敏三级管检测到的信号时通过AD转换为数字信号传输给单片机,将处理的结果以脉冲的形式输出给驱动电路uln2003,驱动步进电机运动。使其追踪到点光源的位置。通过老师同学的共同努力,大家相互配合,不断弥补知

    12、识的漏洞,基本可以实现点光源随动的功能五、参考文献1薛建国基于单片机的太阳能电池自动跟踪系统的设计J.师学院学报:自然科学版,2005,24(3):26-302兴磊,丽丽一种太阳自动跟踪系统的设计J农业大学学报,2008,26(4):3153183敏,京城,俊,等一种新型的太阳能自动跟踪装置J电子器件,2008,31(5):1702 1703,17084侯长来一种太阳自动跟踪装置的设 JJ现代机械,2005(1):6668六、附录1.系统整体电路图3.程序#include systemInit.huartGetPut.h#include stdio.h #define ADCSequEnabl

    13、e ADCSequenceEnable#define ADCSequDisable ADCSequenceDisable#define ADCSequConfig ADCSequenceConfigure#define ADCSequStepConfig ADCSequenceStepConfigure#define ADCSequDataGet ADCSequenceDataGettBoolean ADC_EndFlag = false; / 定义ADC转换结束的标志 / 定义KEY#define KEY_PERIPH SYSCTL_PERIPH_GPIOG#define KEY_PORT

    14、GPIO_PORTG_BASE#define KEY_PIN GPIO_PIN_5unsigned char FFW8=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09; /四相八拍正转编码unsigned char REV8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01; /四相八拍反转编码void motor_ffw() unsigned char i; unsigned int j; for (j=0; j1; j+) /转1*n圈 for (i=0; i8; i+) /一个周期转45度 GPIOPinWrite(GPIO_

    15、PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1| GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4| GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7, FFWi); / P1 = FFWi; /取数据 SysCtlDelay(1 * (TheSysClock / 3000); void motor_rev() j+) /转1n圈 /退出此循环程序 GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1| GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PI

    16、N_4| GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 , REVi); / P1 = REVi;void motor_ffw1() GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1| GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4| GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7, FFWi);void motor_rev1() GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1| GPIO_PIN_

    17、2 | GPIO_PIN_3 | GPIO_PIN_4| GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 , REVi);/ ADC初始化void adcInit(void) SysCtlPeriEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeriEnable(SYSCTL_PERIPH_GPIOE); GPIOPinTypeOut(GPIO_PORTE_BASE,GPIO_PIN_0 | GPIO_PIN_1| GPIO_PIN_2 | GPIO_PIN_3); GPIOPinTypeOut(GPIO_PORTB_BASE,GPIO_PIN

    18、_0 | GPIO_PIN_1| GPIO_PIN_2 | GPIO_PIN_3); SysCtlPeriEnable(KEY_PERIPH); GPIOPinTypeIn(KEY_PORT, KEY_PIN); SysCtlPeriEnable(SYSCTL_PERIPH_ADC); / 使能ADC模块 SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS); / 设置ADC采样率 ADCSequDisable(ADC_BASE, 0); / 配置前先禁止采样序列 / 采样序列配置:ADC基址,采样序列编号,触发事件,采样优先级 ADCSequConfig(AD

    19、C_BASE, 0, ADC_TRIGGER_PROCESSOR, 0); / ADC采样序列步进配置:ADC基址,采样序列0,步值,采样通道 ADCSequStepConfig(ADC_BASE, 0, 0, ADC_CTL_CH0); / 第0步:采样ADC0 ADCSequStepConfig(ADC_BASE, 0, 1, ADC_CTL_CH1); / 第1步:采样ADC1 ADCSequStepConfig(ADC_BASE, 0, 2, ADC_CTL_CH2); / 第2步:采样ADC2 ADCSequStepConfig(ADC_BASE, 0, 3, ADC_CTL_CH3

    20、); / 第3步:采样ADC3 ADC_CTL_END | / 结束,并 ADC_CTL_IE); / 申请中断 ADCIntEnable(ADC_BASE, 0); / 使能ADC中断 IntEnable(INT_ADC0); / 使能ADC采样序列中断 IntMasterEnable(); / 使能处理器中断 ADCSequEnable(ADC_BASE, 0); / 使能采样序列/ ADC采样:*pulVal保存采样结果void adcSample(unsigned long *pulVal) ADCProcessorTrigger(ADC_BASE, 0); / 处理器触发采样序列 w

    21、hile (!ADC_EndFlag); / 等待采样结束 ADC_EndFlag = false; / 清除ADC采样结束标志 ADCSequDataGet(ADC_BASE, 0, pulVal); / 自动读取全部ADC结果int main(void) unsigned char r,N=64; /N 步进电机运转圈数 unsigned long ulVal8,v8; int left,right,up,down,limit360l=0,limit180u=0,limit360r=0,limit180d=0; char s40; unsigned long i; jtagWait();

    22、/ 防止JTAG失效,重要! clockInit(); / 时钟初始化:PLL,20MHz uartInit(); / UART初始化 adcInit(); / ADC初始化 for (;) adcSample(ulVal); / ADC采样 for (i = 0; i 3 ) left = 1; else left = 0; if( (v0+v3)-(v2+v1) right = 1; right = 0; if( (v2+v3)-(v1+v0) up = 1; up = 0; if( (v1+v0)-(v2+v3) 3) down = 1; down = 0; SysCtlDelay(15

    23、 * (TheSysClock / 3000); / 延时约1500ms if (GPIOPinRead(KEY_PORT, KEY_PIN) = 0x00) / 如果按下KEY / GPIOPinWrite(LED_PORT, LED_PIN, 0x00); / 点亮LED for(r=0;rN;r+) motor_ffw(); /电机正转 if (right = 1 )/& limit360r 181) / 如果按下KEY limit360r += 45; limit360l -= 45; if (left = 1 )/& limit360l motor_rev(); limit360r -= 45; limit360l += 45; if (up = 1 )/& limit180u 91) / 如果按下KEY motor_rev1(); limit180u += 45; limit180d -= 45; if (down = 1 )/& limit180d motor_ffw1(); limit180u -= 45; limit180d += 45;/ ADC采样序列0的中断void ADC_


    注意事项

    本文(点光源跟踪系统课程设计Word格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开