Pages: [1]   Go Down
Author Topic: Incompatibilidad servos y LCD?  (Read 947 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 85
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tengo conectado a un arduino duemilanove 2 servos. Uno en el pin 8 y otro en el 9. Ademas tengo conectado un LCD 2x16 que controlo con liquid crystal en las siguienetes entradas:

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

Tambien tengo puesto un ethernet shield, que tengo entendido ocupa 13,12,11 y 10.

El caso es que todo funciona correctamente si no conecto los servos. Si conecto los servos, el lcd se llena de caracteres raros, aunque el resto funciona todo bien...

Hay alguna incompatibilidad de pines o similar?? Deberia cambiar algun pin? en los ejemplos que he visto conectan los servos al pin 8 y al 9 sin problema... He probado tambien conectandolos a los pines 9 y 6, con identico resultado.

La alimentacion de los servos y del lcd la hago a traves de un ubec de 5v.

Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 85
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

codigo:

Code:
// include the library code:
#include <SPI.h>         // needed for Arduino versions later than 0018
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <LiquidCrystal.h>
#include <Servo.h>

Servo myservo;
Servo myservo2;
int pos = 0;

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);

unsigned int localPort = 9500;      // local port to listen on

// buffers for receiving and sending data
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
char  ReplyBuffer[] = "acknowledged";       // a string to send back

// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;

void setup() {
 
  Ethernet.begin(mac,ip);
  Udp.begin(localPort);
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
 
    myservo.attach(9);
    myservo2.attach(8);
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
 
  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees
  {                                  // in steps of 1 degree
    myservo.write(pos);
    myservo2.write(pos);    // tell servo to go to position in variable 'pos'
    delay (15);                      // waits 15ms for the servo to reach the position
  }
  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees
  {                               
    myservo.write(pos);
    myservo2.write(pos);    // tell servo to go to position in variable 'pos'
    delay (15);                     // waits 15ms for the servo to reach the position
  }

  int packetSize = Udp.parsePacket();
  if(packetSize)
  {
    Serial.println(packetBuffer);
  }



}
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

cuanta corriente da tu fuente? como la conectas?
como conectas los servos? foto?
te recomiendo que te hagas un programa sin nada relacionado con ethernet, solo con lcd y 1 servo. hazlo funcionar y luego añade otro servo, yluego ethernet.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Jr. Member
**
Karma: 0
Posts: 85
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alimento el arduino y el ubec con una lipo de 1000 mah. El arduino mediante el conector de alimentacion. El ubec es de 5 A. El positivo y la masa de los servos van a la salida del ubec. La señal de cada uno de los servos a las patillas 8 y 9. Las patillas 1 y 2 y las 15 y 16 tambien van directamente al ubec.

Os pongo la foto pero me parece que va a ser poco aclaratoria.

En principio deberia funcionar?


* IMAG0340.jpg (985.89 KB, 2592x1552 - viewed 24 times.)
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

5voltios o amperios? En cada sitio has puesto una cosa.
Si son 5v no debes conectarlo ahi ya q es demasiado poco, neceditas minimo 7v.si son 5v tienes q conectarlo al Vin.  Mira en la documentación de Arduino
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Jr. Member
**
Karma: 0
Posts: 85
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Son correctas las dos cosas. La salida del ubec para alimentar servos y lcd es de 5v y soporta 5 amperios. Pero el arduino no esta conectado al ubec, esta conectado directamente a la lipo de 1000 mah.
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En la foto no distingo...

Mejor pongas el esquematico de alimentaciones, tiene toda la pinta que hay algo mal en alimentacion, no tiene pinta de nada de pines ni configuracion.

¿el ubec con que lo alimentas o va directo a 220v?

Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Offline Offline
Jr. Member
**
Karma: 0
Posts: 85
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

lo alimento con la lipo, igual que el arduino.
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

lo alimento con la lipo, igual que el arduino.

De cuanto es la LIPO y me refiero a voltage no amperios?

El ubec supongo que es un regulador de voltage, un step down verdad?

Por eso insisto de nuevo en la pregunta:
Quote
Mejor pongas el esquematico de alimentaciones, tiene toda la pinta que hay algo mal en alimentacion
« Last Edit: April 12, 2013, 06:03:34 am by Heke » Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Offline Offline
Jr. Member
**
Karma: 0
Posts: 85
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La lipo es 3s, de 12v.

El ubec es un regulador de voltage con filtros anti ruido. El que uso es este: http://www.hobbyking.com/hobbyking/store/__4319__TURNIGY_3A_UBEC_w_Noise_Reduction.html

Estoy fuera de casa, el domingo cuando llegue hago y cuelgo un esquema, pero vamos, hay poco error posible. Negativo de salida del regulador a los negativos de servos y lcd. POsitivos a positivos de servos y lcd. Conexion directa de la lipo 12v al arduino.
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Por lo que dices, el arduino esta libre de ruido, ya que la alimentacion tiene que pasar por el regulador y sus condensadores de filtro.

El LCD no esta libre de ruido pues lo tienes conectado a los servos, el ubec ese esta muy bien que sea antiruidos pero los ruidos se los metes en la linea de salida.

Si hubieras dedicado el ubec solo para los servos, seria genial.

El lcd lo puedes alimentar de los propios 5v del arduino asi separas alimentaciones.
Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Offline Offline
Jr. Member
**
Karma: 0
Posts: 85
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, probare eso cuando vuelva, alimentar de una fuente distinta servos y lcd, a ver que pasa.

Por que en principio no debe ser por temas de pines incompatibles con servos, verdad?
Logged

Pages: [1]   Go Up
Jump to: