Pages: [1] 2   Go Down
Author Topic: Arduino mega2560 e seriale con PC  (Read 1725 times)
0 Members and 1 Guest are viewing this topic.
Torino
Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buongiorno a tutti.
Ho cercato un po' in giro ma non ho trovato notizie a riguardo quindi domando a voi...
Ho un Arduino Mega 2560 che desidero collegare tramite seriale ad un pc con cui leggere i dati tramite Hyperterminal.
Prima di realizzare qualunque collegamento e fare danni cerco qualche conferma.
Ecco quello che farei per collegare la Serial1:
1) Pin 18 (TX1) sul pin 2 (RXD) della seriale PC;
2) pin 19 (RX1) sul pin 3 (TXD) della seriale PC;
3) Pin GND sul pin 5 (GND) della seriale PC.
In questo modo, settando la Serial1 nel programma dovrei riuscire a trasmettere dati dall'Arduino al PC.

Oltre a ciò, vi sono settaggi particolari per la porta seriale?
Oltre alla velocità (in questo caso 9600) quali sono i dati che devo impostare su hyperterminal per ricevere (bit di dati, parità, bit di stop, controllo di flusso)?

Scusatemi ma prima di far "fumare" l'Arduino vorrei essere sicuro dei collegamenti.

Grazie a tutti, Valerio.
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 182
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa ma perchè non usi la seriale con il cip ftdi(o atmega8u) ?
Logged

Non possiamo pretendere che le cose cambino, se continuiamo a fare le stesse cose(albert Einstein )

Torino
Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perché non ho idea di cosa tu stia parlando   smiley-sad-blue
Mi interessa sapere come sfruttare le seriali presenti sulla scheda. Se poi ci sono altre soluzioni sono sempre pronto ad imparare ad utilizzarle.
Mi interessa lasciare la USB libera per eventuali connessioni ad un altro pc che uso per la programmazione.
Spero d'essermi spiegato bene, grazie.
« Last Edit: May 10, 2011, 08:22:54 am by lupusimprobus » Logged

Torino
Offline Offline
Full Member
***
Karma: 0
Posts: 133
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perché non ho idea di cosa tu stia parlando   smiley-sad-blue
Mi interessa sapere come sfruttare le seriali presenti sulla scheda. Se poi ci sono altre soluzioni sono sempre pronto ad imparare ad utilizzarle.
Mi interessa lasciare la USB libera per eventuali connessioni ad un altro pc che uso per la programmazione.
Spero d'essermi spiegato bene, grazie.


..spero di non dire "cavolate"...

i pin 0 e 1 di arduino hanno un segnale seriale TTL che ha un livello elettrico ben diverso da quello che esce dal PC (RS232)... quindi occorre mettere un covertitore di segnale ttl/rs232 tipo il MAX232... non è così gratuito...
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 182
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok ho capito :
 intendi usare la porta usb per la programmazzione e ecc. ma con un'altra porta seriale vorresti comunicare con un'altro pc
Purtroppo però i livelli di segnale della porta ttl di arduino e quelli della seriale rs232 del pc NON SONO COMPATIBILI Attenzione devi usare un convertitore o rischi di danneggiare arduino !!!

( comunque io pensavo volessi usare la comunicazione usb che utilizza il chip convertitore ftdi232 presente sulla scheda arduino)
« Last Edit: May 10, 2011, 08:37:25 am by nikone » Logged

Non possiamo pretendere che le cose cambino, se continuiamo a fare le stesse cose(albert Einstein )

Global Moderator
Milano, Italy
Offline Offline
Edison Member
*****
Karma: 19
Posts: 1175
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Siccome i livelli di tensione della rs232 vanno da -15V e 15V mentre quelli di Arduino sono compresi tra 0V e 5V hai bisogno di un circuito adattatore o di un integrato che si occupi di adattare i livelli (transceiver), famoso per far queste cose è il "max232" (io tempo fa mi sono fatto mandare dalla maxim dei sample dei max3323 che dovrebbero essere un po' più pregiati)
Logged

F

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21254
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

..spero di non dire "cavolate"...
i pin 0 e 1 di arduino hanno un segnale seriale TTL che ha un livello elettrico ben diverso da quello che esce dal PC (RS232)... quindi occorre mettere un covertitore di segnale ttl/rs232 tipo il MAX232... non è così gratuito...
an_je; non dici cavolate.
Ci sono 2 possibilitá
* Un convertitore livelli TTl a RS232 con un integrato tipo MAX232 o compatibili. Viene attacato sulla seriale del PC
* Un convertitore TTL -USB tipo FT232 che é in uso sul Arduino 2009 e puoi aquistarlo anche singolarmente. Cosí colleghi la seriale alla USB. (devi aver installato il driver per il FT232)
per esempio: http://www.smartprj.com/catalog/index.php?main_page=product_info&cPath=1&products_id=14&zenid=46a5b92f7978acf32b34e3df203ac97e

Ciao Uwe
« Last Edit: May 10, 2011, 10:07:08 am by uwefed » Logged

France
Offline Offline
Sr. Member
****
Karma: 2
Posts: 380
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non aprlare italiano. Francese !!!

look at that :

Logged

Torino
Offline Offline
Newbie
*
Karma: 0
Posts: 20
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per prima cosa: grazie a tutti!!!
Vediamo se ho capito:
l'Arduino lavora con tensione 0-5VCC mentre la seriale ha valori tra +/-12VCC. Quindi mi occorre un convertitore sia per farli comunicare che per evitare di danneggiare l'Arduino. Fin qui tutto chiaro.  smiley

Non posso utilizzare un convertitore con uscita USB in quanto alla fine, l'Arduino dovrà comunicare con la scheda seriale di un PLC. Le prove di comunicazione tra PC e PLC le ho fatte e tra di essi la comunicazione avviene senza problemi.

Provvederò al reperimento di un convertitore e vi farò sapere come finirà smiley-grin

Ultima domanda: ho letto in rete che i convertitori USB-SERIALE che si trovano comunemente in commercio, possono non funzionare in quanto la tensione di alimentazione dal lato USB è +5VCC che a volte non è sufficiente per comunicare con una seriale, soprattutto in presenza di cavo lungo e/o disturbi. Infatti ho alcune apparecchiature industriali con porta seriale che non è possibile programmare con l'utilizzo di un convertitore ma devo utilizzare un pc con una seriale "vera". Siete a conoscenza di un convertitore USB-SERIALE commerciale che esca dal alto seriale con segnale a 12VCC oppure lo schema per crearne uno?
Scusate la domanda forse banale ma, forse si è capito, l'elettronica non è proprio il mio forte smiley-razz

Grazie ancora a tutti per l'attenzione e la disponibilità
Logged

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

L'amico Francese Grag38 ti ha postato lo schema elettrico che riassume tutti i suggerimenti che hai letto. Puoi interfacciare il PC con Arduino, usando la tua porta seriale, a patto di usare un adattatore bidirezionale di segnali rs232-TTL, cioè il max232, che viene alimentato a 5v ed è evidentemente in grado di portarli a 12V lato PC. Lo schema è molto semplice, l'idea che hai avuto non è male, anche se le COM sono ormai in disuso e molti nuovi PC non le hanno; il fatto di voler risparmiare l'USB quando ormai un PC fisso ne ha almeno 4 o 6 (e comunque le puoi portare fino a 128, usando degli hub o delle schede aggiuntive) in effetti è strano ma tu avrai le tue buone ragioni.

Pour Grag38: Merci beaucoup pour votre intervention smiley-lol
Notre ami français a joint un schéma qui résume tous les conseils que vous ont été donnés. Vous pouvez connecter votre PC et Arduino utilisant le max232 IC. C'est simple à mettre en œuvre.
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

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21254
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

... l'idea che hai avuto non è male, anche se le COM sono ormai in disuso e molti nuovi PC non le hanno; il fatto di voler risparmiare l'USB quando ormai un PC fisso ne ha almeno 4 o 6 (e comunque le puoi portare fino a 128, usando degli hub o delle schede aggiuntive) in effetti è strano ma tu avrai le tue buone ragioni.
Minnitt, lupusimprobus ha scritto:
Quote
l'Arduino dovrà comunicare con la scheda seriale di un PLC.
Percui si spiega il perché.

Un altra spiegazione:
Il MAX232 con 4 condensatori radoppia prima la tensione di 5V e poi la inverte. Cosí ci sono ca 9 e ca -8V disponibili per la RS232. Queste tensioni sono dentro nelle specificahe del RS232.

Ciao Uwe
Logged

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

... l'idea che hai avuto non è male, anche se le COM sono ormai in disuso e molti nuovi PC non le hanno; il fatto di voler risparmiare l'USB quando ormai un PC fisso ne ha almeno 4 o 6 (e comunque le puoi portare fino a 128, usando degli hub o delle schede aggiuntive) in effetti è strano ma tu avrai le tue buone ragioni.
Minnitt, lupusimprobus ha scritto:
Quote
l'Arduino dovrà comunicare con la scheda seriale di un PLC.
Percui si spiega il perché.

Un altra spiegazione:
Il MAX232 con 4 condensatori radoppia prima la tensione di 5V e poi la inverte. Cosí ci sono ca 9 e ca -8V disponibili per la RS232. Queste tensioni sono dentro nelle specificahe del RS232.

Ciao Uwe

Grazie Uwe del chiarimento, avevo letto il post iniziale e seguito la discussione ma mi era sfuggito questo passaggio del PLC; riguardo il MAX232 immagino ci sia dentro un booster con un'impedenza, oltre ai condensatori, per poter raddoppiare la tensione, me lo confermi o c'è una tecnica diversa?
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

France
Offline Offline
Sr. Member
****
Karma: 2
Posts: 380
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Condensator C5 must be removed in the schema I post.
Logged

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

Why? is a value that is always used on power.
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

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21254
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie Uwe del chiarimento, avevo letto il post iniziale e seguito la discussione ma mi era sfuggito questo passaggio del PLC; riguardo il MAX232 immagino ci sia dentro un booster con un'impedenza, oltre ai condensatori, per poter raddoppiare la tensione, me lo confermi o c'è una tecnica diversa?
Adesso mi cogli inpreparato. Non so cos' é un Booster.
Il datasheet dice: Operates From a Single 5-V Power Supply With 1.0-µF Charge-Pump Capacitors.
Praticamente il primo condensatore viene caricato coi 5V e scaricato in serie ai 5V sul secondo condensatore. Cosí hai ca 10V (un po di meno a causa di perdita). Poi un terzo condensatore viene caricato coi 10V e scaricato invertito sul quarto condensatore e cosí hai ca -10V.
IL MAX232 e tanti simili hanno bisogno di 1µF; il MAX232A, il MAX202 e non so quali altri usano condensatori 0,1µF.
Ciao Uwe
Logged

Pages: [1] 2   Go Up
Jump to: