Autor Tema: Puente H con Mosfet y Relé - Silla de ruedas eléctrica  (Leído 55226 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #120 en: 23 de Marzo de 2015, 13:39:46 »
Bueno, acomodé mejor el código y ahora ya no tengo saltos en el PWM. Si voy hacia adelante, acelera con rampa. Si suelto el pulsador empieza a desacelerar. Si vuelvo a presionar, sigue acelerando por donde iba. El unico salto en el PWM se hace al cambiar de direccion. Si venía frenando y quiero cambiar de sentido (debo conmutar los reles) entonces sí mando los PWM a 0 de una para poder conmutar los reles.

Un video:


y el código:

Código: [Seleccionar]

#define _XTAL_FREQ 48000000
/*Includes globales*/
#include <xc.h>
#include "configuracion_de_fuses.h"
#include "configuracion_hard.h"
#include <stdint.h>

/* Definiciones del Programa */

/* Configuracion de Rampa de aceleracion para arranar los motores
 * PASOS_ARRANQUE: CUANTOS incrementos hay del DC entre 0 y DC_FINAL_ARRANQUE
 * TIEMPO_ARRANQUE: milisegundos que tarda el DC en ir de 0 a DC_FINAL_ARRANQUE
 * DC_FINAL_ARRANQUE: Es el DC con el cual se alanza la velocidad final de arranque
 * DC_INCREMENTO_PASOS: En cuánto se incrementa el DC en cada paso. Usado para los for(;;)
 * RETARDO_PASOS_ARRANQUE: Tiempo muerto entre cada inremento de DC */
#define PASOS_ARRANQUE      20
#define TIEMPO_ARRANQUE     4000
#define DC_FINAL_ARRANQUE   900
#define DC_INCREMENTO_PASOS DC_FINAL_ARRANQUE/PASOS_ARRANQUE
#define RETARDO_PASOS_ARRANQUE  TIEMPO_ARRANQUE/PASOS_ARRANQUE

typedef enum _sentido{
    DETENIDO = 0,
    ADELANTE = 1,
    ATRAS    = 2,
    DERECHA  = 3,
    IZQUIERDA= 4
} sentido;



/*declaración de funciones*/
void MyMsDelay(int ms);
void conf_puertos(void);
void set_dc_pwm1(uint16_t duty);
void set_dc_pwm2(uint16_t duty);
void conf_pwm(void);
void adelante(void);
void atras(void);
void parar(void);

/*****Programa principal******/

void main(void){
    uint16_t i=0;
    sentido mov_actual = DETENIDO;  // Almacena el movimiento actual de la silla
    uint8_t paso_rampa_acel=0;      //Indica en que paso de la rampa estamos

    conf_puertos();
    conf_pwm();
    K12D = 0;
    K12I = 0;
    while(1){
        while(P_ADE){       // Mientras pulsemos el pulsador ADELANTE
            LED_ADE=1;
            if(mov_actual != ADELANTE){
                // Si el movimiento no era ir hacia adelante pongo en 0 el DC
                // de los dos motores para conmutar los relés
                set_dc_pwm1(0);
                set_dc_pwm2(0);
                K12D = 1;           // Motor Derecha en CW
                K12I = 1;           // Motor Izquierda en CW
                MyMsDelay(150);     // Retardo para asegurar la conmutaion de los Reles 
                paso_rampa_acel=1;  // Comienzo de la rampa de aceleracion
            }
            mov_actual = ADELANTE;    // Estamos yendo hacia adelante
            //Incremento el DC de acuerdo a la rampa de aceleracion
            if(paso_rampa_acel < PASOS_ARRANQUE){
                set_dc_pwm1(paso_rampa_acel*DC_INCREMENTO_PASOS);
                set_dc_pwm2(paso_rampa_acel*DC_INCREMENTO_PASOS);
                MyMsDelay(RETARDO_PASOS_ARRANQUE);
                paso_rampa_acel++;
            }
        }
        while(P_ATR){       // Mientras pulsemos el pulsador ATRAS
            LED_ATR=1;
            if(mov_actual != ATRAS){
                // Si el movimiento no era ir hacia atras pongo en 0 el DC
                // de los dos motores para conmutar los relés
                set_dc_pwm1(0);
                set_dc_pwm2(0);
                K12D = 0;           // Motor Derecha en CCW
                K12I = 0;           // Motor Izquierda en CCW
                MyMsDelay(150);     // Retardo para asegurar la conmutaion de los Reles
                paso_rampa_acel=1;  // Comienzo de la rampa de aceleracion
            }
            mov_actual = ATRAS;     // Estamos yendo hacia atras
            //Incremento el DC de acuerdo a la rampa de aceleracion
            if(paso_rampa_acel < PASOS_ARRANQUE){
                set_dc_pwm1(paso_rampa_acel*DC_INCREMENTO_PASOS);
                set_dc_pwm2(paso_rampa_acel*DC_INCREMENTO_PASOS);
                MyMsDelay(RETARDO_PASOS_ARRANQUE);
                paso_rampa_acel++;
            }
        }
        // Mientras no pulsemos ningun pulsador ni estemos detenidos
        while(!P_ATR && !P_ADE && mov_actual != DETENIDO){       
            LED_ATR=0;
            LED_ADE=0;
            // Decremento el DC de acuerdo a la rampa de aceleracion
            if(paso_rampa_acel != 0){   // No actualizo el estado de marcha de la silla
                paso_rampa_acel--;
                set_dc_pwm1(paso_rampa_acel*DC_INCREMENTO_PASOS);
                set_dc_pwm2(paso_rampa_acel*DC_INCREMENTO_PASOS);
                MyMsDelay(RETARDO_PASOS_ARRANQUE);
            }else{
                mov_actual = DETENIDO;        // Estamos Detenidos, actualizo el estado
            }
        }
    }
}

solo restan los giros y creo que estaría en condiciones de probarlo sobre la silla!!!

sds.
-
Leonardo Garberoglio

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #121 en: 24 de Marzo de 2015, 12:31:15 »
Hola elgarbe, muy bueno lo tuyo, estaré atento a tus avances, que hasta ahora me parecen muy buenos, felicitaciones!!!

Un saludo.

Atte. CARLOS.

Pda. las sillas profesionales no usan pulsador, usan potenciómetros configurados tipo joystick, de esta manera es posible controlar la velocidad de la rampa y esta no tiene que ser fija, comentario a forma de ampliación de proyecto  ;-)

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #122 en: 24 de Marzo de 2015, 13:49:58 »
Carlos, gracias!

Este año, por suerte, me toco un grupo bastante entusiasmado con este tema así que podremos finalizarlo. Obtuve la aprovacion del director para comprar las baterías y el joystick.
En cuanto a los controles vi esto:
http://mla-s1-p.mlstatic.com/silla-de-ruedas-motorizada-electrica-a-bateria-plegable-21014-MLA20202954086_112014-O.jpg
de esta silla:
http://articulo.mercadolibre.com.ar/MLA-544239222-silla-de-ruedas-motorizada-electrica-a-bateria-plegable-_JM
y pensé que los pulsadores de liebre y tortuga eran las 2 posibles velocidades y el joystick era solo on/off... ahora me entra la duda, quiza sean velocidad alta y baja, pero igual con joystick analógico... En nuestro caso, estimo que tendremos que conformarnos con on/off y 2 velocidades máximas estimo...

Tenes idea donde puedo conmprar los joystick?

las baterías estaba entre uno de estos dos modelos:

http://articulo.mercadolibre.com.ar/MLA-549362149-bateria-de-gel-de-12v-20-ah-press-_JM
http://articulo.mercadolibre.com.ar/MLA-549362143-bateria-de-gel-de-12v-17-ah-press-_JM

distri electro me queda cerca de donde suelo andar en capital...

o tambien, un poco más caras:
http://www.portableydigital.com.ar/tienda/baterias-varias/electrolito-absorbido/bateria-para-vehiculos-electricos-12v-22ah

Sds!
-
Leonardo Garberoglio

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #123 en: 24 de Marzo de 2015, 17:02:41 »
Hola elgarbe, me puedes decir por favor a que frecuencia estas trabajando el PWM ?.

Saludos

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #124 en: 24 de Marzo de 2015, 18:08:48 »
Aun no lo he probado bien en los motores, pero esta configurado a 3KHz mas o menos. Es algo que tengo que probar.

Saludos
-
Leonardo Garberoglio

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #125 en: 24 de Marzo de 2015, 18:51:17 »
Gracias, es que estoy desarrollando un PWM para un motor y he probado entre 1 y 4 Khz pero aparece un molesto pitido.

Saludos.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #126 en: 24 de Marzo de 2015, 19:01:50 »
Hola elgarbe, no quiero hablar de gusto, pero me parece haber visto esos joystick en Electrónica Laser en Rosario.

Con respecto a las baterías cualquiera de ambas sería apta, eso sí, creo que vas a necesitar por lo menos 2 para una sola silla.

Diego E., es lógico que te aparezca ese zumbido, para que desaparezca (al oído humado) debes de usar frecuencia superiores a los 20 KHz, de lo contrario, si no puedes usar frecuencia tan altas, pues debes de implementar un filtro LC muy bien calculado para filtrar la frecuencia específica de tu PWM.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #127 en: 24 de Marzo de 2015, 19:57:17 »
Hola elgarbe, no quiero hablar de gusto, pero me parece haber visto esos joystick en Electrónica Laser en Rosario.

Con respecto a las baterías cualquiera de ambas sería apta, eso sí, creo que vas a necesitar por lo menos 2 para una sola silla.

Diego E., es lógico que te aparezca ese zumbido, para que desaparezca (al oído humado) debes de usar frecuencia superiores a los 20 KHz, de lo contrario, si no puedes usar frecuencia tan altas, pues debes de implementar un filtro LC muy bien calculado para filtrar la frecuencia específica de tu PWM.

Un saludo.

Atte. CARLOS.



Ok, voy a llamar mañana.
Las baterías serán dos, efectivamente. He elegido motores de 24V para manejar menos corriente.


sds.
-
Leonardo Garberoglio

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #128 en: 24 de Marzo de 2015, 20:48:22 »
He elegido motores de 24V para manejar menos corriente.

Pero chispas más potentes  :D  :D  :D

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #129 en: 24 de Marzo de 2015, 21:48:14 »
jaja, tengo por costumbre (no se si mala o buena) balancear un poco la relacion Tension Corriente hacia el lado de aumentar la Tension. Si bien la potencia disipada por los diversos semiconductores del circuito será la misma, es mas facil manejar tensiones un poco mas grande a corrientes mas grandes. Entre 12V 16A por motor y 24V 8A, creo que es mas facil manejar 24V 8A, porque 24V es una tension sencilla y casi lo mismo que 12V en lo que al diseño se refiere. En cammbio pasar de 16A a 8A me parece un cambio significativo ya que las pistas son mucho mas chicas, los relés pueden ser mas chicos. Por supuesto que hay un limite. No usaría en este caso 48V por que se encarecería por el lado de las baterías y quizás sea un poco mas voluminoso, pero seguramente será mucho mas facil de manejar un sistema de 48V y 4A...

Saludos!
-
Leonardo Garberoglio

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #130 en: 24 de Marzo de 2015, 23:15:53 »
Hola elgarbe, en cierto grado claro que tienes razón, tensiones elevadas tampoco son fáciles de manejar, por supuesto 24V no es nada elevado, pero si ya pasáramos de, por ejemplo 400V, por más que ganemos en bajar la corriente, pues sería mucho más fácil manejar la corriente y no la tensión.

En este caso estoy completamente de acuerdo contigo, aparte, ninguna de las sillas que conozco trabajan con 12V, por algo debe de ser?! Verdad?  ;-)

Un saludo.

Atte. CARLOS.

Pda. Por lo general, la potencia disipada por los distintos componentes disminuye con la corriente (más en este caso), por lo que un mismo circuito, funcionado en 24V debería de ser más eficiente.

« Última modificación: 24 de Marzo de 2015, 23:18:24 por Chaly29 »
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #131 en: 28 de Marzo de 2015, 15:07:26 »
Hola elgarbe, muy bueno lo tuyo, estaré atento a tus avances, que hasta ahora me parecen muy buenos, felicitaciones!!!

Un saludo.

Atte. CARLOS.

Pda. las sillas profesionales no usan pulsador, usan potenciómetros configurados tipo joystick, de esta manera es posible controlar la velocidad de la rampa y esta no tiene que ser fija, comentario a forma de ampliación de proyecto  ;-)



Hola Chaly29, hoy ni siquiera usan potes.,  el modulo joistick, fue mejorando y lo que están logrando de obtener es eliminar las piesas rosantes(por decirlo de alguna manera), hoy un controlador chino utiliza sensores magneticos o efecto hall, por lo tanto no hay contacto entre transmisor y receptor (hablo de el modulo joistick, solamente), y así eliminaron los ya obsoletos potenciómetros, el único inconveniente que estos son mucho mas sensibles a interferencias electromagneticas, por lo tanto hay que tomar los recaudos pertinentes a la hora del desarrollo, recuerden que una silla de este tipo (motorizada) seria algo fatal si el usuario perdiera el control del equipo.



salu2 ;-).

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #132 en: 28 de Marzo de 2015, 15:13:18 »
Aun no lo he probado bien en los motores, pero esta configurado a 3KHz mas o menos. Es algo que tengo que probar.

Saludos

El garbe es muy baja esa frecuencia lo aconsejable, o lo que eh visto en sillas comerciales de 20 a 33 Khz, hablando de motores de 24VCC que logran una autonomía de 6k/h. 300W por motor.

Saludos.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #133 en: 28 de Marzo de 2015, 21:47:22 »
Hola cicloide2, por supuesto hay mejores opciones que los simples potenciómetros, pero esta es la fase inicial de un proyecto, realizado por estudiantes y sin saber si llegará al mercado. Aparte estamos en Argentina, un país donde importar algo es muy costoso y complicado, y donde conseguir algo como lo que mencionas no es nada sencillo, casi rondando lo imposible, ya conseguir el que usa potenciómetros es complicado.

Por lo tanto y teniendo en cuenta todo lo anterior, pues se opta por lo que se tiene o se puede llegar a tener.

Con respecto a lo de la frecuencia del PWM, pues esa frecuencia baja, lo único que tiene de desventaja es que puede llegar a escucharse el zumbido en los motores, y por eso el uso de frecuencias altas, pero por lo demás incluso te puedo llegar a decir que tiene beneficios, ya que una frecuencia más alta produce mayores perdidas de potencia en el sector de los mosfet.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Puente H con Mosfet y Relé - Silla de ruedas eléctrica
« Respuesta #134 en: 28 de Marzo de 2015, 22:25:16 »
Con respecto a lo de la frecuencia del PWM, pues esa frecuencia baja, lo único que tiene de desventaja es que puede llegar a escucharse el zumbido en los motores, y por eso el uso de frecuencias altas, pero por lo demás incluso te puedo llegar a decir que tiene beneficios, ya que una frecuencia más alta produce mayores perdidas de potencia en el sector de los mosfet.

Es por eso que arranco con una frecuencia baja, para no exigir a los drive de los mosfet. Si algo falla, se calienta o no funciona, no va a ser por una alta frecuencia del PWM. A medida que vallamos consiguiendo que funcione iremos aumentando la frecuancia para evitar el zumbido (si es que aparece)...

Saludos!
-
Leonardo Garberoglio


 

anything