Faulty PicoBorg Reverse

I seem to have a faulty PBR. The Raspberry Pi isn't recognising the board. After running PBR.Init() I get the error:

Loading PicoBorg Reverse on bus 1, address 44
Missing PicoBorg Reverse at 44
PicoBorg Reverse was not found
Trying bus 0 instead
Loading PicoBorg Reverse on bus 0, address 44
Traceback (most recent call last):
  File "test.py", line 3, in
    PBR.Init()
  File "/home/pi/picoborgrev/PicoBorgRev.py", line 264, in Init
    self.Init(False)
  File "/home/pi/picoborgrev/PicoBorgRev.py", line 234, in Init
    self.bus = smbus.SMBus(self.busNumber)
IOError: [Errno 2] No such file or directory

I had the same problem with this controller a few months ago, and I sent the board to be repaired. After the repair it functioned properly, but now it has stopped working again.

Would you please send me a replacement board?

(I need to finish the project by the end of the week, ideally, because it's a college project that will be assessed on the first week of September.)

piborg's picture

It seems very strange that the problem you were having before has resurfaced.
From memory it seemed to be a fault with the on-board logic that we have not seen from any other board to date.

Can you answer the following questions for us:

  1. Have you changed any of the cabling to the board around the time the problem started?
  2. What is the result from running sudo i2cdetect -y 1
  3. Can you take some photos of the cabling between the Raspberry Pi and the PicoBorg Reverse?
  4. Is anything else connected to the GPIO on the Raspberry Pi?
  5. Does the LED on the PicoBorg Reverse briefly flash when you connect the power to the Raspberry Pi?
  6. Did the board stop working while you were trying to use it?
  7. Can you tell us what motors you are trying to drive?

  1. When I plugged the board in I had three motors connected to each motor output - the difference this time is the motors are connected together before reaching the board, whereas before I had the wires from each motor plugged into the board.
  2. The result of sudo i2cdetect -y 1 is:
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- 0a -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- -- 
    
  3. [see attached photo]
  4. There is nothing else connected to the GPIO - only the PicoBorg Reverse is connected.
  5. Yes, when connecting to power, the LED on the PicoBorg Reverse briefly flashes red.
  6. After connecting the motors and battery, the board didn't work - there wasn't a time that the board worked (other than just after the previous repair a few months ago)
  7. I am driving the same 12 V 100 RPM 230 mA motors used for DiddyBorg.
Images: 
piborg's picture

It is fairly likely that the 0a response is from the board.
It may simply have had an address change programmed.

What result do you get from opening python:

cd ~/picoborgrev
python

Then running these commands:

import PicoBorgRev
print PicoBorgRev.ScanForPicoBorgReverse()

The result is:

Scanning I?C bus #1
Found PicoBorg Reverse at 0A
1 PicoBorg Reverse board found
[10]
piborg's picture

That means the PicoBorg Reverse is still functioning, it just has a different address from normal :)

You can reset the address to the default using these Python commands:

import PicoBorgRev
PBR = PicoBorgRev.PicoBorgRev()
PicoBorgRev.SetNewAddress(PBR.i2cAddress)

After doing that your scripts should start working again.

The PicoBorg Reverse now works! Thank you for your help.

Subscribe to Comments for "Faulty PicoBorg Reverse"