PicoBorgRev: wrong motor behavior on one side
Forums:
Hi everybody,
I am having a problem with the PicoBorgRev (as used in the DiddyBorg).
The motors on one side work perfectly: I can go forward or backwards, at any power between 0 and 1.
On the other side, going forward goes fine, but going backwords doesn't. If I send the command to go backwords slowly (e.g. with pbr.SetMotors1(-0.2)), it goes very fast _forward_. If I send the command to go backwards quickly (e.g. with pbr.SetMotors1(-1)), it goes slowly _foward_.
So basically, it's going forward instead of backwards, and the power level seems upside down.
Any idea what could go wrong?
Thanks, Simon
simark
Wed, 11/02/2016 - 21:49
Permalink
I forgot to mention, I traced
I forgot to mention, I traced the I2C communication at the Linux kernel level (I could also check on the wire to make sure the actual data sent is right), and this is what I get:
p.SetMotor1(-1) # buf = [ [0] = 0x7, [1] = 0xFF ] }
p.SetMotor1(-0.9) # buf = [ [0] = 0x7, [1] = 0xE5 ] }
p.SetMotor1(-0.2) # buf = [ [0] = 0x7, [1] = 0x33 ] }
p.SetMotor1(0.2) # buf = [ [0] = 0x6, [1] = 0x33 ] }
p.SetMotor1(0) # buf = [ [0] = 0x6, [1] = 0x0 ] }
This all looks like good values. The result I get is:
p.SetMotor1(-1) # motors stopped (wrong)
p.SetMotor1(-0.9) # motors going forward very slowly (wrong)
p.SetMotor1(-0.2) # motors going forward very fast (wrong)
p.SetMotor1(0.2) # motors going forward slowly (right)
p.SetMotor1(0) # motors stopped (right)
piborg
Thu, 11/03/2016 - 11:46
Permalink
Faulty board
That sounds like one of the driver chips on the PicoBorg Reverse is faulty.
The best thing to do would be to return the board to us for repair or replacement.
The address to return the board to is:
If you could include a note with:
simark
Sun, 11/06/2016 - 21:56
Permalink
Thanks for the reply.
Thanks for the reply. Actually, I did some more investigation. I'd like to try to repair it myself if possible (obviously taking responsibility if I make it worse :)). If I screw up I'll buy a new board.
It seems like the direction/reverse pin on the Microchip microcontroller is fried, it always output 0. That explains the behavior I described. It probably fried when I accidentally shorted it with the 12V pin that is right next to it no the H-bridge chip (pins 5 and 6), when trying to check something with my multimeter (oops).
I have ordered a replacement chip on Digi-key, and will get some help from the tech at my university to replace it (apparently they do that often). I have access to a Pickit 3 to reprogram it. I suppose just need to download the source from [1], build it with MPLAB X and flash it on the chip?
Thanks for your help!
[1] https://www.piborg.org/downloads/picoborgrev/PicoBorgRev.X.zip
piborg
Mon, 11/07/2016 - 10:15
Permalink
Programming the PIC
Yes, that is the code you will need to program the PIC with.
The pre-built code is also in the zip:
dist\XC8_PIC16F1824\production\PicoBorgRev.X.production.hex
This should work with the standalone PICkit 3 programming software if you have it installed.
To build the software you will need MPLAB X and the XC8 compiler.
We used the v1.30 version of the compiler
nikolai.schlege...
Tue, 12/27/2016 - 05:16
Permalink
Same Problem on my PicoBorg Reverse / DiddyBorg
Hi,
I am experiencing the exact same problem as described by Simon above (one motor works as expected, the other behaves like direction and power level are flipped). The only difference is that Motor2 is the one that behaves erratically in my case.
Should I send my PicoBorg Reverse to the address above as in the reply to Simon's original query (I don't have the equipment to do any hardware level fixes myself).
Thanks,
Nikolai
piborg
Tue, 12/27/2016 - 11:28
Permalink
Faulty board
It is probably the same problem, that the PIC has a faulty / dmaaged pin for setting the direction for the motor 2 drive chip.
The best thing would be to send the board back to us so we can try and repair the board.
If you could include a note with:
nikolai.schlege...
Wed, 12/28/2016 - 04:53
Permalink
Thanks, sent the board on it
Thanks, sent the board on it's way, let me know what you find.
Nikolai
nikolai.schlege...
Thu, 01/05/2017 - 05:48
Permalink
Did you receive the board?
Hi,
Just checking, did you receive the board I sent in and where you able to diagnose the problem?
piborg
Thu, 01/05/2017 - 11:00
Permalink
Returned board
Hi Nikolai,
We have received the board back, but we have not had a chance to test it yet.
We should have a diagnosis for you in the next few days.
piborg
Mon, 01/09/2017 - 11:48
Permalink
Faulty board
I have done some testing, the board is faulty as described.
The problem appears to be a faulty pin on the PIC, preventing one of the control signals working correctly.
We have decided the best thing to do is replace the board for you.
I have tested the replacement, it is all working correctly.
I will get it sent back to you later today.
nikolai.schlege...
Mon, 01/09/2017 - 17:32
Permalink
Thanks, looking forward to
Thanks, looking forward to receiving it.
Nikolai