No funciona servo con atmega 328p

#1
Buenas noches!
Estoy intentando manejar un servomotor con un atmega328p. y no consigo hacerlo.
Lo que hago: Por el PIn de pwm del micro emito una señal de de T = 20m y 1,5 ms de tiempo de trabajo; y la recibe el servo por el pin de pulso.

Entre el microControlador y el servo, hay un uln2803 para obtener una mayor corriente.

Problema: no funciona. Algo estaré haciendo mal?

Adjunto imagen del circuito.
 

Adjuntos

#2
Sería buen o una foto de tu montaje y que publiques tu código para examinarlo.
Cuantos más datos nos de más rápido y mejores respuestas recibiras.
Si te fijas en el diagrama interno del ULN2803 las salidas on invertidas con respecto a la entrada

Por otro lado la alimentación del servo debería ser independiente del micro
En general no hace falta ese circuito ya que lo que necesita es muy poco y puede tranquilamente ser controlado por el micro
 
Última edición:
#3
Como te han comentado, no es necesario el Driver ULN 2803, ya que el servo-motor no requiere una alta corriente para ser controlado siendo suficiente la señal generada por el micro-controlador.

Por otro lado seria bueno conocer el código que utilizas en el micro-controlador y si cuentas con un frecuenciometro para verificar la salida generada.

Saludos.
 
#4
No tiene ningún sentido aumentar la corriente de la señal de control, además ese driver es de colector abierto y seguramente el servicio no lo entiende. Quitalo.
Lo que sí que tiene sentido es aumentar la corriente de alimentación que la que da la placa de Arduino es mínima. Yo nunca alimento nada de ese regulador, no tan siquiera al propio Arduino.
 
#5
No tiene ningún sentido aumentar la corriente de la señal de control, además ese driver es de colector abierto y seguramente el servicio no lo entiende. Quitalo.
Lo que sí que tiene sentido es aumentar la corriente de alimentación que la que da la placa de Arduino es mínima. Yo nunca alimento nada de ese regulador, no tan siquiera al propio Arduino.
No leí que fuera un Arduino, pero si recomiendo que uses alimentación independiente del MCU y cargas elevadas sobre todo inductivas como motores y relevadores por que puede producir reinicios.
 
#6
Muchas gracias por las respuestas.

Como dice Nuyel, no estoy usando un arduino.
También estoy alimentando el microcontrolador con una fuente de 5 v y 2A. Además probé por separado alimentar el servo y el micro, pero tampoco funcionó.

Por otro lado seria bueno conocer el código que utilizas en el micro-controlador y si cuentas con un frecuenciometro para verificar la salida generada.
Saludos.
Medí la señal que sale del micro con un osciloscopio y está todo ok!

Pero mi duda es: no necesito amplificar la corriente de la señal que sale del micro? Porque tenía entendido que el servo consumía aproximadamente unos 400mA, la cual, el micro no puede entregar.
 
#7
Confundes los conceptos
La corriente no viene del pin, viene de la alimentación.
La señal es señal de control y "no gasta"

Y la alimentación de un Arduino no da para eso.
 
#8
Solo conecta el pin del micro directo el pin del PWM del servo y se acabo se ve que no lees hojas de datos y miras muchas paginas basura de internet
 
#9
Solo conecta el pin del micro directo el pin del PWM del servo y se acabo se ve que no lees hojas de datos y miras muchas paginas basura de internet
No, he leido la hoja de datos del micro, por eso me pareció correcto aumentar la mínima corriente que viene del micro. Y la hoja de datos del servo que uso, SG90, no tiene consideraciones eléctricas. Por eso opté por lo que decían "las páginas basuras" jeje.

Confundes los conceptos
La corriente no viene del pin, viene de la alimentación.
La señal es señal de control y "no gasta"

Y la alimentación de un Arduino no da para eso.
Ya entendí ahora. Conecto la entrada de señal de control del servo, directo al pin del micro. Pero cual será el problema de que no me funciona? Porque la señal está medida con un osciloscopio, y es la deseada.
 
#10
La señal de control no gasta y la alimentación si, si fuera al revés sería absurdo
Al poner ese buffer inviertes la señal
Al poner ese driver se queda en colector abierto
Al no poner mas alimentación no llega bastante

Llevamos desde el principio con lo mismo.
 
#11
Si, entendí perfectamente el porqué de no poner el uln2803. Pero al conectar el servo y el micro directo,como me han indicado, no me funciona. Voy a comprar otro servo y ver si el problema es ahí.
 
#16
Si lo has conectado como ya te hemos indicado y no funciona o el servo no sirve o tu código esta mal
Si te fijas te pedí que publicarás el código, en el post #2 y no veo que lo hayas publicado.
Con información a medias es imposible ayudar.
Si te interesa que te ayudemos danos todos los datos, no nos has mostrado una foto de tu montaje, tal vez hay algo que esta mal allí, tu no logras verlo y nosotros menos porque no podemos verlo.
Te vuelvo a repetir, si queres recibir ayuda proporciona toda la información que se te solicita, por que si no estamos suponiendo cosas que es posible que no sean porque no estamos viendo nada......
 
Arriba