TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Clausal en 06 de Marzo de 2006, 15:05:00

Título: Delay al inicio del PWM para un motor
Publicado por: Clausal en 06 de Marzo de 2006, 15:05:00
Hola amigos, estoy tratando de manejar un motor, pero ahora que ya lo he manejado con PWM (ccp1), le quiero dar el brillo de que al comensar la conversion, que la partida del motor no sea tan rapida y brusca, osea que haya un pequeño retardo o delay, además quiero ajustar ese delay con un potenciometro paradarle mas sencibilidad,  espero que alguien pueda darme alguna idea desde ya muchas gracias. ChaoGiño
Título: RE: Delay al inicio del PWM para un motor
Publicado por: fastyx en 06 de Marzo de 2006, 18:09:00
dejame ver, si mal no entendi vos queres que el motor arranque de a poco hasta la velocidad nominal?

conceptualmente tendrias que ir declarando distintos dutys en distintos tiempos si es que lo queres fijo

ejemplo: set_pmw1_duty(5);//esto genera un duty cicle de 5(relativo segun tu escala)
               delay_ms(200);
set_pmw1_duty(10);
               delay_ms(200);
y asi hasta darle la potencia que queres.los intervalos de tiempo tambien se los podes dar vos

espero haber sido de ayuda...
Título: RE: Delay al inicio del PWM para un motor
Publicado por: Clausal en 07 de Marzo de 2006, 09:56:00
Hola fastyx  muchas gracias voy ir provando, y me has dado una nueva idea, pero en realidad quiero mover dos motores, que les doy control por dos potenciometros independientes, y cuando los potenciometros estan al centro con 2.5V, lo motroes estan quietos, luego si los muevo a derecha o a izquierda cambian sentido de gro pero a las vez se va incrementando la velocidad en la medida que se acerque a los extremos derecha o izquierda, pero bien muchas racias despues te cuento como anda la cosa, chao gracias
Título: RE: Delay al inicio del PWM para un motor
Publicado por: Clausal en 07 de Marzo de 2006, 10:24:00
haa lo otro los motores generan un ruido sonoro, cuando le aplico el PWM con el driver l293, y cuando recien van a andar suenan un poco, si le coloco un filtro, o condensador,..... nose se les ocurre algo?
Título: RE: Delay al inicio del PWM para un motor
Publicado por: fastyx en 07 de Marzo de 2006, 10:34:00
decime que tipo de motor estas usando
Título: RE: Delay al inicio del PWM para un motor
Publicado por: Clausal en 08 de Marzo de 2006, 13:47:00
HOLA MI AMIGO fastyx, ESPERO QUE ESTES MUY BIEN, LA VERDAD QUE ESTOY UTILIZANDO MOTORES DC, ES DECIR DE CORRIENTE CONTINUA, LOS CUALES PARA  MODIFICAR SU SENTIDO DE GIRO LE CAMBIO LA POLARIDAD, LOS MANEJO CON EL L293, DONDE CON TRES SEÑALES CONTROLO UNO SOLO, DOS DE CAMBIO DE SENTIDO DE GIRO, Y UNA DE HABILITACION DEL MOTOR, Y EN ESE PIN, LE APLICO EL PWM.
AHORA HE ESTADO HACIENDO ALGO, PERO LA IDEA QUE TU ME DISTE ME GUSTO, PERO QUIERO HACER LO MISMO PERO REGULAR EL DELAY CON UN POTENCIOMETRO COSA DE VARIAR LA POSIBILIDAD DE MAS LENTITUD O MAS RAPIDO, O NOMAL, ME REFIERO EN LA PARTIDA. OK MUCHAS GRACIAS, NOS COMUNICAMOS CHAO...
Título: RE: Delay al inicio del PWM para un motor
Publicado por: fastyx en 09 de Marzo de 2006, 14:00:00
estimado clausal.

                             creo que el ruido puede deberse a la frecuencia que usas en el pwm.proba con stear el pwm con distintas frecuencias ,te diria que pruebes con 7,8khz.

con respecto al tema del potenciometro,no tenes mas que colocar un pote para que ingrese dc en el pin de adc previamente configurado como entrada,habilitado el conversor adc y luego le decis al pwm que cargue una variable ejemplo valor que tome el read_adc() y lo pones en el argumento de set_pwm1_duty(valor).

con eso cuando varies el pote va a variar el pwm y en consecuencia la velocidad del motor.

recorda setear el timer 2 y habilitar el ccp en modo pwm

espero haber sido de utilidad!!!
Título: RE: Delay al inicio del PWM para un motor
Publicado por: piriots en 10 de Marzo de 2006, 07:06:00
El pitido que oyes es porque estas trabajando con una frecuencia que esta dentro del rango de frecuencias audibles 20 Hz y 20KHz. Si utilizas un PWM superior a 20 kHz no oiras ruidos y las bobinas del motor te lo agradeceran. No tienes problemas al arrancar el motor con una frecuencia tan baja si usas un duty cycle pequeño? digo pequeño porque no se con que escala trabajas y no puedo concretar mas.

Salu2
Título: RE: Delay al inicio del PWM para un motor
Publicado por: Clausal en 14 de Marzo de 2006, 13:45:00
Hola gracias Piriot, se me prendio un poco mas la ampolleta, lo voy a probar, pero en este momento no puedo porque estoy trabajando supuestamante!!!!!, ajaj, garcias y despues te cuento como me fue chao!!
Título: RE: Delay al inicio del PWM para un motor
Publicado por: Clausal en 15 de Marzo de 2006, 14:28:00
Hola a todos aqui les dejo un programita, este es al que le quiero dar un delay, hay tres partes, la primera para el motor apagado, la segunta para el motor a la derecha con variacion de velocidad y la segunda a la izquierda con variacion de velocidad, desde cero a maxima velocidad, esto con un potenciometro, que cuando esta en la mitad, deja el motor quieto, lo que quiero es que cuando se vaya incrementando el valor desde la mitad, se pprodusca un delay, y luego se restablesca la velocidad normal, se me ha hecho un poco complicado!!!!!, gracias y esta parte funciona re bien, ero falta lo otro, chao gracias

while(1)
    {
             set_adc_channel(0);
             valor=read_adc();       // Lee valor RA0


if((valor<=129)||(valor>=127))
            {
            set_pwm1_duty(0);
             valor=read_adc();
             }


if(valor<=126)
             {
              output_bit(PIN_B0,1);
             output_bit(PIN_B1,0);
             valor=(128-read_adc());
             set_pwm1_duty(valor);
            delay_ms(10);
            }



if(valor>=130)
             {
             output_bit(PIN_B0,0);
             output_bit(PIN_B1,1);
             valor=(read_adc()-128);
             set_pwm1_duty(valor);
            delay_ms(10);

            }

              set_adc_channel(1);
            valor=read_adc();
Título: RE: Delay al inicio del PWM para un motor
Publicado por: Clausal en 15 de Marzo de 2006, 14:30:00
Ahora se les ocurre como podría grabar una cantidad de movimientos?, osea si muevo el motor a a derecha, que se grabe esa funcion, y luego la repita en la misma velocidad y direcccion, seria interesante
Título: RE: Delay al inicio del PWM para un motor
Publicado por: piriots en 16 de Marzo de 2006, 03:56:00
Escrito originalmente por Clausal
Ahora se les ocurre como podría grabar una cantidad de movimientos?, osea si muevo el motor a a derecha, que se grabe esa funcion, y luego la repita en la misma velocidad y direcccion, seria interesante


Lo que puedes hacer es guardar las variables de posicion y velocidad en la eeprom del pic y cuando las necesites las lees. Lo que ocurre es que is lo haces de esta forma, en el momento que leas los valores de la eeprom tendrias que deshabilitar el conversor analogico digital, ya que si no lo haces, leeras el valor de la eeprom y este cambiara cuando se realize la siguiente conversion.

Salu2
Título: Re: Delay al inicio del PWM para un motor
Publicado por: clausal23 en 02 de Junio de 2006, 13:22:22
Otra consulta porque cuando, cambio de cristal ,a 20MHz, pierdo precision en los movimientos en el motor DC?, sera que se genera ruido?, o porque cuando estoy con cristal de 4M, y la frecuencia PWM la aumento a 20KHz, igualmente no funciona bien, sera que falta un condensador para el ruido electrico. gracias