Foram feitas mais algumas alterações no programa de aquisição de dados Multipar para incluir a possibilidade de configurar a unidade de tempo a ser utilizada durante um experimento e aproveitamos para incluir mais um módulo para o medidor de OD da WTW™ inoLab Oxi7310.
A primeira etapa é consultar o manual do instrumento, que está disponível no site do fabricante http://www.wtw.de/no_cache/en/downloads-support/operating-manuals.html
Este instrumento é dedicado para medidas de OD e possui uma interface Mini USB-B para comunicação serial com um computador.
A alimentação elétrica pode ser feita exclusivamente pela interface USB usada para comunicação serial, dispensando o uso de baterias ou fonte de alimentação.
Ao conectar este instrumento a um PC rodando o Debian 6.0 podemos ver a mensagem de reconhecimento do dispositivo e carregamento do respectivo driver pelo comando dmesg:
[25014.298672] usb 1-2: new full speed USB device using uhci_hcd and address 3 [25014.463530] usb 1-2: configuration #1 chosen from 1 choice [25014.468857] usb 1-2: New USB device found, idVendor=10c4, idProduct=ea60 [25014.468864] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [25014.468867] usb 1-2: Product: CP2102 USB to UART Bridge Controller [25014.468870] usb 1-2: Manufacturer: Silicon Labs [25014.468872] usb 1-2: SerialNumber: 0001 [25014.604403] usbcore: registered new interface driver usbserial [25014.604403] usbserial: USB Serial support registered for generic [25014.604403] usbcore: registered new interface driver usbserial_generic [25014.604403] usbserial: USB Serial Driver core [25014.616411] usbserial: USB Serial support registered for cp2101 [25014.616411] cp2101 1-2:1.0: cp2101 converter detected [25014.730370] usb 1-2: reset full speed USB device using uhci_hcd and address 3 [25014.879640] usb 1-2: cp2101 converter now attached to ttyUSB0 [25014.879640] usbcore: registered new interface driver cp2101 [25014.879640] cp2101: Silicon Labs CP2101/CP2102 RS232 serial adaptor driver v0.07
A linha “usb 1-2: cp2101 converter now attached to ttyUSB0” indica que o novo dispositivo está associado à porta /dev/ttyUSB0
.
Na página 51 do manual (“USB interface”) encontramos as informações para a configuração da interface serial (/dev/ttyUSB0
):
Baud rate: 1200, 2400, 4800, 9600, 19200
Data bits: 8
Stop bits: 2
Parity: None
No módulo de comunicação configuramos a velocidade para 9600 e os demais parâmetros conforme o manual.
O instrumento oferece duas opções para envio de dados: “CSV” e “ASCII”.
Para selecionar o formato de saída de dados manter o botão F1 pressionado até aparecer na tela a mensagem Storage & config, selecionar a opção System e pressionar ENTER.
Na tela System selecionar a opção Interface e pressionar ENTER.
Na tela Interface selecionar a opção Output format, pressionar ENTER, em seguida selecionar CSV e novamente pressionar ENTER
Para iniciar o envio pela saída serial USB manter pressionado o botão F2 até aparecer a tela Autom. USB output, selecionar a opção Continue e pressionar o botão ENTER.
Com o uso do programa femto600s.tcl observamos o seguinte formato:
01.01.2011 02:19:35
inoLab Oxi 7310
Ser. no. 12270206
ID number: 1
Oxi 2.53 mg/l 23.9 øC AR
_____________________________
01.01.2011 02:19:36
inoLab Oxi 7310
Ser. no. 12270206
ID number: 1
Oxi 2.53 mg/l 23.9 øC AR
_____________________________
Para selecionar o formato de saída de dados manter o botão F1 pressionado até aparecer na tela a mensagem Storage & config, selecionar a opção System e pressionar ENTER.
Na tela System selecionar a opção Interface e pressionar ENTER.
Na tela Interface selecionar a opção Output format, pressionar ENTER, em seguida selecionar CSV e novamente pressionar ENTER
Para iniciar o envio pela saída serial USB manter pressionado o botão F2 até aparecer a tela Autom. USB output, selecionar a opção Continue e pressionar o botão ENTER.
Com o uso do programa de aquisição programa de aquisição (femto600s.tcl) observamos que no formato “CSV” o medidor envia todos os dados de uma leitura em uma única linha com 11 campos delimitados pelo caracter “;” conforme o exemplo abaixo:
inoLab Oxi 7310;12270206;;01.01.2011;00:08:03;;2,67;;21,9;;AR;
No qual cada campo corresponde às seguintes informações:
Campo 0 -> modelo do equipamento: inoLab Oxi 7310
Campo 1 -> número serial do medidor: 12270206
Campo 2 -> ID do medidor (configurável): 1
Campo 3 -> Data do medidor (sem bateria a data retorna para 01.01.2011)
Campo 4 -> Hora do medidor (sem bateria a hora retorna para 00:00:00
Campo 5 -> Leituras de OD quando o medidor está lendo em % de saturação
Campo 6 -> Leituras de OD quando o medidor está lendo em mg/L
Campo 7 -> Leituras de OD quando o medidor está lendo em mbar
Campo 8 -> Leituras de Temperatura
Campo 9 -> Correção de Salinidade (Concentração de sal configurada manualmente)
Campo 10 -> Mensagem AR (Stability control ativo)
O formato “ASCII” envia as mesmas informações do formato “CSV”, mas o formato “CSV” facilita a manipulação dos dados pelo programa de aquisição pois envia todas as informações em apenas uma linha com os campos separados pelo caracter “;” enquanto que no formato “ASCII” são enviadas várias em cada leitura demandando mais processamento para identificar e extrair as informações.
Avaliamos que seria conveniente incluir na tela de configuração a opção de selecionar a unidade de tempo (h|m|s) mais adequada para a escala de tempo de um experimento. Por exemplo, para um experimento que vai durar alguns minutos podemos selecionar a unidade “segundo” (s), para um experimento com duração de algumas horas seria conveniente selecionar a unidade “minuto” (m) e finalmente para um experimento de alguns dias podemos selecionar a unidade “hora” (h).
Com a inclusão de mais um módulo a tela inicial do programa está exibindo 3 opções.
O código em Tcl/Tk está disponível para download no link: multipar_03.zip.
Bom Trabalho! :^)