基于51单片机的的智能电动车充电桩系统设计

1. 系统总体设计

点击链接下载protues仿真设计资料:https://download.csdn.net/download/m0_51061483/91644953

1.1 设计背景

随着新能源交通工具的普及,电动车已成为城市出行的重要方式之一。与此同时,配套的充电基础设施需求迅速增长。传统电动车充电设备大多功能单一,仅提供基本充电功能,缺乏智能化管理与远程监控能力,难以满足现代智慧能源管理的需求。

基于单片机的智能充电桩系统能够实现多路充电控制、实时电压监测、人机交互以及与上位机通信等功能,具有结构简单、成本低、扩展性强等优点。因此,设计一种基于51单片机的智能电动车充电桩系统,对提高充电设备的智能化水平和用户体验具有重要意义。


1.2 系统功能设计

本系统基于51单片机实现双路电动车充电桩控制,主要功能如下:

  1. 通过LCD1602显示两个充电桩的实时充电电压;
  2. 通过按键控制两个充电桩的启动与关闭;
  3. 支持通过按键设置充电电压;
  4. 当充电完成后,通过蜂鸣器进行提示;
  5. 通过串口通信与上位机连接,实现电压数据实时上传;
  6. 上位机可远程控制两个充电桩的启动、关闭及电压设定;
  7. 系统支持双充电桩独立运行与控制,提高使用效率。

2. 系统电路设计

2.1 单片机最小系统电路设计

本系统采用AT89C51单片机作为核心控制单元,负责数据处理、控制逻辑与通信功能。

最小系统包括:

  1. 晶振电路:采用11.0592MHz晶振,保证串口通信精度;
  2. 复位电路:采用RC复位电路,实现系统可靠启动;
  3. 电源电路:通过稳压模块提供稳定5V电源。

该模块为系统稳定运行提供基础。


2.2 电压采样电路设计

电压采样用于获取充电桩输出电压。

设计方案:

  1. 采用电阻分压电路将高电压转换为0~5V范围;
  2. 每个充电桩独立采样;
  3. 加入滤波电容减少干扰;
  4. 输出信号输入ADC模块。

2.3 ADC模数转换电路设计

本系统采用ADC0808进行模数转换。

主要特点:

  1. 8位分辨率;
  2. 多通道输入,支持两个充电桩电压采集;
  3. 与单片机接口简单;
  4. 转换速度满足实时测量需求。

连接方式:

  • 数据端口连接P0口;
  • 控制信号连接单片机IO口;
  • 时钟信号由外部电路提供。

2.4 LCD1602显示电路设计

LCD1602用于显示两个充电桩的电压信息。

设计要点:

  1. 采用4位数据模式;

  2. 控制引脚包括RS、RW、EN;

  3. 显示内容包括:

    • 充电桩1电压;
    • 充电桩2电压。

2.5 按键输入电路设计

系统设置多个按键用于控制:

  1. 充电桩1启动/停止;
  2. 充电桩2启动/停止;
  3. 电压调节(增加/减少)。

设计要点:

  • 使用上拉电阻;
  • 单片机IO口读取;
  • 软件消抖处理。

2.6 充电控制电路设计

充电控制通过继电器实现。

设计方案:

  1. 单片机输出控制信号;
  2. 三极管驱动继电器;
  3. 控制充电回路通断;
  4. 每个充电桩独立控制。

2.7 串口通信电路设计

用于实现与上位机通信。

设计要点:

  1. 使用单片机UART接口;
  2. 通过MAX232实现电平转换;
  3. 支持RS232通信;
  4. 实现数据上传与远程控制。

2.8 蜂鸣器报警电路设计

用于充电完成提示。

设计方法:

  1. 单片机IO口控制;
  2. 三极管驱动蜂鸣器;
  3. 充电完成时触发。

3. 系统程序设计

3.1 程序总体结构设计

系统程序采用模块化设计,包括采样模块、显示模块、按键模块、控制模块及通信模块。

主程序如下:

c 复制代码
void main()
{
    System_Init();
    while(1)
    {
        Key_Scan();
        Voltage1 = Read_ADC(0);
        Voltage2 = Read_ADC(1);
        Control_Process();
        LCD_Display();
        UART_Send();
    }
}

3.2 ADC采样程序设计

c 复制代码
unsigned char Read_ADC(unsigned char ch)
{
    channel = ch;
    ALE = 1;
    START = 1;
    delay_us(5);
    ALE = 0;
    START = 0;
    
    while(EOC == 0);
    
    OE = 1;
    return P0;
}

实现多通道采样。


3.3 电压计算程序设计

c 复制代码
float Convert_Voltage(unsigned char adc)
{
    return adc * 5.0 / 255.0 * SCALE;
}

将数字量转换为实际电压。


3.4 按键处理程序设计

c 复制代码
void Key_Scan()
{
    if(KEY1 == 0)
    {
        delay_ms(10);
        if(KEY1 == 0)
            charge1_flag = !charge1_flag;
    }
    
    if(KEY2 == 0)
    {
        delay_ms(10);
        if(KEY2 == 0)
            charge2_flag = !charge2_flag;
    }
}

实现充电控制。


3.5 充电控制程序设计

c 复制代码
void Control_Process()
{
    if(charge1_flag)
        Relay1_ON();
    else
        Relay1_OFF();
    
    if(charge2_flag)
        Relay2_ON();
    else
        Relay2_OFF();
}

实现充电桩控制。


3.6 LCD显示程序设计

c 复制代码
void LCD_Display()
{
    LCD_ShowString(0,0,"V1:");
    LCD_ShowNum(3,0,Voltage1,2);
    
    LCD_ShowString(0,1,"V2:");
    LCD_ShowNum(3,1,Voltage2,2);
}

显示电压信息。


3.7 串口通信程序设计

c 复制代码
void UART_Send()
{
    printf("V1=%.2f,V2=%.2f\n",Voltage1,Voltage2);
}

实现数据上传。


3.8 上位机控制处理程序

c 复制代码
void UART_Receive()
{
    if(RI)
    {
        RI = 0;
        cmd = SBUF;
        
        if(cmd == 'A')
            charge1_flag = 1;
        if(cmd == 'B')
            charge1_flag = 0;
    }
}

实现远程控制。


3.9 蜂鸣器控制程序

c 复制代码
void Beep()
{
    Buzzer = 1;
    delay_ms(500);
    Buzzer = 0;
}

用于提示充电完成。


4. 系统总结

本系统基于51单片机实现了智能电动车充电桩控制,通过双路电压采样、继电器控制及串口通信,实现了充电过程的智能化管理。

在电路设计方面,各模块结构清晰,功能独立,具备良好的稳定性;在程序设计方面,采用模块化设计,使系统逻辑清晰、易于扩展。

系统不仅支持本地按键控制,还支持上位机远程控制,提高了系统灵活性与实用性,具有较高的应用价值。

相关推荐
Flamingˢ2 小时前
YNQ + OV5640 视频系统开发(二):OV5640_Data IP 核源码解析
arm开发·嵌入式硬件·网络协议·tcp/ip·fpga开发·vim·音视频
Flamingˢ2 小时前
ZYNQ + OV5640 视频系统开发(三):AXI VDMA 帧缓存原理
arm开发·嵌入式硬件·fpga开发·vim·音视频
xiangw@GZ2 小时前
功耗测量:基于INA226的功耗测量原理深度解析
嵌入式硬件
Zevalin爱灰灰2 小时前
基于STM32实现OTA&BootLoader 第五章——OTA功能开发【下】
stm32·单片机·物联网·mqtt·嵌入式·esp8266
红叶落水3 小时前
GD32H737 1Mbps 数字通信链路实现
单片机
Strange_Head3 小时前
快速入门 MQTT:从 Broker、发布订阅到双机通信
嵌入式硬件
源码站~3 小时前
基于Spring Boot+Vue3的烹饪交流学习系统 设计与实现
java·vue.js·spring boot·后端·mysql·毕业设计·毕设
LCG元3 小时前
STM32实战:基于STM32F103的MQTT协议通信(EMQ X Broker)
stm32·单片机·嵌入式硬件
zmj3203243 小时前
51单片机
单片机·嵌入式硬件·51单片机