DIY EV Charging Station with Arduino Uno

Поділитися
Вставка
  • Опубліковано 26 лис 2024

КОМЕНТАРІ •

  • @BettieBoeBoeppidoe
    @BettieBoeBoeppidoe 3 місяці тому +2

    There is lot to learn here about the base simplicity of charging stations. Thank you.

    • @pedro-neves
      @pedro-neves  3 місяці тому +1

      Indeed, I was trying to demystify the complexity of an AC Charging station.
      Thank you!

  • @glennmorgan4197
    @glennmorgan4197 2 місяці тому +1

    Impressive circuit board application. I suggest you put both cables on the bottom of the housing for better waterproofing.

    • @pedro-neves
      @pedro-neves  2 місяці тому

      Hello, thank you very much! That's a good tip indeed;) This one was made just to show and keep open, but when I design a box for being waterproof I believe I'll follow your advice.
      Cheers!

  • @amandioreal2293
    @amandioreal2293 7 місяців тому +2

    Good initiative. I would suggest some changes related to security. The entrances to the box should all be from below and not from above, to prevent water from entering. The protection diodes are missing from the relay circuits. The ground should not be connected to earth because they are different systems. To protect the dc system, I suggest using a fuse.

    • @pedro-neves
      @pedro-neves  7 місяців тому +7

      Hello, thank you for that!
      Indeed, the box was not designed yet with protection in mind. More with the intention to show.
      Keep in mind that Gnd has to be connected to Protective Earth. That is necessary because the Control Pilot has to be referenced to Protective Earth. This is mandatory as described in SAE J1772 and IEC 61851-1
      Cheers!

    • @SpaceerX
      @SpaceerX 5 місяців тому

      @@pedro-neves I was just about to ask that question. I have similar build like yours and I struggled couple of days until I gradually found out the system is working after connecting ground and PE together. Does this have any downsides or consequences considering what @amandioreal2293 just said - that they are two different systems? Thanks for the answer!

    • @pedro-neves
      @pedro-neves  5 місяців тому

      @@SpaceerX hello, the PE and Ground are tied together for safety reasons. This is how it's done in caravans also when they're connected to the grid. You need to connect the chassis of the car to PE. And the chassis of the car is connected to its DC Ground so...
      If still in doubt, this is also mandated by IEC 61851-1.
      Cheers! Happy to see people interested in EV Charging!

  • @hxl6162
    @hxl6162 7 місяців тому +1

    Best regards from Brazil 🎉

  • @gplusgplus2286
    @gplusgplus2286 21 день тому +1

    Nice, the setup looks solid and safe from an electrical point of view, although I'd trust more a rail mounted electrical relay instead of the mini ones on the top board. Now where do I find how to build a 22kw 3 phase 220V one?

    • @pedro-neves
      @pedro-neves  21 день тому +2

      @@gplusgplus2286 you read my mind;) I'm currently working on version 2 that has an external contactor. You can then choose to use a 3-phase, 32A. I'm updating my course in udemy as we speak and I'll also make a UA-cam video soon.
      Cheers ;)

    • @gplusgplus2286
      @gplusgplus2286 20 днів тому

      @@pedro-neves great! Subscribed.

    • @pedro-neves
      @pedro-neves  19 днів тому

      @@gplusgplus2286 thank you!

  • @theovannieuwenhuizen5756
    @theovannieuwenhuizen5756 7 місяців тому +2

    Hi Pedro,
    Very interesting video. It immediatly triggered my intrest. I would have liked to hear a lot more how the program works. Especially with EV charging it would be nice to know more about the protocol for communication with the car.
    On the electrical side of things. Why are there no diodes across the relais coils or optical pin isolation to and from the microcontroller or an air gap between mains and the low power side of the circuit board?
    It might also be a design decision to buffer the PWM output circuit and add pull-up / pull-down resistors to make sure the pins are always at the required state when powering on or starting the microcontroller.
    Humours note: Guess you live in an area where it never rains because it would be a really bad idea if water would run into the enclosure through the cable glant on top of the box. 🤒
    Best from the Netherlands.
    Proposal for updated code?
    #include
    #include "PWM.h"
    #define CP_OUT 10 // Maximum Allowed Charge Current
    #define CP_IN A0 // Applied AC Voltage
    enum State {
    STATE_A,
    STATE_B,
    STATE_C,
    STATE_F
    };
    State currentState = STATE_F;
    int peak_voltage = 0;
    int charging = 0;
    void setup() {
    Serial.begin(9600);
    InitTimersSafe();
    SetPinFrequencySafe(CP_OUT, 1000);
    pinMode(CP_OUT, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(6, OUTPUT);
    pinMode(2, OUTPUT);
    pinMode(3, OUTPUT);
    pinMode(16, OUTPUT);
    digitalWrite(16, LOW);
    digitalWrite(6, HIGH);
    digitalWrite(2, LOW);
    }
    void loop() {
    // Read the CP voltage peaks
    findPeakVoltage();
    // Handle state transitions
    switch(currentState) {
    case STATE_A:
    if (peak_voltage

    • @pedro-neves
      @pedro-neves  7 місяців тому

      Hello, and thank you very much for that!
      Indeed, I could have explained more about the communication. I always debate with myself about how much detail to add to these videos. The next video that I will make will be to explain the communication in detail.
      Regarding the electrical:
      - Indeed, there should be flyback diodes.
      - No need of optical isolators to drive the relays. The drive side is isolated from the power side.
      - There is a big gap in the PCB between power and logic
      - Cannot put pull ups or downs in the PWM because it has that 1k resistance in series to measure the voltage drop caused by the circuit in the car (will explain in detail in the next video).
      Thank you for making the code so much nicer;) I will look at it with care;) I appreciate the trouble that you took to make it.
      Hehe, that enclosure is more meant to demonstrate what's inside than to be in the rain;) Wouldn't dare to leave it outside unattended;)
      I will keep improving this project and I appreciate contributions such as yours.
      I will also make another video to explain the communication in detail.
      Cheers!

  • @davidrumsey3180
    @davidrumsey3180 7 місяців тому +3

    Also, to extend the project a bit, if the Arduino can control the charge current, could it be programmed to monitor a solar PV system and alter the charge current in response to solar energy available and house loads, so that the car was charged only from available surplus solar energy?
    Obviously it would also have to be able to charge at maximum rate, drawing from the grid, as well if you needed to charge quickly or at night.

    • @pedro-neves
      @pedro-neves  7 місяців тому

      Hello, it's absolutely possible. The communication is designed to allow just that - dynamic maximum current allowed. If you input to the Arduino the current that the PVs are producing, then you calculate a new available current to the EV.
      I will develop this project bit by bit. This one makes a lot of sense, thanks.

  • @Kaljupaa
    @Kaljupaa 15 днів тому

    Great stuff! What is your opinion on using an external DIN-mounted relay for turning the power on and off for the charging cable? I am thinking about a system that could be upgraded for example from 1-phase to 3-phase. Further, this way there would not be any high currents going through a custom PCB, only the current that controls the relay.

    • @pedro-neves
      @pedro-neves  14 днів тому

      Thanks!
      You read my mind;) I'm working on version 2 and it will have an external contactor. I'll publish a video about it soon.
      Cheers!

  • @michaelungler9643
    @michaelungler9643 25 днів тому +1

    Hello I like your project I have a quick question where did you buy the TLV1805 I can't seam to find it and is there some special name for it like TLV1805DBVR thanks in advance.
    Best regards Michael

    • @pedro-neves
      @pedro-neves  24 дні тому +1

      Hi, thanks!
      Indeed, the full name is TLV1805DBVR. Here's a link to the one I bought: nl.mouser.com/ProductDetail/Texas-Instruments/TLV1805DBVR?qs=l7cgNqFNU1iC1Jd8EHk%2FgQ%3D%3D.
      Just one note: I'm working on V2 of this board and it's much better (also using the TLV1805DBVR but with other improvements in the power transfer, etc). If you like to wait, I should publish in December.
      Cheers!

    • @michaelungler9643
      @michaelungler9643 24 дні тому +1

      ​@@pedro-neves
      Thanks for the quick answer, I've already started designing a board in Altium myself, I'm not sure yet whether I'll pause the project and wait for your 2nd version or continue with my board, but thanks for the info.
      Cheers!

    • @pedro-neves
      @pedro-neves  23 дні тому +1

      @@michaelungler9643 no worries, good luck with your project!

  • @davidrumsey3180
    @davidrumsey3180 7 місяців тому +1

    Thanks very much for making this video.. great project.
    My Leaf draws about 13A / 230V single phase while charging... what is the highest current your relays, PCB and connectors can handle?
    Or, can the Arduino control the maximum charge current? If so, does it do that by communicating with the car and "asking" the car to only draw say 10A? This part of it wasn't fully explained.

    • @pedro-neves
      @pedro-neves  7 місяців тому +1

      Hello, you are welcome. And thank you very much for your comment!
      The relays and PCB are sized for max 16 A. But I only really tested up to 10 A.
      The code in the Arduino can be changed to allow any current, I briefly show in 16:35 the line of code that can be changed to a different current setting.
      Indeed I could have explained the communication. I'm always wondering how much detail to put in these videos. But, if you are interested in the details, I have a full course in Udemy where I also explain that. There's a link in the Description. But, here's a link with a coupon to take the course for free until the end of April, if you like: www.udemy.com/course/draft/5863700/?couponCode=5F667AB15FB9ECEFA42D.
      Cheers!

  • @diydixit
    @diydixit 7 місяців тому +1

    loved the video ! here's a friendly suggestion : I saw the code is around 3kb ,in that case you should drop using the arduino since it is fairly expensive , you can instead use an atmega 8 ic which has the same pinout as the atmega 328p used in arduino uno . you can get it as low as 3 USD .
    You'll just have to burn bootloader and then programming is as easy as popping the atmega 328 out of the arduino and putting atmega 8 in it .
    If this sounds like a hassle ,you can go with arduino nano !

    • @pedro-neves
      @pedro-neves  7 місяців тому +1

      Thank you very much for the kind words and for the suggestion! Indeed, the Arduino Uno is not cheap. I chose it because I wanted the most DIYer friendly board. I think the Nano may be a good option as well;)
      Cheers!

    • @uosiumen
      @uosiumen 6 місяців тому

      You could use ESP8266 or ESP32 as it's same price to buy and provides spare headroom for future enhancements

    • @pedro-neves
      @pedro-neves  6 місяців тому +1

      @@uosiumen that's true. And I did consider it. One of the reasons for choosing Arduino is that I think it is the platform perceived by hobbyists as the lowest barrier to entry, and I wanted it to be the easiest possible to everyone.

  • @laurentsquartero9218
    @laurentsquartero9218 7 місяців тому

    Nice one Pedro!

    • @pedro-neves
      @pedro-neves  7 місяців тому +1

      Thanks Laurents! Nice to hear from you;)

  • @johnosullivan675
    @johnosullivan675 7 місяців тому

    Cool project! 👍

  • @justinterested5819
    @justinterested5819 7 місяців тому +1

    Is it possible make the houses max charging rate dynamic eg. change it during the charge with (no) interruption?

    • @pedro-neves
      @pedro-neves  7 місяців тому

      Hello, Yes, absolutely. The max charging rate is designed to be dynamic. During charging, the charging station may change the maximum allowed current.
      To combine a charging station with the capacity oh a house, one can measure the current that the house is using and send a signal to the Arduino with how much is available.

  • @AV-hx1bm
    @AV-hx1bm Місяць тому

    Hi. Where can I found that diodes? Are they 12V or 5V ?

    • @pedro-neves
      @pedro-neves  Місяць тому

      Hello, a generic rectifier diode will do. Such as the 1n4001: nl.mouser.com/ProductDetail/Vishay-General-Semiconductor/1N4001-E3-54?qs=N4vtoAxH%2FSoU7cx8rRnwxQ%3D%3D&gad_source=1&gclid=CjwKCAjw68K4BhAuEiwAylp3kobS7M3McysAa_UBFXhMh2o8s5eVKnb7J1cbOCR2QOg1Ikl7hGkhfRoC9DkQAvD_BwE&_gl=1*oiuhb7*_ga*NTUxMjA1NjIwLjE3MjQ2ODIxNTk.*_ga_15W4STQT4T*MTcyOTE4NDYzOS4zLjAuMTcyOTE4NDY0MS41OC4wLjA.

  • @dinuwanmayadunna5060
    @dinuwanmayadunna5060 6 місяців тому

    Can you teach "How to create an Ev charger AC to DC single phase 2 or 3 kw output DC chager?"

    • @pedro-neves
      @pedro-neves  6 місяців тому

      Hello, when connecting an Electric Vehicle to an AC charging station, the vehicle utilizes it's onboard charger to convert AC into DC. It's always hard to decide how much detail to add into the videos on UA-cam but I have a complete course on EV charging in Udemy. Here's a link if you would like to consider it: www.udemy.com/course/electric-vehicle-charging-from-theory-to-practice/learn/lecture/42720488#overview.
      Cheers!

  • @murraymadness4674
    @murraymadness4674 4 місяці тому

    Does it really need -12v ? That ads some parts that I'd like to avoid. Using a motorcontroller chip, it can switch a gnd +12v to +12v gnd, which looks to me the same signal.

    • @pedro-neves
      @pedro-neves  4 місяці тому

      Hello! Indeed, adding a -12 V supply increases the complexity. This is needed because the Control Pilot is a signal that switches between -12 V and + 12 V at 1 kHz. There are certainly ways of doing this differently than I did, but I suspect it would have to be more complex.
      Cheers!

  • @sufyannayim6740
    @sufyannayim6740 3 місяці тому +1

    Can i get the github link and the sheild protector link for arduino

    • @pedro-neves
      @pedro-neves  3 місяці тому

      Hello, certainly. You can find the link to the GitHub project in the Description of the video and the manufacturing files in GitHub.
      But, I'm working hard on version 2 which will be a big improvement so, if you want to wait for that, I think I'll publish it by the end of October.
      Cheers!

  • @patrickmaartense7772
    @patrickmaartense7772 7 місяців тому +1

    can you make a 3 phase version ?

    • @pedro-neves
      @pedro-neves  7 місяців тому

      Hi, that's a good question. It would actually be exactly the same but, instead of 1-phase relays, it would have 3-phase relays. It's even possible to use external contactors (e.g. for DIN rail) and then it's not even needed to design a PCB for them.
      Hope this answers your question.
      Cheers!

    • @oguzhancengiz2886
      @oguzhancengiz2886 Місяць тому +1

      @@pedro-neves Hello, do we need to change the current limitation on the code when we connect a contactor for a three-phase and 16 ampere system? If there is a change in the code section, should " pwmWrite(CP_OUT, 68) " be like this? I don't want to make a wrong calculation :)

    • @pedro-neves
      @pedro-neves  Місяць тому +1

      @@oguzhancengiz2886 you're absolutely right. The value should be 68 because the PWM positive percentage is 16/0.6 = 26.6 and the Arduino value is the resolution of the PWM (8 bit) x the positive percentage so 255x26.6 = 67.83.
      Just one recommendation - I would round low and use 67 instead to make sure the car doesn't pull more than 16 A.
      And one more note: I'm working on the second version of the Arduino Uno shield - with this it will be like your setup with an external contactor so that it can be 3-phase or any current that the contactor can handle. Sounds like you're already doing it but just to mention.
      Good luck with your project!

  • @yaqoubhamadah9928
    @yaqoubhamadah9928 4 місяці тому +1

    hello
    how can i buy the board that made ?
    thank you

    • @pedro-neves
      @pedro-neves  4 місяці тому +2

      @@yaqoubhamadah9928 thanks for asking! I'm working on version 2 and I'll put it for sale as soon as it's ready. I'll make a new video about it. If you like you can send me an email at Pncneves@hotmail.com and I'll write to you when it's ready.
      Cheers!

    • @yaqoubhamadah9928
      @yaqoubhamadah9928 4 місяці тому +1

      @@pedro-neves I sent you thank you

    • @pedro-neves
      @pedro-neves  4 місяці тому

      @@yaqoubhamadah9928 I received it, you're welcome!

  • @martingerken7094
    @martingerken7094 7 місяців тому +2

    a normal charger can give up to 22kW, usually 11kW. I seriously doubt that this board/relay/connectors/cables can take 11kW

    • @pedro-neves
      @pedro-neves  7 місяців тому +6

      Hello, you are right.
      - 22 kW would be a system with 230 V, 32 A per phase and 3-phase.
      - 11 kW would be a system with 230 V, 16 A per phase and 3-phase.
      My board only allows one phase and 16 A (I only tested with 10 A), which makes it a theoretical maximum of 3.7 kW or tested 2.3 kW.
      If one would want to use this board to make an 11 kW or 22 kW, it would be possible by using an external contactor commanded by the board.
      I'm thinking that V2 will be like that actually to maintain the same board for different power systems.
      Cheers!

  • @cipriancarbunaru2827
    @cipriancarbunaru2827 7 місяців тому +2

    There are a lot of safety features and standards for this kind of product. A DIY project like this one doesn't meet half of them.

    • @pedro-neves
      @pedro-neves  7 місяців тому +4

      Hello, that is true. This is meant as a learning platform and is not a finished product.
      I installed an RCBO compliant with IEC61851-1 which disconnects after ground faults over 30 mA AC or 6 mA DC which I consider to be the main safety feature. But there are many others.

    • @Krzychu-bh4rl
      @Krzychu-bh4rl 7 місяців тому +2

      ​@@pedro-nevesI worked on EVSEs a bit. You should also have an overcurrent protection, surge protection and ground fault protection. Overall an interesting project, you demonstrated how it can be done with Arduino. You can also easily add a measurement unit (either DIY or MID interfaced by modbus).
      Now add OCCP 😂

    • @pedro-neves
      @pedro-neves  7 місяців тому +1

      @@Krzychu-bh4rl , hello, and thank you for your kind and constructive comment from a fellow EVSE technologist!
      I have overcurrent protection upstream in my main board and also in the EVSE. The "O" in RCBO means Overcurrent.
      I also have ground fault protection. The "R" in RCBO means "Residual". The RCBO that I'm using is also certified by IEC 61851-1 to protect ground fault to current exceeding 30 mA AC or 6 mA DC. I have a link to the RCBO I'm using in GitHub.
      I agree that it should measure Current and Energy. I'm sure I'll add it one day;)
      And I would like to do a project just on OCPP. I think it will happen;)
      Cheers!

  • @avcgarage6688
    @avcgarage6688 5 місяців тому +1

    I made the circuit. There was a fire. My electric vehicle almost burned down 🙅🏼‍♂️❌