Timer !!!!!X6S

Répondre
olivier65
Chevalier Jedi
Messages : 1140
Enregistré le : 25 août 2010, 08:19

Timer !!!!!X6S

Message par olivier65 » 15 nov. 2018, 16:10

Chronomètre timer pour Radio XK X6S

Bonjour,
Comme vous je déplorais l’absence de timer dans la radio fournie avec le K110
J’ai regardé ici et là et trouvé quelqu’un qui avait incorporé un timer dans la radio mais le fonctionnement était un peu trop simple et je l’ai incrémenté de nouvelles fonctions.

j’en ai réalisé un, avec mon cahier des charges.

1 ) Pas de modifications extérieures de la radio hormis une petite fenêtre optionnelle sous les pieds pour donner accès à la prise USB du programmateur. On se sert des deux inters idlup et coupure moteur TC.
2) Déclenchement automatique du timer dès qu’on est en idleup.
3) Remise à zéro du timer (TC+ flight mode normal)
4) Mémorisation automatique du temps en cours : exemple je vole en idleup je me crashe, j’ actionne la coupure moteur toujours en idleup, je remets la couronne et je repars en libérant la coupure moteur -> le chrono continue où il s’est arrêté.
5 ) Pas besoin de rebooter la radio entre chaque accu.
6 )Temps de fin paramétrable dans le logiciel de la carte à exprimer en millisecondes (pour ma part j’ai mis 3’40 ‘’ soit 220000 millisecondes).
8) des tonalités durée de bip différentes : départ chrono, reset du temps, mise en standby, 1 bip= 1minute, 2 bip=2minutes, 3 bip=3minutes….
7) comme sur ma DX6, 15 secondes avant la fin la radio bippe toutes les secondes avant un bip de fin plus long.
8) Apres le bip de fin le temps continue à être comptabilisé et le module bippe aux minutes suivantes (vous avez le droit de tuer votre accu ;-).
9) faible cout de réalisation (sinon il valait mieux acheter une futaba) 7 euros

Liste des courses :
une carte nano Arduino avec usb exemple :
https://www.banggood.com/ATmega328P-Nan ... rehouse=UK

un buzzer : https://www.banggood.com/Eachine-Aurora ... rehouse=CN

De plus il faut : fer à souder, soudure, fil de câblage, 2 résistances environ 10k (a récupérer), ordinateur, cable usb…
Le module est câblé sur les broches libres des interrupteurs Idlup et coupure moteur, ainsi que sur le + de l’alimentation de la radio après inter marche/arrêt et sur le - .
Le programme est dispo par mp.

Quelques photos ....

Image

Image

Image

Image
Trex500
Oxy3 / Oxy2
M1 / XK K110 / Blade Msr


Vortex 150/Falcon cp90 / mobula 7

Avatar du membre
Yoy24
Armageddon
Messages : 23299
Enregistré le : 29 juin 2010, 15:33

Re: Timer !!!!!X6S

Message par Yoy24 » 15 nov. 2018, 16:34

Yop)

C'génial ça olivier65...! :) :) :) :) :)
¨¨¨¨¨¨ Image - Vaucluse - Image - Compy300 - Image - Atom 500 - ¨¨¨¨¨¨
----------------- Image Hitec Aurora 9X Mode2- Image -Héli-X 6.1-
----------------------------The Meeting Heli4 2013/14/15..., j'y étais!!! ------------------------------

Avatar du membre
ludaero
Armageddon
Messages : 23846
Enregistré le : 19 juin 2012, 15:59

Re: Timer !!!!!X6S

Message par ludaero » 15 nov. 2018, 16:48

Enorme!! bravo!

tu aurais une vidéo du fonctionnement?

olivier65
Chevalier Jedi
Messages : 1140
Enregistré le : 25 août 2010, 08:19

Re: Timer !!!!!X6S

Message par olivier65 » 15 nov. 2018, 16:59

Non désolé j'ai pas de video , j'ai pas de compte youtube et je sais pas mettre en ligne et dans le mail ca passera pas.
Et puis ca va être long d'attendre minute par minute ;-) ou alors il faut faire un montage ....
Sinon je veux bien faire un facetime video avec toi ;-)
Trex500
Oxy3 / Oxy2
M1 / XK K110 / Blade Msr


Vortex 150/Falcon cp90 / mobula 7

olivier65
Chevalier Jedi
Messages : 1140
Enregistré le : 25 août 2010, 08:19

Re: Timer !!!!!X6S

Message par olivier65 » 15 nov. 2018, 22:59

Bon, j'ai fait une vidéo et ouvert un compte YouTube je mets demain la vidéo si j'y arrive.
Passe partout je te mail le fichier demain matin
Trex500
Oxy3 / Oxy2
M1 / XK K110 / Blade Msr


Vortex 150/Falcon cp90 / mobula 7

Avatar du membre
steph66
Armageddon
Messages : 15124
Enregistré le : 29 janv. 2010, 08:43

Re: Timer !!!!!X6S

Message par steph66 » 15 nov. 2018, 23:39

Félicitation, joli montage :)

Tu nous mettras le schéma électrique et ton programme aussi hein ? ;)
Image
page FB steph66 - #KeepRCHelisAlive
- Beam AvantGarde - Miniature Aircraft XCell Spectra-G, Fury, Fury 55 - Trex500 - miniProtos - Protos - BeastX Power - hitec aurora 9
Photos et vidéos sur ma page perso - Guide de l'autorotation pour les nuls - Mes fiches conseils : montage - réglage - pilotage

Avatar du membre
ludaero
Armageddon
Messages : 23846
Enregistré le : 19 juin 2012, 15:59

Re: Timer !!!!!X6S

Message par ludaero » 16 nov. 2018, 10:01

Super merci pour tout ca!!!!!!!!!

olivier65
Chevalier Jedi
Messages : 1140
Enregistré le : 25 août 2010, 08:19

Re: Timer !!!!!X6S

Message par olivier65 » 16 nov. 2018, 10:24

Bonjour,

Voici la vidéo :
https://youtu.be/5296IBMRVNc

Le cablage est sur la dernière photo.
Pour le fichier, j'ai pas de drive je peux l'envoyer à quelqu'un pour qu'il le mette en ligne?

olivier
Trex500
Oxy3 / Oxy2
M1 / XK K110 / Blade Msr


Vortex 150/Falcon cp90 / mobula 7

Avatar du membre
Sp@r0
Maître Jedi
Messages : 3529
Enregistré le : 09 sept. 2016, 20:27
Localisation : Eure et Loire

Re: Timer !!!!!X6S

Message par Sp@r0 » 16 nov. 2018, 21:27

Trop bien bravo !!!!! parcontre juste une question tu mets combien de 100% de gaz pour voler aussi longtemps ?

Pour le fichier si tu me l'envoi je mettrais un lien :) Tu peux aussi simplement publier le code dans un post ;)
Ma page perso : viewtopic.php?f=2&t=65202
Mes machines : xk k100 / Oxy2 Neuron Core / Goblin Fireball Standard Neuron puis Kbar et bientôt Brain2/ Devil 380 Neuron Core / Mingda 5 Neuron / Trex 700E V2 DFC Neuron

olivier65
Chevalier Jedi
Messages : 1140
Enregistré le : 25 août 2010, 08:19

Re: Timer !!!!!X6S

Message par olivier65 » 17 nov. 2018, 19:47

Je mets 100% avec lipohv mais je fais pas de la 3d hard
Trex500
Oxy3 / Oxy2
M1 / XK K110 / Blade Msr


Vortex 150/Falcon cp90 / mobula 7

olivier65
Chevalier Jedi
Messages : 1140
Enregistré le : 25 août 2010, 08:19

Re: Timer !!!!!X6S

Message par olivier65 » 19 nov. 2018, 14:49

voila le code (post suivant) -->copiez tout sauf ma signature ;-)

Le temps final à régler est la variable « temps_final » a exprimer en millisecondes.
Je voulais 3’40’’ donc j’ai mis ((3x60)+40)x1000 soit 220000

Au niveau matériel pour coller au programme .
Le fil venant de la broche libre de l’inter throotle cut est à câbler sur la broche 3 digitale du circuit (forcé par défaut au niveau logique haut 5v via une résistance de 10k environ)
Le fil venant de la broche libre de l’inter idleup est à câbler sur la broche 4 digitale du circuit (forcé par défaut au niveau logique haut 5v via une résistance de 10k environ)

Le buzzer+ est à câbler sur la broche 9 du circuit et le moins .

L’alimentation sur le circuit se fait sur le Vin et le - et se câble sur la batterie de la radio après inter et sur le – qu’on trouve un peu partout.
Pour l’implantation matérielle il y a dans la radio un plot percé non utilisé (quand on l’ouvre en bas à droite) sur lequel on peut visser une petite platine fine genre rhodoïd puis double face avec mousse et rislan sur le module.

Voilà, n’hésitez pas pour d’autres questions

Olivier
Modifié en dernier par olivier65 le 19 nov. 2018, 15:25, modifié 1 fois.
Trex500
Oxy3 / Oxy2
M1 / XK K110 / Blade Msr


Vortex 150/Falcon cp90 / mobula 7

olivier65
Chevalier Jedi
Messages : 1140
Enregistré le : 25 août 2010, 08:19

Re: Timer !!!!!X6S

Message par olivier65 » 19 nov. 2018, 14:51

// petit programme pour faire bipper un buzzer du nombre de minutes qui s'ecoulent.
// --------------connexion materielles des broches(pins) ---------------
// #define PinBuzzer 9
// #define ThrottleCut 3
// #define IdlUp 4
const int PinBuzzer = 9; // sortie 9 connectee au buzzer
const int ThrottleCut = 3; // entree 3 connecte l'interrupteur Throttle Cut
const int IdlUp = 4; // entree 4 connectee a l'interrupteur IdlUp

//---------------------- variables pour debug
unsigned long temps_final=220000L; // entrez ici la duree totale voulue (en millisecondes)
unsigned long temps_cumule=0L; // chronometre
unsigned long depart = 0L;
unsigned long pause = 0L;
unsigned long temps_cumule_tmp =0L;
unsigned long curseur=0L;
boolean started = false;
int time_checked = 0;
boolean razable = true;
int cestfini=15; // 10 bips la fin
int duree=250; // duree d'un bip
int freq=600; // frequence du bip
int TC=0; // etat de la broche du Throttle Cut
int IU=0; // etat de la broche de l'IdlUp


//-------------------------------------------------------

void setup() {
pinMode(PinBuzzer, OUTPUT); //sortie buzzer
pinMode(ThrottleCut, INPUT); //entrée Throttle cut TC
pinMode(IdlUp, INPUT); //entrée Idlup IU
}

void loop() {
TC = digitalRead(ThrottleCut); //lecture hight ou low du TC
IU = digitalRead(IdlUp); //lecture hight ou low de IU
//if (TC == HIGH && IU == LOW) on est en armed et IU donc chronometrage
//if (TC == LOW && IU == HIGH) on est en TC et non-IdlUp donc reset : le temps est mis a zero
//if (TC == LOW && IU == LOW) on est en TC et IU donc standby : le temps est memorise
//if (TC == HIGH && IU == HIGH) on est en armed et non-IdlUp donc standby : le temps est memorise



if (TC == LOW && IU == HIGH) { // reset du chrono
reset();
}
if (TC == IU) { //standby
stop_chrono();
}
if (TC == HIGH && IU == LOW) { // chronom�trage
start_chrono();
}
check_point(); // gestion du buzzer
delay(100); // limite le temps d'activité du processeur...
}



//-------------------------- les fonctions -----------------------------

void reset() {
temps_cumule=0L;
depart = 0L;
pause = 0;
temps_cumule_tmp =0L;
time_checked = 0;
curseur=0;
started = false;
cestfini=15;
if(razable) {
tone( PinBuzzer, freq, duree );
delay (500);
tone( PinBuzzer, freq, duree );
delay (500);
tone( PinBuzzer, freq, duree );
razable = false;
}
}

void start_chrono() {
if(!started) {
depart = millis();
started = true;
razable = true;
tone( PinBuzzer, freq, 1000);
}
}

void stop_chrono() {
if (started) {
unsigned long pause = millis();
temps_cumule += pause - depart;
started = false;
razable = true;
tone( PinBuzzer, freq, duree );
}
}

void check_point() { // gestion du buzzer
if (started) {
unsigned long curseur = millis();
unsigned long temps_cumule_tmp = 0L;
temps_cumule_tmp = curseur - depart;
temps_cumule_tmp += temps_cumule;
if ((temps_cumule_tmp/60000) > time_checked) {
for (int i = 0; i < (time_checked+1); i++) {
tone( PinBuzzer, freq, duree );
delay(500);
}
time_checked++;
}

if ((temps_cumule_tmp) > (temps_final-15000)) {
for (int f = 0; f < cestfini; f++) {
tone( PinBuzzer, freq, 400 );
delay(1000);
}
cestfini=0;
}
}//fin started
} //fin checkpoint
Trex500
Oxy3 / Oxy2
M1 / XK K110 / Blade Msr


Vortex 150/Falcon cp90 / mobula 7

Avatar du membre
steph66
Armageddon
Messages : 15124
Enregistré le : 29 janv. 2010, 08:43

Re: Timer !!!!!X6S

Message par steph66 » 19 nov. 2018, 21:34

olivier65 a écrit :
19 nov. 2018, 14:49
Voilà, n’hésitez pas pour d’autres questions
La suave voix des DX9 me manque ;) Voilà une idée d'upgrade :D :D :D
Image
page FB steph66 - #KeepRCHelisAlive
- Beam AvantGarde - Miniature Aircraft XCell Spectra-G, Fury, Fury 55 - Trex500 - miniProtos - Protos - BeastX Power - hitec aurora 9
Photos et vidéos sur ma page perso - Guide de l'autorotation pour les nuls - Mes fiches conseils : montage - réglage - pilotage

Avatar du membre
titi78
Chancelier Suprême
Messages : 562
Enregistré le : 17 juin 2010, 15:45
Localisation : Saint Quentin en Yvelines (78)

Re: Timer !!!!!X6S

Message par titi78 » 19 nov. 2018, 23:16

Une fonction chauffage pour les pouces. ...
Honeybee fp2 passé en brushless
Blade McpX BL (pour tester le CP !!!)
T-rex 450 sport V2 Aurora9
T-rex 550 pro DFC Aurora9

Répondre

Retourner vers « K110 »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité