Stai visualizzando 8 post - dal 1 a 8 (di 20 totali)
  • Autore
    Post
  • #9933
    piero55
    Partecipante

    Sto realizzando un timer per un’applicazione particolare. Devo azionare una piccola pompa a 12V per “n” volte al giorno per un tempo “m”. Fino a qui nessun problema. Senza utilizzare un RTC, volevo mantenere il funzionamento del PIC anche in mancanza della rete 230V. Ovvero, l’orologio deve funzionare correttamente mantenendo alimentato solo il PIC per non dover utilizzare una batteria troppo grande. Utilizzerò PROTON Basic e la domanda che volevo fare è la seguente: quando si toglie alimentazione, il PIC continua tranquillamente a funzionare quindi l’orologio prosegue il conteggio. Quando torna la rete, torna l’alimentazione a tutto il circuito ma, penso, di dover reinizializzare solo l’LCD. E’ fattibile con PROTON? Certo che con un RTC tipo il DS1307 non avrei questo problema ma mi si complicherebbe molto il programma stesso.

    #9935
    Picmicro675
    Partecipante

    Forse c’è da studiare come inviare i comandi al display. Per inviare un byte si usa il comando Print $FE, poi credo che dovresti vedere qual è il byte da inviare per eseguire il reset del LCD.
    Io so di questi comandi

    $define DisplayOff Print $fe,$08
    $define DisplayOn Print $fe,$0c
    $define CursorOff Print $fe,$0c
    $define CursorBlink Print $fe,$0f
    $define BackLight_On Print $fe, 3                  ' dipende se usato con interfaccia I2C
    $define BackLight_Off Print $fe, 4

    Penso che per il reset sia Print $fe,$01
    Provando ad interpretare il sorgente di arduino, pare che si deve inviare 3 volte lo $03, intervallato da 4,5 millisecondi.

    #9939
    piero55
    Partecipante

    Grazie, appena avrò tempo, ci proverò.

    #9945
    Picmicro675
    Partecipante

    Ho chiesto anche al forum di proton basic. Vedi qui

    #9960
    piero55
    Partecipante

    Grazie di tutto, informazioni interessanti.
    Avevo già utilizzato il sistema di mantenere il pic ed lcd alimentati proprio per il problema dell’inizializzazione dell’LCD, ma questa volta voglio passare a qualcosa di diverso. Penso che il DS1307 sia la soluzione migliore e lo sto sperimentando. Non l’ho mai usato e avendone alcuni nel cassetto, mi sono messo all’opera: nel sito pel PROTON, ho trovato ulcuni esempi di funzionamento e ci sto giocando. Ho solo notato che la simulazione è molto rallentata, è normale?

    #9962
    Picmicro675
    Partecipante

    Per il display è comodo poter disabilitarlo e togliere anche la retroilluminazione. Per il filtro dell’acqua ho fatto così (a parte che c’è su Arduino), poi ho lasciato un LED bianco puntato al plexiglas che mi segnala se tutto è acceso. Poco visibile di giorno..

    Col simulatore a volte si va alla velocità dei millisecondi come fossero secondi. Non so di preciso quale possa essere tale rallentamento, probabile che aggiungendo componenti discreti si sofferma di più a fare i calcoli. Se per caso usi delle resistenze solo per acceso/spento allora magari nelle proprietà gli puoi mettere il formato digitale. Poi eventualmente escludi certe parti dalla simulazione di poco conto. Magari hai messo la batteria e il quarzo al DS1307 che nella simulazione non contano.
    Si può fare uno schema per la simulazione e uno per lo sviluppo del circuito stampato. Il secondo magari sarebbe quello che produce i rallentamenti.

    #9964
    piero55
    Partecipante

    Per rallentamento nella simulazione, intendevo con proteus. Invece per il debug sempre con proteus, il programma non legge il ds1307. Poco male, ho già realizzato il circuito su breadboard e tutto va bene.

    #9966
    Picmicro675
    Partecipante

    Non ho avuto occasione di provare Un DS1307 al simulatore, ma con il DS3232 non ci sono problemi. Forse potresti provare con un altro RTC tanto da provare il resto del programma.

Stai visualizzando 8 post - dal 1 a 8 (di 20 totali)
  • Devi essere connesso per rispondere a questo topic.