Auteur Sujet: Bonsoir à tous  (Lu 11133 fois)

supermoun

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Bonsoir à tous
« le: avril 03, 2018, 06:53:21 pm »
Je suis en retraite. J'ai travaillé 40 ans en automatisme.
J'ai fait pas mal de bidouille en électronique. (schémas de circuits, réalisations des plaques, etc)
Depuis peu, je me suis intéressé à la carte Arduino.
Comme tout le mode, j'ai démarré par de petits programmes.
A chaque fois que j'ai fait une recherche sur du comptage d'impulsions ou de front montant, j'ai observé que tous les programmes utilisés
la fonction miliis();
Je propose un programme de gestion de comptage à partir d'un bouton poussoir sans utiliser cette fonction.
Comment fournir le programme en PDFpour en faire profiter un maximum de personnes.
Cordialement, Supermoun.

CATPLUS

  • Sr. Member
  • ****
  • Messages: 407
    • Voir le profil
Re : Bonsoir à tous
« Réponse #1 le: avril 03, 2018, 07:39:22 pm »
Bonjour Supermoun

Bienvenue sur le Forum de Locoduino

Pour votre programme SVP pas de PDF :(
 
Vous chargez  le fichier "*.ino"
Eventuellement un plan et une explication seront les bienvenues

Cordialement
Marcel
Best Regards

supermoun

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Bonsoir à tous
« Réponse #2 le: avril 03, 2018, 08:32:23 pm »
Bonsoir Catplus
Un fichier zip c'est bon?
En effet j'ai le fichier.ino mais aussi j'ai le schema et l'organigramme
Merci pour la reponse

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Bonsoir à tous
« Réponse #3 le: avril 03, 2018, 10:51:56 pm »
Bienvenue parmi nous,
je pense que tout le monde sera d'accord pour un zip des fichiers !
Mais dites nous ce que vous envisagez dans le modélisme ferroviaire. Ce qui est la raison d'être de Locoduino, comme son nom l'indique.
« Modifié: avril 03, 2018, 11:27:43 pm par msport »
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Bonsoir à tous
« Réponse #4 le: avril 04, 2018, 02:30:41 pm »
Bienvenue Supermoun,

On a hate de voir ce que tu nous proposes.

Amicalement
Dominique
Cordialement,
Dominique

supermoun

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Bonsoir à tous
« Réponse #5 le: avril 04, 2018, 07:06:14 pm »
Bonjour msport

Comme tout le monde j'avais un circuit en HO.
Par manque de temps et manque de place j'ai laissé tomber.
Ce qui m’intéressait le plus c’était la partie électronique.
Je vais certainement redémarrer de zéro surtout que l'électronique a évolué avec des circuits comme Arduino

Ci-joint le dossier concernant un comptage par impulsion de bouton poussoir.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Bonsoir à tous
« Réponse #6 le: avril 04, 2018, 11:13:15 pm »
Bon c'est pas du modélisme mais plutôt de l'Arduino débutant, c'est déjà pas mal.

Ce programme ne gère pas l'anti-rebond donc va donner parfois des résultats erronés. Il y a une bibliothèque ad hoc : Bounce2, à ajouter dans l'IDE.

Bon courage
Cordialement,
Dominique

supermoun

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Bonsoir à tous
« Réponse #7 le: avril 09, 2018, 07:12:19 pm »
Bonsoir Dominique
Pas d'accord
Ce principe est utilisé en industrie depuis 40 ans en automatisme.
J'ai simplement repris ce principe, d'ailleurs le morceau de programme de comptage est là pour le démontrer.
il n'y a pas besoin de la fonction millis()
Cordialement, Supermoun

Rob1

  • Jr. Member
  • **
  • Messages: 62
    • Voir le profil
    • Mon projet réseau
Re : Bonsoir à tous
« Réponse #8 le: avril 09, 2018, 08:00:27 pm »
En automatisme industriel on utilise des automates programmables. Leurs entrées TOR (tout ou rien) sont filtrées pour intégrer les rebonds de tout contact électro-mécanique bouton ou fin de course, ce n'est pas vraiment le cas sur arduino. Toutefois le filtrage n'est pas toujours obligatoire, particulièrement en programmation Grafcet. Mais il n'y a pas que les rebonds il peut y avoir aussi les parasites et la aussi la solution c'est le filtrage ou et le blindage des câbles.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Bonsoir à tous
« Réponse #9 le: avril 10, 2018, 11:45:48 am »
Pour éliminer les rebonds sans tenir compte de la durée minimale du contact d’un poussoir, il faut gérer les deux contacts de ce poussoir : NO et NC avec deux entrées de l’Arduino et commander une bascule logique avec. On met le commun au GND et les deux entrées en INPUT PULLUP. On est alors sur que le poussoir est revenu au repos pour pouvoir lancer une nouvelle impulsion.
Le programme proposé n’est pas à l’abri d’un rebond puisqu’il ne définit pas la durée minimale d’un appui pour être pris en compte.
Cordialement

savignyexpress

  • Invité
Re : Bonsoir à tous
« Réponse #10 le: avril 10, 2018, 12:22:19 pm »
Bonjour à tous,

Je pense que cet algorithme est similaire aux autres techniques de gestion des rebonds. Compter combien de fois le bouton est actif puis tester un seuil pour décider me paraît analogue à la mesure du temps.

Cependant, les rebonds d'un poussoir peuvent durer plusieurs millisecondes et cet algorithme aura atteint les valeurs de seuil du compteur bien avant, surtout sur un Arduino à 16 MHz. Pour qu'il ait des chances de fonctionner, il faudrait une attente à la fin de chaque itération, donc utiliser des fonctions de gestion du temps. Ou alors définir des seuils beaucoup plus grands tenant compte de la durée d'exécution des instructions d'une itération.

Attendre les quelques millisecondes une fois l'état stable atteint est le moyen le plus sûr d'éliminer les rebonds, c'est ce que fait très bien la librairie Bounce2.

Meilleures salutations.

supermoun

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
Re : Bonsoir à tous
« Réponse #11 le: avril 10, 2018, 03:29:02 pm »
merci Msport et Marc Henri pour la réponse
Cordialement supermoun