Info lcd Ks0108

Intanto mi sono procurato una scheda originale in cui era collegato il display.. e infatti c'è un 7660 ed un trimmer.

C'erano! Le ha recuperate...
Michele tu che componenti hai per l'I2c,io ho ordinato l'MCP23017,se lo avete anche voi inizio a lavorare con il layout su quel chip .
Ditemi voi se posso procedere,così appena mi arrivano i comp devo solo montare e testare,se tutto fila liscio senza dover fare modifiche ve ne mando una copia.

Io ho usato un MCP23017 e questa è la foto di dove sono arrivato.
A sinistra c'è il 7805 e il 7660 mentre a destra il chip I2C con il display.
Come potete vedere, ci sono quelle righe che al momento non sono riuscito a capire il motivo del perchè escono. Mentre in quello adafruit con il 7660 montato, non da lo stesso problema...
Domani vi farò una foto della scheda originale su cui era montato il display.

Potresti provare a pulire bene i contatti del pinout del display con uno spazzolino ed un po di alcool perchè vedo che sono sporchi e potrebbe dare problemi di questo tipo.....Ovviamente prima di rimontarlo assicurati che sia ben asciutto :slight_smile:
Fammi sapere poi.
Aspetto a domani per l'altra foto.
Ciao

A me serviva una foto con i componenti SMD montati, ho preso sia la versione DIP che quella smd, ovvio che completo il display, senza incasinarmi la vita; ho preso gli MCP23017 come abbiamo concordato in precedenza.
L'altra cosa che mi serve è proprio lo schema dei collegamenti Arduino-MCP23017-Display, in modo da poterli replicare rapidamente.

per il momento vi do il link del sito in cui Nick spiega molto bene il tutto... tra cui anche spiega in modo molto esaustivo come funzionano i protocolli I2C e SPI.. oltre ad altri...
Questa sera vi posto il resto...

Ecco vi mando la foto del circuito originale..

è diversa da quella che ci invio' l'altro nostro amico, a questo punto dovresti fare l'elenco dei componenti (sigle) che devo montare ed i rispettivi valori :sweat_smile:

Allora vi scrivo i dati dei componenti..

C27= 1mf 16V
C26= 1mf 16V
C28= (niente scritte)
TR1= 10K64
JP1= 000
R63= 472
JP4= 000
Q10= 5BW 63
R62 330

arrivò XD XD XD
allora i componenti che mi stai elencando non c'entrano nulla con la "mia" situazione, invece tornano alla perfezione, con la foto di tecno, stessi componenti e stesse sigle, quindi penso di poter usare quei valori di cui ho già preso nota.
Allora come primo passo voglio completare la componentistica on board, aggiungere un potenziometro esterno ed alimentare per verificare la corretta funzionalità del contrasto.
Poi lo collego con la normale configurazione a 4 bit, usando la lib "glcd", nella quale ho trovato almeno una decina di sketch di esempio.
Quindi passerò all'implementazione dell'MC23017 per pilotarlo in I2C.
Ma di quest'ultimo metodo non conosco nulla, eccetto il fatto che devo usare i pin A4-A5 di Arduino. Dal punto di vista hardware ho il bellissimo link di Nick Gammon, ed ho copiato l'intero blog, ma sono 60 pagine di word :fearful:
Va bene, una cosa per volta. Per quanto mi riguarda, appena possibile, andrò in laboratorio ed inizio la sperimentazione; i test col 23017 non sono proibitivi, davvero una decina di collegamenti, non so se val la pena che tonid realizzi un PCB, Nick ha messo perfino le foto della realizzazione su millefori, alla fine si tratta solo di un chip, visto che la gestione della tensione negativa è on-board sul display e conviene decisamente sfruttarla. Intanto mi faccio uno scrolling del Topic per vedere se mi è sfuggita qualche info importante, in caso non esitate a suggerire.

Ok perfetto ! Si inizia il progetto :smiley:
I valori che ti ho dato sono dei componenti che sono sulla scheda "madre" a cui il display era collegato. Ma penso che non ci siano problemi anche per quelli che ha dato tecno.
Io il collegamento I2C l' ho fatto su breadboard, ma se poi decidiamo di usare l' I2C penso che sia utile anche un PCB per collegare il chip e potenziometro dietro al display.

Allora, il primo step di prove è fatto XD
Ho montato i componenti smd direttamente sul display
Ho collegato il display ad Arduino 2009 (compreso alimentazione) in modalità parallela
tra 5V e anodo del led backlight ho messo una R da 6,2 ohm per rispettare le specifiche.
Il display sta mostrando le sue meraviglie con lo sketch GLCDemo, non ci sono linee né disturbi di alcun genere.

Però ho notato che il trimmer del contrasto va messo al massimo, il motivo risiede nel fatto che in realtà il circuito del 7660 a vuoto eroga -3,94V che sotto carico scendono a -3,62.

Quindi prima di procedere con l'I2C vorrei superare questo problema.

Io ho usato i componenti indicati dalla foto di tecno, perché sono identici come sigla componente (C61-62, R61-62-63, Q1); per Q1 ho usato un BC857 PNP, e dovrebbe andare bene; ma un piccolo imbroglio l'ho fatto: non avendo dei 4,7µF di piccole dimensioni, ho messodei C da 1µF al loro posto, perché erano usati sull'elenco di sz, e temo siano proprio loro. Ora ho trovato dei 10µF di dimensioni adeguate e ce li schiaffo su, penso di risolvere, i condensatori sono troppo importanti in questi circuiti di conversione dc-dc. A più tardi....

Ora che vedo meglio mi ha imbrogliato sz ]:smiley: lui ha scritto che i C sono da 1µF ma sulla foto che ha postato si vede chiaramente che sono da 10µF ]:smiley:

EDIT: sostituiti con due C tantalio da 10µF: la tensione è salita a -4,28V che sotto carico scende a -3,98; ho sperimentato che il valore ottimale per il contrasto è circa -3,78V; per migliorare la regolazione il trimmer conviene metterlo da 1kohm, rispetto ai 10kohm l'influenza sulla tensione è trascurabile ma la regolazione è decisamente più lineare. Bisogna considerare ancora che il display assorbe 150mA e decisamente non bisogna trascurare la R di limitazione sulla retroilluminazione, diversamente l'assorbimento può aumentare fino a 270mA, col rischio di bruciare i LED. Comunque sia anche 150mA sono un peso per Arduino, infatti la tensione con il solo Arduino funzionante è di circa 5,15V, collegando il carico dei 150mA del display scende fino a 4,94V. Sono tutti valori accettabili e non c'è niente che surriscalda, ma in una eventuale applicazione decisamente prevederei i 5V esterni per il display. Per tale ragione, se Tonid ritiene di voler ancora realizzare il PCB per l'MC23017 a questo punto io sarei d'accordo perché potrebbe aggiungere il classico circuito di un 7805 + 4C, con un bel jumper (anche del tipo a saldare) per commutare o i 5V di Arduino o i 5V del regolatore. IL PCB si può realizzare tranquillamente con componenti DIP, prevedendo che essi siano orientati verso il basso ed il PCB SOTTO il Display e completamente nascosto da esso, non come ho visto nelle foto dove l'MCP23017 lo hanno fatto sporgere davanti al connettore; in termini meccanici quei 2-3cm possono diventare molto importanti.
Per stasera va bene così, sono molto soddisfatto XD, naturalmente se avete dubbi o considerazioni sono a disposizione

Sorry Michele, hai ragione sui condensatori ho fatto degli errori di battitura... :astonished:
Magari se riesci posta una foto di quello che hai saldato.

superzaffo:
Sorry Michele, hai ragione sui condensatori ho fatto degli errori di battitura... :astonished:
Magari se riesci posta una foto di quello che hai saldato.

ok, appena possibile, comunque sono del tipo della foto di tecno, polarizzati al tantalio, bisogna fare attenzione alla polarità, seguendo il simbolo "+" messo su ognuno di essi.

Dalle nostre parti, statisticamente, quindi con un certo ma comunque minimo margine d'errore, quando qualcuno non si fa vivo per un periodo superiore alle 48 ore, assume lo status di latitante, non faccio nomi, c'è bisogno?

Sorry.. ma ero ko con la febbre....
Ho visto il tutto, mi sto procurando i componenti passivi e così inizio provare anche io... ma ti volevo chiedere.. il transistor secondo te a cosa serve ?
Perchè su quello adafruit non c'è, al suo posto hanno fatto un ponte con una resistenza 0.

superzaffo:
Sorry.. ma ero ko con la febbre....
Ho visto il tutto, mi sto procurando i componenti passivi e così inizio provare anche io... ma ti volevo chiedere.. il transistor secondo te a cosa serve ?
Perchè su quello adafruit non c'è, al suo posto hanno fatto un ponte con una resistenza 0.

ma guarda che mi riferivo a tonid, non a te!!! :sweat_smile:, ti faccio notare che non interviene più sul Topic dal 10 gennaio, eppure in giro c'è :wink:
Il transistor è un amplificatore di corrente, il contrasto ha il suo assorbimento, il circuito del "nostro" display eroga una tensione al limite della regolazione, e sotto carico tale tensione scende, se elimini il transistor non ce la fa. Evidentemente Adafruit è riuscita a tirare fuori oltre 4V e quindi anche la diminuzione di tensione per il carico garantisce quanto serve per la corretta regolazione. Bisognerebbe studiare bene, con qualche esperimento sulla versione DIP del 7660 (non certo sul display), per riuscire ad ottenere una tensione maggiore ed allora lo puoi anche bypassare. Con i valori che ho usato io sono arrivato ad una condizione ottimale, ma il transistor secondo me serve.

Ok.. allora la cosa mi torna un po'...
Perchè, se ricordi, le prove che ho fatto con l' i2c erano che con il display adafruit i problemi di visualizzazione non mi dava gli errori a video che invece questo display mi da. Tonid diceva di pulire i contatti, ma secondo me è dovuta a una bassa tensione o corrente.
Io ho ancora il circuito di test con i DIP se mi puoi dire una sigla di un transistor equivalente, penso che si possa fare la prova anche con il 7660 esterno
Cosa dici ?
Per tonid, effettivamente è un po' che su questo topic non scrive... probabilmente ha qualche altro problema.. penso che si farà sentire a breve.

Le linee che ho visto nelle foto NON possono dipendere dalla tensione del contrasto e nemmeno da quella della retroilluminazione; invece se NON hai messo una R da 5,6-6,2ohm (leggi il mio riepilogo) tra l'alimentazione e l'anodo della backlight, l'assorbimento del display sarebbe notevole provocando una caduta di tensione generale che potrebbe anche giustificare il problema. Prova a misurare l'alimentazione del display mentre vedi quelle linee ma prova anche qualche altro esempio, che non sia un problema software.

Puoi usare un qualsiasi transistor plastico TO92 PNP, tipo BC557 o BC327 o BC328 o similari. Quando lo trovi mi dai la sigla e ti spiego come collegarlo

@MIchele
Ci sono,ci sono..........ho da un paio di mesi dei problemi di salute in famiglia che mi portano, purtroppo, molto lontano con la testa ma ci sono.
Ho montato anche io il tutto nella modalità parallela e caricato lo scketch big demo e tutto funziona perfettamente.

Per tale ragione, se Tonid ritiene di voler ancora realizzare il PCB per l'MC23017 a questo punto io sarei d'accordo perché potrebbe aggiungere il classico circuito di un 7805 + 4C, con un bel jumper (anche del tipo a saldare) per commutare o i 5V di Arduino o i 5V del regolatore. IL PCB si può realizzare tranquillamente con componenti DIP, prevedendo che essi siano orientati verso il basso ed il PCB SOTTO il Display e completamente nascosto da esso, non come ho visto nelle foto dove l'MCP23017 lo hanno fatto sporgere davanti al connettore; in termini meccanici quei 2-3cm possono diventare molto importanti.

Per la realizzazione del pcb sono sempre a disposizione ,l'unica cosa è che io ho solo a disposizione i componenti in smd,ero convinto di aver ordinato anche in dip ma probabilmente stavo acchiappando le farfalle, e quindi la scheda mi viene comodo farla in smd ma se voi avete solo le versioni in dip vi mando io i chip in smd insieme al pcb ed il problema è risolto.
Non è un problema inserire anche un 7805,anzi, potrebbe sicuramente tornare utile......
Per ora,fino a che non faccio il pcb,non posso provare con l'I2C ma credo che riuscirò a farlo entro la settimana che viene.
@sz
Passata la febbre?

Una cosa che ho dovuto modificare,me ne stavo dimenticando,riguarda i collegamenti al display ed in particolare i pin facenti capo ai chip select ho dovuto invertire i fili ...il pin A0 di arduino l'ho mandato al pin 15 del display ed A1 l'ho mandato al pin16 mentre nello schema "B" faceva al contrario.....non ho approfonditola cosa,magari si può modificare via sw...
Ovviamente non invertendo i fili il display funzionava ma i quadranti del display non risultavano corretti.
Per il contrasto invece,ho fatto anche io due misure,con il display acceso arrivo a misurare circa -4v al pin 18 (Vee) ed ottengo un buon contrasto con il trimmer(10K) impostato su -3,5volt ( pin 3 dell'lcd)....come condensatori ho messo 15uF al tantalio,non ho valori più piccoli.
L'assorbimento da parte del display,con una R di 12 ohm per la retro illuminazione, mi risulta di circa 100mA.
Con R da 6 ohm arriva invece a circa 140mA.....devo dire che con la R da 12 ohm si ha comunque un'ottima retro.