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).
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)
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
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).
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.
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 DB9 | Pino DB25 | Nome | Direção dos Dados | Função |
---|---|---|---|---|
3 | 2 | Transmite os Dados (TxD) | PC -> Equipamento | Transmite os dados do PC para o equipamento |
2 | 3 | Recebe os Dados (RxD) | PC <- Equipamento | Recebe os dados do equipamento |
5 | 7 | GND | Terra | |
7 | 4 | Request To Send (RTS) | PC -> Equipamento | Solicita permissão para envio de dados. Controle de fluxo. |
8 | 5 | Clear To Send (CTS) | PC <- Equipamento | Verifica permissão do equipamento para receber dados. Controle de fluxo. |
6 | 6 | Data Set Ready (DSR) | PC <- Equipamento | Verifica permissão do equipamento para receber dados. Controle de fluxo pouco usado. |
4 | 20 | Data Terminal Ready (DTR) | PC -> Equipamento | Solicita permissão para envio de dados. Controle de fluxo pouco usado |
1 | 8 | Data Carrier Detect (DCD) | PC <- Modem | Usado para comunicação com Modens |
9 | 22 | Ring Indicator (RI) | PC <- Modem | Indicador de chamada (Usado para comunicação com Modens) |
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).
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.
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.
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.
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)).
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.
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).
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.
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).
Não consegui obter informações técnicas sobre o uso das portas seriais desses equipamentos com a Digimed! :^(
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.
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.
Nem todos os modelos de bomba Masterflex L/S apresentam saída RS232, apenas os modelos 7550-30 e 7550-50.(Manual)
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
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)
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).
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!
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.
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.
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 ...