Discussions Générales > Présentez vous !

rampe accélération / décélération

(1/7) > >>

PB:
Bonjour
Nouveau dans votre communauté, merci de m'accueillir

Evidemment je pratique le modélisme à l'échelle HO et je suis occupé a piloter le tout avec arduino.
Je réalise la traction avec un Arduino uno au travers d'une sortie PWM  et une consigne de vitesse avec un potar en entré analogique.

Mon soucis est que chaque demarrage et arret vont de 0 à la consigne un peu vite et donc pas trés réaliste.
Il serait souhaitable d'avoir une "rampe" réglable pour chacun des démarrage / arret quelque soit la consigne de vitesse.
Quelqu'un peut'il m'aider sur le sujet ?

Merci d'avance pour votre retour

Tony04:
Bonsoir PB,

pour mon train de jardin en G (où la courbe de vitesse est encore plus vitale pour la mécanique) je sépare la vitesse demandée (par la position du potar) de la vitesse réelle (envoyée par le PWM. Entre les 2 je mets une boucle temporisée qui va faire monter ou descendre la vitesse à son rythme (paramétrable).
Essaye de partir dans cette optique pour régler ton problème. Si tu n'y arrive pas je tacherai de te faire un petit résumé de mon sketch.

Bonne soirée
Antoine

msport:
Bonjour et bienvenue,

en confirmation du message d'Antoine, une boucle for, utilisant les millis devrait permettre de faire évoluer progressivement la valeur du PMW d'une valeur à un moment donné jusqu'au réglage de la consigne, donc simulant une inertie.
En prime, la fonction map : https://www.arduino.cc/reference/en/language/functions/math/map/ pour le seuil.
Pas évident de trouver des exemples sur le net.

Tony04:
à PB,

peux-tu me préciser comment tu fais actuellement ton inversion de marche et si tu utilises la course complète du potar pour 1 seul sens de marche ou préfères-tu une version avec le stop au centre du potar, marche avant à droite et marche arrière à gauche ?

Antoine

PB:
Bonjour Tony04 et  msport

Merci beaucoup pour vos reponses
J'ai omis de vous dire que je suis novice sur arduino; mon premier arduino uno n'a que 1 mois et donc il me faut un peu de temps pour "digérer" vos propositions.

Pour te repondre Tony : mon reseau comprend 2 boucles  avec chacun leurs sens de marche, je n'ai pour l'instant pas d'inversion du sens de marche des trains et je varie sur toute la course du potar dans 1 seul sens.
Ma sortie attaque un transistor de puissance; pour inversion il me faudrait un pont en " H "; je m'attacherai à cela un peu plus tard mais je trouve ton idée d'inversion de sens avec 50% de la course du potar géniale !!

Je vais etudier et testé vos propositions, néanmions il me vient une question:
j'ai bien compris qu'une temporisation devrait répondre a mes attentes, mais pendant ce temps es-ce que le programme continue ou s'arrete; auquel cas il risque de "rater" des opérations ?

PB

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique