欢迎来到天天文库
浏览记录
ID:21623255
大小:26.00 KB
页数:5页
时间:2018-10-23
《基于单片机的天文时钟控制器的设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于单片机的天文时钟控制器的设计 摘要 设计一种实用的天文时钟控制器,硬件主要由电源单元、单片?C单元、人机界面单元、实时时钟单元、光照度采集单元、继电器输出单元、以及通讯单元等组成。控制器以STM32F103为核心,通过设定的经纬度和当前的日期,计算出日出和日落时间,与模数转换器采集到的光照度相结合,来控制继电器的输出。控制器还可以接收GPRS控制指令,实现特殊控制。 【关键词】天文时钟STM32F103光照度采集实时时钟日出日落 随着社会的发展和节能降耗的要求,对道路交通照明的要求越来越高,需要根据日出日落时间和光照度、以及远
2、程临时指令来开关照明灯具的供电电源,以实现照明的灵活控制。为此,设计了一款天文时钟控制器,并在实践中得到了应用。 1总体设计 设计基于单片机的天文时钟控制器,系统框图如图1所示,电路由由电源单元、单片机单元、人机界面单元、实时时钟单元、光照度采集单元、继电器输出单元、以及通讯单元等组成。电源单元给其余单元提供电源,人机界面单元的按键与单片机的IO口相连,人机界面单元的LCD与单片机通过并行电平转换芯片相连,光照度采集单元与单片机的AD采集通道相连,实时时钟单元与单片机通过I2C总线相连,通讯单元与单片机的UART串口相连,继电器输出单
3、元与单片机的IO口相连。 2硬件设计 电源单元采用TOP253芯片为控制芯片,经反激式脉冲变压器把交流220V转化为系统芯片使用的电压,+5V,+3.3V,隔离的24V等。 单片机单元以STM32F103为核心,属ARMCortex-M3系列,主频72MHz,带有双路12位ADC,带有I2C、USART等接口,内置SRAM和大容量FLASH等,集成度高。采用3.3V、8MHz有源晶振,引出SWD接口作为调试口。使用外部硬件看门狗MAX706S,在收外部干扰使程序跑飞时复位芯片,使软件重新运行。与芯片内部看门狗相比,MAX706S在系
4、统上电掉电情况下,系统电压尚未稳定时使芯片处于复位状态,避免误动作。 人机界面单元包括按键和LCD两部分,按键部分与单片机的IO直接相连。因STM32F103工作电压为+3.3V,LCD接口电压则是+5V,需要2片电平转换芯片74LVC4245APW。见图2,实时时钟单元主芯片为RX8025SA,与STM32F103的I2C管脚相连。系统正常工作时,电源单元的+3.3V为RX8025SA提供电源,系统未上电时,由CR2032电池为时钟芯片提供电源,保持实时时钟数据继续计数。 光照度采集单元部分通过模拟光耦HCPL-788J将光照度传感
5、器的4-20mA电流信号转换为电压信号,经低通滤波后送到STM32F103单片机的AD采样通道管脚上,同时起到隔离作用。 通讯单元采用GPRS通讯,选用SIM900A模块,与STM32的串口相连。 继电器输出单元与单片机单元的2个输出引脚相连,然后通过光耦TLP627接到2个24V继电器的线圈上,2个继电器分别为主控继电器和节能继电器,各提供1个常开干接点输出。 3软件设计 3.1人机界面部分 LCD为128*64点阵液晶,分为4行显示,每行可显示16个字符或8个汉字。按键部分有4个按键,分别为“MODE”、“SHIFT”、“D
6、ATA”和“ENTER”。因显示一屏时间较长,当读按键程序放在主程序中时,有时按下键时会没有反应。因此,将读按键程序和按键去抖程序放在1mS定时器中断中。显示程序采用菜单结构,可通过按键翻页显示多种参数和实时状态。通过按键和LCD显示,可设置日期时间和本地经度纬度,开灯照度与关灯照度以及确认时间等参数。 3.2日出日落时间计算 STM32F103从实时时钟单元得到具体年月日数据,另外从人机接口单元得到本地的经度和纬度,据此计算出从格林威治时间2000年1月1日到计算日的精确天数,进而计算此刻的本地恒星时、太阳的黄道经度和太阳的倾角、以
7、及太阳的圆周半径等,最后得到太阳在黄道南边的时间,区分东西半球后进一步处理,从而得到需要的日出和日落时间。 3.3光照度采集 采用双ADC的DMA模式,一路ADC用于光照度采集,另一路接地用于校验数据的有效性。按照每20mS采样24点的要求开启ADC触发定时器,取24次AD采样的平均值进行数字滤波,以消除工频干扰。并通过预设系数转换为对应的流明数。开启转换完成的DMA中断。 3.4通讯软件 通讯软件要求的反应时间不高,可不使用发送和接收中断占用CPU时间,利用STM32F103芯片的DMA来处理。 DMA中断不开启,在定时器中断
8、中进行串口数据处理。单片机通过AT指令集与GPRS模块进行通讯,监测收到的短信息。为防止误操作,开关灯指令分别需要不同的32位密码,并对报文进行CRC校验。 3.5软件总体设计 中断优先级
此文档下载收益归作者所有