Thank you thank you thank You!
You are right. There are 8 ground terminals on the GPIO - they seem to be 
there for a reason - when I plug the xbee GND directly into one of those 
(make the path to the BBB short) I get ~zero errors in communication.
When I create a secondary Ground reference plane from one of the BBB GND 
pins, things go bad and I get a high error rate.
All is good again.

One interesting point to note - if only the xbee is connected to the BBB 
(no wire connection to the PWM pin) there are similar errors. As soon as 
the servo is plugged into the PWM pin / GND the error rate goes to ~nil 
again.

Thanks

On Wednesday, September 6, 2017 at 2:18:18 AM UTC+12, john3909 wrote:
>
> Shorten the GND wire between the BBB and the GND common point. The BBB GND 
> plane must be the reference point and in your picture, you now have a 
> second GND reference point with a long wire connecting the two. This 
> creates a GND bounce on your second GND reference point and is probably 
> responsible the the noise you are seeing. 
>
> Regards,
> John
>
>
>
>
> On Sep 4, 2017, at 4:30 AM, [email protected] <javascript:> wrote:
>
> See the two pictures below - I have tried to simplify things a few times - 
> but nothing seems to change the high error rate, although it might have 
> decreased a bit - a few times it has been ~50% (That was when I was trying 
> to run my Power HD MG1235 servo on a 7.2V UBEC)
>
>
> The Xbee and PWM are on different sides of the BBB the only thing in 
> common as per the picture below is the GND.
>
>
> The code below shows the computer side of things to get you an idea of 
> what is going on there - I've posted the contents of xbee_tools.py below - 
> not that I think there's an issue there - just as FYI.
>
>
>
> <https://lh3.googleusercontent.com/-jrLyGwbO61A/Wa02YumrDFI/AAAAAAAARP4/lRP-ha8iGNMwSRvxfcq8rOPcrh9XNaezQCLcBGAs/s1600/helloworlderrors.PNG>
>
>
> <https://lh3.googleusercontent.com/-FW_lZ-5K6ZM/Wa03WBMdadI/AAAAAAAARQU/dCchFdbxiasnOXfEI9w9QgdNfrmCG-2MQCLcBGAs/s1600/BBB_Xbee_Servo.jpg>
>
> from xbee import XBee
> import serial
> import cPickle
>
> class xbee_connection:
>     def __init__(self, port, baudrate):
>         # Start the serial connection
>         try:
>             self.ser = serial.Serial(port, baudrate)
>         except serial.serialutil.SerialException:
>             self.ser.close()
>             print("Could not start serial connection, ensure that Xbee is 
> connected to COM4 port")
>
>         self.xbee = XBee(self.ser)  # Starting XBee connection
>         self.msg = ""               # Initializing message as blank
>         self.encoded_msg = ""
>
>
>     def poll_data(self):
>
>         try:
>             raw_data = self.xbee.wait_read_frame()
>             #print raw_data['rf_data']
>             #self.msg = cPickle.loads(raw_data['rf_data'])
>             self.msg = raw_data['rf_data']
>             #print(self.msg)
>             # Ensuring that these values can be converted into floats
>         except KeyboardInterrupt:
>             self.ser.close()
>         except Exception as e: print(e)
>
>         except:
>             pass
>
>         return self.msg
>
>     def disconnect(self):
>         self.ser.close()
>
>
>
>
> On Monday, September 4, 2017 at 12:35:25 AM UTC+12, Przemek Klosowski 
> wrote:
>>
>> Could you post a picture or drawing of your physical layout? I think the 
>> evidence points to interference from the PWM circuit into the XBee. HOw 
>> close physically are they?
>>
>> On Fri, Sep 1, 2017 at 9:18 PM, <[email protected]> wrote:
>>
>>> Just tried adding the 1uF decoupling capacitor in parallel with the 
>>> existing 0.1uF capacitor - it didn't decrease the high error rate.
>>>
>>> On Saturday, September 2, 2017 at 12:08:00 PM UTC+12, [email protected] 
>>> wrote:
>>>>
>>>> So tested all of that - see table below
>>>> The servo power supply is a QM12V5A 
>>>> <https://hobbyking.com/en_us/quanum-12v-5a-7-2-25-2v-dual-output-ubec.html?___store=en_us>
>>>>  but 
>>>> as seen below - even when this is not active, there is still a high error 
>>>> rate.
>>>> Also, I am not opening and closing the serial port now - it stays open 
>>>> throughout each test. I sent 100 messages for each test. Error rates are 
>>>> an 
>>>> approximate guess.
>>>>
>>>> PWM running      Servo & Servo Power Supply Active     Message Mode     
>>>>          Error Rate
>>>> Yes                      Yes                                           
>>>>              RX-TX on loopback       0% - all good
>>>> Yes                      No                                             
>>>>             RX-TX on loopback       0% - all good
>>>> No                       No                                             
>>>>             RX-TX on loopback       0% - all good
>>>> Yes                      Yes                                           
>>>>              BBB to PC via xbee      10 - 50% - no good
>>>> Yes                      No                                             
>>>>             BBB to PC via xbee      10 - 50% - no good
>>>> No                       No                                             
>>>>             BBB to PC via xbee       0% - all good
>>>>
>>>> I don't really know what to make of it except that the problem seems to 
>>>> be somewhere either in the xbee?
>>>> The xbee is connected with a 0.1uF decoupling capacitor between +3.3V 
>>>> and GND close to the xbee (~25mm length from xbee GND pin thru 0.1uF Cap 
>>>> to 
>>>> xbee +3.3V pin)
>>>>
>>>> I see some people recommend a 1uF decoupling capacitor on the xbee - 
>>>> maybe I'll try adding one of those in parallel with the 0.1uF cap.
>>>>
>>>>
>>>> On Friday, September 1, 2017 at 9:22:31 AM UTC+12, Przemek Klosowski 
>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Aug 31, 2017 at 3:13 PM, <[email protected]> wrote:
>>>>>
>>>>>> Errors : yes garbage characters on the receiver side
>>>>>>
>>>>>> Cross-talk : so I have had a servo motor (powered from it's own ubec) 
>>>>>> plugged in, however I thought that the ubec noise might be interfering, 
>>>>>> so 
>>>>>> I tried running the PWM signal without any device attached (no servo 
>>>>>> ubec 
>>>>>> running) and no pwm wire plugged into the beaglebone. But still had the 
>>>>>> same issue.
>>>>>>
>>>>> OK--so now can you test by losing the open/close ,disconnecting the 
>>>>> XBee and jumpering TX and RX and writing some simple text out and 
>>>>> checking 
>>>>> that you receive it back correctly, while running PWM. If you see errors, 
>>>>> then maybe beaglebone is sensitive to crosstalk; if you don't then the 
>>>>> crosstalk must be in the XBee. BTW, suppying the  servo from a separate 
>>>>> power supply might not fully prevent interference--it could be kickback 
>>>>> from driving the servo.
>>>>>
>>>>>>
>>>>>> --
>>>>>> For more options, visit http://beagleboard.org/discuss
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "BeagleBoard" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to [email protected].
>>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/beagleboard/eabc977d-e1ea-4c07-abf3-6193fe8c2518%40googlegroups.com
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>> -- 
>>> For more options, visit http://beagleboard.org/discuss
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "BeagleBoard" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/beagleboard/a13bf443-af43-4b66-9e7f-6610cb12d95a%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/beagleboard/a13bf443-af43-4b66-9e7f-6610cb12d95a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
> -- 
> For more options, visit http://beagleboard.org/discuss
> --- 
> You received this message because you are subscribed to the Google Groups 
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beagleboard/0991da40-d839-41e0-891e-cc192b270d61%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/beagleboard/0991da40-d839-41e0-891e-cc192b270d61%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/cc7863ee-ab1c-436f-95f5-4c0a94c78450%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to