




免费预览已结束,剩余29页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
指导教师评定成绩:审定成绩:重庆邮电大学自动化学院计算机控制技术课程设计报告设计题目:光源随动系统单位(二级学院):学生姓名:专班业:级:学号:指导教师:精品资料设计时间:2013年6月重庆邮电大学自动化学院制摘要本设计给出了一种基于单片机的点光源自动跟踪系统设计方案, 该设计使用ti 公司的超低功耗的at89c52单片机作为整个系统的控制核心,主要由电机驱动模 块,点光源检测模块,电源转换模块等模块组成。利用8 路光敏电阻来检测点光源的位置并将检测到的信号经过放大后进行ad 转换,将转换的结果传给控制器at89c52 单片机,经过过单片机的运算和处理来确定点光源的运动趋势,并将运算的控制信号控制两台步进电机,使其跟随点光源运动。本设计可以扩展为以后的太阳能发电的自动跟踪系统。该系统不仅能自动根据 太阳光方向来调整太阳能电池板朝向, 结构简单、成本低, 而且在跟踪过程中能自动记忆和更正不同时间的坐标位置, 不必人工干预 , 特别适合天气变化比较复杂和无人值守的情况 , 有效地提高了太阳能的利用率, 有较好的推广应用价值。关键词: at89c52 单片机、光源、自动跟踪、传感器精品资料目录摘要.错误!未定义书签。目录.3一设计题目.41.1基于单片机的光源自适应控制系统设计41.2设计要求 .4二设计报告正文.52.1设计方案总体方向的选择.52.1.1系统方案的拟定.52.1.2方案选择 .52.2硬件电路的设计.62.2.1 a/d转换模块 .62.2.2步进电机模块.92.2.3电机驱动模块 .112.2.4检测模块 .132.2.5单片机模块.142.3系统软件设计.18三总体调试.193.1总体调试 .193.2问题及解决方案.193.2.1通道比较阀值的设置.193.2.2电机的防抖.19四设计总结.20五参考文献.21六附 录 .22一、设计题目1.1 基于单片机的光源自适应控制系统设计设计一控制系统,假设有一个太阳能电池板,为了使电池板最大限度的接受光照强度,通过控制器调节电池板的角度使电池板始终正对光线。采用步进电机作为角度调整装置,使系统能上下和左右旋转。1.2 设计要求1. 绘制原理图;2. 连接电路;3. 编写程序;4. 调试运行。二、设计报告正文2.1 设计方案的选择2.1.1 系统方案的拟定1. 方案一由检测电路、at89c52单片机、时钟电路、a/d 转换控制电路等主要模块组成。传感器部分采用光敏二极管,将光信号变换为电信号。经过a/d 转换将其转化离散的数字信号。控制电路以单片机为核心,能够对采集的数字信号进行处理和判断,控制步进电机运转使传感器光板正对光线。2. 方案二以单片机低功耗lm3s1138微控制器作为核心控制单元,光强度检测模块, 时钟模块,电机驱动,电源供电,步进电机控制电路模块等主要模块组成。传感器采用光敏电阻, lm3s1138微控制器自带8 个 10 位 a/d,能够识别模拟信号。控制电路以单片机为核心, 能够对采集的模拟信号进行处理和判断对步进电机实现控制。2.1.2 方案选择比较以上两方案可知,系统的工作原理是一致的,都是通过传感器感受光强变化并间接或直接将其转化成单片机能够识别的信号,通过单片机处理信号并进行判断, 步进电机控制电路根据单片机传出的信号转动。不同的是选择的控制器,从单片机方面考虑,方案一所使用的传统的at89c52单片机器件比方案二所使用的lm3s1138微控制器成本低, 但是方案二集成8 为 a/d/ 处理模块, 对于处理数模显得简单方便。经过试验,采用外接a/d 模块的方案一,传感器采集数据电路处理较复杂, a/d 模块后期程序编写遇到瓶颈,无法实现,于是改为选择采用lm3s1138 微控制器的方案二,因为有经验借鉴,因此设计题目的要求得以方便实现。综合考虑,最后确定选择方案二。系统组成及工作原理以单片机为控制核心,采用光强度检测电路测量,以光敏电阻传感器作为测量元件,构成光电测量模块。该系统可分为电源模块电路、光电测量电路、步进电机控制电路、 单片机、a/d 转换电路。选用的主要器件有:光敏电阻, lm3s1138微控制器, uln2003 步进电机驱动模块,步进电机等。图 2-1系统设计框图2.2 硬件电路的设计2.2.1 步进电机模块 驱动方法及主要参数:驱动方式( 4-1-2 相驱动)导线颜色123456785 红+4 橙3 黄-2 粉1 蓝-电机型号电 压 v主要技术参数相数步距角度减速比28byj-48545.625/641:642.步进电机的主要特性:1)步进电机必须加驱动才可以运转,驱动信号必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角) 转动。转动的速度和脉冲的频率成正比。2)28byj48是减速步进电机,减速比为1:64,步进角为5.625/64 度。如果需要转动 1 圈,那么需要360/5.625*64=4096个脉冲信号。3) 步进电机具有瞬间启动和急速停止的优越特性。4) 改变脉冲的顺序,可以方便的改变转动的方向。电机线圈由四相组成,即a、b、c、d 四相,电机示意图和各线圈通电顺序图如下图所示:步进电机原理图相顺序从 0 到 1 称为一步,电机轴将转过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 口输出的具有时序的方波作为步进电机的控制信号,信号经过特定芯片驱动步进电机。 本文选用 uln2003构成步进电机的驱动电路, uln2003 是高耐压、大电流达林顿陈列,由七个硅npn达林顿管组成。选择uln2003a 作为步进电机的驱动电路。其内部集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装 ,npn 晶体管矩阵 ,最大驱动电压=50v, 电流=500ma, 输入电压 =5v, 适用于ttlcoms, 由达林顿管组成驱动电路。uln 是集成达林顿管 ic, 内部还集成了一个消线圈反电动势的二极管 ,它的输出端允许通过电流为 200ma ,饱和压降 vce 约1v左右,耐压 bvceo 约为36v 。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动 uln2003 时, 上拉2k 的电阻较为合适,同时, com 引脚应该悬空或接电源。图如图 2-7 所示。 uln2003 和 lm3s1138 微控制器构成的驱动电路如图2-8所示。图 2-7 uln2003内部方框图该电路的特点如下:uln2003的每一对达林顿都串联一个2.7k的基极电阻 , 在5v的工作电压下它能与ttl和cmos电路直接相连,可以直接处理原先需要 标准逻辑缓冲器来处理的数据。uln2003工作电压高,工作电流大,灌电流可达500ma ,并且能够在关态时承受50v的电压,输出还可以在高负载电流并行运行。uln2003采用dip 16塑料封装。输入低电平输出高电平,输入高电平输出低电平。uln2003a的输出结构是集电极开路的,所以要在输出端接一个上拉电阻,在输入 低电平的时候输出才是高电平本次课程设计使用的5 线 4 相步进电 28byj-48有vcc 线故不需接上拉电阻。图 2-8 uln2003和 lm3s1138微控制器构成的驱动电路2.2.4 检测模块:精品资料34图 2-9光敏电阻分布图通过比较 1、2 和 3、4 两组电压的大小,实现竖直方向的转动,通过比较1、3 和2、4 两组电压的大小,实现水平方向的转动。图 2-10 检测电路精品资料2.2.5 单片机模块1.lm3s1138微控制器结构和引脚单片机的选择主要考虑了单片机自带资源是否满足设计要求,如果能够选择合适的单片机,则可大为简化电路设计的复杂程度,从而提高系统的可靠性。本系统采用 lm3s1138微控制器作为核心控制单元。 lm3s1138微控制器具有的电池备用的休眠模块, 可以有效地使lm3s1138掉电,在长时间的器件停止工作过程中让器件 进入一个低功耗的状态,这非常适合要求最大限度降低功耗的应用。lm3s1138微控制器的优势还在于能够方便的运用多种arm 的开发工具和片上系统(soc)的底层 ip 应用方案,以及广大的用户群体。 另外,该微控制器使用了兼容arm thumb 的 thumb2 指令集来减少存储容量的需求,并以此达到降低成本的目的。最后, lm3s1138微控制器stellaris 系列的所有成员是代码兼容的,这为用户提供了灵活性,能够适应各种精确的需求。lm3s1138 微控制器的相关特性:单输入和微分输入配置用作单终端输入的 8个10 位通道(输入) 灵活、可配置的模数转换可以把输出配置为:驱动输出管脚、产生中断或者adc 采样序列比较两个外部管脚输入或者将外部管脚输入与内部可编程参考电压相比较片内低压差(ldo )稳压器,具有可编程的输出电压, 用户可调节的范围为2.25v到2.75v因此采用 lm3s1138 微控制器可以最大程度提高本系统的准确度。图 2-11 lm3s1138芯片引脚图2.3 系统软件设计本设计中程序采用c 语言进行设计。程序中主要有以下几个主要子程序:主程序, lm3s1138微控制器内部集成的a/d 模块初始化、采集、转换数据程序,电机驱动控制程序。程序源代码见附录。三、总体调试3.1软硬件调试写完成后,在对整个系统调试的过程中,出现了电机不运转等问题。主要通过单独调试各个模块及检查相关硬件电路的焊接,找出问题所在,然后针对问题逐个击破,最后成功完成本设计。四、设计总结本系统是点光源随动系统,通过采用lm3s1138单片机作为核心部件,光敏三级管检测到的信号时通过ad 转换为数字信号传输给单片机,将处理的结果以脉冲的形式输出给驱动电路uln2003 ,驱动步进电机运动。使其追踪到点光源的位置。通过老师同学的共同努力,大家相互配合,不断弥补知识的漏洞,基本可以实现点 光源随动的功能五、参考文献1 薛建国基于单片机的太阳能电池自动跟踪系统的设计j. 长春师范学院学报: 自然科学版, 2005 ,24(3) :26-30 2 张兴磊,杨丽丽一种太阳自动跟踪系统的设计j青岛农业大学学报,2008 , 26(4) : 315 318 3 李敏,刘京城,刘俊,等一种新型的太阳能自动跟踪装置j电子器件, 2008 , 31(5) : 1702 1703 ,1708 4 侯长来一种太阳自动跟踪装置的设jj现代机械, 2005(1) :66 68 六、附录1. 系统整体电路图3. 程序#includesysteminit.h #includeuartgetput.h #include #include#defineadcsequenableadcsequenceenable#defineadcsequdisableadcsequencedisable#defineadcsequconfigadcsequenceconfigure#defineadcsequstepconfigadcsequencestepconfigure#defineadcsequdatagetadcsequencedatagettboolean adc_endflag = false;/定义 adc 转换结束的标志/定 义 key#definekey_periphsysctl_periph_gpiog#definekey_portgpio_portg_base#definekey_pingpio_pin_5unsigned char ffw8=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;/ 四相八拍正转编码unsigned char rev8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;/ 四相八拍反转编码voidmotor_ffw()unsigned char i; unsigned intj;for (j=0; j1; j+)/ 转 1*n 圈for (i=0; i8; i+)/一个周期转45 度gpiopinwrite(gpio_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);voidmotor_rev()unsigned char i; unsigned intj;for (j=0; j1; j+)/ 转 1n 圈/退出此循环程序for (i=0; i8; i+)/一个周期转45 度gpiopinwrite(gpio_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 , revi);/ p1 = revi;/取数据sysctldelay(1 * (thesysclock / 3000);voidmotor_ffw1()unsigned char i; unsigned intj;for (j=0; j1; j+)/ 转 1*n 圈for (i=0; i8; i+)/一个周期转45 度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);/p1 = ffwi;/ 取数据sysctldelay(1 * (thesysclock / 3000);voidmotor_rev1()unsigned char i; unsigned intj;for (j=0; j1; j+)/ 转 1n 圈/退出此循环程序for (i=0; i8; i+)/一个周期转45 度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 , revi);/ p1 = revi;/取数据sysctldelay(1 * (thesysclock / 3000);/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_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(adc_base, 0, adc_trigger_processor, 0);/adc 采样序列步进配置:adc 基址,采样序列0,步值,采样通道adcsequstepconfig(adc_base, 0, 0, adc_ctl_ch0);/第 0 步:采样adc0adcsequstepconfig(adc_base, 0, 1, adc_ctl_ch1);/第 1 步:采样adc1adcsequstepconfig(adc_base, 0, 2, adc_ctl_ch2);/第 2 步:采样adc2adcsequstepconfig(adc_base, 0, 3, adc_ctl_ch3);/第 3 步:采样adc3adc_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);/处理器触发采样序列while (!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();/防止 jtag 失效,重要!clockinit();/时钟初始化: pll ,20mhzuartinit();/uart 初始化adcinit();/adc 初始化for (;)adcsample(ulval);/adc 采 样for (i = 0;i 3 )left = 1; elseleft = 0;if( (v0+v3)-(v2+v1) 3 )right = 1; elseright = 0;if( (v2+v3)-(v1+v0) 3 )up = 1; elseup = 0;if( (v1+v0)-(v2+v3) 3)down = 1; elsedown = 0;sysctldelay(15 * (thesysclock / 3000);/延时约 1500msif (gpiopinread(key_port, key_pin) = 0x00)/如果按下 key/gpiopinwrite(led_port, led_pin, 0x00);/点 亮 led for(r=0;rn;r+)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 叉车买卖购销合同(标准版)
- 旅游广告合作合同(标准版)
- 卖房抢走合同(标准版)
- 企业厂房买卖合同(标准版)
- 安全用电培训知识内容课件
- 2025年筒灯项目提案报告
- 洪洞煤矿安全面试培训课件
- 安全用燃气培训心得课件
- 2025年医疗专业工程整体方案项目立项申请报告
- 法院诉源治理课件
- 机加工安全生产培训考核试题及答案(班组级)(精)
- 电梯从业证考试试题及答案解析
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- DB32-T 5156-2025 零碳园区建设指南
- 人教版三年级数学上册第一单元分层作业设计
- 2024年国庆中秋安全教育主题班会《欢度双节 安全护航》主题安全教育【课件】
- 浙教版(2024)科学八年级上册 2.1力(第2课时)课件
- 中国外卖大战报告(中英)-高盛-202507
- 咖啡对身体健康的影响研究
- DB32∕T 4569-2023 发泡陶瓷保温板 保温系统应用技术规程
- 2025-2030中国地坪研磨机行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论