Introducción.
El siguiente post corresponde a un proyecto realizado con el micro-controlador "Psoc 5LP". El cual consiste en la lectura de dos voltajes variables e independientes y su despliegue en una pantalla LCD. Para ello se hará uso de un "Convertidor Analógico-Digital".
A continuación se presenta una guía paso a paso para la realización de la practica.
Equipo 3: Cab Cauich, Hernández Guerrero.
Materiales:
- Pantalla LCD 12x6.
- Protoboard.
- Cables.
- Potenciometros de 10 kΩ (Qty: 3).
Desarrollo:
A continuación se presenta la guía detallada, tanto en la parte del uso del software, la parte esquemática y el código para su funcionamiento.
- Abrir el Psoc Creator
- Crear un nuevo proyecto (File-> New-> Project...)
- Seleccionar Desing->PSoC 5LP. En la misma ventana Asignar el nombre del proyecto en la línea, Name... Nota: Verificar que el modelo con el que se cuenta sea el correcto en la línea Device. De no ser el correcto, seleccionar <Launch Device selector...>. Y elegir el siguiente:
Figura 1 |
- Se deberá tener acceso a una pantalla como la que se muestra a continuación; los componentes se seleccionarán en el punto señala en la imagen.
Figura 2 |
- Para el uso del LCD, el programa tiene una librería interna, sin embargo para la asignación de los pines, se hace mucho mas fácil el uso de una librería externa, la cual se puede descargar en este LINK.
- Para registrarlo en el proyecto ir a: Project->Dependencies...->User Dependencies (Click en la carpeta)-> Seleccionar el Archivo "CharLCDmpLib.cyprj"->Ok.
- Los componentes a utilizar son:-Delta Sigma ADC [v3.20]-Character LCD (multi-Port)[v1.1]-Analog Pin [v2.10] (1)-Digital Output Pin [v2.10] (6)-Analog Mux Sequencer [v1.80]
- Para el funcionamiento de la practica debemos configurar cada componente de acuerdo a los parámetros que necesitamos. Esto lo haremos dando doble clic izquierdo sobre el componente deseado, a continuación se muestran los parámetros para cada componente.
Delta Sigma ADC [v3.20]
Figura 3. Configuraciones Básicas. |
Figura 4. Configuraciones Comunes. |
Character LCD (multi-Port)[v1.1]
A este componente no es necesario realizarle ninguna configuración, simplemente conectarle a cada salida del LCD un pin digital (Figura 5).
Figura 5. Modulo LCD. |
La configuracion externa del LCD es la siguiente:
Figura 6. Conexiones externas LCD. |
Analog Pin [v2.10] y Analog Mux Sequencer [v1.80]
Figura 7. Esquematico de las entradas y el multiplexor |
Los pines pueden asignarse de la forma en que se le haga mas fácil al usuario, si se desea se puede usar los asignados en la imagen(En la tabla señalada, en la sección "Port").
- Ya asignados los pines, aun estando en "ADC.cydwr", en la pestaña "System", Cambiar Heap Size a 0x200. Además en la pestaña superior Project->Build settings->Linker->Command Line-> Custom Flags; ingresar "-u_printf_float".
- Para compilar los cambios nos vamos a Build->Build Pantalla. Luego de ello en la pantalla "Workspace Explorer" abrimos el archivo main.c que corresponde al código a ejecutar.
- En Main, el codigo a utilizar es el siguiente:
#include <project.h>
#include<stdio.h>
#include "cyapicallbacks.h"
//Variables
char str[12];
float volts=0;
uint32_t resultados[AMuxSeq_1_CHANNELS]={0};
uint8 flag=0;
int main()
{
CyGlobalIntEnable;
LCD_Start();
AMuxSeq_1_Start();
ADC_Start();
ADC_IRQ_Start();
LCD_Position(0,0);
LCD_PrintString("V1 = ");
LCD_Position(1,0);
LCD_PrintString("V2 = ");
AMuxSeq_1_Next();
ADC_StartConvert();
for(;;)
{
if(flag==1)
{
ADC_StopConvert();
resultados[AMuxSeq_1_GetChannel()]=ADC_GetResult32();
//ADC1
LCD_Position(0,6);
volts=(5.000000/1048576)*resultados[0];
sprintf(str,"%.4f V",volts);
LCD_PrintString(str);
//ADC2
LCD_Position(1,6);
volts=(5.000000/1048576)*resultados[1];
sprintf(str,"%.4f V",volts);
LCD_PrintString(str);
AMuxSeq_1_Next();
flag=0;
ADC_StartConvert();
}
}
}
void ADC_IRQ_Interrupt_InterruptCallback()
{
flag=1;
}
- Finalmente debemos programar nuestro micro controlador y listo! Debe de desplegarse en el LCD los dos voltajes de entrada.
Para su mayor comprensión, se muestra el esquemático de la practica junto con su diagrama de flujo.
Figura 9. Diagrama Esquemático |
Figura 10. Diagrama de flujo. |
Finalmente, para la observación directa de los resultados a continuación se presenta un vídeo demostrativo de la practica.
Referencias.
Para la elaboración de la practica se obtuvo la información básica, seguidamente modificada a nuestra conveniencia del siguiente blog:
No hay comentarios.:
Publicar un comentario