Messages récents

Pages: [1] 2 3 ... 10
1
Les réseaux / Re : Projet de réseau Jean-Claude74
« Dernier message par Jean-Claude74 le Aujourd'hui à 01:43:29 pm »
Merci pour votre réponse.
En ce qui concerne le lien proposé, je n'ai pas compris en quoi cela pourrait être intéressant pour mon projet.
J'attendais des réponses sur mes choix de centrales DCC++ et manettes et donc, je pense, que ceux sont des bons choix.

Une autre question, comment la centrale DCC++ va interpréter les informations venant de la manette ou des Arduino Nano utilisés pour la rétrosignalisation; Bien sûr il y a le RX et le TX mais comment ça marche?
Aurait-il des informations à entrer dans le programme de la centrale?

Cordialement
Jean-Claude
2
Oui les possibilités sont presque illimitées et il devient grâce à ces outils de concevoir des choses très modulable "on demend"!

Je note ta remarque sur l'hysterisys qui ne manque pas d intérêt. A teste "sur site"!

Les seules limites par exemple pour le comparateur est de ne jamais devoir dépasser le Vmax de 5V sur les broches sinon il faut brider ( résistance & zener par exemple)

J ai utilise une fonction simple pour comparer deux valeurs entre elle provenant de deux sources connues "calibrées".
On peut comme tu le soulignes utiliser des valeurs internes ce qui est un peu plus complexe pour les néophytes mais reste tout à fait utilisable simplement avec ces librairies. ( je ne l'ai pas personnellement encore expérimenté)

Une autre astuce est d utiliser un composant de référence de tension externe si on veut avoir précision et moins se faire de nœuds au cerveau. Un TL431 peut bien faire le lob au besoin.

Les exemples de portes logiques en cascades sont intéressant à exploiter aussi dans l'optique de ne pas avoir à encoder tout cela au niveau soft et de bénéficier de la souplesse de la logique programmable.

On pourra trouver qu'il en manque encore et que plus ne seraient pas mal venues!

La série 2 des TINY semble indiquer qu'on peut utiliser en parallèle la sortie physique et simultanément établir une liaison via EVENT ce qui augmente de fait les combo de sorties possibles.

Je n'ai pas retrouve ce cas d'usages/possibilités sur les AVR Dx y compris les DD.

Mes remarques sont pour dire que si plus de deux blocs logiques sont requis alors il faut passer sur les TINY série 2 à minima sinon sur les AVR Dx.

A 'inverse si on veut bénéficier de plusieurs comparateurs (max3) il faut être sur la série 1 TINY ou AVR DA & DB exclusivement.

J ai garde le meilleur pour la fin sur les portes logiques!

Et bien nous connaissons ce qui va se passer selon ce qui est mis sur les entrées... et bien il ne reste que simplement par soft dans notre code à piloter des sorties de broches qui seront alors reliées par des pistes aux entrées... et la logique fera le reste si j ose dire à la vitesse de l'éclaire avec un temps de commutation proche de celui de bascule d une ou plusieurs broche au niveau code.

Rudement efficace!

Je sens bien toutefois qu'il va falloir illustrer toute cette circuiterie à travers un petit projet démo qui mettra en avant les apports.

Je réfléchis, je verrai bien la gestion d'un carrefour routier par exemple mais on doit pouvoir trouver d'autres cas à illustrer.

Des idées?

Ltr


3
Bonjour ,
merci Laurent pour cette présentation !
je découvre notamment l'existences des frameworks , qui simplifient l'écriture et surtout rendent les choses + compréhensives , c'est mieux que les exemples de Microchip , qui s'éloignent à peine du bare metal

pour les comparateurs , j'activerais systématiquement l'hystérésis : pour les entrées très raides , ce n'est pas utile , mais pour les signaux variables , cela évite d'avoir ceci : _______|‾|_|‾|_|‾‾‾‾‾‾‾‾ , en sortie lors des transitions
dans ton exemple , tu as utilisé une tension externe comme tension de référence , mais on pourra souvent utiliser une tension interne , voir le DAC si la valeur est critique , cela économise une broche ; il peut cependant se produire que cette tension de référence soit disponible sur l'entrée (-) alors que , zut , on la voulait sur l'entrée (+) : dans ce cas il suffit d'intervertir le rôle des entrées (+) et (-) , et d'actionner l'inverseur en sortie du comparateur (en fait amha , l'inversion en sortie permet surtout de permuter les entrées , si besoin)
on notera aussi la présence de la broche de sortie , non disponible sur les AVR classique : elle permet par exemple , par une contre-réaction positive , d'obtenir des valeurs d'hystérésis supérieures aux 50mV disponible dans le hardware du comparateur

concernant le Configurable Custom Logic (CCL) , il y a une très intéressante notte d'application , qui montre notamment qu'on peut faire une porte à 5 entrées , en combinant 2 portes à 3 entrées , mais pas que , voir aussi l'astucieuse configuration du TRUTHn register : https://ww1.microchip.com/downloads/en/AppNotes/TB3218-Getting-Started-with-CCL-90003218A.pdf
4
Les réseaux / Re : Projet de réseau Jean-Claude74
« Dernier message par Dominique le Aujourd'hui à 09:31:16 am »
Bonjour,

Pouvez-vous regarder de ce côté là :
https://forum.locoduino.org/index.php?topic=1700.msg19105#msg19105
5
Aide / Re : Re : Problème de démarrage serveur.
« Dernier message par Tony04 le Aujourd'hui à 12:26:52 am »
Je souhaiterais deja essayer de la faire 'tourner' sans rétro signalisation mais lorsque je téléverse, rien ne se passe par la suite.

Bonjour Cyril,

83, pas très loin du 04...

Je ne vais malheureusement pas t'apporter de l'aide pour ton problème exposé dans ce fil, mais quand tu auras trouvé la solution et que tu vas passer sérieusement à la rétro signalisation, ne fais rien avant d'avoir étudier ce nouveau principe.

Imagine coté centrale un câble de 20 à 30cm de long avec 5 fils qui vont à une carte composée simplement d'un WeMos D1 MINI et de 3 BSS138 (adaptateur de niveau 3,3/5V), montés sur un circuit pastillé comme ceci:



Voila tout ton bus S88 opérationnel pour les 512 retours, maximum acceptés par les centrales.
Je te joins au message 2 sketchs, l'un pour 1 word de 16 bits, et l'autre pour 15 word de 16 bits (ce dernier gère actuellement 4 TCOs dont celui de la vidéo plus bas dans ce message), juste pour te montrer la simplicité de l'ensemble.

De l'autre coté tu pourras mettre des détecteurs d'occupation de ce type, en 4 entrées:



ou 8 entrées (pas de photo de la carte fini, juste de mon PCB):



Ou des TCOs dans ce genre: https://www.youtube.com/shorts/YZ18kNaU1LU qui sont juste reliés par 2 fils pour le 12V (et 2 fils DCC si on veut gérer le retour des trames DCC de la centrale)

Ou toute autre commande pour une animation quelconque, bref tout ce qui peut se faire par la rétro signalisation S88...

Mais sans aucun fil à part l'alimentation des cartes ou le DCC selon le résultat à atteindre.
Et surtout plus d'achat de modules de rétro assez onéreux.

La fragilité (relative) du bus S88 est totalement balayée, car plus aucune longueur de câble et le S88 est géré par la majorité des centrales y compris les centrales "Locoduino".

Alors si tu veux plus d'infos tu peux me contacter par MP.

Cordialement
Antoine
 
6
Vos projets / Re : Les nouveaux AVR: coeur AVRx avec MEGACOREX, DXCORE, MEGATINYCORE
« Dernier message par laurentr le Aujourd'hui à 12:15:42 am »
COMPARATOR:

Tout d abord rappelons le rôle d'un comparateur.
Ce rôle est de déterminer entre 2 valeurs celle qui est la plus élevée et de donner un résultat par une valeur numérique de type "0" ou "1" en sortie.

Ces valeurs en entrée sont ANALOGIQUES. Typiquement des voltages qui sur nos CPU ne devront pas dépasser  la plage 0V 5V sur les entrées.
Des composants externes peuvent offrir d'autres caractéristiques notamment avec des amplitudes de tensions en entrée plus étendues.
A titre d exemple voir le LM393.

On parle souvent d'entrée inverseuse et non inverseuse notée respectivement + et -.

Pour le comparateur intégré à nos CPU vedettes nous allons dans cet exemple utiliser un mécanisme de base: basculer un état se sortie lorsque qu'un seuil est dépassé.

Pour cela on donne une valeur seuil de référence qui est comparée à une valeur qui va évoluer. Lorsque celle qui évolue dépasse celle de référence la sortie du comparateur bascule d'état et inversement lorsque les seuils se recroisent.

Voici notre code exemple toujours sur un ATTINY1626.


Notez que cette famille de  CPU ne dispose que  d' 1 comparateur.
Les ATTINY de la série 1 en disposent de 3 comme les AVR DA et DB.


#include "Comparator.h"

void INIT_COMPARATOR()
{
  //COMPARATOR:
   
    //POSITIV SIDE: AS FLOATING VALUE INPUT:
    Comparator.input_p = comparator::in_p::in0;     //INPUT P0 PIN_PA7
    //Comparator.input_p = comparator::in_p::in1;   //INPUT P1 PIN_PB5
    //Comparator.input_p = comparator::in_p::in2;   //INPUT P2 PIN_PB1
    //Comparator.input_p = comparator::in_p::in3;   //INPUT P3 PIN_PB6
   
    //NEGATIV SIDE: AS REFERENCE VALUE INPUT:
    //Comparator.input_n = comparator::in_n::in0;   //INPUT N0 PIN_PA6
    Comparator.input_n = comparator::in_n::in1;     //INPUT N1 PIN_PB4
    //Comparator.input_n = comparator::in_n::in2;   //INPUT N2 PIN_PB0
   
    Comparator.reference = comparator::ref::disable;
   
    Comparator.hysteresis = comparator::hyst::disable; 

     
    Comparator.output = comparator::out::enable;     //OUTÜT PIN_PA5
    //Comparator.output = comparator::out::disable;        // No output pin, signal not inverted internally
    //Comparator.output = comparator::out::disable_invert; // No output pin, signal inverted internally
    //Comparator.output = comparator::out::enable;         // Enable output pin (PA7), signal not inverted internally
    //Comparator.output = comparator::out::invert;         // Enable output pin (PA7), signal inverted internally
    //Comparator.output = comparator::out::enable_invert;  // Identical to out::invert
   
           
    Comparator.init();
   
    Comparator.start(); // Start comparator
 
}


void setup() {

  INIT_COMPARATOR();
 
}

void loop() {


}


Dans cet exemple on sélectionne un entrée flottante (positiv input) une entrée de référence (negativ input), on active la pin de sortie, on initialise cette combinaison d éléments et on démarre le composant.

La sortie sur la broche PA5 s'active si une tension sur la broche d'entrée est supérieure à la valeur sur celle de référence.
Inversement elle s'éteint si les seuils sont inversés.

On peut avoir un état de fonctionnement inverse à l aide de l'option d'inversion

Comparator.output = comparator::out::invert;
Bon tout ca c est très bien mais si je ne veux pas sortir sur la broche PIN_PA5... je fais comment?

Comme précédemment nous passerons par EVENT pour établir une liaison vers une broche de sortie de type EVOUTx ce qui offre 5 nouvelles possibilités au choix:
EVOUTA sur PIN_PA2 ou PIN_PA7
EVOUTB sur PIN_PB2 ou PIN_PB7
EVOUTC sur PIN_PC2

Et si cela ne suffit pas on peut passer par le bloc LOGIC en se servant de la sortie logique du comparateur comme un élément d'entrée d'un ou plusieurs bloc logique.

On récupère alors en sortie jusqu'à 6 nouvelles affectations exploitables.( 6 sur les CPU x06 et 8 sur les CPU x07) (les sorties LUTn OUT)


On le voit de suite les possibilités se multiplient, toutefois, on peut encore se sentir à l'étroit parfois et ou vouloir disposer d'encore plus de possibilités.
Pour cela on montera en gamme de CPU vers un modèle comportant plus de combinaisons, de composants programmables et in fine le plus souvent de leur nombre total de broches.

Ltr


7
Les réseaux / Re : Projet de réseau Jean-Claude74
« Dernier message par Jean-Claude74 le mai 03, 2024, 05:31:26 pm »
Bonjour à tous

Après pas mal de temps resté loin de ce forum mais toujours à décortiquer les articles de LOCODUINO en relation avec mon projet, j'ai enfin pu cadrer celui-ci avec les solutions proposées par ce site.
Je rappelle que je n'ai pas beaucoup de notions en programmation et à mon âge (81 ans) j'aimerais voir mes locos circuler sur mon réseau....
Aussi je recherche plutôt des solutions toutes faites mais néanmoins matériellement à construire.

Dans cette idée, j'ai retenu les articles suivants:

Pour la centrale qui est le cœur du projet:
- Soit la centrale DCC+ décrit dans
https://www.locoduino.org/spip.php?article182
sur Arduino Mega
avec les modules LMD18200 et MAX471
ou bien la carte toute faite Motor Shield, mais dans ce dernier cas, est-ce que la protection contre les court-circuit est assurée?

- Soit le projet de Michel Goyard plus récent "Ma première centrale DCC"
https://www.locoduino.org/spip.php?article304
Mais il est écrit dans cet article que de Motor Shield ne comporte pas de protection contre les C.C.
De plus limité à un Arduino Uno

- Soit le projet de "La Box"
https://www.locoduino.org/spip.php?article337
Mais que j'ai décliné car trop complexe pour mon niveau et de plus utilisant un nouveau composant (ESP32) inconnu pour moi alors que je possède déjà plusieurs Arduino Uno et Méga.

Je vais donc m'orienter vers la première solution.

Dans mon projet, il y aura bien sûr un rétrosignalisation des cantons par détection de courant et par détecteurs IR pour les zones d'arrêt. Pour cela je vais appliquer la "rétrosignalisation sur Arduino"
http://www.locoduino.org/spip.php?article138

Pour commander les locos à distance, j'aime bien utiliser des manettes à bouton rotatif (c'est peut-être rétro...)
Deux projets ont été développés:
- Soit Ma première manette DCC sans fil
https://www.locoduino.org/spip.php?article316
- Soit "la manette pour LaBox"
https://www.locoduino.org/spip.php?article286

Je n'ai pas encore décidé laquelle.
Sont-elles compatibles avec la centrale retenue et avec le rétrosignalisation S88 entre autre au niveau des bornes Rx et Tx.

Voilà où j'en suis à la veille de commander le matériel.

J'oubliais le cerveau pour tout cela; ce sera le logiciel "RocRail" pour les mêmes raisons que j'ai développé au début de ce message.

Je suis bien sûr à l'écoute de vos remarques concernant mes choix et surtout si j'ai fait des erreurs dans mes options.

Merci d'avance
Cordialement
Jean-Claude

 
8
Vos projets / Re : centrale DCC / analogique modulaire
« Dernier message par lebelge2 le mai 03, 2024, 03:54:24 pm »
Oui, pour le montage des composants, il y a un supplément de 23 € par face, donc 46 € pour un double face (plus les composants)
9
Vos projets / Re : RailCom: Générateur de CutOut
« Dernier message par laurentr le mai 03, 2024, 01:12:03 pm »
Merci Dominique


Voici le lien pour comprendre les apports de ces nouveaux CPU:

https://forum.locoduino.org/index.php?topic=1712.0
10
Vos projets / Re : Re : RailCom: Générateur de CutOut
« Dernier message par Dominique le mai 03, 2024, 10:20:41 am »

Je vais ouvrir un post dédié car cela sera utile en dehors de ce projet.


Peux-tu indiquer le lien vers ce sujet ?
Au passage, j'ai regroupé 2 sujets séparés (ça fait désordre !) et c'est peut-être celui-là : RailCom: Générateur de CutOut avec booster
https://forum.locoduino.org/index.php?topic=1709.0
Pages: [1] 2 3 ... 10