Autor Tópico: Dúvida (Acelerômetro)  (Lida 25384 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Dúvida (Acelerômetro)
« Resposta #30 Online: 18 de Dezembro de 2009, 06:22 »
Rodrigo,

Seguem sugestões de implementação.

Usando a sugestão do Jorge, com encoder e usando potenciômetro. O encoder permite que o deslocamento seja mais livre, sem limitações de quantidade de voltas, atrito..

[attachthumb=1]

[attachthumb=2]

Principais componentes:

(1) Dois encoders, um decodificador HCTL-2032, driver L-298 e o PIC-18F4550

(2) Dois potenciômetros de fio de 10K multivoltas de precisão, o driver L-298 e o PIC-18F4550

Depois posto vou tirar e postar as fotos do PI da Quanser....


Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Dúvida (Acelerômetro)
« Resposta #31 Online: 18 de Dezembro de 2009, 07:07 »
Usando a sugestão do Jorge, com encoder e usando potenciômetro.

Na verdade a sugestão do encoder é do Rudolf ...

Citar
Dois encoders, um decodificador HCTL-2032, driver L-298 e o PIC-18F4550

Pra que dois encoders ? Qual é a necessidade de conhecer a posição do carro ?

Pra que o decodificador ? É mais dispendioso escrever a rotina para a interface do que usar uma rotina enlatada pro encoder ...

rodrigoshaller

  • Visitante
Re: Dúvida (Acelerômetro)
« Resposta #32 Online: 18 de Dezembro de 2009, 08:54 »

Pra que dois encoders ? Qual é a necessidade de conhecer a posição do carro ?

Na verdade, seria bastante útil! Por exemplo, controlar a distância limite que o carrinho pode ir, para evitar que ele bata na lateral do trilho.

Ou para fazer o movimento inicial de levantar o pêndulo..
Esse movimento poderia ser pré-programado, então, o controle se tornaria angular apenas depois que o pêndulo já estiver na parte de cima (quando é possível equilibrá-lo)



Neste semestre teve um colega meu que fez um propeller clock, e ele utilizou um encoder e um decoder, mas não para essa finalidade!

Pelo que sei, existem vários tipos de encoders... No caso, usariamos um encoder como sensor angular (para o pêndulo) e outro como sensor linear (para o carrinho) certo?

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re: Dúvida (Acelerômetro)
« Resposta #33 Online: 18 de Dezembro de 2009, 09:17 »
Na verdade, seria bastante útil! Por exemplo, controlar a distância limite que o carrinho pode ir, para evitar que ele bata na lateral do trilho.
Pelos filmes que ví, acredito que a ação de levantar o pêndulo é mais uma questão de ajuste de velocidade de reação do que controle por encoder ou o que o valha...

Entendí que o movimento inicial se deve a alguma leitura da posição do pendulo apenas - o carrinho corre o que precisar correr para levantar o pêndulo.
« Última modificação: 18 de Dezembro de 2009, 09:20 por fgilii »

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Dúvida (Acelerômetro)
« Resposta #34 Online: 18 de Dezembro de 2009, 09:29 »
Usando a sugestão do Jorge, com encoder e usando potenciômetro.

Na verdade a sugestão do encoder é do Rudolf ...

Citar
Dois encoders, um decodificador HCTL-2032, driver L-298 e o PIC-18F4550

Pra que dois encoders ? Qual é a necessidade de conhecer a posição do carro ?

Pra que o decodificador ? É mais dispendioso escrever a rotina para a interface do que usar uma rotina enlatada pro encoder ...

Nos modelos de PI comerciais existem esses dois sensores. A estratégia de controle básica usaria apenas o sensor do pêndulo, mas podem ser feitas outras estratégias com os dois sinais, sendo um sistema não linear, os dois sensores ajudam. Por outro lado, o modêlo matemático usa as duas informações, se for comparar o modêlo com o real, os dois são necessários.

Um PIC18F4550 com clock alto (> 20 MHz) até poderia processar os pulsos do encoder, mas existem algumas questões que devem ser levadas em conta:

(1) O processamento do sinal de um encoder em alta velocidade deve ser feito por interrupção, uma para cada saída do encoder, ou seja, 4 entradas de interrupção. Sendo sensores independentes, as interrupções e podem ocorrer quase simultaneamente. Esse processamento de interrupções deve ter baixa latência se as velocidades forem altas e os encoders de maior resolução, considerando que são dois, a coisa se complica;
 
(2) O HCTL-2032 é mais que um simples decodificador de pulsos. Possui uma série de coisas interessantes (schmitt-trigger nas entradas, processa os sinais do encoder, inclusive de index) e também um contador de 32 bits para cada encoder. Ou seja, a posição também está sendo determinada pelo HCTL-2032, o PIC só precisaria ler esses contadores para saber a posição de cada um. Acredito que o esforço de processamento é menor do que analisar os pulsos e efetuar a contagem para 2 encoders, considerando também a baixa latência requerida para as interrupções. O HCTL-2032 dá uma certa folga ao sistema;

(3) Haverá um laço controle PID de uma ou duas entradas (ou algo mais sofisticado - Fuzzy, ...) em malha fechada com velocidade maior que 100Hz e baixo jitter, rodando com variáves do tipo float (32 bits). Que não poderia sofrer interferência do processamento do encoder para não comprometer o controle.

(4) Ainda existe a comunicação com o PC, em RS232, que demanda um outro tanto da CPU.

Voce viu a velocidade do pêndulo no vídeo?

Podemos até tentar fazer tudo no PIC, mas acredito que o prazo requer decisões que não comprometam os resultados futuros, por exemplo, comprar 2 encoders pequenos e o HCTL-2032.
« Última modificação: 18 de Dezembro de 2009, 09:32 por minilathe »

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Dúvida (Acelerômetro)
« Resposta #35 Online: 18 de Dezembro de 2009, 10:49 »
Para levantar o pêndulo, é necessário efetuar movimentos laterais alternados, na mesma frequência de ressonância do pêndulo e em fase. De modo que a amplitude crescente dos movimentos oscilatórios do pêndulo possibilite que se mova acima do carro e possa ficar invertido. Para coordenar os movimentos, na fase correta, os dois sensores são necessários.

É como brincar de balanço... ;D

Uma vez acima do carro, o controle de posição do pêndulo assume o comando do motor.
« Última modificação: 18 de Dezembro de 2009, 10:51 por minilathe »

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Dúvida (Acelerômetro)
« Resposta #36 Online: 18 de Dezembro de 2009, 10:59 »
Citação de: rodrigoshaller link=topic=5401.msg104197#msg104197
Na verdade, seria bastante útil! Por exemplo, controlar a distância limite que o carrinho pode ir, para evitar que ele bata na lateral do trilho.

Não é possível controlar a posição do carro, determinada pelas reações do pêndulo às perturbações. É possível monitorar a posição do carro, coisa de utilidade discútivel, de vez que atingido o limite do curso, a coisa simplesmente entra em colapso ...
« Última modificação: 18 de Dezembro de 2009, 11:04 por C N C N o w ! »

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Dúvida (Acelerômetro)
« Resposta #37 Online: 18 de Dezembro de 2009, 11:03 »
Para levantar o pêndulo, é necessário efetuar movimentos laterais alternados, na mesma frequência de ressonância do pêndulo e em fase. De modo que a amplitude crescente dos movimentos oscilatórios do pêndulo possibilite que se mova acima do carro e possa ficar invertido. Para coordenar os movimentos, na fase correta, os dois sensores são necessários.

Não são necessários dois sensores, basta o que monitora a posição do pêndulo, que é tudo o que se precisa saber. O segundo sensor é redundante, algo perdulário e absolutamente inútil e dispensável.


Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Dúvida (Acelerômetro)
« Resposta #38 Online: 18 de Dezembro de 2009, 11:29 »
Nos modelos de PI comerciais existem esses dois sensores.

O que não quer dizer que seja uma boa solução.

Citar
A estratégia de controle básica usaria apenas o sensor do pêndulo,

O que é o necessário e suficiente.

Citar
mas podem ser feitas outras estratégias com os dois sinais,

Pode, mas nem tudo o que é possível é necessário, desejável, melhor, ou seja lá o que for. A mera possibilidade não é bom critério pra projeto.

Citar
sendo um sistema não linear, os dois sensores ajudam.

Não ajudam não. Complexidade desnecessária só atrapalha.

Citar
Por outro lado, o modêlo matemático usa as duas informações, se for comparar o modêlo com o real, os dois são necessários.

Princípio basilar: se o modelo não condiz com a realidade, descarte-o. Não são necessários dois sensores, o "modelo" de que vc fala, se existe, foi forjado pra satisfazer as pulsões masturbatórias de alguém.

Há dezenas de projetos por aí, disponíveis aos interessados, que utilizam apenas um sensor.

Um PIC18F4550 com clock alto (> 20 MHz) até poderia processar os pulsos do encoder, mas existem algumas questões que devem ser levadas em conta:

Citar
(1) O processamento do sinal de um encoder em alta velocidade deve ser feito por interrupção, uma para cada saída do encoder, ou seja, 4 entradas de interrupção. Sendo sensores independentes, as interrupções e podem ocorrer quase simultaneamente. Esse processamento de interrupções deve ter baixa latência se as velocidades forem altas e os encoders de maior resolução, considerando que são dois, a coisa se complica;

Poesia é bom e eu gosto, mas vamos tentar ser mais práticos e realistas ?

Que tal começar por estimar as reais necessidades ? Qual seria a resolução do encoder ? Quais seriam as máximas velocidades ?
 
Citar
(2) O HCTL-2032 é mais que um simples decodificador de pulsos. Possui uma série de coisas interessantes (schmitt-trigger nas entradas, processa os sinais do encoder, inclusive de index) e também um contador de 32 bits para cada encoder. Ou seja, a posição também está sendo determinada pelo HCTL-2032, o PIC só precisaria ler esses contadores para saber a posição de cada um. Acredito que o esforço de processamento é menor do que analisar os pulsos e efetuar a contagem para 2 encoders, considerando também a baixa latência requerida para as interrupções. O HCTL-2032 dá uma certa folga ao sistema;

Claro que a liberdade de culto é garantida pela constituição, e vc pode acreditar no que quiser, mas a questão aqui não é de fé ... o HCTL-2032 tem seu lugar ao sol, mas esta não á praia que ele gosta de frequentar ... não há almoço grátis e se o indigitado pode ser útil em alguns aspectos tb cobra seu preço ... com toda a probabilidade o overhead é comparável ao da rotina e a menos que alguma peculiaridade ainda não percebida apareça, seu emprego está injustificado.

Citar
(3) Haverá um laço controle PID de uma ou duas entradas (ou algo mais sofisticado - Fuzzy, ...) em malha fechada com velocidade maior que 100Hz e baixo jitter, rodando com variáves do tipo float (32 bits). Que não poderia sofrer interferência do processamento do encoder para não comprometer o controle.

Podemos discutir isto até a exaustão, mas eu certamente não me engajaria em tal discussão por um simples e bom motivo: há soluções provadas para esta e outras abordagens, ou seja, já sabemos de antemão e que e possível e está documentado.

Ademais, suas premissas e o que vc supõe que sejam as exigências são para lá de discutíveis ... há dados práticos e realistas por aí, não precisamos conjecturar, chutar, estimar ...

Citar
(4) Ainda existe a comunicação com o PC, em RS232, que demanda um outro tanto da CPU.

Muito pouco, é bom que se diga. Pra não mencionar o fato de que não sei se isto é de fato uma exigência do projeto, ou perfumaria ...

Citar
Voce viu a velocidade do pêndulo no vídeo?

Vi. A velocidade angular é baixa. Pode ser ainda mais baixa, a depender dos limites estabelecidos para correção das pertubações, principalmente das induzidas (peteleco do demonstrador) e da boa sintonia do sistema de controle.

Citar
Podemos até tentar fazer tudo no PIC, mas acredito que o prazo requer decisões que não comprometam os resultados futuros, por exemplo, comprar 2 encoders pequenos e o HCTL-2032.

É uma estranha abordagem essa sua, que preconiza o mais complexo, o mais caro, o mais difícil em todos os sentidos como cautela contra comprometimentos ...

Volto a lembrar: não precisamos acreditar, basta pesquisar ...
« Última modificação: 18 de Dezembro de 2009, 11:30 por C N C N o w ! »

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Dúvida (Acelerômetro)
« Resposta #39 Online: 18 de Dezembro de 2009, 11:30 »
Para levantar o pêndulo, é necessário efetuar movimentos laterais alternados, na mesma frequência de ressonância do pêndulo e em fase. De modo que a amplitude crescente dos movimentos oscilatórios do pêndulo possibilite que se mova acima do carro e possa ficar invertido. Para coordenar os movimentos, na fase correta, os dois sensores são necessários.

Não são necessários dois sensores, basta o que monitora a posição do pêndulo, que é tudo o que se precisa saber. O segundo sensor é redundante, algo perdulário e absolutamente inútil e dispensável.

O sensor de posição do carro pode ser dispensável, em certas condições. Porém, discordo que seja perdulário e inútil.

Os modelos comerciais de PI da Quanser, e outros fabricantes, usam dois sensores. Dois sensores são necessários para modelar o sistema (mudando o peso do casso, o tamanho do pêndulo, ...) e para comparar o comportamento real do sistema pêndulo / carro com o modêlo em Matlab, Simulink, ...

Dê uma olhadinha nesse link: http://www.engin.umich.edu/group/ctm/examples/pend/invpen.html

E nesse manual...:

[attachthumb=1]

Offline C N C N o w !

  • CNCMASTER
  • ******
  • Posts: 6300
  • Sexo: Masculino
Re: Dúvida (Acelerômetro)
« Resposta #40 Online: 18 de Dezembro de 2009, 11:54 »
O sensor de posição do carro pode ser dispensável, em certas condições.

O segundo sensor é dispensável em qualquer condição. Não agrega valor algum.

Citar
Porém, discordo que seja perdulário e inútil.

Então justifique. Eu tenho a realidade a meu lado, inúmeros projetos que o dispensam.

Citar
Os modelos comerciais de PI da Quanser, e outros fabricantes, usam dois sensores.

De novo: isto não prova nada, não quer dizer que seja uma solução superior.

Citar
Dois sensores são necessários para modelar o sistema (mudando o peso do casso, o tamanho do pêndulo, ...) e para comparar o comportamento real do sistema pêndulo / carro com o modêlo em Matlab, Simulink, ...

Pode ser, mas nínguém mencionou que o pêndulo deveria ter seus parâmetros alterados e mesmo assim, basta um sensor.

Citar
Dê uma olhadinha nesse link: http://www.engin.umich.edu/group/ctm/examples/pend/invpen.html

Já olhei e o foco é a utilização do Matlab, que é apenas uma das abordagens possíveis ... ademais, logo de cara há o comentário:

For the PID, root locus, and frequency response sections of this problem we will be only interested in the control of the pendulums position. This is because the techniques used in these tutorials can only be applied for a single-input-single-output (SISO) system. Therefore, none of the design criteria deal with the cart's position.

Citar
E nesse manual...:

Diz o manual:

Description

Either the IP01 or the IP02 linear motion servo plants serve as the base unit for Quanser's linear family of products. Both plants are ideal platforms to introduce fundamental control concepts and theories on an easy to use and intuitive
platform. They consist of a cart driven by a DC motor, via arack and pinion mechanism to ensure consistent and continuous traction. The cart is also equipped with a rotary joint to which a free turning rod (or pendulum) can be attached. In the case of the IP01, both cart position and pendulum angle are sensed via potentiometers. By contrast, the IP02 system has two encoders, which allow for multiple turns. As a result, the IP02 pendulum can suspend in front of the cart to perform the self-erecting and gantry experiments.


É evidente que o aparelho é um instrumento didático que destina-se ao estudo de questões gerais da teoria de controle e não especificamente a questão do pêndulo invertido.

O carro pode ser utilizado sozinho e é esta a razão de ele dispor de um sensor, o carro pode e deve ser controlado independentemente do pêndulo, que a ele será agregado apenas eventualmente, um acessório para o estudo de questões específicas.

Disto vc deduziu, indevida e erroneamente, a necessidade e vantagem na utilização de dois sensores.  :P :P :P


Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Dúvida (Acelerômetro)
« Resposta #41 Online: 18 de Dezembro de 2009, 12:30 »
Não ajudam não. Complexidade desnecessária só atrapalha.

Não é complexidade desnecessária, é apenas um sensor a mais. Voce sabe como se modela um sistema desse, levantando sua função de transferência, com apenas um sensor?

Há dezenas de projetos por aí, disponíveis aos interessados, que utilizam apenas um sensor.

Sim, na net tem várias versões e opções de qq coisa, do mais tosco e simplório ao mais sofisticado, e muita porcaria tb.... :)

Que tal começar por estimar as reais necessidades ? Qual seria a resolução do encoder ? Quais seriam as máximas velocidades ?

A solução proposta está acima dos requisitos, mas em que deveria ser simplificada? Poderia ser mais objetivo e apresentar uma contra-proposta? Ao invés de ficar atirando tomates... :)

A Quanser usa encoder de 4096 pulsos/volta.

Não tenho valores reais comigo. Mas um movimento de um pêndulo de 1m (com CG a 0,5 m), deprezando a resistência com o ar e atritos, terá uma velocidade angular máxima de quase 1 RPS, com um encoder de 4096 pulsos/volta, são 4096 Hz. Sendo dois sensores, para ficar no minimo aceitavel.

De novo, cada encoder usa 2 sinais, cada um com uma interrupção associada, ou seja 4 interrupções ocorrendo ao mesmo tempo, sendo que duas delas podem alcançar milhares de Hertz. Alguma idéia melhor que o HCT-2032?

Um modelo de PI com câmera, com x determinado pela câmera, mas só para olhar... :)

[attachimg=1]

« Última modificação: 18 de Dezembro de 2009, 12:38 por minilathe »

rodrigoshaller

  • Visitante

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re: Dúvida (Acelerômetro)
« Resposta #43 Online: 18 de Dezembro de 2009, 12:55 »
http://produto.mercadolivre.com.br/MLB-120100903-encoder-chave-rotativa-rotary-potencimetro-gratis-knob-_JM

O que acham deste?

Me parece que é um sensor de contatos, acho que não é confiável o bastante para um sistema que vai ficar se movendo o tempo todo. Também não vi a resolução (pulsos/volta).

rodrigoshaller

  • Visitante
Re: Dúvida (Acelerômetro)
« Resposta #44 Online: 18 de Dezembro de 2009, 13:25 »
Uma coisa que está incomodando meus pensamentos...

Logo no início do tópico, vocês questionaram a idéia de utilizar um acelerômetro, me aconselhando a usar um giroscópio...

Porém, um amigo me disse que um giroscópio é nada mais nada menos do que um acelerômetro de 3 eixos.


E porque exatamente o acelerômetro não funcionaria?
Analizem a minha idéia...

O Pêndulo começaria caído, então, quando o sistema for ligado, o motor faria o movimento necessário (previamente programado) para erguer o pêndulo até uma posição equilibrável...

Neste momento, o PIC começaria a se basear pelo ângulo do acelerômetro/giroscópio e faria o equilíbrio.

No momento em que a haste se desequilibrar, o acelerômetro/giroscópio indicaria tal inclinação e o PIC a corrigiria.


Funções adicionais, tais como: montar uma malha de controle para que o carrinho volte (quando possível) para o centro do trilho, ou que quando chegar no fim do trilho pare de andar, poderiam ser adicionadas facilmente ao meu ver...
Isso não me preocupa por enquanto.



Minha maior preocupação é escolher o tipo de componente que realizará este controle.

Concordo que há várias maneiras de se fazer tal coisa.
E é por isso que estou buscando a maneira mais barata/efetiva de fazer o projeto. O custo do projeto sairá do meu bolso, não terei ajuda de custos do SENAI (nem mesmo com o cuscopic).


Esse é um dos maiores motivos para mim estar insistindo no acelerômetro, por ser um componente novo (que nunca trabalhei) e por ser barato (viva os samples).



Estou me formando em um curso técnico apenas, não precisa ser um controle extremamente sofisticado e sem falhas...

O objetivo é aprender acima de tudo!

 

/** * */