基于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单片机实现了智能电动车充电桩控制,通过双路电压采样、继电器控制及串口通信,实现了充电过程的智能化管理。

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

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

相关推荐
FreakStudio6 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘11 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
十五喵源码网11 天前
基于springboot2+vue2的租房管理系统
java·毕业设计·springboot·论文笔记
u1521096484912 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150012 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼12 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
wohoo_wangzi12 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
jay神12 天前
基于 FastAPI + Vue 的宠物领养管理系统
前端·vue.js·python·毕业设计·fastapi·宠物
✎ ﹏梦醒͜ღ҉繁华落℘12 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展12 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件