Aller au contenu


Photo
- - - - -

besoin d'aide programmation arduino


  • Veuillez vous connecter pour répondre
80 réponses à ce sujet

#21 Turboseb77

Turboseb77

    Nouveau membre

  • Membres
  • 11 messages

Posté 13 septembre 2018 - 06:22

ça fonctionne sur une plage : ok dans ce cas c'est parfait :)

 

par contre j'ai mis mes régimes moteur par ordre croissant en partant du haut, le plus logique pour moi, donc je doit modifier quoi?

 

------------------------------------------------------------------------------------

 

 if ( delaisInterChange < 60000002 ) // 1000trs
    return 1666 ;
    else if ( delaisInterChange < 30000001 ) // 2000trs
    return 833 ;
    else if ( delaisInterChange < 20000000 ) // 3000trs
    return 555 ;
    else if ( delaisInterChange < 15000000 ) // 4000trs
    return 416 ;

------------------------------------------------------------------------------------



#22 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 899 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 13 septembre 2018 - 07:59

ça fonctionne sur une plage : ok dans ce cas c'est parfait :)

 

par contre j'ai mis mes régimes moteur par ordre croissant en partant du haut, le plus logique pour moi, donc je doit modifier quoi?

 

------------------------------------------------------------------------------------

 

  if ( delaisInterChange > 60000002 ) // 1000trs
    return 1666 ;
  else if ( delaisInterChange > 30000001 ) // 2000trs
    return 833 ;

  else if ( delaisInterChange > 20000000 ) // 3000trs
    return 555 ;
  else if ( delaisInterChange >15000000 ) // 4000trs
    return 416 ;

  else 

    return xxxx;

------------------------------------------------------------------------------------

 

Je t'ai modifié les lignes au dessus par contre attention , 

 

le cas 1 c'est compris entre 0 et 1000 trs,  => 1666

le cas 2 sera entre 1000 et 2000 ... => 833
le cas 3 sera entre 2000 et 3000 => 555

le cas 4 sera entre 3000 et 4000 => 416

 

il faut rajouter une valeur pour les cas au dessus de 4000 trs dans le else XXXX =) 

J'avais oublié de le préciser .


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#23 Turboseb77

Turboseb77

    Nouveau membre

  • Membres
  • 11 messages

Posté 14 septembre 2018 - 10:27

donc tu à modifié le code et remplacé "<" par ">", ok je vais changer cela

 

pour les valeurs au dessus de 4000 trs en fait j'ai juste posté les 4 premières ligne, mais je vais jusqu'a 19000trs

et je vais peut être modfier encore pour faire une plage par palier de 500trs dans la zone utilisable du moteur, de 9000 à 14000trs

 

:thank_you:



#24 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 899 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 15 septembre 2018 - 12:41

Bon pour rappel ce code n'est valable que pendant 71 minutes et 35 seconds après l'allumage de l'arduino... 

Après il va y avoir un overflow de la fonction micros() ... 
Cet overflow n'est pas encore gérer dans le code actuel ... 
Mais il faut déjà s'assurer que le code actuel fonctionne bien comme tu le souhaite pendant ces 71 minutes ... avant de le complexifier un peu pour gérer le cas de l'overflow. 

Visiblement tu as oscillo et tout ce qu'il faut pour tester donc tien nous au courant ;)  Je suis curieux de voir si je me suis trompé quelque part dans ce que je t'ai proposé ou pas =).


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#25 Forthman

Forthman

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 139 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 15 septembre 2018 - 08:29

Mike, je viens de jeter un oeil à ton code, et un truc m'embête...

Ton programme attend un changement d'état de l'entrée  pour activer le calcul, le décalage temporisé, et la durée de la sortie.

Si l'entrée est reliée à la bobine, alors le signal est aussi une impulsion, et du coup il faudrait détecter un front montant et pas un changement d'état.

 

Enfin je crois :unsure: (car je ne sais que lire sommairement du C)

à voir aussi avec TurboSeb77 (j'ai jamais joué avec une mob de compet :Koshechka_08:)



#26 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 899 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 15 septembre 2018 - 08:58

Je pense que tu as bien compris le code que j'ai fais =)

Par contre moi j'ai peut être mal interpréter ce que turboseb a dit ... 

Il me semble qu'il transforme un signal sinusoidale en signal carré et pas en impulsions ...  et que la fréquence des changements d'état sur ce signal carré permet de générer les deux pulses dont il a besoin.

Le code permet justement de transformer un changement d'état du signal en pulse de longueur fixe avec un délais variable... 



 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#27 Serveurperso

Serveurperso

    Membre passionné

  • Membres
  • PipPipPip
  • 417 messages
  • Gender:Male
  • Location:Paris
  • Interests:Systèmes/Réseaux/Dev/Hardware/RF/Optique/Lasers...

Posté 22 septembre 2018 - 05:59

Alors Seb ça avance ? (je lui ai envoyé un SMS)

 

Optocouplage / filtrage d'alim à gogo obligatoire sur les I/O la dessus vu les parasites HV

 

Edit : je l'ai eu au tel il attend son Arduino:)


Make your own raspberry robot, control it over the internet in FPV mode with super low latency and securely share access on it to your friends with Vigibot.com! You are welcome to test our robots now!
https://www.vigibot.com(100% free, no ads)


#28 Turboseb77

Turboseb77

    Nouveau membre

  • Membres
  • 11 messages

Posté 26 septembre 2018 - 08:51

bon j'ai eu l'arduino nano et la carte avec les bornes à visser, je démarre ça dès que j'ai règlé plusieurs choses plus urgentes, en gros d'ici 10 jours

 

en tout cas si ce projet abouti à un truc fiable ça va vraiment être trop cool, et les gars qui font de la compète en mob de course vont en vouloir un, car actuellement rien de semblable n'existe



#29 Serveurperso

Serveurperso

    Membre passionné

  • Membres
  • PipPipPip
  • 417 messages
  • Gender:Male
  • Location:Paris
  • Interests:Systèmes/Réseaux/Dev/Hardware/RF/Optique/Lasers...

Posté 26 septembre 2018 - 09:24

Faut aussi isoler l'alim du genre avec un DC-DC isolé (avec masse non commune genre les Tracopower que j’utilise partout) mais en attendant une simple batterie fera le job c'est obligé que ça fonctionne


Make your own raspberry robot, control it over the internet in FPV mode with super low latency and securely share access on it to your friends with Vigibot.com! You are welcome to test our robots now!
https://www.vigibot.com(100% free, no ads)


#30 Rhum07

Rhum07

    Nouveau membre

  • Membres
  • 28 messages
  • Gender:Male
  • Location:Lyon France

Posté 19 août 2020 - 04:18

Bonjour a tous, je dois réaliser le même projet. Est ce que cela a fonctionné pour Turboseb77?

Merci d'avance.



#31 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 899 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 19 août 2020 - 04:34

Essaye, et si tu as un soucis vient poser des questions on t'aidera à résoudre ton problème ! =)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#32 Rhum07

Rhum07

    Nouveau membre

  • Membres
  • 28 messages
  • Gender:Male
  • Location:Lyon France

Posté 19 août 2020 - 05:43

Super, je reçois mon oscillo samedi et reviens vers vous si soucis. 👍

#33 Rhum07

Rhum07

    Nouveau membre

  • Membres
  • 28 messages
  • Gender:Male
  • Location:Lyon France

Posté 22 août 2020 - 03:48

Bonjour, j'ai fais tout mes relevés. Voici ce que je dois programmer:

de 0 à 4500 = inchangé

de 4500 à 11000 = 8° de plus donc retard

de 11000 à 12500 = 3° de plus donc retard

de 12500 à 16000 = 24° de moins donc avance

Mes questions sont:

Quelle ligne de prog jusqu'à 4500?

Peux t'on faire une seule ligne de 4500 à 11000 (vu que l'on prog en T)?

Quel prog pour avancer le signal?  :help:

Pour la prog, je suis reparti de votre exemple qui me convient pour un début. Mais je souhaiterais le faire évoluer par la suite (différentes avances gérées par switch)

Pour info, ce sera ma première prog Arduino  :). Mille merci d'avance. :thank_you:



#34 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 899 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 22 août 2020 - 05:24

Je suis désolé mais je n'ai pas compris ta demande ... 

Que mesure tu ?


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#35 Rhum07

Rhum07

    Nouveau membre

  • Membres
  • 28 messages
  • Gender:Male
  • Location:Lyon France

Posté 22 août 2020 - 06:13

Je veux réaliser le même projet que turboseb 77. C'est pour gérer une avance et retard à l'allumage.

#36 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 899 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 22 août 2020 - 07:02

Je veux réaliser le même projet que turboseb 77. C'est pour gérer une avance et retard à l'allumage.

 

 

Si tu pars du programme de turboseb, le réglage se fait dans la partie  : 

 

if ( delaisInterChange > 60000002 ) // 1000trs
    return 1666 ;
  else if ( delaisInterChange > 30000001 ) // 2000trs
    return 833 ;

  else if ( delaisInterChange > 20000000 ) // 3000trs
    return 555 ;
  else if ( delaisInterChange >15000000 ) // 4000trs
    return 416 ;

  else 

    return xxxx;

par contre à toi de régler les différents paliers que tu as besoin avec les différentes valeur pour que ça fasse le déphasage en degré de ce que tu veux ... 

Moi je peux t'aider sur la partie " code ", mais je n'ai pas en tête la partie " système ". N'étant pas trop tourné mécanique moteur, je ne suis pas sûr du bien comprendre les tenant et aboutissants.  Je ne sais pas comment vous mesurez et réglez votre retard ou avance ... 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#37 Rhum07

Rhum07

    Nouveau membre

  • Membres
  • 28 messages
  • Gender:Male
  • Location:Lyon France

Posté 23 août 2020 - 05:51

Bonjour, pas de souci pour la programmation je bloque juste sur les trois points dont je vous avais parlé précédemment merci

#38 Ludovic Dille

Ludovic Dille

    Membre occasionnel

  • Membres
  • Pip
  • 121 messages
  • Gender:Male
  • Location:Belgique
  • Interests:Robotique, électronique, embarqué, informatique, ...

Posté 24 août 2020 - 03:13

Pour revenir aux 3 questions
- Quelle ligne de prog jusqu'à 4500?
C'est toujours dans les lignes indiquées par Mike sauf que si j'ai bien compris tu ne veux pas ajouter de délais donc tu mets juste 0 (et donc il effectura le pulse dés qu'il peut)

- Peux t'on faire une seule ligne de 4500 à 11000 (vu que l'on prog en T)?
Je ne suis pas certain de ce que tu veux dire mais si tu veux dire gérer l'interval [4500, 11000] avec une seule ligne, oui c'est géré par le programme déjà écrit vu qu'on vérifie les conditions les unes après les autres

- Quel prog pour avancer le signal?
De ce que j'ai compris du code actuel: -> on regarde quand on obtient les données en entrée ce qui nous permet d'avoir les rpms et donc on calcule un délais sur le signal de sortie à appliquer. Tu as une première solution qui est de profiter de la périodicité de ton signal une avance de 24° c'est un retard de 156° (si ton signal est pi-périodique). Le problème c'est que du passage de la zone [11000, 12500] à [12500, 16000] tu vas louper une des impulsions (c'est peut-être pas grave pour ton application). L'autre solution c'est de repartir d'un code de 0 pour prendre en compte les passages d'une zone à l'autre.

Ludo



#39 Rhum07

Rhum07

    Nouveau membre

  • Membres
  • 28 messages
  • Gender:Male
  • Location:Lyon France

Posté 24 août 2020 - 05:01

Bonjour Ludo,

Merci pour tes réponse. Pour remettre tout a plat, je dispose d'un systèmeCapture d’écran (45).png d'allumage composé d'un seul capteur inductif sur vilebrequin (signal carré -2-0-2v) qui commande une bobine TCI. Je ne peux pas modifier ce montage d'ou l'idée de "modifier" le signal (commande) de ce TCI.

Les modifications a apporter sont:

-Signal inchangé de 0 à 4500 T/min,

-Ajouter une avance (sur l'existante) a l'allumage de 8° de 4500 à 11000 donc retarder le signal

-De 11000 à 12500 idem 3°

-De 12500 à 16000, le TCI existant bride le moteur ,très peu d'avance, donc il faudrait avancer le signal de 24° ou retarder de 336°.

Tu me dit que l'on loupe une impulsion mais a quelle moment? au changement de plage? a quelle fréquence?

Vu que le signal n'es pas 0-5v, faut utiliser le PIN 2 ou plutôt le PIN 14.

Ci-joint une capture écran des signaux, CH1 capteur et CH2 étincelle.

Mille merci d'avance, car là je patauge.

 



#40 Ludovic Dille

Ludovic Dille

    Membre occasionnel

  • Membres
  • Pip
  • 121 messages
  • Gender:Male
  • Location:Belgique
  • Interests:Robotique, électronique, embarqué, informatique, ...

Posté 24 août 2020 - 05:50

La je ne vois pas ce qui te bloque si tu réutilises le code de Mike.
Et pour cette histoire d'impulsion, je n'en suis même pas certain






0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users