PCSHM (Playseats, cockpits et simulateurs home-made) Index du Forum PCSHM (Playseats, cockpits et simulateurs home-made)
Discussions à propos des cockpits et simulateurs faits maison, dédiés aux jeux de courses automobiles.
 
 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Présentation de Tfou57

 
Poster un nouveau sujet   Répondre au sujet    PCSHM (Playseats, cockpits et simulateurs home-made) Index du Forum -> Accueil -> Présentations
Sujet précédent :: Sujet suivant  
Auteur Message
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Mer 17 Mai - 16:56 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Bonjour à tous !

Je suis ce forum depuis longtemps sans jamais avoir passé le pas de l'enregistrement .

Je me présente , 60 ans et très bientôt retraité .

Je suis de Thionville en Moselle (30km de Metz)

Malheureusement , le printemps et l'été vont être monopolisé par des travaux dans mon pavillon.

Depuis des années j'envisage de me construire un simulateur low cost pour principalement de la simulation d'avion (Flight Simulateur)

Contrairement à la majorité des simmers sur ce forum PSHM j'étais parti vers des motorisations 220v tri demandé par des variateurs de fréquence


Comme je ne souhaitais pas être secoué comme un prunier, les motoréducteurs que j'ai récupéré (2 de 550w , 1 de 750w et 2 de 180W) ont une vitesse de sortie à 50 hz de 16tr/mn et donc de 32tr/mn si je limite la fréquence à 100hz au niveau des sorties de variateurs

Les motoréducteurs sont tous du type tangente et vis sans fin. ( perte de rendement moteur mais non réversible à la charge )

Pour rien faire comme les autres , je n'utiliserais pas des Arduino Uno 5v pour piloter les variateurs : J'ai récupéré des Arduino Due 84mhz 32bits avec ADC et PWM en 12bits sous une tension de 3,3v

J'ai donc à adapter un code avec des commandes par les ports de la Due ( processeur SAM) + augmentation de fréquence des PWM ( déjà une carte au tapis car ma fréquence choisie était trop élévée et échauffait trop le CPU après plusieurs heures)
Bref , il faut que je me fasse les dents sur ce code.
Merci à Wanegain pour le partage des ces codes . J'ai pris comme base sa version 1.6 avec le tableau de données.

Entre l'Arduino Due et les variateurs j'ai besoin d'une interface d'adaptation des signaux de sortie ( 1 signal 0v à 10v = et 2 signaux 0v ou 24v = pour la commande de sens de rotation)

Au niveau construction du simulateur je suis au point "0". Juste de la récupération de quelques profilés en quantité insuffisante

J'ai au fil du temps en permanence changé de principe.
Je souhaitais à la base et c'est encore dans mon esprit un simulateur avec aucun mouvement combiné (heave avec le 750W)

Vos simulateurs 3DOF sont vraiment sympathiques.
Malheureusement les 2 motoréducteurs 550W et le 750W n'ont qu'une sortie d'arbre.

Encore merci pour ce forum très dynamique


Revenir en haut
Publicité






MessagePosté le: Mer 17 Mai - 16:56 (2017)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
francois38200
Pilote PCSHM
Pilote PCSHM

Hors ligne

Inscrit le: 10 Fév 2014
Messages: 4 830
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: france
Régions (France): Rhône-Alpes
Département (France): 38- Isère
Ville: vienne
06/08/1988 Masculin
Point(s): 67 916
Moyenne de points: 14,06

MessagePosté le: Mer 17 Mai - 17:19 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

:bienvenue0:
_________________
i5 3570k / Gigabyte d3h / ram 8go / Windows 10 64bit / gtx980 ti inno3d / hdd 1to/ ssd 120go / CV1

SAAB Supérieur Aux Autres Bagnoles !!!


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Mer 17 Mai - 19:04 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Bienvenue

Aujourd'hui j'ai fait un code pour riton39 sur RFR qui va utiliser un convertisseur pwm/analogique en sortie 0..10v peut être que tu peux voir pour acheter un tel convertisseur, ça coûte une poignée d'€ et au moins tout est prêt Okay
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Mer 17 Mai - 21:40 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Wanegain a écrit:

Aujourd'hui j'ai fait un code pour riton39 sur RFR qui va utiliser un convertisseur pwm/analogique en sortie 0..10v peut être que tu peux voir pour acheter un tel convertisseur, ça coûte une poignée d'€ et au moins tout est prêt Okay


Intersessant ! .... :+1 2: code
Tu penses partager ce code par la suite , il pourrait être pour moi une base pour l'adapter à l'Arduino Due

Pour l'instant avec mes faibles connaissance Arduino, je fais un mixte entre ton code XPID 1.6 .... Méga avec le code XPID ... Master de Sirnoname
Je suis entrain de reprendre ton idée de tableau en les dédoublant en 2 tableaux (Tableau des moteurs et Tableau des pins)
Tableau des moteurs:
Old Direction, ADC moyen, Cible, Minpot, MaxPot, pot deadzone, Position standby, P, I, D, integrated error, last error, Vitesse , New Direction ,
Tableau des pins:
Feedback, Rotation Avant, Rotation Arrière, Vitesse PWM

Concernant l'interface PWM MACH3 0và 10v pour moins de 5€ franco, je pense cela peut être un point de départ pour une utilisation sur des Arduino en 5v
A ma connaissance PWM MACH3 0và 10v
- Doit avoir un Input mini de 4,5v pour obtenir 10v (cavalier sur 5v sur la carte Mach3) :Incompatible avec la Due en 3.3
- Fréquence maxi en PWM Input : 3Khz
- Résolution 0,1v pour une tension de 10v correspond à 100 pas de tension donc à une résolution de 7 bits


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Mer 17 Mai - 22:31 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Le code je le partage sans soucis.
Celui que j'ai fait sort une pwm à 4kHz mais on peut toujours adapter ça. Il me semble que se carte convertisseur n'est plus disponible mais une équivalente doit exister.
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Mer 17 Mai - 22:34 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Wanegain a écrit:
Le code je le partage sans soucis.
Celui que j'ai fait sort une pwm à 4kHz mais on peut toujours adapter ça. Il me semble que se carte convertisseur n'est plus disponible mais une équivalente doit exister.


Sur Amaz... elle est encore disponible chez plusieurs fournisseur à moins de 5€ franco

Pour le code , :cool1: merci de le partager.
Je vais guetter ton post "code et profils"...


Dernière édition par Tfou57 le Mer 17 Mai - 22:43 (2017); édité 1 fois
Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Mer 17 Mai - 22:36 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Je te le posterai quand je serai sur un pc.
Si tu prends la carte alors le code est déjà tout prêt (mais pas testé :B)
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Mer 17 Mai - 22:41 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

https://drive.google.com/file/d/0B8IoIAW9JuhPckxxZDc5dHNIaDA/view?usp=drive…

Voilà le lien Very Happy
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Mer 17 Mai - 22:47 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Wanegain a écrit:
https://drive.google.com/file/d/0B8IoIAW9JuhPckxxZDc5dHNIaDA/view?usp=drive…

Voilà le lien Very Happy


Merci ....
Je vais tenter de comprendre ton code
Cool Okay


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Mer 17 Mai - 22:56 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Si t'as des questions n'hésite pas Okay
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Mer 17 Mai - 23:25 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Wanegain a écrit:
https://drive.google.com/file/d/0B8IoIAW9JuhPckxxZDc5dHNIaDA/view?usp=drive…

Voilà le lien Very Happy



Un premier détail qui me choque peut-être à tort :
Il me semble que les sorties Avant et Arrière sont High en même temps durant le temps d'exécution d'une pin digitale

Extrait de void SetPWM()
if ((motors[z][2] - motors[z][1]) < 0) //negative rotation
{
digitalWrite(motors[z][13], LOW);
digitalWrite(motors[z][14], HIGH);
}
else
{
digitalWrite(motors[z][13], HIGH);
digitalWrite(motors[z][14], LOW);
}

Ne faudrait-il pas inverser les commandes ?
, il a peut-être des possibilités que les variateurs se mettent en défaut.
if ((motors[z][2] - motors[z][1]) < 0) //negative rotation
{
digitalWrite(motors[z][13], LOW);
digitalWrite(motors[z][14], HIGH);
}
else
{
digitalWrite(motors[z][14], LOW);
digitalWrite(motors[z][13], HIGH);
}

Nota:
Sirnoname dans son code Master passait par une variable 0ld_Direction et commandait un changement de direction que si le PID le demandait


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Mer 17 Mai - 23:34 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Tu peux faire ça effectivement mais je ne pense pas que ça change beaucoup.

Pour le code de sirnoname tu peux effectivement adapter en fonction de la dernière direction mais comme mon code est fait le changement se fait à chaque fois.

Conclusion : faut tester :B
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Jeu 18 Mai - 23:07 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Bonjour,
Question de novice Arduino Uno
Je suis à la recherche du code à modifier pour l'adapter à l'Arduino Due.
- J'ai déjà repérer la configuration pour accélérer l'ADC ( les #define dans les variables et dans setup () le FASTADC )
- J'ai vu la ligne configurant la fréquence PWM 8 bits à 4 Khz ( ligne inutile pour la Due car je modifierais la fréquence des PWM TIO 12 bits à 10Khz en modifiant le fichier variant.h
(J'ai déjà cramé une carte en tentant de booster les PWM TIO 12 bits à 40Khz : cela fonctionnait .... mais après quelque heures grrr la carte étaient HS ! )

Embarassed Puis-je avoir l'utilité dans le code des lignes suivantes dont je ne comprend pas l'utilité car je ne trouve pas d'utilisation de LOWBYTE, HIGHBYTE, BYTELOW ou de BYTEHIGH ?

#define LOWBYTE(v) ((unsigned char) (v)) //Read
#define HIGHBYTE(v) ((unsigned char) (((unsigned int) (v)) >> 8))
#define BYTELOW(v) (*(((unsigned char *) (&v) + 1))) //Write
#define BYTEHIGH(v) (*((unsigned char *) (&v)))


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Jeu 18 Mai - 23:07 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Bonjour,
Question de novice Arduino Uno
Je suis à la recherche du code à modifier pour l'adapter à l'Arduino Due.
- J'ai déjà repérer la configuration pour accélérer l'ADC ( les #define dans les variables et dans setup () le FASTADC )
- J'ai vu la ligne configurant la fréquence PWM 8 bits à 4 Khz ( ligne inutile pour la Due car je modifierais la fréquence des PWM TIO 12 bits à 10Khz en modifiant le fichier variant.h
(J'ai déjà cramé une carte en tentant de booster les PWM TIO 12 bits à 40Khz : cela fonctionnait .... mais après quelque heures grrr la carte étaient HS ! )

Embarassed Puis-je avoir l'utilité dans le code des lignes suivantes dont je ne comprend pas l'utilité car je ne trouve pas d'utilisation de LOWBYTE, HIGHBYTE, BYTELOW ou de BYTEHIGH ?
Citation:

#define LOWBYTE(v) ((unsigned char) (v)) //Read
#define HIGHBYTE(v) ((unsigned char) (((unsigned int) (v)) >> 8))
#define BYTELOW(v) (*(((unsigned char *) (&v) + 1))) //Write
#define BYTEHIGH(v) (*((unsigned char *) (&v)))

[/quote]


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Jeu 18 Mai - 23:43 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Ce n'est pas utile dans notre utilisation, c'est pour séparer les bits de poids forts et de poids faibles d'une variable
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
momoclic
Concepteur
Concepteur

Hors ligne

Inscrit le: 23 Sep 2014
Messages: 2 656
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Pays-de-la-Loire
Département (France): 49- Maine-et-Loire
10/06/1948 Masculin
Point(s): 4 678
Moyenne de points: 1,76

MessagePosté le: Jeu 18 Mai - 23:43 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Bienvenue
Content de te voir arrivé ici Wink
_________________
L'imagination est plus importante que le savoir (Albert Einstein)
3DOF effet houle
Règles pour 2DOF
Projet évolutif 2DOF/3DOF


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Ven 19 Mai - 00:13 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Wanegain a écrit:
Ce n'est pas utile dans notre utilisation, c'est pour séparer les bits de poids forts et de poids faibles d'une variable


Merci de ta réponse rapide , donc je peux virer ces lignes inutiles

3 autres questions me chatouillent la langue:

A) Quelle est l'intérêt de déclarer des variables INT en 2 étapes surtout qu'il s'agit de constantes ?
- 1) Déclaration dans les variables int inA1pin = 2; int inB1pin = 4; int pwmM1 = 10; int inA2pin = 7; int inB2pin = 8; int pwmM2 = 9;
- 2) Utilisation dans le tableau des variables int inA1pin, inB1pin, int pwmM1 = 10, inA2pin, inB2pin et pwmM2

Cette double déclaration encombre, à mon avis, inutilement la mémoire et à mon avoir ralentit peut-être l'exécution du code pour une étape qui me semble inutile.
Y-a-il un intérêt a effectuer cette double déclaration ( déclaration en 2 étapes) ?

B) Pourquoi ne pas utiliser un second tableau pour uniquement des constantes que sont les pins.?
Pour l'Arduino Due cela permet de mettre les constantes en mémoire Flash et sur l'Arduino UNO peut-être de les mettre en Eprom

C) Pour le bouton d'arrêt d'urgence ,
- 1) As tu un schéma qui correspond à ton code XPID 1.6 ...Méga avec pinMode(EmergencyPin, INPUT_PULLUP) sur lequel on voit le bouton ?
- 2) Simplement câblage pin13 --> Bouton arrêt urgence --> Masse comme sur https://www.arduino.cc/en/Tutorial/InputPullupSerial ?
- 3) Quand rajoute-t-on des résistances de tirage et de quelles valeurs ? ( ? cartes AVR entre 20kΩ et 50kΩ et sur Arduino Due entre 50kΩ et 150kΩ ? ) Interne / externe , je n'y comprends rien quand il faut choisir interne et quand il faut choisir externe ! http://wiki.t-o-f.info/Arduino/R%C3%A9sistanceDeRappel
Je retrouve pas la même syntaxe dans ton code
? pinMode(EmergencyPin, INPUT_PULLUP) <= ? => digitalWrite(EmergencyPin,HIGH) ?




Merci Wanegain et bonjour à Momoclic


Revenir en haut
willaupuis
Concepteur
Concepteur

Hors ligne

Inscrit le: 10 Mai 2013
Messages: 2 585
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: belgique
Régions (France): Autre
Département (France): Autre
Ville: leuze en hainaut
21/11/1972 Masculin Scorpion (23oct-21nov)
Point(s): 15 891
Moyenne de points: 6,15

MessagePosté le: Ven 19 Mai - 06:51 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

:bienvenue0:


bienvenue sur le forum,,, 
_________________
tuto pour les nouveaux ou débutant !


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Ven 19 Mai - 09:44 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Ah c'est probablement une erreur de ma part, j'ai du commencer par déclarer les variables à part puis après je les ai mises dans le tableau pour pouvoir faire des boucles pour plusieurs moteurs.

Le bouton d'arrêt d'urgence ce n'est pas vraiment un bouton d'arrêt d'urgence, ça permet de remettre le simu en position initiale. D'ailleurs il faudrait probablement que je modifie un peu pour le recentrage se fasse de manière plus douce
Normalement t'as pas besoin des résistances de tirage
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Ven 19 Mai - 10:15 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Wanegain a écrit:
Ah c'est probablement une erreur de ma part, j'ai du commencer par déclarer les variables à part puis après je les ai mises dans le tableau pour pouvoir faire des boucles pour plusieurs moteurs.

Le bouton d'arrêt d'urgence ce n'est pas vraiment un bouton d'arrêt d'urgence, ça permet de remettre le simu en position initiale. D'ailleurs il faudrait probablement que je modifie un peu pour le recentrage se fasse de manière plus douce
Normalement t'as pas besoin des résistances de tirage



Merci de ta réponse
1) Donc le câblage du "bouton d'urgence" est câblé ainsi : pin13 --> Bouton arrêt urgence --> Masse comme sur https://www.arduino.cc/en/Tutorial/InputPullupSerial

2) pinMode(EmergencyPin, INPUT_PULLUP) <= Equivalent à => digitalWrite(EmergencyPin,HIGH) ?
Si la résistance PULLUP est activée ( externe non nécessaire ) cela devrait être le cas ? au regard de ce lien http://wiki.t-o-f.info/Arduino/R%C3%A9sistanceDeRappel


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Ven 19 Mai - 10:38 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Pour le bouton d'arrêt d'urgence, c'est effectivement entre la pin 13 et la masse qu'il faut le connecter.

On le met par défaut en mode pullup (donc actif état bas) car comme on le relie à la masse quand tu vas fermer l'interrupteur ça va donc faire une connexion à 0, d'où l'intérêt de mettre en pullup.
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Ven 19 Mai - 20:02 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Wanegain a écrit:
Pour le bouton d'arrêt d'urgence, c'est effectivement entre la pin 13 et la masse qu'il faut le connecter.

On le met par défaut en mode pullup (donc actif état bas) car comme on le relie à la masse quand tu vas fermer l'interrupteur ça va donc faire une connexion à 0, d'où l'intérêt de mettre en pullup.


Merci pour ces informations Okay


Revenir en haut
stephaned61
Administrateur
Administrateur

Hors ligne

Inscrit le: 15 Déc 2010
Messages: 2 690
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Basse-Normandie
Département (France): 61- Orne
Ville: Argentan
26/12/1971 Masculin Capricorne (22déc-19jan)
Point(s): 105 043
Moyenne de points: 39,05

MessagePosté le: Jeu 25 Mai - 07:34 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

:bienvenue7:
_________________


Revenir en haut
Visiter le site web du posteur
Tfou57
Occasionnel
Occasionnel

Hors ligne

Inscrit le: 17 Mai 2017
Messages: 19
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 57- Moselle
Ville: Thionville
23/12/1956 Masculin
Point(s): 28
Moyenne de points: 1,47

MessagePosté le: Sam 24 Juin - 23:17 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Wanegain a écrit:

https://drive.google.com/file/d/0B8IoIAW9JuhPckxxZDc5dHNIaDA/view?usp=drive…
Si t'as des questions n'hésite pas Okay


Bonjour ,
Je profite donc de ta proposition

Extraits de ton code XPID_SimTools1_6_2motors_AC:
Citation:

...
int GlobalPowerPin = A5; //use a potentiometer to define the power of the motion simulator on pin A11 (12)
int GP_select = 0; //1:use potentiometer 0:always 100%
int GlobalPower = 256; //100%
...
int commandbuffer[5]={0};
...
diff = constrain((GlobalPower * (motors[i][2] - 512))>>8, -511, 511) + 512; //extrait de void ParseCommand() à la ligne 249
...


Incompréhension 1
A la ligne 249, le fait de faire un décalage vers la droite de 8 (>>8) ne doit-il pas aboutir sur une opération de division par 256 et avec comme résultat un chiffre entier ?
- Je comprends cette ligne si int GlobalPower = 256 ou un autre multiple de 256 et dans ce cas cette ligne fonctionne !
Mais si un potentiomètre fait varier int GlobalPower, sa valeur varie de 0 à 1023 (10bits ) , donc que rarement un multiple de 256.
- Est-ce que mon raisonnement est faux ?
- Est-ce que cette syntaxe de la ligne 249 avec >>8 et int GlobalPower = 256 a déjà été testé et fonctionne correctement avec le potentiomètre ?
- Je comprenais le fonctionnement de cette ligne 249 lorsque double GlobalPower = 1.00
- Pourquoi ne peut-on pas remplacer double GlobalPower = 1.00 par int GlobalPower = 1 ? Les décimales apportent aucun gain dans cette application, du moins il me semble.

Incompréhension 2
Quand est utilisé : "int commandbuffer[5]={0};" ? , cela sert à quoi , la trame série de chaque moteur à tour de rôle n'est-elle pas limitée à commandbuffer[3] ?

Incertitude sur passage en 12 bits dans int updateMotorPid(int targetPosition, int currentPosition, int numMot) Embarassed

Je pense que dans cette fonction la seule modification est la ligne, dans le reste du calcul du PID le reste dans cette fonction ne devrait pas devoir être changé.
Citation:
return constrain(abs(pTerm_motor + iTerm_motor + dTerm_motor), 0, 255);

en
Citation:
return constrain(abs(pTerm_motor + iTerm_motor + dTerm_motor), 0, 4095);


Merci de tes éclaircissements !


Revenir en haut
Wanegain
Administrateur
Administrateur

Hors ligne

Inscrit le: 08 Mai 2012
Messages: 14 385
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: Belgique
Régions (France): Autre
Département (France): Autre
Ville: Bruxelles
17/04/1982 Masculin Bélier (21mar-19avr)
Point(s): 153 398
Moyenne de points: 10,66

MessagePosté le: Lun 26 Juin - 13:40 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

1) Alors pour la ligne 249 le but étant d'éviter d'utiliser des divisions qui sont des opérations compliquées et surtout qui ne peuvent pas être effectuées en parallèle. Le décalage ne se fait pas uniquement sur GlobalPower mais sur l'ensemble de l'opération, on mesure l'écart avec la valeur moyenne pour connaitre la force de l'effet.

Admettons que l'on reçoit la valeur 200 du port série et qu'on lise une valeur d'abord de 400 sur le potentiomètre et puis 200 :
diff = constrain((400* (200- 512))>>8, -511, 511) + 512; Arrow diff = 25
diff = constrain((200* (200 - 512))>>8, -511, 511) + 512; Arrow diff = 269

2) Si, on pourrait diminuer mais je m'en servais pour des tests et je préfère avoir une valeur de plus que je n'utilise jamais plutôt qu'être à court et avoir des erreurs système de buffer

3) C'est une bonne remarque mais ça dépend qu'est-ce qui est en 12 bits, si c'est la lecture des potentiomètres ou les données reçues par Simtools. Je pense que le mieux est de faire correspondre l'un à l'autre... Je n'ai encore jamais testé ce code et je n'ai pas mis en marche mon oscilloscope car je dois le calibrer et j'ai un peu la flemme en ce moment car je suis sur d'autres projets :B Mais on pourrait déjà optimiser en ne faisant qu'une seule division par 100 :
return constrain(abs(pTerm_motor + iTerm_motor + dTerm_motor)/100, 0, 255);
_________________
Profils Converter et Codes Arduino
Tuto : simulateur pour moins de 450€
KIT pour créer son simulateur 2DOF


Revenir en haut
Pilote du grenier
Habitué
Habitué

Hors ligne

Inscrit le: 10 Mai 2017
Messages: 172
Dégagement de responsabilité: J'accepte
Lecture et respect de la charte: J'accepte
Pays: France
Régions (France): Lorraine
Département (France): 54- Meurthe-et-Moselle
Ville: Nancy
09/10/1983 Masculin Balance (23sep-22oct)
Point(s): 1 279
Moyenne de points: 7,44

MessagePosté le: Mar 27 Juin - 22:05 (2017)    Sujet du message: Présentation de Tfou57 Répondre en citant

Bienvenue voisin de département ;-)
Beau projet :-)
Bon courage :-)
_________________
Dans le doute, pied au plancher ! (Colin McRae)


Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 01:27 (2017)    Sujet du message: Présentation de Tfou57

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    PCSHM (Playseats, cockpits et simulateurs home-made) Index du Forum -> Accueil -> Présentations Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2017 phpBB Group
Traduction par : phpBB-fr.com powered by ArgenBLUE free template