Necesito si alguien me pudiera confirmar una idea para desarrollar en un proyecto de adquisicion de datos de motores a explosion.
Mi pregunta no es sencilla, por lo tanto intentare detallar lo mejor posible cual es el problema.
Cualquier acotacion q ayude, ademas de lo que voy a explicar, y sin ningun tipo de compromiso, sera bienvenida.
Basicamente usando un 16f877A y con un programa en Pic basic pro se leen los datos de presion y temperatura en admision, cilindro y escape,
en motores de dos y cuatro tiempos, por cada grado de giro. Por lo tanto se toman 360 muestras en 2T o 720 en 4T
Para la referencia se usa un encoder acoplado al cigüeñal del motor.
Es decir: cuando el encoder pasa por el Punto Muerto Inferior (PMI) envia la señal de inicio al micro, y se toma la primera muestra, que debe realizarse
en un tiempo "X" que tarda el cigueñal en girar un grado. Segun las RPM "utiles" del motor, variables a voluntad, este tiempo "X"puede variar entre 10 a 90 microsegundos. Luego se toma la segunda muestra, en la siguiente vuelta, pero esta vez se "demora" el tiempo "X", desde que el encoder da el inicio, ya que la primera muestra ya se tomo, y luego se realiza la lectura. Y asi sucesivamente se va sumando tiempos "X" de demora antes de leer el canal de la señal para entrar en fase con la correspondiente presion y/o temperatura por cada grado, hasta completar las 360 o 720 muestras.
Ya conozco las configuraciones de reloj para la conversion, pero al programar en PBP me surge un duda con la siguiente instruccion:
ADC_SAMPLEUS 50
Se que este es el tiempo total de conversion, entre que setea el canal y realiza la conversion. Es decir que comprende los 12 Tad necesarios.
Por lo tanto tendriamos 4,16 microsegundos (50/12) por cada Tad, que esta ok segun el minimo por Tad de 1,6 uS.
Suponiendo que lo bajo a 24 uS al ADC_SAMPLEUS serian 2 uS por Tad, y sabiendo que cuando se realiza la conversion solo se involucra al canal de la señal los primeros Tad para tomar la señal en el capacitor de carga y los demas Tad son de conversion por bit, mi pregunta es la siguiente:
¿puedo subir las RPM del motor tanto como para que el tiempo "X" de giro por grado se haga muy chico (minimo 3 uS), teniendo en cuenta que solo utilizo los primeros Tad`s de la conversion para "leer" la señal???
Ejemplo: Tengo el motor girando a 15000 RPM, por lo tanto el tiempo "X" por grado de giro seria de 11 uS. ¿¿¿Puede el ADC del micro en ese tiempo y configurado con ADC_SAMPLEUS=24 realizar una buena medida por cada grado de giro???
desde ya muchas gracias
Mi pregunta no es sencilla, por lo tanto intentare detallar lo mejor posible cual es el problema.
Cualquier acotacion q ayude, ademas de lo que voy a explicar, y sin ningun tipo de compromiso, sera bienvenida.
Basicamente usando un 16f877A y con un programa en Pic basic pro se leen los datos de presion y temperatura en admision, cilindro y escape,
en motores de dos y cuatro tiempos, por cada grado de giro. Por lo tanto se toman 360 muestras en 2T o 720 en 4T
Para la referencia se usa un encoder acoplado al cigüeñal del motor.
Es decir: cuando el encoder pasa por el Punto Muerto Inferior (PMI) envia la señal de inicio al micro, y se toma la primera muestra, que debe realizarse
en un tiempo "X" que tarda el cigueñal en girar un grado. Segun las RPM "utiles" del motor, variables a voluntad, este tiempo "X"puede variar entre 10 a 90 microsegundos. Luego se toma la segunda muestra, en la siguiente vuelta, pero esta vez se "demora" el tiempo "X", desde que el encoder da el inicio, ya que la primera muestra ya se tomo, y luego se realiza la lectura. Y asi sucesivamente se va sumando tiempos "X" de demora antes de leer el canal de la señal para entrar en fase con la correspondiente presion y/o temperatura por cada grado, hasta completar las 360 o 720 muestras.
Ya conozco las configuraciones de reloj para la conversion, pero al programar en PBP me surge un duda con la siguiente instruccion:
ADC_SAMPLEUS 50
Se que este es el tiempo total de conversion, entre que setea el canal y realiza la conversion. Es decir que comprende los 12 Tad necesarios.
Por lo tanto tendriamos 4,16 microsegundos (50/12) por cada Tad, que esta ok segun el minimo por Tad de 1,6 uS.
Suponiendo que lo bajo a 24 uS al ADC_SAMPLEUS serian 2 uS por Tad, y sabiendo que cuando se realiza la conversion solo se involucra al canal de la señal los primeros Tad para tomar la señal en el capacitor de carga y los demas Tad son de conversion por bit, mi pregunta es la siguiente:
¿puedo subir las RPM del motor tanto como para que el tiempo "X" de giro por grado se haga muy chico (minimo 3 uS), teniendo en cuenta que solo utilizo los primeros Tad`s de la conversion para "leer" la señal???
Ejemplo: Tengo el motor girando a 15000 RPM, por lo tanto el tiempo "X" por grado de giro seria de 11 uS. ¿¿¿Puede el ADC del micro en ese tiempo y configurado con ADC_SAMPLEUS=24 realizar una buena medida por cada grado de giro???
desde ya muchas gracias