一、项目简介
项目名称:基于LPC55S06的智能车载温控
该车内温度自动调节控制系统是基于LPC55S06平台,预期使用FreeRTOS系统,实现DS18B20车外温度实时采集线程、DTH11车内温湿度实时采集线程、OLED显示字符线程,温度变化满足设置条件,则启动步进电机。这里使用步进电机模拟空调运转状态。由于年底时间紧迫,这里暂且使用裸机程序实现该基本功能。
二、项目背景
人工智能引领时代潮流,现在的汽车电子发展越来越火,以人为本。舒适的车内环境会让人身心愉悦,使用该自动调节系统可实现冬暖夏凉,一键开启即可自动最优化调温 。现在市面上大多数小轿车都需要人工手动设置车内空调温度,车内车外温度差并没做参考。这款产品能够更好得满足人们对于车内温度的人性化设置需求。
三、需求分析
项目运用到多个传感器,兼容低功耗设计,使用OLED屏实时显示温度值及电机运行状态,需要MCU有一定的高效稳定性。LPC55S06是基于Cortex-M33内核,运行频率高达96MHz,且支持FreeRTOS开源操作系统,完全满足当前项目需求。
四、功能设计
借助LPC55S06-EVK开发板实现预设功能。该项目基于LPC55S06-EVK做为主控,使用到四个外设,即一个DS18B20做为车外温度采集传感器,一个DHT11做为车内温湿度采集传感器,OLED屏做为GUI显示设备,显示当前车内外温度值,人体体感合适温度范围值设定为20℃~28℃,当车内采样温度值在该范围则不触发步进电机(空调)运行;当车内采样温度低于20℃,且车内车外温差在5℃或以上,则开启步进电机顺时针旋转(空调制热模式);当车内采样温度高于28℃,且车内车外温差在5℃或以上,则开启步进电机逆时针旋转(空调制冷模式)。LPC55S06-EVK板卡外设丰富,硬件接口分布如下图所示:
由于DS18B20与DHT11采用单总线通讯,因此如果条件允许的情况下可采用多个传感器级联。板卡与应用到的外设模块的连接示意图如下图所示:
五、实物连接
六、参考文档及源码
官方参考文档:
LPCXpresso55S06UM.pdf (994.61 KB)
LPC55S06-EVK-QSG.pdf (342.52 KB)
spf-47516_a1.pdf (2.4 MB)
DS18B20.pdf (261.92 KB)
DHT11湿温度传感器使用范例.pdf (388 KB)
DHT11中文说明书.doc (338 KB)
0.96OLED屏驱动芯**册.pdf (1.35 MB)
基于MCUXpresso IDE的工程参考源码:
lpcxpresso55s06.zip (5.11 MB)
七、项目总结与视频
虽然开发调试过程中遇到些许阻碍,但从项目中受益匪浅,进一步熟悉了NXP官方推荐的MCUXpresso IDE。原本计划使用MDK开发,但没想到的是一开箱,点灯就不顺利,工程编译完成了,但烧录却遇到问题,换了SDK版本、MDK版本,在“led_blinky”点灯例程上都没得到解决,但是在“freertos_hello”参考例程上又能顺利调试、下载。问题贴:
https://www.nxpic.org.cn/module/forum/thread-802496-1-1.html
由于板卡集成的MicroUSB既能用做Link2硬件调试器,又能做为串口输出接口,所以一旦数据线接口接触不良,则会导致调试下载失败或串口输出异常。调试过程中,串口输出温度值显示乱码,有待优化。本项目暂且采用裸板程序基本实现外设的驱动,后面有时间再在FreeRTOS上实现实时监控功能。单总线设备要求的时序还是比较严格的,使用MCUXpresso IDE中的“配置工具”下的引脚设置后覆盖掉原有的“pin_mux.c”,“pin_mux.h”等源文件,不熟悉设置GPIO口的上拉、下拉输入,推挽输出,调试比较吃力。
调试效果视频如下:
基于LPC55S06的车内智能温控设计
https://v.youku.com/v_show/id_XNjM3MTQyNjg4NA==.html
https://v.youku.com/v_show/id_XNjM3MTQyNjg4NA==.html