My new 18 FET TO-247 layout riding video page 10

i never had that problem because i always use a filter.
have you ever had to replace baring on a motor because after a couple of years they start to rattle?
lesser likelly, have you ever had a short-circuit in the first winding of a motor?
have you ever had unexplained controller malfunction?
have you ever had unexplained gate driver shoot-through?
i just bring this up because your inverter is switching faster than any china controller you've ever used so your dv/dt is twice that or more. so the above problems you might now realize where before you didn't. well, not likely the last two because your gate driver is designed for noise management and to limit noise getting back into brain side.

switching fast has its benefits, but also its bad side. all of engineering is a game of trade-offs!
 
Yeah, this controller switches a bit faster. I just pulled up my notes and saw the D-S switch time was 2200ns on a 36 MOSFET China controller.

Tried running it yesterday but had issues. Motor was doing odd things so I'm back on the bench checking a few things.
 
zombiess said:
Yeah, this controller switches a bit faster. I just pulled up my notes and saw the D-S switch time was 2200ns on a 36 MOSFET China controller.

Tried running it yesterday but had issues. Motor was doing odd things so I'm back on the bench checking a few things.
Which chip are you using? The v2.3 is hard to understand. I mean if the auto setup stuff works its awesome but when you have to mess with it you can be there a while. I'm going to try to re-read the manual and work on mine for a while today.
 
I'm on 2.3, so no hall sensors. I had the controller working on the bench, but when I installed it on my test bike I ran into some issues. I kept getting a fault on phase A high side which turned out to be a bad connection + I found a current sensor lead unplugged. I'm using plugs to connect everything to the brain board and the connections are not very secure. I'll be hot gluing them into position to prevent vibration/contact issues. I knew going in this would be an issue but I needed the flexibility they provide for the testing I did. I'm not a fan of using so many interconnects and prefer PCB connections when possible since they remove a major failure point. What's even worse is my interconnects can be intermittent making it difficult to troubleshoot.

Any mechanical connection needs to be secure to minimize it's chances of failure and I didn't follow this rule even though I know it well. I just didn't have the space and also knew I would be doing a lot of testing on this controller as it's serving multiple purposes. I learned a lot from building and testing on this one. Stuff I would not have figured out without "doing it", books and papers only take me so far.

I'm going to try and take what I learned from this and create an "open" driver/power stage people can purchase and hook up their own controller brain to. I'm also planning to release a complete controller based off lebowskis brain chip. The plan is to make the brain into a "pluggable" interface so that end users can change it out and experiment on their own, this is one of the reasons I'm handling errors on the PIC. Another reason is I'd like to monitor things like bus voltage and I do not want to bring bus voltage on to the brain board if I can avoid it

Some of what I've done on this design is on the edge and some things were experimental. I would not normally try to switch this fast, but it's a good learning experience to get a feel for the issues. I wish I had a way to get an EMI signature so I could get that data.
 
I wish I had a way to get an EMI signature so I could get that data.
the conducted emmissions should be relatively easy with your fancy scope if it has a math package. you should at least be able to read output voltage and output current and DC bus too for fft plot. that will tell you what frequency and what magnitude your harmonics are.

radiated emmissions are another matter. i think there is a good DIY way to do this but i would need to read up more before i felt confident discussing here.

ps. you'll never get acceptable conducted emmisions without an AC output filter...
 
If you visit Santa Cruz with your controller sometime, I can let you use a usefully fast spectrum analyser and probes on a weekend.

Everything branch in the circuit is making a unique noise, some louder than others.
 
two hours of mucking around trying to spin a motor and I'm no closer to power testing. I can't seem to figure out the control loops to make the motor spin.

I think I might go to plan B which is to rig up a Xie Chang controllers output to my power stage.

I'm back at the defaults on the controller. 30A battery, 100A phase, auto complete everything.
 
zombiess said:
two hours of mucking around trying to spin a motor and I'm no closer to power testing. I can't seem to figure out the control loops to make the motor spin.

I think I might go to plan B which is to rig up a Xie Chang controllers output to my power stage.

I'm back at the defaults on the controller. 30A battery, 100A phase, auto complete everything.
I think the current sensor calibration is part of my trouble. I think it should start by looking for a neutral current sensor voltage and then calibrate a dynamic one only if the user thinks its needed.

Mine seems very finicky as well. I can say every time I get into a bit of problems I need to work out and I even question lebowski's programming I end up finding out its all my fault :)
 
Make sure the hardware is ok: the obvious is to make sure the output stages work and that the polarity of the current sensors is good. In a setup with lots of connectors, ALSO make sure pwm channel A and current sensor A go to the same motor terminal, same for B and C.

As far as the controller ic goes, in the main menu start from the top and go through all submenus one by one and in order, and autocomplete everything that can be autocompleted... Arlo's case is typical (sorry dude), typically the first time people tryrto run the motor it works, everything goes wrong after trying to make improvements by changing the autocomplete values...
 
Lebowski said:
Arlo's case is typical (sorry dude), typically the first time people tryrto run the motor it works, everything goes wrong after trying to make improvements by changing the autocomplete values...
:) Autocomplete never worked for me.

I start with Autocomplete and make some changes where needed to make it go.
 
I'm pretty sure the issue is on my end somewhere. I just need to track it down. I did some testing yesterday to see how the controller reacted if the brain was on and the bus was suddenly brought up from a ground state, shoot through. I hear the click and can get a violent jerk from the motor depending on it's rotation, just like I powered up 2 phase wires with a battery. My controller immediately goes into fault and shuts down the PWM and errors out phase A high and phase C high, usually phase A high. I found that I can prevent the initial fault by holding the throttle open when powering up the controller which keeps it in drive mode 0. Then if I release the throttle it will go to drive mode 2 and I hear some whining, not a tone, more like 5-10khz on and off, from the motor. I thought this was normal and part of detecting it's position but now I'm not so sure. I have to have the setting for the stand still voltage all the way up to 1.96V to get things out of drive 0.

Going to double check my driver / power stage again. I noticed the bus caps are discharged when the controller is on and the voltage is removed. I think it did it with/without a load connected, so something funky is going on. Unless it's a bug caused by a wonky setting in the controller I got something going on with my controller wiring (again). Lots of wires without good color coding = easy to make an error.

I didn't notice this during bench testing, but I was using a very current limited power supply and lower voltage on the bus. This is one reason I like a fault tolerant gate driver during testing. I could have damaged something by now. I also learned that my wiring / error checking skills need some improvement :oops: Need a physical check list, not just a mental one.
 
how the controller reacted if the brain was on and the bus was suddenly brought up from a ground state, shoot through. I hear the click and can get a violent jerk from the motor depending on it's rotation
if your motor jerks around, it might not be a shoot-through because in a true shoot-thrugh, the current does not go to the motor. its possible that desat picks up a motor fault and turns OFF, it will if the current gets high enough, but techniccally.. such a scenario is not a shoot through (why the phase current didn't pick up who knows.. you'd have to investigate that).

DC bus collapsing when you remove power? it's supposed to. remember we put bleed resistors across your DC bus for safety.
 
just so i understand you.. over current is different than desat threshold (shoot-through). 750A, you must mean shoot-through fault? you know, its similar to your residential breaker. that breaker has two mechanisms on which in will clear a fault... on the long time delay curve (10's of seconds) OR instantaneously (50ms). that is, the same single breaker looks for two different types of faults, on that is slow moving overload condition and the other is extremly high fault current happens instantaneously. inside the breaker, it works on two different mechanisms entirely.. the long time delay it is two disimilar metals that expand at different rates and they eventually seperate initiating the breaker trip function. for very high fault current, we can't wait so long for the metal's temperature coefficient, no, instead it works on faster principal which is the current's magnetic field. this is comparable to phase output CT measuring overload faults and higher faults like load short-circuit (variable, depends on where in the motor the fault occurs.. first winding or last). the other fault is the instantaneous, we can not wait so long for slow moving inverter LEM current sensor (despite it's 100kHz bandwidth), no we rely on a different principal to find the extreme high fault current which is shoot-through event.. we rely on desat.

anywho... i'm being purposely nit-picky on terminology because the more we speak the same language the better we understand what each other says, the fast and more accurately we can work together.

/end lecture
 
Is it not possible to have a very high/fast over current that is not a shoot though. Like a wrench laying on the 3 phase wires?
 
I'm only saying shoot through might be involved because I can get some current to draw on the bus with no load connected to the output. This is the only reason I brought up shoot through and I in hind sight I should not have, or I should have posted more details.

I'm not crediting shoot through with moving the motor, I'm just suspect there might be a bit of overlap in the pulses. I need to figure it out when I have an hour or so.

I can trigger desat with low uH coil and enough caps on the bus.
 
you see, we're picky because we hold you to a higher standard now :)

I can trigger desat with low uH coil and enough caps on the bus.
your switching frequency is too low. you would need to double what you have now for that motor.
 
HighHopes said:
you see, we're picky because we hold you to a higher standard now :)

I can trigger desat with low uH coil and enough caps on the bus.
your switching frequency is too low. you would need to double what you have now for that motor.

The test coil was 5/25/30uH My motor I'm running is 130uH. I haven't made it to diagnosing yet, had a friend I haven't seen in a long while come by. Time with friends > cool projects.
 
Back to working on this again.

I tried testing out how well the controller would handle power, but I was unable to get the controller to function correctly. Real bummer too since it spun up a 20uH motor right away but then we had to move locations and it wouldn't run correctly. I gave up after it failed to run. I thought I might have damaged it since there was some odd grounding issues going on in the shop we were in. The table the controller was sitting on was grounded, but the big Sorensen power supplies we were using had floating outputs. After I got shocked (just a tingle) when I touched part of a PCB pin I was clued in that something odd was going on. Multimeter says there was 65VAC between my board which is fully isolated electrically with transformers and mechanically from the table and the table it was sitting on. Power supplies were on a 230 VAC circuit. I'm still not sure how I was getting voltage from the isolated power supplies and I was too tired to investigate it. Good news is, this 65VAC did no damage to anything. I thought it might be capacitive coupling. Speaking of capacitive coupling... we tried and failed to isolate our test stand from ground with a 3/8" sheet of Lexan. When the other person picked it up I joked that we were just going to make a capacitor and he was holding the dielectric... turns out we did make a capacitor with it. Voltage dropped from 65 VAC to ~48 VAC with it in place as an isolator. If someone wants to do the math we can probably see if the physics makes sense to prove that's what happened.

The controller not working correctly issue was caused by a bad solder joint... It was an intermittent connection issue with the on turn off resistor of phase A high side. The SMD joint looked OK on the surface, but the resistor wasn't on the pads as good as it could have been. Flexing the PCB board just slightly would allow it to work for a bit, then it would quit with a fault and blink out a phase A high error code. I bypassed the PWM fault shut down and tested it again to the sound of a motor having seizures. I wasn't concerned doing this since I was on a current limited power supply and the gate drive protects the MOSFETs. Oddly it only took me about 15 minutes to track down the fault and then another hour to correct it with an SMD rework station due to disassembly time. Controller appears to work pretty well now. I tested it with a large 14uH axial flux motor and it spun it up until the current reached the max of my 3A power supply.

I hope to mount it on my bicycle today and see if I can ride it. I'm curious to see how powerful it is.
 
Lebowski said:
That would be an excellent motor for, if you separate the parallel windings, for running two controllers in parallel...

If only I had someone near me that could fabricate a bike / MC for me.

I have a 2nd one of these motors so I'm going to create a controller dyno for testing designs out by linking the two together.
 
Lebowski,

I can't seem to get the controller to run a Cromotor or even start one up smoothly. The axial flux motor seems like it was easy to get started, but when I try a Cromotor it stutters and then goes nuts for about a second. Usually the controller chip detects something was wrong and drops back to drive mode 0. If I have a 75V battery connected I often end up with a fault.

Do you have any suggestions on where I should set the loops for a 23 pole pair hub motor with 140uH inductance (measured by hand held meter)?

Here are my settings. I hope you have suggestions, I'm anxious to ride this thing :)

Code:
0x05B7  0x0006  0x0933  0x006F  0x0002  0x0002  0x7FBC  0x007A
0x0000  0x001E  0x8000  0x00E6  0x00E6  0x0123  0x0400  0x0400
0x0400  0xAAAA  0xAAAA  0xAAAA  0x02EE  0x0248  0x001E  0x0301
0x000A  0xFF0C  0x0440  0x0199  0x0614  0x0851  0xFFFF  0xFFFF
0xFFFF  0x00B6  0x02B6  0xFFFF  0xFFFF  0x039A  0x004C  0x0152
0x0000  0x030C  0x0258  0x0196  0x0000  0x0000  0x0001  0x0002
0x0000  0x4000  0x000A  0x0000  0x00C8  0xFFFF  0xC000  0xFFF6
0x0000  0xFF38  0x0000  0x051E  0x000F  0x0000  0x012C  0xFFFF
0xFAE2  0xFFF1  0x0000  0xFED4  0x0003  0x0000  0x0078  0x0000
0x0000  0xFFFD  0x0000  0xFF88  0x0000  0x0000  0x003C  0x0003
0x0000  0x0000  0x1333  0xFFC4  0xFFFD  0x0000  0xFFFF  0xECCD
0x00F0  0x000C  0x0000  0x0000  0x0000  0xFF10  0xFFF4  0x0000
0x0000  0x0000  0x9379  0x0321  0x0763  0x05DC  0x01CD  0x0035
0x00E4  0x02C6  0x013F  0x0007  0x01D4  0x0042  0x0010  0x0E10
0x0000  0x03E8  0x00C8  0x5027  0x03B6  0x6000  0x0133  0x013F
0xFFFF  0xC519  0x764B  0x5482  0x41B3  0x35C3  0x2D7A  0x276B
0x22C9  0x1F1E  0x1C28  0x19B5  0x17A6  0x15E6  0x1463  0x1312
0x11EB  0x10E4  0x0FFB  0x0F28  0x0E6B  0x0DC0  0x0D23  0x0C94
0x0C10  0x0B97  0x0B27  0x0ABF  0x0A5F  0x0A05  0x09B1  0x0962
*
 
the main two things I noticed were that the low side pulsing was switched off and an error in the coefficients:
Code:
h) 1st order: 60
i) 2nd order: 3.0000
j) 3rd order: 0.0749
coefficient j must be made zero for all versions before v2.40 .

so, please try the attached hex file. (I changed some more stuff, transition erpms, things like that).
I kept the recovery off as you had it, but can really recommend you switch this on and try it out once you have the motor running correctly.

One last thing, you have current sensors with about 3mV/A, and currents in the 15 to 60 A range. Try to never have such overdimensioned
current sensors as it really affects performance. When you go upto 60A, use the nearest highest sensor available (100A). An LSB of the
analog to digital converters in the controller IC is 5mV, so 15A (which is 45mV) is only like 9 LSB's . Noise alone will be in this range...

Code:
    0x05B7  0x0006  0x0933  0x006F  0x0002  0x0002  0x7FBC  0x007A
    0x0000  0x001E  0x8000  0x00E6  0x00E6  0x0123  0x0400  0x0400
    0x0400  0xAAAA  0xAAAA  0xAAAA  0x02EE  0x0248  0x001E  0x0301
    0x000A  0xFF0C  0x0440  0x0199  0x0614  0x0851  0xFFFF  0xFFFF
    0xFFFF  0x00B6  0x02B6  0xFFFF  0xFFFF  0x039A  0x004C  0x0152
    0x0000  0x030C  0x0258  0x0196  0x0000  0x0000  0x0001  0x0002
    0x0000  0x4000  0x000A  0x0000  0x00C8  0xFFFF  0xC000  0xFFF6
    0x0000  0xFF38  0x0000  0x051E  0x000F  0x0000  0x012C  0xFFFF
    0xFAE2  0xFFF1  0x0000  0xFED4  0x0003  0x0000  0x0078  0x0000
    0x0000  0xFFFD  0x0000  0xFF88  0x0000  0x0000  0x003C  0x0003
    0x0000  0x0000  0x1333  0xFFC4  0xFFFD  0x0000  0xFFFF  0xECCD
    0x00F0  0x000C  0x0000  0x0000  0x0000  0xFF10  0xFFF4  0x0000
    0x0000  0x0000  0x9379  0x0321  0x0763  0x05DC  0x01CD  0x0035
    0x00E4  0x02C6  0x013F  0x0007  0x01D4  0x0042  0x0010  0x0E10
    0x0000  0x03E8  0x00C8  0x5027  0x03B6  0x6000  0x0133  0x013F
    0xFFFF  0xC519  0x764B  0x5482  0x41B3  0x35C3  0x2D7A  0x276B
    0x22C9  0x1F1E  0x1C28  0x19B5  0x17A6  0x15E6  0x1463  0x1312
    0x11EB  0x10E4  0x0FFB  0x0F28  0x0E6B  0x0DC0  0x0D23  0x0C94
    0x0C10  0x0B97  0x0B27  0x0ABF  0x0A5F  0x0A05  0x09B1  0x0962
    *
 
Back
Top