Reset soft possible sur HD44780

Je pense avoir mis un câble trop long pour déporter sur un autre boitier mon LCD d'où une perte de l'affichage (affichage incompréhensible) au bout de quelques jours.

Je vais être obligé de ramener l'arduino au plus proche du LCD pour limiter les parasites.

Pour le reset hard, vous placeriez un interrupteur sur le 5v du HD44780 ou ailleurs ? Il faudrait peut-être aussi couper le signal allant vers le LCD en plus du 5V ?

bluemax2001:
Je pense avoir mis un câble trop long pour déporter sur un autre boitier mon LCD d'où une perte de l'affichage (affichage incompréhensible) au bout de quelques jours.

Je vais être obligé de ramener l'arduino au plus proche du LCD pour limiter les parasites.

Pour le reset hard, vous placeriez un interrupteur sur le 5v du HD44780 ou ailleurs ? Il faudrait peut-être aussi couper le signal allant vers le LCD en plus du 5V ?

L'important est surtout de regler le bug hard
mais sinon et avec une rapide reflexion, pour gerer du reset hard par arduino de 44780, j'utiliserais un BS170 (ou approchant) pris sur GND avec la gate commandée par un pin de l'arduino.
mais ça fait quand meme un peu usine à gaz 8)

un simple interrupteur ne semble pas suffisant ?

Ce que propose Artouste permet de réinitialiser le LCD par l'Arduino, pas par une intervention humaine. Après si tu veux intervenir tu peux tout à fait utiliser un interrupteur...

++

Ya que moi que ça perturbe cette histoire de bug graphique due à la longueur du câble ?

Parce que dans le pire des cas il suffirait de faire un montage 5v -> 12v ---- 12v -> 5v et la distance ne serait plus un probléme.

skywodd:
Ya que moi que ça perturbe cette histoire de bug graphique due à la longueur du câble ?

Parce que dans le pire des cas il suffirait de faire un montage 5v -> 12v ---- 12v -> 5v et la distance ne serait plus un probléme.

Bonjour skywodd
je ne suis pas sur que ce soit une solution simple et viable
tu propose de translater/detranslater tous les signaux en 5/12V sur la longueur ?
déjà on ne connais pas la longueur
on ne connait pas non plus quel est le cable utilisé pour le déport (blindé ou pas ?) .

je penche plus pour un cable mal adapté, qui choppe de temps en temps la "merdouille environnementale" :grin:
ce qui impacte aleatoirement les registres et/ou commande.

Bonjour

-comme cela a été déjà dit sur ce fil la coupure et le rétablissement de l'alimentation ne suffisent pas à réinitialiser les afficheurs à HD44780, il faut réenvoyer toute la séquence de 'configuration'. (Un reset hard mets dans un état initial non configuré qui se manifeste en général par une ligne entière de pavés noirs)

Il faudrait peut-être aussi couper le signal allant vers le LCD en plus du 5V ?

Pour moi c'est plus que recommandé vu que les notices des HD44780 et équivalents indiquent dans les "limites absolues" que les tensions d'entrée ne doivent pas excéder VCC de plus de 0,3V. Franchir cette limite est une 'prise de risque'... roulette russe ... selon marque et modèle de l'afficheur. Une entrée à 5V et Vcc nul, ça dépasse de loin la limite indiquée . Certains afficheurs s'en remettent , d'autres ne pardonnent pas la moindre 'infraction' !!

Les afficheurs alphanumériques peuvent également , suite à des 'parasites' dans les signaux de commande,(la "merdouille environnementale" !!), se trouver dans un état où ils ne répondent plus à la séquence soft d'initialisation.

Je propose donc une procédure "reset hard sécurisé + initialisation soft" :
-mettre en entrée toutes les pins les pins du micro allant vers l'afficheur,
-puis couper l'alim par un petit mosfet en série , comme indiqué par Artouste, (PMOS sur Vcc ou NMOS sur GND)
-remettre ensuite l'alim afficheur après une petite temporisation,
-réinitialiser les pins du micro dédiées à l'afficheur et enfin envoyer la séquence complète d'initialisation

Tout ceci bien entendu ne fait que 'compenser le bug', l'idéal serait de l'éliminer.

Impossible de proposer des solutions de déport sans connaitre la distance et l'environnement (relais électromécaniques ? électro aimants ? moteurs à CC ?...)

Question :
Est ce que tous les fils de liaisons sont identiques ?
Dans identique j'inclus aussi la longueur et pas seulement le diamètre du fil ou la couleur de l'isolant.
Si la conception du 'low cost' compatibles HD44780 est de piètre qualité il se peut que les temps de transit à l'intérieur du CI n'aient pas été pris en compte, le CI peut aussi être sensible au temps de monté dans la phase d'initialisation.
Sont-il blindés ? -> le fait de les organiser en toron que l'on entortille avec un fil relié d'un coté à la masse de l'arduino et laissé en l'air de l'autre améliore-t-il le "bug" ?

J'ai voulu déporter la partie Arduino de ma domo sur un autre boitier en dissociant la partie LCD.

  • Donc en gros dans le boitier du LCD et ma prise RJ45, environ 15cm de fil.
  • Dans le boitier Arduino et le RJ45, environ 10cm de fil
  • et entre les deux RJ45 j'ai mis un câble RJ45 plat qui malheureusement n'est pas blindé.

Résultat, le LCD affiche des conneries au bout de quelques jours 24h/24 7j/7.

Donc, je vais ramener l'arduino domo à coté du LCD et réduire au maxi la longueur des fils.

Au cas où cela ne serait pas suffisant, même si je pense que cela sera bon, je pensais mettre un interrupteur sur le 5V mais cela ne devrait pas être suffisant car il me faut attaquer le signal.
Mais, quel signal prendre sur le HD44780 (8 fils y compris 5V et gnd)?

Où il aurait fallu mettre dans le sketch un On / Off du LCD si possible ?

Bonsoir bluemax2001

je te propose de hierarchiser les choses et de remettre à plus tard , si impératif, cette histoire de reset de l'afficheur lcd (non que ce soit impossible, mais parce que c'est , à mon avis,du bidouillage à éviter sauf cas extrème...)

et entre les deux RJ45 j'ai mis un câble RJ45 plat qui malheureusement n'est pas blindé.

tu as donc 25cm + un cable RJ45 plat, longueur 5m ? 10m ?
On dirait que ton afficheur alphanumérique à 6 'belles antennes'.
Il fait ce qu'il reçoit de l'Arduino OU ce que captent les fils.
Dès que la tension sur le fil Enable monte et franchit brièvement 2,5V l'afficheur prend en compte ce qui se trouve sur le bus de données de 4 fils (caractère à afficher ou commande).
Les 6 signaux sont d'égale importance et participent , à leur façon, au fonctionnement de l'afficheur.
Soit tu rappoches les deux boitiers et revois le câblage de manière à rendre le système beaucoup moins sensible,
Soit tu travailles en déport avec une solution de liaison appropriée à la distance de déport voulue et à l'environnement : Lcd I2C et I2Cprolongé, LCD Série et RS422.....
Dans ces deux cas, avec un câblage adapté le reset de l'afficheur ne devrait pas être nécessaire, du moins pas plus souvent que le reset de la carte Arduino !

Si tout cela échoue (ce serait bien surprenant) il sera temps d'envisager un 'pansement' permettant un reset sûr de l'affichage sans reset de l'Arduino. ça nécessitera quand même de relancer un "lcd.begin()", chose que tu fais certainement au niveau du setup() et non de loop(). La coupure de la seule alim de l'afficheur ne me paraissant pas sûre pour l'afficheur je ne proposerais que des solutions plus lourdes assurant la déconnexion ou la mise en haute impédance des 6 signaux : E, RS et les 4 Datas. Ce sera donc relativement lourd ... et à éviter !

Tu travailles en '6 fils' donc en mode 'Bus 4 bits'.
Après un reset Hard l'afficheur est en mode 8 bits. Pour cette raison et pour d'autres aspects de la configuration la séquence complète d'initialisation réalisée par lcd.begin() est indispensable. Pour retrouver son mode d'avant' c'est donc reset hard+initialisation soft. Avec ça l'afficheur serait OK ... mais vide... il faut recharger ensuite le contenu de l'affichage (Ram effacée)

Merci pour votre aide et toutes les informations utiles.

Je vais refaire mon boitier principale pour inclure les deux arduino (domo + téléinfo). On verra si besoin ou non d'une suite à donner.
Normalement, le mieux serait de tout mettre dans un boitier acier...

Je viens de ramener l'arduino à côté du HD44780. Le fil doit être maintenant de 15cm / maxi 20cm.

Est il possible de blinder des fils contre les parasites ? ou n'est pas nécessaire sur une aussi courte distance ?

bluemax2001:
Je viens de ramener l'arduino à côté du HD44780. Le fil doit être maintenant de 15cm / maxi 20cm.

Est il possible de blinder des fils contre les parasites ? ou n'est pas nécessaire sur une aussi courte distance ?

Bonsoir Bluemax2001
j'ai beaucoup d'equipements "certifiés" ayant des afficheurs HD44780 "alimentés" par des nappes sur des longueurs +/- 50cm
pas de blindage à proprement parler, mais les nappes transitent par des "ferrites" .

petite réflexion rapide :
attention en mode 4 bits à bien voir comment (où) sont cablés les 4 bits(pins) inutilisés de l'afficheur.
je me souviens d'un probleme entre deux afficheurs donnés pour etre interchangeables :
Le probleme venait d'une mise "en l'air" des pins inutilsées sur le module de remplacement alors que sur le module d'origine il y avait des R de tirage implantées (tirage au pull down il me semble, mais sous reserves) .
sur les fabrications cheap, ne pas implanter/router 4 resistances CMS en moins c'est toujours ça en moins :grin:

Merci, je vais regarder pour les R des 4 autres bits.

Pour l'instant, il tourne bien.

Je n'avais pas penser à mettre une férite bien qu'il m'en reste une. Tu les as sur les 8 fils ou juste sur les données ?

bluemax2001:
Merci, je vais regarder pour les R des 4 autres bits.

Pour l'instant, il tourne bien.

Je n'avais pas penser à mettre une férite bien qu'il m'en reste une. Tu les as sur les 8 fils ou juste sur les données ?

Bonjour
ceux que j'ai vu étaient équipés avec des ferrites spéciales câbles en nappes, genre ça
http://radiospares-fr.rs-online.com/web/p/noyau-ferrite/2574339/

le principe est de faire transiter tous les conducteurs au travers de la ferrite, ne pas le faire serait quasi pire que de ne rien faire, tu te retrouverais eventuellement avec des regimes pseudo différentiels :grin:

Pour l'instant, cela semble fonctionner avec la réduction du fil.

Comme il me reste de la férite, je vais essayer de la mettre.

Sinon, est ce que cela aurait pu être (ou peut-être) le fait qu'il tourne 24h/24 7j/7 ?

bluemax2001:
Pour l'instant, cela semble fonctionner avec la réduction du fil.

Comme il me reste de la férite, je vais essayer de la mettre.

Sinon, est ce que cela aurait pu être (ou peut-être) le fait qu'il tourne 24h/24 7j/7 ?

Bonjour
[HUM]
principe de base ici, là ou là :grin: :
Si c'est finalement bien tombé en marche,
alors il est est urgent de ne plus rien faire 8)
--->[]

bluemax2001:
Sinon, est ce que cela aurait pu être (ou peut-être) le fait qu'il tourne 24h/24 7j/7 ?

Avec les composants en provenance de chine tout est possible ...

Artouste:
[HUM]
principe de base ici, là ou là :grin: :
Si c'est finalement bien tombé en marche,
alors il est est urgent de ne plus rien faire 8)

... et de sortir la boisson pour fêter la réussite du projet 8)

La boisson ne sera pas pour tout de suite car nouveau plantage, uniquement du LCD =(

Donc reste à mettre la férite et en second tout mettre dans un boitier acier.

Je me demande si tout cela n'est pas du au passage en heure creuse du contacteur jour/nuit du cumulus. Je n'ai pas encore pu vérifier cela lors du changement en heure creuse EDF.

Pour l'instant, cela m'a gavé un peu d'où mon envie de le laisser de côté quelques temps :sleeping:

Sinon, je mettrais une petite tablette Android premier prix juste à côté...

bluemax2001:
La boisson ne sera pas pour tout de suite car nouveau plantage, uniquement du LCD =(

Donc reste à mettre la férite et en second tout mettre dans un boitier acier.

Je me demande si tout cela n'est pas du au passage en heure creuse du contacteur jour/nuit du cumulus. Je n'ai pas encore pu vérifier cela lors du changement en heure creuse EDF.

Pour l'instant, cela m'a gavé un peu d'où mon envie de le laisser de côté quelques temps :sleeping:

Sinon, je mettrais une petite tablette Android premier prix juste à côté...

Rapide
un petit filtrage condo = chimique+NP au plus prés de l'alim de l'afficheur ?