Pages: 1 ... 4 5 [6] 7   Go Down
Author Topic: ATmega328P a 3.3V, funziona I2C?  (Read 3088 times)
0 Members and 1 Guest are viewing this topic.
Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2262
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 411
Posts: 11986
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2262
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Questo è per voi

Logged

Torino
Offline Offline
God Member
*****
Karma: 2
Posts: 753
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grande  smiley-wink
Ma cosa era quella cosa che toccavi ?
Dal video non si capiva bene ma a me sembrava un connettore.
Logged

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2262
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Torino
Offline Offline
God Member
*****
Karma: 2
Posts: 753
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si si led e micro si vedono bene, comunque ottimo lavoro per il pcb smiley-wink
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Parma
Offline Offline
Edison Member
*
Karma: 19
Posts: 2314
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Parma
Offline Offline
Edison Member
*
Karma: 19
Posts: 2314
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Questo è per voi



Grandissimo! Alla fine è bene tutto quel che finisce bene.
Logged

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2262
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Parma
Offline Offline
Edison Member
*
Karma: 19
Posts: 2314
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2262
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: November 12, 2012, 11:00:28 am by Pelletta » Logged

Parma
Offline Offline
Edison Member
*
Karma: 19
Posts: 2314
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Parma
Offline Offline
Edison Member
*
Karma: 19
Posts: 2314
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2262
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-wink

Logged

Pages: 1 ... 4 5 [6] 7   Go Up
Jump to: