You are on page 1of 36

Control de avance al encendido

Diseo de microcontroladores

Proyecto final

Profesor: Alumno:

Ing. Jos Juarez Kikot Pablo

Informe proyecto encendido electrnico

INDICE
Introduccin

_
3

Funcionamiento bsico de un motor

Encendido tradicional

Desarrollo proyecto

Diagrama en bloques

Descripcin y funcionamiento (hardware)

11

Simulacin y conclusin

14

Apndice 1(clculos realizados)

17

Apndice 2 (Programacin del PIC)

25

Apndice 3 (datos importantes del microcontrolador utilizado)

31 2

Informe proyecto encendido electrnico

Introduccin: El propsito de este proyecto es controlar un sistema de encendido (avance o retardo en la chispa) de un motor de combustin interna de 4 cilindros para su ptimo funcionamiento independientemente del combustible utilizado (GNC o NAFTA). Este avance o retardo ser dependiente de las rpm (revoluciones por minuto) del motor. Adems este encendido contara con un corte elctrico en el caso de que el motor este funcionando a un rgimen muy alto de revoluciones, lo cual es muy peligroso para la vida til del mismo. Para lograr los objetivos se usara un PIC16F877A, que ser quien realice los clculos y comandar una etapa de potencia que a la ves manejara el sistema de alta tensin del automvil.

Informe proyecto encendido electrnico

Funcionamiento de un motor: En la siguiente figura se observa cada uno de los 4 tiempos de funcionamiento de un motor.

Como se observa la chispa que produce la explosin se da en el 3er tiempo Y es muy importante que se de en el momento justo, de esta forma aprovechando al mximo las propiedades explosivas del combustible. El encargado de que esta chispa se produzca en el momento preciso es el sistema de encendido. Sistema de encendido (tradicional): Bsicamente el circuito de encendido utilizado en los motores de gasolina, es el encargado de hacer saltar una chispa elctrica en el interior de los cilindros, para provocar la combustin de la mezcla aire-gasolina en el momento oportuno manejado por el ruptor. La encargada de generar una alta tensin para provocar la chispa elctrica es "la bobina". La bobina es un transformador que convierte la tensin de batera 12 V. en una alta tensin del orden de 12.000V a 15.000V. Una vez generada esta alta tensin necesitamos un elemento que la distribuya a cada uno de los cilindros en el momento oportuno, teniendo en cuenta que los motores poli cilndricos trabajan en un ciclo de funcionamiento con un orden de explosiones determinado para cada cilindro (ejemplo: motor de 4 cilindros orden de encendido: 1-3-4-2). El elemento que se encarga de distribuir la alta tensin es el "distribuidor o delco". La alta tensin para provocar la chispa elctrica en el interior de cada uno de los cilindros necesita de un elemento que es "la buja", hay tantas bujas como numero de cilindros tiene el motor 4

Informe proyecto encendido electrnico

Encendido tradicional

El problema de usar distintos tipos de combustible: En teora la chispa de encendido en un motor debe saltar cuando el cilindro llega al p.m.s. (punto muerto superior) en el final de la carrera de compresin, pero esto no pasa en la realidad, ya que, desde que salta la chispa hasta que se produce la combustin de la mezcla pasa un tiempo, este tiempo que pasa al producirse la combustin varia en cada tipo de combustible por ejemplo el GNC tiene un poder de explosin mucho menor que la nafta, lo que llevara mayor tiempo para que se produzca dicha combustin. Si esta prdida de tiempo no la corregimos el motor bajara sus prestaciones (perdida de potencia). Ah es donde entra en juego la correccin de avance o atraso del encendido. Si se esa usando GNC en un motor la chispa de la buja tendra que producirse un momento antes (avance) para compensar el tiempo que le lleva la combustin.

Informe proyecto encendido electrnico

Desarrollo del proyecto: Como ya se menciono anteriormente, al utilizar un combustible con poder explosivo distinto al tradicional, hay que corregir la puesta a punto del motor, esto se logra atrasando o avanzando el sistema de encendido (distribuidor). La siguiente imagen es de un distribuidor convencional.

Un avance o atraso de un distribuidor fsicamente significa girarlo en sentido horario o anti-horario, de esta forma el rotor ara contacto con la buja un momento antes o despus del pms. A continuacin representaremos un avance fsico de un distribuidor.

Informe proyecto encendido electrnico

Este proyecto simula un atraso fsico del distribuidor, mientras el mismo se encuentra funcionando con nafta, mediante una entrada del microcontrolador se dar aviso para que se implemente el retardo. Dentro del distribuidor se encuentra el platino (es una llave accionada por medio de una leva) a travs del mismo se medirn las RPMs del motor, por medio de un capturador (que produce una interrupcin en el microcontrolador).
12V bateria

R1
1k

PLATINO
Entrada UC

R2
1k

En el momento que se recibe un impulso el controlador calculara el retardo necesario para generar la chispa en funcin de las RPM del motor este retardo deber ser menor en un motor funcionando con GNC, ya que este combustible tardara mas en hacer dicha combustin. Adems contara con un limitador de rpm para seguridad del motor.

Informe proyecto encendido electrnico

En el siguiente esquema se observa en que parte del circuito estar funcionando el controlador.

Entradas a utilizar: *_ Capturador de pulsos (producir una interrupcin) *_ Selector nafta/GNC Salidas a utilizar: *_ Pulsos para manejo de la bobina (comando para la etapa de potencia) *_ Indicador de limite de RPM *_Indicador modo nafta/GNC

Informe proyecto encendido electrnico

Diagrama en bloques:

Generador pulsos

Interfase I/O Interfase I/O Rutina de control

Modo selector

Bobina

Indicador modo nafta/GNC

Indicador limite rpm

Curva de retardo: La siguiente curva de retardo se logro realizando clculos que se pueden observar en el apndice 1. Equivale a un atraso de 20 grados (en teora estos veinte grados son la correccin lgica para funcionar en nafta) en el distribuidor.

Informe proyecto encendido electrnico

Para un rgimen de giro menor a las 500 rpm el retardo se mantiene en 8ms, de otra forma esta curva tendera al infinito, para regimenes mayores a 6000 rpm el microcontrolador cesara el envo de pulsos a la etapa de potencia de esta forma no se producirn explosiones y el motor disminuir su rgimen de giro, protegiendo de esta forma al mismo.

10

Informe proyecto encendido electrnico

Descripcin placas: Principal: El microcontrolador usado fue el PIC16F877A puesto que ya contaba con uno en m poder, de todas formas dado a la poca cantidad de entradas y salidas utilizadas se podra usar el 16F84 (que es de los ms simples de la familia), con unas mnimas reformas en el programa ya que este no cuenta con capturadores de entrada. El datasheet del 16F877A se encuentra en el apndice 3

A continuacin una imagen a modo ilustrativo de lo que es la placa en la que esta montado el PIC.

11

Informe proyecto encendido electrnico

Funcionamiento: Selector NAFA/GNC: ante un nivel alto en esta entrada se indica que el motor esta funcionando con GNC, por lo tanto no se implementa la rutina de retardo, (es como darle mas avance al encendido), en nivel bajo el motor funciona a NAFTA y el microcontrolador calcula el retardo a la salida. Entrada pulsos platino: el platino es una llave que cuando abre tendr tensin en la entrada, en el caso de que sierre pondr esta entrada a masa, cuando el motor se encuentra en funcionamiento tendr algo parecido a una onda cuadrada con una frecuencia que varia con las RPMs del motor. Estos pulsos entran por RC2/CCP1 que es un capturador de entrada. Salida etapa de potencia: salida de pulsos (con retardo o no) que manejara la etapa de potencia, que a su vez disparara la bobina para tener la buscada chispa en cada cilindro

12

Informe proyecto encendido electrnico

Etapa de potencia: Esta etapa se usa bsicamente para disparar la bobina del auto por la cual circula una corriente de 3 amperes aproximadamente. Debido a la imposibilidad del PIC de manejar esa corriente se hace con esta etapa de potencia. El PIC dispara un transistor que a la ves dispara otro transistor (arreglo darlington) preparado para manejar mas potencia.

Placa etapa de potencia

13

Informe proyecto encendido electrnico

Simulacin: Las siguientes imgenes son una simulacin del funcionamiento del PIC. En el canal A tenemos los pulsos provenientes del platino, con los que se miden el rgimen de giro del motor y adems produce la interrupcin para mandar la chispa al cilindro. En el canal C observamos la salida del micro controlador que comanda la etapa de potencia.

Motor girando a 1200 RPM lo que equivale a 40 Hz (por los clculos del apndice 1) se observa el retardo en la salida.

14

Informe proyecto encendido electrnico

Motor girando a 6000 RPM (200 Hz) se observa que el pic no enva mas pulsos a la etapa de potencia (corte de seguridad).

15

Informe proyecto encendido electrnico

Conclusiones:

La decisin de realizar este proyecto, se tomo antes de comenzar a cursar la materia diseo de microcontroladores, sin tener conocimiento de la forma de trabajo y programacin de un microcontrolador. Con todas las dudas que surgan en ese momento pareca ser un proyecto difcil de realizar. Una vez cursada la materia y comenzando a trabajar en el mismo, no resulto tener la complejidad que en un primer momento supona. La idea es seguir desarrollando este proyecto controlando ms variables y sumarle un display entre otras cosas, ya que el problema de la puesta a punto de un automvil que funciona con GNC es real y muy evidente. Por problemas con la etapa de potencia no se pudo hacer funcionar dentro del automvil (luego de quemar varios transistores probando), pero eso ya es un problema de electrnica que lamentablemente me faltan conocimientos para solucionarlo, de todas formas seguir desarrollando le mismo hasta lograr tenerlo funcionando.

16

Informe proyecto encendido electrnico

APENDICE 1

Para calcular la frecuencia en la que vamos a estar trabajando primero tenemos que saber que un motor 4 tiempos de un cilindro hace una explosin cada dos vueltas del cigeal, por lo tanto si pensamos en un motor de 4 cilindros tendremos 2 chispas por vuelta del motor. F=(2xRPM)/60s Nos da el siguiente grafico: Grafico 1

El siguiente paso es calcular que retardo significa un movimiento de 20 grados del distribuidor (que es una pieza que gira por lo tanto estamos hablando de velocidad angular). En el siguiente grafico observamos que estamos hablando de una velocidad angular.

17

Informe proyecto encendido electrnico

Primer calculamos el retardo en funcion de las RPM: RPM-----------60s 20/360---------xs(retardo) Retardo=3.333/RPM Si lo graficamos nos da la siguiente curva: Grafico2

Como vamos a trabajar con frecuencia calcularemos el retardo en funcin de la frecuencia: Retardo=3.333/RPM RPM=(f*60)/2

18

Informe proyecto encendido electrnico

Retardo=(3.33*2)/(f*60) Obtenemos otra curva: Grafico 3

Ahora procederemos a calcular con el micro frecuencia de la seal que proviene del distribuidor para luego poder calcular el retardo. Es muy importante saber con que cristal trabajara el micro controlador (en este proyecto se usara un cristal de 20Mhz) tambin es importante saber que el PIC dispone de un preescalador para poder manejar el tiempo de incremento del timer. Con un preescalado de 1 el timer se incrementara cada Fosc/4, en nuestro caso el preescalador se usara en 1/8 por lo tanto el timer se incrementara cada Fosc/(4*8). Luego de hacer estos clculos pasaremos a hablar de retardo en funcin del nuecero de cuentas que realizo el timer. Fcristal/4*8=frecuencia de incrementacion de timer (la inversa de este resultado nos dar cada cuanto tiempo se incrementa) 20exp6/(4*8)=625khz 1/625 khz=1.6 us Si sabemos que P(periodo)=1/f, si dividimos el P de la seal entrante por el P del timer obtendremos el numero de cuentas en funcin de la frecuencia de entrada. Pplat/Ptim=(1/f)/1,6 us=N cuentas timer

19

Informe proyecto encendido electrnico

Nos da el siguiente grafico:

Grafico 4

Ahora buscaremos el grafico de retardo en funcin del nmero de cuentas. Retardo=(3.33*2)/(f*60)=0.1111/f Numero de cuentas=1/(1.6us*f) Ret=0.1111*1.6us*numero de cuentas Ret=0.177776us * numero de cuentas

20

Informe proyecto encendido electrnico

Con lo que finalmente llegamos a un resultado lineal: Grafico 5

Rutina de retardo en un micro: La siguiente es una rutina de dos ciclos anidados para generar un retardo

pau rep1 rep2

MOVLW MOVWF MOVLW MOVWF DECFSZ GOTO DECFSZ GOTO

N cont1 M cont2 cont2,1 rep2 cont1,1 rep1

;(1) Carga dato N ;(1) inicializa contador1 ciclo externo ;(1) Carga dato M ;(1) inicializa contador2 ciclo interno ;(1,2)Decrementa contador2 y escapa si cero ;(2) si no es cero, repite ciclo interno ;(1,2)Decrementa contador1 y escapa si cero ;(2) si no es cero repite ciclo externo

La duracin de esa rutina ser de: T=[N*(3*M+4)+7]Tcy Tcy=(1/20e6)*4= 0.2us

21

Informe proyecto encendido electrnico

Para manejar solo una variable al generar el retardo se le da el valor 255 a la variable M, de esta forma se esa discretizando el retardo generado por la rutina, lo que producir un error mximo de 0.15ms que se puede despreciar. As la rutina de retardo ser:

T=(N*769+7)*Tcy Ahora se puede relacionar el numero de cuentas con el numero N. Ret=0.177776us * numero de cuentas Ret =(N*769+7)*Tcy N={[(0.177776us * numero de cuentas) / Tcy]-7} / 769 Lo que nos da el siguiente grafico: Grafico 6

Dado que el microcontrolador dispone de muy pocas instrucciones y este clculo de retardo se hace entre chispa y chispa del motor hay que hacerlo lo ms rpido posible hay que hacer varias aproximaciones y algunos trminos que no tienen mucho peso sobre el resultado final podrn ser obviados:

22

Informe proyecto encendido electrnico

Timer: el timer que se uso en este proyecto es de 16 bits. Una de las aproximaciones ser usar solo la parte alta del mismo. Variable N: si desarrollamos el calculo de N={[(0.177776us * numero de cuentas) / Tcy]-7} / 769 Llegamos a que , N= 1.156e-3 *numero de cuentas 0.0091 Ya que N es un nmero entero el numero 0.0091 puede ser obviado, una buena aproximacin de la ecuacin anterior podra ser: N=numero de cuentas/800 Con todas estas aproximaciones llegamos a la curva final de retardo en funcin de RPM: Grafico 7

23

Informe proyecto encendido electrnico

El siguiente grafico muestra el error total del clculo de retardo, relacionando el grafico 2 con el grafico 7. Error(RPM)=retardo(RPM)-retardodiscretizado(RPM) Grafico 8

24

Informe proyecto encendido electrnico

APENDICE 2

Diagrama de flujo del programa: El programa principal solo espera que ocurra una interrupcin por captura de entrada. El siguiente diagrama de flujos describe lo que ocurre en la interrupcin.

25

Informe proyecto encendido electrnico

26

Informe proyecto encendido electrnico

Programa para encendido electrnico: En esta primer parte se declaran variables y configuran puertos y algunos mdulos. RC2/CCP1: se configura como entrada T1CON: configura el timer 1 como temporizador preescalado 1/8. CCP1CON: se lo configura para captura en flanco descendente. INTCON: se habilitan interrupciones de perifricos.

;*************************************************************************** ;************Alumno: Pablo Kikot********************************************* ;************proyecto: Retardo elecronico encendido para motores con GNC************ ;*************************************************************************** Include "p16f877.inc" msnib EQU 0x20 lsnib EQU 0x21 STATUS_temp EQU 0x40 W_temp EQU 0x41 cont1 EQU 0x25 cont2 EQU 0x26 num1 EQU 0x27 num2 EQU 0x28 N EQU 0x29 cuenta EQU 0x30 limrpm EQU 0x31 M EQU 0x32 org 0x0000 ;inicia con un reset GOTO Inc org 0x0004 ;vector de interrupcin GOTO interr ;salta a la rutina de atencin a la interrupcin inic BSF STATUS,RP0 ;Banco1 BCF TRISC,0 ;patita RC0 como salida BCF TRISB,0 ;patita RB0 como salida BSF TRISB,1 ;patita RB1 como entrada BSF TRISC,2 ;patita RC2/CCP1 como entrada BCF STATUS,RP0 ;Banco 0 MOVLW 0x31 MOVWF T1CON ;Configura Timer1 modo temporizador, preesc 1/8 CLRF TMR1H ;Inicializa en cero el timer 1 CLRF TMR1L ; CLRF CCP1CON ;limpia latch de CCP1 BSF CCP1CON,CCP1M2 ;Habilita CCP1 para captura en transicin bajada BCF PIR1,CCP1IF ;limpia bandera de interrupcin. BSF STATUS,RP0 ;banco 1 BSF PIE1,CCP1IE ;Habilita interrupciones del CCP1 BCF STATUS,RP0 ;banco 0 BSF INTCON,PEIE ;habilita interrupciones de perifricos BSF INTCON,GIE ;Habilita interrupciones globales

27

Informe proyecto encendido electrnico

El programa principal se encuentra esperando una interrupcin, no realiza ningn trabajo.


;** Programa principal:**************************************************************************** main GOTO main ;repite

Rutina de interrupcin:

En el momento que se produce una interrupcin lo primero que hace es chequear que sea una interrupcin por el capturador CCP1 (mira el flag CCP1F), si no es as sale de la interrupcin. Si la interrupcin fue por captura, guarda en la variable cuenta la parte alta del contador (ya que es de 16 bits), luego lo compara con un valor predeterminado para ver si se pas del lmite de RPM. En caso de pasarse de RPM sale de la interrupcin (no hay pulso de salida en el puerto C,0). En el caso de no exceder las RPM, compara que no este por encima de las 5200 RPM ni por debajo de las 500RPM (si se encuentra en uno de estos extremos el retardo ser fijo de 0.6mseg y 7.9mseg respectivamente). Una vez que chequeo que esta dentro del rango de 500-5200RPM, pasa a la subrutina donde calcula el retardo para el nmero de cuentas capturado. Por ultimo, una vez que se conoce el tiempo que hay que esperar, salta a una subrutina donde espera el tiempo dado, para luego mandar el pulso de salida por el puerto C ,0 y as volver de la interrupcin y esperar a la nueva captura.

28

Informe proyecto encendido electrnico

;***** rutina de atencin a la interrupcin********************************************************************** interr BCF STATUS,RP0 ;banco 0 ;MOVWF W_temp ;salva contexto SWAPF STATUS,W CLRF STATUS MOVWF STATUS_temp BTFSS PIR1,CCP1IF ;miro bandera de captura de evento GOTO ret ;si no es bandera de captura retorna BCF PIR1,CCP1IF ;si es bandera de captura, la limpia clrw clrf cuenta MOVF CCPR1H,W ;copia periodo capturado MOVWF cuenta ;copio el periodo para luego calcular retardo CLRF TMR1L ;limpia la cuenta del timer 1 CLRF TMR1H movf cuenta,W ;***ac miro limite de RPM (6000rpm=200hz)***** SUBLW 0x0C ;resto a p. alta del p..RPM=30/(TMR1H*1.6 useg) BTFSC STATUS,0 ;me fijo si la cuenta anterior dio negativo goto ret ;se paso de rpm no tiro chispa BTFSC PORTB,1 ;****miro si esta en cero entrada RB1******** GOTO GNC ;si es uno salto a GNC (no uso retardo) movlw 0xff ;en este programa num1 siempre vale ff movwf num1 movlw 0x0E ;****miro si esta en el limite superior de retardo**** SUBWF cuenta,0 ;le resto x a la parte alta del periodo capturado BTFSC STATUS,0 ;me fijo si la cuenta anterior dio negativo escapa si =0 goto aaa ;si da negativono estoy en el limite movlw 0x03 ;si da positivo ret=0.6mseg MOVWF num2 MOVWF cont2 goto na aaa movlw 0x95 ; **miro si esta en el limite inferior de retardo******* SUBWF cuenta,0 ;le resto x a la parte alta del periodo capturado BTFSS STATUS,0 ;miro si dio negativo escapa si=1 goto no ;si da positivo calc ret movlw 0x33 ;negativo...re mximo=7.9mseg MOVWF num2 MOVWF cont2 GOTO na no CALL retardo ;****subrutina donde calculo retardo************ na CALL pausa ;****implemento retardo calculado************* GNC BCF PORTC,0 ;salida= CHISPA CALL pau ;duracin de la chispa(1.5 mseg) BSF PORTC,0 ;corto salida ret BCF STATUS,RP0 ;Banco 0 SWAPF STATUS_temp,W ;restablece contexto MOVWF STATUS SWAPF W_temp,F SWAPF W_temp,W RETFIE ;************************************************************ ;****** Subrutina de pausa de aprox. 30 seg (con Fosc=20 MHZ)****** ;************************************************************ pausa MOVF num2,W ;Cargo en cont2 el numero de ciclos MOVWF cont2 ;secundarios guardados en num2 rep1 MOVF num1,W ;Cargo en cont1 el numero de ciclos MOVWF cont1 ;primarios guardados en num1 rep2 DECFSZ cont1,1 ;Decrementa contador 1 y escapa si cero GOTO rep2 ;si no es cero, repite ciclo interno DECFSZ cont2,1 ;Decrementa contador 2 y escapa si cero GOTO rep1 ;si no es cero repite ciclo externo RETURN ;regresa de esta subrutina

29

Informe proyecto encendido electrnico

;************************************************************************************************ ;********************** Subrutina de pausa de aprox. 150 seg (con Fosc=20 MHZ)************************* ;************************************************************************************************ pau MOVLW 0X0A MOVWF M ciclo1 MOVLW 0xFF ;Cargo en cont2 el numero de ciclos MOVWF N ;secundarios guardados en num2 ciclo DECFSZ N,1 ;Decrementa contador2 y escapa si cero GOTO ciclo ;si no es cero, repite ciclo interno DECFSZ M,1 GOTO ciclo1 RETURN ;regresa de esta subrutina ;************************************************************************************************ ;*************En esta rutina calculo el retardo de acuerdo a las rpm que esta giirando el motor******************* ;************************************************************************************************ retardo clrw CLRF num2 bcf STATUS,0 INCF num2,1 movf cuenta,W BTFSS STATUS,0 ;me fijo si la cuenta anterior dio negativo goto cic movlw 0x03 neg SUBWF cuenta,1 ;le resto 03 a cuenta escapa si es cero BTFSS STATUS,0 ;me fijo si la cuenta anterior dio negativo goto cic INCF num2,1 goto neg cic movlw 0x03 bcf STATUS,0 SUBWF cuenta,1 ;le resto 03 a cuenta escapa si es cero BTFSS STATUS,0 ;me fijo si la cuenta anterior dio negativo GOTO listo INCF num2,1 GOTO cic listo BSF STATUS,RP0 clrf STATUS RETURN End

30

Informe proyecto encendido electrnico

APENDICE 3 Algunos datos importantes del PIC16F877:

31

Informe proyecto encendido electrnico

32

Informe proyecto encendido electrnico

33

Informe proyecto encendido electrnico

34

Informe proyecto encendido electrnico

35

Informe proyecto encendido electrnico

Toda la informacin referida al microcontrolador PIC16F877A, y su respectivo datasheet fue obtenido de la pgina del fabricante: http://www.microchip.com

Los grficos que describen el funcionamiento de un motor fueron obtenidos de la pgina: http://blogingenieria.com/ingenieria-mecanica/interior-cilindro-motorgasolina/ Sobre como realizar un proyecto en un pic:

Autores:

Enrique Palacios. Fernando Ramiro. Lucas Lpez.

36

You might also like