RS-485 - Hardware - Embarcados

Loading...

Arduino: RS-232/RS-485 - Hardware Por Fábio Souza - 11/02/2015

ÍNDICE DE CONTEÚDO [MOSTRAR] A plataforma Arduino proporciona uma ótima experiência com conectividade USB já integrada. Com ela, facilmente pode-se conectar a placa a um PC e fazer o upload do programa para a placa. Além disso é possível fazer aplicações que interagem com o PC enviando e recebendo dados, conforme foi apresentado nesse artigo sobre comunicação serial. Porém em algumas situações há a necessidade de fazer interface serial com dispositivos que possuem o padrão RS-232 ou RS-485. Esses padrões são muito utilizados em ambientes industriais, onde é possível fazer interface entre computadores, inversores de frequência e até mesmos CLPs ou IHM’s. Para facilitar a conexão do Arduino a esses dispositivos foram desenvolvidos shields que convertem os sinais do microcontrolador em níveis compatíveis com tais padrões. Nesse artigo vamos explorar o hardware do RS-232/RS-485 Shield para Arduino.

Comunicação Serial A comunicação serial é muito utilizada em sistemas embarcados para transferência de dados entre dispositivos, seja entre um dispositivo e um computador ou até mesmo entre periféricos na mesma placa. Um dos benefícios da comunicação serial é a utilização de poucos pinos para transferência de dados. Pode-se utilizar apenas um pino de I/O do microcontrolador, o que reduz muito, se comparado a 8 ou mais pinos em uma comunicação paralela. Em uma comunicação serial os bits são transmitidos um após o outro respeitando um tempo limite para cada bit. A transferência de bits pode ser half ou full duplex. Na half duplex apenas um dispositivo envia informação por vez, enquanto o outro recebe. Já na full duplex o dois lados podem enviar e receber informações ao mesmo tempo. Uma transmissão serial pode ser síncrona ou assíncrona. Na transmissão síncrona tanto o transmissor quanto o receptor utilizam o mesmo sinal de clock. O clock é gerado pelo master da comunicação e necessita de uma via para envio do mesmo. Já em uma comunicação assíncrona, o sinal de clock não é enviado junto aos dados, ou seja, tanto o emissor quanto o receptor geram esse clock para envio (transmissor) e recepção da informação (receptor). Porém para que ambos os lados gerem o mesmo clock a taxa de transferência (baud rate) deve ser configurada igualmente. O sinal clock, em cada lado, pode apresentar um pequeno desvio em relação um ao outro, que mesmo assim os bits serão corretamente transmitidos e lidos. Os dados são enviados em bytes com mais 2 ou 3 bits de controle. A figura 1 exibe o envio de um byte pelo canal serial de forma assíncrona:

Figura 1 - Envio de byte O bit de start pode ocorrer a qualquer momento iniciando a transmissão/recepção do byte. O bit de paridade é utilizado para verificação de erro no dado transmitido. O bit de stop indica o fim do dado e é necessário para que se possa iniciar uma nova transmissão. Note que quando não há dado sendo transmitido a linha permanece em nível alto. A SPI e a I2C são exemplos de comunicações síncronas, já a UART (Universal Asynchronous Receiver/Transmitter), como próprio nome diz, é um exemplo de comunicação assíncrona. A SPI e I2C são utilizadas para comunicação entre CIs em uma placa, para troca de dados, por exemplo, entre um microcontrolador e uma memória externa. Já a UART é muito utilizada para comunicação entre dispositivos externos à placa, como por exemplo um PC. A UART proveniente do microcontrolador apresenta níveis de tensão entre 0 e VCC como foi apresentado na figura 1. Os níveis podem apresentar valores entre 0 e 1,8V, 0 e 3,3V ou 0 e 5V, conforme a tensão de alimentação do microcontrolador utilizado. Tais níveis de tensão, quando transmitidos em cabos por alguns metros, são suscetíveis a interferências externas ou queda de tensão no próprio cabo. Esse fatores acabam atrapalhando na transmissão e recepção dos dados. Para reduzir esses efeitos foram criados padrões de comunicação que definem o meio de comunicação e os sinais elétricos utilizados. O padrões mais conhecidos e utilizados para essa finalidade foram o RS-232 e RS-485. A seguir vamos entender como funcionam esses padrões e qual a aplicação de cada um.

RS-232 A RS-232 foi criada por volta dos anos 60 pela EIA (Electronic Industries Association). O prefixo RS vem do inglês, Recommended Standard. Trata-se de um padrão que define as características elétricas e físicas, como conexões de hardware, pinagem e nomenclatura de sinais. A RS-232 é utilizada ponto a ponto, podendo trabalhar em full duplex. Cada ponto recebe um nome, um lado é chamado de DTE (Data Terminal Equipment) e o outro DCE (Data Communication Equipment). Essa nomeclatura remete à ligação entre o PC e modem, conforme exibido na figura 2:

Figura 2 - DTE e DCE Cada transmissor envia dados através da variação de tensão na linha. Uma tensão maior que 3 V é considerada o valor binário zero, enquanto uma tensão menor que - 3V é considerado o valor binário um. Entre essas tensões, o valor é indefinido. Para garantir o envio e recepção dos dados o transmissor deve operar com +/- 12V e o receptor identificar valores de +/- (3V a 15V). Para converter o sinal lógico (0 e 5V) para o padrão RS-232 é utilizado um circuito conversor ou mais facilmente um CI como o caso do MAX232. A figura 3 exibe os níveis de tensões para envio de um byte através do padrão RS-232:

Figura 3 - Sinais TTL e RS-232 O padrão define velocidade de até 20Mbps e geralmente são utilizados alguns valores comuns: 300, 1200, 2400, 4800, 9600 e 19200 bps. Velocidades maiores são possíveis desde que utilizados bons cabos em pequenas distâncias. A RS-232 não atinge grandes distâncias de transmissão geralmente sendo utilizada em poucos metros sem que haja interferência externa. O padrão define os conectores e sinais. A figura 4 exibe os conectores e sinais para ligação do padrão RS-232:

Figura 4 - Conectores e sinais RS-232 Na maioria das aplicações utiliza-se o conector DB9 e apenas os sinais TX, RX e GND.

RS-485 O padrão RS-485, também criado pela EIA, é uma comunicação balanceada. Normalmente utiliza-se par trançado para ligação entre os dispositivos podendo chegar em até 10Mbps e alcançando distâncias de até 1200 m, dependendo do cabo e blindagem. Por ser uma comunicação balanceada e utilizar cabos em par trançado, apresenta uma grande imunidade a ruídos. É uma comunicação multi ponto podendo conectar até 32 dispositivos na rede. O sinal TTL é convertido em um sinal diferencial e transmitido através de duas vias. Geralmente a rede é composta de um mestre e os demais são escravos. A figura 5 exibe um exemplo de ligação típica da rede RS-485:

Figura 5 - Ligação rede RS-485

A RS-485 não define conector padrão, dessa forma pode-se utilizar variados tipos de conectores ou até mesmo o DB9 utilizado na RS-232.

Hardware O shield utilizado nesse artigo apresenta ambos os padrões RS-232 e RS-485 com fácil conexão ao Arduino. Facilmente pode-se converter a UART para um desses padrões. O shield apresenta um conector DB9 (fêmea) para conexão com dispositivos com padrão RS-232. Para comunicação RS-485 está disponível um borne. Além disso possui uma área para prototipagem. A figura 6 exibe estes detalhes da placa.

Figura 6 - Conexões e área de prototipagem. Com este shield é possível trabalhar com UART por hardware ou através da biblioteca softserial RS232 ou RS485. A seleção é feita através das chaves exibidas na figura 7.

. Além disso é possível escolher entre o padrão



Figura 7 - Chaves de seleção O circuito é composto basicamente por 2 CI's, responsáveis pela conversão entre o TTL e os padrões RS232 e RS485. Antes de explorarmos estes CIs vamos verificar quais pinos do Arduino estão sendo utilizados e como é feita a seleção dos modos de operações através das chaves de seleção. A figura 8 exibe a pinagem dos conectores headers do shield.

Figura 8 - Ligações do Shield aos pinos do Arduino Note que este shield é compatível com a REV3 do Arduino UNO. São utilizados apenas 5 pinos do Arduino para conexão com o shield além dos pinos de alimentação: 5V e GND. Dessa forma é possível conectar shields ou módulos para utilizar os outros pinos. O circuito de seleção é apresentado na Figura 9 a seguir:

Figura 9 - Circuito para seleção de modos de operação Como se pode observar é possível trabalhar em 4 modos diferentes, através da seleção das chaves: UART para RS-232; UART para RS-485; SoftSerial para RS-232; SoftSerial para RS-485. O circuito também apresenta dois LEDs para indicação de status das linhas TX e RX. A figura 10 exibe o circuito de acionamento desses LEDs. Note que são acionados através de transistores MOSFET, FDN340P :

Figura 10 - LEDs de status O circuito para conversão do sinal TTL no padrão RS-232 é apresentado na figura 11 a seguir:

Figura 11 - circuito conversor TTL para RS-232 O CI responsável para conversão entre os padrões é o SP3232EA . Este CI é pino a pino compatível com o famoso MAX3232 . Este CI faz a inversão dos sinais TTL, no pino de transmissão a tensão é convertida para aproximadamente +10V /-10 V que estão dentro dos níveis estabelecidos pelo padrão RS-232. No pino de recepção que recebe o padrão RS-232, a tensão é convertida para 0 e 5V para leitura do microcontrolador. O circuito para conversão do sinal TTL no padrão RS485 é apresentado na figura 12 a seguir:

Figura 12 - circuito conversor TTL para RS485 O circuito é baseado no MAX481CSA , responsável por converter o sinal TTL em um sinal diferencial. Note que o circuito possui jumpers para ligar os resistores de pull-up e pull-down além de jumper para ligar resistor de terminação de linha. Também é possível selecionar o controle da transmissão para automático ou manual através do jumpers SJ1. Esse jumper já vem selecionado para o modo automático. Confira na figura 13 um resumo de todas as funcionalidades do shield RS232/RS485:

Figura 13 - Resumo de recursos do shield

Saiba mais Arduino - Primeiros Passos Comunicação SPI Comunicação Serial com Microcontroladores: USART, I2C, SPI e Outros

Referências RS232/RS485 Shield para Arduino Tutorial Sparkfun - Serial Communication Biblioteca softserial http://www.mouser.com/ds/2/149/FDN340P-103694.pdf SP3232EA MAX3232 Facebook 53

Twitter 3

Google+ 3

Linkedin 82

NEWSLETTER Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

CADASTRAR E-MAIL Fique tranquilo, também não gostamos de spam.

Arduino: RS-232/RS-485 - Hardware por Fábio Souza CompartilhaIgual 4.0 Internacional .

. Esta obra está licenciado com uma Licença Creative Commons Atribuição-

Fábio Souza http://github.com/FBSeletronica

Engenheiro com experiência no desenvolvimento de projetos eletrônicos embarcados. Também atuou no ensino técnico de eletrônica e programação. Hoje é responsável pelo operacional do Embarcados, onde trabalha para levar conteúdo de eletrônica, programa de sistemas embarcados e IoT para o Brasil. Entusiastas do movimento maker, DIY e do compartilhamento de conhecimento, publica diversos artigos sobre eletrônica e sistemas Embarcados, além de projetos open hardware. Realiza palestras e workshops onde leva conhecimento para as pessoas de forma presencial.

























Este site utiliza cookies. Ao usá-lo você concorda com nossos Termos de Uso. Saiba mais.

Continuar

Loading...

RS-485 - Hardware - Embarcados

Arduino: RS-232/RS-485 - Hardware Por Fábio Souza - 11/02/2015 ÍNDICE DE CONTEÚDO [MOSTRAR] A plataforma Arduino proporciona uma ótima experiência co...

1MB Sizes 5 Downloads 11 Views

Recommend Documents

Introdução ao software KICAD - Embarcados | Embarcados | Pinterest
Amazon.com: SQL: Learn SQL DataBase Programming in 24 hours Or Less! eBook: AZ Elite Publishing: Kindle Store. from amaz

Cursos Online de Embarcados - Parte I - Sistemas Embarcados
3 Jun 2017 - Olá minhas amigas e meus amigos. Hoje nessa linda manhã, depois de sonhar contigo, resolvi fazer um post

RS485-Anbindung Professional-Serie - sentiotec
Diese Schnittstellen-Dokumentation stellt ein text-basierendes Kommunika- tionsprotokoll .... Beispiel: So wird die Soll

RS485. PR 210 Signal Converter
Operating Manual Read Select MSB Control Outputs PR 210 serial RS232 / RS485 Parallel 20 bit (BCD, bin, Gray) LSB PR 210

IIoT - Industrial Internet of Things - Embarcados
Apr 13, 2016 - Além disso, a integração de códigos QR dinâmicos em equipamentos permite que os responsáveis soluci

RS485 lightning protection, 4500V protection capability (FL485
Jan 1, 2016 - Jual RS485 lightning protection, 4500V protection capability (FL485) - IO Module, Penangkal petir pada kom

IP: DIGITAL WEIGHT TRANSMITTER (RS485
Weight transmitter/indicator with six-digit red LED display (8 mm height). Space saving compact design. Four buttons for

Hardware - SmartPropoPlus
SmartPropoPlus may be used with practically any transmitter and any Windows computer. Computer: Most modern computer are

Computer Software & Hardware: Das Hardware Handbuch 2006
Mar 14, 2012 - Autodesk Sketchbook Pro 2011 · 120,000 Clipart · GSP AA Route Planner (PC) · Adobe Premiere Elements 9 (P

Computer Hardware: Hardware Components and - [email protected]
Computer Systems. Computer Hardware – Hardware Components & Internal PC Connections: You might see a specification for