一、功能简介
项目名:基于单片机的光伏电站监测系统设计
项目编号:dz-974
单片机类型:STM32F103C8T6
具体功能:
1、通过DHT11监测当前环境的温湿度,监测到温度或者湿度大于最大值进行声光报警;
2、通过光照监测模块监测当前环境的光照强度;
3、通过风速监测模块监测当前环境的风速;
4、通过按键可以设置阈值
5、通过OLED显示当前测量数据;
6、通过4G模块将监测的数据远程传输到阿里云,阿里云可以历史数据,然后将监测的数据下方到手机,监测到温度过高或者湿度过高进行弹窗提醒;
二、系统框图设计
绘制软件:VISIO
此次设计是基于STM32F103C8T6单片机的光伏电站监测系统设计;该设计主要可以分为三部分:输入、输出和中控。中控部分采用STM32F103C8T6单片机作为主控芯片,主要是对输入进行处理然后控制输出;输入又可以分为五部分:第一部分是温度检测模块DHT11,通过DHT11获取湿度值;第二部是风速检测模块,通过该模块可以检测到当前环境的风速。第三部分是光照检测模块,由此模块可以检测当前环境的照明度。第四部分是按键模块,通过按键可以设置阈值以及控制继电器的开关;第五部分是供电电路,主要是用来对整个系统进行供电;输出主要可以分为三个部分:第一部分是显示部分温湿度,风速,照明度的值;第二部分是声光报警模块,该模块用于当测量值超过设定的阈值时进行声光报警。除此之外4G模块即使输入也是输出,4G模块还可以通过手机端app来检测到当前的温湿度,风速,照明度的值还可以设置阈值。
三、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
四、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
五、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
六、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
/********************************** 函数名:监测函数 传参值:无 返回值:无 **********************************/ void Monitor_Function(void) { if(time_num % 10 == 0) //监测数据 { if(LIGHT_DO == 0) { light_value = 500 - 150*(ADC_Get_Value(ADC_CHANNEL_1)/4096.0 * 3.3); //获取光照值 } else light_value = 0; wind_value = 151*(ADC_Get_Value(ADC_CHANNEL_0) / 4096.0 * 3.3); //获取风速值 if(wind_value < 10) { wind_value = 0; } Dht11_Get_Temp_Humi_Value(&temp_value,&humi_value); //获取温湿度值 } Air_4G_GetData(); //获取4G模块下发数据 }