Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - Dominique

Pages: [1] 2 3 ... 6
1
Bus CAN / ACAN et Teensy
« le: mars 27, 2021, 09:32:05 am »
J’ouvre ce sujet pour rassembler des contributions postées ailleurs.

Notamment les rappels de Jean-Luc :

ACAN existe pour Teensy. C'est même sur cette cible qu'elle a été développée en premier. Elle est disponible dans le gestionnaire de bibliothèques.

En résumé les différentes incarnations :
ACAN, CAN Library for Teensy 3.1 / 3.2, 3.5, 3.6 : https://github.com/pierremolinaro/acan
ACAN2515, MCP2515 CAN Controller Library for Arduino : https://github.com/pierremolinaro/acan2515
ACAN2515Tiny, adaptation of ACAN2515 library in order to reduce the memory footprint : https://github.com/pierremolinaro/acan2515Tiny
ACAN2517, MCP2517FD CAN Controller Library for Arduino (in CAN 2.0B mode) : https://github.com/pierremolinaro/acan2517
ACAN2517FD, MCP2517FD and MCP2518FD CAN Controller Library for Arduino (in CAN FD mode) : https://github.com/pierremolinaro/acan2517FD
ACAN-T4, CAN Library for Teensy 4.0 : https://github.com/pierremolinaro/acan-t4

Une version pour le SJA1000 like intégré à l'ESP32 est en préparation.

3
Impression 3D / Nouveaux sujets sur l’impression 3D
« le: mars 01, 2021, 11:21:48 am »
Nouvelle section « impression 3D »

Cette section est réservée pour la présentation et le partage de vos créations en 3D en rapport, bien évidemment, avec le modélisme ferroviaire.
Elle peut inclure également le découpage laser.

Par exemple, des supports de servos pour une commande d’aiguillage, une commande de passage à niveau ou une animation de decor.

Bonne creation !

5
Avec la publication de l'article Une manette simple et autonome pour LaBox,
https://www.locoduino.org/spip.php?article286

nous ouvrons ce sujet pour :
- vous donner des informations complémentaires à cet article,
- vous suggérer quelques modifications et possibles adaptations à vos propres projets
- échanger entre vous au sujet de vos réalisations (mettez bien des photos)

Hâte de vous lire  ;D
Michel et Dominique

6
Vos projets / DÉPLACÉ: RFID et JMRI et Arduino
« le: décembre 29, 2020, 01:51:03 pm »

7
Vie du forum / Joyeux Noël et bonne année 2021 !
« le: décembre 25, 2020, 10:01:46 am »


Toute l'équipe de Locoduino vous souhaite un bon Noël 2020  ;D

Nous espérons que le père Noël vous a comblé de nouvelles locomotives, de wagons et voitures et surtout de petites cartes Arduino (au pluriel) pour occuper vos prochains loisirs.

Amicalement !

8
Shields et Modules / Détecteur de Position Absolue Différentielle (DPAD)
« le: novembre 30, 2020, 07:50:54 pm »
Bonjour à tous,

Lors de nos réflexions sur les périphériques des satellites V2, nous avions envisagé un nouveau type de détecteur décrit par Geoff Bunza sur le blog MRH :
SMA23 – A New DCC & DC Car & Loco Detector – Differential Absolute Position Detector (DAPD)

Il s'agit d'utiliser 2 capteurs de lumière (des photo-transistors pour la lumière naturelle). L'un est placé à coté de la voie (donc éclairé en permanence) et l'autre au milieu de la voie (donc occulté au passage d'un train). Un comparateur (un ampli OP) des sorties de ces 2 détecteurs va donc délivrer un signal binaire qui représente les états occulté et libre d'un point précis du réseau.

Jean-Luc m'avait confectionné quelques circuits imprimés qui dormaient dans un tiroir jusqu'à ce que je décide de les mettre en oeuvre sur mon réseau pour détecter les trains en bout de quai dans chaque gare devant les signaux.

Je viens de monter une paire de ces détecteurs sur mon réseau et je suis surpris par les performances et la simplicité de ces détecteurs qui ont moultes qualités :
  • ultra discrets : l'équivalent d'une led blanche de 3mm à fleur entre les rails et sur le plan de voie à coté,
  • aucune modification du matériel roulant : pas d'aimant comme pour les ILS et capteurs à effet Hall
  • juste un trou de 3mm à peine visible, même en N
  • électronique très simple : 1 ampli op et 6 résistances

Voià ce que ça donne sur 2 voies en bout de quai :



Et le schéma du détecteur double :



Le cicruit imprimé (4,8 x 2,2 cm). En voici 4 vus recto et verso :



J'ai utilisé des photo-transistors PT 204-6C



et un double ampli op MCP6002, 5 résistances 10K et 2 résistances 4,7K.

Les photo-transistors sont enfoncés dans les trous préparés sous le plan de voie.



Les deux sorties, le +5V et le Gnd sont connectés sur les entrées détecteurs ponctuels d'un satellite V1.

J'ai ajouté la gestion de 2 signaux (carrés ou sémaphores) comme le décrit l'article La carte Satellite V1

Et ce satellite envoie de beaux messages Can lorsqu'un engin passe au dessus du détecteur situé sur la voie : occupation ou libération, le sens Pair ou Impair qui situe ce détecteur dans une zone et le numéro de zone. Ces données sont exploitées par le gestionnaire pour arrêter le train en gare, exactement en bout de quai devant le signal carré ou stop.

Je décrirai la suite des détails matériels et logiciels dans mon Projet



9
Vos projets / Une évolutions des centrales DCC en DIY
« le: novembre 14, 2020, 10:24:42 pm »
Il est encourageant de regarder le chemin parcouru avec Locoduino dans la réalisation de centrales DCC en Do It Yourself.

Voici 3 exemples que j'aime beaucoup :



La première en haut à gauche est la centrale de base DCC++ présentée dans l'article Réalisation de centrales DCC avec le logiciel libre DCC++ (1). Elle est l'assemblage d'une carte UNO et d'un shield moteur Arduino à base de L298.

La seconde en haut à droite est la centrale de mon Va et Vient décrit dans l'article Réalisation d’un va-et-vient automatique et réaliste. On voit l'évolution technique qui part de la bidouille pour aboutir à cette combinaison d'un UNO et d'un shield spécifique réalisé en circuit imprimé (par msport) avec des composants à montage de surface, un écran Oled quelques boutons dont un encodeur quadratique.

La troisième en bas est la centrale DCC Wifi décrite dans le forum Projet centrale wifi DCC++ Can  qui intègre une quantité énorme de technologies et doit avoir un beau potentiel (projet lu 23362 fois au moment où j'écris ces lignes).

Loin de vouloir faire la moindre autosatisfaction, je vous invite à nous montrer aussi les réalisations de centrales et autres modules DCC dont vous êtes fier et que vous pourriez partager : j'en connais bien-sur quelques unes sur Locoduino, que admire, mais c'est à vous-même de les présenter ici.

Merci d'avance

Dominique

11
Vos projets / TFID/NFC
« le: août 01, 2020, 10:00:36 pm »
J'ouvre ce sujet pour discuter de vos réalisations autour de l'article "Identifier et localiser vos trains avec le RFID/NFC et un bus CAN" :
 https://www.locoduino.org/spip.php?article271

12
Vie du forum / Humour Locoduino
« le: mai 11, 2020, 08:34:51 am »
J'inaugure ce sujet très sensible avec une image qui m'a bien fait rire en pensant aux débutants Arduino  ;D



J'en profite pour préciser que nous pourrons supprimer des contributions si nous le jugeons nécessaire.


13
Bus CAN / Bibliothèque ACAN et détecteurs RFID en mode SPI
« le: avril 19, 2020, 07:06:55 pm »
Je viens de tester 2 cartes RC522 connectées sur un même Nano équipé de l'interface Can (une carte 8 servos de Jean-Luc).



Ces cartes s'interfacent sur le bus SPI, donc il est possible d'en faire coexister plusieurs, avec l'interface Can (SPI aussi), pourvu que le Nano dispose de broches pour les Chip Select.

Le sketch ReadUidMultiReader , un des exemples de la bibliothèque MFRC522, fonctionne parfaitement

Reader 0: Firmware Version: 0x92 = v2.0
Reader 1: Firmware Version: 0x92 = v2.0
init OK
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 0: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 1: Card UID: 04 CA 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C
Reader 0: Card UID: 04 CA 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C


Et je confirme à l'instant la compatibilité avec la bibliothèque ACAN selon l'article La bibliothèque ACAN (1).

RC522 init OK
CAN init OK
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB
Reader 0: Card UID: 04 ED 7E C2 99 58 80
PICC type: MIFARE Ultralight or Ultralight C
recu : 0, longueur : 3
recu : 0, longueur : 3
recu : 0, longueur : 3
recu : 16657409, longueur : 3
recu : 16591873, longueur : 3
recu : 16526337, longueur : 3
Reader 1: Card UID: 79 CC C6 2B
PICC type: MIFARE 1KB

Le programme est très simple :

include <SPI.h>
#include <mcp_can.h>
#include <MFRC522.h>
#include <ACAN2515Settings.h> /* Pour les reglages  */
#include <ACAN2515.h>         /* Pour le controleur */
#include <CANMessage.h>       /* Pour les messages  */


#define SS_1_PIN 8
#define SS_2_PIN 7
#define RST_PIN 9
#define NR_OF_READERS   2
byte ssPins[] = {SS_1_PIN, SS_2_PIN};

MFRC522 mfrc522[NR_OF_READERS];   // Create MFRC522 instances.
MFRC522::MIFARE_Key key1;
MFRC522::MIFARE_Key key2;

static const byte MCP2515_CS  = 10 ; // CS input of MCP2515
//static const byte MCP2515_SCK = 13 ; // SCK input of MCP2515
//static const byte MCP2515_SI  = 11 ; // SI input of MCP2515
//static const byte MCP2515_SO  = 12 ; // SO output of MCP2515
static const byte MCP2515_INT = 3 ; // INT output of MCP2515

ACAN2515 controleurCAN(MCP2515_CS, SPI, MCP2515_INT);
static const uint32_t FREQUENCE_DU_QUARTZ = 16ul * 1000ul * 1000ul; //16Mhz
static const uint32_t FREQUENCE_DU_BUS_CAN = 500ul * 1000ul;        //500kHz
CANMessage messageCANEmission;
CANMessage messageCANReception;

// Init array that will store new NUID
byte nuidPICC[4][4];
bool newtag = false;
byte numtag = 255;



void setup() {
  Serial.begin(115200);
  while (!Serial);    // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)

  SPI.begin(); // Init SPI bus
 
  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    mfrc522[reader].PCD_Init(ssPins[reader], RST_PIN); // Init each MFRC522 card
    Serial.print(F("Reader "));
    Serial.print(reader);
    Serial.print(F(": "));
    mfrc522[reader].PCD_DumpVersionToSerial();
  }
  Serial.println("RC522 init OK");
  ACAN2515Settings configuration(FREQUENCE_DU_QUARTZ, FREQUENCE_DU_BUS_CAN);
  const uint32_t codeErreur = controleurCAN.begin(configuration, [] { controleurCAN.isr(); });
  Serial.println("CAN init OK");

}

 /**
 * Helper routine to dump a byte array as hex values to Serial.
 */
void dump_byte_array(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

void loop() {

  for (uint8_t reader = 0; reader < NR_OF_READERS; reader++) {
    // Look for new cards

    if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {
      Serial.print(F("Reader "));
      Serial.print(reader);
      // Show some details of the PICC (that is: the tag/card)
      Serial.print(F(": Card UID:"));
      dump_byte_array(mfrc522[reader].uid.uidByte, mfrc522[reader].uid.size);
      Serial.println();
      Serial.print(F("PICC type: "));
      MFRC522::PICC_Type piccType = mfrc522[reader].PICC_GetType(mfrc522[reader].uid.sak);
      Serial.println(mfrc522[reader].PICC_GetTypeName(piccType));

      // Halt PICC
      mfrc522[reader].PICC_HaltA();
      // Stop encryption on PCD
      mfrc522[reader].PCD_StopCrypto1();
    } //if (mfrc522[reader].PICC_IsNewC
  } //for(uint8_t reader

  if (controleurCAN.receive(messageCANReception)) {
    Serial.print("recu : ");
    Serial.print(messageCANReception.data32[0]);
    Serial.print(", longueur : ");
    Serial.println(messageCANReception.len);
  }
}

14
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:04:28 am »

15
Présentez vous ! / DÉPLACÉ: projet centrale wifi DCC++ Can
« le: mars 03, 2020, 09:04:17 am »

Pages: [1] 2 3 ... 6