【《单片机控制的追光系统硬件和软件设计案例》2500字】_第1页
【《单片机控制的追光系统硬件和软件设计案例》2500字】_第2页
【《单片机控制的追光系统硬件和软件设计案例》2500字】_第3页
【《单片机控制的追光系统硬件和软件设计案例》2500字】_第4页
【《单片机控制的追光系统硬件和软件设计案例》2500字】_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2页共168页单片机控制的追光系统硬件和软件设计案例目录TOC\o"1-3"\h\u1060单片机控制的追光系统硬件和软件设计案例 115515第1章硬件电路设计 1210571.1单片机模块 1117441.2电源模块 2307861.3按键模块 3103801.4光线采集模块 4132631.5LCD1602显示模块 577651.6电机及驱动模块 6224711.6.1驱动模块 698771.6.2步进电机模块 722059第2章软件设计 828362.1设计思路 867332.1.1编译语言的选取 8143282.1.2Keil程序开发环境 9157182.2软件主程序设计 9第1章硬件电路设计1.1单片机模块本次设计的数据处理单元采用单片机最小电路STC89C52芯片和相应的外电路组成。STC89C52引脚图如图2。单片机最小系统电路图如图3。在本次设计中,使用的ADC模块为单片机的ADC模块。ADC的信号输入是通过通道来实现的,模拟信号会经由通道,输入至单片机中,在单片机内部进行了由模拟信号到数字信号的转变。图2stc89c52引脚图图3单片机最小系统电路图1.2电源模块LM2596系列是NationalSemiconductor公司制作的一个输出电流为3A的真空开关集成稳压器。该系列稳压器提供:1.3V、5V、12V和可调电压产品(-ADJ)。此外,这些芯片还为外部工作的控制提供了引脚。图4显示了开关电流源的实物图。图4LM2596芯片实物图LM2596包括一个150kHz振荡器、1.23v基准稳定电路、热关断电路、限流电路、放大器、比较器、内部稳定电路等。为了不同的输出电压能够产出,比较器的负极通常端接在参考电压(1.23v)上,正极端接在分压器网络上。将网络的输出与内部参考电压值1.23V进行比较。如果电压发生变化,则用放大器控制内部振荡器的输出占空比,稳定输出电压。开关电源电路图如图5所示。图5开关电源原理图1.3按键模块如图6,本装置共涉及四处按键,S2为总电源按键,控制整个电路的导通;S3为单片机最小电路中的复位按键;S4为控制电机开始运转;S5控制电机转动停止。图6按键原理图1.4光线采集模块当所有的光敏元件都处于接受光的均匀照射时,此时的光照强度几乎大小相等,也就电机的状态保持不运动。而当光敏元件受到不同强度光照时,根据程序编写控制,会使电机状态发生改变。若电阻1与电阻2受到的光照强度不同于电阻3与电阻4所共同受到的光照强度时,即数字信号ADC存在差值,单片机会控制电机向着补偿光照强度偏少的光照方向转动;若电阻1与电阻3受到的光照强度不同于电阻2和电阻4受到的光照强度时,数字信号存在差值,控制另一个步进电机向着补偿光照强度的方向转动。光敏电阻设计如下图7。光敏电阻连接图如图8。图7光敏电阻设计布局图8光敏电阻原理图1.5LCD1602显示模块在单片机系统中采用液晶显示器作为输出设备具有以下优点:

1.质量高。与阴极射线管(crt)显示器不同,液晶显示器在接收信号后通过保持每个点的颜色和亮度连续发光,因此液晶显示器的图像质量高,不闪烁。2.数字接口。LCD数字化,MCU系统界面更简单可靠,操作更方便。

1.小而轻。液晶显示器通过电极控制液晶的状态。与相同直径的传统显示器相比,显示器更易使用。

4、能耗低。

LCD主要使用内部电极和IC,也就是说,会比其他显示器消耗更少。目前常用的是1602字符液晶显示实物如图9所示。LCD1602原理图如图10。图91602字符型液晶显示器实物图图101602字符型液晶显示器原理图1.6电机及驱动模块1.6.1驱动模块驱动模块ULN2003是一个由硅npn复合晶体管阵列构成的高耐压、大电流驱动装置。其基极电阻为2.7k,串联一个达林顿对,直接连接到工作电压为5v的ttl或cmos电路。处理必须在传统标准逻辑缓冲区中处理的数据。ULN2003也是一个7路反向器电路。即当输入端为高电平时,uln2003输出端为低电平。反之,则ULN2003的输出端为高电平。图11是uln2003的引脚图。图11ULN2003引脚图本次设计共使用两个达林顿模块,分别为直插式和贴片式。实物图如图12。图12ULN2003实物图1.6.2步进电机模块步进电机是通过采集电脉冲信号,然后转换为开环控制电机的角度、线位移,在正常的运行工作下,电机的启停是通过对脉冲信号的采集比较。对于步距角,步距角是通过对脉冲信号频率的调节使得步进电机按预定的角度/方向移动。通过控制位移量来精确控制旋转方向/角度,从而使其达到对转动方向和转到角度的精确控制,以此达到对太阳光采集达到最大值化。系统中选用4相5线的5V步进电机。具体参数如下:

1.型号为28BYJ-48。

2.直径:

28mm

1.电压:

5V

2.步进角度:

5.625

x

1/64

5.减速比:

1/64

6.单个重:

0.04KG驱动模块与步进电机电路连接图如图13。图13驱动模块与步进电机电路连接图第2章软件设计2.1设计思路2.1.1编译语言的选取方案一:

C语言

程序语言紧凑灵活,具有丰富的数据结构。没有太多的使用上的限制会在编程上有更大自由度。可以直接访问物理地址,使得完全可以对硬件实现直接控制;程序执行效率高。C语言面向过程中最为重要的是算法和数据结构部分。通过一个过程,使得输入能够在进行运算处理后得到输出。方案二:

C++

c++语言是面向对象的语言,于C的基础之上,增加了现有编程语言的面向对象、模板等功能,扩展了面向对象设计的内容,使其更适合于现代编程的需要。而C++因为过于复杂,在这方面就稍逊一筹了。

方案三:

Java

Java是一种解释性语言,Java很流行,但是性能比较差。因为代码在执行之前要进行一定解释。c++因为编译成二进制,所以运行即时,速度更快。两个程序都足够大,而且当c++中的代码进行优化时,两者的区别在于程序之间的速度非常严重或令人惊讶,而C++可以比Java快得多。本次编程语言选择采用C语言,C语言相对于汇编语言而言,其入门的门槛没有那么高,而且使用C语言设计功能逻辑时,有着层次清晰、可读性高,具备可迁移性等优点,满足代码开源和共享的要求,从某种程度上讲,也降低了代码的编写综合成本。不仅满足本次工作功能实现的需求,同时也为后续的调试和功能扩展等需求提供了重要保障。2.1.2Keil程序开发环境系统中所使用到的单片机开发环境是Keil,而与汇编相比,C语言的闪光点则是在可维护性、结构性、可读性、功能上,一目了然的逻辑框架,使得易学易用,在Keil中,包括着一整套完整的开发方案,如C编译器和库管理等。我们使用集成开发环境(μVision),把各个部分组合在一起。通过上面的基本诠释选择Keil那就是最后的选择,最好的选择。运行Keil软件,需要在操作系统WIN98、WINXP等内进行。2.2软件主程序设计系统初始化之后,光敏电阻的收到的光线强度会通过ADC模块转换为数字信号,通过液晶显示屏实时反映各光敏电阻此时电压值数据,此时程序中会对四个ADC值进行比较判断,程序中设定一定的阈值,当ADC1+ADC3=ADC2+ADC4时,电机1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论