A comunicação do PC com uma interface remota é limitada em distância quando usamos a porta paralela. Além do elevado número de condutores necessários, o sinal atenua-se e perde sua consistência em poucos metros. Para interfaceamento remoto o mais indicado é usar a porta serial. O circuito que propomos pode fazer a amostragem de sinais remotamente usando a porta serial, não limitando assim o comprimento da linha.

 

O circuito que apresentamos baseia-se na UART CDP6402C ou equivalente, e ainda emprega um MAX232 que é um dos circuitos mais utilizados quando se deseja converter sinais TTL/CMOS em tensões compatíveis com a porta RS232 de um PC.

Dentre as aplicações possíveis para esta interface de amostragem temos o sensoriamento remoto, a coleta de dados a partir de sensores, ou ainda a monitoria de eventos que tenham um transdutor que proporcione uma saída analógica.

Com o aperfeiçoamento do circuito é possível multiplexar a entrada e fazer a monitoria de diversos sensores ou de diversas fontes de sinais analógicas ao mesmo tempo.

O conversor analógico digital utilizado tem uma boa resolução (8 bits) e com uma frequência de clock de 640 kHz o ciclo completo de amostragem dura 100 µs, e uma linearidade melhor do 1/4 do bit menos significativo é conseguida com facilidade.

Se o leitor desejar maior resolução poderá empregar conversores equivalentes fazendo as devidas modificações no circuito.

Para acoplar ao circuito sinais de sensores menos sensíveis, a National recomenda como amplificadores operacionais e comparadores compatíveis o Lm393 e o Lm339.

 

COMO FUNCIONA

Na figura 1 temos um diagrama de blocos que representa este circuito de amostragem de dados via porta serial.

 

Diagrama de blocos do circuito de amostragem analógica via porta serial.
Diagrama de blocos do circuito de amostragem analógica via porta serial.

 

Em funcionamento, o circuito espera por um byte de informação correspondente ao valor analógico convertido na entrada.

O sinal analógico entra via pinos 7 e 8 do conversor A/D ADC0804 (faixa de tensões de 0 a 5 V) e sai na forma digital (8 bits ou 1 byte) pelos pinos de 11 a 18, sendo então este valor digitalizado aplicado aos pinos TBR1 a TBR8 da UART (Universal Assincronous Receiver/Transmiter).

O clock do circuito é feito na frequência de 2,4576 MHz determinando assim uma velocidade de transmissão dos dados de 2400 a 115 200 BPS, conforme programação do divisor interno da UART.

Alterações neste circuito podem ser feitas com a troca do cristal, caso o leitor deseje modificar a velocidade de transmissão de dados.

Repare que a saída Data Received (DR) está no nível alto enquanto que a entrada nWrite (WR) do ADC está ativa quando no nível baixo. Se observarmos a operação do ADC, veremos que numa transição do nível alto para o nível baixo da entrada nWrite o circuito interno de aproximações sucessivas e os shift registers são ressetados. Fornecido um sinal para a linha nWrite, ela permanece neste estado e o ADC fica ressetado. O processo de conversão se inicia quando uma transição do nível baixo para o nível alto é aplicada na entrada nWrite.

Isso significa que a saída Data Received (DR) ficará no nível baixo enquanto não houver dados para serem recebidos, e ao mesmo tempo o ADC ficará ressetado. Quando os dados são recebidos pela UART, uma transição do nível baixo para o nível alto ativa a linha Data Received e com isso o pino nWrite do ADC é habilitado.

Quando a conversão de dados para a forma digital é completada, a linha nINTR (Interrupt) é ativada indo ao nível baixo. Este sinal é usado para avisar a UART que ela pode enviar os dados que estarão armazenados no seu Transmitter Buffer Register (TBR1 a TBR8). A entrada nINTR está também ligada ao Data Received Reset da UART de modo a zerar o circuito no final da transmissão.

Com isso o circuito estará pronto para repetir uma nova conversão e enviar um novo byte correspondente a uma nova leitura do dispositivo ligado à entrada do circuito.

 

MONTAGEM

O circuito tem alguns pontos críticos devendo, por isso, ter cuidado para que as ligações à terra sejam bem planejadas.

Na figura 2 temos o diagrama completo do circuito de amostragem pela porta serial.

 

Diagrama da interface.
Diagrama da interface.

 

A ligação à porta serial é feita por um conector DB-9.

A tensão de alimentação é de 5 V e deve ser feita com fonte estabilizada. Se necessário, capacitores de 100 nF cerâmicos junto ao pino de alimentação de cada integrado devem ser acrescentados diminuindo assim a possibilidade da ocorrência de instabilidades.

O circuito pode ser desenvolvido inicialmente numa matriz de contatos e depois o leitor, em função dos resultados ou das aplicações, pode planejar a placa de circuito impresso correspondente.

 

PROGRAMA

O programa de leitura dos dados pode ser elaborado em diversas linguagens comuns como, por exemplo, QBasic, VisualBasic, Delphi, C++, Pascal, etc.

Lembramos apenas que os endereços das portas seriais são:

 

COM1 0x3F8

COM2 0x2F8

COM3 0x3E8

COM4 0x2E8

 

Observamos ainda que a velocidade de transmissão pode ser ajustada pelo próprio programa que atua sobre o divisor interno da UART.

 

Os parâmetros para esta divisão são:

0x01 = 115 200 BPS

0x02 = 56 700 BPS

0x03 = 38 400 BPS

0x06 = 19 200 BPS

0x0C = 9 600 BPS

0x18 = 4 800 BPS

0x30 = 2 400 BPS

 

 

Semicondutores:

CI-1 - MAX232 - circuito integrado

CI-2 - D36402R - UART - circuito integrado

CI-3 - 74HC4060 - circuito integrado

CI-4 - ADC0804 - conversor A/D - circuito integrado

Resistores: (1/8 W, 5%)

R1, R2 - 10 k Ω

Capacitores:

C1, C2, C3, C4 - 10 µF/16 V - eletrolíticos

C5, C6 - 22 pF - cerâmicos

C7 - 150 nF - poliéster

Diversos:

Matriz de contato ou placa de circuito impresso, conector DB-9, fonte de alimentação de 5 V, fios, solda, etc.