You are on page 1of 10

IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc.

JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS

USO DEL PSoC EXPRESS #01

Ejercicio Propuesto: Controlar la velocidad de un ventilador tipo brushless dc de acuerdo
a los registros de temperatura capturados desde un sensor de estado slido (LM20),
utilizando como plataforma PSoC Express.

Elementos Requeridos
1. Priority Encoder:

Un codificador de prioridad proporciona un mtodo para generar un estado de salida solo
con la ms alta prioridad de entrada cierta. Los codificadores de prioridad son utilizados a
menudo para combinar mltiples entradas de estado jerrquico en un solo Valuator. Un
ejemplo es el uso de un codificador de prioridad para comandar un ventilador que gira a
cierta velocidad comandado por mltiples sensores de temperatura de entrada.
Decodificador de prioridad es similar al siguiente Pseudo-cdigo:
If x1 then y1
Else If x2 then y2
Else If x3 then y3
Else If x4 then y4

2. 5VDC 2A 3 WIRE FAN

Descripcin Funcional: Este driver para ventilador est provisto de un modulador de
ancho de pulso (PWM) como base para el control de velocidad de ventiladores brushless
DC.


IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
Hardware Interface: El pin de salida del PSoC gobierna el circuito integrado dentro del
ventilador. Una salida opcional de tacmetro del ventilador es soportada mediante el uso
de un controlador de entrada de tacmetro.

Software Interface: El ciclo de trabajo de la seal del PWM que gobierna el ventilador se
controla con un Byte no signado para un rango entre 0 y 100.

Propiedades del driver

Configuracin de usuario:
SpinUp Time: El periodo de tiempo en que el ventilador es gobernado a toda
velocidad en el momento del arranque est comprendido entre 1/8 de segundo y 2
segundos. El valor predeterminado es de de segundo.
DrivePolarity: Permite invertir la seal del driver para soportar otras topologas de
circuitos. Por defecto el sistema usa Normal soportando los circuitos de los ejemplos
dados.
DriveFrecuencia: Frecuencia de PWM desde 10 Hz hasta 240 KHz.
Propiedades no configurables
KickTach: 1
KickStart: 1
Fan Type: 5V 3 wire
Driver specifications
Fan Voltage: 5.5 V (max)
Fan Current: 2.0 A (max)
Interface Shematic



IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
3. LM20 Sensor de temperatura de estado slido

Descripcin Funcional: La temperatura de entrada del LM20 ofrece una lectura
precisa de la temperatura en los rangos tpicos industriales y de automocin. Estos
sensores deben ser colocados cerca de los puntos de inters para controlar la
temperatura y ofrecer as una lectura de bajo coste y precisa, sin calibracin.
Hardware Interface: El pin de conexin del sistema PSoC al LM20, es de alta
impedancia tipo entrada anloga conectado a un convertidor anlogo digital (ADC). El
voltaje del ADC se convierte en temperatura de acuerdo a las especificaciones de la
hoja de datos del sensor.
Software Interface: La temperatura siempre ser un nmero de 16 bits con signo, el
sistema almacena primero el bit ms significativo y mantiene la temperatura en formato
de punto fijo con una resolucin de 0.1 grados (p.e. 113.7 grados se almacena como
1137). La temperatura estar dada en grados Celsius.
Propiedades del driver

Este driver no tiene propiedades configurables de usuario.

Especificaciones del driver
Rango de sensado de temperatura: -55C a +130C
Exactitud de temperatura: +/- 2.5C sobre el rango de temperatura,
dependiendo de la versin LM20 usada.
Alimentacin: 3.3 Voltios o 5.0 Voltios
Circuito de la Interface



IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
4. I2C Interface esclavo

Descripcin funcional: Este dispositivo incluye un I2C
TM
registrado basado en una
interface esclava. El maestro inicia todas las comunicaciones en el bus I2C y suministra
el reloj para todos los dispositivos esclavos. La interface I2C soporta en modo estndar
velocidades de hasta 400 Kbits/s. Esta interface es compatible con varios dispositivos
del mismo bus.
La direccin del esclavo definida para este dispositivo representa los 7 bits ms
significativos de la direccin, el bit menos significativo puesto a 1 o 0 por el maestro
indicar una escritura o lectura respectivamente. Una segunda direccin es
proporcionada por el acceso 0x40 de la ROM/FLASH ms la direccin del registro
base del dispositivo.
Descripcin del protocolo: El protocolo del registro base para este dispositivo
requiere una orden de escritura para poner el registro interno en el puntero de datos.
Cada orden de escritura va a establecer el puntero de datos para el primer byte de datos
de la transaccin. Al escribir uno o ms bytes, el byte despus del indicador de datos se
escribe en la direccin donde apunta el puntero de datos. El tercer byte (segundo byte
de datos) se escribir en la posicin indicada por el puntero + 1 (incrementado en uno)
y as sucesivamente. El indicador de datos se incrementar por cada byte ledo o
escrito, pero se restablecer al principio de cada nueva operacin de lectura.
Cada transaccin de lectura empezar por leer datos en la ubicacin apuntada por el
puntero de datos despus de la ltima transaccin de escritura. Para establecer el
puntero de datos para una lectura, una transaccin de escritura es realizada nicamente
poniendo el puntero de datos. (solo un byte de datos)
Si el maestro I2C intenta escribir datos en una ubicacin de solo lectura o un lugar no
definido, los datos sern descartados y no tendrn ningn efecto. Los datos no pueden
ser ledos fuera del rango definido. Cualquier solicitud de lectura del maestro, fuera del
rango asignado dar lugar a datos no vlidos.
Hardware Interface: Los pines de PSoC para I2C son configurados directamente
sobre el bus I2C. Una apropiada alimentacin Pull-Up debe establecerse en las lneas
del reloj y datos en algn punto del bus. Para ms informacin referirse a Philips I2C
specifications
Software interface: Esta interface no tiene software. No necesario.


IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
Propiedades del driver
Propiedades configurables de usuario
I2C Address: Direccin base esclavo en el rango de 0 a 63. La direccin 64 a
127 son reservadas para acceso a la memoria ROM/FLASH.
Especificaciones del driver
Rata de datos: 400 Kbits/s (max).
Esquema de la interface

5. Tacmetro

Descripcin Funcional: Este driver mide la velocidad de rotacin de un tacmetro digital
y la correspondiente salida en Revoluciones Por Minuto (RPM).
Hardware interface: El pin de PSoC conecta la entrada del tacmetro a travs de una
resistencia limitadora de corriente. Un resistor de pull up est soportando siempre el sensor
del tacmetro tipo colector abierto.

Software interface: Las RPM estn representadas siempre como un entero signado de 16
bits, almacenando primero el byte ms significativo. La velocidad es expresada en RPM
con 1 contador igual a 1 RPM (Ejemplo: 4500 RPM ser almacenado como 4500).


IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
Propiedades del driver

Propiedades configurables de usuario
Pulsos por revolucin: Nmero de pulsos generado por el sensor del tacmetro por
revolucin en el eje de medida.
Rata de actualizacin: Intervalo de tiempo entre lecturas del tacmetro.
Conjunto ventilador: Con el fin de garantizar la correcta lectura del tacmetro para
un ventilador de tres hilos, el ciclo de trabajo del PWM del ventilador debe ser del
100% mientras el chip PSoC adquiere la medida del tacmetro. Esta caracterstica
permite que el driver del tacmetro establezca un ciclo de trabajo del 100% mientras
realiza la medicin de velocidad.
NOTA: Esta propiedad nicamente puede ser puesta despus de que el objeto
tacmetro ha sido definido. De otro modo nicamente se ver no ventilador.
Especificaciones del driver
Rango de RPM: 300 a 25000 RPM.
Esquema de la interface









IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
IMPLEMENTACIN DEL CONTROLADOR

Generalidades: PSoC Express es un software de desarrollo para dispositivos PSoC, cuenta
con un ambiente de trabajo completamente grfico, el cual permite de una manera sencilla
desarrollar proyectos a todo nivel, basa su funcionamiento en la utilizacin de bloques
valuators e interfaces para conectar dispositivos de entrada y salida. La lgica de
funcionamiento entre entradas/salidas (Transfer Functions) es ejecutada en estas interfaces
para producir la salida deseada.

En la figura 1 se muestra la captura del ambiente de trabajo del software PSoC Express,
ntese que al igual que los programas que trabajan bajo ambiente Windows, aqu tambin
se cuenta con una interfaz amigable al usuario, de fcil manejo, con acceso a todas las
herramientas de trabajo gracias a su barra de men y de herramientas, reas de informacin
de dispositivos de entrada, salida e interfaces, rbol jerrquico del proyecto y el workspace
para el diseo.

Figura 1. Ambiente de trabajo PSoC Express de Cypress.



Diseo del controlador de velocidad

Lo primero que se debe tener en cuenta son los elementos de entrada y salida para la
implementacin del diseo, el usuario cuenta con una variedad de dispositivos de entrada y
salida para iniciar su trabajo, para el caso del presente ejercicio, se utiliza un mdulo de
temperatura tipo LM20, cuya descripcin se hizo anteriormente, la salida est compuesta
por el mdulo de potencia driver del ventilador y la interface I2C, para implementar la
funcin se toma un valuator tipo encoder de prioridad como el descrito en la sesin
anterior.



IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
Lo que se pretende aqu es controlar la velocidad de un ventilador tipo brushless de
acuerdo al rango de temperatura medido por el sensor LM20, para ello se implementa en el
encoder de prioridad una funcin rampa del tipo Sal = Temp./10 C. Esta funcin se
consigue, incluyendo en los campos del encoder de prioridad las expresiones condicionales
que determinan el funcionamiento en el rango de temperaturas del sistema. Ver figura 2.

Figura 2. Configuracin del encoder de prioridad para el control PWM



Para iniciar el diseo del sistema, se deben realizar las siguientes tareas:

Primero colocamos en el workspace el driver del sensor LM20.
Luego colocamos el Driver de control del ventilador.
Seguidamente se coloca el Tacmetro.
Seleccionamos el encoder de prioridad y lo pegamos en el workspace.
Por ltimo seleccionamos el bus I2C y lo incluimos en el proyecto.
Una vez se tienen los elementos ubicados en el workspace, el siguiente paso es configurar
el encoder de prioridad para que genere la funcin rampa y poder as tener control sobre el
driver de salida, en los campos condicionales se escriben las expresiones que permiten
obtener la funcin rampa as:

If Temperature < 300 then RampFunction = 0
Else If Temperature < 1000 then RampFunction = Temperature/10
Else If 1 then RampFunction = 100






IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
De esta manera queda configurado el encoder de prioridad para efectuar la funcin
RampFunction (Ver figura 3). El siguiente paso es concatenar la funcin rampa generada
en el encoder de prioridad con el driver de salida (Fan), dar click derecho sobre el cono
del driver y seleccionar Transfer Fuction del driver de salida, aqu de nuevo se usa un
encoder de prioridad el cual se configura con la funcin rampa obtenida anteriormente, as:

If 1 then Fan = RampFunction

Figura 3. Expresiones condicionales para el encoder de prioridad. RampFunction



De esta manera queda terminado el diseo para el control de velocidad del ventilador
basado en el registro de temperatura del sistema.

COMPILANDO EL PROYECTO

El siguiente paso es compilar y construir el diseo en el chip PSoC, para ello se selecciona
en la barra de men Build Generate/Build Nombre del proyecto Project, se ejecuta y
el sistema devuelve la estructura completamente diseada y lista para programar sobre el
chip, en este paso el usuario selecciona el tipo de chip a utilizar as como la distribucin de
pines de la pastilla. Finalmente aparece la ventana de status que indica los pormenores del
diseo, en caso de errores aqu sern desplegados. Ver figura 4.

Figura 4. Proceso de compilacin del proyecto




IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS IE. MSc. JOS ARMANDO BECERRA VARGAS
El sistema genera un informe completo del diseo en formato HTM, el cual se puede
consultar en el link Nombre del proyecto Datasheet.HTM, tambin genera el esquemtico
del diseo que se puede consultar en Nombre del proyecto Schematic.HTM. De esta
manera queda terminado el proyecto y estar listo para ser descargado sobre el chip.

PROGRAMANDO EL CHIP

La programacin del dispositivo PSoC es muy sencilla, abrir barra de men Program y
seleccionar program part, seguidamente se abre una pequea ventana que le pide
actualizar el archivo HEX, despus se abre la ventana del programador (ver figura 5)

Figura 5. Ventana de control del programador.



Automticamente el sistema detecta el tipo de programador instalado y la versin del
software PSoC Programmer. Se configuran los parmetros de programacin mostrados en
la ventana (Ejemplo: Acquire Mode: Reset; Verification: On), una vez realizados todos los
ajustes se da click sobre la flecha bajando de color azul, el sistema empieza el proceso de
grabacin del chip.

Una vez programado el dispositivo, desde la ventana de programacin, se puede energizar
el sistema para realizar las pruebas correspondientes.

De esta forma se completa el proceso de diseo, compilacin y programacin de un
dispositivo PSoC con el software PSoC Express.