Aansturing LCD4x20 HD4780

Voor een project maak ik gebruik van een 4x20 LCD. Om deze aan te sturen maak ik gebruik van een mcp23017 IO expander. Ik programmeer dit allemaal in C. Van te voren heb ik alles uitgetest op een een Breadboard. Hier werkte het volledig om het display aan te sturen. Vervolgens is hier een printplaat bij gemaakt. Deze is volledig doorgemeten en blijkt te kloppen.

Nu heb ik alle componenten erop staan en blijkt het niet helemaal goed te gaan. Ik heb vervolgens de hele initialisatie stap voor stap doorgenomen. Alle pinnen zijn doorgemeten op een scoop en dit blijkt allemaal te kloppen. Tijdens het doormeten zat de LCD er niet op. Ik was aan het meten over de header waar de lcd word op gezet. Vervolgens ben ik het ook gaan meten met de LCD er wel op. Toen kwam ik er achter dat pin DB2 altijd 1 is. Dit was niet het geval toen de LCD er niet op zat.

Hierdoor dacht ik dat het probleem in mijn LCD zit. Deze heb ik vervolgens getest op een werkend project. En daar deed hij het vervolgens wel. Het lijkt mij dan niet dat het aan de LCD ligt.

Beide gedeelten(LCD & IO Expander) blijken los te werken maar samen niet. Weet iemand hoe het mogelijk is dat wanneer ik beide onderdelen met elkaar verbind DB2 ineens hoog is?

ALvast bedankt!

Edit: Uiteraard is het een HD44780

Over welke DB2 praat je? Die van de LCD of die van je expander?

Wordt het LCD in beide gevallen gelijk aangestuurd (4-bit of 8-bit?)? Wissel eens een paar pins om en kijk of het probleem al dan niet mee verhuist. Je init is dan wel naar z'n moer, maar voor de levels die je ziet mag dat niet uitmaken.

Als je met de scoop meet, heb je waarschijnlijk software gebakken die wat met een pin doet. Dat is wat anders dan de init van de LCD. Zou je een software probleem kunnen hebben?

Zorg dat je NOOIT, NOOIT, NOOIT wat met Versatel Tele2 te maken krijgt!

Ik bedoel de DB2 van de LCD.

In beide gevallen word het lcd 8 bit aangestuurd. De source is zelfs gelijk. bij beide projecten. Ik zal de pinnen zo eens veranderen om te kijken of er iets veranderd!

Hmz... Als de source identiek is, zou je verwachten dat de hardware dat dus ook is. Dan heb ik toch het idee dat je een incidenteel probleem hebt.

Open deur: gebruik je voor beide tests dezelfde kabel tussen LCD en PCB? Rot contact in de connector waardoor DB2 altijd hoog blijft (wellicht heeft die LCD een pull-up; waar meet je precies?) RnW die niet leuk mee doet?

Als je toch aan het meten bent... Meet eens of die DB2 op het pootje van de expander hetzelfde doet als wat je eerst gemeten hebt.

Zorg dat je NOOIT, NOOIT, NOOIT wat met Versatel Tele2 te maken krijgt!

Een foto van de opstelling is soms ook een aardige toevoeging. Je weet nooit wat er boven water komt.
Heb je nog een ander LCD?

Heb geduld: alle dingen zijn moeilijk voordat ze gemakkelijk worden.

Ik heb momenteel geen camera tot mijn beschikking. Ik ben nu alles nog opnieuw aan het doormeten. Ik heb nog een andere LCD en krijg daar dezelfde problemen mee.

Dan lijkt mij de aanname dat het aan je eigen werk ligt op dit moment gerechtvaardigd...

Zorg dat je NOOIT, NOOIT, NOOIT wat met Versatel Tele2 te maken krijgt!

Waarom ik om een foto vraag is omdat je zelf soms dingen over het hoofd kan zien die je (juist omdat je ze niet ziet) niet eens beschrijft. Ik denk maar zomaar terug aan iemand die z'n werkstukje niet aan de gang kreeg, terwijl alles toch echt goed leek te zitten. Alle opties werden doorgesproken. Uiteindelijk kwam er een overzichtsfoto en bleek hij een metalen bureaublad te hebben. ;)

Heb geduld: alle dingen zijn moeilijk voordat ze gemakkelijk worden.