当前位置:首页 > 洗衣机 > 文章正文

自 制 追 光 系 统 (代码、设计图全公开)

编辑:[db:作者] 时间:2024-08-24 23:34:17

“太阳能追光系统”也叫“逐日系统”。

用一句话概括便是!

自 制 追 光 系 统 (代码、设计图全公开)

利用单片机及传感器,实时采集光照数据,调度太阳能电池板的角度以实现收益最大化。

视频加载中...

一、项目简介

本设计采取STC15系列单片机作为主控。

4个光敏模块,光芒采集。
用单片机自带的AD转换,采集4个方向的电池板电压。

判断光照比较高的角度,用单片机掌握两路舵机调度角度。

二、PCB设计解释

PCB设计方面,电源线、线宽设置粗一点。

这个PCB设计的比较小,以是摆放元件的时候要很把稳位置。

三、软件解释

提示:软件可以利用代码块来进行嵌套放置。

无需全部软件部分解释,只需解释主要部分即可。

uint Get_ADC10bitResult(uchar channel)//channel = 0~7 { ADC_RES = 0; ADC_RESL = 0; ADC_CONTR = (ADC_CONTR & 0xe0) | ADC_START | channel; nop(); nop(); nop(); nop(); while((ADC_CONTR & ADC_FLAG) == 0); ADC_CONTR &= ~ADC_FLAG; //返回10位AD值 return (((uint)ADC_RES << 2) | (ADC_RESL & 3)); } //AD通道配置程序uchar i; for(i=0;i<10;i++) { x0+=Get_ADC10bitResult(0); x1+=Get_ADC10bitResult(1); y0+=Get_ADC10bitResult(2);y1+=Get_ADC10bitResult(3); } x0=x0/30; x1=x1/30; y0=y0/30; y1=y1/30; //AD采集 采集30次 取个均匀值 void Timer0_Init(void) { TMOD |=0x01; TH0=-high_ms>>8; TL0=-high_ms; TR0 = 1; //定时器0开始计时 EA = 1; ET0 = 1; } //定时器初始程序void timer() interrupt 1 { switch(Pwm_Flag) { case 1: PWM=1; TH0=-pwm[0]>>8; TL0=-pwm[0]; break; // 高电平持续韶光pwm[0] case 2: PWM=0; TH0=-(high_ms-pwm[0])>>8; TL0=-(high_ms-pwm[0]); break; //低电平时间10-pwm[0] ms case 3: PWM2=1; TH0=-pwm[1]>>8; TL0=-pwm[1]; break; // 高电平持续韶光pwm[1] case 4: PWM2=0; TH0=-(high_ms-pwm[1])>>8; TL0=-(high_ms-pwm[1]); break; //低电平时间10-pwm[1] ms default: TH0=0xff; TL0=0x80; Pwm_Flag=0; } Pwm_Flag++; } //定时器中断子程序,用来产生脉冲驱动 舵机。

四、事理图设计解释

事理图利用立创EDA(专业版)进行绘制。

事理图包括8部分:主控电路、旗子暗记采集电路、灯光显示电路、系统电源、舵机电源电路、按键电路、显示电路。

①主控电路

主控芯片采取STC15F2K60S2 。

图中绘制了该主控芯片的最小系统。

XI、XO为外部晶振输入输出接口。
一个12M的无源晶振,为主控芯片供应时钟。

该芯片内部自带时钟,以是不接外部晶振也行,但是内部的不如外部的稳定,以是我采取了外接时钟的办法。

复位电路:

复位端口须要采集到24个时钟周期以上的高电平脉冲,才会进行复位。

以是我采取了一按键的形式,实现手动复位。

②旗子暗记采集电路

利用电位器对电池板输入的电压进行分压。

以免流入引脚电压过大,破坏单片机。

单片机通过带有AD转换功能的引脚,采集电池板的输入电压值。

光敏电阻模块

直接输出一个数字量的旗子暗记送入单片机;单片机通过RIN1~4引脚进行采集。

③灯光显示电路

LED部分。

设计有6个LED灯:

两个为电源指示灯;剩下四个为方向指示灯。

当舵机朝着某一方向偏转一定角度时:

对应的单片机引脚输出低电平;点亮对应的LED进行提示。

④系统电源

采取6P的TYPEC接口作为电源输入接口;拨动开关作为电源输入开关。

设计中OLED显示平须要3.3V供电。

这里我利用了ASM1117,3.3电压转换芯片。

对5V的电压进行降压——至3.3V,供给OLED。

⑤舵机电源电路

舵机电源是独立的。

如果舵机与系统共用一个电源的话,电源会比较吃力,可能带不动这么多负载。

以是我对舵机电源利用了一个独立的TYpec供电。

⑥按键电路

单片机引脚接口默认为高电平,按下按键。

将单片机引脚拉低,通过软件来实现按键消抖。

每个按键对应不同的引脚,触发不同的功能。

个中单片机复位键已经配置成了IO口进行利用,浸染为模式切换按键。

⑦显示电路

利用的0.91寸OLED。

裸屏0.8一个。

屏幕驱动为1306,30脚。

通信办法为SPI。

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/xyj/28448.html

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com