Buonasera,
vorrei connettere la ethernet shield (quella ufficiale con Wiznet) ad un atmega328 su breadboard a 8Mhz e 3,3V
La ethernet shield funziona correttamente su un Arduino Diecimila, riesco a pingare e visualizzare la pagina di prova (esempio web server)
La circuiteria dell'atmega è ok e funziona con altri sketch.
Ecco i collegamenti: pin Atmega328 - Ethernet Shield
1 Reset
16 10
17 11
18 12
19 13
Sia l'Atmega che la shield sono alimentati entrambi a 3,3V
Qualche aiuto?
Grazie
M.
Io ricordo che l'ethernet shield è collegata ad Arduino esclusivamente tramite il connettore ISP, me lo confermi?
Se è così stai elencando una connessione di troppo, quella del pin 10 dello shield al 16 di Arduino.
Ovviamente hai messo i GND in comune...
Qui leggo:
Arduino communicates with both the W5100 and SD card using the SPI bus (through the ICSP header). This is on digital pins 11, 12, and 13 on the Duemilanove and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used to select the W5100 and pin 4 for the SD card. These pins cannot be used for general i/o. On the Mega, the hardware SS pin, 53, is not used to select either the W5100 or the SD card, but it must be kept as an output or the SPI interface won't work.
Quindi il pin 16 sull'Atmega (digital 10) sembra vada collegato, è corretto?
Nella board che ho costruito per la tesina ho dovuto mettere sia il connettore ISP che i collegamenti diretti ai pin SPI, senza uno dei due non funzia...
ok, io non possiedo lo shield e pensavo che la connessione fosse solo quella ISP, evidentemente non è così.
Ma a ben leggere il post iniziale, il problema dov'è?
Ho provato collegando sia il connettore ICSP che i singoli pin ISP, ma non funziona...
La domanda, a dire il vero volevo portela ancora prima ma internet non andava a dovere è la seguente : sei sicuro che la libreria funzioni correttamente con il micro settato a 8MHz ???
Poi, cè anche il problema delle resistenze di pull up e pull down che compongono l'adattatore di livello 5-3.3V
se non gli dai i cinque dove dovrebbero andare secondo me ti si sballa il segnale...
Tengo a precisare che nel mio circuito ho montato subito il quarzo onde evitare problemi di questa sorta...
Aggiornamento:
collegando solo i pin 11,12,13 sull'ICSP e il pin 10 funziona correttamente, il tutto alimentato a 5V. Quindi nessun problema con il micro a 8Mhz
Edit: tutto ok anche a 3V3.
Grazie, risolto.
M.ino
Perfetto, buona a sapersi per sviluppi futuri
Nello schema della scheda (http://arduino.cc/en/uploads/Main/arduino-ethernet-shield-06-schematic.pdf) si vede che nel connettore J1 i pin 4,5 e 6 che corrispondono ai pin 11,12 e 13 di arduino non sono collegati.
Quindi per utilizzare la scheda bisogna assolutamente collegarla tramite il connettore ICSP.
Sarebbe utile se tu indicassi il modello della scheda shield che hai, comunque confermo utilizza il connettore ICSP.
Per contro prova osserva la scheda da ambo le facce sotto una lampada, aguzza la vista e noterai che dallo 0 al 13 solo i pin 10 e 4 hanno delle piste, il resto non è connesso
Questi 2 pin sono abilitazioni dellla SD e il chip W5100.
Se la tua scheda ha lo slot SD o meno anche questo non l'hai detto
i pin 11-12-13 non vedo perchè tu non possa liberamente usarli per altre cose, almeno per quello che riguarda il mio modello
ciao
Matteino:
Aggiornamento:
collegando solo i pin 11,12,13 sull'ICSP e il pin 10 funziona correttamente, il tutto alimentato a 5V. Quindi nessun problema con il micro a 8MhzEdit: tutto ok anche a 3V3.
Grazie, risolto.
M.ino
Scusa Matteino, al di là della condivisione di gioia, non sarebbe utile a tutti spiegare COME hai risolto? Da quello che dici a me pare che tu stia ripetendo ciò che hai detto prima, a parte i 5V, e questa sarebbe la soluzione, ma poi aggiungi che ora funziona anche a 3,3V, quindi il trucco dov'è?
pablos:
i pin 11-12-13 non vedo perchè tu non possa liberamente usarli per altre cose, almeno per quello che riguarda il mio modello
Li può usare come supporto per i cavetti
Nel suo caso infatti montando l'atmega su breadboard quei pin non sono collegati.
Diverso sarebbe il caso se montasse la scheda sul Arduino. In quel caso i pin sarebbero inutilizzabili perchè gia usati dallo SPI per comunicare con la board eterneth, infatti non sono altro che la duplicazione dei pin nel connettore ICSP.
Li può usare come supporto per i cavetti
vero non servirebbero a nulla se non installato su arduino
Buono a sapersi, io ho la prima edizione dello shield e i pin sono collegati direttamente sulle strip femmine; il connettore ICSP nemmeno c'è.
Questo significa che se si dovesse guastare il mio vecchio shield devo rifare tutti i pcb dove lo uso
E' una ethernet shield che monta un Wiznet W5100.
Non è la shield ufficiale. E' Mega compatibile e con micro SD. Purtroppo non ricordo dove la presi.
In effetti i pin della shield (a parte il 4 e il 10 come diceva giustamente Pablos) non sono collegati.
Riassumendo i collegamenti sono:
Atmega328 - Ethernet Shield
16 10 (digital pin 10)
17 MOSI (attraverso il connettore ICSP)
18 MISO (attraverso il connettore ICSP)
19 SCK (attraverso il connettore ICSP)
1 RESET
Sia L'Atmega che la shield sono alimentati a 3,3V (la shield viene alimentata utilizzando il pin 3V3)
Ciao Matteino, scusa l'insistenza, ma tu ormai lo sai che io sono un deficiente, quindi abbi con me la necessaria pazienza, sarai ripagato in giustizia, promesso!
Due domande secche, le cui risposte io non riesco a leggere nei tuoi interventi:
1 - Che problema avevi? Cioè per quale motivo preciso hai aperto questo Topic?
2 - Le connessioni che hai postato all'inizio a me sembrano identiche a quelle finali, quindi il problema come lo hai risolto, cioè dov'era?
Il problema era che il tutto non funzionava, perchè come accertato poi l'Atmega e la shield non comunicavano tra loro in quanto non connessi.
La differenza sta nel fatto che prima utilizzavo erroneamente i pin 11-12-13 della shield, che però no sono connessi a nulla.
Si devono utilizzare le connessioni MOSI,MISO e SCK della porta ICSP di cui la shield è munita.
Tutto chiaro?
Pelletta:
Buono a sapersi, io ho la prima edizione dello shield e i pin sono collegati direttamente sulle strip femmine; il connettore ICSP nemmeno c'è.
Questo significa che se si dovesse guastare il mio vecchio shield devo rifare tutti i pcb dove lo uso
Potresti modificare l'Ethernet Shield R3 con dei ponticelli che riportano il segnale sui piedini dello strip. E' un lavoraccio ma sempre meglio di rifare i PCB.
Mi piacerebbe chiedere a Banzi il motivo di questa modifica, visto che sull'Arduino i contatti dei pin e dell'ICSP sono duplicati. Perché non continuare ad usare i pin dello strip? Per compatibilità con la Mega?
Matteino:
Il problema era che il tutto non funzionava, perchè come accertato poi l'Atmega e la shield non comunicavano tra loro in quanto non connessi.
La differenza sta nel fatto che prima utilizzavo erroneamente i pin 11-12-13 della shield, che però no sono connessi a nulla.
Si devono utilizzare le connessioni MOSI,MISO e SCK della porta ICSP di cui la shield è munita.
Tutto chiaro?
sì, cioè quello che ti avevo detto io subito dopo il tuo post di apertura Topic quasi quasi ti invito al club