ACS756 on ebike

Hi,
I built an e-bike, with a rc bldc motor, and rc controller, and with arduino i am limiting the current by reading it with a ACS756 hall current sensor.... I connected it without any capacitors or resistors to arduino, and in 90% of the time it is working ok, but in the other 10%... my 1602 lcd resets(like it losses power), and i have strange readings on my other hall switch sensor used to read crank rpm... this happens when there is a quick increase of current to the motor. I tried to connect the motors controller directly(not throught the ACS756) an everything is fine...

I found that there is a need to use some capacitors, and a resistor, but i was thinking that this is only to smooth the output(which i dont need because the reading is ok for me), or this could fix my problem?

uve used a simular ic acs 712 30 amp, connection to the ic pins is very critical due to halls effect ect its very very sensitive to a poor connection and noise, ive used the caps all working perfect, you may want to use that chip it is much cheaper as well, they sell them on ebay the chip is on a small board

it didnt work without the c’s

it took me a few attempts to design a board that worked, but works very well red is top layer, blue is bottom layer

My board is already done, and mounted on my ebike, so if i could fix my problem by only adding a couple of capacitors and a resistor it would be much better solution.... It is a easy to try and maybe it will be ok... But I dont know what values to use...
I found this, i would like to be sure that this values is ok??

yes looks right have you looked in the data sheet that circuit will be there

just checked the data sheet i see what you mean there isnt a value for cf

Firstly the issue with the LCD reseting is due to spikes/transients from the motor and its controller. That's where the heavy currents are, so this sensor isn't really relevant (hall sensors are not connected to the circuit they measure, remember, its all magnetic).

Secondly adding the low-pass filter and decoupling cap is a very good idea - certainly decoupling caps are not optional in a digital circuit.

As for the motor transients - avoid running high-current motor wiring close to any other wiring for sensors or switches, that can lead to cross talk. Make sure the logic supply is up to the dips in battery voltage than happen on power surges, and improve it if not. Make sure noise and spikes from the motor are not getting onto the logic power (no real substitute for oscilloscope for this kind of debugging I'm afraid).

MarkT:
Firstly the issue with the LCD reseting is due to spikes/transients from the motor and its controller.

Everything is working fine if i only bypass the current measuring hall sensor… So I dont think that any spikes or close wiring is the problem… Maybe i am wrong, but i tested that many times, and newer got any problem…

I added the capacitors, and the resistor, but the same problem is happening... I tried to move the main wires, and also tried to disconnect the output from the hall going to arduino analog, and that didnt help.. I even disconnected the gnd going to the hall, nothing helped...
Only when i connect the main output wire to the same big pin of the hall current sens that is going "in" , and all other remains connected, there is no problem, but of course there is no measuring either...

I am running out of ideas.... =(

ditch it and use the as712 item number on ebay 290734086938

everything is on a small board and it works.

vwteo:

MarkT:
Firstly the issue with the LCD reseting is due to spikes/transients from the motor and its controller.

Everything is working fine if i only bypass the current measuring hall sensor... So I dont think that any spikes or close wiring is the problem... Maybe i am wrong, but i tested that many times, and newer got any problem....

So do the sensor-side wires to the current sensor run completely separately from the high current wiring then? Is the sensor sensing
high-side or low-side current? If the latter what happens with the two grounds (sensor ground and power ground)?

It is connected like this..


The reason that I am measuring the negative side is because I am measuring the voltage of individual cells(with voltage divider for each cell), and for disconnecting the battery i have to disconnect only the common negative side, this is done by a relay... so it disconnects everything... all that components are on the same board, so this was the easiest way to do that...

vwteo:
The reason that I am measuring the negative side is because I am measuring the voltage of individual cells(with voltage divider for each cell), and for disconnecting the battery i have to disconnect only the common negative side, this is done by a relay... so it disconnects everything... all that components are on the same board, so this was the easiest way to do that...

Bad idea. The way you have it connected, the Hall sensor and relay appear between the negative side of the battery and Arduino ground, so the DC-DC converter will likely pass transients through to the Arduino. Use the relay to disconnect the positive side, and connect Arduino and DC-DC converter ground directly to battery negative, using a separate connection to the battery from the one that feeds the motor controller. The Hall current sensor is probably best put in the positive wire to the motor controller, but you can leave it in the negative side if it is easier.

For your voltage dividers, use resistors large enough so that the battery drain is negligible. I recently made a voltage divider from two 4.7Mohm resistors to monitor the voltage on a 9V battery, because my design didn't have an on/off switch but instead put the mcu into sleep mode when turned off. This takes 1uA from the battery, giving it a theoretical life of 37 years (in other words, the current taken by the voltage divider is much lower than the self-discharge rate of the battery). You don't need to use resistors anything like as high as that because your battery is much larger, and I'd recommend lower resistors to get better accuracy. The typical input resistacne of the ADC is 100Mohm according to the datasheet, so I'd suggest 100k or 200K to ground and whatever you need to the positive side of the cell. Connect a 0.1uF capacitor from the Arduino analog input to ground as well to avoid interference pickup.

Your present design doesn't fully disconnect the voltage dividers anyway, because the voltage dividers will feed through to each other.