Go Down

Topic: programmare il 644 ... ma come???? (Read 27524 times) previous topic - next topic

Michele Menniti

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

Michele Menniti

Risultati delle prove odierne, ASPETTANDO ASTROBEED  :D

1 - i due bootloader di prova non vanno
2 - rimesso il precedente optiboot "originale" tutto ok
3 - il bootloader nuovo (quello che state usando voi) a me funziona solo sul 644P
4 - entrambi i bootloader (opti e standard) della precedente versione mi programmano il 1284P ma non il 644P perché non c'è un bootloader specifico e nemmeno la board (ovviamente evito di mettere mano per non aumentare la confusione).

Pomeriggio mi sono rientrati i due MCP2200, confermo le maggiori difficoltà di questo chip rispetto all'FT232RL, laddove l'FT non sbaglia un colpo, i due MCP ne sbagliano parecchi, arriverei a dire che non vanno... Sui due MCP2200 potrei ancora fare delle prove, p.es. eliminando del due R da 1k in serie a tx e rx e la r da 22k di pull-up sull'rx, ma mi piacerebbe avere il parere di Astro, e molto più mi piacerebbe avere il suo Bootloader per 644/1284. Il ritardo è molto strano, considerando che è uno che le promesse le mantiene sempre; forse ha replicato le nostre prove ed ha incontrato qualche difficoltà anche lui :smiley-sweat:
domenica pomeriggio sono di nuovo qui, intanto oggi mi è arrivata la lampada di Aladino, spettacolare!, non vedo l'ora di provarla seriamente saldando il PCB che mi è appena arrivato, ma mi pare che sia davvero eccezionale. XD XD

A voi la parola....
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

1) i bootloader che ti ho spedito io vanno solo su 1284, non l'ho compilato per 644. Ma l'intenzione era appunto quella di iniziare ad utilizzare il chip più "grosso"
2) se ti serve un bootloader per il 644, nel mio package ce n'era uno basato sull'Optiboot 4.5. Bastava flasharlo direttamente dall'IDE
3) non posso fare confronti fra MCP2200 e FT232
4) che cos'è la lampada di Aladino??? è tipo la sfera di cristallo di Uwe?  :smiley-yell:

Michele Menniti


1) i bootloader che ti ho spedito io vanno solo su 1284, non l'ho compilato per 644. Ma l'intenzione era appunto quella di iniziare ad utilizzare il chip più "grosso"

No, alla fine decido di aspettare una risposta definitiva di Astro, se lui decide di fornirmi un bootloader funzionante come si deve risolvo tutti i problemi, in caso contrario, ma "tanto per", ho il bl nuovo del 644 che mi funziona con la R, ed il bl vecchio del 1284 che mi funziona sempre con la R, anche se non ho fatto prove approfondite con sketch lunghi, ma detto questo all'occorrenza vado di ISP, ormai i piani sono cambiati....
Quote

2) se ti serve un bootloader per il 644, nel mio package ce n'era uno basato sull'Optiboot 4.5. Bastava flasharlo direttamente dall'IDE

no, come spiegato sopra, sono a posto, anche se preferirei una versione funzionante al 100%
Quote

3) non posso fare confronti fra MCP2200 e FT232

non ha importanza, con il 328 l'MCP2200 va una meraviglia, è giusto una mia curiosità, ma possso agire solo su tre R implicate nel collegamento, mi piacerebbe anche qui il parere di Astro il quale però, e giustamente direi, nel momento in cui addebita tutto al bootloader non vedrà alcun problema reale, e quindi non lo vedo nemmeno io ;)
Quote

4) che cos'è la lampada di Aladino??? è tipo la sfera di cristallo di Uwe?  :smiley-yell:

sì, tipo, la sfera di Uwe gli fa vedere le cose invisibili, la mia lampada di Aladino mi fa vedere finalmente i componenti smd ed i relativi PCB, senza dover fare contorsioni con e senza occhiali. E' una belva con 64 LED messi attorno ad una lente che ingrandisce in modo eccellente e mi permette di lavorare con precisione su questi componenti che per la mia vista sono davvero piccoli. IN più ho preso una pedana a rotelle che, assieme ai bracci snodabili della lente mi permette di non avere intralci sul tavolo 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

tonid

Quote
sì, tipo, la sfera di Uwe gli fa vedere le cose invisibili, la mia lampada di Aladino mi fa vedere finalmente i componenti smd ed i relativi PCB, senza dover fare contorsioni con e senza occhiali. E' una belva con 64 LED messi attorno ad una lente che ingrandisce in modo eccellente e mi permette di lavorare con precisione su questi componenti che per la mia vista sono davvero piccoli. IN più ho preso una pedana a rotelle che, assieme ai bracci snodabili della lente mi permette di non avere intralci sul tavolo

Maa.......la devi accarezzare per farla accendere??? :smiley-mr-green:

Michele Menniti

no, però ieri sera quando l'ho dovuta spegnere per andare via me la sono abbracciata e sbaciucchiata, prossimo appuntamento d'amore domani pomeriggio  :*
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

superzaffo

Ma.. alla fine, dalle prove fatte, quale è il modo migliore per programmare il 644/1284 via seriale ?
Con tutte ste prove che avete fatto mi sono un po' perso  :D  :*
Naturalmente aspettando Astro...

leo72

Riassumo brevemente, anche alla luce di quanto affermato ultimamente nella sezione internazionale.

Il problema di questi chip sembra che risieda nella vicinanza del pin RX0 al pin XTAL1 del chip. Il pin XTAL1 è quello più importante dei 2 a cui si collega il quarzo. Stranamente, rispetto ad esempio all'Atmega328, la coppia di pin XTAL1/2 è stata invertita, così che XTAL1 sia accanto al pin RX0. Se ci fosse stato il pin XTAL2 ci sarebbero stati meno problemi. Un altro problema deriva dai fuse. Impostando il fuse basso per un clock esterno in realtà si abilita il micro ad attendersi un segnale di clock sul pin XTAL1, con tensioni e corrente interne basse, passibili di interferenze esterne. Usare quindi il valore $FF non è una buona idea. In diversi hanno suggerito l'uso del fuse $F7, che abilita il micro ad usare un cristallo esterno ("full swing"), gestito tramite dei segnali con più corrente in modo che siano un po' più insensibili ai disturbi arrecati dal flusso di dati che può transitare sul pin RX0.
In diversi hanno detto che usando questo valore per il fuse hanno risolto i problemi di programmazione usando l'Optiboot 4.5 modificato da maniacbug. In diversi concordano poi che la breadboard non è la soluzione migliore per eseguire questo genere di test per via della capacità parassita delle sue piste. In diversi hanno poi suggerito di evitare di far passare i segnali sui 2 pin XTAL1 e RX0 molto vicini, su un PCB, e di usare un piano di massa intorno ai pin del cristallo..
Io tutte queste prove non posso farle, non producendomi i PCB in casa.

Questa la teoria... adesso la mia pratica.
Io senza la R sulla linea RX0 non riesco a programmare il chip, anche usando il valore $F7 per il fuse basso. Ed usando il bootloader standard, quello a 57K, perché con l'Optiboot e la sola R non riesco, devo usare l'accoppiata R+C.

Insomma, un gran casino.

superzaffo

Azz.. quindi per fare dei veri test, si dovrebbe fare un pcb specifico prestando molta attenzione a interferenze e spurie varie.
Ma la configurazione (usb-serial converter-R-C) migliore, per te, qualè ?

leo72

Io non ho molta scelta, ho usato solo l'Atmega8U2 della UNO.
Quindi non faccio casistica  :smiley-sweat:

superzaffo

ok...
vediamo cosa dice Michele, le sue considerazioni...

Michele Menniti

se mi date il tempo...ecco la mia.....
Con l'unico bootloader per 644 (chiamiamolo quello "di Leo" per capirci, visto che si può scaricare anche dal suo sito) io riesco a programmare con la famosa resistenza.
Per programmare il 1284 invece devo ricorrere alla versione di giugno 2012 (sempre maniacbug), sia standard che optiboot, in entrambi i casi devo usare la resistenza.
Ho fatto a suo tempo la prova con il generatore di clock esterno a 16MHz, una bella onda quadra a 5V applicata all'XTAL1 con fuse $F7, senza alcun risultato positivo. Non credo troppo alle prove "PCB" anche se proprio in questi giorni sto sperimentando la notevole differenza di comportamento di un circuito "serio" montato su breadboard o su PCB. Credo piuttosto che ci siano problemi di tempistica di questi micro, che variano anche da lotto a lotto, e che nelle migliaia di prove fatte dagli utenti, alcuni abbiano trovato una propria soluzione, che però spesso non funziona agli altri.
In definitiva concordo con Astrobeed, il problema è nel bootloader. Se così non fosse la prova che mi ha fatto fare il supporto ATMEL (estremamente disponibile!) non sarebbe andata a buon fine, invece se carico via ISP un qualsiasi programma che fa uso anche intenso della seriale funziona tutto a meraviglia, quindi non c'è assolutamente alcuna influenza reciproca tra XTAL1 e RX0.
Astrobeed è una persona seria, quindi se non ci ha fornito il bootloader che ci aveva promesso è perché alla fine anche lui probabilmente sta avendo gli stessi problemi nostri e sta cercando di risolverli, compatibilmente con le altre mille cose che ha da fare.
L'unica cosa strana è che non ci abbia aggiornati, ma non sarò certo io a rompergli i maroni, l'ho già fatto fin troppe volte in passato, e solo quando altri hanno cominciato a fare lo stesso con me ho capito cosa significava :smiley-mr-green:
Tanto lui questi interventi li legge di sicuro, quindi sta a lui intervenire o meno.......

@ sz: ho usato indifferentemente 8u2, MCP2200 e FT232RL, sai il migliore qual è? il PL2303, un chippetto che si trova nei vecchi cavi USB Nokia, l'unico col quale ho programmato il 644 perfino senza resistenza; l'ho messo da parte perché è un TSSOP, scomodissimo da saldare, e perché non voglio legare l'idea di funzionamento a qualcosa di obbligato, quando siamo in uno standard.
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

BaBBuino


Una cosa non capisco: come fa a ritardare il segnale una sola R da 120k senza condensatore? Ovviamente la proverò anch'io, ma sono un pò dubbioso sul buon esito della prova.


Devi considerare la capacità "parassita" introdotta dai circuiti interni del MCU, quidi una R da 120K, con qualche decina di picoFarad (stima a naso) in parallelo, possono certamente ritardare un segnale in maniera misurabile.

Michele Menniti

Comunque sia nel precedente post ho descritto i miei risultati, visto che tu ne hai aperto un altro provo a rispondere lì per vedere se sei nelle mie stesse condizioni, però il 644 lo abbiamo programmato tutti, in un modo o nell'altro.....
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

astrobeed


Astrobeed è una persona seria, quindi se non ci ha fornito il bootloader che ci aveva promesso è perché alla fine anche lui probabilmente sta avendo gli stessi problemi nostri e sta cercando di risolverli, compatibilmente con le altre mille cose che ha da fare.


Il problema sono solo le mille cose che devo fare in questi giorni, e parlo di cose di lavoro che per ovvi motivi hanno la precedenza su tutto.

Go Up