Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Transmission of PWM signal not working.

  1. Sep 24, 2013 #1
    Hey guys,
    So I'm working on a project currently being built off of a cheap commercial Quad-copter (Syma X1) as it's base platform. Just as a little background I am trying to make it so that it is not controlled by a remote (that is pushing knobs and levers up and down to control it) but by EMG. I have the EMG stuff all setup and working nicely with an Arduino, but I am having issues sending the data to the quadcopter.

    Before I tore the remote apart it used simple potentiometers to alter a voltage (0-3v) which was then sent to a transmitter and sent off to the quadcopter where it was received and you were able to fly the thing. What I've done is removed the potentiometers and replaced them with some wiring that goes to Arduino PWM Out Pins. I then have my input coming in to the Arduino via analog in pins, it goes through a mapping filter i wrote to get it to the correct voltage values and then they are sent to the PWM out pins. When I start activating the controller (flexing, causing it to change the voltage) the board sort of freaks out and resets.

    I have no idea why this is and need your help! I have a few ideas.... The transmitter is unable to send PWM signals? and it simply sees a huge voltage spike from 0 to 5v when i do anything as opposed to averaging based on whatever the duty cycle is OR there is some issue between the Arduino which has its own power supply and the controller which also has a power supply (when i try and ground them together the controller freaks out and tries to reset). Any help would be hugely appreciated!

  2. jcsd
  3. Sep 24, 2013 #2


    User Avatar
    Gold Member

    I bet the Pwm needs to be converted to 0-3V analog.

    It sounds like the controller sends analog signals somehow (I don't know your controller/receiver/servo method) not data.

    Conversion can be as simple as a single pole rc filter.
  4. Sep 28, 2013 #3
    It seems like you have 4 of the PWM outputs from the Arduino connected to the remote board but no common. You will need to have a return path for current from the remote board to the Arduino. There should be no problem connecting the grounds of these two systems. Scaling could definitely cause problems with the 3V system receiving 5V signals. Also, since you don't know the frequency response of the remote voltage inputs, you should put a filter on the PWM to "convert" it to an analog voltage. A simple RC network on each PWM output should make some improvements. I would suggest a voltage divider that will limit the output voltage to 3V with a capacitor across the 3V output. Size the capacitor by calculating the time constant that will give you reasonable response of the remote (50ms should be decent).
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook