View: 476|Reply: 6

Mars Rover Pi Kit B - Motor Comm. Issue

[Copy link]

1

Threads

4

Posts

21

Credits

Newbie

Rank: 1

Credits
21
Post time 2019-6-3 04:45:20 | Show all posts |Read mode
Edited by 1559507739 at 2019-6-3 10:07 AM

Good Afternoon,

I have assembled, reassembled, programmed, and reprogrammed this car but for some reason, the motor does not drive
when you issue the forward (w) or backward (s) commands from client.py. The car is recognizing the commands, as the
RGB LEDs fire up with each forward and backward command I send. However, the motor guns the rear wheels when you
flip the switch up on the motor hat so the motor definitely works; side question, what is that switch for? I am assuming
that needs to be turned on to get the car rolling, but it should not gun it like that; please correct me if I am wrong.

Any help with the motor functionality inside of client.py would be AMAZING! =)

Thank You!

EDIT:

Okay, after simply reading the text situated to the side of the 'switch' it is apparent that this is the 'on/off' switch for the Motor Hat.
I am assuming that turning the Motor Hat board on will activate the motor, that much is obvious; however, how does one go about
turning said Motor Hat board on without simultaneously instructing the motor to turn on @ 100% power..? I have checked the code
and am at a loss here, any help would be AMAZING!

Thank You!
Reply

Use magic Report

0

Threads

69

Posts

412

Credits

Website Editor

Rank: 8Rank: 8

Credits
412
Post time 2019-6-4 10:49:06 | Show all posts
If you're doubting that the motor doesn't work, you can power the motor with 5V independently. There's not any code of motor in client.py, all the car related code is in the folder server of Raspberry Pi.
Reply

Use magic Report

1

Threads

4

Posts

21

Credits

Newbie

Rank: 1

Credits
21
 Author| Post time 2019-6-4 20:00:24 | Show all posts
1557111628 replied at 2019-6-4 10:49 AM
If you're doubting that the motor doesn't work, you can power the motor with 5V independently. There ...

Hello there,
Perhaps I gave you too much information to begin a troubleshooting session. Here is what is happening,
as I have already made note that I am sure the motor is working.

- Mars Rover Pi is built and set up according to the instructions, which could use some revamping.
- Everything works minus the servo with the broken limiter included in the box and speech recognition (for another topic.)
- If you plug in or otherwise insert two 18650s into this Mars Rover everything boots up fine and the client connects without issue.

- IMPORTANT: If you issue forward (w) or backward (s) commands from the client.py interface the RGB LEDs fire up indicating command received, but the motor does not move.
- IMPORTANT: If you flip the Motor Hat switch to the on position the motor fires up @ 100% and the rear wheels spin and spin.
- IMPORTANT: When the Motor Hat board is "switched on," and the wheels are spinning like their life depends on it I CANNOT control it (Forward, Backward, Automatic Mode, etc.)
- IMPORTANT: I have reformatted the SD card multiple times and started from scratch over and over again while meticulously verifying every library and dependency is met.

Now that we know the client.py is sending the commands, the Raspberry Pi 3B+ is receiving them, and the motor definitely works... How does one go about turning the Motor Hat
on without the motor "gunning it" flat out?

Thank You
Reply

Use magic Report

1

Threads

4

Posts

21

Credits

Newbie

Rank: 1

Credits
21
 Author| Post time 2019-6-5 07:46:33 | Show all posts
Thank you for your help, all this talking to myself assisted me with finding the problem.
Reply

Use magic Report

1

Threads

4

Posts

21

Credits

Newbie

Rank: 1

Credits
21
 Author| Post time 2019-6-5 09:46:33 | Show all posts
Edited by 1559507739 at 2019-6-5 09:47 AM

Oh, and if anyone runs into the same issue which I outlined above; congratulations, you are as stupid as me! Haha. My power and motor cables were swapped, meaning I plugged them into the others slot on the Motor Hat. Also, after I fixed that I noticed the controls were all backward. I remembered seeing a reversed build somewhere, but couldn't find it.

So here's how to fix that, ssh into your Pi and navigate to the adeept directory created during initial setup. Navigate to the server directory and open the turn.py file with nano, vi, or whatever you would like. Find the following lines: def right and def left, then swap their values as shown here turn_right_max > turn_left_max, then do the same for the other, so both right and left are reversed then make sure to save the file. Next, open motor.py and find def motor_right and def motor_left, now look for "GPIO.output," then reverse the following below for both Dir_forward and Dir_backward on both motor_right and left!

GPIO.output(Motor_B_Pin1, GPIO.HIGH) >> GPIO.output(Motor_B_Pin1, GPIO.LOW)
GPIO.output(Motor_B_Pin2, GPIO.LOW) >> GPIO.output(Motor_B_Pin2, GPIO.HIGH)

Then reverse the following (e.g., if forward says 0, make it 1, etc.):

Dir_forward   =
Dir_backward =

Save the file and reboot or reload the server!

Now I just need to work on strengthing the front steering column for the servo, so it does not veer to the right every time I move forward...
Reply

Use magic Report

0

Threads

69

Posts

412

Credits

Website Editor

Rank: 8Rank: 8

Credits
412
Post time 2019-6-5 10:02:36 | Show all posts
1559507739 replied at 2019-6-4 08:00 PM
Hello there,
Perhaps I gave you too much information to begin a troubleshooting session. Here is w ...

1. check whether the servo interface is connected correctly.
2. Run motorTest.py anywhere of the raspberry pi.
3. Remember to use ‘sudo killall python3’ to shut down all the autostart car programs in the background before running motorTest.py.
4. Connect the motor to the driver board when start running motorTest.py. Can try to connect different motor interfaces (motor-A, motor-B).
5. After the program runs, the motor will rotate forward for 2 seconds, reverse for 2 seconds, and stop for 1 second, and then repeat the cycle.
Reply

Use magic Report

1

Threads

5

Posts

53

Credits

Registered member

Rank: 2

Credits
53
Post time 2019-6-10 10:17:14 | Show all posts
Hi 7739. I had the same problem about reversed command. This is a true  defect of the product and we all go  through the process of debugging the code. That's a pity. One day I will share my corrected version.
Sharing another experience: My robot fell off the table and broke. I glued the chassis, but the head motor broke. It is the servo motor that turns the head right and left and its gear supports completely the head. So I bought a Longrunner servo motor with metal gears and it's an improvement the head is more stable.
Reply

Use magic Report

You have to log in before you can reply Login | Sign Up

Points Rules