亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

双轴太阳能跟踪器:自动/手动模式切换,高效光伏追踪系统

组件与物料清单

组件数量备注
Arduino UNO1主控
旋转电位器2手动模式控制方位/俯仰
LED指示灯2红=手动,蓝=自动
12mm轻触开关1模式切换按钮
MG996R 金属齿轮舵机2驱动面板两轴旋转
光敏电阻4四角布置,自动模式感光
10kΩ 电阻5光敏分压+按钮上拉
221Ω 电阻2LED限流

所需工具

设计工具

项目简介

这是2017-2018年"Young Hackers"社团小学生项目,改编自OpenSourceClassroom双轴跟踪器。核心是一块5V小太阳能板,双轴旋转实现最大功率点跟踪。小学生以流水线分工完成焊接、绝缘、组装,极具教育意义。

双轴太阳能跟踪器:自动/手动模式切换,高效光伏追踪系统
双轴太阳能跟踪器:自动/手动模式切换,高效光伏追踪系统
双轴太阳能跟踪器:自动/手动模式切换,高效光伏追踪系统
双轴太阳能跟踪器:自动/手动模式切换,高效光伏追踪系统
双轴太阳能跟踪器:自动/手动模式切换,高效光伏追踪系统

双模式设计

核心算法:四分法光敏跟踪

四个光敏电阻布置于面板四角(左上、右上、左下、右下);读取模拟值并映射至0-100光强值(每个传感器需单独标定高低阈值);

完整代码

#include <Servo.h>

int mode = 0;           // 0=手动, 1=自动
int buttonState = 0;
int prevButtonState = 0;

int topLeftLight, topRightLight, bottomLeftLight, bottomRightLight;
int LeftLight, RightLight, TopLight, BottomLight;

Servo servo_9;  // 水平舵机
Servo servo_10; // 垂直舵机

void setup() {
  pinMode(7, INPUT);       // 模式按钮
  pinMode(12, OUTPUT);     // 红LED-手动
  pinMode(11, OUTPUT);     // 蓝LED-自动
  pinMode(A0, INPUT);      // 电位器-水平
  pinMode(A1, INPUT);      // 电位器-垂直
  pinMode(A2, INPUT);      // 光敏-左上
  pinMode(A3, INPUT);      // 光敏-右上
  pinMode(A4, INPUT);      // 光敏-左下
  pinMode(A5, INPUT);      // 光敏-右下
  
  servo_9.attach(9);   // 水平
  servo_10.attach(10); // 垂直
}

void loop() {
  // 按钮检测与模式切换(边沿触发)
  buttonState = digitalRead(7);
  if (buttonState != prevButtonState) {
    if (buttonState == HIGH) {
      if (mode == 1) { mode = 0; digitalWrite(12, HIGH); digitalWrite(11, LOW); }
      else { mode = 1; digitalWrite(11, HIGH); digitalWrite(12, LOW); }
    }
  }
  prevButtonState = buttonState;
  delay(50);  // 消抖

  if (mode == 0) {
    // 手动模式:电位器直接映射舵机角度
    servo_9.write(map(analogRead(A0), 0, 1023, 0, 180));
    servo_10.write(map(analogRead(A1), 0, 1023, 0, 180));
  } else {
    // 自动模式:光敏跟踪
    // 映射并标定每个光敏范围(需实测调整)
    topLeftLight     = map(analogRead(A2), 50,  980, 0, 100);
    topRightLight    = map(analogRead(A3), 200, 990, 0, 100);
    bottomLeftLight  = map(analogRead(A4), 170, 970, 0, 100);
    bottomRightLight = map(analogRead(A5), 250, 1000, 0, 100);

    // 计算四象限平均光强
    TopLight    = (topRightLight + topLeftLight) / 2;
    BottomLight = (bottomRightLight + bottomLeftLight) / 2;
    LeftLight   = (topLeftLight + bottomLeftLight) / 2;
    RightLight  = (topRightLight + bottomRightLight) / 2;

    // 水平跟踪
    if (abs(RightLight - LeftLight) > 4) {
      if (RightLight < LeftLight) { if (servo_9.read() < 180) servo_9.write(servo_9.read() + 1); }
      else { if (servo_9.read() > 0) servo_9.write(servo_9.read() - 1); }
    }
    // 垂直跟踪
    if (abs(TopLight - BottomLight) > 4) {
      if (TopLight < BottomLight) { if (servo_10.read() < 180) servo_10.write(servo_10.read() - 1); }
      else { if (servo_10.read() > 0) servo_10.write(servo_10.read() + 1); }
    }
  }
}

接线原理图

双轴太阳能跟踪器:自动/手动模式切换,高效光伏追踪系统

教学价值与改进方向

制造工艺

  1. DHT11 温湿度传感器项目:LED 指示与压电蜂鸣器报警
  2. 自制简易红外避障传感器:IR LED + 光电二极管 + Arduino
  3. 太阳能跟踪器 V2.0:进阶 DIY 光伏自动追日系统
  4. 物联网双轴太阳能跟踪器:基于 Arduino 与 Cayenne 的智能能源管理
  5. 用 Arduino Uno 和 1Sheeld 构建 4x4x4 LED 立方体 - 互动音乐可视化项目
  6. Arduino 高速转速计 - 单次检测算法实测 6.5MHz 级响应,红外 + 红激光方案
  7. 铜电镀智能系统:基于 Arduino UNO 的可控电解装置
  8. Arduino UNO + 以太网盾板实现低成本太阳辐射测量仪(热电堆原理)
  9. 数字逻辑实验板套件:元件清单、原理图与 Arduino Mega 双核协同教学指南
  10. 自制 AI LCD 陪伴机器人:你的互动小伙伴
  11. 高精度伺服驱动太阳能跟踪平台:最大化光能捕获
  12. 光伏组件质量管控三大支柱:电池片/封装工艺/运维体系的关键控制点