Giter VIP home page Giter VIP logo

ramalcu / evse_smart_charger Goto Github PK

View Code? Open in Web Editor NEW

This project forked from calplug/evse_smart_charger

0.0 0.0 0.0 153.13 MB

Electrical Vehicle Supply Equipment (EVSE) Smart Charger - Example smart EV designs and a demonstration MATLAB device-group demand management

Shell 0.01% JavaScript 0.01% Ruby 0.02% C++ 7.10% Python 0.06% C 80.22% Java 0.02% Tcl 0.17% VHDL 8.60% Assembly 0.20% Prolog 0.01% MATLAB 0.36% Logos 0.12% Processing 0.18% XSLT 0.26% CSS 0.01% Stata 0.10% Makefile 0.32% HTML 2.25% Batchfile 0.01%

evse_smart_charger's Introduction

EVSE Smart Charger

By: Andy Begey, Brandon Metcalf, Luis Contreras, Shermaine Dayot, Omair Farooqui, Krishan Solanki, Alex Ramirez, Emon Sahaba

Project Managers: Dr. Michael Klopfer, Prof. GP Li.

University of California, Irvine - California Institute for Telecommunications and Information Technology (Calit2)


Example ESP32-WROOM-32 application demo: operation of Electric Vehicle Supply Equipment (EVSE) Smart Charger that connects to the internet and MQTT server which will allow EV owners to control the charging schedules and monitor power consumption. Uses Smartenit MQTT format.

Example Application note for ESP32-WROOM-32

Copyright © The Regents of the Univeristy of California, 2018-19

Released into the public domain.

Installation

Required tasks needed for the project:

  1. Install Arduino ESP32 on Windows using this link: https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md

  2. Open Arduino IDE. Click File->Open, then navigate to the following path:
    EVSE code/Arduino/Current_Year_DevelopmentFirmware/EVChargerESP32RTOS

  3. Open EVChargerESP32RTOS.ino. The .ino file and the accompanying libraries should open in the IDE.

  4. Use the library "esp32-hal-spi.h" for SPI. Can be obtained from doing the first task.

  5. Set the board to ESP32 Dev Module.

Building

After following the steps for installation, you can start by creating an account on your desired MQTT broker for testing purposes. It comes in many types of flavors, but our personal favorite and recommendation is CloudMQTT. Go to this link: https://www.cloudmqtt.com/. After you have created your account, prepare to gather the MQTT user, password, port and server because you need these in order to connect with your server. You also need to prepare your desired network name and password. It is very important to note that the ESP32 is itself an access point initally and that you would need to create its own server where the user can input their own MQTT server and Network for the ESP32 to connect to. In the initial stages of testing your software without implementing the ESP32 as its own access point, you would need to hardcode the information you have gathered in the beginning.

Background of Operation

The Smart Charger initializes inputs and safety checks. After the safety check passes, it tries to connect to the wifi available. Then after being connected to the wifi it connects to the mqtt server. Initially the charger is in state A which means it is not plugged in. When it is plugged in but not charging, the charger is in state B. The wattmeter reads values such as Vrms, Irms, and active power. When it changes to state C which is at charging state, both relays will turn on. Pressing the button at certain amount of times will turn off the load, change the load, reset, and enter AP mode.

Usage

Smart Charger can be used to monitor the charging conditions of an electric vehicle. Online, an EV owner will be able to have control over the charger, for example they may ask for voltage levels and will be able to change the load going into the vehicle. It will be very useful in time as the number of electric vehicle users increase.

Connecting to WiFi

Upon first boot and after resets, the EVSE Smart Charger will start an access point (AP) to allow user to connect to a certain WiFI Access Point and MQTT broker.

  1. On another device, connect to AP with SSID: EVSESetup9B25B2.
  2. On a web browser, navigate to 192.168.10.10.
  3. Enter your valid WiFi and MQTT credentials on the form displayed. Then click 'Save.'
  4. A success message should appear, the EVSE AP should disconnect, then the EVSE should connect to the WiFI network specified.

If there a failure, reset the EVSE networking information by pressing the reset button 11-12 times.

MQTT Commands

The EVSE unit can be controlled remotely via MQTT commands.

evse_smart_charger's People

Contributors

alexram1313 avatar andrewbegey avatar lecontr1 avatar metcalfb avatar mjklopfer avatar s-dayot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.