Pagina 2 di 6 PrimaPrima 1234 ... UltimaUltima
Risultati da 11 a 20 di 51
  1. #11
    Nimbostratus
    Data Registrazione
    Jul 2016
    Località
    Venezia Mestre CARPENEDO
    Messaggi
    1,842
    Ieri nella pausa dei lavori edili ho scoperto che il display 40x4 e' bello e leggibile anche senza retroilluminarlo, ma... vuole una tensione negativa per il contrasto. Quindi sto modificando la scheda per inserire un piccolo inverter

  2. #12
    Socio Meteotriveneto L'avatar di paolog
    Data Registrazione
    Jun 2007
    Località
    Udine Nord (a ovest di Paderno - Prati del Cristo) - 120 mslm
    Messaggi
    66
    Buon Lavoro !!!!!

  3. #13
    Nimbostratus
    Data Registrazione
    Jul 2016
    Località
    Venezia Mestre CARPENEDO
    Messaggi
    1,842
    Qualche piccolo aggiornamento sul montaggio.
    Posizionato e installato il modulino alimentatore, alla fine ho riciclato un 15W (5V 3A) cosi' scalda meno.
    DSC_9518.jpg
    Montato il piccolo quarzo dell'orologio, finito l'inverter (i condensatori vicino all'alloggiamento della pila) e ho finalmente montato anche il gruppo sensori locale. Termobarometrico, termoigrometrico e visto che avevo una sonda LM35DZ recuperata da un vecchio termostato... imbarazzo della scelta (da menu )
    DSC_9519.jpg
    E infine ci sono le torrette e il connettore... per accogliere il grande display.
    DSC_9521.jpg

    La tracciatura delle piste sotto la scheda e' piu' o meno completata, ora mancano da costruire e montare tutti i ponticelli superiori, dopodiche' volendo posso anche cominciare a scrivere qualche pezzo del software di controllo della stazione, ad esempio tutti i blocchi operativi relativi alla comunicazione con i sensori locali, la comunicazione con l'A/D esterno, qualcosa di gestione del display, cosi' posso gia' provare qualcosa: semplice visualizzazione dei valori letti.

    Tra non molto quel display mostrera' qualche numero...

  4. #14
    Nimbostratus
    Data Registrazione
    Jul 2016
    Località
    Venezia Mestre CARPENEDO
    Messaggi
    1,842
    Per i pochi che leggono... oggi e' un grande giorno.

    Preparati e montati tutti i ponticelli, fatto un paio di modifiche a dei condensatori perche' i 2 integrati 4067 ci sbattevano contro, e' arrivato il momento di cominciare qualche collaudo.
    Prova di presenza cortocircuiti: Ok
    Prova presenza alimentazione su tutti gli zoccoli degli integrati: Ok

    E' il momento di iniziare appunto a installare gli integrati sui relativi zoccoli, per ora quelli non direttamente collegati al processore.
    DSC_9523.jpg

    Regolazione della VREF delle porte, circa 2.5V
    DSC_9522.jpg

    Regolazione preliminare della tensione di contrasto del display, la scheda tecnica indica -3.5V
    DSC_9524.jpg

    La sonda analogica locale gia' funziona: 23.9°C sul tavolino.
    DSC_9525.jpg

    E il microprocessore per cui ora iniziero' a scrivere il programma, incaricato di gestire tutta la stazione.
    DSC_9527.jpg

  5. #15
    Nimbostratus
    Data Registrazione
    Jul 2016
    Località
    Venezia Mestre CARPENEDO
    Messaggi
    1,842
    Intanto sto facendo delle modifiche, perche' sto avendo grossi problemi a far funzionare il microprocessore il programma manco parte...
    Per ora uso il 16F887 ma penso che lo cambiero' con qualcosa di piu' potente e con piu' memoria, perche' per gestire la sola comunicazione I2C con il barometro locale, anche condensando il codice il piu' possibile, mi prende non poche righe di programma...

  6. #16
    Nimbostratus
    Data Registrazione
    Jul 2016
    Località
    Venezia Mestre CARPENEDO
    Messaggi
    1,842
    UPDATE: trovato il primo bug. Lo stadio oscillatore era impostato su media potenza per quarzi fino a 4 MHz ma io al momento ho montato un quarzo da 8 MHz, che da specifiche richiede l'impostazione al massimo, l'oscillatore non riusciva a far innescare il quarzo e il programma naturalmente non partiva nemmeno. Adesso ho corretto e l'oscillatore sembra partire e oscillare da subito, rimane il programma bloccato. Ma forse ho trovato anche quel bug... maledetti PIC vecchio stampo con la memoria di sistema divisa in bancate che vanno selezionate manualmente e al momento di preparare il file da scrivere nel micro, il compilatore non controlla se hai selezionato il banco giusto, quindi... se ti dimentichi, ti trovi a operare nel banco sbagliato e succede il patatrac!

    Per fortuna che i modelli piu' potenti che ho scelto per lo sviluppo avanzato non hanno piu' questa noia.

  7. #17
    Nimbostratus
    Data Registrazione
    Jul 2016
    Località
    Venezia Mestre CARPENEDO
    Messaggi
    1,842


    At last... oscillatore e programma funzionano! Adesso posso provare il display e i blocchi che ho scritto, vediamo quanti altri errori saltan fuori

    E magari anche mettere un bel quarzo da 16 MHz... ci vuole velocita'!

  8. #18
    Socio Meteotriveneto L'avatar di gasgallo
    Data Registrazione
    Sep 2015
    Località
    Montello 170m - Pordenone 24m
    Messaggi
    446
    Ciao, grazie di postare gli aggiornamenti! Sono curioso di vedere il risultato finale 😉

    Sent from my Nexus 5 using Tapatalk
    Davis Vantage PRO 2 - Volpago del Montello (170mslm)
    Monitoraggio dei siti freddi del Montello (Valle di Piero Gobbo) e dei colli Berici (Busa Maran)
    Tutti i dati su: http://montellometeo.altervista.org

  9. #19
    Nimbostratus
    Data Registrazione
    Jul 2016
    Località
    Venezia Mestre CARPENEDO
    Messaggi
    1,842
    Giusto prima mi e' venuto in mente come semplificare la gestione di un display che conta 160 caratteri questo modello di Pic ha 80 byte liberi per l'utente in ogni banco di memoria RAM, posso utilizzare lo spazio dei banchi 3 e 4 come "memoria video": il display va pilotato come se fossero 2 display da 40x2 distinti, cio' si sposa alla perfezione con i 2 banchi di memoria da 80 byte (ogni carattere del display e' 1 byte...)

  10. #20
    Nimbostratus
    Data Registrazione
    Jul 2016
    Località
    Venezia Mestre CARPENEDO
    Messaggi
    1,842
    Stasera c'e' qualche novita' piu' gustosa. Intanto ho provato a disegnare un primo schizzo di interfaccia grafica
    DSC_9528.jpg
    La gestione del display con la "memoria video" funziona alla grande. Nei progetti che ho sviluppato finora stampavo un carattere alla volta, specificandone le coordinate ogni volta, cosa che puo' andare ancora bene per gestirne 40 (vedi il display da 20x2 del circuito domotico Hi-Fi) ma quando diventano 160 comincia a diventare troppo voluminosa. Ora invece mi basta soltanto aggiornare una "copia" dell'immagine del display che tengo nella RAM del microprocessore e poi chiamare la procedura che automaticamente provvede a mandare tutti i caratteri in blocco, dal primo all'ultimo, e ci pensa il display a incrementare automaticamente le coordinate per stamparli tutti in fila. Ottimizzata per occupare meno memoria e meno tempo possibile, ha il difetto che "ristampa" anche i caratteri che non cambiano ma semplifica e snellisce il programma, soprattutto se si devono gestire molte schermate diverse.

    Il campionamento del sensore LM35 soffre il fatto che il convertitore integrato nel Pic e' a 10 bit e con una tensione di riferimento di 4.096V non mi permette di scendere sotto i 0.4°C di precisione. Sto pensando a un partitore per ricavarne 1.024V e ritornare a 0.1°C di precisione ma oltre a trovare spazio sulla scheda aggiungerei all'errore di sensore e A/D quello delle resistenze del partitore (anche se di precisione 1%). Vedremo, comunque ho notato una differenza tra la lettura dell'A/D e il valore indicato dal mio tester collegato all'uscita del buffer: circa 10mV o 1°C... mi servira' un termometro campione per controllare chi dei 2 ha ragione

    Ora e' attivo e funzionante anche il blocco di programma relativo all'acquisizione dei 16 canali analogici dai connettori. Nella foto sopra trovate indicati 2 valori in basso a sinistra: sono i valori in mV letti dal convertitore A/D esterno a 12 bit. Il primo e' ottenuto con il potenziometro blu attaccato al primo connettore, il secondo e' il campionamento della tensione di bias VREF che poi posso sottrarre via software. Queste letture sono molto piu' allineate al tester, quasi perfette.
    Purtroppo, per come ho realizzato il circuito, se viene selezionato un ingresso analogico aperto o disabilitata l'acquisizione analogica, l'ingresso del convertitore rimane aperto e a causa della sua alta impedenza la tensione tende a portarsi sui 3.5V (si carica il condensatore del filtro RC sull'ingresso) perche' sente tutti i disturbi nei paraggi e sulla scheda stessa. Sto pensando a modifiche hardware o software per cercare di ovviare o mitigare questo inconveniente.

    Tornando al display, alla fine ho dovuto abbandonare la soluzione dell'inverter per ottenere la tensione negativa necessaria al suo pilotaggio, installando nello spazio libero della scheda, sotto il display, un minuscolo trasformatore da 0.35W e relativo stabilizzatore per ottenere una tensione di -5V che con un trimmer applico al terminale contrasto. Funziona ma il trasformatore e' un po' piccolino e scaldicchia, sto pensando di sostituirlo con uno da 1.5W basso (che sta sempre sotto il display).

    Il prossimo blocco di programma da collaudare sara' la comunicazione I2C per leggere gli hPa (e potrei anche provare a leggere la temperatura da quel sensore per confrontarla...)
    Immagini Allegate Immagini Allegate

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •