Go Down

Topic: ATmega328P a 3.3V, funziona I2C? (Read 4836 times) previous topic - next topic

pelletta

Il circuito da cui ho preso spunto aveva un adattatore di livelli sul bus I2C perchè veniva collegato ad un arduino, quindi alimentato a 5V mentre l'integrato lavora fino a 3,6V.
Non avendo dei mosfet BSS138 per fare l'adattatore ho provato ad alimentare anche l'atmega a 3.3V in modo da poter testare fin da subito se ero in grado di saldare quel tipo di integrato così piccolo, l'ho detto fin da subito che era una sfida.
Non avendo mai provato la comunicazione I2C con clock inferiori a 16MHz e tensioni di alimentazione minori di 5V ho dovuto sperimentare un bel pò.
Di problemi ne ho (abbiamo) incontrati abbastanza ma sono stati tutti superati alla grande e vi ringrazio tantissimo.

Farò altri test con la seriale a questo punto


Michele Menniti

complimenti a te, i tuoi test con la seriale saranno importantissimi, visto che molti eravamo e siamo convinti che la differenza di clock non dovrebbe incidere in alcun modo su questo tipo di comunicazione e che tutto dovrebbe essere legato ai bps dei due circuiti.
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

pelletta


tonid

Grande  ;)
Ma cosa era quella cosa che toccavi ?
Dal video non si capiva bene ma a me sembrava un connettore.

pelletta

Sono strip maschio infilate nella breadboard
Effettivamente l'ho compresso troppo, qualità da schifo... i led ed il micro si vedono però ;)

tonid

Si si led e micro si vedono bene, comunque ottimo lavoro per il pcb ;)

leo72


Se hai un Arduino a 16 MHz con baudrate 19200 e un AtMega328p ad 8 MHz devi impostare un baudrate doppio di 38400 se utilizzi lo stesso bootloader/codice, se hai un bootloader conscio di essere ad 8 MHz allora puoi impostare lo stesso baudrate

Scusa, non capisco quest'affermazione. Il bootloader non influisce mica sulla comunicazione seriale del microcontrollore. Il bootloader è un programma come il firmware residente sulla parte bassa della Flash e come quest'ultimo è compilato per una certa velocità del microcontrollore.
Casomai l'incompatibilità derivava dai diversi livelli di tensione.

In passato ho fatto dialogare Tiny ad 8 MHz con l'Arduino a 16 MHz senza problemi, sia via I2C che via seriale, usando però chip alimentati a 5V, lo stesso livello dell'Arduino.

flz47655



Se hai un Arduino a 16 MHz con baudrate 19200 e un AtMega328p ad 8 MHz devi impostare un baudrate doppio di 38400 se utilizzi lo stesso bootloader/codice, se hai un bootloader conscio di essere ad 8 MHz allora puoi impostare lo stesso baudrate

Scusa, non capisco quest'affermazione. Il bootloader non influisce mica sulla comunicazione seriale del microcontrollore. Il bootloader è un programma come il firmware residente sulla parte bassa della Flash e come quest'ultimo è compilato per una certa velocità del microcontrollore.
Casomai l'incompatibilità derivava dai diversi livelli di tensione.

In passato ho fatto dialogare Tiny ad 8 MHz con l'Arduino a 16 MHz senza problemi, sia via I2C che via seriale, usando però chip alimentati a 5V, lo stesso livello dell'Arduino.


si volevo dire codice conscio di essere ad 8 MHz

Ciao


pelletta

Ho preparato un altro adattatore per fare un test di temperatura; ho saldato un integrato con l'aria a 350 gradi e funziona ugualmente.
Dato che nei datasheet non c'è il valore o il grafico da seguire per la saldatura mi chiedo come ci si deve regolare.
I primi 3 li ho saldati a 270 gradi in meno di un minuto, l'ultimo a 350 gradi in una decina di secondi (volevo vedere se resisteva o si rompeva).
Prima di saldarlo però ho preriscaldato un pochino tutta la basetta girandoci intorno con l'aria.

Come ci si deve regolare per saldare i qfn?
C'è uno standard dato che nel datasheet non ho trovato dati utili?

flz47655

C'è un profilo termico da seguire, ci sono diversi AN es. www.freqchina.com/cn/down.asp?ID=133 che mostra un grafico per una saldata in 6 minuti utilizzando stagno 63/37:
- Scaldare da 25 a 140 °C a un ritmo di 1~3 °C/sec.
- Pre-scaldare a 140-150 °C per 120 ~ 150 secondi
- Solder reflow.  Far salire la temperatura a 2-3 °C/sec fino a un picco di 220-225 °C. Temperature sopra i 183°C per 45 ~ 75 sec.
- Raffreddare a temperatura ambiente a 2-4°C/sec per evitare strati composti tra metalli

Con questa procedura secondo me si saldano perfettamente ed i chip hanno lunga vita
Ciao

pelletta

#86
Nov 12, 2012, 04:58 pm Last Edit: Nov 12, 2012, 05:00 pm by Pelletta Reason: 1
Quindi m'è andata di lusso con 350 gradi...

Però non capisco, dalle prove che ho fatto lo stagno sotto i 270 gradi non si scioglie

flz47655

Decisamente, probabilmente hai accorciato la vita del chip..

Conta molto lo stagno che utilizzi, la temperatura di fusione deve essere molto bassa, influisce anche il PCB

Qui seguono più o meno il profilo di temperatura anche se utilizzano quello lead-free
http://www.youtube.com/watch?v=c_Qt5CtUlqY

flz47655

Io ho preso questo http://www.digikey.it/product-detail/it/SMDSW.020%204OZ/SMDSW.020%204OZ-ND/2177060 che fonde a 183°C, non avendo una stazione termoregolata non ho verificato ma lo sciolgo senza problemi in un attimo con un saldatore da 15w

Ciao

pelletta

Grazie per il video, è stato davero interessante.
Lo stagno una volta depositato sulla basetta non mi si scioglie con meno di 270 gradi, l'ho visto nei test.
Il grafico del video dice anche 260 gradi per 30-90 secondi, quasi ci siamo.

Astrobeed, se passi da queste parti mi piacerebbe avere anche un tuo parere ;)


Go Up