Upload Your Circuit Schematics & Requests Here...

fechter said:
There are lots of ways to do it. If you're just building one, I would just lay copper wire on top of the high current traces and solder it down.
In factory made controllers, I've seen a variety of approaches. One is to make a copper bus bar with legs. Legs are located close to the FET connections so the PCB traces are short and can be bridged with solder. The bar goes on the top of the board. You could do this with heavy copper wire as well.
Another approach is a strip of copper sheet that is cut to the same shape as the board trace and laid down on top of it before soldering. Much like a wire, but nice and neat. These traces should be extra wide wherever possible, like 0.25".

You can get an idea from the picture below. I think they just piled up a bunch of solder, but some copper in there is much better. The actual connection to the FET leg is narrow but as short as possible.
View attachment 1

Thanks once again :)



This is what I've done. I have managed to place 3, 70 thou traces between the transistors. 2 bottom copper and 1 top copper. I think these should be sufficient for 20A however I will also add some copper wire.

What do you think?
 
If you are using 2oz copper pcb you will need about 370thou of track on external layers to keep the temperature rise to 10 deg C for a 1cm length. Listen to fechter's advice and have a look at this calculator:

http://circuitcalculator.com/wordpress/2006/01/31/pcb-trace-width-calculator/

Remove the top overlay of the components and solder mask on the track so you can augment its current carrying capacity with solder and copper wire/sheet.

Solder has about six times the resistance of copper, keep that in mind.
 
*I have a controller that has only one input analog signal that is available with 3 wires, +5V,-ve, signal.
*My throttle has 3 wires (+5V, -ve, signal) that outputs up to ~3.5V
*I also have a reed switch brake sensor with 3 wires (+5V, -ve, signal) that reads 0v when the brake is off, and +ve voltage (~1V i think) when the brake is pulled

So, I need some way to wire this so that when the throttle is twisted it sends its voltage to the controller, but if the brake is pulled - even at the same time as the throttle - then 0V is sent to the controller. I'm not familiar enough to know if it can be wired directly or needs some sort of 'widget' in between.

Can anyone help with wiring/components that are required? I need pretty idiot proof instructions, like connect the +5V from the controller to the +5V from the brake...

Thanks in advance
 
If it's a reed switch, it doesn't need power. So use a multimeter on continuity check or ohms, and see which pin is common (probably the output), and which is shorted when "off" and which is shorted when "on".

Then connect teh common to the throttle's power input, and the "shorted when off" to the 5v line.

Then when you engage the brake, it will cut off the power to the throttle, so there will be no output to the controller.


If it's not a reed switch, and requires power, then if the output pin is 5v when "off", and 0v when "on", then connect the throttle's power input to the output of the switch, so it only gets power when the ebrake is off.
 
Thanks for your post.

I'm just not familiar with the terminology, so I'm instantly struggling when you mentioned common and shorted etc.

Supplying no power, with the brake 'off' (magnet near switch) I get no ohm readings from any of the 3 wires. With the brake on (magnet away from switch) i get a reading only from the -ve and signal wires.

Are you saying to connect brake +5V to controller, the +5V and brake -ve to throttle +5V, and just leave the brake signal wire not connected/terminated?

I just can't quite wrap my head around it...
 
It's odd that the brake sensor has 3 wires. Most I've seen with 3 wires are hall switches. A reed switch should give you a zero ohm reading across the contacts when activated. If the switch is closed with the brakes off and opens when you pull the lever, then you place it in line with the 5V going to the throttle. If the switch closes when you pull the brake, then you wire it from ground to the throttle signal line, which will short it when the brake is pulled.

Some throttles don't like this and can fry if you pull the throttle while the brake is on. To prevent any issues, it's best to place a resistor (usually 1k works) in line with the throttle signal and tap in the brake switch downstream, on the controller side. The resistor prevents excess current in the throttle line.
 
OK, so you're saying to protect the throttle:

*+5v controller to +5v throttle
*-ve throttle to -ve controller
*signal throttle to 1k resistor, 1k resistor to +5V brake, -ve brake to signal controller, and leave brake signal unconnected

TIA
 
can you guys just verify my design for a pack-fed 12v side? I also plan on keeping the charger inboard to allow for onboard charging. The battery is a 72v 20ah pack with an embedded BMS, and the charger is the one that comes with the battery.
cNbFC4g.png
 
Dream_Crusher said:
can you guys just verify my design for a pack-fed 12v side? I also plan on keeping the charger inboard to allow for onboard charging. The battery is a 72v 20ah pack with an embedded BMS, and the charger is the one that comes with the battery.

Looks good to me.

The battery isolator switch will sort of take a beating when turning on as the capacitors in the controller charge. I've seen people use circuit breakers made for solar systems that seem to work well for this.
 
Specifically regarding the Bafang BBSHD controllers that have a problem with throttle/PAS override.

The new controllers (since sometime in 2017) have a problem with deciding whether to set motor speed with throttle or pedal rotation speed. If pedaling along and you hit the throttle for a boost, nothing happens until the throttle is cranked up and then the boost is huge. No problem if you stop pedaling and then hit the throttle, but sometimes inconvenient.
Would it be possible to attach a throttle adjustment to the PAS system?
So no real throttle, just adjusting the PAS via a throttle input rather than pushing the buttons.
Then while pedaling one could just whack the throttle, which would increase the PAS level and give a boost this way?
The PAS would obviously have to follow the throttle setting up and down and not have any real delay.
 
espresso said:
Specifically regarding the Bafang BBSHD controllers that have a problem with throttle/PAS override.

The new controllers (since sometime in 2017) have a problem with deciding whether to set motor speed with throttle or pedal rotation speed. If pedaling along and you hit the throttle for a boost, nothing happens until the throttle is cranked up and then the boost is huge. No problem if you stop pedaling and then hit the throttle, but sometimes inconvenient.
Would it be possible to attach a throttle adjustment to the PAS system?
So no real throttle, just adjusting the PAS via a throttle input rather than pushing the buttons.
Then while pedaling one could just whack the throttle, which would increase the PAS level and give a boost this way?
The PAS would obviously have to follow the throttle setting up and down and not have any real delay.

Mine had that problem and it was pretty annoying. The PAS sensor just sends pulses as the pedals turn. It might be possible to use the throttle to generate pulses that get faster as you advance the throttle. Just not sure how you would interface that so the two sources don't conflict.

Another possibility might be to have something that detects the throttle is above zero and disables the PAS signal. Once the throttle returns to zero, PAS signal is restored. This might be done with a simple micro switch on the throttle.
 
fechter said:
espresso said:
Specifically regarding the Bafang BBSHD controllers that have a problem with throttle/PAS override.

The new controllers (since sometime in 2017) have a problem with deciding whether to set motor speed with throttle or pedal rotation speed. If pedaling along and you hit the throttle for a boost, nothing happens until the throttle is cranked up and then the boost is huge. No problem if you stop pedaling and then hit the throttle, but sometimes inconvenient.
Would it be possible to attach a throttle adjustment to the PAS system?
So no real throttle, just adjusting the PAS via a throttle input rather than pushing the buttons.
Then while pedaling one could just whack the throttle, which would increase the PAS level and give a boost this way?
The PAS would obviously have to follow the throttle setting up and down and not have any real delay.

Mine had that problem and it was pretty annoying. The PAS sensor just sends pulses as the pedals turn. It might be possible to use the throttle to generate pulses that get faster as you advance the throttle. Just not sure how you would interface that so the two sources don't conflict.

Another possibility might be to have something that detects the throttle is above zero and disables the PAS signal. Once the throttle returns to zero, PAS signal is restored. This might be done with a simple micro switch on the throttle.

The strange thing is that if I add a bit of pedal while on the throttle, this works fine. However if I am pedlaing it won't accept a bit of throttle.

I see that the up/down buttons for the PAS system go to the display.
Does the display then send a analogue signal to the controller, or does it just pass on the button signals?
If the display is sending a 0-5v to the controller, then I could use this perhaps?
 
The display is sending serial data to the controller to change the PAS level. It's all digital.

The strange thing is that if I add a bit of pedal while on the throttle, this works fine. However if I am pedlaing it won't accept a bit of throttle.

That's an interesting observation. I never quite figured out what it was doing before I just cut off the PAS sensor wire to permanently disable it. I use throttle only, which I am OK with. I think having a way to disable the PAS signal anytime the throttle was on might work.
 
Havn't yet plugged in everything needed for this active balancer simulation.
Reality wants more cells, but would clutter the drawing and slow LTSpice.

The theory of operation (if no grotesque errors were made) is that a brief
pulse would cause all mosfets to turn ON hard simultaneously. Isolated
windings sharing the same transformer core would AC couple all cells to
an average voltage, thus achieving balance by the forward method.

The pulse needs to be short enough not to saturate the core. And there
needs to be a core reset before another pulse can repeat that process.
Reset comes in the form of flyback, commutated by one or more of the
Schottky diodes.

Whichever cell (or the capacitor on top of the stack) might measure the
lowest, gets whatever magnetic energy was leftover. The voltage of the
weakest cell may be more than a Schottky drop below average. So, we
need to allow a little more time for reset. Maybe twice as long is safe?
No problem of too much reset time, as that automatically stops when
the magnetic energy is gone.

Assuming the pulse train is alive: The fake cell on top, the capacitor,
reflects the voltage of the weakest real cell discovered by flyback.
Thus we only need watch this one place to determine when to shut
off the pack. The isolated gate driver was selected for convenient
2.5V primary side undervoltage lockout. We don't feed it any signal,
but the input hardwired ON, as only the UVLO feature is needed.

It is normal for N-Channel Mosfets to have a body diode in parallel.
That diode would allow the pack to be recharged, even in shutdown.

-----

I wind my own pulse transformers on JBWeld cores. Sometimes cheat
and glue up blocks of ferrite, rather than work with a blob that takes
much as six hours to fully set and sticks to every mold I've ever tried.
Don't go thinking I could never find a custom 1:1:1:1:1:1:1:1:1:1:1
transformer wound for 10S, cause that's a solvable complication.

JBWeld's ferrosilicon steel filler is good stuff to 1MHz. Only a little
more permeable than air unless you add extra filler. But enough to
keep flux lines in the gap where they belong. So much distributed
gap, you could not possibly saturate JBWeld alone. I shave a slice
of hardened weld a little bigger than the air gap I might calculate,
and stack it in my ferrite glue-ups. JB is indestructible, but ferrite
blocks tend to be fragile. I'm looking at other block materials...

-----

So again, all of the real cells (and not the capacitor) should average
together on the forward pass. On the flyback pass, only the weakest
cell (this time including the capacitor) receives whatever is leftover.
Forward for fast balance. Flyback for reset and weak cell discovery.

All untested assumptions, so don't go crazy trying to building a thing
that probably still has errors and isn't even a complete drawing yet.
Hoping someone might spot an error in my plan and clue me back
onto the correct path...
 
I already see a problem. Won't be any VoltSeconds reset when the
top cap is fully discharged. Flyback into zero volts is freewheeling,
not pushing the field back to reset. One Shottky drop, but that's
still hardly anything...

Transformer might saturate before that cap is charged to function.
May need some series resistance with that top Schottky to assure
voltage is available for reset.

With slower cap charge, may need a higher value for bleeder R5.
Or omit the bleeder, the gate driver quiescent alone might suffice.

Could be same bill of materials, re-locate R5 in series with D5...
 
I'm not exactly following what the circuit is doing. Are all the coils on the same core?

There are some off-the-shelf chips that can do non-dissipative balancing using discrete inductors. Check out this one from TI:

The EMB1499Q bidirectional current dc/dc controller IC works in conjunction with the EMB1428 switch matrix gate driver IC to support TI’s switch matrix based active cell balancing scheme for a battery management system. The EMB1499Q provides three PWM MOSFET gate signals to a bidirectional forward converter so that its output current, either positive or negative, is regulated around a user-defined magnitude. This inductor current is channeled by the EMB1428 through the switch matrix to the cell that needs to be charged or discharged. In a typical scheme, the EMB1499Q-based forward converter exchanges energy between a single cell and the battery stack to which it belongs, with a maximum stack voltage of up to 60 V. The switching frequency is fixed at 250 kHz. The EMB1499Q senses cell voltage, inductor current and stack current and provides protection from abnormal conditions during balancing.
http://www.ti.com/product/emb1499q

If you look at the datasheet, you can see how they do it.

Another approach is to drive a small transformer across each cell and have all the transformer outputs feed the main pack terminals (through diodes). Transformer drive is turned on only for the high cells until the low cells catch up. This way you can use off-the-shelf transformers that are relatively cheap. Ones used for PoE applications are very common and have a good turns ratio for this. You could easily get 3A of balance current without generating much heat.
 
fechter said:
I'm not exactly following what the circuit is doing. Are all the coils on the same core?

There are some off-the-shelf chips that can do non-dissipative balancing using discrete inductors. Check out this one from TI:

The EMB1499Q bidirectional current dc/dc controller IC works in conjunction with the EMB1428 switch matrix gate driver IC to support TI’s switch matrix based active cell balancing scheme for a battery management system. The EMB1499Q provides three PWM MOSFET gate signals to a bidirectional forward converter so that its output current, either positive or negative, is regulated around a user-defined magnitude. This inductor current is channeled by the EMB1428 through the switch matrix to the cell that needs to be charged or discharged. In a typical scheme, the EMB1499Q-based forward converter exchanges energy between a single cell and the battery stack to which it belongs, with a maximum stack voltage of up to 60 V. The switching frequency is fixed at 250 kHz. The EMB1499Q senses cell voltage, inductor current and stack current and provides protection from abnormal conditions during balancing.
http://www.ti.com/product/emb1499q

If you look at the datasheet, you can see how they do it.

Another approach is to drive a small transformer across each cell and have all the transformer outputs feed the main pack terminals (through diodes). Transformer drive is turned on only for the high cells until the low cells catch up. This way you can use off-the-shelf transformers that are relatively cheap. Ones used for PoE applications are very common and have a good turns ratio for this. You could easily get 3A of balance current without generating much heat.

Yes, all on same core. One wind more than cell count.
That behavior by the directive K1 L1 L2 L3 L4 L5 0.99

-----

I work for TI, indirectly. Just down the street. We build
the EVM circuit boards (including various BMS and motor
controllers). I test them. Havn't seen EMB1449. Might be
another of TI's contract manufacturers had the privilege
to built that project.

OK, $399 to buy from TI store, not going on my bike...
http://www.ti.com/tool/em1402evm

As for get the chip and DIY it, Its three chips including
the microcontroller, 24 FETs to switch the cells. 4 fets
to switch the converter. Needs floating 12V bias supply,
also 5V and 3.3V. Would have to compile firmware in
code composer, which sounds way too much like work
to be fun. I'm a test tech, not a programmer anyway...

So, my circuit is intended to be dumb and open loop.
Of bare minimum component count, and dirt cheap.
My bill counts what? One FET per cell, plus Schottky.
Transformer might be a pain, but all winds are near
the same small voltage, could wind together as one
twisted bundle. Might be suitable cores and bobbins
that clip together, or JBWeld some hi-flux blocks.

If pulsed by MSP430 or ATTiny, only blink the LED
code that needs modified, maybe I can handle that.
Slightly more comfortable with an analog 555.
Power from middle two cells, AC couple requires
no float. Yeah, I'm going analog...

As for the UVLO, we did build that isolator's EVM.
I've already played with it enough to be sure that
part is going to work. Even tho the spec doesn't
confirm proper operation below 3V VCC1, passed
steady ON signal all the way down to 2.5V UVLO.
Might worry of low voltage abuse if I were trying
to pass a more interesting signal.

-----

Not shown in drawing, but also not forgotten:
Fusible links per cell and 4.15V shunt regulators.
Shunt build in progress. Veroboard dead-bug
mess, cause I'm not a layout guy either. Whole
assembly not quite finshed, but first cell works.

Each shunt is a TIP106G PNP darlington with
built-in bias resistors and 3 external ohms in
series with the collector. Driven by a TLV431
1.24V shunt regulator. Fed by resistor totem
2.32K above 1K. Scaling to about 4.15V~4.19V
depending temperature. Will draw if needed.
 
I agree the cost of a really nice TI setup is likely to be about equal to my bike.

The shunt sounds very similar to the one I designed years ago. Helpful hint: the 431/darlington circuit had a nasty tendency to oscillate. I solved the problem by placing a 47uF capacitor between the base and collector of the darlington which slows down the response.

Here's a totally different approach to the problem I looked at long ago. Never built, but I think it would work.
https://endless-sphere.com/forums/viewtopic.php?f=14&t=18392
 
Oscillates? Maybe thats what happened...

The first one I breadboarded worked fine, but
ran away when asked to bypass more than 1A.
Just assumed the Darlington wanted a heatsink.

And a series resistor to limit current just incase
it ever happens with a real battery, which will
also remote locate half the power dissipation.

I never suspected oscillation, so I didn't put a
scope on it and actually look.

Still got plenty of through holes to spare for a
few caps, so retrofitting won't be a problem.

-----

I gave consideration to capacitor voltage multiplier
style balancing. But all currents suffer the diode
drops, and cap ESRs. I'm not sure how fast such a
system can bring the cells to balance. If not faster
than the motor draws, does it even help?

Mosfets can resist less than caps, and drop less than
diodes. Forward seemed the way to go for low losses.

Flyback also balances, but not at significant rate.
For reset and measurement, not so much balance.
One schottky somewhere is wasting a diode drop.
 
Try drawing this again.
Untangled for easier reading.
Same circuit, excepting R5, C5.

Mistake2.png
 
fechter said:
espresso said:
Specifically regarding the Bafang BBSHD controllers that have a problem with throttle/PAS override.

The new controllers (since sometime in 2017) have a problem with deciding whether to set motor speed with throttle or pedal rotation speed. If pedaling along and you hit the throttle for a boost, nothing happens until the throttle is cranked up and then the boost is huge. No problem if you stop pedaling and then hit the throttle, but sometimes inconvenient.
Would it be possible to attach a throttle adjustment to the PAS system?
So no real throttle, just adjusting the PAS via a throttle input rather than pushing the buttons.
Then while pedaling one could just whack the throttle, which would increase the PAS level and give a boost this way?
The PAS would obviously have to follow the throttle setting up and down and not have any real delay.

Mine had that problem and it was pretty annoying. The PAS sensor just sends pulses as the pedals turn. It might be possible to use the throttle to generate pulses that get faster as you advance the throttle. Just not sure how you would interface that so the two sources don't conflict.

Another possibility might be to have something that detects the throttle is above zero and disables the PAS signal. Once the throttle returns to zero, PAS signal is restored. This might be done with a simple micro switch on the throttle.

The PAS on the BBSHD and BBS02 seem to provide less boost when the pedal speed increases, so adding throttle might require a reduction in the pulse rate. In any case it would be simple to use a singe chip micro with throttle in, PAS in and PAS out. Various algorithms could then easily be tried, included just disabling the PAS pulses when the throttle is off minimum. The throttle minimum could also be automatically detected in software.
 
I can think all kinds of uses for a cadence faker, except I
have the torsion sensor instead. Maybe BBSHD next bike.
May need to rig another sort of deadman switch though...

------

So, I got part of the sim running. Forward pass balances
pretty good, but the flyback pass is messy with too much
ringing. Makes copying weak cell to the top inaccurate.
For now, damped as best I can without major re-design.

You can see how current in L1 flows only during flyback,
and only if V1 was the lowest cell. That wind exists only
to discover V1's state. L2 is where V1 forward balances,
but then flyback to watch an entirely different cell, V2.

The currents pictured here are *after* C5 has charged to
similar voltage as the weakest cell, V1...
 

Attachments

  • BalanceCurrents.png
    BalanceCurrents.png
    26.5 KB · Views: 9,708
Nothing requiring a schematic. Just picked up a wireless turn signal and
disappointed to discover the brake button cycles through four patterns
instead of ON/OFF. Actually I was expecting a decelerometer...

Well, this looks fixable on the cheap. I'm looking at a ball tilt switch,
and maybe some schottky diodes to prevent crosstalk. First would be
to measure which ends are switched, and which are resistor limited.
Override the pattern and light em' all up...

Also occurs to me that remote locating the sensor on the kickstand
could prevent accidental drainage while parked on a slight incline.
Even a standalone brake-light on the kickstand, though that might
be a poor location for visibility.

Holding a stand hand right now that bolts onto the rear axle, and it
folds backward, tilted down about 10 degrees. Or in the downward
postion, swept forward about 20 degrees. I'm not sure what angle a
ball should roll forward and up to say a brake light should be ON?
I'm pretty sure a metal ball would not easily roll up that 70 degree
incline when the kick is deployed.

https://www.robotshop.com/en/gravity-tilt-sensor.html
https://www.adafruit.com/product/173
https://learn.adafruit.com/tilt-sensor

hmmmm... Only 5mA for the modern non-wetted version?
That's not going to light up anything without help from at
least one transistor, still nothing particularly complicated.
+/- 15 degrees spec gives me some pause for worry...

--------------------

Oh, and adding 10nF from midpoint of R5 & D5 to the +
end of V4 won't make flyback ringing problem go away.
But allows the fake cell to ignore it, while still getting
a plausible copy of the weakest real cell voltage.
 
Back
Top