Bonjour à tous,
Je viens à vous suite à un petit souci sur une carte que je viens de réaliser, et qui me pose un problème. Je n'ai pas trouvé de soucis similaires dans les forums, mais j'ai l'impression qu'il s'agit de "presque rien".
Je m'explique : j'utilise un afficheur compatible chipset HD44780 (alphanumérique, 2*16 caractères), que je pilote avec un PIC 16F88, programmé en langage C, compilé par Hi-tech. La fonction d'initialisation du LCD est la fonction fournie dans les exemples de code avec le compilateur Hi-tech. (utilisation en mode 4 bits)
La "particularité" de la carte est l'utilisation des broches PGC et PGD pour la programmation du pic, mais également comme bits RS et EN pour le LCD.
Je précise que je n'ai aucun problème pour la programmation de la carte, malgré le fait que les broches PGC et PGD soient également reliées au LCD. En cas de pb, j'avais prévu d'enlever le LCD lors de la programmation.
Le problème est tout autre, et je ne l'avais pas vu venir... Lorsque j'alimente la carte avec le pickit, elle fonctionne parfaitement.
Lorsque elle est alimentée par une alim extérieure, pickit débranché, l'initialisation du LCD est hasardeuse : il faut parfois lancer 3 fois la routine d'initialisation, parfois beaucoup plus. (le pic, lui, fonctionne correctement. seul l'écran ne s'initialise pas)
Si je l'alimente par une alim extérieure, pickit branché sur la carte, mais pas sur le PC, idem.
J'ai tout d'abord pensé à des parasites sur les connecteurs PGC/PGD (reliées directement au LCD + à un connecteur pickit), mais rien dans les datasheet de pickit / expériences sur les forums ne semble aller dans cette direction. De plus, le PIC imposant un potentiel sur ces broches, j'imagine mal qu'elles puissent être parasitées.
J'ai ensuite pensé à un problème d'alimentation ; mais l'ajout d'un 100µF chimique au niveau de l'alim, + 100nF au plus proche de l'écran n'arrange rien.
Je suis un peu à court d'idées concernant des causes possibles de ce problèmes. Actuellement, la carte fonctionne très bien, une fois que l'écran est initialisé. J'ai ajouté un bp qui permet de lancer la procédure d'initialisation de l'écran, ainsi en appuyant quelques fois dessus, le problème est "résolu", mais ça ne me plait pas ; ce n'est pas une solution. J'ai essayé de faire une boucle à l'initialisation du LCD : lancer 100 ou 200 fois de suite l'initialisation, mais ça n'aide en rien.
Je suis preneur de toutes les idées / retours d'expérience à ce sujet.
Par avance, merci.
-----