Code Arduino DUE

pour nos membres français - Notez le traducteur de google en haut à droite

Code Arduino DUE

Postby Tfou57 » Sun 29. Jun 2014, 18:54

Bonjour à tous

Je remercie Sirnoname de nous avoir ouvert un forum en Français.
Ne connaissant pas l'Anglais , les discussions via Google étaient difficiles et déformées par la traduction automatique

J'essaie de faire reconnaitre une carte Arduino DUE par X-SIM avant de me lancer dans l'adaptation du fichier XPID.INO de SIrnoname.
Avez-vous déjà réussi à faire reconnaitre cette carte par X-SIM ?
Comment ?

Les grandes diiférences entre Arduino UNO et DUE est son processeur différent ( 32bits contre 16 bits), sa fréquence plus rapide et surtout son absence de mémoire EPROM. Par contre l'Arduino DUE a plus de mémoire Flash et de SRAM.
Je comptais utiliser de la mémoire Flash pour remplacer l'EPROM utilisé dans le fichier XPID.INO de Sirnoname

PS: j'avais déjà ouvert un post Anglais : viewtopic.php?f=39&t=1518&p=13036#p13036


Merci
User avatar
Tfou57
X-Sim Supporter
 
Posts: 43
Joined: Tue 20. Mar 2012, 21:59
Location: France (57100 Thionville)
Has thanked: 0 time
Been thanked: 0 time

Re: Code Arduino DUE

Postby vicpopo » Mon 30. Jun 2014, 07:13

Salut,

Tu as lancé le premier topic sur le sous-forum français ! :)

Desolé mais je ne connais pas assez le sujet que tu demandes ! Si Sirnoname t'as répondu tu as un bon soutien !

J'espère que d'autres frenchies qui connaissent le sujet pourront aider comme RacingMat par exemple .

A+

En lisant la reponse de Sirnoname , il te dit que tu ne dois pas changer le fichier Dll et que seul l'affectation des pins differait entre les deux micro controleurs et que dans le topic sur le Xpid SW qu'il a mis en lien il y a avait des exemples.
Conclusion : cela est normalement faisable repasse une fois sur topic et trouve une personne qui a posté pour lui demander un coup de main.
Poste les reponses ici aussi pour avoir de l'aide.
User avatar
vicpopo
 
Posts: 645
Joined: Fri 20. Apr 2012, 18:04
Location: Strasbourg France
Has thanked: 39 times
Been thanked: 80 times

Re: Code Arduino DUE

Postby RacingMat » Mon 30. Jun 2014, 15:44

salut Tfou57

je n'utilise ni l'EPROM ni la mémoire Flash donc le code que j'utilise est donc transparent entre les modèles UNO, DUE et nano !

je ne peux pas t'aider car je ne connais pas ce sujet
bonnes recherches à toi :)
Mat
2 DOF playseat : arduino, motomonster, 12V truck wiper motors
http://www.x-sim.de/forum/viewtopic.php?f=37&t=943
User avatar
RacingMat
X-Sim Stage 2 edition
 
Posts: 456
Images: 147
Joined: Wed 20. Feb 2013, 21:30
Location: Marseille - FRANCE
Has thanked: 4 times
Been thanked: 130 times

Re: Code Arduino DUE

Postby Riton » Tue 1. Jul 2014, 08:03

désolé , je ne connais pas encore les cartes Arduino... :(
je vais certainement m'y mettre un jour, j'ai une Mega qui attend à la maison pour me former à ces cartes.
bon courage, tu vas trouver de laide je pense :)
User avatar
Riton
X-Sim Supporter
 
Posts: 291
Images: 70
Joined: Mon 7. May 2012, 16:05
Location: France
Has thanked: 1 time
Been thanked: 16 times

Re: Code Arduino DUE

Postby Tfou57 » Tue 1. Jul 2014, 22:09

Vicpopo , RacingMat et Riton , merci de m’avoir répondu :D

Vicpopo , quand Sirnoname me répond :
« Vous ne devez pas modifier la DLL, seul le piégeage des différents puce Atmel sur votre carte Arduino. »
J’avais bien compris que je devais adapter les pins mais je crois que SIrnoname me demande de modifier la déclaration du processeur Atmel
Dans son fichier INO je ne vois aucune déclaration de processeur, par contre dans le fichier Github
https://github.com/X-Sim/X-PID-Arduino-PID-motor-control dans le domaine XPID-Arduino-Firmware , je trouve un fichier XPID.vcxproj qui se rapporte au processeur « <PreprocessorDefinitions>ARDUINO=103;__AVR_ATmega328P__;F_CPU=16000000L;__AVR__;__cplusplus;%(PreprocessorDefinitions)</PreprocessorDefinitions »
Le processeur de la carte Arduino Due est un ATMEL AT91SAM3X8E 32bits / 84 Mhz alors que l’Arduino Uno est un ATmega328 16 bits / 16 Mhz
Il n’y a donc pas que les adaptations des I/O à faire ….

RacingMat , tu me dis que dans ton code , tu n’utilises pas l’EPROM de ta carte Arduino.

Ta carte est –elle reconnue dans X-Converter / Interface Settings dès le téléversement d’un code correct dans ta carte Arduino ou dès que ta carte est connectée sur un port USB et même si le code téléverser dans la carte a des buggs ?

Ta carte est reconnue par X-Sim par quel pluging X-Sm : XPiD ou autre…. ?
Je conçois bien que la correction par la carte du PID ne nécessite pas de mémorisation.
Sans mémorisation et sans utiliser le graphique de X-Sim / XPID , comment peut-on mettre au point les paramètres PID en visualisant les consigne de position et le réalisé

Avant de passer trop de temps sur le code de l'Arduino Due , je souhaiterais être convaincu qu'elle puisse être reconnue sous X-Sim version 3 ou 2 :oops:

Wanegain dans le forum RFR dans son code, il utilise également l’EPROM de la carte Arduino Uno comme le code XPID de Sirnoname
Je profite pour féliciter Wanegain pour ces tutoriaux sur Arduino

Riton , je profite également pour te féliciter pour le partage de sa traduction de la section « USO » d’X-Sim que je suis actuellement entrain de l’étudier, les cartes en liaison série sont tellement moins aisées à utiliser que les cartes Velleman VM110 ou VM140 !

J'ai tout à apprendre sur la gestion des cartes série , les syntahases.... :oops:

A quelle fréquence fonctionne la carte AMC1280USB de Thanos ?

Sirnoname , encore merci :D pour ce sous forum en Français : plus de barrière de la langue pour des personnes ne connaissant pas l'Anglais

Merci à tous pour votre activité sur les Forums X-Sim et RFR
User avatar
Tfou57
X-Sim Supporter
 
Posts: 43
Joined: Tue 20. Mar 2012, 21:59
Location: France (57100 Thionville)
Has thanked: 0 time
Been thanked: 0 time

Re: Code Arduino DUE

Postby Wanegain » Fri 4. Jul 2014, 12:59

Si ça vous intéresse j'ai adapté le code USB XPID de sirnoname pour être utilisé avec une Sabertooth en mode série...

Ce qui fait qu'elle est reconnue dans l'interface usb xpid et que l'on peut utiliser les réglages du plugin.
User avatar
Wanegain
 
Posts: 55
Images: 1
Joined: Mon 19. Nov 2012, 17:55
Has thanked: 1 time
Been thanked: 0 time

Re: Code Arduino DUE

Postby Tfou57 » Fri 4. Jul 2014, 22:58

Bonjour
Encore merci sur les publications multiples de tutoriaux à base d’Arduino et de Sabertooth sur le forum RFR :D
J’ai regardé le code XPID_SSPv2_2 et XPID_SSPv2_3 fait pour le couple Arduino et Sabertooth.
Tous les 2 codes utilisent de l’EEprom
Ne peut-on pas se passer dans un premier temps de l’EEPROM ?
J’ai découvert Arduino il y a moins de 3 semaines, je débute donc dans le codage Arduino
Pour l’instant X-Sim ne voit pas la carte Arduino Due, faut-il un code correct téléversé dans la carte pour que X-Sim daigne voir la carte ?
Faut-il absolument de l’EEPROM ?
Quelle est les différences de fonctionnalités entre vos codes et celui de RacingMat ?

J’ai eu l’occasion de récupérer de la carte Arduino Due
Arduino Due n’ont pas d’EEPROM mais de la Flash et de la SRAM ! (mon 1er problème est là !)

Dans mon projet je ne pensais, quand j’ai récupéré des cartes DUE, pas utiliser de Sabertooth.
En choisissant Due au lieu de Uno, je projetais utiliser directement Arduino Due pour piloter d’anciens variateurs de fréquences triphasé OMRON pour commander des motoréducteurs 220V Tri .

Pour cela dans mon esprit je pensais utiliser pour 2 moteurs
2 ports Input analogiques en 12 bits (DAC )pour les potentiomètres
2 ports Output analogiques 0 à 3,3v en 12 bits (ADC ) pour piloter la variation de fréquence
Cela devrait le donner une fréquence maximum de 132Hz : (400Hz /10V)*3.3V
4 ports Digitaux pour le changement de sens
Il faudra bien sûr que je valide les intensités DAC et sorties numériques.

:cry: Mais avant tout pour commencer, il faut que X-Sim reconnaisse Arduino Due sans EEPROM et avec un processeur différent ( ATSAM3X8E à 84Mhz)
Une fois Arduino reconnue, je pourrais plancher sur l’adaptation du code INO

Sirnoname me dit
http://www.x-sim.de/forum/viewtopic.php?t=723
You must nut chance the DLL, only the pinning of the different atmel chip on your arduino board.
There are two examples of ino file and different pinning for learning how to do this.”

:oops: Je n’arrive pas à trouver les 2 fichiers d’exemple ( INO ) que Sirnoname cite , je trouve dans GitHup qu’un le fichier INO et du code qui me dit absolument rien pour un novice comme moi en code C
User avatar
Tfou57
X-Sim Supporter
 
Posts: 43
Joined: Tue 20. Mar 2012, 21:59
Location: France (57100 Thionville)
Has thanked: 0 time
Been thanked: 0 time

Re: Code Arduino DUE

Postby Wanegain » Fri 4. Jul 2014, 23:18

En fait l'EEprom permet de sauvegarder les valeurs du pid, des potentiomètres et tous les réglages que tu as fait dans X-Sim (même si tu change le code - et qu'il n'utilise pas d'EEPRom, tes données seront sauvegardées). Si tu n'utilises pas l'EEProm, il faut soit rentrer les valeurs "en dur" dans le code, soit les refaire à chaque fois. Utiliser la flash, je ne l'ai jamais fait, mais on doit pouvoir remplacer l'EEProm par la flash si tu veux garder ces fonctionnalités.

J'ai fait un code qui se passe de l'EEPRom, mais je ne l'ai jamais testé (pour une compatibilité entre les différents logiciels) :oops: , donc je ne peux pas garantir qu'il fonctionne...

Je n'ai aucune expérience avec les motoréducteurs, mais bon pour des pwm en 12 bits l'Arduino doit être adapté car ce n'est pas prévu par défaut (8 bits d'origine pour environ 500Hz). Par contre attention parce que ces fréquences sont audibles si tu as un résonateur sur le chemin et tu peux te retrouver avec des sifflements...

Si tu utilises des variateurs, alors pas de Sabertooth et je pense que le code d'origine est plus adapté (USB XPID).
Autre remarque, un Arduino Uno ne coute qu'une vingtaine d'euros :mrgreen:
User avatar
Wanegain
 
Posts: 55
Images: 1
Joined: Mon 19. Nov 2012, 17:55
Has thanked: 1 time
Been thanked: 0 time

Re: Code Arduino DUE

Postby Tfou57 » Sat 5. Jul 2014, 00:00

En fait, j'ai déjà récupéré plusieurs Due pour un très bon prix !
C'est pour cela que j'insiste avec la DUE

Quand tu me dis "pour des pwm en 12 bits l'Arduino doit être adapté car ce n'est pas prévu par défaut (8 bits d'origine pour environ 500Hz)"

L'arduino Due à de multiples PWM mais a surtout des vrais DAC 12bits sous tension 0 à 3.3V
je ne comprends pas les 8 bits d'origine pour environ 500Hz

OK , tu me conseilles donc de repartir du code source X-Pid de Sirnoname !

Est-ce que avec un code Arduino incorrect , X-Sim reconnait ta carte Arduino Uno? ( code avec les I/O néanmoins conforme au hardware )
Faut -il un code à 100% correct ?
Auto reconnaissant de X-SIM des ports déclarés dans le code ? ou déclaration manuelle en USO ?

Le code sans EEPROM est ton code pour Sim ...ls ?

Connais-tu la différence des fonctionnalités entre le code RacingMat et ton code cité ci-dessus ?

As tu un espèce de logigramme pour décortiquer le fonctionnement du code X-PID de Sirnoname ?

Merci de toutes tes précieuses , tes tutoriaux m'ont vraiement donnés envie de mettre l'ancienne VM110 (20ms) et VM140 (4ms) au rebut
User avatar
Tfou57
X-Sim Supporter
 
Posts: 43
Joined: Tue 20. Mar 2012, 21:59
Location: France (57100 Thionville)
Has thanked: 0 time
Been thanked: 0 time

Re: Code Arduino DUE

Postby Wanegain » Sat 5. Jul 2014, 08:53

Je ne connais pas les caractéristiques de la DUE en fait. Les 8bits@500Hz c'est pour l'UNO :D

Pour que l'arduino soit reconnue par X-Sim il faut qu'il donne sa version lorsque X-Sim la lui demande (fonction SendFirmwareVersion). Pas besoin d'EEPRom.

Le code que j'ai écris sans l'EEPRom est (censé être) compatible X-Sim (via output setup sans passer par le plugin USB XPID - ce qui est dommage) et les autres :mrgreen:
User avatar
Wanegain
 
Posts: 55
Images: 1
Joined: Mon 19. Nov 2012, 17:55
Has thanked: 1 time
Been thanked: 0 time

Next

Return to langue française

Who is online

Users browsing this forum: No registered users and 1 guest