Montagem do Pêndulo de Precisão: Calibração

From wwwelab
Jump to navigation Jump to search

Calibração

Medição do cabo

Calibração rigorosa da fita métrica com o auxílio de um paquímetro para evitar potenciais erros.
Detalhe da calibração do comprimento do cabo pendular, onde o suporte do fulcro toca a fita métrica para evitar paralaxe. Neste caso particular, 2824 mm.

A precisão do pêndulo depende fortemente da medição rigorosa do seu comprimento (~2,8 m) com menos de 0,5 mm de erro. De facto, este é o fator que é crucial para alcançar a precisão desejada de 0,02%. Para isso, é sugerida a utilização de uma fita métrica bem calibrada. Se este método for adotado, há que ter especial atenção para evitar erros de paralaxe. Métodos alternativos, como a medição ultrasónica com mira laser, são os melhores. Nesse caso, é utilizado um plano metálico ou de pedra de mármore, colocado tangencialmente ao peso (permitindo-lhe rolar tocando o plano). Com este método, devem ser feitas algumas medições e o seu valor médio será considerado o comprimento de referência do pêndulo.

A recalibração do comprimento do pêndulo deve ser realizada a cada mês de forma a garantir uma precisão razoável.

A primeira figura demonstra como corrigir o erro inicial da fita métrica eliminando cuidadosamente o erro sistemático que resulta do contacto com a esfera. Depois, a fita passa pelo orifício do suporte do fulcro até chegar à superfície da bola. Devem ser realizadas algumas medições para se obter uma média adequada.

Plano de oscilação

Correção do alinhamento do lançador após o procedimento de ajuste do plano de oscilação.

O plano de oscilação tem de ser rigorosamente definido de forma a evitar que, devido a um momento elíptico em vez de plano, ocorram erros de segunda ordem na determinação do período. A força de Coriolis não pode ser evitada mas esta só influenciará significativamente o movimento se este ocorrer por períodos muito longos (>15 min).

De forma a conseguir estabelecer corretamente o plano, qualquer força tangencial durante o lançamento deve ser evitada. Para tal, tem de existir um alinhamento perfeito da pá com o plano de oscilação.

Paralelismo do piso com os triângulos superior e inferior

A primeira calibração consiste em conseguir um paralelismo aproximado entre os triângulos estruturais superior e inferior. Para tal, e estrutura deve ser colocada num piso liso e deve realizar-se um aperto final dos parafusos que confira rigidez à estrutura.

Depois, nivela-se o triângulo superior usando o próprio pêndulo, deixando-o na posição central do triângulo inferior e a ~10-12 cm da face posterior; para uma primeira aproximação, deve ser usado um nivelador de bolha de ar na direção ortogonal do plano oscilatório. Mais tarde, deve realizar-se uma afinação mais fina do pêndulo de acordo com a posição do sensor fotoelétrico. Assim, é garantido que o pêndulo viaja exatamente pelo meio do sensor.

Movimento do pêndulo pela excitação no fulcro

Depois de posicionar definitivamente a estrutura e de ter o pêndulo em repouso, inicie uma oscilação suave (movimento lento), excitando o pêndulo no fulcro, no topo, a fim de definir o plano de oscilação.

  • Em primeiro lugar, assegure que esta oscilação é mais ou menos paralela ao lançador/parede, rodando o suporte do fulcro.
  • Com a ajuda de uma lanterna (i) na frente da pá/pêndulo e (ii) colocando um papel branco com uma linha preta vertical central no topo da pá, na origem (iii) ajuste os parafusos de inclinação horizontal do lançador até que a plataforma do lançador esteja perfeitamente alinhada com o plano de oscilação. Isto pode ser verificado facilmente se o centro da sombra do pêndulo não se mover na horizontal e se a sombra do cabo não se desviar da linha preta do papel.

Consola da interface para o microcontrolador

O microcontrolador fornece um menu que permite ao utilizador definir os parâmetros da experiência e executar funções predefinidas para configuração e testes. A interface entre o utilizador e o microcontrolador é realizada através da ligação em série RS-232, com os seguintes parâmetros:

   • Baud-rate: 115200 bps
   • Parity: No
   • Data bits: 8
   • Stop bits: 1

Verifique se tem outra aplicação que utiliza o dispositivo correspondente. Pode ter o daemon JAVA a funcionar, impedindo o acesso à porta-série. Em caso afirmativo, este deve ser parado (executando o comando com a bandeira STOP) antes de executar a aplicação de minicom, como no exemplo seguinte (adapte à sua localização):

elab@WP-RAI:~ $ /home/wpa/rec-deployment/wpunicvrai/wpunicvraiDaemon.sh Stop

Depois de alguma manutenção onde foi necessário parar este daemon, este deve ser reiniciado através do comando recíproco:

elab@WP-RAI:~ $ /home/wpa/rec-deployment/wpunicvrai/wpunicvraiDaemon.sh Stop

Como exemplo, a consola "minicom" pode ser utilizada para comunicar com o microcontrolador. No RaspberryPi, esta interface pode ser chamada a partir do seguinte comando:

   minicom -D /dev/ttyS0

ou

   minicom -D /dev/ttyAMA0

O "/dev/ttyS0" ou "/dev/ttyAMA0" representa a localização do dispositivo (microcontrolador). O programa minicom criará uma ligação em série com os parâmetros-padrão que, em princípio, são os mesmos que os mencionados acima. Caso contrário, recorra à página de ajuda do programa minicom (escreva "man minicom") para ver como definir esses parâmetros. Depois de iniciar o programa, não se esqueça de adicionar uma quebra de linha para que as mensagens enviadas pelo microcontrolador surjam em novas linhas. No minicom, a quebra de linha é ativada/desativada premindo Ctrl+a seguido de a'. Uma vez estabelecida a comunicação (ligação), é possível aceder ao menu do microcontrolador através do envio:

   ? (question mark followed by an enter hit)

ou

   help (“help” followed by an enter hit)

O output será semelhante ao que é mostrado na figura seguinte:

Menu da consola da interface para o microcontrolador

Cada comando deve ser seguido por uma quebra de linha - "\r" (premir ‘Enter’) para que o microcontrolador processe a cadeia enviada. A tecla ‘Enter’ também limpa o buffer de entrada do microcontrolador, de forma a que também possa ser utilizado para esse fim. As palavras nos comandos são separadas por um único caracter de espaço, exceto para o comando "cfg deltaX[...] N[...]" onde as palavras/inputs são separadas por um único caracter ‘tab’ "\t". Se o comando enviado for sucessivamente recebido, o microcontrolador responderá devolvendo o comando em maiúsculas. Se o comando for executado sucessivamente, o microcontrolador responderá com um OK.

Os "[ ]" (parêntesis retos) nos comandos definem o intervalo de valores de entrada aceites. A representação numérica destes limites indica o tipo de valor aceite, isto é, inteiro ou flutuante. Se o valor limite contiver uma casa decimal, os valores aceites para esse parâmetro são flutuantes. Se o valor limite não possuir uma casa decimal, os valores aceites são apenas números inteiros. Ver os seguintes exemplos:

   cfg    deltaX[5:25]    N[10:1000]                                      ->    cfg    15    30
   set maximum position %lf [40.0 60.0] (cm)                              ->    set maximum position 47.7
   set catch ball delay %d [1 2000] (ms)                                  ->    set catch ball delay 300
   set pulley diameter %lf [1.0 4.0] (cm)                                 ->    set pulley diameter 2.356
   set ID string %s [maximum length of 32 characters]                     ->    set ID string WORLD_PENDULUM_LISBON
   cur                                                                    ->    cur
   go to origin speed[1.0:50.0] acceleration[1.0:150.0]                   ->    go to origin 11.5 41.1
   move forward deltaX[1:50.0] speed[1.0:50.0] acceleration[1.0:150.0]    ->    move forward 4.5 2.2 2.0    

Antes de ligar o microcontrolador, é importante realizar duas medições de posição (máxima e vertical). O procedimento para a medição destas posições é descrito em Definição de parâmetros específicos para a experiência.

Descrição do menu da consola (comandos/saídas)

Comandos relacionados com o autómato e comunicação com o driver do e-lab (programa Java a correr no RaspberryPi):

  • cur: Pede a configuração atual ao microcontrolador. O microcontrolador responde com o seguinte:
resposta ao comando cur dsPic
  • str: Altera o estado do microcontrolador para STARTED e inicia uma experiência, isto se tiver sido previamente configurado usando um comando "cfg". Uma vez iniciada a experiência, o microcontrolador emitirá os dados no seguinte formato: 1ª coluna - ordem/nº dos dados, 2ª coluna - período (s), 3ª coluna - g (m/s²), 4ª coluna - velocidade na localização do laser (cm/s), 5ª coluna - temperatura ambiente (ºC). Ver a figura abaixo para ilustração:
resposta ao comando str dsPic
  • stp: Interrompe uma experiência e remete o microcontrolador para o estado STOPED
  • rst: Reinicia o microcontrolador e remete o mesmo para o estado RESET
  • ids: Pede ao microcontrolador para enviar as suas identificações. Por exemplo: IDS WP_LIS STOPED
  • cfg: Envia a configuração para uma nova experiência. Este comando aceita dois parâmetros inteiros: 1º - deslocamento inicial em cm, 2º - número de oscilações
resposta ao comando cfg dsPic

Comandos para executar funções predefinidas, úteis para calibrações e testes:

  • stop ball: Este comando é utilizado para parar a oscilação da bola. Depois de parar a bola, a pá está na posição de repouso no fotodiodo.
  • prepare launch: Este comando aceita um número inteiro que corresponde ao deslocamento inicial (amplitude máxima) antes de soltar a bola. O comando desloca a pá para a posição pedida e repousa nessa posição.
  • launch ball: Este comando liberta a bola enviando a pá para a origem na sua velocidade máxima.
  • test laser: Esta função é utilizada para testar simultaneamente o laser e o fotodíodo. Em Teste do laser e do sensor fotoelétrico pode encontrar uma descrição mais detalhada deste comando, bem como procedimentos a verificar no caso de um teste falhado.
  • go to origin: Este comando aceita duas entradas: 1º - velocidade em cm/s (duplo) e 2º - aceleração em cm/s² (duplo). Envia a pá para a origem (até chegar ao microinterruptor).
  • move forward: Este comando aceita três entradas: 1º - deslocamento horizontal em cm (duplo), 2º - velocidade em cm/s (duplo) e 3º - aceleração em cm/s² (duplo). Desloca a pá em frente (para longe da origem).
  • move backward: Este comando aceita três entradas: 1º - deslocamento horizontal em cm (duplo), 2º - velocidade em cm/s (duplo) e 3º - aceleração em cm/s² (duplo). Desloca a pá no sentido inverso do comando anterior (em direção à origem).
  • move to photodiode: Este comando aceita duas entradas: 1º - velocidade em cm/s (duplo) e 2º - aceleração em cm/s² (duplo). Envia a pá para o fotodíodo se a pá estiver para além deste, na direção da frente. Se a pá estiver entre o fotodíodo e a origem, o comando envia a pá para a origem (até chegar ao microinterruptor).
  • light bulb on: Acende a lâmpada para iluminar a experiência.
  • light bulb off: Apaga a lâmpada.
  • laser on: Acende o laser.
  • laser off: Apaga o laser.
  • reboot: Executa um reset do software para o microcontrolador. Antes de reiniciar, o microcontrolador armazena o número atual de oscilações na memória flash.

Comandos para definir os parâmetros específicos da experiência (ver secção Definição de parâmetros específicos para a experiência para mais detalhes). São guardados na memória flash, para que não se percam no caso de falha de energia:

  • set maximum position: Guarda a posição máxima absoluta permitida da pá em cm (posição que é mecanicamente impossível de ultrapassar na direção da frente).
  • set sphere diameter: Guarda o diâmetro da esfera em cm, medido no plano equatorial.
  • set pendulum length: Guarda o comprimento do pêndulo. Ver Medição do fio para detalhes sobre como medir o comprimento do fio. IMPORTANTE: o comprimento do pêndulo deve incluir o raio da bola.
  • set origin position: Guarda a posição da pá quando localizada na origem, ou seja, quando a pá é parada pressionando o microinterruptor.
  • set vertical position: Guarda a posição da pá quando o pêndulo (bola + corda) está perfeitamente vertical.
  • set photodiode position: Guarda a posição da pá quando localizada no local do fotodíodo.
  • set catch ball delay: Guarda o atraso utilizado para apanhar (parar) a bola quando esta oscila com uma amplitude relativamente grande. NOTA: Este parâmetro já não é utilizado nas versões recentes de firmware porque o microcontrolador já é capaz de apanhar automaticamente a bola com base na sua velocidade. Para que a captura da bola funcione corretamente, assegure-se de que o alinhamento desta é definido como especificado nos esquemas de Ordem da montagem e enchimento com areia.
  • set pulley diameter: Guarda o diâmetro da roldana presa ao motor de passo. Este valor é utilizado para calibrar o deslocamento da pá.
  • set display intensity: Guarda a intensidade luminosa do monitor. Este valor deve ser definido de forma a que os números sejam visíveis/legíveis na transmissão de vídeo quando a experiência está a decorrer, ou seja, quando a lâmpada está ligada. 0 é a intensidade mínima e 15 é a máxima.
  • set global oscillation counter: Guarda o número total de oscilações. Também é utilizado para anular/reiniciar o contador.
  • set ID string: Guarda a cadeia de identificação da experiência (nome da experiência). A cadeia de caracteres é limitada a um máximo de 32 caracteres.

Valores/parâmetros atuais para informação:

  • expected period: Mostra o período de oscilação esperado, em segundos. Este valor é calculado com o comprimento do pêndulo e é essencial para o bom funcionamento do aparelho experimental.
  • uptime: Mostra o tempo, em segundos, desde o momento em que o microcontrolador foi ligado.
  • shovel is at origin: Indica se a pá se encontra na origem (yes/no).
  • shovel is at photodiode: Indica se a pá se encontra no fotodíodo (yes/no)
  • laser is on: Indica se o laser está ligado (yes/no).
  • photodiode is on: Indica se o fotodíodo está acesso (a conduzir) ou apagado (a não conduzir). A saída será, yes/no, respetivamente.
  • temperature: Indica a temperatura em graus Celsius. O sensor de temperatura está localizado na caixa DB25, ligado à placa do microcontrolador.
  • ERR 1: Indica que existe um problema com o laser ou com o sensor fotoelétrico. Ver Teste do laser e do sensor fotoelétrico para mais detalhes e procedimentos de resolução.
  • ERR 2: Indica que existe um problema com o microinterruptor. Ver |Conexões para verificar se o microinterruptor está devidamente ligado.

Teste do laser e do sensor fotoelétrico

O microcontrolador tem uma função dedicada (acessível a partir do menu da consola) para testar simultaneamente o laser e o sensor fotoelétrico. Esta função consiste em piscar o laser 5 vezes com um período completo de 100 ms (500 ms no total). Se o sensor detetar corretamente o estado do laser, o teste será bem sucedido. Para executar manualmente este teste, basta digitar o comando "test laser" na consola. No seu início, o microcontrolador executa a função de teste do laser e do sensor fotoelétrico para assegurar que ambos os componentes estão a funcionar corretamente. Se o teste falhar, o microcontrolador devolve o código de erro "ERR1". Este erro pode estar associado a um ou mais dos seguintes problemas:

  • Ligações elétricas erradas: verifique a secção Conexões para assegurar que tanto o laser como o sensor estão devidamente ligados ao microcontrolador.
  • Alinhamento incorreto do laser com o sensor: verifique se a luz laser está devidamente apontada para o furo da estrutura do sensor e, se necessário, ajuste como descrito na secção #Alinhamento do laser e sensor fotoelétrico.
  • O sensor fotoelétrico está em condução permanente: se a luz ambiente for demasiado intensa ou se alguma outra fonte de luz que não o laser estiver a atravessar o orifício da estrutura com intensidade suficiente, pode acontecer que este esteja sempre a conduzir tornando impossível ao microcontrolador distinguir entre os estados ON e OFF do laser. Neste caso, a solução é reduzir a luz ambiente ou mudar a orientação da experiência para que o sensor receba menos luz.
Focagem do feixe laser
  • Laser desfocado: se o laser não estiver devidamente focado, a intensidade da luz pode não ser suficiente para ativar o sensor. O laser pode ser focado rodando ligeiramente a sua lente (para um lado ou para o outro): rodar até que o ponto vermelho seja o mais pequeno possível, abaixo de 1mm, a uma distância de ~150mm. Para rodar a lente, é necessário retirar o laser do seu suporte. O laser é fixado apenas por pressão e, em alguns casos, com uma gota de cola ou verniz. IMPORTANTE: Não desaparafuse completamente a lente do corpo, pois isso danificará o laser. Nunca segure a ‘Parte A’ do laser pela pequena placa de circuito impresso.

Depois de tentar corrigir o erro, volte a executar o teste para verificar se o problema está resolvido.

Definição de parâmetros específicos para a experiência

Alguns dos parâmetros reguláveis são essenciais para o funcionamento correto e seguro do lançador e da experiência na sua globalidade. Esta subsecção descreve como medir e definir cada um dos parâmetros. Os seguintes parâmetros reguláveis devem ser medidos com o microcontrolador desligado. Estes parâmetros são:

  • maximum position: A posição máxima da pá é medida deslocando lentamente a pá com a mão para a extremidade da estrutura deslizante (até que o deslizador esteja totalmente estendido). Quando a pá atinge a posição final (quando não se consegue mover mais), registe a sua posição absoluta lendo o valor na escala fixada no lançador, com a ajuda do indicador acoplado à pá.
Posição máxima
  • vertical position: Esta posição é obtida quando o pêndulo (bola + corda) está perfeitamente vertical. Para isso, mova lentamente a pá no sentido inverso (em direção à origem ou microinterruptor), até que tenha passado a posição vertical do pêndulo. Espere que a bola pare totalmente. A partir daí, aproxime a pá em direção à bola até tocar na mesma, sem a deslocar. Registe a posição absoluta da pá lendo o valor na escala métrica fixada no lançador, com a ajuda do indicador acoplado à pá.
Posição vertical

Uma vez medidos os parâmetros acima, ligue o microcontrolador, ligando o Raspberry Pi. Durante o arranque, o microcontrolador efetua alguns testes iniciais. Antes de tentar enviar comandos para o controlador, aguarde até que estes testes estejam concluídos. Entretanto, configure a ligação da consola para receber mensagens do controlador. Assim que o controlador estiver a enviar a sua cadeia de identificação ou um código de erro, este termina o arranque e já é possível definir os parâmetros específicos para a experiência.

Para isso, utilize os comandos acima descritos. Segue-se um exemplo:

   set maximum position 47.7

Se o comando foi enviado e interpretado com sucesso, o microcontrolador deve responder da seguinte forma:

Retornar à posição máxima

Realize o mesmo procedimento para a posição vertical.

  • sphere diameter: O diâmetro da esfera deve ser medido no plano equatorial da bola, onde o laser aponta para a mesma. Se não for mencionado ou impossível de medir, considere 8 cm, que deve ser uma medida suficientemente próxima das esferas normalmente utilizadas. Esta medição é utilizada principalmente para a determinação da velocidade do pêndulo no local do laser. Uma vez medido o diâmetro da esfera, guarde o valor na memória flash do microcontrolador, utilizando o comando "set sphere diameter". Realize "múltiplas leituras equatoriais" em diferentes posições e considere o seu valor médio porque a esfera é muito provavelmente uma elipsóide!
Medição do diâmetro da esfera
  • pendulum length: O procedimento para medir o fio é descrito em Medição do fio. Depois, o raio da esfera/bola (na direção vertical, ou seja, ao longo da direção do fio) deve ser adicionado ao comprimento da corda, resultando no comprimento do pêndulo. A unidade deste comprimento é o metro (ao contrário das outras que são centimétricas). Uma vez medido o comprimento do pêndulo, guarde o valor na memória flash do microcontrolador, utilizando o comando "set pendulum length".
  • origin position: Esta é a localização da pá quando esta é parada pelo microinterruptor (ver figura abaixo). Para medir esta posição:
  • envie a pá para a origem utilizando o seguinte comando:
   go to origin 2 2
  • uma vez parada a pá, registe a posição absoluta da pá lendo o valor na escala métrica fixada no lançador, com a ajuda do indicador acoplado à pá.
  • guarde o valor medido (xx.xx) na memória flash do microcontrolador, usando o comando "set origin position".
Posição original
  • pulley diameter: O diâmetro da roldana que está ligada ao motor de passo é utilizado para calibrar o deslocamento da pá. Um bom palpite inicial pode ser obtido medindo diretamente o seu diâmetro, como mostra a figura abaixo. Após guardar este parâmetro no microcontrolador, deve ser efetuada uma calibração mais precisa, descrita abaixo:
  • mova a pá para a origem utilizando o comando "go to origin 2 2"
  • utilize o comando "move forward" pedindo um deslocamento de 40 cm, por exemplo "move forward 40 2 2" (uma velocidade de 2 cm/s é suficientemente lenta para garantir uma boa calibração)
  • verifique quanto foi o deslocamento real: posição alcançada - posição de origem
  • se o deslocamento real for diferente do pedido (por mais de 1 mm) escale linearmente o diâmetro da roldana para que estes passem a corresponder. Utilize a fórmula:

[math] New\;pulley\;diameter = Old \; pulley \; diameter \cdot \frac{Actual \; displacement}{Requested \;displacement} [/math]

  • guarde o novo "diâmetro da roldana" no microcontrolador utilizando o comando "set pulley diameter"
  • reenvie a pá para a origem usando o comando "go to origin 2 2"
  • verifique a correção feita utilizando novamente o comando "move forward" e pedindo um deslocamento de 40 cm. Desta vez, a posição alcançada deve corresponder a um deslocamento de 40 cm.
Medição do diâmetro da roldana
  • photodiode position: A posição do fotodíodo corresponde à localização da pá quando esta é parada no fotodíodo, como está ilustrado na figura abaixo. O procedimento para obter esta posição é o seguinte:
  • posicione a pá para além do fotodíodo e do laser (na direção da frente). Isto pode ser conseguido utilizando o comando "move forward", como anteriormente.
  • envie a pá para o fotodíodo usando o comando "move to photodiode", por exemplo, "move to photodiode 2 2" (de forma a usar uma velocidade pequena de 2 cm/s)
  • uma vez parada a pá, registe a posição na escala métrica e guarde-a no microcontrolador usando o comando "set photodiode position"
[[File:photodiode_position.png|x100px|Posição do fotodíodo]

Após definir todos os parâmetros, verifique se foram devidamente guardados no microcontrolador, escrevendo "?" ou "ajuda" na consola:

[[File:setting_parameters_check.png|200px|Set de parâmetros]

Acesso à gravidade local

A gravidade local nas grandes cidades é, em geral, bem conhecida e documentada pelas entidades geológicas nacionais, representando, normalmente, o valor mais exato. No entanto, pode realizar-se uma boa comparação recorrendo a harmónicas espaciais calculadas online por algumas calculadoras como esta Calculadora da Gravidade Local

Página anterior (Gestão de Software)
Página seguinte (Parceiros)

Ligações