Go Down

Topic: Usare il Monitor Seriale con un 328 in stand alone (Read 8554 times) previous topic - next topic

ratto93

poi spiegami come fai la richiesta.... io essendo studente metto la mia di email ma mi danno problemi dicendo che o metto una mail aziendale oppure universitaria.
se non faccio questo nada....
Se corri veloce come un fulmine, ti schianterai come un tuono.

astrobeed


poi spiegami come fai la richiesta.... io essendo studente metto la mia di email ma mi danno problemi dicendo che o metto una mail aziendale oppure universitaria.


Per richiedere i sample, sia da Microchip che da tutte le altre aziende che forniscono tale servizio, è indispensabile utilizzare una email che appartiene ad una ditta del settore oppure di una scuola media superiore/Università, se usi una email generica non ti mandano nulla.
Non lo fanno quasi mai, ma possono far telefonare da Microchip Italia, la sede è a Milano, per verificare i dati.

ratto93

Se corri veloce come un fulmine, ti schianterai come un tuono.

astrobeed


Capito :( Che palle però....


Devi ringraziare tutti i furbacchioni che negli anni passati si sono riempiti gli armadi di sample per poi rivenderli su ebay.

Michele Menniti


poi spiegami come fai la richiesta.... io essendo studente metto la mia di email ma mi danno problemi dicendo che o metto una mail aziendale oppure universitaria.
se non faccio questo nada....

In riferimento alle spiegazioni di Astrobeed, non ho da suggerirti nulla, io ce l'ho la mail dell'Università :)
Ciò detto voglio rafforzare un concetto: pur sapendo che molte Aziende mi manderebbero i loro samples a semplice richiesta, lo faccio solo in quelle situazioni in cui non trovo tali componenti da RS oppure se ho urgenza di un particolare componente e non ho null'altro da dover acquistare. Da quando ho iniziato nuovamente a fare qualcosa di elettronica, più o meno Gennaio di quest'anno, ho usato questo sistema una sola volta, con Linear T., ho preso due soli tipi di IC pur potendone prendere tre; questa sarà la seconda solo perché ho fatto un ordine ad RS 10 giorni fa (un bel po' di materiale).
Questo proprio perché voglio contribuire a salvaguardare questa possibilità per chi fa di questo mondo una professione e riesce in tal modo ad avere le novità per poterle sperimentare; un'ultima cosa: guarda quanto costa.
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

ratto93

Si avete ragione entrambi.. in fondo chi ci va di mezzo è sempre quello che non fà danno a nessuno.... vabbè:)
Se corri veloce come un fulmine, ti schianterai come un tuono.

Michele Menniti


si, usano il PLL per arrivare fino a 16.5mhz senza quarzo :smiley-eek-blue:
ma torniamo alle cose più probabili....
il pdf dell'AN309 cel'abbiamo, il codice (asm) e i driver li troviamo qui:
http://www.avrfreaks.net/index.php?module=Freaks%20Files&func=viewFile&id=1526&showinfo=1
non resta che mettere sù il circuitillo e provare :P anche se non ho sotto mano un regolatore ldo da 3,5v... qualcosa mi inventerò :P

In attesa che arrivi l'mcp2200 avrei fatto volentieri la prova col 2313, purtroppo non ho un quarzo da 12MHz  :smiley-zipper:, ma tu che hai combinato poi; per ottenere i 3,3V puoi usare uno zener oppure il loro trucchetto col led, ma non so quando sia fondamentale la stabilità.
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

Testato


[EDIT] Il cavo Nokia ha la tensione di funzioanemnto di 3,3V devi mettere uno stailizzatore e un partitore.[/EDIT]
Ciao Uwe

non c'e' bisogno, i 3,3v vengono interpretati come 1 dalla logica TTL di arduino, ed i 5V di arduino non danno fastidio all'ingresso 3,3 dei nokia, questi cavi sono sempre costruiti per tollerare i 5V in ingresso.

Li uso regolarmente, li compri a meno di 2euro ed hai USB su tutti i progetti
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Michele Menniti



[EDIT] Il cavo Nokia ha la tensione di funzioanemnto di 3,3V devi mettere uno stailizzatore e un partitore.[/EDIT]
Ciao Uwe

non c'e' bisogno, i 3,3v vengono interpretati come 1 dalla logica TTL di arduino, ed i 5V di arduino non danno fastidio all'ingresso 3,3 dei nokia, questi cavi sono sempre costruiti per tollerare i 5V in ingresso.

Li uso regolarmente, li compri a meno di 2euro ed hai USB su tutti i progetti

Sì, ma l'argomento qui è un altro, quella del cavo Nokia è stata una parentesi aperta finché non ho chiarito che devo risolvere il problema con componenti e non con cavetti o circuiti già fatti. Come detto ho realizzato anch'io questo cavetto con successo, ma nello specifico non mi serve a nulla.
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

BrainBooster

@menniti purtroppo l'unico 2313 che avevo mi dà signature 000000 quando provo a programmarlo =(

Michele Menniti


@menniti purtroppo l'unico 2313 che avevo mi dà signature 000000 quando provo a programmarlo =(

ok, ora che ho il quarzo da 12MHz posso provare io. Grazie comunque.
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



Questi MC2200 invece come funzionano?
Vanno comunque programmati o semplicemente si collegano e funzionano?


Funzionano allo stesso modo degli FTDI, non devi programmare nulla a meno che non vuoi modificare i vari parametri interni, c'è una apposita utilità per farlo e non serve nessun programmatore.


E' arrivato l'MCP2200 (non da Microchip =( ma da RS $)), ho montato il circuito di test e l'ho collegato allo stand-alone. Intanto ho dovuto usare il pin RTS, come suggeritomi da Astrobeed, collegato al RESET della mcu tramite il solito 100nF, poi la coppia tx/rx e l'alimentazione. Riesco a caricare regolarmente lo sketch, ma ho due problemi SERI:
1 - Quando apro il serial monitor NON mi parte il menu in automatico, come invece avviene col chip su Arduino, devo resettare lo stand-alone, e comunque ho difficoltà coi caratteri iniziali, ma comunque poi funziona, anche se non benissimo.
2 - Più grave è il problema che appena scollego l'USB (o al successivo ricollegamento, non so) l'mcu mi perde lo sketch; se lo invio nuovamente lo prende e si rimette a funzionare finché non scollego e ricollego l'USB
Dopo decine di prove ho sostituito il circuito MCP2200 col cavetto NOKIA, che invece funziona alla perfezione, esattamente come se il chip fosse montato su Arduino.
Quindi devo configrare qualcosa sull'MCP2200, ma cosa?
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

AGGIORNAMENTO:
Ho risolto il problema della perdita dello sketch, era una questione legata al sistema di alimentazione della mia board per gli stand-alone.
Ho risolto il problema della partenza del menu sul serial monitor, semplicemente aggiungendo l'invio di una riga vuota.
Resta un problema di dialogo tra Serial Monitor e convertitore USB-Seriale.

Se monto il 328 su Arduino, appena apro il Serial Monitor evidentemente invia un segnale che resetta Arduino e fa partire lo sketch, il menu parte "limpido" sulla prima riga.
Se invece uso il convertitore con l'MCP2200, questo "segnale" viene ignorato e devo io premere manualmente il pulsante di reset sullo stand-alone, ma prima del menu mi appare una stringa di 8-9 quadratini, che prima mi "mangiava" la parte iniziale del menu, ora invece le ho dato in pasto la riga vuota e va bene.

Se uso HypoTerminal invece l'avvio si mangia molta più roba.

La domanda è: sapete che tipo di segnale manda il serial monitor all'avvio sulla porta USB? Poi devo scoprire come fare a trasformarlo in un comando di reset per lo stand alone, ma un passo per volta :)
Inoltre vorrei sapere se il serial monitor è un programma a sé stante e dove si trova, cioè vorrei sapere se posso eseguirlo senza partire dall'IDE.
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

#88
Aug 23, 2011, 03:14 pm Last Edit: Aug 23, 2011, 03:17 pm by astrobeed Reason: 1

Se invece uso il convertitore con l'MCP2200, questo "segnale" viene ignorato e devo io premere manualmente il pulsante di reset sullo stand-alone,


La programmazione usa sia DTR che RTS per resettare Arduino, l'apertura del terminale seriale usa solo DTR e Arduino non si resetta con l'MCP2200 perché non c'è DTR, segnale che all'apertura della seriale viene portato per un attimo a 0 con il conseguente reset di Arduino.
Durante la normale comunicazione seriale, senza handshake, RTS rimane sempre a 1 logico, viene portato a 0 da chi riceve solo se non è più in grado di farlo, p.e. buffer pieno, dal punto di vista dell'Host non c'è nessun motivo per negare RTS visto che non sta ricevendo nulla.
Però c'è un PERO' grosso come una casa  :)
Il fatto che Arduino resetta quando si apre la comunicazione seriale non è un pregio, è un difetto, è il tuo software che deve stabilire se c'è una comunicazione seriale in corso e farti apparire il menù, per farlo in modo semplie basta prevedere un carattere di inizio comunicazione inviato dal terminale.
Esempio pratico, apro la comunicazione premo M sulla tastiera e mi appare il menù delle funzioni, quando ho finito uso EXIT e il sistema si rimette in attesa di una M per riavviare il menù.
In alternativa basta che usi un qualunque programma emulazione terminale che ti permette di manipolare anche i singoli segnali, p.e. questo, e resettare Arduino forzando RTS a 0, col programma che ti ho linkato se spunti RTS ogni volta che apri la connessione va 0 e ritorna a 1 ogni volta che la chiudi.

astrobeed

Un update, visto che usi Hyperterminal, che ha un modo tutto suo di gestire la seriale, mi sono ricordato che sia RTS che DTR vengono settati a 0 anche se l'handshake hardware è disabilitato, ho fatto un controllo al volo sulla COM1 hardware ed è così.
Però potrebbe essere che sulla seriale emulata le cose vadano in modo diverso, adesso non ho nessun MCP2200 per verificare, però puoi farlo da solo utilizzando un qualunque software di monitor dati sulla seriale, p.e. portmon, così da vedere quali segnali vengono realmente attivati quando apri la com virtuale.

Go Up