maverikgoos Inserito: 7 novembre 2015 Segnala Share Inserito: 7 novembre 2015 Ciao a tutti,Sto cercando di far comunicare il mio pc con arduino via RS485.Collegando la Leonardo con:e su PC:Tutto funziona, apro il teminale scrivo sul l'adattatore usb e aprendo il terminale di leonardo leggo il rispettivo valore numerico ASCII ricevuto. (es. se premo "1" sulla tastiera Leonardo mi scrive 49 nel terminale.Volendo fare un pcb dedicato alla RS485 ho acquistato un MAX3088. Collego elettricamente come di seguito:RO (pin 1) lo collego a RX di Leonardo.RE DE li collego entrambi a massa.DI (pin 4) lo collego a TX di Leonardo.I Pin 6 e 7 li collego ai 2 rispettivi terminali che arrivano dall'adattatore USB.Quando però vado a digitare nel terminale della'adattatore USB, Leonardo mi risponde con valori sbagliati.Es:Digito sulla tastiera 1 (valore 49 della tabella ASCII) -> Leonardo riceve come valore 103.Come mai cambiando driver RS485 non ricevo i valori corretti?? Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 7 novembre 2015 Segnala Share Inserita: 7 novembre 2015 (modificato) la velocità di ricezione e trasmissione sono giusti? Modificato: 7 novembre 2015 da walterword Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 7 novembre 2015 Segnala Share Inserita: 7 novembre 2015 maverikgoos non vorrei sbagliare ma devi gestire il DE non puoi lasciarlo a massaInvii dal convertitore USB e dall'altro lato con /RE basso riceviPer ritrasmettere devi portare DE alto(Il datasheet però dice che se porti /RE alto e DE basso il dispositivo va in basso consumo)Per evitare storie o tieni /RE sempre basso e quindi ricevi anche la tua ritrasmissione oppure muovi i segnali in sequenza DE alto e poi /RE alto priam di iniziare a trasmettere per non vedere "l'eco" locale della tua trasmissione. Ovviamente a fine trasmissioni rimetti il driver in ricezioneControlla com'è collegato il DE sulla scheda che funziona Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 8 novembre 2015 Segnala Share Inserita: 8 novembre 2015 si infatti...io neh o presi 5 in cina di questi componentiNekka trasmissione 485 c'e' un pin di uscita che abilita la trasmissione e la ricezione Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 8 novembre 2015 Segnala Share Inserita: 8 novembre 2015 I pins /RE e DE (2 e 3) vanno collegati assieme e comandati da un segnale esterno che abilita la modalità Rx o Tx. Se nello schema indicato son messi entrambi a 0V si abilita il circuito alla ricezione. Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 8 novembre 2015 Autore Segnala Share Inserita: 8 novembre 2015 I pins 3 e 4 sono volutamente collegati a 0 per garantire che il drivier sia sempre in ascolto. Non ho mai parlato di trasmettere. Il MAX3088 e configurato come ricevitore.si infatti...io neh o presi 5 in cina di questi componentiNekka trasmissione 485 c'e' un pin di uscita che abilita la trasmissione e la ricezione walterword hai dei max3088 funzionanti? Se si mi potresti descrivere in che modo lavorano? Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 8 novembre 2015 Autore Segnala Share Inserita: 8 novembre 2015 (modificato) Ho provato anche questa configurazione ma senza risultato:Che tra l'altro è anche la configurazione della Shield descritta sopra. Modificato: 8 novembre 2015 da maverikgoos Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 8 novembre 2015 Segnala Share Inserita: 8 novembre 2015 verifica se stai trasferendo dati in bianrio o ASCII e il formato per visualizzarli Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 8 novembre 2015 Segnala Share Inserita: 8 novembre 2015 (modificato) Ho provato anche questa configurazione ma senza risultato:Se avessi letto, cercando di capire, quello che ho scritto prima, sapresti che questa configurazione abilita il circuito alla trasmissione, quindi se lo usi solo in ricezione non puoi ricevere. Modificato: 8 novembre 2015 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 8 novembre 2015 Autore Segnala Share Inserita: 8 novembre 2015 Scusami, nello scema riportato sopra i pins 2 e 3 sono collegati a VCC. Leggendo lo schema così com'è effettivamente sembra in trasmissione. Ma R2 e R3 non le ho collegate. Esistono solo i pins 2 e 3 collegati a massa. Questo intendevi giusto? Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 8 novembre 2015 Autore Segnala Share Inserita: 8 novembre 2015 Ecco il collegamento esatto: Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 8 novembre 2015 Segnala Share Inserita: 8 novembre 2015 (modificato) ne ho presi 5 impachettati ma non ho ancora avuto modo di provarli , credo a breve lo farò.comunque i driver 485 hanno tutti un pin tramite il quale si sceglie se spedire o ricevere, ovviamente bisogna dargli il tempo per fare in modo che si stabilizzi.Questo è lo schema della schedina Guarda qui e facci saperehttps://arduino-info.wikispaces.com/SoftwareSerialRS485ExampleDopodiche la storia e' solo software, per esempio implementi un protocollo binario dove spedisci e ricevi un flusso di bytes con valore da 0 a 255 , mentre se lo fai ASCII ricorda che il range di valori va da 0 a 127 .Nel pc se usi java o .NET decidi tu come codificare i pacchetti , se usi hyperterminal o affini devi vedere come sono settati i parametri Modificato: 8 novembre 2015 da walterword Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 8 novembre 2015 Autore Segnala Share Inserita: 8 novembre 2015 (modificato) Ma infatti è proprio da lì che ho preso lo schema sopra. E infatti io utilizzo proprio quelle schedine e con quelle tutto funziona. Se sostituisco la shield con IC collegandolo nel medesimo modo ho il problema riportato sopra.Se riesci puoi provare a vedere se a te funziona? Per scrupolo ho ordinato dei MAX1487 farò una prova con quelli che sono della stessa famiglia dei MAX485.**** Non iserire spazi bianchi inutili, complicano la lettura specialmente con i portatili. Modificato: 9 novembre 2015 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 8 novembre 2015 Segnala Share Inserita: 8 novembre 2015 in questo periodo non riesco a fare le prove che mi chiedi , Sinceramente non riesco a capire bene il tuo problema Stai facendo girare il software che viene indicato nel sito che ti ho postato? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 9 novembre 2015 Segnala Share Inserita: 9 novembre 2015 Tulo usi solo per ricevere, quindi fai una prova semplicissima. Metti il dispositivo in ricezione, ma questo asserisci di averlo già fatto, poi porti A a +5V e B a 0V e misuri le uscite,dal lato arduino. Ripeti la misura scambiando i potenziali di A e B.Se le misure confermano il buon funzionamento Hw e continui a non ricevere il problema lo hai o sullo Hw di arduino o sul software relativo. Questo ammesso che i segnali su A e B giungano corretti dalla linea seriale. Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 9 novembre 2015 Segnala Share Inserita: 9 novembre 2015 io lo farei con un generatore di segnali e un oscilloscopio.... Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 9 novembre 2015 Segnala Share Inserita: 9 novembre 2015 Anche staticamente, come ho consigliato, vedi se ci sono livelli non corretti e/o errori di colelgamento.Poi è chiaro che la prova dinamica è comunque più completa. Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 9 novembre 2015 Autore Segnala Share Inserita: 9 novembre 2015 Esatto. Ho già fatto la prova tenendolo sempre in ricezione. Mi manca effettivamente la prova che propone Livio, comandare manualmente A e B del IC per vedere cosa esce su RO. Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 9 novembre 2015 Segnala Share Inserita: 9 novembre 2015 metti due fili secchi a massa e a 5V cosi vedi s emagari on e' qualche porta del micro che non funziona Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 9 novembre 2015 Autore Segnala Share Inserita: 9 novembre 2015 (modificato) Ho fatto le prove con DE ed RE a massa.Ecco le letture su RO su MAX3088:ABROVccGND3,74GNDVcc2,08GNDGND1,89VccVcc3,93NCNC3,7Queste invece le letture fatte su Shield RS485 (quella del primo post)VccGND4,95GNDVcc0,15GNDGND4,95VccVcc0,17NCNC4,95 Completamente diverse.... Modificato: 9 novembre 2015 da maverikgoos Link al commento Condividi su altri siti More sharing options...
GiRock Inserita: 9 novembre 2015 Segnala Share Inserita: 9 novembre 2015 Se 103 si ottiene pigiando il tasto 1 che equivale a g in ASCII che poi è la stessa cosa che premere 1 in logica invertita, allora perché non provi a settare questo parametro:o così da softwareSoftwareSerial(rxPin, txPin, inverse_logic);oppure da VTRX/TX = Inverted Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 9 novembre 2015 Segnala Share Inserita: 9 novembre 2015 La seconda non torna mi sa tanto di conflitto. RO è scollegato dal micro ?La documentazione dice Vout min Vcc-1.5V quindii 3.74V della prima potrebbero anche starci ma il grafico del datasheet dice che per scendere a 4V devi erogare almeno 10mA possibile?e non torna la terza il driver dovrebbe essere failsafe se c'è una tensione A-B minore della sua isteresi dovrebbe stare altoGirock perchè dici logica invertita '1' = 0x31 mentre 103= 0x67 Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 9 novembre 2015 Autore Segnala Share Inserita: 9 novembre 2015 RO è scollegato dal micro ? Si RO è scollegato dal micro. Faccio la lettura con il Voltometro. Nessun carico.Se 103 si ottiene pigiando il tasto 1 che equivale a g in ASCII che poi è la stessa cosa che premere 1 in logica invertita, allora perché non provi a settare questo parametro:Anch'io ho fatto lo stesso pensiero, però se guardo il data sheet non dovrebbe avere logica invertita, è la medesima del MAX485. Link al commento Condividi su altri siti More sharing options...
maverikgoos Inserita: 19 novembre 2015 Autore Segnala Share Inserita: 19 novembre 2015 Solo per aggiornarvi. Sono arrivati i MAX1487, tolto il MAX3088 e inserito il 1487 funziona tutto. Quindi non ho idea del perché i 3088 non funzionano. Comunque spesi 20€ di questi integrati e buttati in un cestino... Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 19 novembre 2015 Segnala Share Inserita: 19 novembre 2015 se erano difettati e' un conto pero' mi sembra strano che non funzionino ...hai visto che c'erano anche altri link dove si dimostrava il loro funzionamento Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora