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, ojc...@gmail.com 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, <ojc...@gmail.com <javascript:>> 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, ojc...@gmail.com <> > 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, <ojc...@gmail.com <>> 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 > <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 beagleboard...@googlegroups.com <>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beagleboard/eabc977d-e1ea-4c07-abf3-6193fe8c2518%40googlegroups.com > > <https://groups.google.com/d/msgid/beagleboard/eabc977d-e1ea-4c07-abf3-6193fe8c2518%40googlegroups.com>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. > > > -- > For more options, visit http://beagleboard.org/discuss > <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 beagleboard...@googlegroups.com <javascript:>. > 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 > <https://groups.google.com/d/optout>. > > > -- > For more options, visit http://beagleboard.org/discuss > <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 beagleboard+unsubscr...@googlegroups.com > <mailto:beagleboard+unsubscr...@googlegroups.com>. > 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 > <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 beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/8B52E3A7-8AD2-47E0-8649-DF9F844B748B%40gmail.com. For more options, visit https://groups.google.com/d/optout.