Aide pour utiliser un LCD inconnu

Bonjour à tous :slight_smile:
Je viens vous demander si vous avez une idée pour tenter d'utiliser un écran LCD inconnu, sans référence ni rien d'autre dessus....
J'ai mis sa photo en attachement au message.

Il possède 35 pins sur le dessus et 5 sur la rangée du bas.
Cela vient d'une carte électronique sans autre référence également.
La puce qui le controlait indique "SEF" et c'est tout.... (100 broches).

J'aimerai trouver comment l'utiliser car j'ai récupéré des dizaines d'écrans et je les vois bien dans mes projets :slight_smile:
J'ai essayé des trucs en envoyant des signaux sur les pins (en signal carré sinon ca affiche rien) comme par exemple:

void putOutput(byte begin, byte ending, byte status) {
    for (byte i=begin; i<=ending; i++) {
        digitalWrite(i, status);
    }
}
byte toTest = 2;
void loop() {
    for (byte i=0; i<255; i++) {
        putOutput(1,toTest-1, HIGH); putOutput(toTest,toTest+1,LOW); putOutput(toTest+2,50, HIGH); delay(1);
        putOutput(1,toTest-1, LOW); putOutput(toTest,toTest+1,HIGH); putOutput(toTest+2,50, LOW); delay(1);
    }
    if (toTest < 47) {toTest++;}
    Serial.println(toTest);
}

Ce code teste des pins en les changeant de polarité par rapport aux autres.
Donc ca m'affiche bien des trucs et des machins, mais.... tout est en doublons avec d'autres pins.
Je croyais que ce LCD aurait fonctionné en matrice mais c'est pas ça...
Si quelqu'un a une idée pour tester.....

PS: le LCD sur la photo est cassé mais fonctionne encore pour mes tests; mais on s'en fou lol :stuck_out_tongue:
PS2: tests avec mega2560

Salut

Même pas d'idée quand au format d'affichage ?
Un boîtier 40 broches pourrait correspondre à un afficheur 4 digits + 3 points décimaux + colonne :

Mais il me semble franchement long pour un 4 digits. Il possède certainement d'autres fonctions (symboles).

C'est bien d'appliquer un signal sur chaque broche, mais par rapport à quelle autre broche ?
Les segments d'un LCD se pilotent par rapport au backplane, mais en opposition de phase, en alternatif à environ 100Hz.

La première chose à faire est de trouver le backplane. Souvent un afficheur LCD a plusieurs broches backplane, donc elles sont reliées.
Si aucune broche n'est reliée à une autre, c'est que la broche de backplane est unique, et là on n'est pas sorti du sable.

Quelques infos :
lcd-tft-et-arduino
Paragraphe 2. Le LCD 7 segments

Salut hbachetti :slight_smile:
J'ai trouvé de quoi ca vient à force de tout vouloir afficher....
Il est indiqué blanc bleu, creuse pleine etc....
Ce sont des platines de compteur electrique en fait d'après ce que je vois....
J'ai donc d'affiché sur ce lcd (si j'ai rien loupé dans l'ordre d'affichage):
creuse, pleine, un afficheur 7 segments, 6 afficheurs 14 segments, KVA, KWH, normale, bleu; blanc, rouge, pointe.

Voilà tout ce que j'arrive à afficher....

Du coup j'ai déjà une idée: utiliser ça sur un module qui récupère en wifi la sortie téléinfo et l'afficher dans la maison !
Oui bon .... faut déjà savoir l'utiliser ce lcd :stuck_out_tongue:

EDIT: oui, certaines broches sont apparemment reliées entre elles !
EDIT2: après tests du circuit imprimé: broches 1 reliée à la 34 et broche 2 à la 33 (rangée du haut)

Attention à ne pas alimenter les segments en continu, sinon adieu les cristaux liquides à plus ou moins long terme.

En relevé à l’oscilloscope j’ai un signal carré à environ 420 hertz. Ça craint rien ? Ou il faut absolument du 100 hertz ?
J’essaye de me pencher sur les broches de backplane.
Merci pour le lien vers le fonctionnement des LCD, c’est très instructif :slight_smile:
En fait y a rien de sorcier là dedans mais faut trouver “qui” correspond à quoi …

De bonnes journées en perspective :stuck_out_tongue:

Bonjour

100Hz pas impératif.

Il faut beaucoup de patience et de méthode pour identifier la matrice segments/backlanes (COM) sur un afficheur LCD inconnu....

Un examen attentif à l'oscilloscope sur un afficheur en fonctionnement permettrait de repérer le nombre de paliers (Bias) sur les signaux
Plusieurs paliers s'il y a plusieurs backplanes (COM)

Une fois trouvé tout cela il reste à repérer un circuit intégré 'driver' permettant de gérer cela.

Un exemple : le CI Holtek HT1621 qui peur gérer jusqu'à 32 segments et 3 COM, puis à écrire le code de configuration et pilotage du circuit intégré driver.

S'il n'y a qu'un seul backplane, pas de multiplexage, ça reste relativement simple.
Mais ici avec un centaine de segments à piloter et seulement 40 broches ce n'est pas possible.

Bon courage !!

Içi une Note d'Application de Microchip montrant les signaux 'à paliers ' à appliquer aux segments en cas de multiplexage : http://ww1.microchip.com/downloads/en/appnotes/01428a.pdf

Ouch oui, j'ai pas finis de chercher :confused:

Mais comme j'ai que ça à faire actuellement et que j'ai pas envie de ramener tout ces écran à la dechetterie....

D'ailleurs, comment cela se fait-il que .... les vieux compteurs (je pense à l'échange avec linky) se trouvent en déchetterie ??? Enfin pas les compteurs complets, j'ai juste récupéré les circuits d'affichage. Bizarre non ?

S'il s'agit de compteurs qui étaient en service il est peut être possible de trouver leur modèle, leur fabricant voire même un schema de la carte avec le brochage de l'afficheur !

Ninnin:
...
D'ailleurs, comment cela se fait-il que .... les vieux compteurs (je pense à l'échange avec linky) se trouvent en déchetterie ??? Enfin pas les compteurs complets, j'ai juste récupéré les circuits d'affichage. Bizarre non ?

Bonsoir
les afficheurs ont été récupérés comment ?
soudé sur un PCB ?
il est possible que dans le cadre d'une sous-traitance (I.e echange ancien pour linky) le sous-traitant ai à sa charge la "destruction" de l'ancien materiel , il est possible que les anciens compteurs aient été "desossés" (pour recup Cu ou autre ) il et qu'il subsiste en dechet "ultime" seulement les afficheurs

Il reste les afficheurs avec la carte de gestion apparamment.
En mattant le pcb en détail avec une bonne loupe j'ai trouvé la réf.: stepper U1C6 et U1C5.
Donc bien des compteur selon une recherche google :slight_smile:

Par contre, aucun schéma :-/

Bonjour.
Des news: j’arrive à rien… sauf si j’applique du courant continue …
Possible que cet afficheur fonctionne en continue ?

hbachetti:
Attention à ne pas alimenter les segments en continu, sinon adieu les cristaux liquides à plus ou moins long terme.

Pourtant là, j’arrive à afficher “mieux” les choses. Comme un affichage dot matrix un peu, voyez ?

EDIT: Bon j’ai rien dit…
J’ai trouvé une erreur dans le programme, à force de modifier je partais pas du bon indice dans un array…
bref…
J’ai trouvé la base.
5 broches font les lignes et le reste fait des colonnes…

Sauf que … il doit etre tard je n’arrive pas à comprendre comment ça marche…
Si je ne commande que les lignes inversées avec les colonnes (en gros lignes à vcc et colonnes à gnd et vice versa) ca m’affiche tout sur l’afficheur…
Mais si je veux afficher que un truc, ça m’affiche le reste en m’effacant ce que je veux afficher.

Exemple: je veux afficher “CREUSE” sur l’afficheur. Il est sur la ligne PIN 32 et colonne PIN 6
Donc je commande GND 32 et VCC 6; hé bien j’ai tout la ligne de la pin 32 qui apparait et ca m’efface CREUSE.

En gros ca marche à l’envers d’un dot matrix… +_+

Vu à l'oscillo d'une borne commune (ligne) 2V/div/5ms
Un atmega ne sait pas sortir un signal comme ça non ?
Même sur l'analogique il ne fera que du PWM il me semble...

Voir le lien en bas du message #5

On voit sur l'oscillogramme les paliers de tension du signal
L'affichage est multiplexé avec un certain nombre de COM et de SEGMENTS,

Des signaux complexes en marche d'escaliers sont à appliquer pour 'allumer' ou 'éteindre' les segments
Dans l'exemple ci dessous le segment e apparait 'éteint' car la valeur efficace de la tension résultante est faible
le segment d par contre est 'allumé' car la tension efficace résultante est plus élevée

extrait de la notice SLAU208 de Texas Instruments :

Il s'agit là du mode 3 MUX 1/3 Bias... un mode parmi d'autres......
En bas de cette autre doc un choix (incomplet !) de modes d'exitation des LCD multiplexés

C'est tordu !! (je ne me suis jamais aventuré à piloter un afficleur LCD multiplexé dont je ne connaissais pas les caractéristiques !)

Il vaut mieux utiliser un circuit spécialisé du genre PCF8562, ou autre, avec le nombre de backplanes adéquat.
Ou HT1621, ou HT1623, ou LC75847T comme dit al1fch.
Avant tout, déterminer le nombre de backplanes.

il y en a 4 en tout.
pins 1-34, 2,33, 32, 35.
En fait les 4 dernières pins (+ les 2 premières qui sont shuntées sur le PCB) de la rangée du haut.
La rangée du bas ne sert à rien (GND tout le temps).
La pin 5 est NC.

J'ai donc isolé toutes les colonnes et lignes sur des modèles comme en pièce jointe.

et un exemple de "colonnes"

C'est déjà un grand pas !

Pour la suite il me semble qu'en sélectionnant dans les composants cités par hbachetti un modèle qui gère 4 sorties COM il y a de l'espoir (je n'utilise qu'un petit modèle HT1621 qui ne gère que 3 sorties COM)
Ici une librairie Arduino pour gérer des HT1621 : Macduino: HT1621: a seven segments LCD driver

Le PCF8562 peut gèrer 4 backplanes (multiplexage 1/4)
Sa Data Sheet montre page 14 un exemple de signaux pour 4 sorties COM

Pas mal de tâtonnement ensuite pour trouver le câblage des segments et le mode qui va bien
Pas mal de temps également pour étudier la data sheet du composant et comprendre comment configurer ses registres.

Il existait, il existe peut être encore, le microcontrolleur ATMega169 qui contient un drivers de LCD statiques ou multiplexé. Il peut gérer 4 sorties COM.
Data Sheet : ATmega169A - 8-bit Microcontrollers
Atmel avait fait pour lui une petite carte de démonstration l'AVR Butterfly

Merci pour la lecture ! C’est toujours instructif ^^
Il existe chez atmel celui-là de dispo: ATmega169A - 8-bit Microcontrollers (aussi en versions P et PA).
Je vais voir pour en commender, avec des PCF8562, et vais tenter d’autres tests :slight_smile:

Je reviens sur ce post dès que j’ai le matériel et que j’ai fait quelques tests.

PS: le courant continue “flingue” bien les LCD, j’ai sacrifié un afficheur pour voir, ça reste marqué ^^
PS2: Merci à vous pour toutes les infos :slight_smile:

Ensuite il faudra évaluer les possibilités au niveau mise en œuvre :
TSSOP48 : 0.5mm
LQFP44 : 0.8mm
Ce n'est pas du DIP.

HT1621 : ce n'est pas du 32x4 ?