2017-05-11 5 views
0

Je fais un quadcoptère en utilisant une découverte STM32F407. J'étais enfin capable de le stabiliser. Maintenant, j'essaie d'utiliser le récepteur RC afin que je puisse contrôler mes mouvements de quadcopter. Y at-il un moyen de lire le signal de PWM de mes canaux récepteurs RC? Aussi mon récepteur RC prend en charge PPM et selon ce que je comprends, il reçoit un paquet de cycles de service texte fort mais ne sais toujours pas comment le recevoir.Lecture des signaux PWM dans STM32F407

Répondre

0

Vous pouvez utiliser l'interface SPI pour coder le signal PPM (ou PWM) de votre récepteur RC.

approche générale:

  • connecter le signal PPM à la broche MISO et un deuxième contrôleur (simultanément). Les broches MOSI, CLK et CS ne sont pas nécessaires.
  • Initialiser l'interface SPI avec une horloge appropriée. Avec cette fréquence, le signal sera décalé dans le contrôleur. Essayez d'utiliser 4kHz.
  • En fonction de l'état de repos du signal, activer ou non le déclenchement d'interruption de front montant ou descendant sur la deuxième broche. Ceci sera utilisé pour déclencher les trames entrantes.
  • Si l'interruption se produit, désactivez le déclencheur temporaire et lancez la transmission spi pour obtenir plusieurs octets (sortants ingérés et non connectés). Selon la longueur de trame 8 ou 10 octets devraient le faire. Cela permettra d'attraper des images jusqu'à 20ms.
  • Une fois tous les octets activés, réactivez le déclencheur et répétez l'opération pour l'image suivante.

Les données reçues doivent contenir le motif du signal pwm/ppm. Vous devez également faire correspondre la fréquence d'échantillonnage et la quantité d'octets à recevoir avec votre récepteur RC.

+0

Merci, je vais essayer ça demain –