Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

24/12/2013 #1

Avatar de Edwar09

PWM del pic18f2550 no funciona
Hola tengo este código que hice basándome en varios ejemplos de Internet, es para controlar la velocidad de giro de un motoreductor.

Muevo el potenciometro y se ajusta el PWM y con ello la velocidad



Código:
#include <18F2550.h>
#device adc=8
#fuses INTRC,NOMCLR,NOWDT,NOLVP,NODEBUG,CPUDIV1
#use delay(clock=4000000)

unsigned int8 valor;

void main()
{
set_tris_A(0b0000001); ///Lo declare asi para que sea entrada el adc 
set_tris_C(0); //Asi porque el CPP1 es salida
output_low(PIN_C2);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_64, 255, 1);  //Esto no se que hace
setup_adc_ports(AN0|VSS_VDD);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
delay_us(50);

while(true)
{
   valor=read_adc();
   set_pwm1_duty(valor);
   delay_ms(5);
}

}
Bueno funciona bien con un led conectado pero le conecto un transistor para manejar el motor (un cooler de los que traen foquito del pc) y este parpadea como estrobo. le conecto un motor y funciona pero si lo tomo con las manos se apaga todo y ya no enciende hasta que desconecto y cxonecto

Espero y me ayuden si no pues ni modo ...
25/12/2013 #2

Avatar de Scooter

Los ventadores de pc suelen llevar una controladora que seguramente "se pelee" con el pwm. Si fuese un motor "tonto" funcionaría.
25/12/2013 #3

Avatar de palurdo

¿Cuantas lineas tiene el Bus del ventilador, 2, 3, o 4? Cuando lo paras con la mano ¿has probado a girar manualmente las aspas dándoles impulso a ver si vuelve a girar?
25/12/2013 #4

Avatar de LaElectronicaMeOdia

le conecto un motor y funciona pero si lo tomo con las manos se apaga todo y ya no enciende hasta que desconecto y cxonecto
para mi que a tu diseño le faltan condesadores como filtros podrias publicar exactamente como lo tienes conectado en un diagrama?
25/12/2013 #5

Avatar de Edwar09

Scooter dijo: Ver Mensaje
Los ventadores de pc suelen llevar una controladora que seguramente "se pelee" con el pwm. Si fuese un motor "tonto" funcionaría.
Si tiene la controladora pero hice esto mismo con el arduino y este motor y funcionaba perfecto.

palurdo dijo: Ver Mensaje
¿Cuantas lineas tiene el Bus del ventilador, 2, 3, o 4? Cuando lo paras con la mano ¿has probado a girar manualmente las aspas dándoles impulso a ver si vuelve a girar?
Tiene 2 lineas y si lo probe y ya no funciona xD

---------- Actualizado después de 5 minutos ----------

LaElectronicaMeOdia dijo: Ver Mensaje
para mi que a tu diseño le faltan condesadores como filtros podrias publicar exactamente como lo tienes conectado en un diagrama?
Asi Segun yo asi cae en corte y saturacion el transistor
Se me ocurre que es problema de la frecuencia a la que trabaja el PWM o que el transistor no sirve para altas frecuencias no se xD
Imágenes Adjuntas
Tipo de Archivo: jpg Sin título.jpg (50,7 KB (Kilobytes), 19 visitas)
25/12/2013 #6

Avatar de Scooter

Circuito rrrrrraro rrrrrrrrraro.
Pon el emisor a negativo, la carga en el colector, un diodo volante y una resistencia de base.
Los pwm suelen ir en torno al kHz así que de alta frecuencia nada.

Creo que el circuito de salida de los pic tiene dos corrientes de salida programables, mira a ver si no has activado algo así.
25/12/2013 #7
Moderador

Avatar de D@rkbytes

Edwar09 dijo: Ver Mensaje
Si tiene la controladora pero hice esto mismo con el arduino y este motor y funcionaba perfecto.
Prueba con las siguientes modificaciones al programa que subiste y checa si ahora ya funciona con tu motor.

Lo probé con un motor DC normal de 12V y anduvo bien así como se muestra en el esquema adjunto.

Suerte.
Imágenes Adjuntas
Tipo de Archivo: jpg Motor DC controlado por PWM.jpg (91,9 KB (Kilobytes), 34 visitas)
Archivos Adjuntos
Tipo de Archivo: rar 18F2550 PWM controlado por ADC.rar (111,1 KB (Kilobytes), 35 visitas)
25/12/2013 #8

Avatar de LaElectronicaMeOdia

al diseño de darkbytes le agregaria condesadores de 100nF en la alimentacion, MCLR (lo mas cerca posible de los pines) y uno en paralelo al motor(lo mas cerca de los bornes).
26/12/2013 #9

Avatar de Edwar09

Muchas gracias a todos ya sirvió con ese ultimo circuito

si no me equivoco es un transistor con polarización por divisor de tensión
pero que función tienen los diodos ??

Lo del capacitor en los bornes del motor para que es ??
Creo era para corregir el factor de potencia o no recuerdo bien tenia eso en mi libreta pero la eche a la basura xD
26/12/2013 #10

Avatar de Scooter

R3 y D2 sobran.
En continua no hay factor de potencia, supongo que el condensador estará para filtrar un poco.
26/12/2013 #11

Avatar de LaElectronicaMeOdia

Lo del capacitor en los bornes del motor para que es ??
para reducir los EMF


pero que función tienen los diodos ?
D1 es para evitar que se destruya el transistor.

opino lo mismo "R3 y D2 sobran" pero no son dañinos .
26/12/2013 #12
Moderador

Avatar de D@rkbytes

LaElectronicaMeOdia dijo: Ver Mensaje
opino lo mismo "R3 y D2 sobran" pero no son dañinos .
Así es, R3 está solo como protección al retirar el PIC o ante algún falso contacto en el pin 13.

D2 lo coloqué para cumplir con la función de diodo damper.


No afectan al desempeño del circuito y si cumplen como protecciones extra.
27/12/2013 #13

Avatar de Edwar09

LaElectronicaMeOdia dijo: Ver Mensaje
al diseño de darkbytes le agregaria condesadores de 100nF en la alimentacion, MCLR (lo mas cerca posible de los pines) y uno en paralelo al motor(lo mas cerca de los bornes).
Pero lei no recuerdo donde que un diodo rectificador polarizado inversamente, tiene cierta capacitancia como un varicap, y entonces ya no seria necesario el capacitor paralelo al motor


Y funciona igual si lo alimento en lugar de 12v con 5v???
Porque lo habia armado pero olvide el MCLR y no funciono bien, asi que lo armare otra vez bien xD
28/12/2013 #14

Avatar de Edwar09

Ya funciono, el problema era que conecte el motor y pic a los 5v por eso se reiniciaba el pic y parecia estr0bo pero le pusse una fuente para el motor y ya funciono gracias a todos
28/12/2013 #15

Avatar de LaElectronicaMeOdia

el problema era que conecte el motor y pic a los 5v por eso se reiniciaba el pic y parecia estr0bo pero le pusse una fuente para el motor y ya funciono gracias a todos
puedes alimentarlo con la misma fuente si tomas todas las recomendaciones de filtrado como te e venido diciendo
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.