Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
shield arduino
#1
hola a todos,
tengo un problema con una shield que he hecho para arduino.
La shield tendria que hacer lo siguiente:
controlar 4 motores mediante pwm (solo en una dirección).
controlar dos servos mediante un joystick conectado a las entradas analogicas A0 y A1.

he puesto dos reguladores de tensión un lm317 regulado a 6V que es la tensión de los motores.
El otro regulador es un 7805 para controlar los dos servos. 
esta placa  se alimenta a 12V, el arduino tambien utiliza los mismos 12V y a través de su regulador tenemos 5V en todo el arduino.

este esquema estaría bien?
Todas las tierras estan unidas, tanto las de los reguladores como la del arduino.

los servos son MG995, teoricamente no consumen tanto pero el 7805 se calienta y los servos solo se mueven al inicio, para posicionarse en medio.
luego por mas que muevas el joystick no se mueve se queda bloqueado.


Archivos adjuntos
.pdf   shield robotpong_V2_esquema.pdf (Tamaño: 29.8 KB / Descargas: 50)
Citar
#2
(19-09-2016, 05:48 PM)homer32 escribió: hola a todos,
tengo un problema con una shield que he hecho para arduino.
La shield tendria que hacer lo siguiente:
controlar 4 motores mediante pwm (solo en una dirección).
controlar dos servos mediante un joystick conectado a las entradas analogicas A0 y A1.

he puesto dos reguladores de tensión un lm317 regulado a 6V que es la tensión de los motores.
El otro regulador es un 7805 para controlar los dos servos. 
esta placa  se alimenta a 12V, el arduino tambien utiliza los mismos 12V y a través de su regulador tenemos 5V en todo el arduino.

este esquema estaría bien?
Todas las tierras estan unidas, tanto las de los reguladores como la del arduino.

los servos son MG995, teoricamente no consumen tanto pero el 7805 se calienta y los servos solo se mueven al inicio, para posicionarse en medio.
luego por mas que muevas el joystick no se mueve se queda bloqueado.

No veo ningún problema en el esquema... quizá tu problema sea de código. Verás, para que un servo funcione, debes estar mandandole continuamente su posición, de forma repetitiva cada X tiempo, que yo recuerde, yo lo hacia cada 20ms. Estoy hablando en términos de realizarlo desde un microcontrolador de Microchip... en tu caso, que yo sepa, en arduino existe un objeto Servo que te permite controlarlo directamente, solo tendrías que leer las entradas analógicas y pasárselas al objeto servo, en el propio arduino tienes un código en sus ejemplos.

El circuito no parece demasiado complicado y no parece estar mal... los motores los controlas correctamente mediante pwm gracias a esos transistores, y los servos, van alimentados a 5v como los tienes conectados y mediante una señal pwm por su cable de control... lo único, al 7805 quizá debas meterle un pequeño disipador de calor, es lo más normal tratándose de un regulador lineal, pues estás desperdiciando 12 - 5 = 7v en forma de calor... es el gran problema de esos reguladores, cuanto mayor es la tensión de entrada, más energía se desperdicia en forma de calor. Aparte, teniendo en cuenta que todas las masas están puenteadas, no deberías tener problema.
Citar
#3
Hola al final resulta que los servos tienen picos de casi 1A, le he puesto un pequeño regulador dc-dc para cada servo ( lo tengo regulado a 6 V) y otro para los motores.
Ahora funcionan bien
He cambiado un él sketch y ahora se controla cada motor con su potenciómetro y los servos con el joystik.
También he quitado el buzzer, ya que siempre hacia ruido. (No se de que podía ser, supongo que eran interferencias de los cables, es una manguera de unos 2mts.


Enviado desde mi Edison 3 mediante Tapatalk
Citar
#4
(27-09-2016, 07:47 AM)homer32 escribió: Hola al final resulta que los servos tienen picos de casi 1A,  le he puesto un pequeño regulador dc-dc para cada servo ( lo tengo regulado a 6 V) y otro para los motores.
Ahora funcionan bien
He cambiado un él sketch y ahora se controla cada motor con su potenciómetro y los servos con el joystik.
También he quitado el buzzer, ya que siempre hacia ruido. (No se de que podía ser, supongo que eran interferencias de los cables, es una manguera de unos 2mts.


Enviado desde mi Edison 3 mediante Tapatalk

Si... los servos por desgracia generan mucho ruido, eso te puede afectar perfectamente al buzzer. Yo cuando utilizo servos suelo poner un condensador grande en la entrada del micro, por eso de que absorba los picos de consumo y que no se reinicie o loquee el microcontrolador por una bajada de tensión... a veces uno se vuelve loco porque falla algo y luego es la estupidez más absurda de todas. 
Horas y horas me he pasado buscando fallos en un código o con el polimetro para descubrir que un cable que pasaba por encima de x componente me hacia loquear todo el invento, o perder horas picando código para descubrir que el compilador no traga X instrucción y te genera un churro de código que no hay manera de hacerlo funcionar, para tras eso poner exactamente lo mismo pero de otra forma, y ir perfecto.

En el caso del buzzer, te recomiendo apantallar los cables con papel de aluminio conectado a masa, con eso se suelen evitar las interferencias.
Citar
#5
Si lo de apantallar los cables lo tengo presente, también probaré lo del condensador creo que es muy buena idea.
El buzzer lo tengo incluido en la shield y lo alimento a través de un transistor.
No se si poniendo algún condensador en la base del transistor solventaría algo?

Enviado desde mi Edison 3 mediante Tapatalk
Citar
#6
(28-09-2016, 07:51 AM)homer32 escribió: Si lo de apantallar los cables lo tengo presente, también probaré lo del condensador creo que es muy buena idea.
El buzzer lo tengo incluido en la shield y lo alimento a través de un transistor.
No se si poniendo algún condensador en la base del transistor solventaría algo?

Enviado desde mi Edison 3 mediante Tapatalk

Umm, puede, con un condensador de muy baja capacidad y cerámico, sin embargo yo que tu probaría a poner una resistencia de paso a 0 cerca de la puerta del transistor... una de unos 33k o así, quizá consigas de alguna manera absorber esas pequeñas interferencias, para que solo conmute cuando pongas el puerto a +5v. En teoría esto no debería ser necesario, pues el puerto solo admite dos estados ,y en la posición de LOW debería estar como si estuviese conectado a masa... quizá otra opción que podrías tener es utilizar un transistor pnp en lugar de un npn y utilizar la lógica invertida, alguna vez me ha ayudado.

Lo cierto es que yo no soy ningún experto en el tema de interferencias, por lo que sé y he probado, el papel de aluminio funciona bastante bien, por lo demás, procuro no lanzar un cableado largo nunca y hacer las pistas lo más cortas posible.
Citar
#7
Ok probaré lo de la resistencia de 33k ahora tenía una de 10k a masa y hacia el zumbido.
De momento lo tengo sin el buzzer y estoy con la programación.

Enviado desde mi Edison 3 mediante Tapatalk
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  CONSULTA Hagamos una shield con una SRAM cybero 1 165 30-07-2018, 07:31 PM
Último mensaje: grafisoft