E-MotorWerks JuiceBox - an open source 15kW EVSE

My Nissan Leaf Forum

Help Support My Nissan Leaf Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

valerun

Well-known member
Joined
Mar 31, 2013
Messages
240
Location
Palo Alto, CA
Hi Guys,

Val here from Electric Motor Werks (http://www.emotorwerks.com/" onclick="window.open(this.href);return false;)

Just wanted to start a separate thread dedicated to questions & tech support for our JuiceBox product - a 15kW open source EVSE. As seen on KickStarter (http://www.kickstarter.com/projects/emw/emw-juicebox-an-open-source-level-2-ev-charging-st" onclick="window.open(this.href);return false;) and Engadget (http://www.engadget.com/2013/06/24/emw-kick-starts-juicebox-a-99-level-2-diy-charging-station/" onclick="window.open(this.href);return false;). Since over 50 of our customers come from this forum, I wanted to make sure that we have a support thread here.

A quick refresher on the product: the DIY kits start at $149 and contain everything you need, including a 80A relay, a fully populated PCB, an industrial IP66 waterproof enclosure, chromed IP66 waterproof cable entry glands, nuts, bolts, and washers - even a decal! ;-). Just add your cables (or get them as option from our shop). Premium versions include WiFi, color LCD, wireless remote, etc - all working out of the box.

~500 if these have been shipped and already help people charge their EVs faster than ever. Over half of these are charging Nissan Leafs.

Given this is a completely open source product, we would love to hear your suggestions / comments for the next version - check out specific details at http://emotorwerks.com/products/online-store/product/show/44-emw-juicebox-an-open-source-level-2-15kw-ev-charging-station" onclick="window.open(this.href);return false; and let us know what you think!

Thanks,
Valery & Team JuiceBox.

PS. This is one of the latest of out products. Other products features in a number of publications (EAA, ChargedEV, Engadget, etc) include 12kW DC chargers, 25kW High-Voltage DC chargers, 20kW fully isolated EV chargers, and [soon] a CHAdeMO-compatible 20kW DC charger.
 
I have one question on the current sensor you sell seperately. What else is needed to make that work?

Could one simple solder it on the board and adjust the firmware code?

Thanks
-J
 
ImpactVector said:
I have one question on the current sensor you sell seperately. What else is needed to make that work?

Could one simple solder it on the board and adjust the firmware code?

Thanks
-J

Hi J - sorry for lag in response (still figuring out the subscription settings on MNL, it seems).

Nothing is needed - firmware already has all the code required. Also, all required components for signal processing are on board.

Valery.
 
Aaah Victory!





Charged my Lead last night @ 7.2KW.

Only concern was the relay arm was 45 degrees warmer than ambient. I'm assuming that's ok?
Only issue was it took 2 seconds for me to work out why plugging my laptop into the USB port would stop the charger. After thinking about it I just used a header without the 5v Pin and was in business!

All in all I am very happy! Current Loop worked without touching the code.

Pwr: 7.2 KW
Time: 27.4 min
In: 3.2 KWH
238V, 30.3A
raw pV=2233,
calc pV=5903
E.M.W. 00:27
Thanks EMW!
 
super!

re relay temp - 45C over ambient is a bit high - we normally see 25-30C rise on 40A currents. pls double-check all high-current connections for screw tightness / surface contact etc.

Thanks,
Valery
 
Valery,
I check tonight and the terminals are all 72 degrees (the box registers 55) but the copper arms on the relay register 84. Is that normal? All terminals are tight and I put copper washers under the lugs so that there isn't any question about contact.

Thanks
J
 
ImpactVector said:
Valery,
I check tonight and the terminals are all 72 degrees (the box registers 55) but the copper arms on the relay register 84. Is that normal? All terminals are tight and I put copper washers under the lugs so that there isn't any question about contact.

Thanks
J

hm. what about crimps? can you measure their temp up close?
 
valerun said:
ImpactVector said:
Valery,
I check tonight and the terminals are all 72 degrees (the box registers 55) but the copper arms on the relay register 84. Is that normal? All terminals are tight and I put copper washers under the lugs so that there isn't any question about contact.

Thanks
J

hm. what about crimps? can you measure their temp up close?

The crimps on my cable connections are lower. They are around 60. It's just the contactor arms.

Another odd thing I am seeing ( it's a mod. Not the base product) is my juicebox appears to lose connection to my i2c rtc when the relay opens. Have you seen that before? As soon as I disconnect the car it goes back to showing the normal time.

Thanks again!
-j
 
these temps are a bit higher than what we see in our units here but not high enough yet to be a real issue. I would watch them periodically, though. Another cool mod to do would be to fit a thermister on the board and do some kind of derating of the pilot when the temp is higher than 85C in the box (e.g., in the summer, under the sun, etc).

Re i2c: this is most likely noise from the relay's inductive kickback. We do have an antikickback diode and capacitor fitted in but looks like we could use more filtering. one thing you could try is a 1 ohm resistor in series with the 5V supply line from the power supply to the PCB. Another is to increase the 5V supply filtering capacitance from 50uF now (C3) to something like 1000uF.

Let us know how it works. Also, would it be possible for you to share the i2c RTC code you have added?

Thanks,
Valery
 
ImpactVector said:
Charged my Lead last night @ 7.2KW.

I'll bet the current is right, but the voltage was sampled prior to the the car pulling any load.
If you are comfortable with AC mains, stick your multi-meter across the relay while current is being pulled by the car and see what AC voltage you get.
I'll bet your line is drooping to around 218 volts. If so, this makes more sense.

If not, maybe there's some process variation in the leaf chargers and the blanket 6.6 kw is more of an average or lower bound. Not sure. But congrats, you got a faster on-board charger than I did. :)
 
Levi8than said:
ImpactVector said:
Charged my Lead last night @ 7.2KW.

I'll bet the current is right, but the voltage was sampled prior to the the car pulling any load.
If you are comfortable with AC mains, stick your multi-meter across the relay while current is being pulled by the car and see what AC voltage you get.
I'll bet your line is drooping to around 218 volts. If so, this makes more sense.

If not, maybe there's some process variation in the leaf chargers and the blanket 6.6 kw is more of an average or lower bound. Not sure. But congrats, you got a faster on-board charger than I did. :)

Now that you mention that.. I saw 208V on the LCD screen I put in. I thought I had a bad signal. Guess that's one less thing to check ;) Thanks!
 
valerun said:
these temps are a bit higher than what we see in our units here but not high enough yet to be a real issue. I would watch them periodically, though. Another cool mod to do would be to fit a thermister on the board and do some kind of derating of the pilot when the temp is higher than 85C in the box (e.g., in the summer, under the sun, etc).

Re i2c: this is most likely noise from the relay's inductive kickback. We do have an antikickback diode and capacitor fitted in but looks like we could use more filtering. one thing you could try is a 1 ohm resistor in series with the 5V supply line from the power supply to the PCB. Another is to increase the 5V supply filtering capacitance from 50uF now (C3) to something like 1000uF.

Let us know how it works. Also, would it be possible for you to share the i2c RTC code you have added?

Thanks,
Valery

Sure. I will share it as soon as I get home. Disclaimer- Its not pretty at all right now!
I will try the Caps and resistor as well and report back!

Thanks for the fast reply!
 
ImpactVector said:
valerun said:
these temps are a bit higher than what we see in our units here but not high enough yet to be a real issue. I would watch them periodically, though. Another cool mod to do would be to fit a thermister on the board and do some kind of derating of the pilot when the temp is higher than 85C in the box (e.g., in the summer, under the sun, etc).

Re i2c: this is most likely noise from the relay's inductive kickback. We do have an antikickback diode and capacitor fitted in but looks like we could use more filtering. one thing you could try is a 1 ohm resistor in series with the 5V supply line from the power supply to the PCB. Another is to increase the 5V supply filtering capacitance from 50uF now (C3) to something like 1000uF.

Let us know how it works. Also, would it be possible for you to share the i2c RTC code you have added?

Thanks,
Valery

Sure. I will share it as soon as I get home. Disclaimer- Its not pretty at all right now!
I will try the Caps and resistor as well and report back!

Thanks for the fast reply!

Actually had it on my Box account. :)

https://app.box.com/s/jtgfuod6bonplhe4cybf" onclick="window.open(this.href);return false;

Should be a link above
 
super! how to best use it? can you post a quick 1-2-3 bullet point list of what lib, what code mods? no need for a detailed log - just pointers so we know where to focus.

thanks!
 
valerun said:
super! how to best use it? can you post a quick 1-2-3 bullet point list of what lib, what code mods? no need for a detailed log - just pointers so we know where to focus.

thanks!
Sure. Ill do that tonight as I have it on my home PC.

Basically I set up and use the i2c system to drive a 16x2 LCD as well as the RTC.
*RTC function is rather basic right now. It pulls the time from the chip.
- Timer doesn't function unless the car is in a C State.
- If the Hour the clock reports is between the 2 variables (Start and stoptimes) it will start to charge.
//The time is set by the USB cable. Haven't looked at how to set it externally via buttons.
- Each loop looks to see if its still in the window, if not. It kicks out

*There is also a switch I added to Pin 13; If that Pin is High then it will override the timer. (Like the one in a leaf)

*16x2 LCD Screen support
*Still working on this but basically plan to use the screen just like the JB one. In retrospect I should have just bought the JB one :/

http://playground.arduino.cc/Main/InternalTemperatureSensor" onclick="window.open(this.href);return false;
Have you read about that ? It looks good. Hopefully I can dig in deeper tonight.
 
Files are here: https://app.box.com/s/qt7fbsbkdh0tkpsy0xrh" onclick="window.open(this.href);return false;

Here is a part of the logic. I dont think its terribly complex but then again I dont have to please as many people as you do.


bool ChargeTimeCheck()
{
bool ClearToCharge;
overridemode=ChargeTimerOverride();
//Check to see if the switch is depressed
if(overridemode==1)
ClearToCharge=1; //Set to charge
else
{
clockhour=RTCGetTime();
if (clockhour>=starthour and clockhour<=stophour)
ClearToCharge=1; //Start to charge
else
ClearToCharge=0; //Dont Charge


return ClearToCharge;
}
 
Thanks! Haven't thought about the internal sensor, actually... Good idea.

i2c only in state C is quite intriguing... Does it not work even right after the JuiceBox is plugged in?

You also mentioned that it does come back when you're back in state C?

V
 
The i2c runs all the time as I have the lcd screen on it as well. Basically I just set it as a qualifier to get in and stay in the "while charging" loop.

Edit: So I did find an issue this morning when I got in my car. The leaf doesn't like it if your in a wait state after the first handshake. So because of this I moved the code to the While (1) loop and now it basically says While (1 and Clear to charge==1) If your outside the charge time window or the manual override button isnt pushed, it will not enter the loop!

Honestly I didn't understand the pilot line derating until you mentioned it a couple days ago.


My internal sensor seems to say 11 degrees c. With the box closed after 40 min of charging it rose to 33c. My ir temp gun showed a max temp of 62 f so I'm happy enough with the internal sensor. If it got above 50 c I would just inject a delayinsec(600) to help it cool down.

The adding a cap (c3 size) across the 5v and ground terminals smoothed the power delivery to a near solid line. Thanks! After that I don't get any noise and the i2c part is working like a champ!

My next step is to try find a way to remove some of the extra fat. It's been taking longer to get through the loops than I would want so that part should be interesting.

-J
 
ImpactVector said:
Edit: So I did find an issue this morning when I got in my car. The leaf doesn't like it if your in a wait state after the first handshake. So because of this I moved the code to the While (1) loop and now it basically says While (1 and Clear to charge==1) If your outside the charge time window or the manual override button isnt pushed, it will not enter the loop!

Did you code change just eliminate the juicebox charge timer altogether?

I'm guessing this is an issue because you are using both the charger's timer and the leaf's timer, right? You should use one or the other (probably the leaf's). If you disable the charge timer on the charger, then just let the leaf choose when it wants to charge, it works fine. And the charge-now button works fine for me like this.

I've never tried the juicebox's timer, but if you were to use it, I would imagine you'd need to press the charge-now button on the juicebox, not on the leaf.

ImpactVector said:
Honestly I didn't understand the pilot line derating until you mentioned it a couple days ago

The pilot line sends a pulse. The width of this pulse (percentage time on) is used to calculate the amperage the car has permission to pull if the car is playing nice. He's suggesting that the code recognize that things are getting hot and automatically reduce this pulse width, so the car pulls fewer amps, and hopefully things will cool down.
 
Levi8than said:
ImpactVector said:
Edit: So I did find an issue this morning when I got in my car. The leaf doesn't like it if your in a wait state after the first handshake. So because of this I moved the code to the While (1) loop and now it basically says While (1 and Clear to charge==1) If your outside the charge time window or the manual override button isnt pushed, it will not enter the loop!

Did you code change just eliminate the juicebox charge timer altogether?
Yep. Since I didnt have the premium I didnt have that setup. My concern with that timer was the lack of a RTC and my area is prone to power failures :(

I'm guessing this is an issue because you are using both the charger's timer and the leaf's timer, right? You should use one or the other (probably the leaf's). If you disable the charge timer on the charger, then just let the leaf choose when it wants to charge, it works fine. And the charge-now button works fine for me like this.

I've never tried the juicebox's timer, but if you were to use it, I would imagine you'd need to press the charge-now button on the juicebox, not on the leaf.
Yep. Basically I have the Leaf timer off.But the juicebox timer is code I wrote. So its not a base firmware issue. Its an issue I created :)


Honestly I didn't understand the pilot line derating until you mentioned it a couple days ago[/quote]
The pilot line sends a pulse. The width of this pulse (percentage time on) is used to calculate the amperage the car has permission to pull if the car is playing nice. He's suggesting that the code recognize that things are getting hot and automatically reduce this pulse width, so the car pulls fewer amps, and hopefully things will cool down.
That's good to know. I need to look at that code harder to understand how it works. Sounds like changing the pilot is a good way to go! Thanks!
 
Back
Top