Go Down

Topic: Pico85 SMD - La prima board Arduino compatibile di Gioblu Robotics (Read 19569 times) previous topic - next topic

Michele Menniti


Se segui la mia guida, NON usare le librerie di Saporetti ma utilizza direttamente il Tiny Core. Facendo le debite modifiche, ovviamente.
Se hai bisogno di info, chiedi pure. Io ho "manomesso" anche altre lib (a ricordarsele tutte...  :smiley-sweat:) per farle andare sul Tiny. Cmq trovi tante info nel mega-thread "Giocando con l'Attiny85" che ho aperto su questo forum.

Leo, ogni volta che indirizzi alla tua Guida devi specificare questa cosa delle libs, ma non fai prima a modificare il Tutorial, pensando anche a quelli (molti di più secondo me....) che se la scaricano SENZA passare dal Forum e senza consultarti? Hai fatto un gran lavoro, metti pure la ciliegina, ti garantisco che sono tutte benedizioni ricevute.... ;)

Quote
Io ho "manomesso" anche altre lib (a ricordarsele tutte...  :smiley-sweat:) per farle andare sul Tiny

Questo sarebbe un altro bel service all'umanità, mettere ordine e piazzare tutto sul tuo sito XD
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

gbm

Pagina 26 datasheet http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf
High Frequency PLL Clock
There is an internal PLL that provides nominally 64 MHz clock rate locked to the RC Oscillator
for the use of the Peripheral Timer/Counter1 and for the system clock source.  
The system clock source, by programming the CKSEL fuses to '0001', it is divide by four.

Il succo è che il PPL clock ad alta frequenza integrato nell'MCU puo' arrivare a 64mhz.
Programmando CKSEL fuse a 0001 lo si divide x 4 ottenendo 16mhz

Devo assolutamente provarlo a 64mhz ahahahah
Community robotica / programmazione Arduino
www.gioblu.com

BrainBooster

l'oscillatore interno rc secondo mè a quelle frequenze non è affidabile, basta una variazione di temperatura per sballare il clock di molto.

astrobeed


abbia detto qualcosa di negativo a proposito di frequenze elevate non quarzate, ma non ricordo il contesto,


Se la memoria non mi inganna era relativamente all'utilizzo della Vusb senza quarzo e allo "smanettamento" dell'oscillatore RC per tirarlo a 12MHz, cosa fuori specifiche e poco raccomandabile.
Il discorso del PLL (8x) è diverso perché dal data sheet risulta che è possibile utilizzarlo anche come clock di sistema, l'uso primario è come clock delle periferiche, e grazie ad un divisore 1:4 dovrebbe essere possibile ottenere 16 MHz sul clock del micro.
Però il data sheet è un pochino criptico su questa cosa dato che c'è di mezzo anche un divisore per due sul clock RC in ingresso al PLL che sembra riportare il clock del micro a 8 MHz (8MHz / 2  * 8 / 4 = 8 MHz) quando si opta per il clock proveniente dal PLL invece che direttamente dall'oscillatore RC.
C'è da fare qualche prova pratica per capire come stanno realmente le cose.

Michele Menniti


Pagina 26 datasheet http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf
High Frequency PLL Clock
There is an internal PLL that provides nominally 64 MHz clock rate locked to the RC Oscillator
for the use of the Peripheral Timer/Counter1 and for the system clock source.  
The system clock source, by programming the CKSEL fuses to '0001', it is divide by four.

Il succo è che il PPL clock ad alta frequenza integrato nell'MCU puo' arrivare a 64mhz.
Programmando CKSEL fuse a 0001 lo si divide x 4 ottenendo 16mhz

Devo assolutamente provarlo a 64mhz ahahahah


Se CKSEL settato a 0001 divide 64x4, chissà che a 0000 non divida per 0, praticamente un over-clock infinito, non reggerebbe la vetronite ]:D Scherzi a parte bisogna capire se non sia vera questa storia del cane che si morde la coda citata da Astrobeed (hai ragione, era sulla questione della virtual USB :))
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

gbm

Un'altra cosa davvero criptica nel datasheet è limiti dell'uso del PIN reset come input o output, che viene definito weakpin.
Qualcuno di voi ha qualche info al riguardo?
Community robotica / programmazione Arduino
www.gioblu.com

BrainBooster

la corrente di quel pin usato come output è più bassa degli altri pin digitali.
tornando al discorso del pll o High Frequency PLL Clock se non ho capito male viene attivato il generatore interno che è a 64mhz  ma ha il suo divisore x4 quindi in teoria se alimntato oltre i 4V dovrebbe far girare il timer1 a 16Mhz al massimo no?

astrobeed


Un'altra cosa davvero criptica nel datasheet è limiti dell'uso del PIN reset come input o output, che viene definito weakpin.


Significa che può fornire molta meno corrente degli altri pin quando utilizzato come GPIO, sul data sheet ci sono varie tabelle che illustrano come varia la tensione in funzione della corrente sul reset, già a solo 2.5 mA siamo al limite dei livelli logici.

gbm

Dite che basta la corrente del reset per dare un HIGH logico?? E' possibile utilizzarlo come input analogico o digitale?
Vorrei capire se puo' essere utilizzata come una normale porta input o output e quali sono i limiti (es evitare di resettare la mcu  :smiley-mr-green:)
Community robotica / programmazione Arduino
www.gioblu.com

BrainBooster

aspetta però, l'uso è esclusivo, nel senso che o è reset o è pin. (non è questione di soglie)
e quando è pin (output) la corrente che ti può dare in uscita è quella che ha detto astrobeed prima.
Occhio che se disabiliti il reset per usarlo come pin , dici addio alla programmazione icsp.

astrobeed


Dite che basta la corrente del reset per dare un HIGH logico?? E' possibile utilizzarlo come input analogico o digitale?


Il livello logico dipende esclusivamente dalla tensione, quindi non ci sono problemi sotto questo profilo, però dato che questo pin non è in grado di erogare più un paio di mA, anzi meglio rimanere sotto il singolo mA.
Non si può usare il reset come GPIO per accendere un led o pilotare la base di un transitor, puoi usarlo per comandare un qualunque gate logico, un ingresso digitale di un micro, il gate di un piccolo mos a patto che sia un azionamento a bassa velocità, no pwm.
Il reset risulta anche come ADC0, quindi è utilizzabile come ingresso analogico e, ovviamente, anche come ingresso digitale.
Attenzione che se setti il reset come GPIO non puoi più programmare il micro tramite ISP, devi ricorrere alla modalità HV.
Sul data sheet relativamente al fuse RSTDISBL trovi queste note:

Code: [Select]

1. Controls use of RESET pin. See "Alternate Functions of Port B" on page 62.
2. After this fuse has been programmed device can be programmed via high-voltage serial mode only.

Michele Menniti

In definitiva conviene, se proprio serve, utilizzarlo come ingresso A o D, sarebbe immediato e non richiederebbe logica esterna; mi pare che gbm accennasse ad una sorta di "protezione" della mcu, riferendosi certamente ad uno sketch precaricato; in effetti la programmazione HV non è proprio alla portata di tutti, quindi sarebbe una buona idea per un prodotto commerciale, non ci stiamo certo riferendo a copyright.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

@Mike:
che devo dire, si vede che sono uno che anticipa i tempi  XD
Cme adesso che sto usando i Tiny84 e mi trovo veramente bene.
Poi ho il 644 ancora da "scartare" e tra un po' ordino un nuovo micro, ci ho già messo gli occhi sopra. Devo capire se si può usare con l'IDE, il Tiny861.  :P

Il pin di reset del Tiny85 non va configurato come I/O altrimenti, come ha detto astrobeed, o si è dotati di un prrogrammatore professionale che ha anche l'A.T. oppure non ri riflasha più il micro. Fermo restando che riprogrammando i fuse lo si può rimettere "a posto" però diventa una menata ogni volta che devi cambiare lo sketch.

gbm

Ciao Leo, ci abbiamo gia pensato noi con ArduOpen!!  :smiley-mr-green:
Come vedi dalla screen abbiamo integrato anche questo port insieme a moltissimi altri delle architetture AT90, ATmega e ATtiny, suddivisi da un comodo menu per tipologia. Anche secondo me è una delle MCU ATtiny piu' interessanti  :smiley-mr-green:

Se hai tempo prova ArduOpen!! Sono curioso di sapere cosa ne pensi.
Community robotica / programmazione Arduino
www.gioblu.com

leo72

Hai un link diretto per la versione Linux dell'IDE Arduopengià compilata? Una volta ho provato a tirarmi giù i sorgenti Java ma non sapevo neanche come compilarli ed ho lasciato perdere.  :smiley-sweat:

EDIT:
ops, mi sa che è quello che hai linkato. L'estensione .zip mi ha tratto in inganno. Ma perché non hai usato un archivo tar.gz?

Go Up