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

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

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

相关推荐
Aaron158815 小时前
无人机反制中AOA+TDOA联合定位技术与雷达探测定位技术的应用对比分析
arm开发·嵌入式硬件·fpga开发·硬件工程·无人机·信息与通信·信号处理
foundbug99915 小时前
STM32 睡眠模式测试程序
stm32·单片机·嵌入式硬件
wxmtwfx17 小时前
littlefs 源码分析
单片机·littlefs·嵌入式文件系统
嵌入式小站18 小时前
STM32 零基础可移植教程 18:I2C 入门,先用扫描器找一找总线上有没有设备
chrome·stm32·嵌入式硬件
天涯铭19 小时前
深入浅出:单片机I/O口串联电阻选型
单片机·嵌入式硬件·io口串联电阻
国科安芯20 小时前
ASP7A84AS——航天级低噪声高PSRR线性稳压器
网络·单片机·嵌入式硬件·架构·安全性测试
普中科技21 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 42 章 STM32 内部 FLASH 实验
stm32·单片机·嵌入式硬件·开发板·普中科技·内部flash
不做无法实现的梦~21 小时前
CLion+pyocd配置教程
嵌入式硬件
海绵宝宝的月光宝盒1 天前
SolidWorks 工程图内容丢失(不显示)解决方法
经验分享·笔记·其他·课程设计·制造·学习方法
破晓单片机1 天前
012、STM32项目分享:智能台灯系统
stm32·单片机·嵌入式硬件