0

I am doing a quadcopter using a STM32F407 discovery. I was finally able to stabilize it. Now i am trying to use the RC receiver so i can control my quadcopter movements. Is there a way to read the signal of PWM of my RC receiver channels ?? Also my RC receiver supports PPM and according to what i understand it receives a packet of duty cycles strong textbut still don't know how to receive this.

1 Answers1

0

You can use the SPI interface to encode the PPM (or the PWM) signal of your RC receiver.

General approach:

  • Connect the PPM signal to the MISO pin and a second one of the controller (simultaneously). MOSI, CLK, and CS pins are not needed.
  • Initialize the SPI interface with a appropriate clock. With this frequency the signal will be shifted in the controller. Try to use 4kHz.
  • Depending on the idle state of the signal enable either rising or falling edge interrupt trigger on the second pin. This will used to trigger incoming frames.
  • If the interrupt occurs disable the trigger temporary and start spi transmission to get several bytes (outgoing ingored and not connected). Depending on the Frame length 8 or 10 Bytes should do it. This will catch frames up to 20ms.
  • After you get the all bytes enable the trigger again and repeat for the next frame.

The received data should contain the pattern of the pwm/ppm signal. You should also match the sampling rate and the amount of bytes to receive with your RC receiver.

veeman
  • 780
  • 1
  • 8
  • 17