Cristallo su pin header?

Ciao a tutti Ci sono controindicazioni particolare a non montare direttamente il cristallo da 16 Mhz in un arduino standalone ma a montarlo su un pin header femmina a tulipano? In questo modo sarebbe intercambiabile :)

Mmm.. io non sarei molto convinto...intanto aumenta la distanza del pin, e dopo è più facile che faccia contatto male e che non oscilli...meglio che una bella saldatura con lo stagno non c'è niente!

al limite mi pare, che se vuoi ottenere frequenze minori puoi attivare tramite fuse il divisore interno del micro per farlo lavorare a 16,8 o 1 MHz...quindi invece che cambiare quarzo, cambi i fuse e sei a posto! :D

Ok, niente cristallo su pin allora

alexdb: Mmm.. io non sarei molto convinto...intanto aumenta la distanza del pin, e dopo è più facile che faccia contatto male e che non oscilli...meglio che una bella saldatura con lo stagno non c'è niente!

al limite mi pare, che se vuoi ottenere frequenze minori puoi attivare tramite fuse il divisore interno del micro per farlo lavorare a 16,8 o 1 MHz...quindi invece che cambiare quarzo, cambi i fuse e sei a posto! :D

a 1 e 8 MHZ può lavorare con l'oscillatore interno, i 16MHz li puoi ottenere solo con il quarzo esterno (o un oscillatore, come quello di Arduino UNO, più economico, ma meno preciso). Puoi montare il quarzo esterno e ricorrere invece all'uso del prescaler, che modifichi via software, invece di dover cambiare i fuse, operazione più lunga e scomoda.

Ma i prescaler non funzionano solo sui pin PWM?

IngHooch: Ma i prescaler non funzionano solo sui pin PWM?

Sui pin PWM ?te usi i registri nel PWM... il prescaler di cui parlano ora è una specie di moltiplicatore di frequenza o divisore di tempo :D

flz io nella scheda di sviluppo per PIC per cambiare i quarzi ho un Header di quelli a tulipano e non ho mai avuto alcun problema...

IngHooch: Ma i prescaler non funzionano solo sui pin PWM?

Ci sono diversi prescaler all'interno di una MCU, praticamente quasi ogni periferica ha il suo per poter avere un particolare clock rispetto a quello di sistema.

ratto93: Sui pin PWM ?te usi i registri nel PWM... il prescaler di cui parlano ora è una specie di moltiplicatore di frequenza o divisore di tempo :D

Per gestire il PWM si usa il prescaler lo stesso. Il prescaler è un divisore che serve per ridurre di un certo fattore il segnale di clock che alimenta il contatore del timer rispetto alla frequenza di sistema.

leo72:

ratto93: Sui pin PWM ?te usi i registri nel PWM... il prescaler di cui parlano ora è una specie di moltiplicatore di frequenza o divisore di tempo :D

Per gestire il PWM si usa il prescaler lo stesso. Il prescaler è un divisore che serve per ridurre di un certo fattore il segnale di clock che alimenta il contatore del timer rispetto alla frequenza di sistema.

an in questo senso ok...

Il prescaler ha la sua utilità ma poter cambiare quarzo ha la sua versatilità e permette di raggiungere frequenze (es. 20 Mhz, 12 Mhz, etc..) difficilmente raggiungibili con un quarzo da 16 Mhz.

La cosa migliore probabilmente sarebbe un oscillatore regolabile ma in mancanza d'altro.. anche un pin header va più che bene Per il momento ho deciso di non includere nel nuovo standalone il quarzo ad ogni modo per ridurre il numero dei componenti e aumentare il numero dei pin disponibili

Domanda: come posso accedere ai pin XTAL1 e XTAL2 tramite le librerie di Arduino?

flz47655: Il prescaler ha la sua utilità ma poter cambiare quarzo ha la sua versatilità e permette di raggiungere frequenze (es. 20 Mhz, 12 Mhz, etc..) difficilmente raggiungibili con un quarzo da 16 Mhz.

Il discorso si riduce a questo: fai un Arduino standalone o un Atmega328 standalone? Nel primo caso, visto che cerchi di replicare un Arduino, userai obbligatoriamete il quarzo da 16 MHz perché tutte le librerie di Arduino nonché la stragrande maggioranza delle librerie di terzi sono scritte specificatamente per l'Arduino, ossia sono fatte per lavorare su un circuito che è impostato a 16 MHz. Ad esempio, uno stupido PWM fatto con l'analogWrite non funziona correttamente se lo usi su una MCU che va, esempio, ad 8 MHz, perché quella funzione non controlla che la frequenza del clock sia diversa da 16 MHz e predispone i timing del timer in un certo modo.

La cosa migliore probabilmente sarebbe un oscillatore regolabile ma in mancanza d'altro.. anche un pin header va più che bene Per il momento ho deciso di non includere nel nuovo standalone il quarzo ad ogni modo per ridurre il numero dei componenti e aumentare il numero dei pin disponibili

Quindi fai un Atmega328 standalone.

Domanda: come posso accedere ai pin XTAL1 e XTAL2 tramite le librerie di Arduino?

Che io sappia... no. Si torna alla mia prima risposta: le librerie di Arduino sono scritte per un determinato hardware, e la scheda Arduino prevede appunto il clock esterno su Xtal1/2 per cui abilitando l'oscillatore interno non hai niente per accedere a quei 2 pin aggiuntivi. Devi farlo tu manualmente, il codice per poterteli gestire.

Ok, mi gestisco coi registri i pin

Grazie a tutti Ciao