Será que um Arduino faz isso ?

Fórum sobre plataforma Arduino

Moderadores: andre_luis, 51, guest2003, Renie

Será que um Arduino faz isso ?

Mensagempor edison » 18 Out 2013 15:52

Quero bolar um comandinho "caixa preta" p/ acionar um motor via reles de modo que :
O nº de giros seja proporcional a medida do material a ser tracionado. (o material vai e vem tracionado por rolos)
O giro vai gerar sinais a serem lidos (encoder incremental ou um sensor que gere pulsos )
Aceite programação via teclado dessa medida e atingido valor atue o rele de retono.
Indique num display LCD ou leds a medida programada e nº de ciclos vai-vem ocorridos.

Algo assim:
Imagem
-----------------------------------------------
"Os políticos e as fraldas devem ser trocados freqüentemente. E pelas mesmas razões"
-----------------------------------------------
Avatar do usuário
edison
Dword
 
Mensagens: 2011
Registrado em: 10 Mar 2007 00:18
Localização: Curitiba

Re: Será que um Arduino faz isso ?

Mensagempor xultz » 18 Out 2013 16:32

Deve fazer, mas por que você quer fazer isso num Arduino?
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Será que um Arduino faz isso ?

Mensagempor edison » 18 Out 2013 18:26

xultz escreveu:.......... por que você quer fazer isso num Arduino?


Como citei num outro post ,meu filho quer botar em prática as aulas de "C" da facul e eu preciso de algo assim.
Já fiz (parcialmente) com eletrica convencional mas lotou um painel 300x400 e faltou as firulas.
Se o moleque se der bem posso aproveitar e sair da "idade dapedra" com outras idéias engavetadas.
Outra coisa ,cods. aulas etc. p/ Arduino tem de monte ,dando uma peneirada se tira algo que preste.
Baixo custo ,versatilidade......!
Pode até ter outras platafomas mas desconheço . Alguma dica ?
:shock:
-----------------------------------------------
"Os políticos e as fraldas devem ser trocados freqüentemente. E pelas mesmas razões"
-----------------------------------------------
Avatar do usuário
edison
Dword
 
Mensagens: 2011
Registrado em: 10 Mar 2007 00:18
Localização: Curitiba

Re: Será que um Arduino faz isso ?

Mensagempor Djalma Toledo Rodrigues » 17 Nov 2015 16:49

Será que um Arduino faz isso ?
Mensagempor edison » Sex Out 18, 2013 4:52 pm


Naquela época, longínquo ano 2013 não existia Router CNC.
:?
Desculpe Edson a tardia brincadeira mas não pude evitar.

DJ. Nov / 2015
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Re: Será que um Arduino faz isso ?

Mensagempor andre_luis » 17 Nov 2015 20:42

Re: Será que um Arduino faz isso ?


Não sei como está o cardápio de microcontroaldores atualmente, mas não faz muito tempo que penei pra achar uCs que tivessem módulo de hardware embutido para lidar com contagem de Encoder rotativo. Acho que pra responder á essa questão, voce teria de procurar especificamente se há Shields que façam isso.

edison escreveu:O giro vai gerar sinais a serem lidos (encoder incremental ou um sensor que gere pulsos )
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Será que um Arduino faz isso ?

Mensagempor brasilma » 18 Nov 2015 10:41

Para mim o Arduíno é um microcontrolador com um "algo mais", permitindo que se utilize as funções das bibliotecas e/ou shields dedicadas, e quando isso não é adequado, fazer tudo diretamente e/ou mesmo modificar as bibliotecas (retirando o que não vai usar, para reduzir o consumo de memória, ou modificando para adequar ao seu sistema) e/ou shields.

É isso que tenho feito, ajuda muito a startar rapidamente uma aplicação.

Com certeza dá para fazer com Arduíno!
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Será que um Arduino faz isso ?

Mensagempor norad58 » 18 Nov 2015 17:57

Acho que não é dificil, tem placas compativeis com Arduino como aquela da intel com processador Pentium 32bits ou a placa Mega Arduino, em relação a processamento dá e sobra.
Para ler um encoder de modo simples sem se preocupar com o sentido de rotação, dá pra usar a porta T/C (timer/counter) que deve estar disponivel na interface do Arduino e ler a largura do pulso do encoder ou sensor, use o canal Z do encoder pra adquirir e calcular a velocidade de deslocamento.
Se for para ler quantidades de pulsos do encoder/sensor tambem pode usar a porta T/C ou alguma que gere interrupções no MCU.
Já fiz algo parecido usando o Atmega8/16/32 que é praticamente o mesmo MCU das placas do Arduino 8 bits.
Deve tomar cuidado com a interface entre encoder/sensor e placa do Arduino que aceita I/O de até 5Vdc. Encoder pode achar facilmente com saída TTL de 5V mas sensores magnéticos por exemplo são na maioria para interface 12V/24V.
norad58
Word
 
Mensagens: 693
Registrado em: 08 Abr 2013 15:56

Re: Será que um Arduino faz isso ?

Mensagempor Red Neck Guy » 18 Nov 2015 18:54

Pra baixa rotação eu faço assim:
Encoder incremental:
A-> Ligo na int
B-> Uso para verificar o sentido de giro e também ligo em um IO
Aí consigo saber a posição
Com B, além de ler o bit, também capturo a largura (Com timer, capture ou semelhante) aí sei a rotação.
Eu costumo colocar um filtro externo para limitar a frequência máxima, tipo dois 40106 com um RC na malha.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Será que um Arduino faz isso ?

Mensagempor Silvio51 » 05 Fev 2016 21:24

Para mim o Arduíno é um microcontrolador com um "algo mais"...( )...


Para mim é a mesma coisa....só que ao contrário: Um microcontrolador com "algo" a menos...

Você já viu como as placas "aleijam" os micros?

Já percebeu que o Arduino DUE, por exemplo, tem um AT91SAM que na verdade é um ARM de 32 bits que roda a 84Mhz com 100 MIPs!!!

Como os caras queriam manter a compatibilidade com as porcarias anteriores, botaram pra F**** no chip...a grosso modo, este DUE só serviria para piscar 54 LEDS com no mínimo 10Kbytes de programa...com velocidade não superior a 1 MIP. Não se pode utilizar a Ethernet inside chip...ele apanha para ler um SD card...aleijaram no sentido restrito da palavra...porém, quem não é um garoto das libs Arduino, consegue fazer coisas interessantes como até mesmo utilizar os dois módulos de Quadrature Encoder internos. Algumas "libs" são para uso com artifícios de software, mas consegue-se "na unha" utilizar diretamente o hardware interno.

Em tempo: este código abaixo lê o encoder conectado nos pinos indicados (Canais A e B):

Código: Selecionar todos
const int quad_A = 2;
const int quad_B = 13;
const unsigned int mask_quad_A = digitalPinToBitMask(quad_A);
const unsigned int mask_quad_B = digitalPinToBitMask(quad_B);

void configuraQEI() {
       
    // activate peripheral functions for quad pins
    REG_PIOB_PDR = mask_quad_A;     // activate peripheral function (disables all PIO functionality)
    REG_PIOB_ABSR |= mask_quad_A;   // choose peripheral option B   
    REG_PIOB_PDR = mask_quad_B;     // activate peripheral function (disables all PIO functionality)
    REG_PIOB_ABSR |= mask_quad_B;   // choose peripheral option B
   
    // activate clock for TC0
    REG_PMC_PCER0 = (1<<27);
    // select XC0 as clock source and set capture mode
    REG_TC0_CMR0 = 5;
    // activate quadrature encoder and position measure mode, no filters
    REG_TC0_BMR = (1<<9)|(1<<8)|(1<<12);
    // enable the clock (CLKEN=1) and reset the counter (SWTRG=1)
    // SWTRG = 1 necessary to start the clock!!
    REG_TC0_CCR0 = 5;

}   
void main{

configuraQEI() ;
...
...
int minha variavel = REG_TC0_CV0 ;  // lê a posição

...
...
...
}
Silvio51
Byte
 
Mensagens: 383
Registrado em: 02 Nov 2006 14:04
Localização: Brasil


Voltar para ARDUINO

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x