[RISOLTO] - Arduino Pro Mini a modo mio, ma difettoso.

Progetti Arduino
Edoscardamaglia
Messaggi: 100
Iscritto il: sab 8 gen 2022, 16:01
Località: Roma

[RISOLTO] - Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da Edoscardamaglia »

Salve a tutti, ultimamente non me ne va bene una! :roll:
Avevo bisogno di fare una scorpacciata di Arduino Pro Mini, ed ho avuto la malaugurata idea di farmeli da solo... Ho progettato tutto su easyEda, qui lo schema elettrico,
Schematic_arduino_2024-01-24.pdf
Schema Elettrico
(70.92 KiB) Scaricato 34 volte
e niente: non da segni di vita! Collego il tutto ad una scheda FT232, apro l'IDE, faccio per programmare, e continua a provare a caricare un qualcosa con nessun risultato; come se si impallasse.
Magari anche a voi è successo... spero che il problema non sia sul pcb!!!
Grazie! :D
Allegati
arduino.zip
Cartella EasyEDA
(99.23 KiB) Scaricato 23 volte
PCB_PCB_arduino_2024-01-24.pdf
PCB
(102.1 KiB) Scaricato 27 volte
Ultima modifica di Edoscardamaglia il gio 15 feb 2024, 8:38, modificato 4 volte in totale.
Edoardo M. Scardamaglia
Avatar utente
pgv
Messaggi: 484
Iscritto il: gio 17 set 2020, 13:16
Località: Ginevra

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da pgv »

Domanda indiscreta: ma il bootloader nella CPU ce lo hai caricato? Perche' altrimenti, non lo programmi con Arduino IDE. Un'altra cosa, ma che cosa usi come sorgente per il clock a 16 MHz? Non mi sembra il solito quarzo con 2x33 pF verso terra. Siamo sicuri che la CPU e' al corrente del fatto che non ha un quarzo? Di nuovo, che bootloader hai caricato? E che "Fuses"?
Edoscardamaglia
Messaggi: 100
Iscritto il: sab 8 gen 2022, 16:01
Località: Roma

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da Edoscardamaglia »

pgv ha scritto: gio 25 gen 2024, 9:15 Domanda indiscreta: ma il bootloader nella CPU ce lo hai caricato? Perche' altrimenti, non lo programmi con Arduino IDE.
No, non l'ho caricato. Ma se provo, col pulsante della IDE, si impalla lo stesso. Magari lo devo fare da avrdude? Non so.
pgv ha scritto: gio 25 gen 2024, 9:15 Un'altra cosa, ma che cosa usi come sorgente per il clock a 16 MHz? Non mi sembra il solito quarzo con 2x33 pF verso terra. Siamo sicuri che la CPU e' al corrente del fatto che non ha un quarzo? Di nuovo, che bootloader hai caricato? E che "Fuses"?
Allora, io sto usando un oscillatore ad onda quadra e unica. É infatti una configurazione diversa da quella degli altri Arduino, ma allora come faccio a configurare i fuses se non riceve già da così un clock "riconosciuto"? Avrdude me lo farebbe fare lo stesso? Oppure mi tocca fornirgli il clock in modo diverso?

Grazie mille! Mi sto rendendo conto che la soluzione era tanto più vicina di quanto pensassi, merito tuo!
Edoardo M. Scardamaglia
Avatar utente
pgv
Messaggi: 484
Iscritto il: gio 17 set 2020, 13:16
Località: Ginevra

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da pgv »

Devi costruirti un ISP programmer. La cosa piu' facile, se usi la CPU DIP e non surface mount, e' di "prelevare" la CPU da un Arduino Uno zoccolato, oppure ordinarla con bootloader, per esempio da Mouser. Altrimenti, devi avere un programmatore ISP (puoi usare anche un altro Arduino) e avere sulla tua schedina disponibili i pin per la programmazione, per esempio guarda qui:
https://docs.arduino.cc/built-in-exampl ... rduinoISP/

Nel tuo schema, devi collegare i pin seguenti:
  • +5V (posto che la CPU sia a 5V e non a 3.3V)
  • GND
  • PB3 = MOSI la linea MasterOut, Slave In dell'interfaccia SPI, che nell'esempio va collegata al pin 11 dell'Arduino Uno programmatore
  • PB4 = MISO la linea Master In, Slave Out dell'interfaccia SPI, che nell'esempio va collegata al pin 12 dell'Arduino Uno programmatore
  • PB5 = SCK la linea di Clock dell'interfaccia SPI, che nell'esempio va collegata al pin 13 dell'Arduino Uno programmatore
  • PC6 = /RESET la linea di RESET attiva bassa del micro, che nell'esempio va collegata al pin 10 dell'Arduino Uno programmatore
Inoltre, ti cito lo sketch esempio ArduinoISP, suggeriscono di fare quanto segue sull'Arduino (Uno) che userai come programmatore:
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat - shows the programmer is running
// 8: Error - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the target

Prendi un Arduino Uno (o un Nano o quel che ti pare), controlli i pin se non si tratta di un Uno, apri Arduino IDE, carichi l'unico sketch che troverai sotto "File->Examples->11.ArduinoISP" sull'Uno programmatore, ricontrolla le connessioni e a quel punto li' puoi definire come "Tools->Programmer" ArduinoISp e dare il fatidico comando "Tools->Bunr Bootloader".
Edoscardamaglia
Messaggi: 100
Iscritto il: sab 8 gen 2022, 16:01
Località: Roma

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da Edoscardamaglia »

pgv ha scritto: gio 25 gen 2024, 16:52 Devi costruirti un ISP programmer. La cosa piu' facile, se usi la CPU DIP e non surface mount, e' di "prelevare" la CPU da un Arduino Uno zoccolato, oppure ordinarla con bootloader, per esempio da Mouser.
Argh, a mio malgrado è SMD... mi tocca collegarci dei fili volanti, vero? Grazie mille della mano!
Edoardo M. Scardamaglia
Avatar utente
pgv
Messaggi: 484
Iscritto il: gio 17 set 2020, 13:16
Località: Ginevra

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da pgv »

Se non sei ancora a tempo a predisporre 2x3 pin in fondo al PCB, temo di si'. Se ne hai parecchi, io quasi quasi prenderei una basetta da prototipi, ci marcherei i pin dove deve andare lo stampato, e collegherei i fili a quella, cosi' ne programmi uno, lo scalzi e lo ripiazzi senza ammattire coi fili.

Completamente OT: 10 kOhm come pullup per I2C sono un po' tanti Ohm malgrado quello che dicono in molti, soprattutto se vuoi andare piu' veloce di 100 kHz, ma pochi per usare i pin come I/O. Se conti di usarli sempre come I2C io ci metterei non piu' di 4.7 kOhm...
Edoscardamaglia
Messaggi: 100
Iscritto il: sab 8 gen 2022, 16:01
Località: Roma

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da Edoscardamaglia »

pgv ha scritto: gio 25 gen 2024, 17:00 Completamente OT: 10 kOhm come pullup per I2C sono un po' tanti Ohm malgrado quello che dicono in molti, soprattutto se vuoi andare piu' veloce di 100 kHz, ma pochi per usare i pin come I/O. Se conti di usarli sempre come I2C io ci metterei non piu' di 4.7 kOhm...
Sisì certo, ho messo quelle da 10kOhm solo per la footprint: poi ho saldato quelle da 2k2. ;)
pgv ha scritto: gio 25 gen 2024, 16:52 Devi costruirti un ISP programmer.
Prendi un Arduino Uno (o un Nano o quel che ti pare), controlli i pin se non si tratta di un Uno, apri Arduino IDE, carichi l'unico sketch che troverai sotto "File->Examples->11.ArduinoISP" sull'Uno programmatore, ricontrolla le connessioni e a quel punto li' puoi definire come "Tools->Programmer" ArduinoISp e dare il fatidico comando "Tools->Bunr Bootloader".
Ho provato sia con l'IDE di Arduino che con AVRdudess tramite un altro Arduino UNO come ISP, ed effettivamente restituisce un errore che quando provavo con la seriale non mostrava:

Codice: Seleziona tutto

Yikes! Invalid device signature.
Mi è capitato altre volte, ma risolvevo sempre rivedendo e correggendo le connessioni che facevo. Ora sembrerebbe tutto giusto! Ovviamente ho controllato anche l'alimentazione, ma la 5v c'è!

Grazie mille dell'aiuto, spero di farti perdere il meno tempo possibile! :D
Edoardo M. Scardamaglia
Avatar utente
pgv
Messaggi: 484
Iscritto il: gio 17 set 2020, 13:16
Località: Ginevra

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da pgv »

https://forum.arduino.cc/t/invalid-devi ... r/962328/3

Penso che siano sbagliati i "Fuses", qui c'e' un "fuse calculator":

https://eleccelerator.com/fusecalc/fuse ... atmega328p

Io proverei ad usare AVRDUDESS

https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

che ha un pannello per i "fuses".
Ultima modifica di pgv il mar 6 feb 2024, 21:50, modificato 1 volta in totale.
Edoscardamaglia
Messaggi: 100
Iscritto il: sab 8 gen 2022, 16:01
Località: Roma

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da Edoscardamaglia »

pgv ha scritto: mar 6 feb 2024, 19:01 Penso che siano sbagliati i "Fuses"
Lo sono per certo! Non riceve appunto nessun clock... Però pensavo che tutto fosse fornito tramite la linea SCK dell'ISP, ma a quanto pare no.
pgv ha scritto: mar 6 feb 2024, 19:01 Io proverei ad usare AVRDUDESS
Certo certo, in confronto alla versione in dos è decisamente più comodo, ma ho provato sia con l'IDE che appunto con AvrDudess.

La soluzione credo sia nel caricare questo programma alternativo per l'arduino as isp https://github.com/adafruit/ArduinoISP, dove sostanzialmente viene emulato un quarzo a 8mhz sul pin9. Speriamo sia la soluzione!
Edoardo M. Scardamaglia
Edoscardamaglia
Messaggi: 100
Iscritto il: sab 8 gen 2022, 16:01
Località: Roma

Re: Arduino Pro Mini a modo mio, ma difettoso.

Messaggio da Edoscardamaglia »

Negativo! Il problema persiste.
avrdudess
avrdudess
avrdudess.png (152.22 KiB) Visto 268 volte
I fuses sono i seguenti: https://eleccelerator.com/fusecalc/fuse ... LOCKBIT=FF, proprio questi del link!

Buonasera!
Edoardo M. Scardamaglia
Rispondi