1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox - PDF Download grátis
Download "1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox"
Marcelo Taveira Amaral
1 1- Scilab e a placa Lab_Uino A placa Lab_Uino, é uma plataforma aberta para aprendizagem de sistemas microprocessados. Com a utilização de um firmware especifico a placa Lab_Uino é reconhecido pelo sistema operacional como um dispositivo de interface Humana (HID) e através de um protocolo especifico e arquivos de funções em DLL torna-se fácil a utilização de outras ferramentas para controle dos dispositivos da placa. A partir desta facilidade foi desenvolvido um toolbox que permite que o XCOS do Scilab, utilize os recursos de hardware da placa Lab_Uino permitindo seu uso na aquisição de dados e envio de informação para sistemas físicos. Espera-se com isso que a placa Lab_Uino se torne uma ferramenta poderosa no auxílio ao ensino de sistemas de controle permitindo a aquisição de dados e atuação em diversos tipos de circuitos utilizando principalmente as entradas ADC (conversor analógico digital) e saídas PWM (modulação por largura de pulsos) que podem atuar como saídas analógicas. 2- Instalação do ToolBox A versão atual do toolbox utilizada aqui, bem como seu arquivo de instalação automática tanto para Windows 7 quanto 8 foram desenvolvidos para o Scilab Versão de 32 bit mas nada impede que seja utilizado em versões futuras ou anteriores bastando para isso fazer uma instalação manual, sempre na versão 32 bit. O primeiro passo é instalar o Scilab que pode ser obtido no site Deve-se baixar e instalar a versão para 32 bit como mostra a figura 1. Figura 1 Detalhe do software a ser instalado versão 32 bit Após completada a instalação do Scilab bit, pode-se proceder a instalação do toolbox do Lab_Uino. O programa para instalação automático pode ser obtido no site na seção de download. Existem duas versões, uma para Win7 (que deve funcionar para WinXP) e a versão para Win8. Selecione a correta para seu sistema operacional faça o download e a instalação conforme as orientações da tela do instalador. É importante frisar aqui que a instalação tanto do Scilab quanto do Toolbox devem ser realizados sem a alteração dos diretórios de destino sugeridos pelos programas instaladores sob pena de falhas na instalação. Além disso durante o processo de instalação o usuário deve estar com privilégios de administrados ou possuir senhas e privilégios necessários para completar o processo de instalação. Depois de instalar o toolbox, deve-se fechar o Scilab e abrir ele novamente. Caso a instalação seja bem sucedida, o Scilab apresentará a tela da figura 2, evidenciando a instalação do Toolbox Lab_uino.
2 Figura 2 Tela de console do Scilab Agora será possível utilizar o toolbox da placa Lab_Uino no Scilab. Abra o XCOS através do menu Aplicativos >> XCOS do console do Scilab e localize, provavelmente no final da lista de paletas a paleta do Xcos Lab_Uino toolbox como mostra a figura 3. Figura 3 Toolbox Lab_Uino
3 Como é possível observar na figura 3, o toolbox Lab_Uino tem 7 blocos como descritos a seguir: 2.1 Entradas analógicas e digitais: A figura 4 mostra o aspecto do símbolo do toolbox do Lab_Uino para inserção e do elemento inserido na janela de edição de diagramas do XCOS. Figura 4 - Símbolo de inserção e diagrama entradas analógicas e digitais Na placa Lab_Uino são 4 entradas analógicas disponíveis no símbolo do diagrama, representado por 0, 1, 4 e 5. As entradas digitais disponíveis estão nas chaves da placa Lab_Uino e aparecem no símbolo do diagrama como SW. Para facilitar a depuração de sistemas, a placa possui 6 chaves para simulação de entrada e 1 chave para reset do processador. Cinco destas chaves estão ligadas aos sinais de entrada compatível com a entrada de porta paralela (ack, busy, paper_out, select_out e error), outra chave (prog) está ligado ao sinal HWB do processador, sendo usado para iniciar a gravação do processador após reset(bootloader) ou como uso geral mas não está disponivel no conector CN1 e finalmente temos uma chave ligada ao reset do processador. Todas estas chaves são ativadas em nível zero, ou seja quando pressionamos a chave o pino do microcontrolador é aterrado informando que a chave foi pressionada. Além das chaves, é possível também acessar os pinos através do conector CN1 ou no conector DB25 quando disponível. A figura 5 mostra o posicionamento no conector CN1 na placa. ERROR ACK PAPER_OUT BUSY SEL_OUT Figura 5 Disposição entradas digitais conector CN1
4 Na figura 6 é mostrado o esquema de ligação das chaves que representa as entradas digitais da placa Lab_Uino e sua disposição na placa. Figura 6 Ligação das chaves Lab_Uino Estas entradas digitais são disponibilizadas através de um valor numérico que representa o peso binário de cada uma das chaves. A figura 7 mostra o peso binário de cada uma das chaves SEL_OUT PAPER_OUT PROG BUSY ACK ERROR Figura 7 Distribuição das entradas digitais da placa Lab_Uino na saída SW do bloco de aquisição As entradas analógicas estão disponíveis nos conectores CN5, CN6, CN7 e CN8. Cada conector tem nas extremidades a tensão de 5 Vcc disponível e no centro a entrada do conversor ADC propriamente dita. As entradas de conversor ADC, suportam tensão máxima de 5Vcc e caso esta tensão seja excedida podem ocorrer danos irreversíveis ao microcontrolador. Sendo assim deve-se tomar muito cuidado ao conectar circuitos externos a estas entradas. A disposição dos portas de conversão ADC podem ser vistas na figura 8. Das 4 entradas disponíveis as entradas 0 e 1 tem resolução de 8 bits, ou sejam variam de 0 a 255 seu valor digital para uma variação de tensão de 0-5Vcc. As entradas 4 e 5 tem resolução de 10 bits, ou sejam variam de 0 a 255 seu valor digital. Na figura 8 as conexões marcadas com o sinal + são saídas de +5Vcc e as marcadas com o sinal são saídas de GND. As entradas são indicadas pelo seu número de acordo com o símbolo do bloco no diagrama Figura 8 Disposição das entradas de conversor ADC
5 A figura 9, mostra um diagrama, construído no XCOS, que lê o valor das entradas digitais e o valor da entrada do conversor ADC 0. Observe que todo o circuito deve ter um bloco Lab_Uino Open para abrir a conexão do HID com o sistema. 2.2 Saídas PWM: Figura 9 Exemplo conexão bloco de Leitura de entradas ADC e digitais A placa Lab_Uino, conta com 3 saídas do tipo PWM que tem resolução de 10 bits, permitindo valores em sua entrada de 0 a Estas saídas podem operar como saídas DAC (conversor analógico digital) quando acompanhado de filtros adequados ou quando em sistemas que permitam esta interpretação. Estas saídas estão disponíveis no conector CN1 (PWM C) e CN2 (PWM A e B). Existe também uma correspondência entre as saídas PWM e os leds presentes na placa o LED 1 é o PWM C, o LED 10 é o PWM B e o LED 9 é o PWM A. A figura 10 mostra o aspecto dos blocos na paleta de inserção do XCOS e na tela do diagrama. Figura 10 Símbolos de inserção e de diagrama do bloco PWM A entrada do bloco PWM deve receber um valor numérico de 0 a A figura 11 mostra um diagrama típico do XCOS gerando uma onda senoidal na saída PWM0 com zero deslocada através de um somador, para evitar valores negativos não são aceitos pelo bloco PWM.
6 Figura 11 Exemplo geração de onda senoidal deslocada Para geração da onda senoidal foi utilizado o bloco da paleta Fontes >> GESIN_f com a configuração mostrada na figura 12. O bloco de soma faz o deslocamento do zero somando o valor 511,5 e desta forma quando a saída do bloco gerador for , o resultado da soma será zero. 2.3 Saídas Digitais: Figura 12 Ajuste bloco GENSIN_f A placa Lab_Uino conta com 12 saídas digitais que podem ser utilizadas no diagrama do XCOS através de dois blocos Saídas digitais Dados D7.. D0 e Saídas digitais de controle. A figura 13 mostra o aspecto dos blocos na paleta de inserção do XCOS e na tela do diagrama. Figura 13 Blocos de escrita nas saídas digitais Lab_Uino
7 As saídas digitais são disponibilizadas nos conectores CN1 e CN2 e também nos leds de LD1 a LD12. A figura 14 localiza os pinos de saída digital nos conectores CN1 e CN2. A figura 15 mostra o esquema de ligação dos leds. A utilização de algumas saídas digitais compartilhadas com o bloco PWM pode necessitar a reinicialização da placa Lab_Uino, ou seja, é necessário desligar e ligar a placa novamente na porta USB do computador. STROBE FEED S_IN INIT D0 D2 D4 D6 D1 D3 D5 D7 Figura 14 Disposição das saídas digitais CN1 e CN2 Figura 15 Esquema de ligação dos leds A figura 16 mostra um exemplo utilizando o bloco de saída de dados D7.. D0, no qual foi implementado um contador de módulo 25. Na simulação a contagem é realizada até 100 e é preciso definir a Escala em tempo real = 1, para que o período de geração do valor numérico na saída do contador ocorra a cada 1 segundo. Será possível observar nos leds a sequência de contagem binária de 0 a 100. Para ajustar o tempo final de integração e a Escala em tempo real, será necessário abrir a janela Definir parâmetros disponível no menu Simulação >> Configuração no editor de diagramas do XCOS.
8 Figura 16 Diagrama para teste das saídas digitais D7.. D0 na placa Lab_Uino 2.4 Lab_Uino OPEN: Este bloco é necessário para abrir a comunicação entre o XCOS e a placa Lab_Uino. Deve ser utilizado em todos os diagramas, conectados ao clock gerador de amostragens. A figura 17 mostra o aspecto do bloco na paleta de inserção do XCOS e na tela do diagrama. Figura 17 - Bloco Lab_Uino Open 3- Experimentos Scilab x Lab_Uino Vamos agora estudar alguns aspectos de controle de processo utilizando para isso a placa Lab_Uino em conjunto com o Scilab Sistema de Primeira ordem Um sistema de primeira ordem é um sistema que possui apenas uma constante de tempo em seu modelo matemático. Mesmo sistemas mais complexos em alguns casos podem ser aproximados a sistemas de primeira ordem. O sistema de transferência pode ser representado pela função de transferência da equação : Nesta equação τ representa a constante de tempo do sistema de primeira ordem.
9 Um sistema de primeira ordem pode ser baseado na função de transferência de um sistema elétrico composto por uma resistência e um capacitor dispostos conforme o esquema mostrado na Figura 19. A função de transferência relaciona a saída com a entrada do sistema. Figura 19 Circuito RC A representação da função de transferência pode então ser descrita pela equação : Nesta equação o produto R x C, representa a constante de tempo do sistema. Com o auxilio do XCOS vamos montar um experimento para comparar os valores reais e teóricos de um sistema RC. Monte o circuito RC da figura utilizando R= 10 K Ohm e C = 100 uf, conectando a entrada do resistor ao pino D0 da placa Lab_Uino e a junção do resistor com o capacitor na entrada ADC5. No XCOS monte o diagrama representado pela figura 20. Figura 20 Diagrama para experimento Primeira Ordem
10 Os seguintes ajustes são necessários : Na função STEP, ajustar tempo do passo para 10 na entrada do bloco que vai para o Lab_Uino e ligeiramente superior para a função STEP da entrada do bloco da função de transferência, por exemplo 10.6 e valor final 1. No gráfico ajustar valor máximo para 1030 e Refresh Period para 60. No menu simulação escolha o menu simulação e então Configuração. Na janela que irá abrir, ajuste os valores de acordo com o mostrado na figura 21. Figura 21 Ajuste dos parâmetros de simulação Depois de tudo pronto realize a simulação, faça análise do gráfico resultante e responda as seguintes questões que deverão ser apresentadas em um relatório : a) Qual o valor da constante de tempo teórica do sistema RC? b) No gráfico são plotados o resultado da saída real do circuito RC montado na Placa Lab_Uino e da função de transferência. Observando o gráfico é possível dizer que o resultado é exatamente igual para o circuito RC e para a função de transferência? Mostre o gráfico obtido. c) Caso os resultados não sejam exatamente iguais, qual deveria ser o valor da constante de tempo da função de transferência para que o resultado obtido do circuito da placa Lab_Uino seja igual ao da função de transferência? Mostre em um gráfico o resultado obtido. É possível obter curvas sobrepostas ajustando a constante de tempo do bloco de função de transferência e o tempo de passo. d) Caso tenha sido necessário fazer algum ajuste no valor da constante de tempo no bloco da função de transferência justifique sua resposta discutindo os motivos que podem ter levado a isso.