Projet KAPduino : La radiocommande

Les radios commandes, déclencheurs divers et variés. Les circuits électroniques et autres bidouillages.

Projet KAPduino : La radiocommande

Messagede Deltakap le Lun 22 Février 2010, 19:00

Même si ce n'est pas ce que je veux faire à terme pour télécommander la nacelle, l'utilisation de la radiocommande classique est évidemment la solution la plus évidente pour commander à distance la nacelle autokap arduino!

J'ai essayé de mettre ça en place pendant une bonne partie de la nuit de samedi pour la balade d'hier... évidemment, le débogage a été un peu court (raté donc, mais comme je n'ai pas été foutu de faire voler un cv, ça n'a pas été trop grave :))

Il y a plusieurs solutions pour y arriver:
- récupération de chaque canal, là où on branche habituellement les servos (vers 4 entrées de l'arduino)
- mise en place d'un switch rc/autokap (solution intéressante évoquée par J-C sur un autre fil)
- utilisation de la trame complète puis décodage du signal...

C'est cette dernière solution que j'ai adopté samedi.
Première surprise, la recomposition de la trame avec 4 diodes sur les 4 sorties servo ne marche pas sur mon récepteur ! (les 4 canaux se suivent sans intervalle de temps entre chaque... c'est foutu).
La seule solution pour moi, c'est de récupérer la trame à l'intérieur du récepteur :wink:
Après un peu de recherche avec le scope, j'ai trouvé un signal ressemblant à une trame... mais pas tout à fait ce à quoi je m'attendais. La trame ressemble à ça:

Image

les signaux 1,2,3,4 varient avec les manettes de la télécommande, les intervalles et le signal de synchro S ne bougent pas.

Une petite routine simple avec l'instruction "PulseIn" pour constater que la stabilité de l'info récupérée est loin d'être stable, mais suffisante pour ce que je voulais en faire :?

Il va donc falloir trouver ou inventer un algo capable de vérifier la validité de la trame avant de l'utiliser... et qui soit capable aussi de s'apercevoir à coup sûr que l'émetteur est éteint !

Bon, là, ce soir, j'ai un peu la tête creuse pour régler ça :mrgreen:
Mais si quelqu'un trouve des liens et/ou des idées, j'achète !
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Projet KAPduino : La radiocommande

Messagede Deltakap le Mar 23 Février 2010, 12:43

En fait, cette image représente beaucoup mieux la trame:

Image

On a donc un signal start suivi de chaque canal !

Il faut détecter le start (l'impulsion la plus longue), puis mesurer la durée des autres impulsions (canaux) en incrémentant un compteur.
Pour mesurer la durée des impulsions, il existe PulseIn, une fonction arduino toute prête: http://www.arduino.cc/en/Reference/PulseIn

une ébauche de sketch pourrait être ça:

Code: Tout sélectionner
#define CHANNELNUMBER 4 //nb de voies de la radio
int channel[CHANNELNUMBER]; //Valeurs lues pour chaque voie
int ppm_in = 4;// le signal trame du récepteur est relié à cette broche de l'arduino

void setup()
{
    pinMode(ppm_in, INPUT);
}

void loop()
{
   if(pulseIn(ppm_in, LOW) > 4000) // détection du start si signal > 4ms
   {
      for(int i = 1; i <= CHANNELNUMBER; i++)
      {
          channel[i-1]=pulseIn(ppm_in, LOW);
      }
   }
}


Innintéressant tel quel, l'ajout de print vers le port série va permettre de lire les valeurs mesurées... à suivre ;)

Edit: Ce code est très largement inspiré de celui-ci: http://www.arduino.cc/cgi-bin/yabb2/YaB ... 1199165055 ou de celui-là: http://diydrones.com/profiles/blogs/705 ... Post:38393 (où on retrouve cette vidéo http://www.youtube.com/watch?v=o6c6JGB_ ... r_embedded qui explique les grandes lignes de la manip)
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Projet KAPduino : La radiocommande

Messagede J-C le Jeu 25 Février 2010, 10:05

Pour décoder la trame ppm, c'est expliqué dans ce sujet sur le forum arduino :
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1228137503/0

Il y a des infos là : http://diydrones.com/profiles/blogs/705844:BlogPost:38393

Il y a même une librairie qui a été codée et dédiée à cette tâche. Je ne l'ai pas encore essayé... mais ça viendra.
En scrutant le code de la librairie, tu devrais trouver la solution pour utiliser le signal ppm brut.

Perso, compte tenu du fait que je cherche à utiliser un récepteur 2,4 GHz, et qu'il m'est quasi impossible de trouver où je peux récupérer ce signal ppm brut, je vais plutôt me tourner vers l'utilisation des canaux séparés... mais ce n'est pas gagné.

A+
JC
Avatar de l’utilisateur
J-C
Plus de 1000 messages
 
Messages: 1770
Inscription: Jeu 15 Mai 2008, 9:14
Localisation: Sud des Landes


Retourner vers L'électronique embarquée et au sol

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités