基于PT4115的智能台灯控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3软件设计
由于原因将第三章提前了,可忽略不看,可直接跳过第三章从后面看起,整体顺序没变。
Keil uVision开发平台:Keil uVision IDE开发平台简称Keil,Keil支持ARM、C51、C166、C251等类型微控制器,能够提供灵活编程的环境进行开发。
该开发平台集合项目管理,运行环境,编译代码链接,源代码编辑,程序调试等功能,为开发提供强有力的帮助,一个开发平台集成上述功能,简化开发环境部署,无需多个程序即可完成开发。
Keil十分利于新手进行开发,他的易用性能够加快你的嵌入式系统软件开发,能够支持多窗口进行编辑,创建新的源代码以及项目文件管理。
Keil内集成的程序调试器,提供了一个独立环境,支持你进行测试,功能验证,定制应用代码。
调试器不仅包含了传统的功能,还包括比如说断点,窗口预览,程序执行控制,以及硬件内部操作全可视化等操作。
Keil支持C语言、C++语言、汇编语言进行开发,也是各地公司、高校使用频率较高的开发平台。
本毕业设计中,用的最多的是C语言,C语言通过Keil内部的编译器,将C语言转换为机器语言,使得我们的微控制器能够识别并执行。
相对来说,C语言开发效率较高,比较通用,因此采用C语言进行设计。
在程序开头做好相关的准备,不能着急直接开始进行代码的编写。
回顾本作品的相关外设,有PWM无极调光模块,OLED 0.96寸SPI型显示屏,TTP223触摸开关模块,DHT11温湿度模块,DS1302 RTC模块。
根据上述的外设类型,可以进行分类:
使用到PWM功能的有PWM无极调光模块,使用到外部中断的有TTP223 ,PWM无极调光模块,使用到定时器的有DS1302 RTC模块,DHT11模块,使用到IIC通信协议的有DHT11模块,DS1302 RTC模块,使用到SPI通信协议的有OLED 0.96寸SPI显示屏,普通IO引脚使用的有LED光源灯珠。
如图3-1
图3-1 头文件定义图
此处需要包含所有库文件,不可缺漏,否则会导致相关硬件的代码无法通过编译,从而使得硬件无法正常工作。
为了更加方便的编写代码,还需要将数据类型提前定义好,以便后面进行使用,直接使用数据类型更加快捷,也加快了整体程序开发的进展。
如图3-2。
图3-2 时钟与温湿度模块代码图
3.1主时钟的定义
做系统主时钟的定义,是因为IAP15W4K61S4微控制器集成系统内部可变时钟,根据所需程序的时钟速度进行设置,无需外部外接晶振,大大提高了硬件、软件的开发效率。
定义好RTC所需要的全局变量,使得后面OLED 0.96寸上128*64的显示设置更加方便,同时此处做好准备便于代码衔接。
下一步进行引脚端口的定义声明,为后续按键,LED灯占用相应的微控制器的GPIO口进行准备。
接下来是微控制器相关资源的初始化,PWM无极调光模块需要用到内部的PWM资源,需要专门进行指定PWM通道、PWM中断服务进行初始化。
进行完PWM相关资源的初始化后,需要声明定义延时函数,以至于关系到后续传感器采集数据,OLED显示屏刷新延时等等相关参数设定。
综上程序为主函数程序必备所需的准备工作,接下来为主函数主体详细内容,包含所有传感器外设工作所需内容,独立外设所需的代码将在下一个小结进行详细解释,为了方便,我们将会对这些独立外设所需的代码,另成一个C源文件,便于管理。
OLED 0.96寸SPI协议单色显示屏
针对中景园生产的0.96寸SPI通信协议的OLED显示屏技术手册提供的时序图。
如图
3-3所示:
图3-3 n行m列OLED屏扫描原理时序图
3.2 SPI协议的定义
先来解释,SPI是Serial Peripheral Interface三个英文单词的首字母缩写,用中文来说即为串行通信外部接口,是摩托罗拉公司首次在MC68HC系列处理器定义。
如果要用好SPI 协议,则需要关注SPI通信时序根据几根关键的线:SDO主设备输出从设备输入(数据输出),SDI主设备输入从设备输出(数据输入),SCLK时钟信号,CS使能信号(片选)。
主要工作方式为主从方式工作,此处的主设备为IAP15W4K61S2微控制器,从设备此处为OLED 0.96寸SPI协议单色显示屏。
从上图可知,行同步信号依次输出,等到信号序列1位置,帧同步信号置高电平,依此类推,每逢行同步信号序列1处,帧同步信号跟着一起置高电平,产生的周期即为。
行扫描信号产生在行同步信号序列1的下降沿位置,整个周期在行同步信号序列1和行同步信号序列2的下降沿区间段,即为。
第二行的扫描信号往下类推,也就是行同步信号序列2的下降沿至行同步信号序列3的下降沿区间段,同样是。
后面一直到n行扫描信号均是如此。
因为SPI通信协议支持同时送数据以及送地址,于是出现了图中第一列数据是跟随着第一行扫描信号同步进行的。
此处的数据写入,按照一个字节进行写入,能够根据时序图的运作状态,较好的实现数据写入,为后续显示更多内容做好铺垫。
后续需要制定好数据在OLED显示屏内显示的位置,需要做好坐标管理,把相关的代码需要进行整理并且编写入源文件内。
后续发现当前的数据内容没有办法按照指定的位置显示,原因出在我们的程序初始化部分内容:需要提前列出页地址,设置好初始的显示位置,再进行指定位置坐标设定,数据
写入,地址送入,才能够正确的显示出来。
除此之外还需要设置好OLED相关参数,比如说地址,复位信号,还有清除数据,重新指定初始地址等等。
因此初始化程序必不可少,否则内部不完整的数据导致后续显示内容不正常,因此需要补齐初始化内容。
初始化做好以后,再想进一步显示指定区域的数据内容,找到初始位置的数据后,进行位置平移以及数据处理,再显示在OLED上,显得更加定制化。
由于我们要达到最终的要求,我们需要显示出中文内容,不能够纯粹只显示常量内容,还需要增加其他的内容,包括变量,中文说明。
于是先从字符开始做起,能够显示出字符,后续想要显示出中文则困难相对小一些,本着一通百通的想法,继续接着为中文显示进行铺垫。
查阅了相关的网页信息后,还需要准备中文字库,字库需要有字体类型,字体大小等等相关的源代码才能够显示出中文。
后续能够显示出中文汉字,是通过取字模软件生成文字相关参数文件,形成对应的字库源代码,经过程序内的生成代码插入,从而达到中文显示。
要想正确的使用DHT11温湿度传感器,首先需要了解DHT11数字温湿度传感器的相关技术文档,发现DHT11温湿度传感器采用的是单总线双向串行通信协议,每次采集都需要主设备IAP15W4K61S2微控制器进行采集信号的发起,然后DHT11会向主设备
IAP15W4K61S2微控制器送入传输开始的40bit数据帧进行确认传输,以MSB作为起始端,格式默认为:8bit湿度整型数据,8bit湿度浮点型数据(浮点型数据为0),8bit温度整型数据,8bit温度浮点型数据,8bit校验和数据。
如果传送数据正确时,校验和数据为8bit 湿度整型数据,8bit湿度浮点型数据,8bit温度整型数据,8bit温度浮点型数据的末八位数据。
因此,在源程序编写的时候,可以密切留意此处的校验和数据结果作为数据正确与
否。
图3-4 HDT11时序图
根据上述时序图可知:每次IAP15W4K61S2微控制器发起信号采集信号时,DHT11会从低功耗模式切换到高速模式,一旦数据采集完成,则又会重新恢复到低功耗模式,如此循环采集温湿度信息。
在DHT11技术手册上明确指明,起始信号有明确的低电平时间,在单总线定义下,微控制器需要将SDA数据总线电平拉低18ms-30ms作为起始信号,而DHT11需要在此起始信号后进行相应,DHT11传感器需要将SDA数据总线电平先拉低83us,后87us拉高进行响应IAP15W4K61S2微控制器。
后续DHT11传感器将数据通过SDA数据总线
送出40bit数据,以MSB优先。
40bit数据举例:
湿度高湿度低温度高温度低校验位
先检查一下校验位数据是否正确:
0011 1011+0000 0000+0001 1011+0000 0101=0101 1011
经过检查校验位数据正确,因此此处可以进行下一步数据转化:
湿度:整数部分0011 1011=3CH=60% 小数部分没有,因此湿度为60%(相对湿度)温度:整数部分0001 1011=1CH=28℃小数部分0000 0101=05H=0.5℃,因此温度
28+0.5=28.5℃RTC时钟电路
图3-5 DS1302时序图
根据官方提供的数据手册,DS1302时钟芯片最重要的功能是数据读写,由于DS1302为串行通信(脉冲串类型),只能够先读写地址,后读写数据。
当CE使能信号为高电平时,DS1302芯片处于工作状态,SCLK时钟信号上升沿作为地址命令的读写,而时钟信号下降沿作为数据读写,结束时需要将CE下拉回低电平。
共为8位地址,8位数据。
时钟源是有32.768K晶振提供,因此依靠此时钟信号进行计时。
由于内部时间是通过暂存器进行存储,因此获取时间需要通过访问暂存器进行读取时间信息。
此部分代码较简单,选择好指定的暂存器区域进行访问,则可以得到所需要的时间信息,显示出来则需要整理数据信息,才能够按指定格式输出。
基于PT4115的智能台灯控制系统设计
1绪论
项目背景
现在的我们步入了大数据时代,器械智能化的高效率不断的代替了人工的效率,人类的生活方式越来越多元化,产品的实用性是许多人的首选。
OLED全称Organic Light-Emitting Diode,中文名为:有机发光二极管。
这款产品拥有的OLED屏幕是各个独立发光的像素点,即精准度极高,在背景纯黑的情况下,可以不需要发光就可以呈现真实深邃的黑色,多种智能手机屏幕也是采用OLED显示屏,这种超视网膜的显示屏,材料出众,塑料是容易成形且耐用的材质。
台灯是每家每户的必需品,在这个竞争化大的时代,消费者对商品的功能不仅就此一个,买东西会再三斟酌。
2010年LED灯成为了农业界和园林艺术界的榜上话题,美国国家航空总局在太空率先使用LED灯进行栽种,由此之后,商业的室内园艺,农业生产和家用也跟随着脚步。
这些专用的LED灯经过设计,能促植物生长之余,也减少了有些植物对一些光波不吸收而造成的浪费。
在家用上除了提供日常光照外,更可以对室内的植物进行光能的补给,更好的进行光合作用,并且LED灯的发热少,能减少植物的蒸腾作用,加速植物生长。
普通和特殊的照明均可以使用LED灯。
发出白光的传统颜色的灯通常情况下要增加滤镜,为了分隔开其他颜色所造成的损耗,导致效益和能源低下,LED不仅可以发出单色光还不需要增添滤镜。
和荧光灯相比较,它并不含有汞元素,开灯即亮、常开常关的优点但无损伤它的寿命,坚硬,不容易被破坏。
环保,对视力伤害不大,可以用来保护视力。
OLED的缺点:
1)OLED受电压的改变而稍微改变颜色,相同画面内播放时间长,会容易产生烙印,
寿命相对其他的显示屏相对短。
2)黑色光显示时,非常省电,但是使用白光的时候,耗电量增大几倍,不省电。
3)从侧面角度观看容易使屏幕产生溢光现象和容易发生色彩偏差。
LED的缺点:
1)制造成本较高,价格稍贵于正常灯的价格,家庭使用可能会有经济负担。
2)光源属于方向性,长期点照,还有色温偏移的情况。
RA(演色性),目前尚未能取
代某些特殊照明的超高演色性(RA95-100),还需要考虑光学设计,会造成大量灯
有亮度却没有光照度。
3)它并不适合于在潮湿地带使用,色温容易发生偏移,防水设计的成本较高,散热
重量不利于灯源设计。
这项产品设计最主要是切合百姓生活的实用性、智能性与多功能性集合的器件,温湿度和时钟显示给人类的生命活动带来了便捷性,依据市场经济实用模式来设计这款产品,做出符合指标,安全可靠的产品。
严格进行产品设计,展望智能化对台灯市场的的发展前景,来完成此项任务。
项目的主要任务
本项目的主要任务是利用芯片制作出以PWM为载体的无极调光的控制系统。
通过IAP15W4K61S4型单片机来调节PWM。
可实现的功能有:
1)可以进行无极调光
2)可以实现显示时间跳转
3)可以显示环境温湿度
2硬件功能设计
2.1硬件设计
2.1.1整体硬件设计思路
本套硬件整体以STC(宏晶)IAP15系列微处理器单片机作为整套系统的主控制器,具体型号为IAP15W4K61S4。
外部包含PWM高调光比恒流LED光源驱动器,LED 3W灯珠带铝基板,TTP223触摸传感器模块,OLED 0.96寸SPI通信型引脚,DHT11温湿度模块,DS1302 RTC时钟模块(带CR2302锂电池供电)。
整体硬件框架如下图所示:
图2-1 整体硬件设计框架图
2.1.2如何选择主控制器芯片
方案一:选择传统的51系列微控制器。
优点:芯片价格便宜,技术成熟,芯片结构简单,外部电路容易搭建,使用起来相对容易,并且传统的51系列微控制器拥有多种封装,既有传统的DIP,也有各种贴片封装,易于选择体积较小的贴片型进行设计。
缺点:微控制器已出时间过长,内部过分简洁,没有多余的资源,微控制器芯片内部没有内置的ADC,以及专用PWM通道,内部没有震荡电路,需要外挂外部有源或无源晶振。
方案二:选择新款增强型51系列微控制器。
优点:功能以及资源相对丰富,芯片结构简单,外部电路更加精简,更加容易部署单片机最小系统,使用起来相对传统51系列微控制器变化不大,同样拥有各式封装,可供设计者灵活选择封装进行设计。
还拥有内置ADC 模块,以及专用的PWM通道。
缺点:芯片价格相对较高,其他明显缺陷相比传统51来说不太多,上手有一定难度,需要一定的传统型51系列微控制器基础知识以及迁移能力。
方案三:选择性能更加强劲的意法半导体公司旗下的STM32系列的32位微控制器。
优点:性能强劲,主频可高达72MHZ,支持非常多的GPIO拓展,拥有最新一代ARM公司的Cortex-M系列框架,能够支持快速开发,官方提供非常多的库函数编程(STM32CubeMX 编程环境),微控制器自带ADC转换,PWM专用通道。
缺点:需要一定的时间熟悉使用,上手难度较大,微控制器成本较高,外部电路设计比较复杂,结构复杂。
方案四:选择Arduino开源开发板。
优点:适合初级入门的小白进行编程,编程环境已经准备了大量的库函数,使得开发人员开发速度得到了明显的提升,满足快速开发的需求。
支持市面上80%的外设,能够拥有大量的例子进行学习开发,能够较快的上手。
缺点:Arduino 只能买现成的开发板,微控制器周围电路极其复杂,难以部署周围的外部电路,微控制器单片价格较高,都基本上是进口芯片,购买国内取代品会出现兼容性问题。
综上所述,相比之下,方案二的选择会更加适合本作品,原因在于,本作品需要的系统资源不多,但是需要专用PWM通道,ADC转换模块,再加上自身有一定51系列微控制器开发基础,能够应对接下来面临的相对较简单的问题,成本预算方面尽可能选择便宜,内部资源够多的微控制器,外部下载电路尽可能简单,这样更加符合本毕业设计要求。
2.1.3 如何进行微控制器外部控制电路的设计
以微控制器为核心,外部设备为载体进行外部控制电路的设计。
增强型51微控制器是兼容传统的8031系统指令,以此基础进行增加更多的增强型指令使得微控制器性能更加强劲,比原有传统的51微控制器内部集成硬件资源更多并且运算能力、寻址能力得到极大提升。
相继20年后,为了争取更多的传统的51系列微控制器的市场份额,STC(宏晶)公司推出了增强型51系列单片机,满足市场日益增加的硬件资源、激增的性能需求。
现在市面上得到了广泛的使用,社会口碑好,反响强烈,性价比高,应用广泛,高校内也进行了大力推广,各种电子设计竞赛赞助。
目前拥有高度灵活的定制化电路实现方案,能够高效的完成各种嵌入式控制的应用。
毕业设计中选择IAP15W4K61S4微控制器,该微控制器是STC(宏晶)公司面对市场需求进行定制化设计的一款增强型、强大的8051内核的微控制器。
和最传统的51系列微控制器相比,本款IAP15W4K61S4微控制器增加了内部ADC模块,专用PWM输出等实用性极强的资源,并且在ROM、RAM空间方面也得到了飞跃性的提升,可以利用更强大的算法完成你所需要的功能,不再出现ROM、RAM空间不足的老顽疾。
再加上本款IAP15W4K61S4微控制器可以利用内部可调晶振来提供系统所需要的足够的时钟频率,内部内置好看门狗电路,能实现芯片上电的内部复位的功能。
综上,本芯片编程设置好相关参数,甚至只需外加电源即能工作,极大的简化了以前传统型51系列微控制器的繁杂操作。
此处所述的微控制器的最小系统指的是微控制器正常工作的最小电路。
此电路由微控制器芯片、微控制器手动复位电路组成。
下面为IAP15W4K61S4微控制器最小系统图。
图2-2 IAP15W4K61S4微控制器最小系统图
本处重点讲述该微控制器最小系统的复位电路组成,为了让系统在程序运行中途能够重新执行相关部分,于是需要IAP15W4K61S4微控制器最小系统的复位电路进行微控制器系统重启,此处重启为程序能够重头进行执行,但是内部部分数据,例如RAM区域的数据是不会进行清零的。
切记,RAM清零需要通过断电清零的过程,而不能通过复位电路进行清除。
复位引脚正常电路逻辑为低电平作为起始电平,因此此处需要接地,但是为了过滤电源不稳定的干扰因素,比如电源波纹扰动导致的电平不稳,因此我们常用做法为对地接入电容过滤。
由于复位信号需要高电平,还得加入高电平进行复位,因此此处需要VCC=5V进行逻
辑高电平进行供给复位信号,还得加入上拉电阻(强上拉比较好,效果好),常用上拉电阻范围为1K至10 K。
上电时刻,复位信号逻辑为高电平起始,按键按下,控制复位后,等待电容充电,于是出现低电平的时刻,由此处低电平信号作为复位,时间不得低于10uS,于是需要充分低电平时间维持进行复位。
图2-3复位波形图
本处重点讲述IAP15W4K61S4微控制器外部硬件电路设计,设计IAP15W4K61S4微控制器的最小系统后,还需要继续预留外部硬件电路接口。
在设计外部硬件电路接口前,需要提前知道相关硬件特性,接下来下面内容主要讲述外部硬件电路正常工作条件。
图2-4 PT4115工作电路图
关于,30V/1.2A高调光比LED恒流驱动器,部分内容:
连续电流电感导通模式降压恒流源,可调输入INPUT电压8V~30V,可调OUTPUT电流,典型电流输出95uA(关断状态电流)到1.5A(实际IC稳定恒流输出1.2A)。
可灵活调整不同
的光源LED以及供电条件,均可满足光源LED调节条件。
能够驱动几十瓦的LED光源,内置功率调节,内置高端电流采样电路,能够调节LED光源平均的电流,可通过DIM接受模拟调光,拥有非常宽PWM调节范围。
,功率开关关闭,此时工作电流仅仅只有95uA,超低功耗待机性能。
如表2-1。
表2-1 PT4115管脚描述表
管脚号管脚名称描述
1 SW 功率开关漏端
2 GND 信号和功率地
3 DIM 开关使能、模拟和PWM调光
4 CSN 电流采样端,采样电阻接在CSN和VIN端之间
5 VIN 电源输入端,必须就近接旁路电容
- Exposed Pad 散热端,内部接地,贴在PCB板上减少热阻ESOP8 4,5 NC 无连接,接地或悬空
本作采用的封装为SOT89-5,优点体积小、引脚数少,外围电路简单易制作。
实际引脚数为5个,制作PCB时需要考虑散热,温度升高会伴随着最大功耗会下降,因此该封装SOT89-5配备了散热端供给散热需求,正常工作温度范围支持范围为零下40摄氏度到+85摄氏度,ESD(Electricity Shock Defense抗静电能力)最大支持2kV,适合广大地区使用本PWM高调光比恒流LED光源驱动器。
该IC正常工作电压范围为8V至30V,本作品使用12V给IC进行供电,符合技术手册内的输入电压范围,能够满足正常工作条件,和PWM 高调光比恒流LED光源驱动器相接的LED光源为3W灯珠带的铝基板,实际功率3W,具体相关参数见下部分LED光源介绍。
在室温的工作环境下(约25摄氏度下),12V的外部供电电压,按照技术手册的外部供电电压电流以及整体功率的控制,使得LED光源正常工作。
图2-5 整体PCB板图
2.1.4光源LED部分论述
LED光源部分采用的是3W灯珠带铝基板,厂家提供的参数如下:实际额定功率3W;灯珠带铝基板整体尺寸:直径20mm*20mm;工作电压范围:3.2V至3.5V;工作电流范围为600mA到700mA;,最好不要超出厂家提供的正常工作电压、电流范围,以免导致LED 光源工作不正常,切忌不得超过额定功率工作,否则会烧毁该LED灯珠!正常工作亮度范围在220流明(LM)到240流明(LM);正常工作色温范围如下:正白色色温6000K至6500K,
中性白色温4000K至4300K,暖白色温3000K至3500K。
该灯珠不防水,加了铝基板后工作温度不得高于60摄氏度,否则会烧毁LED灯珠。
2.1.5如何选择OLED显示屏
OLED采用的是中景园生产的0.96寸单色显示屏,裸屏拥有30PIN排线,左侧1依次到右侧30,切忌不能搞反,否则会烧毁裸屏。
整体模块为SPI通信接口。
此款OLED采用的显示驱动芯片型号为SSD1306,属于市面上常见芯片之一,内部集成升压模块,提供升压功能,无需外挂升压电路,大大简化外部电路设计,降低上手难度。
SSD1306芯片内每页支持128字节,共有8页,恰好点阵大小也是128*64,满足正常取字模以及图片操作。
特别注意一点,本款0.96寸OLED显示屏支持SPI与IIC通信协议,能够微调内部电路完成通信协议更改,根据中景园提供的技术手册内参数调整,默认SPI通信接口是R1、R2、R8的三个电阻不进行焊接,如想切换成IIC通信接口工作,则需要将R3电阻换到R1处,R8电阻可选是否焊接,七针款0.96寸OLED还需要将RES接口接入高电平,也可以将VCC对接,无需复位,DC和CS接口接地即可,即可轻易完成接口协议交换,大大简化了模式切换,适合IO少的微控制器以及代码内容削减。
SPI接口与IIC接口包含以
下引脚定义:
表2-2 SPI接口与IIC接口引脚定义表格
SPI接口与IIC接口引脚定义
1 GND接电源地
2 VCC(接入范围3V至5.5V)
3 D0 是OLED内D0脚,SPI与IIC为时钟管脚
4 D1 是OLED内D1脚,SPI与IIC为数据管脚
5 RES是OLED内RES#脚,用于复位(切记低电平有效)
6 DC 是OLED内D/C#E脚,用于数据命令控制管脚
7 CS 是OLED内CS#脚,片选信号管脚
2.1.6为什么要选择TTP223作为触摸开关
TTP223触摸开关模块,是由触摸按键和TP223N-BA6触摸检测芯片组成,因为TP223N-BA6芯片性能优异,能够利用可变的触摸按键面积,更加高效的识别到触摸从而进行开关以及调节,从而取代传统按键单一功能(此处单一功能指的是传统按键只能开关)。
工作电压范围为2V至5.5V,低功耗工作电流在VDD为3V时,从1.5uA至3.0uA,低功耗功率很低,满足节能需求。
特别要注意一下两点:
第一点是上电时需要500ms的电路稳定时间,此时按键操作一律无效,所有功能全部禁止,因此注意上电后触摸无效不是按键坏了,而是电路复位需时间。
第二点是TOG引脚与AHLB引脚内部集成下拉,不接默认的低电平。
如果出现低电平,。