Weber and Coulomb's MX-5

Post up a thread for your EV. Progress pics, description and assorted alliteration
TooQik
Groupie
Posts: 179
Joined: Mon, 18 Jun 2012, 00:53
Real Name: Chris
Location: Mount Gambier

Weber and Coulomb's MX-5

Post by TooQik »

weber wrote:About one in every 2000 characters is corrupted
Do you have a way of telling whether the corruption is on the transmission or receiving side?
Last edited by TooQik on Sat, 30 Aug 2014, 14:58, edited 1 time in total.
7circle
Senior Member
Posts: 540
Joined: Thu, 04 Feb 2010, 02:18
Real Name: Ken
Location: Melbourne

Weber and Coulomb's MX-5

Post by 7circle »

Image Oh you've really got your wires in a knot.

Must be very frustrating

You need some kind of voltage pulse that reflects back off the bad connection and measuring the timing and attenuation can locate how far along the series of cells the loss of continuity is/are occurring.
Image But I'm just adding to your frustrations..

What really gets me wondering is how much current flows when the out of balance packs are linked?

I wonder if there is any ringing or oscillation as the system impedance is low. I hope that isn't damaging relay contacts or cells internals.

And what's with the little meccano spanners.
Are they for the side kelvin connections on the shunts?

   Image Image
Image Image Image
   Image Image
User avatar
weber
Site Admin
Posts: 2936
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by weber »

Strictly speaking it's replacing two-Pi with Tau. Image I love all Vi Hart's videos.

It's a daisy chain where the DCU transmits to the IMU (CMU0) which transmits to CMU1 ... CMU2 ... CMU109 which transmits back to the DCU. So every unit transmits and receives. We've done a binary search of battery boxes in the chain, since we can get at enough optic fibre connections between boxes, of which there are 7 in the A half-pack. It seems to be happening in two different boxes, the second one and the last one. We've removed the second one and narrowed it down to between CMU8 and CMU12. It's hard to be sure when the errors are so infrequent. Will try heating individual boards in future to see if we can provoke more frequent errors. Pressing on boards failed to do so.

Yes, those contactor boxes are a-MAZE-ing aren't they.

Current between full and empty packs with the same number of cells is surprisingly low. Calculations suggest it's only about 30 amps at worst (less than 1C). It's independent of the number of cells because the internal resistance goes up in proportion to the voltage as you add cells. A full LiFePO4 cell has a rested voltage of about 3.35 V, an empty one about 3.25 V. Internal resistance is about 1.6 mR. But there are two internal resistances in series. So it's (3.35 V - 3.25 V) / (2 * 1.6 mR) = 31 A. And that wouldn't flow for very long.

I can't imagine there would be any oscillation of charge between half-packs. I think it would be highly damped. Sure the resistance is low but I think sqrt(L/C) is way lower.

I should have explained the spanners and the square headed screws. You guessed it. There was no way to get even a right-angled screwdriver at the screws for the Kelvin connections to the shunts, so Coulomb filed their heads precisely 5.5 mm square and I made the spanners. But I got it wrong both times. First I made the straight one, but that meant you had to be able to swing it tau/4 radians (a quarter turn). Then I thought, "Oh I should have angled it at tau/8 radians so you can flip it over and only require half the room to swing it", and made the second one. But that's wrong too. An offset of tau/8 is no better than 0. I should have made it tau/16 radians. A spanner for hex heads is offset at tau/24 radians (15 degrees). But swapping between those two spanners has the same effect as the single spanner I should have made.
Last edited by weber on Sat, 30 Aug 2014, 20:31, edited 1 time in total.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).
T1 Terry
Senior Member
Posts: 1952
Joined: Thu, 30 Sep 2010, 20:11
Real Name: Terry Covill
Location: Mannum SA

Weber and Coulomb's MX-5

Post by T1 Terry »

you can buy 7/32 ignition spanners, angled at one end and a standard off set at the other. These were used in the early days of distributors in ICE engines that had replaceable contact point faces and some had adjustable centrifugal advance accessed through a small window in the side of the distributor body. 7/32 is 5.5563mm, but it will be close enough to do the job I'd think.

T1 Terry
Green but want to learn
User avatar
coulomb
Site Admin
Posts: 6357
Joined: Thu, 22 Jan 2009, 20:32
Real Name: Mike Van Emmerik
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by coulomb »

Image

What is this alien craft about? All will be revealed at the end of this post.

Weber and I have been chasing a BMS communications corruption issue that we suspect has been there for years. Our Cell Management Units use relatively inexpensive Texas Instruments MSP430 processors, which don't have serial ports built into them. They do however have quite capable timers, with capture and compare capability, and it is possible to implement a sort of software serial port that uses timer interrupts to simulate a real hardware serial port. We mostly used TI example code, but we wanted to improve on TI's code in a few respects, so that we would minimise the possibility of overflowing our RAM buffers. This was more important at the start of the project, when we were using an earlier generation of these chips that had only 128 bytes of RAM. The ones we use now have at least twice that, so it's not so important now. They now have 8 kB of flash, compared to 2 kB for the older parts.

Weber finally found a reliable test for the fault: a steady stream of 'w' characters, with no gap between the end of the stop bit and the beginning of the start bit. This gives a pattern of bits such that it is possible to interpret the stream three different ways, depending on where you start looking for start bits.

The 'w' character has the bit pattern 77h, or 01110111, or when displayed least significant bit first, 1110111. With a green start bit and a red stop bit, a stream of 'w' characters looks like this:
        01110111010111011101011101111

Note that if the second start bit (underlined) is somehow missed, the next zero (also underlined) will take its place. If this happens, the receiver will read
       0111010111
This is a perfectly formed D7 byte, except for the colour of the bits (and of course digital circuits are colour blind). This pattern will repeat indefinitely, so a bunch of 'w' characters with no gaps will (if a start bit was somehow missed) suddenly start being interpreted as a weird character (on Tera Term, it's a capital I with circumflex on top, if the Terminal font is in use). To make the stream of 'w' characters, he first auto-repeated the 'w's at a test CMU, and when there were 4 lines of them, he highlighted them and copied them to the clipboard (with Alt-C). He could then hold down alt-V (paste), and this would paste continuous 'w's. On average, it took about 60 seconds for the 'w's to get corrupted to the I-circumflex characters.

Good! We had a test. But what was the actual fault?

When I came over for EV day this week, we pored over the code and found all sorts of things that might be wrong with the transmit interrupt routine. But every change we made to that code had no effect. After a while, we prevented any character from being transmitted at all, and this still had no effect. So it had to be the receive interrupt code.

SO how does one go about debugging something like this? It's not like you can insert print statements. We hit on the idea of re-using one of the outputs, preferably one we could get to from the top of the PCB, so we could send a pulse to it when something significant happened. We soldered a wire to a via, and used the signal to trigger the DSO.

From this, we could tell approximately where in the received data stream the last bit was being sampled. It was near the middle of the last bit, as expected. We needed more information, so we used three different pulse widths, with a 0.1 uF capacitor on the output to attenuate the narrower pulses, and trigger on only the larger pulses. The larger pulses would be emitted only when the received byte was different from the last byte received. That meant it triggered only when the corruption occurred.

Alas, all this did was to verify that the start bit was indeed being ignored. But how and why?

I started to suspect that this rare problem only happened when both a timer overflow and capture event interrupt happened at nearly the same time. On these processors, these interrupt sources share a vector; in software, you have to distinguish between them by reading a special register. Our code compared the value of this register against the important value (it happened to be 2), and treated all other values as timer overflow interrupts.

To cut a long story short (shorter?), when we replaced our short-cut code with the exact example code from TI (it was many bytes longer), the problem went away. What we think happened is that the compare instruction, which is like a subtract that doesn't store the result, counted as a double access of that special register. The bug would happen only when a timer overflow interrupt happened first (these occur 15 times per second), then before the interrupt routine reads the special register, the higher priority capture interrupt happens.
As soon as the special register is read, the processor considered the first interrupt as serviced, and updated the register with the value corresponding to the higher priority interrupt. The second access caused the second interrupt to be considered processed, so the required second interrupt never actually happened. This was causing the the start bit to be missed.

To test that the bug was really fixed, we needed to send 'w's for way longer than a minute. This started getting really tedious, especially as we weren't convinced that we had fixed it, so we wanted to put the old code back and make sure it was still playing up. So we placed two hex sockets on the Alt and 'v' keys, and placed a yellow tape measure on top of these. The tape measure had enough weight to press down the keys, so we could sneak off and have a cup of tea while it was testing. That's what you can see in the photo. You can just make out a bunch of 'w' characters streaming out on the netbook's screen.
Last edited by coulomb on Sun, 07 Sep 2014, 09:04, edited 1 time in total.
MG ZS EV 2021 April 2021. Nissan Leaf 2012 with new battery May 2019.
5650 W solar, 2xPIP-4048MS inverters, 16 kWh battery.
Patching PIP-4048/5048 inverter-chargers.
If you appreciate my work, you can buy me a coffee.
User avatar
Adverse Effects
Senior Member
Posts: 1172
Joined: Sat, 01 Jan 2011, 03:30
Real Name: Adverse Effects
Location: Brisbane

Weber and Coulomb's MX-5

Post by Adverse Effects »

so what took longer? typing up that post or finding the real problem Image

hehe

good to see you worked it out
7circle
Senior Member
Posts: 540
Joined: Thu, 04 Feb 2010, 02:18
Real Name: Ken
Location: Melbourne

Weber and Coulomb's MX-5

Post by 7circle »

What's with UFO's and Yellow Submarines??
(UFO's what I thought of too when the picture popped up)
So how long will the UFO be landed on alt-V to illuminate the
presence of any evil interrupting vectors.

The Trinary Wars of Logical Illusion will begin imminently.

It's giving me the HiCups.

Bit bashing your serial stream. Imagine doing that with WIFI.

What's the cost difference between to the MSP chip with a TX/RX function block?
Wow had a look at TI site.. no 16pin QFN with "USCI_A (UART/LIN/IrDA/SPI)"
'Spriz'n

Will be interesting read on SourceForge.

Nice job on hunting the Start bit slippage.

__Image Image
Image Image
_ImageImage
(special cup-a-tea time)
Image Image Image
User avatar
coulomb
Site Admin
Posts: 6357
Joined: Thu, 22 Jan 2009, 20:32
Real Name: Mike Van Emmerik
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by coulomb »

7circle wrote: So how long will the UFO be landed on alt-V to illuminate the
presence of any evil ...
It's been there doing its job for longer than it took me to write the post. So, let's say it is thoroughly tested now Image
MG ZS EV 2021 April 2021. Nissan Leaf 2012 with new battery May 2019.
5650 W solar, 2xPIP-4048MS inverters, 16 kWh battery.
Patching PIP-4048/5048 inverter-chargers.
If you appreciate my work, you can buy me a coffee.
User avatar
weber
Site Admin
Posts: 2936
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by weber »

Yes, it was rather a debugging tour de force by the C&W team yesterday. A week ago we thought it was an issue with specific CMUs, which is why we pulled out the battery box from the radiator space. We really were not looking forward to pulling out the other more deeply buried one, in the rear fuel tank space, where we also thought there was a fault.

All my efforts during the week, with the radiator battery box on the bench, only succeeded in proving that it didn't depend on whether input or output was via copper or optic fibre, or whether the baud rate clock was a little high or a little low, or just right, and that it occurred with _any_ single CMU given a long enough stream of characters with no gaps between them, and that there was no problem with the signal conditioning hardware or the test gear. In short, that it was a software problem.

I also established that it was not a recently-introduced software problem by reverting to older versions of the comms routines. But no changes I made to the comms software made any difference to the problem. So I was really looking forward to working with Coulomb on the problem by the time he arrived on Saturday morning. We seem to have complementary approaches in many ways. He's a command-line guy. I prefer a GUI. He's a wiz with a JTAG debugger, I prefer eyeballing the code (mental simulation) and Caveman Debugging.

One example of the back-and-forth teamwork was Coulomb saying we needed a way to capture the waveform on the oscilloscope when the fault occurred, by having the micro generate a trigger pulse on an accessible output when the character-as-read changed from "w" to I-circumflex. I suggested repurposing the Link voltage analog input. Coulomb wrote the code to do that. It didn't work. I read his code and found he'd reversed source and destination operands in one instruction because he's working on a different micro during the week where that would have been correct. Then the signal was too noisy to give reliable triggering because there was too much resistance in series with that input to use it as an output. Coulomb said "Maybe there's a via on that processor pin that isn't underneath something". I said "Fat chance", but he found it. Then when that worked, we wanted more information on the scope to see where the interrupt happened for each bit. I said we can do it with different width pulses on the same output. Coulomb said "But how do we still only trigger the scope when the fault occurs?". I said we make the trigger pulse wider than the others and we RC filter the signal so a wider pulse becomes a taller triangle, and set the trigger level appropriately. This worked a treat.

But all my hypotheses re the cause of the fault got knocked down experiment by experiment and it was Coulomb who homed in on the area of the code where the problem lay -- the test to distinguish timer overflow interrupts from receive capture/compare interrupts. Here's what the existing Timer-A interrupt service code looked like:
    cmp #2,&TAIV   ; If the timer-A sub-vector is 2, jump to the receive interrupt service routine
    jeq RX_ISR     ; Otherwise fall thru to the timer overflow service routine
TIOV_ISR:          ; Timer overflow interrupt service routine
    ...
    reti
RX_ISR:            ; Receive interrupt service routine
    ...
    reti
Coulomb thought there must be some values occurring in the TAIV (Timer-A Interrupt subVector) register, other than 2 (RX) and 10 (TIOV). I said that was impossible unless the MSP430 Family User Guide is very wrong about certain things, "but be my guest and test it". So he added a cmp #10,&TAIV and he found other values! Specifically zero. "Whaaat!", says I.

This was such weird sh*t that I said "How about we try the example code for this from the User Guide", to which Coulomb readily agreed. This is:
    add &TAIV,PC   ; Add the sub-vector to the program counter -- a computed jump
    reti           ; Ignore 0
    jmp RX_ISR     ; On 2, jump to receive interrupt service routine
    reti           ; Ignore 4
    reti           ; Ignore 6
    reti           ; Ignore 8
    ; On 10, fall thru to timer overflow interrupt service routine
TIOV_ISR:          ; Timer overflow interrupt service routine
    ...
    reti
RX_ISR:            ; Receive interrupt service routine
    ...
    reti
So you can see why we preferred our version, back when we only had 2 KiB of flash program memory (I recommend reading this as "kilibytes" not "kibibytes", i.e. pronouncing it as "killee-bites" to avoid sounding like Johny English with the muscle relaxant). The unused subvector values between 2 and 10 are for other models of MSP430 that have more capture/compare registers associated with Timer-A.

It worked! The fault went away, as proven by the yellow submarine/spaceship on the Alt and V keys for many hours on end now, with nothing but 'w's coming out.

Eventually I pointed to this sentence from the User Guide:
"Any access, read or write, of the TAIV register automatically resets the highest pending interrupt flag."

This also implies that any access (read or write) will change the value in the TAIV register itself. It will change it to zero if there are no other pending TimerA interrupts, and to the appropriate non-zero value (2 or 10) if there is another Timer-A interrupt pending at the time.

This explained why Coulomb's second compare instruction found zeros in TAIV -- the read due to the first compare had erased it, as the user guide said it would. There weren't really any values other than 2 and 10 when the interrupt routine was called.

So you see that Coulomb was right for the wrong reason and I was wrong for the right reason. Image

But how did this explain why our original code, with a single compare, screwed up about once in every 500,000 interrupts?

We hypothesise that although a compare instruction only reads, and does not write anything back to its "destination" operand, in the way that a very similar subtract instruction does, still a single compare is being treated as performing _two_ accesses of the TIOV register for the purpose of updating it and clearing interrupt flags.

One item of information from the User Guide that supports this is the strange fact that a compare instruction takes exactly the same number of clock cycles as a subtract instruction or any similar two-input one-output instruction like add, and, xor, despite the fact that it doesn't write anything (except condition flags).

If so, there really should be a warning about this in the User Guide. We can't find any mention of it anywhere, using Google.

But how does even this explain our 1 in 500,000 fault?

As Coulomb mentioned, if we are servicing a timer overflow interrupt (TIAV = 10) and before we can get to the compare instruction a receive interrupt is flagged (an understandably rare coincidence), then the read of the compare instruction will correctly read the 10 and will clear the overflow interrupt flag and change the value of TIOV to 2 (Receive interrupt), which is all as it should be. But then the pseudo-write of the same compare instruction will clear the receive interrupt flag and set TIOV to zero. Then it will go ahead and service the overflow interrupt and the receive interrupt will never be serviced.

This would drop data bits as well as start bits, and indeed we see this happen with characters other than 'w', but that often only corrupts a single character at a time which is harder to spot than a dropped start bit which puts the whole stream out of sync from then on.

This sounds like a hardware bug in the MSP430 if you ask me. At the very least it's a bug in the User Guide.

Anyway, I'd better stop writing and get that battery box back in the MX-5 before I get a threatening phone call from Newton. Image
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).
User avatar
weber
Site Admin
Posts: 2936
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by weber »

Forgive me father for I have sinned. It has been twelve days since my last confession.

I still haven't installed the high voltage WaveSculptor.

You may remember we had some problems with battery breakup contactors dropping out, or intermittently failing to come on when they should. And we thought we should sort that out before changing the half-packs from parallel to series.

Then we decided to use this as an excuse to install the IMUs (Insulation and current monitoring units) and write code for them to display the two half-pack currents alternately, so we can tell when one half-pack isn't working.

Then we decided to sort out the rare comms corruption that was occurring in the BMS daisy-chain (made more noticeable by the increased traffic to and from the IMUs).

Despite us having sorted out the comms problem and got the currents displayed, I decided I was on a roll, writing IMU code. So instead of tracking down the contactor problem I decided to work on IMU code for:
(a) the insulation test, to be done every time the key is turned to ON,
(b) a proper fuel gauge, based on integration of current measurements,
(c) a fuse-stress model, based on leaky integration of current squared.

The insulation test is now complete and tested, and shows that both half-packs are well insulated, such that their touch currents are 0.1 mA or less (NCOP14 max 20 mA).

This proved more difficult than I thought, due to the nonlinearity of the opto-couplers (VOL628A). Their CTR for currents less than 1 mA drops off quite rapidly. I may do another post about my minimal-code solution for this, but when I turned the MX-5's key to ON to test it yesterday, it told me there was no voltage on the B half-pack, despite the satisfying clunk of many battery breakup contactors coming on, all over the vehicle.

So, out with the multimeter and the HazV wiring diagram to do some detective work. I eventually unplugged the Anderson of the under-boot battery box and found only millivolts coming out of it. There was 13.7 V of contactor coil drive going into it. I opened up the contactor box that breaks it into two segments and found 13.7 V at the quick connect male terminals screwed to the floor inside the contactor box. I pulled on all the wires crimped into their quick connect females and found them all quite secure. I unplugged one of the coil leads and there was no clunk of a contactor dropping out, so the contactor clearly had not pulled in at all, and it was not just a case of dirty contacts. I plugged the coil lead back in and the contactor went clunk, and I measured 117 V (as expected) across the Anderson. When I unplugged the coil again there was the expected clunk as it dropped out.

So the fault is in the EV200 contactor itself, and only occurs at turn-on. If it comes on, it stays on. If it doesn't, it stays off until the power is cycled. This is the behaviour of the long-standing intermittent silent-loss-of-one-half-pack problem, but does not explain the momentary complete traction-battery dropouts that occurred on the way home from the August AEVA meeting at which I proudly exhibited the world's first 750 V WaveSculptor.

The contactor in the under-boot box may have a faulty economiser circuit that sometimes reduces the current before the solenoid has pulled in, or it may be that the solenoid core is mechanically sticky. Either way, the contactor needs replacing. So when I open up the B1 contactor box under the WaveSculptor to do the polarity swap that's required in conjunction with going from parallel to series half-packs, I will remove the redundant contactor for the DC-DC converter, and use it to replace the faulty breakup contactor in the under-boot box.

Why are the DC-DC contactors redundant? Because we always want them on whenever the their half-pack is on. Their coils are presently powered by the same drive signal as their half-pack's breakup and isolation contactors. I will also remove the A-pack's DC-DC contactor, so we will have another spare.

The complete dropouts that occurred half a dozen times on the way home from the August AEVA meeting produced audible contactor clunks from the contactor boxes directly behind me. These boxes contain only B-pack contactors. It's quite likely that the A-pack contactors behind the passenger seat were dropping out simultaneously, but the B-pack ones behind me are much closer, so that's where I heard it coming from. I previously thought that perhaps the long-standing fault had already taken out one half pack and so it only needed the other pack to drop out intermittently to explain it. But given that we now know the long-standing fault was with the B-pack, combined with the fact that this fault has always corrected itself by turning the key off and on, means this more recent problem was clearly a failure of contactor drive to _both_ half packs simultaneously. So it really does sound like what we've experienced several times before when we've had low auxiliary battery voltage.

It was night-time so the headlight load was dragging it down, but the tacho display showed more than 11 volts, which I'm pretty sure is not low enough to explain the dropouts. EV200s are guaranteed to hold down to 7.5 V. The Wavesculptor operates down to 9 volts. The EVCUs operate at a lower voltage than the WaveSculptor. And if the WaveSculptor had tripped on undervoltage, that alone would not cause the contactors to drop out.

But as Coulomb pointed out, the positive auxiliary battery lead was not clamped tightly to the battery terminal, only pushed on, so I'm willing to consider that it may have been making intermittent bad contact. In any case, this need not delay the conversion to the 750 V WaveSculptor, because having _all_ contactors open under load is no worse with series packs than it is with parallel packs.

Since our early WaveSculptor was made, Tritium have moved the coolant connections to the opposite end, away from the electrical conduit adapters. A good idea. But it means I need to go and buy some more PVC tubing for the WaveSculptor cooling circuit.
Last edited by weber on Fri, 19 Sep 2014, 10:27, edited 1 time in total.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).
7circle
Senior Member
Posts: 540
Joined: Thu, 04 Feb 2010, 02:18
Real Name: Ken
Location: Melbourne

Weber and Coulomb's MX-5

Post by 7circle »

If the drive signal to the Economiser'ed EV200 contactor is not stable, say it did drop below 7.5V and the contacts dropped out, then when the signal returns to over turn-on limit ie 9V it should turn back on.

What is the part number on the problem EV200?

Your ealier investigation showed some complexity to its operation.
It should not operate like a pulse-on pulse-off latching relay.
You would think it not pulling back on is a a serious defect.
Image


While seraching a DIYelectric thread pointed back to aeva but had bad link.
And when did the fourm change from
index.phpindex.php
to
index.php
Finding lots of broken links in searches.
You would think the server could just offer a redirection.

Anyway back to MeXy.

Nice to read the IMU is working effectively.
Have you set thresholds for alarms?
Or just display on dash somehow?

Renard
Groupie
Posts: 219
Joined: Sun, 29 Aug 2010, 18:55
Real Name: Robert Fox
Location: Cobargo NSW

Weber and Coulomb's MX-5

Post by Renard »

I have started to doubt the Kilovac EV200 contactors.

One of my intra-pack Kilovac contactors failed recently. The contactor clicks and draws the right coil current but there is still an open circuit across the main terminals. I'm not sure how it happened, but I think it must have occurred whilst opening under load -- but the load wouldn't have been more than a few tens of amps at most. It took me quite a while to locate the fault as it was not the kind of failure that I had ever expected. It has somewhat shaken my faith in these contactors. I have replaced the Kilovac contactor with a Gigavac having the same profile.

Meanwhile, my BMW languishes as I move house -- again -- and have a major health issue.

And I checked that the fault was not in the circuitry by applying 12V directly to the coil.
Last edited by Renard on Fri, 19 Sep 2014, 17:43, edited 1 time in total.
User avatar
jonescg
Senior Member
Posts: 4721
Joined: Thu, 21 Jan 2010, 23:05
Real Name: Chris Jones
Location: Perth, WA.
Contact:

Weber and Coulomb's MX-5

Post by jonescg »

I've never had problems with the gigavac GX14 contactors.
AEVA National President, WA branch director.
User avatar
weber
Site Admin
Posts: 2936
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by weber »

Holy sh*t!

Sorry, but I just took Mexy for her first drive with the 750 V WaveSculptor and 720 volt battery. My face aches from grinning.

Finally, we have the performance we designed her for, nearly 6 years ago!

No, I don't have a zero to 100 km/h figure yet. Hopefully tomorrow.

Just as I was about to take her for her first 720 volt test drive, my wife called out to ask if I could pick up my daughter from work. So it was just a short suburban trip.

My daughter said "sh*t!" too, the first time I opened her up (Mexy that is). Perhaps "lit her up" is more appropriate. My daughter said the sound was like a space ship about to jump to hyperspace. That was going from about 3000 r/min to 6000 r/min in about 2.5 seconds in 2nd gear. That's about 45 km/h to 90 km/h.

"You're such a hoon, Dad", she said. Image

P.S. I'm celebrating with a Guinness.

[Edit: Changed "2500 rpm to 5000 rpm in about 3 seconds" to "3000 r/min to 6000 r/min in about 2.5 seconds" and changed "50 km/h to 100 km/h" to "45 km/h to 90 km/h" based on later measurements.]
Last edited by weber on Tue, 30 Sep 2014, 18:42, edited 1 time in total.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).
User avatar
Adverse Effects
Senior Member
Posts: 1172
Joined: Sat, 01 Jan 2011, 03:30
Real Name: Adverse Effects
Location: Brisbane

Weber and Coulomb's MX-5

Post by Adverse Effects »

weber wrote:"You're such a hoon, Dad".


priceless
User avatar
PlanB
Senior Member
Posts: 471
Joined: Sat, 16 Jan 2010, 15:24
Real Name: Kris McLean
Location: Freemans reach
Contact:

Weber and Coulomb's MX-5

Post by PlanB »

I think we need a brief audio file of that sweet sound Dave. I trust the flux capacitor is 750v rated?
User avatar
weber
Site Admin
Posts: 2936
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by weber »

PlanB wrote: I think we need a brief audio file of that sweet sound Dave. I trust the flux capacitor is 750v rated?


My daughter mentioned the DeLorean too. Yep, the flux capacitor can take the 750 volts OK. We were just a little short of the one point twenty-one jigawatts. Image
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).
User avatar
EV2Go
Senior Member
Posts: 2059
Joined: Wed, 16 Jul 2008, 00:21
Real Name: Paul
Location: Brisbane 1963

Weber and Coulomb's MX-5

Post by EV2Go »

Sound like the sort of performance I could get excited about.
User avatar
weber
Site Admin
Posts: 2936
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by weber »

Coulomb is on his way over. In the meantime, back to a previous topic.

Thanks Renard and jonescg for your comments re Kilovac/Gigavac.
7circle wrote: What is the part number on the problem EV200?
Here it is:

Image
Your earlier investigation showed some complexity to its operation.
Our earlier problem with the EV200s was only that their economisers put too much hash onto the 12 V bus. We added a 10 uF cap to those that already had "C8" populated (like the one above), and two 10 uF to those that didn't. This intermittent failure to pull in is our first problem with the actual operation of an EV200. It is suspicious that it is the one with the longest 12 V cable run. We shall see if its replacement experiences the same problem.
And when did the forum change from
index.phpindex.php
to
index.php
Finding lots of broken links in searches.
You would think the server could just offer a redirection.
This happened a year or more ago. Yes, we suggested redirection at the time, but it didn't happen. So we were forced to edit every post we had ever made containing an uploaded photo or a link to another AEVA post. But of course that doesn't help with the external links to AEVA posts or images, which remain broken, as you have found.
Nice to read the IMU is working effectively.
Have you set thresholds for alarms?
Or just display on dash somehow?
Yes, a 20 mA threshold as per NCOP14 (actually 17 mA to allow for some measurement error). I tested them by connecting a Dick Smith resistor wheel between battery terminals and chassis. But at present only the IMUs themselves beep, inside sealed boxes, under the bonnet. I have to get the software UART for the voice synthesiser working in EVCU-A before we have an in-cabin warning. The two real UARTs are already in use for the optic fibre comms to the BMS and the charger.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).
User avatar
weber
Site Admin
Posts: 2936
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by weber »

The day started well. Coulomb drove out to Sumner park and back to experience the new MeXy. As passenger, I took some video and logged some data. Captured that sound for you, Plan-B.



The plan was to do some zero to 100 km/h runs after lunch. Then Jeff and Raewyn turned up and I insisted that Jeff have a drive. That's when Mexy decided to let us know that our contactor problems are not over.

Apparently the precharge contactor pulled in just fine, but the controller contactor (precharge bypass) half a second later, did not. The temperature switch on the precharge resistor proved its worth, but apparently when it opened, a voltage spike took out the MOSFET driver in the half-second-delay circuit. After we fixed that, and added a diode and capacitor so it hopefully won't happen again, then it started doing the thing where it intermittently chatters all the battery breakup contactors. But this never seems to happen in charge mode, only drive mode. At this stage, we have no idea what's going on there. It could even be a software problem.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).
User avatar
coulomb
Site Admin
Posts: 6357
Joined: Thu, 22 Jan 2009, 20:32
Real Name: Mike Van Emmerik
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by coulomb »

weber wrote: At this stage, we have no idea what's going on there. It could even be a software problem.

Weber has fixed the problem, and is on his way to family in Maleny (~ 95 km away, 90 minute drive, mountainous). So he asked me to post about this in his absence.

After yesterday's EV day, Weber realised that with charging working flawlessly but driving not, that actually reduced the scope of possible causes. Here is the schematic for the EVCU support circuitry:

Image

Ok, it's a little busy there, but you can see that the battery contactors are driven by two relays (right hand side, upper and lower), and they have diodes doing a wired-OR of two signals: charging (possibly for that half-pack only) and IGN_RUN (basically, key-switch on). The IGN_RUN path goes through the crash sensor. Also, if the crash sensor opens, this affects the CRASH inputs to the EVCUs, which will drop out of drive mode and switch to OFF mode. Yesterday we found that when the contactors drop out, the EVCUs are in OFF mode (so going to the start position causes a start, not switching between tacho display modes).

So this points rather strongly to the crash switch. Weber was up early this morning (a rare miracle on its own Image ), and gave the wiring near the crash sensor a good wiggle. Immediately the contactors dropped out; without wiggling it might take an hour for the intermittent fault to show up. Looking back to yesterday, I'm really glad they didn't drop out when doing acceleration tests on the freeway Image .

To quote the great man:

"One touch and the contactors dropped out. Repeatedly.

It was rather like your solar panel problem. One female was not tight enough. And it appears to be my fault. It was the white wire that pulled out of its crimp ages ago and I couldn't get the metal part out of its plastic housing to recrimp it, so I soldered it. The soldering must have weakened the springiness -- probably annealed it. There was nothing wrong with the soldered joint itself.

My solution was to put a wiggle in the male pin so it was effectively fatter, then clean both sides with hexane contact cleaner, then put some anti corrosion paste on them. Plugged it back in. Now I can wiggle the connector all I like and there's no dropout.

So I'm off to Maleny."

Did I say great man? Perhaps I meant brave man, or ... Image

And as for the "one female was not tight enough" comment, I'm just going to leave that one completely alone.

Edit: SMS update 12:14pm:
"Made it with ergs to spare. BMS limited to 74 km/h up range. Motor barely over 100'C".

What this means is that Weber has been captured by aliens and they have inserted this obviously fake message, since Weber would never use non-SI units. Oh wait, that may have been an attempt at humour Image

Ergs are in fact metric units, but not SI units. Weber is enough of a pedant re SI units that alien abduction remains the most likely explanation.
Last edited by coulomb on Sun, 28 Sep 2014, 08:53, edited 1 time in total.
MG ZS EV 2021 April 2021. Nissan Leaf 2012 with new battery May 2019.
5650 W solar, 2xPIP-4048MS inverters, 16 kWh battery.
Patching PIP-4048/5048 inverter-chargers.
If you appreciate my work, you can buy me a coffee.
User avatar
coulomb
Site Admin
Posts: 6357
Joined: Thu, 22 Jan 2009, 20:32
Real Name: Mike Van Emmerik
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by coulomb »

weber wrote: Captured that sound for you, Plan-B.

I finally got to watch this myself just now. I think we need to do another video some time, minimising the wind noise somehow. It really is a lot more impressive than comes through in that video.
Last edited by coulomb on Sun, 28 Sep 2014, 08:12, edited 1 time in total.
MG ZS EV 2021 April 2021. Nissan Leaf 2012 with new battery May 2019.
5650 W solar, 2xPIP-4048MS inverters, 16 kWh battery.
Patching PIP-4048/5048 inverter-chargers.
If you appreciate my work, you can buy me a coffee.
User avatar
Adverse Effects
Senior Member
Posts: 1172
Joined: Sat, 01 Jan 2011, 03:30
Real Name: Adverse Effects
Location: Brisbane

Weber and Coulomb's MX-5

Post by Adverse Effects »

love the turbine wine LOL
User avatar
PlanB
Senior Member
Posts: 471
Joined: Sat, 16 Jan 2010, 15:24
Real Name: Kris McLean
Location: Freemans reach
Contact:

Weber and Coulomb's MX-5

Post by PlanB »

Springtime, wind in your hair, EMF whine in your ears, life don't get much better. Cute tardis.
User avatar
weber
Site Admin
Posts: 2936
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Weber and Coulomb's MX-5

Post by weber »

Coulomb wrote:What this means is that Weber has been captured by aliens and they have inserted this obviously fake message, since Weber would never use non-SI units. Oh wait, that may have been an attempt at humour
We meant to say MeXy arrived in Maleny with firkin-force furlongs to spare. Or was it Btu's? Take us to your leader.



MeXy's big day out

You're right. It doesn't get much better than this. Image

Image

MeXy had never driven this far from home before.

It was 98 km to Maleny from Bardon via the old Bruce Highway (Gympie Road). I went that way so I could keep the speed down to 80 km/h, to make sure I got there. She arrived in Maleny with the new coulomb-counting fuel gauge reading 25% SoC (assuming the lowest-capacity cell is 40 Ah). The battery is nominally 40 Ah and 720 V (218 LiFePO4 cells in series, at 3.3 V each). But many of the (Sky Energy) cells were nearer 50 Ah, as tested by the manufacturer before shipping.

It took less than 6 hours to recharge at mum & dad's, using two 10 amp GPOs on different circuit breakers. I plugged the lead for one charger into the nearest GPO (in their garage), then went to their switchboard and turned off one of the two breakers marked "Power". Did the charger go off? Yes. OK now find the nearest other GPO that's still working (it was in the kitchen), and plug in the lead for the other charger. Then turn the breaker back on.

The chargers operated at about 5.2 amps DC. They start off at 5.5 A but that drops once they've heated up. I left the boot open. No fan.

The trip back was at night, with occasional heater use, still via the slow route. We got home with the fuel gauge still reading 40%.

This shows that the climb from Landsborough to Maleny takes a significant chunk of the energy for the trip. The fuel gauge showed about 45% at the bottom and 30% at the top. When going back down again I thought I'd see the fuel gauge go back to 100%, due to regen, but all I saw was that it didn't change at all from its approx 95% reading, between top and bottom, and yet I had regen-braking all the way down, no friction brakes required.

After her big day out, MeXy is having a leisurely charge via a single lead tonight, at 10 amps AC (2.6 A DC) so the chargers will run cool and she can have her boot closed. Should take less than 10 hours.

Yes Plan-B, you inspired the Tardis, which my son gave me for Father's day after hearing me repeat what you had said -- that MeXy is a Tardis. Yes, she somehow fits 20% more battery capacity than a Nissan Leaf in her tiny two-seater frame (thanks Jeff and Mike), while using a less energy-dense chemistry.

BTW, we measured a peak of 126 kW of DC power into the WaveSculptor, on Coulomb's run yesterday. In round figures, that consisted of 200 amps (5C) with the battery drooping 12.5% to 630 V (2.9 V per cell). Ambient temperature was maybe 25 degrees C. Great numbers.

Many thanks to all who helped make this possible.
Last edited by weber on Tue, 30 Sep 2014, 06:50, edited 1 time in total.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).
Post Reply