一种基于SC89F516的热源自动跟踪系统设计方案
1.方案设计、比较与论证
1.1传感器的选择
方案一:为了达到实现跟踪热源的功能,使用温度传感器DS18B20进行实时的温度采集,在通过51单片机进行读取内部寄存器的值,将读出的温度与设定的温度进行比较。超过单片机就执行相关的动作。该方案具有硬件电路简单的优势,但是成本很高,而且程序编写复杂,DS18B20的极限温度为125度非常容易烧坏,无法实现相关的功能。
方案二:采用热敏电阻与及AD转换芯片进行热源的跟踪。通过热敏电阻变化导致电压变化,AD芯片将电压模拟量装换为数字量,通过单片机读取数字量从而执行相关的程序,控制步进电机。该方案虽然可行,可是AD之前的电信号处理电路相对较复杂,而且成本较高。所以放弃使用该方案。
方案三:使用热敏电阻以及双电压比较器LM393进行电信号的采集处理,通过SC89F516单片机进行高低电平的判断,通过编程控制廉价、低功耗、驱动电流大的芯片ULN2803实现对步进电机的控制,从而实现热源的自动搜索。该方案具有成本低、功耗小、结构架设简单、程序编写方便等优势。
经过多方面的测试以及实验我们采用方案三作为最终方案。
1.2主控制芯片的选择
方案一:采用STC89C52单片机,STC89C52单片机是由ST公司推出的8位单片机。该单片机具有程序编写简单价格低廉等优势,内有高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。但是其内存太小,无法实现较大程序的运行。本项目要求程序的加密,该单片机无法实现。故不予采用。
方案二:采用STM32C8T6单片机,STM32C8T6单片机是目前较为高端的单片机,该单片机具有强大的功能,内设丰富,是一款32位的单片机,采用cortex M3内核,时钟频率达到72MHz,在同类的32位机中功耗是最小的。由于功能强大其编程也相对的复杂。而且成本相对较高,很难实现程序防破解、堵漏洞的功能。
方案三:采用深圳华联公司生产的SC89F516单片机,该单片机是一款高速高效的8位单片机,该单片机兼容了传统51单片机的所有优势,单片机内含有ADC、SPI模块等。是一款性价比相当高的单片机。该单片机最大的优势在于实现程序的防破解堵漏洞的功能。也是本项目设计的亮点所在。
经过比较方案三是最佳选择。
2.系统硬件电路设计
2.1总体构架框图如下
总体模块由热敏电阻模块、LM393模块、电机驱动模块、单片机最小系统模块组成,实现了整个系统的功能。
2.2模块电路的说明如下:
A.比较器模块:
该模块采用了通用电压比较器LM393,由于其线性度好。是由两个集成的高精度电压比较器。失调电压最低为2.0mv,具有低功耗的特性。可以减少由于温漂引起的失调电压。输入共模电压接近地电平。模块中热敏电阻与固值电阻进行串联分压,将其电压加到比较器的反向输入端。其同向输入端由电位器进行分压,采用该方式的好处是系统传感部分的灵敏度可调。可以改变传感器的探测距离,方便硬件调试。
B.电机驱动模块:该电机驱动模块采用了ULN2803,该芯片内部集成了8个达林顿管,可以承载较大的电压、电流。芯片非常适合逻辑电平接口电路,故我们使用单片机进行逻辑电平的输出是较理想的。模块预留了外部供电的端口,必要时可以使用外部的大电流。使系统稳定的运行。
C.单片机最小系统模块:
SC89F51单片机最小系统由主控芯片、复位电路、晶振电路组成。这三种电路是单片机工作的最基本方式。我们再编程时采用外部晶振,有方便替换的有点。使用上电复位目的是为了使用方便。我们将串行发送口RXD以及串行接收口TXD端口引出,其目的在于方便程序的烧写。
3.相关参数的计算
由于要使热敏电阻的灵敏度达到最大,就必须计算出其最佳的串联电阻。依据经验公式当固值电阻R=时其功率最大。(其R1为热电阻热R2为冷电阻)。经过多次的测量得到热敏电阻在常温下阻值平均为10K,在37度时为平均为9K,计算得到R=9.5K.
步进电机旋转角度的计算。由于步进电机的转动时靠电平一步一步执行的。其工作方式有A-B-C-D和A-AB-B-BC-C-CD-D-DA-A等几种节拍的运行方式。步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。这两个概念清楚后,我们再来计算转速,以基本步距角1.8°的步进电机为例(现在市场上常规的二、四相混合式步进电机基本步距角都是1.8°),四相八拍运行方式下,每接收一个脉冲信号,转过0.9°,
- 关于RTX51 TINY的分析与探讨(05-30)
- 浅析8051模块化编程技巧(05-28)
- 基于DSP和单片机通信的液晶显示设计方案(07-20)
- 锁相环控制及初始化简析(08-27)
- 基于MSP430自动胀管控制器的研究(09-07)
- 嵌入式C实现延时程序的不同变量的区别(03-01)