LOCODUINO

Forum de discussion
Dépôt GIT Locoduino
Flux RSS

lundi 20 novembre 2017

50 visiteurs en ce moment

Les écrans LCD alphanumériques

. Par : Jean-Luc

Vu de l’extérieur, les écrans LCD alphanumériques sont essentiellement caractérisés par leur taille. Deux modèles se rencontrent très fréquemment et sont les meilleurs marché, celui ayant 2 lignes et 16 colonnes d’affichage et celui ayant 4 lignes et 20 colonnes d’affichage. Voici, ci-dessous, ces deux modèles : Ecrans LCD alphanumériques Les deux types (...)

Retourner à l'article

Vous répondez à :

Les écrans LCD alphanumériques 5 mars 2015 00:39, par Jac56

Bonjour,
Article clair et rigoureux comme tous ceux de votre site.
Bravo aux auteurs.

J’avais envie de vous faire part de difficultés rencontrées avec des afficheurs LCD pilotés par I2C, fonctionnellement très intéressants, mais qui se sont révélés très sensibles aux perturbations électromagnétiques inévitablement présentes sur un réseau ferroviaire miniature (alimentation des moteurs de traction par signaux rectangulaires à rapport cyclique variable [sorte de PWM  , à 25Hz, dans mon cas] ou par DCC   [c’est encore pire]).

L’appareil où ces difficultés se sont révélées est un montage, à base d’Arduino Uno, spécifiquement conçu pour commander des servo-moteurs miniatures de type radiocommande d’avions (utilisés pour motoriser de vieux aiguillages Jouef HO manuels des années 60). Sur le bus I2C, il y avait d’autres composants (2 expandeurs d’entrées-sorties à 16 canaux Sx1509 Sparkfun pour ’lire’ des interrupteurs, et 3 modules Adafruit de générations PWM   à 16 canaux pour les servos), une sorte de TCO.

Trois modèles différents d’afficheurs LCD, de fournisseurs différents et a priori sérieux (Lextronic CLCD162-BLB, Grove Seed et DFRobot, tous 2x16 caractères, tous pilotés avec la même bibliothèque classique LiquidCrystal_I2C) ont montré des perturbations plus ou moins graves : blocage total du bus I2C pour le premier, blocage de l’afficheur (et affichage de caractères illisibles) pour les deux derniers, dès le démarrage d’une seule locomotive sur le réseau.

Une autre anomalie est apparue sur tous les afficheurs (même hors perturbation électromagnétique) : en les passant sur un scanner I2C logiciel, on s’aperçoit que plusieurs adresses I2C répondent pour un seul module ; en pratique, cela peut produire le blocage des autres modules I2C du bus par collision intempestive d’adresses (jusqu’à 31 adresses fantomes sur le premier module LCD cité (!), nettement moins pour les autres). A noter que ces dédoublements d’adresse se rencontrent parfois sur les modules I2C PWM mentionnés plus haut, mais de façon moins systématique et génante. Jamais sur les expandeurs Sx1509.

J’ai essayé divers perfectionnements :
isolement galvanique de la partie ’puissance’ par photo-transistors, blindage amélioré du bus I2C et réduction de sa longueur, suppression ou essais de diverses valeurs des résistances de pull-up pour le bus I2C, … rien n’y fit.

La seule solution a consisté à faire le raccordement direct par le mode de communication sur 4 bits que vous décrivez dans votre article : l’affichage LCD fonctionne parfaitement, et le bus I2C, avec les modules restants, n’est plus perturbé. L’ensemble du montage (équipé maintenant de 42 aiguillages) fonctionne parfaitement.

Qu’un module soit défaillant, cela peut arriver ; mais que 3 modèles différents, de constructeurs différents, présentent à des degrés plus ou moins forts, les mêmes anomalies, alors que d’autres modules I2C continuent à fonctionner convenablement sur le même bus pose question.
Peut-être y-a-t-il un composant I2C commun à tous ces afficheurs ? Le driver HD44780 ne devrait pas être en cause puisqu’il marche correctement, en direct.

Qu’en pensez-vous ? Avez-vous constaté des désordres similaires ? Suis-je passé à côté d’un correctif ?
Je n’ai pas trouvé de cas similaires sur internet.

Encore bravo pour votre site ; on attend vos articles avec impatience.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

12 Messages

Rubrique Matériel

Fonctionnement et pilotage d’une DEL

Qu’est ce qu’une carte Arduino ?

Amplifier le signal de sortie d’un ARDUINO avec un ULN 2803

Résistances, kézako ?

Relais électromagnétique

Les diodes classiques

Détecteurs à ultrasons

La carte Arduino Uno

Bouton poussoir

Les différents types de mouvements d’un servo-moteur

Les encodeurs en quadrature

Les écrans LCD alphanumériques

Des bus de communication pour l’Arduino

Les interrupteurs

Le microcontrôleur ATtiny45 (1)

Le microcontrôleur ATtiny45 (2)

Le microcontrôleur ATtiny45 (3)

Le microcontrôleur ATtiny45 (4)

Le microcontrôleur ATtiny45 (5)

Le microcontrôleur ATtiny45 (6)

Le microcontrôleur ATtiny45 (7)

Le microcontrôleur ATtiny45 (8)

Signaux lumineux et Arduino

Les shields de prototypage et de connexion

Commande de moteur à courant continu

Les derniers articles

Le microcontrôleur ATtiny45 (8)


Christian

Le microcontrôleur ATtiny45 (7)


Christian

Commande de moteur à courant continu


Christian

Le microcontrôleur ATtiny45 (6)


Christian

Les shields de prototypage et de connexion


Christian

Le microcontrôleur ATtiny45 (5)


Christian

Signaux lumineux et Arduino


Christian

Le microcontrôleur ATtiny45 (4)


Christian

Le microcontrôleur ATtiny45 (3)


Christian

Le microcontrôleur ATtiny45 (2)


Christian

Les articles les plus lus

Commande de moteur à courant continu

Les écrans LCD alphanumériques

Le microcontrôleur ATtiny45 (8)

Les différents types de mouvements d’un servo-moteur

Qu’est ce qu’une carte Arduino ?

Des bus de communication pour l’Arduino

Les diodes classiques

La carte Arduino Uno

Le microcontrôleur ATtiny45 (2)

Le microcontrôleur ATtiny45 (5)