[Risolto] - arduino 2009 e pcf8563

lo schema corretto e' il primo che hai postato, quello del primo post, pero' metti le resistenze di pullup piu' grandi, anche 10K vanno bene. Il quarzo quindi come vedi e' connesso solo ai pin1 e 2, ne' a condensatori, ne' a massa.

Se leggi infatti il mio primo intervento ti dissi che lo schema era buono.

le caratteristiche che hai letto aggiungono che il tipo di quarzo da usare e' un Serie, non un parallelo. Tu quale hai comprato ?

Ma queste sono finezze che pochi conoscono

Marbi: Testato ed astrobeed: scusami un secondo, mi stai dicendo che il quarzo non devo connetterlo a massa tramite il condensatore da 22pf? e neanche senza condensatore?

OSC1, e Il quarzo di conseguenza, va verso massa tramite un compensatore da 10-30 pf se vuoi un modo per tarare la frequenza di oscillazione, in caso contrario va messo verso gnd tramite un condensatore adatto per ottenere il valore consigliato di Cl (8 pf) dato dal paralello tra la capacità del quarzo e il condensatore aggiunto. La capacità del quarzo solitamente è 12.5 pf, per ottenere gli 8pf per cl serve una capacità da circa 22 pf collegata tra OSC1 e GND.

leo72:

Testato: spetta un attimo, chiariamo meglio.

l'rtc in questione ha i condensatori di carico del quarzo integrati, quindi

No, ha solo quello sul pin OSCO, sul pin OSCI deve essere messo esterno.

Quello e' uno schema di principio, non uno schema elettrico, in quell'RTC il carico e' integrato, se non credi a me, credi almeno alle pagine del datascheet :)

se nemmeno al datascheet volete credere prendete il circuito e ricreatelo senza quarzi C esterni e vedrete che funziona tutto

grazie astrobeed delle info, siete sempre così pronti e dettagliati

Testato, ho acquistato questo pcf8563

p.s. il tempo di "capire" quello che devo fare e rifaccio il circuito però mi sembrava non funzionare... tempo al tempo. :D

astrobeed:
OSC1, e Il quarzo di conseguenza, va verso massa tramite un compensatore da 10-30 pf se vuoi un modo per tarare la frequenza di oscillazione, in caso contrario va messo verso gnd tramite un condensatore adatto per ottenere il valore consigliato di Cl (8 pf) dato dal paralello tra la capacità del quarzo e il condensatore aggiunto.
La capacità del quarzo solitamente è 12.5 pf, per ottenere gli 8pf per cl serve una capacità da circa 22 pf collegata tra OSC1 e GND.

Scusa Astro se insisto, ma il datasheet a me sembra chiar, non servono condensatori esterni, e cliccando sull’1 della nota si arriva alle caratteristiche consigliate per il quarzo, piu’ precisamente viene consigliato un quarzo con resistenza serie 100KOhm e capacita’ parallela 12pF
Viene poi detto che volendo (ma solo se si vuole tarare), si mette esternamente su pin1, un compensatore da 25pF, da tarare con oscilloscopio su clkout

Testato: Scusa Astro se insisto, ma il datasheet a me sembra chiar, non servono condensatori esterni, e cliccando sull'1 della nota si arriva alle caratteristiche consigliate per il quarzo, piu' precisamente viene consigliato un quarzo con resistenza serie 100KOhm e capacita' parallela 12pF Viene poi detto che volendo (ma solo se si vuole tarare), si mette esternamente su pin1, un compensatore da 25pF, da tarare con oscilloscopio su clkout

Leggilo bene il datasheet, il valore di Cl visto tra OSC1 e OSC0 deve essere 8 pf, quindi serve il condensatore aggiuntivo, che viene visto in parallelo al quarzo, al fine di ottenere tale capacità, oppure ci metti il compensatore che ti permette di tarare con precisione la frequenza di oscillazione del quarzo.

se collego "a modo" di Testato ottengo questo

Error inside Serial.serialEvent()
java.io.IOException: Bad file descriptor in nativeavailable
    at gnu.io.RXTXPort.nativeavailable(Native Method)
    at gnu.io.RXTXPort$SerialInputStream.available(RXTXPort.java:1532)
    at processing.app.Serial.serialEvent(Serial.java:215)
    at gnu.io.RXTXPort.sendEvent(RXTXPort.java:732)
    at gnu.io.RXTXPort.eventLoop(Native Method)
    at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)

sembra avere problemi con la comunicazione (non mi da la possibilità di selezionare la porta del mio arduino 2009).

astrobeed:
il valore di Cl visto tra OSC1 e OSC0 deve essere 8 pf, quindi serve il condensatore aggiuntivo,

una delle caratteristiche che si pubblicizzano degli RTC sono le CL integrate, anche sul DS1307 e’ scritto, ed anche su questo nella prima pagina e’ scritto :

  • Integrated oscillator capacitor

che significa ?
Io non ho mai usato questo in particolare, ma sui Dallas il quarzo da solo funziona in presenza di questa feature

I 25pF integrati, in aggiunta dei 12pF del quarzo, fanno giusto 8 pF ? :slight_smile:

Questo è il datasheet: http://www.nxp.com/documents/data_sheet/PCF8563.pdf Pag. 3: il condensatore integrato c'è su pin OSCO, oscillator Output, ma non su OSCI, oscillator Input.

Io ho sempre messo un C da 22pF su OSCI ed è sempre andato bene. Uso i PCF8563 al posto dei DS da alcuni mesi.

A pag. 30 ci sono le caratteristiche del C esterno, compreso Cl. Essendo 2 C in parallelo, il calcolo è veloce: dato Cext da 22pF e prendendo per Cint un valore medio di 25pF come da datasheet, ottengo un Cl di 11,5pF, sotto ai 12,5pF dati come valore max.

Testato: che significa ?

Che ogni produttore fa come gli pare, sul DS1307 non devi mettere nessun condensatore, però devi tassativamente usare un quarzo da 12.5pf, sul PCF8563 ne serve uno per ottenere l'esatto valore di Cl richiesto dall'oscillatore interno.

e quindi mi stai dando ragione.

Si mette il quarzo con capacita' da 12,5 in modo che l'oscillatore veda una capacita' di carico da 8 (visto che internamente ce ne e'una da 25 valore tipico da datasheet)

x Leo: sbagli il calcolo sui condensatori, che e' il contario delle resistenze. Due C in parallelo si sommano, mentre aggiungendo solo il quarzo e' visto in serie al condensatore integrato da 25pF

Sì, scusa. E’ in serie. Il calcolo è fatto considerando i C in serie.
Difatti a pag. 30 del datasheet, sulle note in basso, danno il calcolo dei C in serie per ottenere Cl.

EDIT:
Anzi, se mi spieghi perché considerano i C in parallelo ma si calcolano in serie…

si ho letto anche io quella nota (pag 31, non 30) Ma scusa se tu togli il C esterno, lasciando quindo solo il quarzo, non connesso a massa, come si fa sui DS, che fa ? ti smette di oscillare ?

Io capisco le obiezioni, ma anche la mia non sembra assurda, cioe' il quarzo ha una capacita' inerna, la quale va calcolata insieme a quella interna per capire quanta capacita' "vede" l'oscillatore interno. E la serie tra i 12,5 del quarzo, ed i 25 interni, fa proprio 8pF. Aggiungendo che in giro si trovano infiniti schemi senza nessun C esterno.

EDIT: infatti anche io non l'ho capito, perchew' il C esterno verso massa, ed il C interno verso massa sarebbero in parallelo. Mentre il C intrinseco del Q e' giusto che sia in serie con il C interno, perche' il C intrinseco del Q non ha riferimenti a gnd

Io ho sempre usato il C esterno su OSCI, ed uso i PCF da diversi mesi. Ma, sinceramente, NON ho mai fatto la prova di farlo andare senza condensatorino.

Stasera vedo di fare un test, poi ti faccio sapere. Comunque, a prescindere dal fatto che vada oppure no, ma se lo consigliano sarà perché poi la precisione, usandolo senza, ne risente, non trovi?

ho aggiunto anche io un edit sopra

Per il discorso precisione pero’, se e’ come dico io siamo giusti ad 8pF, quindi il giusto. che poi sono dichiarati 5min/anno magari con quello esterno migliori, ma puoi anche peggiorare. Si dovrebbe mettere DSO su clockout e verificare

Testato: Per il discorso precisione pero', se e' come dico io siamo giusti ad 8pF, quindi il giusto. che poi sono dichiarati 5min/anno magari con quello esterno migliori, ma puoi anche peggiorare. Si dovrebbe mettere DSO su clockout e verificare

Se Cl non è 8 pf la frequenza di oscillazione risulta alterata e di conseguenza perdi precisione, ovviamente non parliamo di errori enormi, però sono sensibili.