光伏比赛总结
1、逐日
1.1、STC的io口工作模式
舵机用推挽模式,按键开漏模式
1.2、按键的硬件消抖
按键并联一个电容,可以实现硬件消抖
下图是对比
1.3、舵机
1.舵机由脉冲控制的
2.程序用定时器,做脉冲发生器。
1.4、光敏
1.需要较强的光才可以触发
2.有光信号线变低电平,否则反之
3.单片机i/o口检测电平,控制舵机
1.5、太阳能板
1.ADC转换,把模拟信号转换为数字信号
2.比较东南西北光强度,调整太阳能板
2、风光互补器
3、通讯
3.1、modbus、232、485、串口等实现
- TTL,RS232,RS485都是电平标准(电信号),串口,COM是物理接口
- 单片机用的是TTL电平信号
- 各种转换过程
USB-TTL:USB通过CH340转TTL
USB-RS232:USB通过CH340转TTL,TTL通过MAX232转RS232
USB-RS485:USB通过CH340转TTL,TTL通过MAX485转RS485 - 不管什么转换,都需要接GND不接VCC,防止供电冲突(通讯的时候,下载程序要断电下载)
4、编程思路
4.1、逐日
1.实现功能:
上电复位太阳能板水平向上,
进入模式1(默认模式)东led指示灯常亮,利用太阳能板,被动跟随光源,并且向哪个方向转动哪个方向的led闪烁
短按(时间小于1s)按键,进入模式2,南led指示灯亮,被动通过光敏跟随光源
再次短按(时间小于1s)按键,进入模式3,西led指示灯亮,主动跟随光源(各种转动)
- 各种模式下
长按(时间大于1s)按键,北指示灯亮,太阳能板水平向上,停止工作
再次长按(时间大于1s)按键,进入模式1
2.程序编程思路
1.所有的/o口定义
2.定时器0,做舵机的脉冲发生器
3.定时器1,用作按键长按,短按
一个全局变量t,按下按键变量清零,开始计时,松开按键判断时间
4.按键实现
短按变量a++
长按k取反,实现停止
5.模式切换用switch
if里面嵌套switch,目的判断k,控制短按长按是否停止
一个全局变量a,按键按下一次变量++
6.按键放入位置
放switch里
有些模式可能会在死循环里,在死循环里放按键,判断if(a!=2||k!=1)return 0;实现跳出循环
4.2、风光互补器
4.3、通讯
1.实现功能:
1.PLC控制风光互补器,实现模式切换,数据输入(风速),数据读出(电压)
2.PLC控制逐日实现,模式切换,控制东南西北转动
3.逐日控制风光,切换模式
2.程序编程思路
1.利用modbus通讯协议,给风光传数据和读数据(485)
2.风光作为中间媒介,PLC发数据给风光,风光在发给逐日(485、232)
3.利用232通讯接口,串口通讯,实现传数据
5、注意事项
1.检查单片机硬件接线和按钮是否损坏。
2.光敏和太阳能从上到下依次北南西东,舵机上面接舵机2,下面接舵机1。(按任务书接)
3.认真读题,不能遗漏任何内容。
- 点赞
- 收藏
- 关注作者
评论(0)