Let’s start!

So, where to begin..?
I’ve started the project while ago, but this will be the first post about which point I’m at it at the moment. I’ve done some testing and playing with the code on Arduino. The biggest challenge has been to convert the servo impulses from the receiver to something I can power up the 2 motors with. The PWM impulses varies from 1ms to 2ms, roughly. And I have to take care of both steering and throttle… I’ll tell more about that and the algorithms on later posts.

The hardware I gathered so far:

This set was ordered from Ebay, UK. Everything comes in pairs, obiviously.
The 2x electric DC motors are 24V 250W each and usually used in electric mini scooters and bicycles. I hope they are powerful enough to give some punch to my lawn mower.

Since the motors have max rpm at around 2750rpm, they need to be geared down. They come with 11 teeth gear, so I bought some 78 teeth gears to comply with them.

And last but not least, some chains to connect the gears. With this setup and wheels with 330mm diameter, the theoratical speed would be around 24km/h. I assume this will drop dramatically when adding the weight (20-25kg) of the lawn mower to it.





The RC receiver (and the controller) I had at home already. I have my little RC car and changed its RC system to digital 2.4Ghz, so this one was retired… until now.
Here is picture from some testing of the signals with Arduino.







The batteries to power up whole thing! I had to consern with the capacity vs weight, so I compromized and chosed 2x 12V with 12Ah capacity. They are not as powerful as car batteries, but I think the reducing of weight should give me better agility and movement. They weight only 3.8kg each.







2x BTN7960B 43A H-Bridge Motor Driver Module, which both I managed to burn already! New ones are on their way. (I managed to fix one working module, by taking off the non-faulty chip and solder it to the other board.)
The module contains 2 BTN7960B half H-bridge driver chips, which together summarize as full H-bridge and can run one motor backwards and forwards.

These are strange ones I must say! There are pins marked with L_PWM and R_PWM, so you assume that these are PWM pins, right? NO! These takes the ‘enable’-signal in and the PWM you should push into the ‘enable’-pins. I know, it doesn’t make sense. But check this site out; About middle of the page you can find ‘Pinouts’ section:


RPWM: Right Side Hi / Lo side Driver Enable (0=low side on, high side off; 1= high side on, low side off)
LPWM: Left Side Hi / Lo side Driver Enable (0=low side on, high side off; 1= high side on, low side off)
R_EN: Right Side Enable / PWM
L_EN: Left Side Enable / PWM

See? I laughed first at this, PWM should be PWM, what the hell they are mixing things???
But after I burned both the modules, I desided to test with the “healed” module. And wow! The motor runs so smoothly.



This is the block diagram (of one chip) from the manufacturers data sheet.
(Click the image to open in new tab.)
The PWM and EN pins are respective IN and INH on the module. But this data sheet has no documentation how you should drive the chip with PWM. There are some “hint” of this, when you read the chapter:
3.2 Pin Definitions and Functions:


2 IN I Input – Defines whether high- or lowside switch is activated
3 INH I Inhibit – When set to low device goes in sleep mode

So, my conclusion is that the INH is truly the PWM input and the IN should be used for enable the respective low/high side (to control the rotation.), exactly like the Art of circuits states.
Please let me know if you have any more info about this. Thank you!

One thought on “Let’s start!”

  1. Finally found another comfirmation about the BTN7960 pins and connecting the PWM and rotation signals!


    “Option 2 – 2 digital outputs, one PWM output:
    Connect R_EN and L_EN to the PWM output. Use analogwrite to set the desired speed.
    Connect RPWM and LPWM to the digital outputs. Set the desired direction to high and the undesired direction to 0.”

Leave a Reply

Your email address will not be published. Required fields are marked *

fourteen − nine =