Toy car forward and reverse speed difference issue - Page 1
Forum section: electronics / repair

author: murabat
author_rank: Contributor
timestamp: December 04, 2021, 06:32:34 am
content: My son's toy car goes to full speed in reverse direction but moves very slowly in the forward direction. At first I thought that it was a motor resistance issue but when I checked the voltages on the motors, the reverse direction was getting 12.5V and the forward direction was only getting 7.6V.Main controller board picture is attached below.The gate of the forward high side mosfet is not being driven fully. Reverse direction high mosfet is getting about 22.5V at the gate which gives a gate to source difference of about 10v but the forward direction mosfet is only getting 14.5V which makes Vgs to be around 2V which is not enough to turn it on fully. Battery voltage being 12.5V.I thought that the driver IC had some issue. I swapped the ICs, no change. I swapped the charged pump capacitors, no change. Then I started checking inputs of both drivers and found that the PWM signal coming from the microcontroller is around 3V 21KHz in the reverse direction but only 1.7V 21KHz in the forward direction. LDO running the whole circuit is 3V.At this point I am a little confused why the microcontroller is doing this? It is still fully functional taking inputs and outputs of other functions in the car. There is no speed control in this car. Just a rocker switch with forward and reverse.So my idea of posting here is to know if I have missed something in checking the mosfets and their driver. It seems to me that I have to either get a new circuit board or just wire the reverse output of the microcontroller to the forward driver input with some logic in between.

author: Xenon
author_rank: Contributor
timestamp: December 04, 2021, 04:52:19 pm
content: The simplest way to make it go forward full speed is to swap the motor + and - connectors and the wires to the forward and reverse buttons.

author: coromonadalix
author_rank: Super Contributor
timestamp: December 04, 2021, 05:29:36 pm
content: normally you need more control while reversing than being in forward mode, the motor should spin the same in forward or reverse mode, but a circuit can add a limitor for reverse mode ??maybe poking the controls signals, you coud see a signal level difference ?? or maybe some resistors values ??an ''H'' bridge should be simmetrical

author: abdulbadii
author_rank: Frequent Contributor
timestamp: December 04, 2021, 08:53:55 pm
content: First must get MC ID, specs, description which is null in question now

author: murabat
author_rank: Contributor
timestamp: December 04, 2021, 11:46:42 pm
content: Quote from: Xenon on December 04, 2021, 04:52:19 pmThe motors are controlled by the microcontroller with forward/reverse inputs pulled high through resistor. When both forward/reverse button and the accelerator switch is pressed, the signal goes low and microcontroller sends the appropriate PWM signal to the mosfet driver. So changing wires on the rocker switch won't help solve the slow speed issue. It just makes forward button into reverse and reverse button into forward.Quote from: coromonadalix on December 04, 2021, 05:29:36 pmAs I said in the first post that the problem seems to me that the high side mosfet in the forward direction is not being turned on fully causing a very high voltage drop. The mosfet driver signal is almost half of what it should be. Microcontroller is controlling the mosfet driver directly. There is no resistor in between.Quote from: abdulbadii on December 04, 2021, 08:53:55 pmThe microcontroller markings are ground off. No way to know what it is. The four mosfets are N-channel 120N03. The mosfet driver is HY2105 which after probing seems to have a very similar pinout toNCP5104

author: Kim Christensen
author_rank: Super Contributor
timestamp: December 04, 2021, 11:57:20 pm
content: Quote from: murabat on December 04, 2021, 06:32:34 amIt could be that the "forward" PWM IO pin on the microcontroller is partially damaged. I assume that these voltages (3V vs 1.7V) were seen on an oscilloscope. Did the 1.7V PWM forward signal look like a nice squarewave like the reverse 3V PWM or was it rounded/slopedl? You may be able to bodge a "fix" by putting a pullup resistor (waveform not going all the way to Vdd) or pulldown resistor (waveform not going all the way to 0V) on that pin since 21Khz isn't super high speed. It all depends on the MCU, driver, and what killed the PWM IO pin in the first place.

author: abdulbadii
author_rank: Frequent Contributor
timestamp: December 05, 2021, 12:31:50 am
content: Seems it is a closed loop feeedback (encoder) DC motor not a plain/simple one.. if so, it's usually brushless ?

author: murabat
author_rank: Contributor
timestamp: December 05, 2021, 06:44:21 am
content: QuoteI was initially measuring with a multimeter but I got the the scope out today. The forward and reverse direction microcontroller outputs are attached.The difference is almost half. I don't remember the car doing like this when I bought it. It is only after using it for a month or two that it has slowed down the forward speed. Seems like the microcontroller is deliberately doing this.Is it taking that queue from some input which has changed? I don't think so. Need to investigate that further.Quote from: abdulbadii on December 05, 2021, 12:31:50 amThese are plain RS390 equivalent DC motors with gearboxes. They run in H bridge configuration. No brushless motors, no encoder system involved.

author: fzabkar
author_rank: Super Contributor
timestamp: December 05, 2021, 06:33:14 pm
content: What is the pinout of the connector (eg H/L, S/F, S/B, etc)?H/L -> high speed / low speed

author: Kim Christensen
author_rank: Super Contributor
timestamp: December 05, 2021, 08:02:07 pm
content: QuoteIs the microcontroller monitoring the motor current somehow? If that circuitry is misreporting an overcurrent situation, that would make the microcontroller change the duty cycle to compensate.

author: murabat
author_rank: Contributor
timestamp: December 07, 2021, 12:39:06 pm
content: Quote from: fzabkar on December 05, 2021, 06:33:14 pmH/L is not connected on the ribbon cable. S/F is forward. S/B is backward.QuoteAs I have probed the microcontroller and there is a pin going through a 2k resistor to ground but I think if it had an effect, it should happen in both directions. And it measures exactly 2k ohm.After some probing I have mapped the microcontroller pinout. The picture is attached. One interesting thing I found is that after I changed the ldo from 3v to 3.3v the voltage on forward PWM rose to 1.9V from 1.6V on multimeter. Exactly .3V. So what if I use a 5V ldo? I hope it doesn't fry something.HY8345 is chip used to drive a motor to turn the front wheels through remote controlXN297lbw RF chip is used to communicate with a remote. The car didn't come with one."Rock" is to move the car back and forth in a rocking motion."H/L". No idea. There is no wire going to input of that pin on the connector.

author: fzabkar
author_rank: Super Contributor
timestamp: December 07, 2021, 05:10:31 pm
content: I would try a pull-up or pull-down resistor on the H/L input (?) and see whether it affects the PWM duty cycle.Is there an FCC ID?

author: murabat
author_rank: Contributor
timestamp: December 16, 2021, 05:33:20 am
content: Quote from: fzabkar on December 07, 2021, 05:10:31 pmThere is no FCC ID.In the end I just reversed the connections on the motors to get the full speed in the forward direction. I am going to stop with any more investigation owing to the dearth of clues about the microcontroller and the code inside it. Thanks everyone for replying.