跳到主要内容

自动控制路灯亮度

在旧时代,路灯是通过人工手动控制的。如今,路灯的自动化控制已经出现。然而,人们可以观察到,在高峰时段(即没有交通的时候,以及清晨)并不需要高亮度。通过在这些时段降低亮度,可以在一定程度上节省能源。

有许多方法可以节省电力,例如在检测到车辆时开启路灯、使用光敏电阻和继电器控制路灯等。本文提出的电路通过计算特定区域的高峰时段来控制路灯的亮度。本文展示了两个电路,一个使用ATmega8控制路灯,另一个使用PIC单片机控制路灯。常见的路灯是HID(高强度放电)灯,它们消耗大量电力。为了节省能源,电路设计中用高亮度LED灯替代了HID灯。

1. 使用ATmega8的路灯自动亮度控制

1.1 路灯自动亮度控制电路原理

本项目的主要原理是使用脉冲宽度调制(PWM)控制路灯的亮度。计算特定区域的高峰时段,并根据这些时段,单片机通过调整PWM信号来增加或减少路灯的亮度。

这些高峰时段可以通过考虑交通密度、时间、环境光照强度等参数来计算。

2. 路灯自动亮度控制电路图

alt text
路灯自动亮度控制电路图 - Electronics Hub

2.1 路灯自动亮度控制电路元件

  • ATmega8单片机
  • DS1307芯片
  • 光敏电阻
  • LED阵列
  • LCD显示屏

2.2 路灯自动亮度控制电路设计

路灯自动亮度控制电路虽然简单,但需要大量的编程工作。该电路包括ATmega8控制器、DS1307、光敏电阻、继电器和LED。

2.2.1光敏电阻(LDR) :光敏电阻用于计算环境的光照强度。光敏电阻连接到单片机的ADC1(PC1)引脚。通过ADC将模拟光信号转换为数字值。

2.2.2实时时钟(RTC) :通过RTC计算当前时间。实时时钟有8个引脚,其中SCL和SDA分别连接到PC5和PC4引脚。SCL是串行时钟,而SDA是串行数据。RTC兼容I2C协议,I2C表示集成电路间通信。每个时钟周期在数据总线上传输一位数据。

通过仅使用两条双向总线即可在设备之间传输数据。每个设备可以作为从机或主机。从机设备将有一个地址,这些设备可以通过此地址访问。

2.2.3LCD :LCD用于显示从RTC芯片读取的时间。电路图中展示了4位模式下LCD的连接方式。LCD的D4-D7引脚连接到单片机的PD0-PD3引脚。

LCD的RS引脚连接到单片机的PD4引脚。RW和使能引脚分别连接到控制器的PD5和PD6引脚。

LED阵列是由多个高功率LED串联组成的。它连接到单片机的PWM引脚。

2.3 I2C协议

I2C是一种由Philips公司发明的通信协议。它非常适合于集成电路和外设之间的通信。它使用两条线来传输数据。

  • 串行数据 - SDA
  • 串行时钟 - SCL
  1. 可以通过两条线连接多达128个设备。每个连接的设备都将有一个地址。发起数据传输的设备称为主机。
  2. 每个设备将有一个7位地址。
  3. 主机最初在数据线上发送起始位。
  4. 然后,它发送要通信的设备的地址以及操作模式,即读取或写入。
  5. 从机设备监听传入的数据,并检查其地址是否与接收到的数据匹配。地址匹配的设备发送确认信号。
  6. 然后主机开始从从机设备传输或接收数据。
  7. 传输完成后,主机发送停止位。
  8. 只有在SCL引脚为低电平时,才能改变SDA上的数据。

3. 路灯自动亮度控制电路的工作原理

  1. 首先为电路供电。
  2. 时间显示在LCD显示屏上。
  3. 将光敏电阻置于黑暗中,因为路灯只有在光敏电阻没有光照时才会亮起。
  4. 现在检查时间,如果时间在晚上9点到凌晨2点之间,路灯将以全亮状态发光。
  5. 从凌晨2点开始,灯光的亮度会逐渐降低,最终在清晨以最低亮度发光。当光敏电阻检测到光线时,灯光会自动关闭。

代码的编写方式是,在凌晨2点之前,灯光将以全亮状态发光。从那时起,亮度会逐渐降低,最终在早上降至零。

3.1该电路的局限性

  • 即使节省了能源,但如果在设定时间之后有车辆经过,灯光的亮度也会很低。
  • 无法最大限度地节省能源。

4.使用PIC单片机的路灯自动亮度控制

4.1电路图

alt text

4.2元件

  • IC1 PIC 16F877A
  • IC2 DS 1307
  • LCD1 16X2字符型LCD显示屏
  • R1, R2 10 KΩ
  • R3, R4 1 KΩ
  • R5 10 KΩ
  • R6 1 KΩ
  • R7 10 KΩ
  • R8, R9, R10和R11 330 Ω
  • R12 10 KΩ
  • R13 10 KΩ电位器

4.3元件描述

4.3.1 PIC16F877A

电路中使用的单片机是PIC16F877A。它是一个8位单片机,用于读取光敏电阻上的电压,并检查实时时钟芯片中的时间。根据读数,LED灯将被打开或关闭。

4.3.2 DS1307

这是一个实时时钟芯片。单片机与DS1307之间的通信通过I2C协议进行。它提供时钟和日历,包括秒、分、小时、星期几、日期、月份和年份等详细信息。时间可以设置为12小时制或24小时制,并且有上午/下午的指示。

4.4 工作原理

我们在电路中同时使用光敏电阻和RTC的原因如下:如果只使用光敏电阻,那么将无法节省任何能源,因为路灯会在光敏电阻上的光照强度降低时亮起,并且在光照强度增加时关闭。

如果只使用RTC,路灯将在预设时间开启和关闭,而不管外部照明条件如何。当设备打开时,RTC将从代码中预设的时间开始。

单片机等待光敏电阻的信号,当光敏电阻上的光照强度降低时,单片机的输出被激活,路灯开始亮起。此事件仅在当前时间在预设时间范围内时发生,即仅在下午5点之后。

灯光将持续以全亮状态发光,直到凌晨3点。当时间达到凌晨3点时,路灯的亮度将逐渐降低,并在上午6点或光敏电阻上的光照强度增加时关闭,以先到者为准。

因此,通过上述电路实现了路灯的自动亮度控制,该电路包括光敏电阻、RTC、PIC单片机和LED阵列。

4.5 替代电路

上述电路使用LED阵列作为路灯以节省电力。但是,相同的电路也可以用于点亮普通的HID路灯。HID路灯的自动亮度控制电路如下。

alt text

上述电路仅显示了路灯的接口,其余电路相同。它包括一个继电器、一个连接到市电的高强度放电路灯和一个二极管。

只有当光敏电阻上的光照强度低时,继电器才会闭合,路灯才会亮起。

5. 路灯自动亮度控制电路的优点

  • 可以减少电力浪费。
  • 使用LED阵列降低了成本。
  • 使用RTC和光敏电阻可以产生准确的结果。