• Nenhum resultado encontrado

Laboratório Controle Dinâmico

N/A
N/A
Protected

Academic year: 2021

Share "Laboratório Controle Dinâmico"

Copied!
6
0
0

Texto

(1)

Faculdade de Engenharia Elétrica Universidade de Brasília

Laboratório Controle Dinâmico

Marco A. Egito

Kit Impressora

Este kit consiste basicamente de 1 motor CC acoplado a um carro através de uma correia e polias, juntamente com um encoder, uma placa analógica, um arduino nano, uma ponte H e mini proto-board para implementação de compensadores analógicos.

Sistema de malha fechada proporcional

O kit deve ser utilizado sempre em malha fechada, uma vez que em malha aberta o carro pode se deslocar rapidamente até um dos batentes e o motor pode danificar a correia. A detecção da posição do carro é feita através de uma fita transparente com marcações e detector óptico (encoder). O detector óptico fica preso ao carro e quando este se desloca as marcações da fita geram pulsos em 2 canais, o que permite detectar movimento para a direita ou para a esquerda. Os pulsos são “lidos” pelo arduino que atualiza constantemente um contador que indica a posição do carro. O conteúdo do contador de posição é então utilizado para a modulação de uma saída PWM do arduino, que é filtrada pelo circuito analógico e gera então a informação analógica de posição (sinal r).

Fig 1 – Diagrama de Blocos Geral do Kit

ω

1+sTm

e x

Ref +

-r Pot. Aten. PWM1 PonteH Motor

Km 1 1 1 s encoder 1 ADC Ajuste sinal Ka 1 Kp Comp G(s) Filtro PB Kf Cont pos 1 Kb Ajuste sinal PWM2 1 arduino

(2)

No diagrama de blocos da Fig 1 todos os subsistemas estão representados, onde os blocos internos à linha pontilhada (arduino) são digitais e os externos são basicamente analógicos (exceto encoder e ponte H). Nem todas as ligações elétricas estão representadas, apenas as que tem importância do ponto de vista da modelagem dinâmica. Observe que muitos blocos tem ganho igual a 1, o que corresponde a uma simplificação. Os blocos PWM, por exemplo, convertem uma informação digital em analógica e tem um certo ganho, pois 00000001 → 5/256V (conversão de 8 bits). O bloco ADC teria um ganho inverso, por este motivo foram incluidos os blocos Ka e Kb para corrigir possíveis distorções e colocar

os sinais na melhor faixa possível para a parte eletrônica.

A introdução do arduino na malha permite não apenas a leitura do encoder digital, mas também a correção da zona morta do motor, onde uma voltagem abaixo de certo limiar não movimenta o carro. No diagrama da Fig. 1 a correção é feita pelo bloco de Ka. Desta maneira o software do arduino sempre

soma o valor correspondente à zona morta à voltagem que deve ser aplicada ao motor (positiva para um lado negativa para o outro). Considerando que a taxa de atualização dos blocos do arduino é alta, o Kit se aproxima de um sistema de controle de posição linear com o seguinte diagrama de blocos:

Fig 2 – Diagrama de Blocos Simplificado

Onde as constantes Ka e Kb foram incorporadas às constantes Km e Kf . Observe que nos 2 diagramas

anteriores consideramos que o arduino e filtro passa baixas na realimentação são muito rápidos podendo ser modelados por uma constante. Isto será melhor avaliado adiante.

Saturações

Estas não-linearidades podem comprometer a modelagem linear utilizada neste experimento e devem ser evitadas. A parte eletrônica do kit e software foram projetados para minimizar problemas com saturações, que podem ocorrer em:

 Entrada do conversor A/D (ADC na Fig. 1): Manter o sinal ADC da protoboard entre -3V e +3V (-3V < ADC < +3V).

 Encoder e PWM2: Não deixar que o carro se aproxime muito dos batentes à direita ou esquerda.

 PWM1 , ponte H e fonte de alimentação do motor: Só ocorre durante breves momentos desde

que o motor seja alimentado com o fio de 20V durante os experimentos.

 Amplificadores operacionais: Utilizar amplitudes não muito grandes no gerador de sinais. 1º Teste – Determinar as constantes Km , Kf e Tm

Uma vez que Kp corresponde à escala do potenciômetro, apenas Km e Kf precisam ser determinadas.

Ligar o Kit em compensador proporcional (interconectar entrada e saída no protoboard), colocar Kp

em 0.2 e utilizar sinais senoidais em Ref. Desta maneira, estaremos utilizando o regime permanente senoidal, portanto, é possível medir o valor pico a pico de e, r, e avaliar o deslocamento máximo em x com o uso de uma régua. Fazendo s= jω no diagrama de blocos da Fig 2, Kf pode ser obtido

facilmente. Porém, Km é dependente da constante de tempo Tm.

Para a medida das constantes Km e Tm em malha fechada, é possível aplicar 1 única frequência

senoidal e medir Δe , Δx = Δr/Kf e a defasagem ϕ entre ambos. Teremos então,

e + -r Kp G(s) Kf ω 1+sTm x Km 1 s Ref ) 1 ( m m p T j j K K e x        

(3)

Igualando partes real e imaginária de um lado e outro da equação acima é possível obter Km e Tm.

Para ter certeza dos resultados devido a possíveis erros experimentais causados por pequenas distorções nas senóides, é interessante fazer as medidas em várias frequências e posteriormente simular o diagrama simplificado da Fig. 2 no modelica, simulink ou outro software equivalente. Portanto:

 Meça Δe e Δx em 3 frequências diferentes, ω1 a ω3 (2, 3, 4 Hz) anotando as amplitudes e

defasagens estimadas em cada caso. É necessário medir de 2 maneiras: 1) com as medidas automatizadas dadas na tela do osciloscópio e 2) manualmente com os cursores para as medidas. Tire a foto da tela do osciloscópio em uma das frequências utilizadas.

 No relatório, calcule Km e Tm com as 3 frequências e use as médias como valores finais. Utilize

o método que forneceu menores dispersões dos resultados.

 No simulador reproduza o equivalente à tela da foto do osciloscópio. 2º Teste – Resposta à onda quadrada

Ligar o Kit em compensador proporcional (interconectar entrada e saída no protoboard), colocar Kp

em 0.5 e utilizar um sinal de onda quadrada de 0.8 Hz em Ref. Com o osciloscópio ligado em r e Ref é possível ver a resposta à onda quadrada. Variando Kp de 0 a 1, a resposta muda de

superamortecida para crítica e subamortecida.

 Tire a foto da tela do osciloscópio para cada uma das 3 respostas.

 Avalie o erro em estado estacionário em cada caso (com o fio de 20V ligado).

 Avaliar o valor de Kp correspondente ao menor tempo de acomodação possível. Considere que

este significa ζ=1 (amortecimento crítico).

 No relatório calcule o valor de Kp para amortecimento crítico com os valores de parâmetros

obtidos no 1º Teste e considerando o diagrama de blocos da Fig. 2. Informe o tipo do sistema e o erro em estado estacionário para cada caso.

 No simulador reproduza o equivalente à tela da foto do osciloscópio. 3º Teste – Resposta à onda triangular

Ligar o Kit em compensador proporcional (interconectar entrada e saída no protoboard), colocar Kp

em 0.5 e utilizar um sinal de onda triangular de 0.8 Hz em Ref. Com o osciloscópio ligado em r e Ref é possível medir um certo erro entre os sinais r e Ref.

 Tire a foto da tela do osciloscópio para Kp = 0.3, 0.7 e 1.0.

 Avalie o erro em estado estacionário em cada caso (com o fio de 20V ligado).

 No relatório informe o tipo do sistema e o erro em estado estacionário para cada caso.  No simulador reproduza o equivalente à tela da foto do osciloscópio.

4º Teste – Avaliação do atraso do arduino e filtro PB

Observando o diagrama geral da Fig. 1 vemos que o arduino está presente na malha de realimentação em 2 trechos. Certamente o microcontrolador interno leva algum tempo no processamento de cada um destes trechos e, portanto, introduz atrasos que podem ou não ser desprezíveis. Também o filtro passa baixas presente na realimentação pode introduzir atrasos. O atraso introduzido pelo tempo de processamento do arduino pode ser estimado examinando o sinal no pino D13 que muda entre 0V → 5V → 0V (periodo completo) a cada ciclo de processamento. A constante de tempo do filtro passa baixas (Tf na Fig. 3) pode ser medida com a aplicação de um sinal de onda quadrada em sua entrada.

Ligar o Kit em compensador proporcional, colocar Kp em 0:

 coloque uma das pontas do osciloscópio em D13 (à direita da entrada USB do arduino), faça o ajuste para uma boa imagem do sinal e meça o tempo de 1 período de processamento.

     . sen cos . sen ). / (    m p m T K e x K

(4)

 Tire a foto da tela do osciloscópio detalhando bem o sinal.

Desligar o fio conectado em D9 e ligar a este fio um sinal de onda quadrada variando entre 0 e 5V. Com uma ponta do osciloscópio em r e outra no sinal aplicado, ajustar a frequência para uma boa visualização do sinal r .

 Meça a constante de tempo Tf .

 Tire a foto da tela do osciloscópio detalhando bem o sinal. Aperfeiçoamento do modelo

Fig 3 – Diagrama de Blocos Ampliado

No diagrama de blocos da Fig. 3 o bloco de realimentação foi substituido por um sistema de 1ª ordem na tentativa de aperfeiçoar o modelo. A constante de tempo Tf se propõe a substituir o atraso

introduzido pelo arduino e filtro passa baixas e deve ser igual à soma dos atrasos avaliados no 4º Teste. No seu relatório faça o seguinte:

 Deduza as expressões de Km e Tm como foi feito no 1º teste, porém a partir modelo da Fig. 3

 Calcule Km e Tm utilizando as novas expressões e com Tf igual ao atraso avaliado no 4º Teste.

 No simulador reproduza o equivalente à tela da foto do osciloscópio do 4º Teste.

 Qual a sua conclusão sobre a oportunidade de utilizar ou não o Diagrama de blocos ampliado? RELATÓRIO KIT IMPRESSORA 1a

Faça 1 relatório por grupo incluindo:

1) Nome e matrícula dos participantes

2) Número do kit utilizado

3) “fotografias” das telas do osciloscópio utilizadas para as medições

4) Valores e métodos utilizados para os cálculos dos parâmetros.

5) Outros itens pedidos nos Testes 1, 2, 3 e 4

6) Itens teóricos pedidos no seção “Aperfeiçoamento do modelo” e + -r Kp G(s) ω 1+sTm x Km 1 s Ref 1+sTf Kf

(5)

Apêndices

Diagrama elétrico geral

Diagrama elétrico da placa analógica

Arduino Placa analógica Ponte H Protob P. turbo Fonte Fonte + 1 2 V 0 V -1 2 V +20V +12V 0V D9 D8 D7 D6 D4 D3 A0 0V Vin ENA IN1 IN2 Vmotor 0V 0V 0V +5V Motor Encoder PWM_POS +12V_0V P R O T O B _ 1 P R O T O B _ 2 0V Op1+ Op1-Op1S Op2S Op2-Op2+ 0V S Analog → ADC ← G.Sin. Osc. D13

(6)

Código Arduino

/* Encoder Library http://www.pjrc.com/teensy/td_libs_Encoder.html */

#include <Encoder.h>

// Valimentacao ponte H -> 18V // Arduino NANO

// 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output #define Ss1 3 // definicao pinos arduino (Interrupcao) #define Ss2 4 // definicao pinos arduino (NInterrupcao) #define HORARIO true

#define ANTIHORARIO false

#define ENA 6 // definicao pinos arduino L298 (PWM) #define IN1 7 // definicao pinos arduino L298 #define IN2 8 // definicao pinos arduino L298 #define Posicao 9 // definicao pinos arduino (PWM) #define Tpro 13 // informacao tempos processamento #define Entrada A0 // definicao pinos arduino (A/D) #define Zmorta 142 // definicao zona morta 20V alim // ajuste melhor possivel com compensador prop c/ Kp=.1 float Apos=255./7000.,Bpos=0.5, //Constantes encoder

Aent=(255-Zmorta)/512.,Bent=Zmorta-254.5; //Constantes entrada //Calculo para maximizar saturacoes [SatKitImpress2.mws]

int Vel,Pos;

// Inicializacao Encoder

Encoder Sens(Ss1, Ss2); //1 interupcoes void setup() { // Serial.begin(9600); // setPwmFrequency(Posicao, 1); // ~31kHz TCCR1B = TCCR1B & 0b11111000 | 0x01; // setPwmFrequency(ENA, 8); // ~8kHz TCCR0B = TCCR0B & 0b11111000 | 0x02; for (int i = 6; i < 13; i++)

pinMode(i,OUTPUT); }

void loop() {

// atualizacao saida posicao Pos=Sens.read()*Apos+Bpos;

analogWrite(Posicao,Pos); //analogWrite de 0 a 255 digitalWrite(Tpro,true); // marcador tempo 1 // atualizacao saida motor

Vel = (float)analogRead(Entrada)*Aent+Bent; // analogRead de 0 a 1023 acionaMotor(Vel); //Ganho em Vel diminui a saturacao na entrada //que já é baixa <=> evitar [SatKitImpress.mws] digitalWrite(Tpro,false); // marcador tempo 2

}

//funcoes para acionamento individual de cada motor void acionaMotor(int velocidade) {

if(velocidade >= 0) { velocidade += Zmorta;

if(velocidade > 255) velocidade = 255; // saturacao analogWrite(ENA, velocidade);

digitalWrite(IN1,true);

digitalWrite(IN2,false); // sentido horario }

else {

velocidade -= Zmorta;

if(velocidade < -255) velocidade = -255; // saturacao analogWrite(ENA, -velocidade);

digitalWrite(IN1,false);

digitalWrite(IN2,true); // sentido anti-horario }

Referências

Documentos relacionados

Estudar o efeito da plastificação do ATp com glicerol nas características físico-químicas da blenda PLA/ATp; Analisar a mudança na cristalinidade dos laminados submetidos a

 Criação de uma compilação de algumas experiências pelas quais profissionais da área de design já passaram, com o objetivo de entender comportamentos nas

A busca por um contato com a natureza (sem dúvida, idealizada), vinculada a uma “fuga do caos urbano”, contribuiu para que o surfe e, anos depois, com a expansão da cidade para

Outro ponto importante referente à inserção dos jovens no mercado de trabalho é a possibilidade de conciliar estudo e trabalho. Os dados demonstram as

Nem todos os teclados musicais possuem sons, alguns são chamados teclados controladores, servindo apenas para controlar samplers e sintetizadores. Caso você queira gravar

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Tabela 4.44 - Tipo de causa externa, segundo diagnóstico secundário na avaliação do pesquisador e causa básica de morte na Declaração de Óbito, no Hospital Municipal de São