TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: manutek en 16 de Abril de 2008, 00:20:47
-
hola a todos.Tengo un semi-desarrollo y necesitaría si alguien puede ayudarme para este proyecto estoy usando en este momento el sensor hall de la base del distribuidor como única entrada de datos y una salida para los pulsos de la bobina (me faltan los cálculos ideales del avance para el aumento de rpm), pienso implementarlo con mas entradas (presión de colector, mariposa, botón de encendido)
Y salidas (inyector y motor paso a paso) bue, en fin. La pregunta es si alguien puede ayudarme, dándome las formulas matemáticas de todo o en parte.
Gracias.
-
Hola manutek, entonces por eso estabas interesado en el control PID cierto? ó estoy equivocado :wink:? bueno yo estoy trabajando en el control de posición de las articulaciones de un brazo robot, así como elmasvital, mañana le haré unas pruebas porque e estado escribiendo estos días (es mi tesis), más que todo el acelerado y el frenado, a la final creo que voy a implementar es un perfil de velocidad de forma trapezoidal, algo así como que empieza con aceleración constante hasta llegar a una velocidad constante y luego desacelerar hasta llegar a la posición deseada, te adjunto una imagen para que te des una idea:
(http://img522.imageshack.us/img522/9352/trayectoriatrapezoidalwr4.png)
La saqué del último artículo que conseguí, ellos implementan un pid, pero yo nop, cuando termine de hacer las pruebas y todo salga bien, pienso publicarlo.
Saludos.
-
Así es en parte guillo,al PID lo pienso usar en un futuro para el ralenti(regulando el paso a paso) , pero necesito por lo menos ahora los cálculos para el avance, de un motor a explosión, por que hasta ahora el PIC esta funcionando en mi auto pero ,con valores empíricos ,que desde ase dos semanas vengo probando .
Este fin de semana publico el código, diagramas y fotos a ver si motivo a alguien a darme una mano :)
-
Hola
interesante tu proyecto como desarrollo para una ecu alternativa
tu idea es desarrollar esta para competicion o modo educativa?
otra pregunta estimado haz desarrollado algo para ODBD II?
-
El control de la inyección de los motores se controla mediante una tabla multidimensional que relaciona las entradas con las salidas, de tal forma que para los parámetros de entrada (velocidad, presión, temperatura, profundidad del acelerador, revoluciones, etc) determina que valores darle a las salidas (inyección, aire, etc).
Un saludo
-
Hola
interesante tu proyecto como desarrollo para una ecu alternativa
tu idea es desarrollar esta para competicion o modo educativa?
otra pregunta estimado haz desarrollado algo para ODBD II?
Te comento un poco de la triste historia de el pobre corsita, En el 2001 se lo robaron a mi mama (que de pedo no le han pegado un tiro) y lo encontró el seguro(echo re torta, le robaron de todo entre ello la ECU) el seguro pago como piezas faltantes(*”1ª#|@!) bue le convenía comprar otro y yo (y en parte el mecánico)desde entonces lo fui armando como pude, por parte del obcd tengo algunos artículos que salieron en elector si quieres el finde te lo paso amigo.
El control de la inyección de los motores se controla mediante una tabla multidimensional que relaciona las entradas con las salidas, de tal forma que para los parámetros de entrada (velocidad, presión, temperatura, profundidad del acelerador, revoluciones, etc) determina que valores darle a las salidas (inyección, aire, etc).
Un saludo
hola jfh900,Si te refieres al famoso grafico 3d que ponen para explicar un avance de un motor moderno, se supone que fue echo con las entradas que mencionas y una función matemática.
Muchas gracias por responder y no hacerme ver como que estoy solo en estas cosas
-
Manutek, ¿y no has considerado comprar una ECU usada en un desguace?
-
yo la verdad nunca usaria diseños de mi cosecha para cosas tan serias como un coche... que como falle por cualquier causa, ay de mi...
-
Manutek, ¿y no has considerado comprar una ECU usada en un desguace?
Si así es nocturno, peeero le pienso agregar modos de funcionamiento(a futuro) econo, básico (funcionamiento aunque tenga problemas con sensores) y deportivo e implementar la inyección a gas, monitores de combustión y demases ,múltiple spark etc.,
yo la verdad nunca usaria diseños de mi cosecha para cosas tan serias como un coche... que como falle por cualquier causa, ay de mi...
Bueno, no soy un temerario loco, cada cosa que ago, agoto en lo que den mis posibilidades los recursos de mis conocimientos prácticos, cuando no conozco algún tema investigo antes de aplicarlo.
Por eso estoy pidiendo por lo menos, alguna info. sobre los algoritmos del avance
Gracias por responder muchachos
-
algunas imagenes del corsa
(http://img132.imageshack.us/img132/7620/p1020786gu7.jpg)(http://img519.imageshack.us/img519/5541/p1020789cx5.jpg)
(http://img230.imageshack.us/img230/4817/p1020787wm7.jpg)
-
Acá se ve el cable del hall en el distribuidor ,mas al fondo se ve la bovina con su drive
agarrado al soporte de la bobina
(http://img297.imageshack.us/img297/3153/p1020788oj2.jpg)
-
algunas imagenes del corsa
(http://img132.imageshack.us/img132/7620/p1020786gu7.jpg)
Y yo que creía que mi Corsa vivia sucio.....ja ja ja ja!
Adelante con el proyecto, que tiene buena pinta!
-
(http://img59.imageshack.us/img59/5331/distrifullgg6.gif)
La flecha gris da la dirección de giro
La verde la posición del hall
La rosada máximo avance
La azul mínimo avance
Las flechitas amarillas muestran las muescas de la posición del distribuidor yo lo moví a la posición de
Máximo avance para darle un delay en bajas revoluciones y sin delay en altas revoluciones
-
En cada fábrica que fui me lo apodaban diferentes:
El auto de piñón fijo
Manumovil
El alambique velos
El troncosvagen
Simulacro de corsa
Infinidades que no me acuerdo :D pero puedo decir como punto a favor que el motor es un caño!
-
Esquemas de Hall(no el increible)y bovina
(http://img205.imageshack.us/img205/4285/p1020793plusdb3.gif)(http://img228.imageshack.us/img228/4435/p1020792wy2.jpg)
Este es el código(es bien venida algún comentario de programación)
#include <pic.h>
#include "lcd3pin.c"
#define PBIT(adr, bit) ((unsigned)(&adr)*8+(bit))
static bit hall @ PBIT(PORTB, 6); //sensor del distribuidor
unsigned int i;
unsigned int t;
unsigned int ton;
unsigned int toff;
unsigned int ciclos;
unsigned int tmaxavance;
unsigned int avance;
unsigned char acel;
void ready(void)
{
LCD_FunctionMode();
LCD_Write_4_Bit(set_dd_line1);
LCD_DataMode();
WriteLCDString(" cpu alistada! "); //por lo menos funciona
LCD_SEL=0;
dtran(lcd);
}
void visucont(void)
{
LCD_FunctionMode( );
LCD_Write_4_Bit(0xC9);
LCD_DataMode();
LcdWriteInt(ton);
LCD_SEL=0;
dtran(lcd);
}
//---------------------------------------------------------------------------------------
main()
{
PR2=0xFF;
T2CON=0x06;
CCP1CON=0x0C; //para desactibar el pwm CCP1CON=0x00
// CCP1CON=0x00;
CCP1X=1;
CCP1Y=1;
PORTA = 0x00;
CMCON = 0x07;
VRCON = 0x00;
OPTION =0xDF ;
T1CON=0B00000111;
TRISA = 0B00000000;
PORTA = 0B00000000;
TRISB = 0B01000000;
PORTB = 0x00;
ciclos=1000;
CCP1X=0;
CCP1Y=0;
CCPR1L=0;//es el valor del % de PWM
GIE=0;
LCD_Setup();
ready();
ton=40000;
while(1)
{
if(hall)
{
if(ton<1000 && ciclos<10) //cuando el motor tiene altos regimenes de rpm
{
CCPR1L=255; //y el nucleo de la bobina pueda saturarse bien
}
else
{
CCPR1L=0;
}
ton=0;
while(hall) //sector de deteccion de rpms
{
ton++;
}
if(ton<40000 && ciclos>980) // para el arranque en extremo frio en gas
{
ton=40000;
}
toff=(ton/2); //la relacion entre el ton y toff es la mitad
tmaxavance=((toff/14)*10); //defino un % para el maximo avance
avance=tmaxavance;
ciclos--;
if(ciclos<10) //en relacion a las rpm(deducidas de ton) corrijo
{ //el avance empiricamente
ciclos=9;
if(ton<10000)
{
avance=2900;
}
if(ton<9000)
{
avance=2600;
}
if(ton<8000)
{
avance=2400;
}
if(ton<7000)
{
avance=2200;
}
if(ton<6000)
{
avance=1800;
}
if(ton<5000)
{
avance=1300;
}
if(ton<4000)
{
avance=1000;
}
if(ton<3000)
{
avance=700;
}
if(ton<2000)
{
avance=200;
}
if(ton<1000)
{
avance=70;
}
}
CCPR1L=255; //esta parte considero como un 1 en RB3
//es desir bobina1 ;pensaba aplicar PWM
//pero en 1Khz no se puede saturar bien
//el nucleo de la bovina
while(avance) //retardo para el toff
{
avance--;
}
CCPR1L=0; //chispa
//visucont(); //rutina para tener una idea aprox de
//la variable ton y otros
}
}
}
-
hola compañero,te paso esta web donde a lo mejor te dan mas info sobre estos motores,pese a ke es de daewoo,los motores son los mismos.
www.daewootech.com
-
Hola Manutek, felicitaciones por tu emprendimiento. En el seminario algo me hablaste de tu proyecto y cuando me nombraste ECU pense que era algo referido a un ecualizador....jajajaj :mrgreen:....no sabia que las maquinitas estas se llamaban así. No se bien que es lo que buscas en cuanto a ecuaciones:
-ecuaciones ya hechas (de fabrica u otra persona )
-o queres armar ecuaciones en base a datos empiricos.
En lo primero no creo poder ayudarte, pero sí en lo segundo, me he morfado unas cuantas materias de matematicas en la facu, habria que ver nomas.
Bueno Manutek, espero se te haya pasado la curda, (jajaja...estabas mal en la foto del seminario!!!)
Saludos.
Maritov (Mario)
-
Hola buenos dias (Soy de venezuela actualmente son las 10:30 am).
Tengo un sensor de este tipo (Hall de posicion del cigueñal del corsa), pero lo voy a utilizar para sensar el flujo de un liquido en un medidor de desplazamiento positivo. Quisiera saber ¿Como conectaste este sensor al PIC? he probado varias conexiones y tambien he trabajado con 5v y 12v pero no tengo pulsos a la salida del sensor. ¿Este sensor es tipo sinking o sourcing? probe la conexion que tienes (tal cual como la dibujaste) y conecto el tester entre los terminales 2 y 3 y siempre tengo 12v en la salida con o sin material metalico presentado al sensor.
Espero me puedan ayudar, muchas gracias por la ayuda que me puedan prestar.
Saludos.
-
Hola, interesante proyecto te estás mandando :), para lo que tenés en mente podrias echarle un ojo al proyecto MegaSquirt (www.megasquirt.info), es una ECU programable totalmente Open Source.
-
Hola joycer182
El sensor al que vos te estas refiriendo es al que esta en el volante del cigüeñal? O esta en la punta del árbol de levas?
En los corsa hay dos modelos ,Si es el del cigüeñal es un pick up ,y si esta en las levas en hall drenador