Show Posts
Pages: 1 2 [3] 4 5 ... 19
31  International / Portugues / Re: Alimentação para L298N e motores on: June 06, 2014, 09:11:53 am
Sim, como é obvio tenho os GND ligados. Eu fui metendo pilhas em série e experimentando e só consegui fazer o robot quando tinha 9 pilhas. Porém não eram todas iguais e apenas estavam a fornecer 12V.
Interessante, me parece então que seu problema é mecânico, possivelmente seus motores estão sobrecarregados, por isso precisam de excessiva corrente para mover. Quando você dobra a tensão de especificação, dobra a corrente e aumenta consideravelmente o torque (não sei de cabeça em qual relação).
Perceba que com 9 pilhas em série você não aumenta a corrente máxima que elas fornecem, pelo contrário.
Quanto à eles não terem partido mesmo com as rodas livres quando você testou com 4 pilhas, possivelmente foi por causa da especificação do L298N como citei.

ps.: Desculpe as perguntas, mas quando se trata de eletrônica temos que considerar todas as possibilidades, uma de cada vez até "cercar" o problema.
32  International / Portugues / Re: Alimentação para L298N e motores on: June 05, 2014, 02:28:29 pm
E o GND da Ponte está ligado ao GND do Arduino? Teoricamente pilhas, mesmo as mais ruins, fornecem bastante corrente, as vezes mais até que adaptadores de parede, desculpe se estou sendo chato batendo na tecla, mas não consigo ver o problema se não for montagem, a menos que seus motores puxem MUITA corrente ( o que não é o caso), mas aí mesmo a ponte H haveria de dar problema

edit:
Acabo de ver que a tensão mínima do L298 é 6V. Apenas mais uma pilha em série deve servir (fique tranquilo que motores aguentam normalmente sobretensão de até 100% desde que não fique funcionando o tempo todo)
33  International / Portugues / Re: Me ajude por favor. Como escrever o número de passos de um motor com um teclado? on: June 04, 2014, 03:11:21 pm
1)
int passo=teclaPressionada*50;
está errado, a variável passo deve ser global
crie também
int incremento = 50;

2)
faça
passo = 0;
fora do while
faça
passo =  passo*10 + teclaPressionada
fora de
if (entrada == 3)
mas dentro do while.

3)
no lugar de
int passo=teclaPressionada*50;
faça
passo = passo*incremento;

4) me pague uma cerveja smiley
34  International / Portugues / Re: Alimentação para L298N e motores on: June 04, 2014, 02:53:46 pm
Quote
O transformador estava a fornecer 6V. Liguei no GND e no +12V da ponte. Penso que a ligação está bem feita.
Mas qual pino do Arduino? Vin ou 5V? Se estiver em Vin provavelmente não vai funcionar, adaptadores de tomada fornecem geralmente um pouco acima da especificação, enquanto pilhas descarregam com o tempo... tensão minima para ligar em vin se não me engano é 6V, mas não é garantido, recomendado acho que 9V. Tenho quase certeza que seu problema está aí
35  International / Portugues / Re: [Ajuda] Programação de servo com joystick. on: June 04, 2014, 02:46:50 pm
Seu problema parece bem simples amigo, provavelmente na programação está explicito que o servo deve acompanhar o valor lido do joystick. Bastaria mudar para algo como "(if > centro) vá para direita, (if <centro) vá para esquerda". Fica difícil explicar mais detalhado sem o software, mas a lógica é esta

Sem querer pedir muito. mas poderia dar uma analisada nesse codigo? peguei ele pronto na net e estou tentando entender a logica de programação a partir dele. eu poderia modifica-lo para essa função?

//Programa : Controle servo motor com joystick
//Autor : FILIPEFLOP
 
#include <Servo.h>
 
//Cria objeto para controlar o servo base
Servo servo_base;
//Cria objeto para controlar o servo inclinacao
Servo servo_inclinacao;
 
int pino_x = A4; //Pino ligado ao X do joystick
int pino_y = A5; //Pino ligado ao Y do joystick
int val_x;   //Armazena o valor do eixo X
int val_y;   //Armazena o valor do eixo Y
 
void setup()
{
  //Define a porta a ser ligada ao servo base
  servo_base.attach(7);
  //Define a porta a ser ligada ao servo inclinacao
  servo_inclinacao.attach(smiley-cool;
}
 
void loop()
{
  //Recebe o valor do joystick, eixo X
  val_x = analogRead(pino_x);
  //Converte o valor lido para um valor entre 1 e 180 graus
  val_x = map(val_x, 0, 1023, 1, 180);
  //Move o servo base para a posicao definida pelo joystick
  servo_base.write(val_x); 
  //Recebe o valor do joystick, eixo Y
  val_y = analogRead(pino_y);
  //Converte o valor lido para um valor entre 1 e 180 graus
  val_y = map(val_y, 0, 1023, 1, 180);
  //Move o servo inclinacao para a posicao definida pelo joystick
  servo_inclinacao.write(val_y);
  //Aguarda a movimentacao do servo e reinicia a leitura
  delay(15);
}



Code:

  val_x = analogRead(pino_x);

  val_x = map(val_x, 0, 1023, 1, 180);

  if(val_x  >  100)
  {
    servo_base.write(val_x);
  }
 
  else if (val_x < 80)
  {
    servo_base.write(val_x);
  }
  // faz o mesmo para val_y
}

Este é só um esboço amigo, mas o caminho é este, o resto é matemática. Pode ajustar os valores do if, pode adicionar delay, pode ser que precise criar uma outra variavel que se soma ou subtrai ao valor do servo...

Só uma dica, se esforce um pouco mais para entender como funciona do que fazer funcionar em si, vai valer a pena futuramente smiley-wink
36  International / Portugues / Re: Alimentação para L298N e motores on: June 02, 2014, 12:14:03 pm
Qual  a especificação do adaptador de tomada que você usava? Em quais pinos você o ligava? Penso que o problema pode estar na ligação mais provavelmente do que nas pilhas em si
37  International / Portugues / Re: IRremote multiplos transmissores on: June 02, 2014, 11:58:23 am
Já pensou em usar um mux? A menos que você precisa controlar todos simultaneamente, você configura a saída do mux usando três portas, e manda o sinal usando uma.

Dá uma olhada no CI CD4851  ou CD4051 / 74HC4851/74HC4051 (todos são iguais)
38  International / Portugues / Re: [Ajuda] Programação de servo com joystick. on: June 02, 2014, 11:56:19 am
Seu problema parece bem simples amigo, provavelmente na programação está explicito que o servo deve acompanhar o valor lido do joystick. Bastaria mudar para algo como "(if > centro) vá para direita, (if <centro) vá para esquerda". Fica difícil explicar mais detalhado sem o software, mas a lógica é esta
39  International / Portugues / Re: Alternativa para abaixar tensão em linha serial 5v/3v3 on: February 19, 2014, 10:49:00 am
Aqui tens o efeito de cada uma dessas configurações medindo com o osciloscópio.
http://jamesreubenknowles.com/level-shifting-stragety-experments-1741/comment-page-1
O que tu queres é que o sinal seja o mais próximo possível a uma onda quadrada.

wowww muito obrigado, excelente link!
40  International / Portugues / Re: Alternativa para abaixar tensão em linha serial 5v/3v3 on: February 19, 2014, 09:19:07 am
Eu não usaria resistores para reduzir a tensão, pois o valor será variável de acordo com a amperagem. Você pode usar diodos em série, pois é sabido que eles têm uma queda de tensão de +- 0.6V.

Porque não pode usar CI? Existem várias opções que fazem essa redução facilmente para você.

Abraços,

Usando diodos seria quase a mesma ideia da ligação (A), mas teria que por um pull down do "lado 3v3" ao invés de pull up. Ou  seja, ficaria lento para abaixar ao invés de para subir.

Não quero usar CIs pois é pra ser uma solução rápida, por exemplo, já vi várias empresas vendendo placas que usam resistores 10K em série para abaixar, limitando assim a corrente no diodo de clamp do CI 3v3.

Eu iria de lógica B, acho mais seguro trabalhar com transistores (já que nos arduinos temos o pino 3.3v)
É olhando também acho que parece a melhor opção, mas também sei que todas funcionam (umas melhor outras pior). Gostaria de saber quais os eventuais problemas das outras, de repente para controlar um 54hc595 qualquer uma serve e estou preocupado atoa não é.

Obrigado pelas respostas smiley
41  International / Portugues / Alternativa para abaixar tensão em linha serial 5v/3v3 on: February 19, 2014, 08:57:16 am
Olá galera, alguém pode me ajudar, preciso controlar um shift register 3v3, usando um Arduino com 5V, alguém sabe qual a melhor alternativa (sem usar CI) para fazer isto levando em consideração a "alta velocidade" de clock do shift register?

As opções que pensei até agora são as seguintes, aí queria saber qual é a melhor em termos de velocidade, proteção, etc.
Lembrando que a direção do sinal é do 5v (esquerda) para 3v3 (direita).



E aí, A, B, C ou D (ou outra ideia)?

edit: Resolvido! Apenas colocando em evidência o link postado pelo amigo HugoPT para referências futuras
http://jamesreubenknowles.com/level-shifting-stragety-experments-1741/comment-page-1
42  Using Arduino / Motors, Mechanics, and Power / Re: SMPS driver for 65V output, low current, as simple as possible on: November 25, 2013, 12:10:53 pm
Thanks, I'll try it!  smiley
43  Using Arduino / Motors, Mechanics, and Power / Re: SMPS driver for 65V output, low current, as simple as possible on: November 21, 2013, 12:57:11 pm
Thanks for the tip UnoDueTre, I will take a look on these Meanwell power sources.

And, what do you think about this linear project:

TIP42c is 2W, maybe if I put 2 or 3 in parallel...
44  Using Arduino / Motors, Mechanics, and Power / Re: SMPS driver for 65V output, low current, as simple as possible on: November 21, 2013, 12:47:39 pm
Quote
a switching regulator is a more efficient solution
Do you know a comercial one, or how can I search for it (digikey or mouser are my best choices)?

Quote
PS - what transformer is it that will provide you with about 80V DC after rectification?
This 24-0-24, Using two connected in parallel, then full bridge retifies which one, I can play with output and get something close to 24 / 50 / 80 / 120 VDC no regulated

45  International / Portugues / Re: Keypad.h por favor HELP!!! on: November 21, 2013, 11:53:36 am
Se for um teclado matricial comercial, define '*', ou '#', ou F1,F2, etc (se existir) como "enter", então baseado no exemplo, vai incrementando o array OU, multiplica por 10 e soma de volta.

Ex:
digitou 1 2 3 e enter,
o sistema faz:
Code:
int a = 0;
if (key == ENTER) {
  // sai e/ou faz o que tem que fazer  com o valor
}

else {
  a = a*10 + (key - 0x30); // adiciona um zero a direita e "converte" key para valor numerico
}

no final, a será igual a 123.
Pages: 1 2 [3] 4 5 ... 19