11. Portas Seriais e Comunicação Serial

Vamos nos concentrar agora nas Portas Seriais e o seu uso para o controle de equipamentos de laboratório. Mas primeiro vamos entender o que é essa tal Comunicação Serial.(Fonte: www.easysw.com/~mike/serial/serial.html)

Comunicação serial é a transferência de dados bit a bit (um de cada vez), é usada para a comunicação entre o computador e vários dispositivos: teclado, mouse, modem, terminais e vários equipamentos de laboratório.

É diferente da comunicação paralela na qual os dados são enviados simultaneamente, podendo ser usada na comunicação com impressoras, scanners, unidade de disco removível.

Cada bit representa uma condição de voltagem (ligado-on ou desligado-off) em um dos pinos da porta serial (DB9 ou DB25) , para envio ou recebimento de dados, representando 0 (desligado) ou 1 (ligado).

Figura 41. Visão frontal dos conectores DB9 (9 pinos) e DB25 (25 pinos)

Visão frontal dos conectores DB9 (9 pinos) e DB25 (25 pinos)


11.1. Transmissão dos Dados

Cada caracter é representado por uma sequência de bits (1 byte = 8 bits). Para o computador identificar qual o caractere que está chegando é necessário determinar quando termina o envio de um caracter e inicia o seguinte. Essa separação pelo envio de um sinal de +12V (início) avisando o computador que um novo dado serial esta disponível, seguido dos bits de dados, um bit opcional de paridade (parity) e um ou mais bits de parada (stop bits). Esse é conhecido como Comunicação Assíncrona na qual os dados podem ser enviados e recebidos a qualquer momento.

Na comunicação assíncrona a sequência de bits que formam o caracter é iniciada por um sinal de +12V (start bit) avisando o computador que um novo dado serial esta disponível, seguido dos bits de dados, um bit opcional de paridade (parity) e um ou mais bits de parada (stop bits).

Figura 42. Variação da voltagem do pino de transmissão da porta serial para o envio de um byte (1 byte = 8 bits)

Variação da voltagem do pino de transmissão da porta serial para o envio de um byte (1 byte = 8 bits)


Figura 43. Transmissão serial de 3 bytes.

Transmissão serial de 3 bytes.


11.2. Padrões de Transmissão

O bit de paridade é utilizado para detectar erros nas transmissões, já que o seu cálculo é extremamente simples. Por exemplo, se se anexar um bit de paridade extra a cada byte transmitido, um erro pode ser detectado se a paridade do byte não coincidir com o bit de paridade.(Wikipedia).

Com paridade par (Even), o bit de paridade deve valer 0 (zero) se houver um número par de uns (1), e com paridade ímpar (Odd) o bit de paridade deve valer 0 se houver um número ímpar de uns. Ou seja, o bit de paridade se ajusta para que o número total de uns seja ímpar com paridade ímpar e par com paridade par. Ao receber o byte o programa verifica se o número de uns coincide com a paridade estabelecida se houver diferença é solicitado o reenvio do dado.

Sem paridade (No parity) significa que não existe bit de paridade sendo enviado ou recebido. Os bits restantes são bits de parada, podem ser 1 ou 2 bits de parada.

Os manuais dos equipamentos devem especificar qual o padrão de transmissão, por exemplo:

  • 8N1: 8 bits de dados, sem paridade (No parity) e 1 bit de parada(O mais comum!)

  • 7E1: 7 bits de dados, paridade par (Even), 1 bit de parada

11.3. Velocidade de Transmissão

A velocidade transmissão de dados seriais costuma ser expressa como "bps" (bits-per-second) ou "baud" (baudot rate). Isto simplesmente representa quantos zeros e uns podem ser enviados por segundo.

Nos equipamentos de laboratório (espectrofotômetros, pHmetros, válvulas e bombas) é muito comum encontrar a velocidade de 9600 bauds. Quando a velocidade ultrapassa 1000 bauds, usa-se o prefixo kilo ou kbps (Ex: 9600 bauds 9.6k).

11.4. O que é RS232?

RS-232 é um padrão definido pela "EIA" (Eletronic Industries Association) para os dispositivos usados para comunicaçao serial. Está disponível em 3 "sabôres" (A, B e C) cada qual especificando uma faixa de voltagens para os níveis on e off. O mais comum em equipamentos de laboratório é o padrão RS-232C, o qual define o nível "mark" (on) entre -3V e -12V e o "space" (off) entre +3V e +12V.(Figura)

Segundo o padrão RS232C, um equipamento que utilize uma porta serial padrão RS-232C pode ser conectado a um computador por um cabo de até 8 metros sem perda de dados. Os padrões RS-422 e RS485 são padrões alternativos que usam voltagens menores permitindo o envio de dados por maiores distâncias. Quando necessário, é possível usar conversores RS-232C --> RS-485 e vice-versa .

Figura 44. Conversor RS232 - RS 484 produzido pela empresa brasileira Naxos. A alimentação é feita pelos pinos RTS e DTR e portanto dispensa o uso de uma fonte de alimentação externa.

Conversor RS232 - RS 484 produzido pela empresa brasileira Naxos. A alimentação é feita pelos pinos RTS e DTR e portanto dispensa o uso de uma fonte de alimentação externa.


11.4.1. Pinagem RS232

Segundo o padrão RS232 cada pino de um conector serial tem uma função específica, que deve ser seguida para a correta montagem de uma cabo de comunicação.

Observando, de perto, um conector DB9 ou DB25 você poderá observar os números de cada pino marcados na chapa plástica.

Tabela 4. Função de cada pino de uma interface serial (DB9 e DB25) em um PC conforme o padrão RS232

Pino DB9Pino DB25NomeDireção dos DadosFunção
32Transmite os Dados (TxD)PC -> EquipamentoTransmite os dados do PC para o equipamento
23Recebe os Dados (RxD)PC <- EquipamentoRecebe os dados do equipamento
57GNDTerra 
74Request To Send (RTS)PC -> Equipamento

Solicita permissão para envio de dados.

Controle de fluxo.

85Clear To Send (CTS)PC <- Equipamento

Verifica permissão do equipamento para receber dados.

Controle de fluxo.

66Data Set Ready (DSR)PC <- Equipamento

Verifica permissão do equipamento para receber dados.

Controle de fluxo pouco usado.

420Data Terminal Ready (DTR)PC -> Equipamento

Solicita permissão para envio de dados.

Controle de fluxo pouco usado

18Data Carrier Detect (DCD)PC <- ModemUsado para comunicação com Modens
922Ring Indicator (RI)PC <- ModemIndicador de chamada (Usado para comunicação com Modens)

Figura 45. Pinos principais de um conector DB9 macho.

Pinos principais de um conector DB9 macho.


11.5. Protocolo de Comunicação

Você não precisa se preocupar muito com isso, mas é importante saber que é necessário algum mecanismo que regule o fluxo de dados entre o PC e o equipamento para que um equipamento envie os seus dados somente quando o PC esteja pronto para receber e vice-versa.

Um dos métodos é o chamado controle de fluxo por software (software flow control), através do qual o programa controla os sinais dos pinos de controle de fluxo (RTS, DTR etc)

O outro método, e mais utilizado, é o controle por hardware, no qual o próprio driver do sistema operacional se encarrega de controlar os sinais dos pinos CTS e RTS. É um método mais comum.

Quando o equipamento a ser usado usa apenas os 3 sinais (TxD, RxD e GND), o mais comum é conectar os pinos 7(RTS)<-->8(CTS) no conector do PC, na gíria se diz "jampear"( do inglês jumper).

11.6. Cabo para Comunicação

Se você já dispõem do cabo de conexão com o PC, vai ter menos trabalho. Caso contrário você tem duas opções, ou compra o cabo do fornecedor do equipamento ou monta você mesmo. E se diverte um pouco mais. :^)

A montagem vai depender das informações disponíveis no manual do equipamento ou no site do fabricante, informando a pinagem da interface serial e os parâmetros de comunicação.

Para alguns equipamentos, essas informações não são disponibilizadas e você fica obrigado a comprar (importar) o cabo do fabricante, ou a transmissão dos dados não segue o padrão RS232 exigindo algum circuito adicional como é caso do medidor de oxigênio dissolvido MO 128 da Mettler Toledo.

Por issso sugiro que, sempre que possível, ao comprar o equipamento, escolha um modelo com interface serial RS-232 com o cabo de conexão incluído.

11.6.1. Montagem do Cabo

O cabo de conexão geralmente é feito com 2 conectores fêmea DB9 (ou DB25 dependendo do equipamento) interligados por um cabo multivias (6 vias é suficiente) os quais são encaixados nos conectores macho do PC e do equipamento. A numeração dos pinos é impressa na parte interna do conector.

Figura 46. Cabo Serial

Cabo Serial


11.6.2. Cabo de Modem Nulo

Primeiramente deve-se verificar a pinagem do conector serial do equipamento, o qual pode ter uma numeração diferente do padrão RS-232, identificando quais são os pinos RxD, TxD e GND e se é necessario usar (ou jampear) os pinos RTS e CTS.

No padrão RS232 o cabo pode ser montado conectando os pinos dos conectores DB9 (fêmea) RxD(2) que será ligado ao PC com TxD(3) do equipamento, TxD(3) do PC com RxD(2) do equipamento e GND(5) do PC com GND(5) do equipamento.

No caso dos equipamentos que não usam os pinos RTS e CTS ( o mais comum) o que se faz é jampear os pinos RTS(7) com CTS(8) no PC.

Figura 47. Exemplo de um cabo de Modem Nulo montado no laboratório, onde pode ser visto à esquerda o diagrama das conexões e à direita a capa do conector aberta mostrando o conector db9 e a fiação interna. O fio branco está funcionando como um "jumper". O cabo e o conector foram comprados em lojas de componentes eletrônicos.

Exemplo de um cabo de Modem Nulo montado no laboratório, onde pode ser visto à esquerda o diagrama das conexões e à direita a capa do conector aberta mostrando o conector db9 e a fiação interna. O fio branco está funcionando como um "jumper". O cabo e o conector foram comprados em lojas de componentes eletrônicos.


Figura 48. Detalhes da soldagem. Na figura da esquerda aproveitamos a blindagem do cabo e soldamos na carcaça do conector - apenas no conector ligado ao PC. A figura da direita mostra um cabo conectando apenas os 3 pinos básicos (Tx, Rx e Gnd (terra)).

Detalhes da soldagem. Na figura da esquerda aproveitamos a blindagem do cabo e soldamos na carcaça do conector - apenas no conector ligado ao PC. A figura da direita mostra um cabo conectando apenas os 3 pinos básicos (Tx, Rx e Gnd (terra)).


11.7. Equipamentos de Laboratório com Interface Serial RS232

11.7.1. Espectrofotômetros

11.7.1.1. Espectrofotômetro Hach DR 2010

O espectrofotômetro Hach modelo DR 2010 oferece uma interface RS232 a qual mediante configuração pelo teclado pode enviar os valores exibidos no mostrador a cada "10s", mas não aceita nenhum comando externo.

Figura 49. Visão frontal e traseira do espectrofotômetro Hach DR2010 com destaque para a interface serial.

Visão frontal e traseira do espectrofotômetro Hach DR2010 com destaque para a interface serial.


11.7.1.2. Espectrofotômetro Femto 600S

Espectrofotômetro para leitura na região visível do espectro (325 a 1100 nm) com saída serial RS232 com taxa de transferência de 2Hz, ou seja, envia o valor do visor a cada 0,5 s. Uma taxa de transferência satisfatória para uso em sistemas de análise em fluxo.

Figura 50. Espectrofotômetro Femto 600S e a pinagem do cabo serial para este equipamento. Cofiguração da porta serial: 9600 bps, 7 bits de dados, paridade par e 2 bits de parada (9600, 7, e, 2).

Espectrofotômetro Femto 600S e a pinagem do cabo serial para este equipamento. Cofiguração da porta serial: 9600 bps, 7 bits de dados, paridade par e 2 bits de parada (9600, 7, e, 2).


11.7.2. Bureta Automática Dosimat 665 da Metrohm.

Buretas automáticas, como esta da Metrohm, são equipamentos muito úteis nos laboratórios que realizam análises de rotina.

Figura 51. Bureta automática Dosimat 665 da Metrohm com destaque para a interface serial DB25. Conforme o manual deste equipamento a pinagem do conector não segue o padrão RS232.

Bureta automática Dosimat 665 da Metrohm com destaque para a interface serial DB25. Conforme o manual deste equipamento a pinagem do conector não segue o padrão RS232.


11.7.3. pHmetros

11.7.3.1. pHmetro Orion 420 A

Figura 52. Visão frontal e lateral do pHmetro Orion 420 A com destaque para a porta serial RS232.

Visão frontal e lateral do pHmetro Orion 420 A com destaque para a porta serial RS232.


11.7.3.2. pHmetro Orion 250 A

Figura 53. pH portátil da Orion com muitos recursos para automação. Permite selecionar leituras de pH, potencial redox (ORP) e íon seletivo (ISE).

pH portátil da Orion com muitos recursos para automação. Permite selecionar leituras de pH, potencial redox (ORP) e íon seletivo (ISE).


11.7.3.3. pHmetros DM20 e DM21 da Digimed

Não consegui obter informações técnicas sobre o uso das portas seriais desses equipamentos com a Digimed! :^(

Figura 54. Modelos DM20 e DM21 da Digimed com saídas seriais RS 485.

Modelos DM20 e DM21 da Digimed com saídas seriais RS 485.


11.7.4. Medidor de Oxigênio Dissolvido MO 128 da Mettler Toledo

O fabricante não fornece informações para a confecção do cabo e ao que parece o sinal de saída do conector PS/2 não segue o padrão RS232. O cabo fornecido pelo fabricante contém um circuito para processamento dos sinais.

Figura 55. Medidor de OD (Oxigênio Dissolvido) MO 128 da Mettler Toledo e a interface serial.

Medidor de OD (Oxigênio Dissolvido) MO 128 da Mettler Toledo e a interface serial.


11.8. Bombas Peristálticas

11.8.1. Bomba peristáltica Ismatec

Este equipamento permite um controle bi-direcional, ou seja, é possivel controlar a velocidade, tempo de operação e receber uma resposta se o comando foi executado ou não.

Figura 56. Bomba peristáltica Ismatec IPC com a interface serial em destaque.

Bomba peristáltica Ismatec IPC com a interface serial em destaque.


11.8.2. Bomba peristáltica Masterflex L/S

Nem todos os modelos de bomba Masterflex L/S apresentam saída RS232, apenas os modelos 7550-30 e 7550-50.(Manual)

Figura 57. Bomba peristáltica Masterflex/L/S

Bomba peristáltica Masterflex/L/S


11.8.3. Bomba peristáltica Watson Marlow SCI-Q 400

Esta bomba possui apenas recursos para controle analógico da velocidade (0-1V) e sentido de rotação (abertura/fechamento de contato) e portanto necessita de uma interface que permita receber os comandos digitais do PC. A empresa FIAlab comercializa esta bomba juntamente com uma interface que permite o seu controle pela porta serial do PC.

Figura 58. Bomba peristáltica Alitea e interface de controle LS3500 comercializadas pela empresa FIAlab

Bomba peristáltica Alitea e interface de controle LS3500 comercializadas pela empresa FIAlab


A interface é usada para controlar a bomba peristáltica Alitea, recebendo do computador os comandos ASCII através da porta serial RS232 e controlando a velocidade e o sentido de rotação.

A interface LS3500 também possui dois conversores DAC (0-5VCC), 8 saídas TTL, 2 conversores ADC (0-5V) e dois relês para acionamento de dispositivos de baixo consumo (< 1 A e 10 - 24 VCC)

11.9. Válvula Multiposição (ou Multiportas ou Seletora)

Válvula seletora (multiposição (ou multiportas)) Valco e interface de controle com destaque para a conexão do cabo serial. Muito usada em automação, dando origem à técnica Lab-on-Valve (LOV).

Figura 59. Válvula multiposição (ou multiportas ou seletora) e interface, da empresa Valco

Válvula multiposição (ou multiportas ou seletora) e interface, da empresa Valco


A válvula é vendida com a interface de controle serial, fonte de alimentação e teclado para controle manual. Se o cabo de comunicação com o PC não estiver disponível poderá ser montado com um conector de 3 pinos específico!

11.10. Amostrador AIM 1250

O amostrador automático AIM 1250, produzido pela empresa A.I Scientific permite a amostragem programada de líquidos para sistemas de análise em fluxo.

Figura 60. Amostrador automático AIM 1250 com destaque para os conectores seriais DB25 na parte traseira.

Amostrador automático AIM 1250 com destaque para os conectores seriais DB25 na parte traseira.


11.11. Cabo Adaptador USB-Serial

Ultimamente está cada vez mais difícil encontrar computadores com Portas Seriais. Nesses casos é possível usar um cabo adaptador (ou conversor) USB-Serial para comunicação serial usando a porta USB. Esses cabos podem ser encontrados em lojas de produtos de informática.

Figura 61. Conversor USB-Serial.

Conversor USB-Serial.


Não tenho tido qualquer dificuldade para usar esses adaptadores no Linux (Debian)!

Após conectar o adaptador na porta USB e digitar, em um terminal, o comando dmesg é possível identificar as informações sobre o reconhecimento do novo dispositivo:

usb 1-2: new full speed USB device using uhci_hcd and address 4 
[ 2084.537911] usb 1-2: configuration #1 chosen from 1 choice 
[ 2084.541151] pl2303 1-2:1.0: pl2303 converter detected 
[ 2084.556643] usb 1-2: pl2303 converter now attached to ttyUSB0 
[ 2084.556801] usb 1-2: New USB device found, idVendor=067b, idProduct=2303 
[ 2084.556804] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 
[ 2084.556807] usb 1-2: Product: USB 2.0 To COM Device 
[ 2084.556809] usb 1-2: Manufacturer: Prolific Technology Inc.

A linha pl2303 converter now attached to ttyUSB0 indica que o novo dispositivo está associado à porta /dev/ttyUSB0.

Na seção Aquisição de dados de um espectrofotômetro - I você encontrará mais informações de como usar essa informação para se comunicar com o equipamento.

O comando lsusb também fornece informações sobre o conversor:

...
Bus 001 Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
...