Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
A.1 FICHAS DE LOS ELEMENTOS
ACTUADOR DE LUCES TIPO: 0x480
Parámetros de funcionamiento
Formato Valor entero 16 bits sin signo TEDR 1 Función Indica el nº de segundos que ha de mantenerse la luz encendida desde que el
detector de movimiento detecta reposo. Formato Valor entero 16 bits sin signo TF 2 Función Indica el nº de segundos que ha de mantenerse la luz encendida desde que el
detector de movimiento indica que se ha producido movimiento o desde que se pulsó el interruptor.
Parámetros de dependencia INT1 1 Interruptor que actúa sobre la luz Tipo 0x500 INT2 2 Interruptor que actúa sobre la luz. (Mando múltiple) * Tipo 0x500 INT3 3 Interruptor que actúa sobre la luz. (Mando múltiple) * Tipo 0x500 DMOV 4 Detector de movimiento que actúa sobre la luz Tipo 0x300 SLUM 5 Sensor de luminosidad que actúa sobre la luz Tipo 0x600
(*) Sujeto a disponibilidad de buzones CAN libres en el nodo
Comandos LON 0x21 E Enciende la luz LOFF 0x22 E Apagar la luz MD1I 0x23 E La luz queda controlada por el interruptor INT1 MD2I 0x24 E La luz queda controlada por los interruptores INT1 e INT2 MD3I 0x25 E La luz queda controlada por los interruptores INT1, INT2 e INT3 ATF 0x26 E Activar temporización fija utilizando el parámetro TF ATI 0x27 E Activar temporización inteligente utilizando el parámetro TEDR SOLSTAT 0x28 E Solicitar el estado de la luz
Estado de la luz
Formato Valor bolean 8 bits sin signo
LSTAT 0x29 E
STAT
Función Indica el estado de la luz DT 0x2A E Desactiva la temporización DDEP 0x2B E Desactiva las dependencias. La luz trabaja en modo independiente ADDM 0x2C E La luz queda controlada por el detector de movimiento DMOV ADSL 0x2D E La luz queda controlada por el sensor de luminosidad SLUM Comunes --- --- Soporta todos los comandos comunes
Nota: Los comandos que se envían hacia el elemento se denotan por el símbolo ( E) y los que se envían
desde el elemento se denotan por el símbolo (E )
ANEXOS
Análisis y aplicación de los buses de campo a la domótica
158
SENSOR DE LUMINOSIDAD TIPO: 0x600
Parámetros de funcionamiento
Formato Valor entero 16 bits sin signo TMUESTEO 1 Función Indica el tiempo de muestreo de la luminosidad en segundos Formato Valor entero 8 bits sin signo LINF 2 Función Límite de luminosidad inferior Formato Valor entero 8 bits sin signo LSUP 3 Función Límite de luminosidad superior
Parámetros de dependencia
Comandos ALIM 0x21 E Activar límites de luminosidad DLIM 0x22 E Desactivar límites de luminosidad SOLL 0x23 E Solicitud del dato de luminosidad
Valor de luminosidad Formato Valor entero 8 bits sin signo
VALL 0x24 E LUM
Función Indica el valor de luminosidad registrado (0 a 255) Sobrepasado el límite inferior
Formato Valor entero 8 bits sin signo SLINF 0x25 E
LUM Función Indica el valor de luminosidad registrado (0 a 255)
SDLS 0x26 E Solicitud de datos de luminosidad en serie Valor de la luminosidad (dato perteneciente a una serie)
Formato Valor entero 8 bits sin signo DDLS 0x27 E
LUM Función Indica el valor de luminosidad registrado (0 a 255)
DS 0x28 E Desactivar serie de datos Estado de la luz
Formato Valor entero 8 bits sin signo
SLSUP 0x29 E
LUM
Función Indica el valor de luminosidad registrado (0 a 255) Comunes --- --- Soporta todos los comandos comunes
Nota: Los comandos que se envían hacia el elemento se denotan por el símbolo ( E) y los que se envían
desde el elemento se denotan por el símbolo (E )
Análisis y aplicación de los buses de campo a la domótica
159
SENSOR DE TEMPERATURA TIPO: 0x280
Parámetros de funcionamiento
Formato Valor entero 8 bits con signo TSTSUP 1 Función Indica el límite superior del termostato en grados centígrados Formato Valor entero 8 bits con signo TSTINF 2 Función Indica el límite inferior del termostato en grados centígrados Formato Valor entero 8 bits con signo TINCENDIO 3 Función Indica el nivel de temperatura por encima del cual se considera que hay un
incendio. Formato Valor entero 16 bits sin signo TMUESTREO 4 Función Indica el periodo de muestreo de la temperatura en segundos Formato Valor entero 16 bits sin signo CM * 5 Función Pendiente (m) de la recta de calibración del sensor y=m·x+n Formato Valor entero 16 bits sin signo CN * 6 Función Ordenada en el origen (n) de la recta de calibración del sensor y=m·x+n
(*) Estos parámetros ya vienen calibrados y se recomienda no modificarlos si no es estrictamente necesario.
Parámetros de dependencia
Comandos Indica que la temperatura ha superado el umbral de incendio
Formato Valor entero 8 bits con signo STINCEN 0x21 E
TEMP Función Valor de la temperatura en grados centígrados
Indica que la temperatura ha superado el límite inferior (Termostato) Formato Valor entero 8 bits con signo
SLINF 0x22 E TEMP
Función Valor de la temperatura en grados centígrados
Indica que la temperatura ha superado el límite superior (Termostato) Formato Valor entero 8 bits con signo
SLSUP 0x23 E TEMP
Función Valor de la temperatura en grados centígrados
SOLT 0x24 E Solicitud del dato de temperatura Valor de la temperatura registrada
Formato Valor entero 8 bits con signo VTEMP 0x25 E
TEMP Función Valor de la temperatura en grados centígrados
SDTS 0x26 E Solicitar datos de temperatura en serie Dato de temperatura en serie
Formato Valor entero 8 bits con signo DDTS 0x27 E
TEMP Función Valor de la temperatura en grados centígrados
DS 0x28 E Desactivar serie de datos MTST 0x29 E Activar modo termostato DTST 0x2A E Desactivar modo termostato GDC 0x2B E Guarda en memoria no volátil los parámetros de calibración CM y CN Comunes --- --- Soporta todos los comandos comunes
Análisis y aplicación de los buses de campo a la domótica
160
INTERRUPTOR TIPO: 0x500
Parámetros de funcionamiento
Parámetros de dependencia
Comandos
Cambio de estado del interruptor
Formato Valor bolean 8 bits sin signo
LSTAT 0x21 E
STAT
Función Indica el estado del interruptor Comunes --- --- Soporta todos los comandos comunes
Nota: Los comandos que se envían hacia el elemento se denotan por el símbolo ( E) y los que se envían
desde el elemento se denotan por el símbolo (E )
Análisis y aplicación de los buses de campo a la domótica
161
DETECTOR DE MOVIMIENTO SIMPLE TIPO: 0x300
Parámetros de funcionamiento
Formato Valor entero 16 bits sin signo TMUESTREO 1 Función Indica el tiempo de muestreo en milisegundos
Parámetros de dependencia
Comandos MOV 0x21 E Movimiento detectado REP 0x22 E Reposo ADM 0x23 E Activar detector de movimiento DDM 0x24 E Desactivar detector de movimiento Comunes --- --- Soporta todos los comandos comunes
Nota: Los comandos que se envían hacia el elemento se denotan por el símbolo ( E) y los que se envían
desde el elemento se denotan por el símbolo (E )
Análisis y aplicación de los buses de campo a la domótica
162
VENTILADOR TIPO: 0x580
Parámetros de funcionamiento
Formato Valor entero 8 bits sin signo. Valores posibles: [0,1,2,3] (0=OFF) VEL 1 Función Indica la velocidad de giro del ventilador
Parámetros de dependencia STEMP 1 Sensor de temperatura que actúa sobre el ventilador Tipo 0x280
Comandos VON 0x21 E Encender el ventilador VOFF 0x22 E Apagar el ventilador MDST 0x23 E Activar modo dependiente. El ventilador se activará o desactivará según los
mensajes que emita el sensor de temperatura STEMP DMD 0x24 E Desactivar modo dependiente SOLSTAT 0x25 E Solicita el estado del ventilador
Estado del ventilador
Formato Valor entero 8 bits sin signo. Valores posibles: [0,1,2,3] (0=OFF)
VSTAT 0x26 E
STAT
Función Indica la velocidad de giro del ventilador Comunes --- --- Soporta todos los comandos comunes
Nota: Los comandos que se envían hacia el elemento se denotan por el símbolo ( E) y los que se envían
desde el elemento se denotan por el símbolo (E )
Análisis y aplicación de los buses de campo a la domótica
163
NODO TIPO: 0x018
Nota: Los nodos no tienen parámetros de funcionamiento ni de dependencia. Por el momento tampoco
tienen comandos específicos, por lo que los comandos que se expondrán a continuación son los comandos comunes, aplicables a todos los elementos.
Comandos Comunes CCSOLMOD 0x06 E Solicita el modelo del elemento
Indica el modelo del elemento Valor 8 bits sin signo. Campo de bits 7 6 5 4 3 2 1 0
Formato
FIN Reservado
CTRL
Función Byte de control. Si el bit FIN está a 1, indica que es la última trama del bloque
Formato Conjunto de caracteres de 8 bits sin signo. Hasta 7 caracteres en cada trama.
CCMODELO 0x08 E
M
Función Trozo de la cadena de caracteres que indica el modelo CCSOLMAR 0x07 E Solicita el modelo del elemento
Indica la marca del elemento Valor 8 bits sin signo. Campo de bits 7 6 5 4 3 2 1 0
Formato
FIN Reservado
CTRL
Función Byte de control. Si el bit FIN está a 1, indica que es la última trama del bloque
Formato Conjunto de caracteres de 8 bits sin signo. Hasta 7 caracteres en cada trama.
CCMARCA 0x09 E
M
Función Trozo de la cadena de caracteres que indica la marca
CCDE 0x01 E Desactivar elemento CCAD 0x02 E Activar elemento CCAP 0x03 E Asignar un valor a un parámetro
Valor 8 bits sin signo. Campo de bits 7 6 5 4 3 2 1 0
Formato
FIN DEP NUM
CTRL
Función Byte de control. Si el bit FIN está a 1, indica que es la última trama del bloque. Si el bit DEP está a 1, indica que se trata de un parámetro de dependencia, si está a 0, indica que se trata de un parámetro de funcionamiento. El campo NUM indica el número del parámetro.
Formato Conjunto de bytes. Hasta 7 bytes en cada trama.
DATOS
Función Datos a asignar al parámetro
CCLP 0x04 E Leer el valor de un parámetro Valor 8 bits sin signo. Campo de bits 7 6 5 4 3 2 1 0
Formato
0 DEP NUM
CTRL
Función Byte de control. Si el bit DEP está a 1, indica que se trata de un parámetro de dependencia, si está a 0, indica que se trata de un parámetro de funcionamiento. El campo NUM indica el número del parámetro.
CCVP 0x05 E Valor del parámetro solicitado
Análisis y aplicación de los buses de campo a la domótica
164
Valor 8 bits sin signo. Campo de bits 7 6 5 4 3 2 1 0
Formato
FIN DEP NUM
CTRL
Función Byte de control. Si el bit FIN está a 1, indica que es la última trama del bloque. Si el bit DEP está a 1, indica que se trata de un parámetro de dependencia, si está a 0, indica que se trata de un parámetro de funcionamiento. El campo NUM indica el número del parámetro.
Formato Conjunto de bytes. Hasta 7 bytes en cada trama.
DATOS
Función Datos contenidos en el parámetro
CCEXP 0x0A E Expulsa al elemento de la lista de elementos registrados Nota: Los comandos que se envían hacia el elemento se denotan por el símbolo ( E) y los que se envían
desde el elemento se denotan por el símbolo (E )
Análisis y aplicación de los buses de campo a la domótica
165
CANAL DE ASIGNACIÓN TIPO: 0x00F
Parámetros de funcionamiento
Parámetros de dependencia
Comandos
Indica que hay un nuevo nodo sin registrar
Formato Valor entero 8 bits sin signo
NUEVO NODO
0x21 E
RND
Función Valor aleatorio de identificación provisional Indica que hay un nuevo elemento sin registrar
Formato Valor entero 8 bits sin signo RND
Función Valor aleatorio de identificación provisional
Formato Valor entero 16 bits sin signo. Sólo se usan los 11 LSB TIPO
Función Tipo del nuevo elemento
Formato Valor entero 8 bits sin signo
NUEVO ELEM
0x22 E
NODO
Función Nº del nodo al que está asociado el elemento
Asigna un número a un nuevo elemento que lo había solicitado
Formato Valor entero 8 bits sin signo RND
Función Valor aleatorio de identificación provisional
Formato Valor entero 8 bits sin signo NUM
Función Número del nuevo elemento
Formato Valor entero 8 bits sin signo
ANUM ELEM
0x23 E
NODO
Función Nº del nodo al que está asociado el elemento
Asigna un número a un nuevo nodo que lo había solicitado
Formato Valor entero 8 bits sin signo RND
Función Valor aleatorio de identificación provisional
Formato Valor entero 8 bits sin signo
ANUM NODO
0x24 E
NUM
Función Número del nuevo elemento
NUEVO? 0x25 E Invita a los elementos nuevos a registrarse
Nota: Los comandos que se envían hacia el elemento se denotan por el símbolo ( E) y los que se envían
desde el elemento se denotan por el símbolo (E )
Análisis y aplicación de los buses de campo a la domótica
166
ALARMA TIPO: 0x008
Parámetros de funcionamiento
Parámetros de dependencia
Comandos INCENDIO 0x21 E Alarma de incendio
INTRUSO 0X22 E Alarma de intrusos
Nota: Los comandos que se envían hacia el elemento se denotan por el símbolo ( E) y los que se envían
desde el elemento se denotan por el símbolo (E )
Análisis y aplicación de los buses de campo a la domótica
167
A.2 ESQUEMÁTICOS Y PCB DE LAS PLACAS
A.2.1 ESQUEMÁTICO DE LA PLACA PAEM
Análisis y aplicación de los buses de campo a la domótica
168
A.2.2 PCB DE LA PLACA PAEM
Análisis y aplicación de los buses de campo a la domótica
169
A.2.3 ESQUEMÁTICO DE LA MADRIGUERA
1
10
1112
13
1415 NC
16
1718
19
2
20
21 22
23
24
3GND
4 VCC5 V+6C+ 7C-
8 V-
9
T1
T2
T3
R1
R2
R3
R4
R5
RABBITCORE
1C1+
10T2IN11T1IN
12R1OUT13 R1IN
14 T1OUT
15GND
16 VCC2 VDD 3C1- 4C2+ 5C2-
6 VEE
7 T2OUT
8 R2IN 9R2OUT
Análisis y aplicación de los buses de campo a la domótica
170
A.2.4 PCB DE LA MADRIGUERA
Análisis y aplicación de los buses de campo a la domótica
171
A.2.5 ESQUEMÁTICO DEL NODO
Análisis y aplicación de los buses de campo a la domótica
172
A.2.6 PCB DEL NODO
Análisis y aplicación de los buses de campo a la domótica
173
A.2.7 ESQUEMÁTICO DE LA PROGRAMADORA JDM
1
2
3
12
12
1
2
3
12
12
12
12
Análisis y aplicación de los buses de campo a la domótica
174
A.2.8 PCB DE LA PROGRAMADORA JDM
Análisis y aplicación de los buses de campo a la domótica
175
A.3 MANUAL DE LA PLACA PICMEO 2 RECOMENDACIONES ANTES DE COMENZAR A USAR LA PLACA - Compruebe que los interruptores de la placa están en la posición correcta para el
modo de funcionamiento que se desea usar. Consulte la sección 'Modos de Funcionamiento' de este manual para ver la disposición de los interruptores. Un interruptor activado erróneamente puede causar un cortocircuito y por consiguiente daños irreversibles en la placa.
- Cambie el estado de los interruptores sólo cuando la alimentación esté desconectada, de otro modo podría causar un cortocircuito.
- La alimentación de la placa es a 5V DC. Asegúrese de que la tensión de alimentación no es superior o inferior a este valor.
- No conectar las líneas analógicas a tensiones fuera del rango 0 a 5V. - Los pines del PIC que sobran no deben dejarse al aire. Una entrada CMOS al aire
puede entrar en un estado de oscilación libre y quemarse. Se recomienda hacer una de estas cosas:
- Usarlos. - Configurarlos como salida aunque luego no se utilicen. - Habilitar los pull-up internos del PIC. - Conectarlos a un pull-up/down externo. - Conectarlos directamente a Vcc o Gnd.
- Realizar los ciclos de acceso en lectura/escritura según las recomendaciones. Si programa ciclos demasiado cortos, la radiación de las pistas se ve incrementada al mismo tiempo que los efectos parásitos.
- La placa no garantiza la compatibilidad electromagnética porque no se le han hecho ensayos de EMI.
- No olvide desconectar la alimentación cuando se vaya a programar el PIC, el propio puerto serie proporciona la alimentación.
- Usar siempre el cable proporcionado para programar el PIC o comunicarse con el ordenador.
- No utilizar el cable serie para otras aplicaciones. El cable no responde al esquema de un cable módem nulo y si se utilizase para conectar dos ordenadores provocaría un cortocircuito.
- Siga las instrucciones de programación y no olvide programar los registros de configuración. Si no lo hace es probable que el PIC no consiga general oscilaciones en el cristal y por tanto el programa no será ejecutado.
CARACTERÍSTICAS GENERALES PICMEO2 ® es un sistema de desarrollo basado en el microcontrolador PIC18F448 de
Microchip. La placa dispone de: 1 convertidor digital a analógico de 8 bits 1 Interfaz RS-232 con conector DB9 1 Módulo CAN integrado en el PIC (Transceiver incluido en la placa) 8 LEDs 8 botones 1 entrada analógica general 1 entrada analógica a través de conector jack 1 convertidor analógico a digital de 10 bits integrado en el PIC con 5 canales analógicos
Análisis y aplicación de los buses de campo a la domótica
176
1 fotorresistencia 1 termopar 1 programadora de PIC integrada en placa La placa tiene la posibilidad de funcionar en 3 modos: Programación. Sólo para programar el PIC Normal. El PIC gestiona sólo los elementos de la placa Extendido. Se habilitan buses para conexión de dispositivos externos Otros parámetros de funcionamiento: Alimentación a 5V DC Alimentación del amplificador operacional de salida analógica hasta +/- 15V Frecuencia de la señal de reloj: 20 MHz VISTA DE LA PLACA E IDENTIFICACIÓN DE ELEMENTOS
Fig. A.3. 1 Vista general de la placa PICMEO 2
Análisis y aplicación de los buses de campo a la domótica
177
Fig. A.3. 2 Bancos de interruptores y conectores
MODOS DE FUNCIONAMIENTO La placa PICMEO2 está diseñada para operar en tres modos distintos seleccionables a
través de grupos de interruptores. La situación de los distintos bancos de interruptores se puede observar en la figura A.3.2
Antes de comenzar a explicar los modos de funcionamiento se va a comentar la situación y función de cada uno de los interruptores. Ponga especial atención ya que una incorrecta posición de los interruptores podría provocar cortocircuitos que darían lugar a daños irreversibles en la placa.
Cada interruptor tiene un nombre que sigue una nomenclatura concreta que se describe a
continuación: SPx Deben estar activados en modo programación SNx Deben estar activados en modo normal SEx Deben estar activados en modo extendido SNEx Deben estar activados tanto en modo normal como extendido SG Interruptor general de alimentación de la placa SAx Interruptores para configurar la parte analógica de entrada Como ya se ha dicho, los interruptores se organizan en bancos identificados en la figura
anterior. Los interruptores que forman cada banco son:
Fig. A.3. 3 Distribución de los interruptores
Análisis y aplicación de los buses de campo a la domótica
178
MODO PROGRAMACIÓN Este modo sólo se utiliza para almacenar un programa en la memoria Flash del PIC. Para
seleccionarlo siga los siguientes pasos: Ponga en la posición “OFF” el interruptor general (SG) Apague todos los interruptores SNEx Apague todos los interruptores SEx Apague todos los interruptores SNx Encienda todos los interruptores SPx Conecte el cable al puerto serie del ordenador y al conector DB9 de la placa. Una vez hecho esto nos disponemos a programar el PIC: - Arranque el programa ICPROG. - Asegúrese de que el tipo de programadora seleccionado es la JDM y que el puerto
serie seleccionado es en el que se encuentra conectado el cable. Si no es así haga clic en el menú “Ajustes Tipo Hardware” y configúrelo.
- Asegúrese de que está seleccionado como dispositivo a programar el PIC18F448. Si no es así selecciónelo en la lista desplegable que aparece en la parte superior derecha de la ventana de ICPROG.
- Abra el archivo .HEX que contiene su programa ya compilado. - Escriba el valor “FAFF” en Config1 y “FEFF” en Config2. Esto es necesario para
indicarle al PIC el tipo de oscilador que tiene acoplado y para no habilitar por defecto el Watchdog.
- Haga clic en el menú “Comando Programar Todo” y espere a que programe el dispositivo y verifique la programación. Si el dispositivo no se programa correctamente compruebe la configuración del ICPROG, que el cable esté bien conectado y que los interruptores de la placa estén en la situación correcta.
- Haga clic en el menú “Comando Programar bits config.” MODO NORMAL En este modo el PIC únicamente gestiona los recursos propios de la placa. Cada pin del
PIC se destina a manejar un dispositivo de la placa. En este modo, todos los dispositivos están disponibles, incluido el controlador CAN.
Para configurar la placa en modo normal siga los estos pasos: - Apague todos los interruptores SPx. - Apague todos los interruptores SEx. - Encienda todos los interruptores SNEx. - Encienda todos los interruptores SNx. - Encienda o apague los interruptores SAx según las necesidades. - Conecte el cable serie si es necesario. - Encienda el interruptor general (SG). Nota: El botón de Reset no funciona correctamente, así que se aconseja que apague y
vuelva a encender la placa con el interruptor general en caso de que quiera resetear el PIC.
Análisis y aplicación de los buses de campo a la domótica
179
MODO EXTENDIDO En este modo el PIC puede gestionar no sólo los recursos de la placa sino también
dispositivos externos conectados a los buses. A cambio, se sacrifica el controlador CAN, que deja de estar disponible. En este modo, algunos de los dispositivos de la placa pasan a ser tratados como un periférico más y están ubicados en el mapa de memoria y se controlan mediante las señales R/W y CS y los buses.
El mapa de memoria de los dispositivos de la placa se implementa mediante la PAL22V10.
Las funciones lógicas que implementa la PAL son: __ __ __ __ __ __ __ __ CSB = A7·A6·A5·A4·A3·A2·A1·A0·RW·CS __ __ __ __ __ __ __ __ ___ CSL = A7·A6·A5·A4·A3·A2·A1·A0·RW·CS __ __ __ __ __ __ __ ___ CSDA = NOT(A7·A6·A5·A4·A3·A2·A1·A0·RW·CS) Donde: I1=A0 I2=A1 I3=A2 I4=A3 I5=A4 I6=A5 I7=A6 I8=A7 I9=RW I10=CS I11=AD IO1=CSB IO2=CSL IO3=CSDA
Fig. A.3. 4 Diagrama de pines de la PAL22V10
De estas expresiones se deduce el mapa de memoria:
Dirección Lectura Escritura 0x00 Botones LEDs 0x01 Libre Convertidor D/A 0xFF
Libre Libre
A la hora de insertar nuevos periféricos externos a la placa, habrá que proveer a estos
periféricos de mecanismos que permitan situarlos en el mapa de memoria en las zonas que están libres. La PAL de la placa en principio no genera líneas de selección para dispositivos externos a la placa aunque se podría reprogramar para que así lo hiciera. De todas formas se
Análisis y aplicación de los buses de campo a la domótica
180
recomienda utilizar una PAL externa para generar las líneas de selección de los dispositivos que se conecten.
La placa PICMEO2 dispone de tres buses y tres líneas de control para la conexión de
periféricos externos: El bus de datos de entrada El bus de datos de salida El bus de direcciones Señal RW (1 – Lectura; 0 – Escritura) Señal CS (Chip select) Señal AD (1 – Dirección; 0 – Datos) El bus de direcciones comparte las líneas de salida del PIC con el bus de datos, la
diferencia está en que existe un latch que captura el valor del bus de datos de salida sólo cuando está activa la señal AD, que indica que lo que hay en el bus de salida no es un dato, sino una dirección, por este motivo, los dispositivos que se conecten a la placa deberán ignorar el valor escrito al bus cuando la señal AD esté a nivel alto, pues no se trata de un dato, sino de una dirección. Por su parte, y gracias al latch, el bus de direcciones siempre contiene la última dirección escrita al bus de salida. En las siguientes imágenes se muestran los buses:
Fig. A.3. 5 Situación de los buses
ASIGNACIÓN DE PINES DEL PIC18F448 MODO PROGRAMACIÓN MCLR (1) VDD (11) VSS (12) RB7 (40) RB6 (39) MODO NORMAL RC7/RX (26) UART RX RC6/TX (25) UART TX RB3/CANRX (36) BUS CAN RX RB2/CANTX (35) BUS CAN TX RA0/AN0 (2) JACK ENTRADA RA1/AN1 (3) SEÑAL ANALÓGICA GENERAL
Análisis y aplicación de los buses de campo a la domótica
181
RA2/AN2 (4) TERMOSENSOR RA3/AN3 (5) FOTORRESISTENCIA De RD0 a RD7 SALIDA DE DATOS DIGITALES (a CD/A y LEDs) RB0 (33) BOTÓN 1 RB1 (34) BOTÓN 2 RC0 (15) BOTÓN 3 RC1 (16) BOTÓN 4 RB4 (37) BOTÓN 5 RB5 (38) BOTÓN 6 RB6 (39) BOTÓN 7 RB7 (40) BOTÓN 8 RE1 (9) SELECTOR DEL CD/A RE0 (7) SELECTOR DE LOS LEDs OSC1 (13) AL CRISTAL OSC2 (14) AL CRISTAL RC2, RC3, RC4, RC5 sobra (digital) RA5 (8) sobra (analógico) RA4 (6) sobra (digital) RE2 (10) sobra (digital) MODO EXTENDIDO De RB0 a RB7 BUS ENTRADA De RD0 a RD7 BUS SALIDA RC5 (24) SEÑAL DE LECTURA/ESCRITURA RC4 (23) SEÑAL DE CHIP SELECT RC3 (18) SEÑAL DE DIRECCIÓN/DATOS Se mantienen con la misma funcionalidad que en modo normal los siguientes pines: RC7/RX RC6/TX RA0/AN0 RA1/AN1 RA2/AN2 RA3/AN3 OSC1 OSC2 RA5 RA4 RE2 RC2 Pierden la funcionalidad: RE1 RE0 RC1 RC0 DISPOSITIVOS DE LA PLACA LEDS La placa PICMEO dispone de 8 LEDs accesibles a través de un latch, lo que permite
actualizar el valor de los LEDs sólo cuando sea necesario evitando ciclos de refresco que complicarían la programación. Los LEDs son activos a nivel alto, es decir, que escribiendo un 1, los encendemos y escribiendo un 0 los apagamos. Cuando la placa está en modo normal la señal de captura del dato de salida por parte del latch de los LEDs está asignada al pin RE0, y es activa a nivel alto. Cuando la placa está en modo extendido los LEDs quedan integrados en el
Análisis y aplicación de los buses de campo a la domótica
182
mapa de memoria y se tratan como un periférico más. Para más información consultar el apartado de Modo Extendido.
CONVERTIDOR DIGITAL A ANALÓGICO El convertidor digital a analógico utilizado es el TLC7524, que es un convertidor de 8 bits
paralelo con latch incorporado. En el modo normal, su señal de activación (chip select) está asignada al pin RE1 y es activa a nivel bajo. En el modo extendido, la selección ocurre del mismo modo que en el caso de los LEDs. La salida del convertidor es en intensidad, pero dispone de un circuito de amplificación con ganancia ajustable para dar una salida en tensión. La ganancia se controla ajustando el potenciómetro. Para un correcto funcionamiento es necesario alimentar el amplificador operacional con +10V en el terminal “VDD A.O.” y con -10V en el terminal “VSS A.O”. Este amplificador es inversor, con lo que la señal de salida quedará invertida. La salida en tensión puede ser recogida en dos puntos, el primero de ellos es un pin suelto que contiene la señal amplificada tras ser convertida y el segundo es el conector jack de salida, que contiene la versión filtrada mediante un filtro paso de baja con un polo a 10 KHz de la señal convertida.
Fig. A.3. 6 Circuito de conversión de digital a analógico
PIC El microcontrolador PIC es el componente más importante de la placa ya que controla el
resto de dispositivos. El PIC funciona a 20 MHz, aunque internamente divide la frecuencia de oscilación (Fosc) entre cuatro, y a esa nueva frecuencia se procesan las instrucciones, es decir, se procesa a 5 millones de instrucciones por segundo, considerando instrucciones que duren un solo ciclo. Como ya se ha dicho anteriormente, el PIC utilizado es el PIC18F448 de Microchip. Para más información acerca de este dispositivo se recomienda consultar el datasheet.
Existen ciertas líneas del PIC que no son utilizadas como se pone de manifiesto en la
asignación de pines. Esas líneas no deberían dejarse al aire como entradas tal y como se explica al comienzo del manual. A continuación se muestra la situación de estas líneas:
Análisis y aplicación de los buses de campo a la domótica
183
Fig. A.3. 7 Líneas sobrantes
BOTONES La placa PICMEO 2 dispone de 8 botones de propósito general. En el modo normal, los
botones están siempre activos. Los botones son activos a nivel bajo, es decir, que cuando están pulsados leeremos un 0 y cuando están en reposo leeremos un 1. En el modo extendido se lee el estado de los botones como si fuera un periférico más. A continuación se muestra en qué líneas se puede leer el estado de cada botón dependiendo del modo de funcionamiento:
BOTON 1 2 3 4 5 6 7 8 NORMAL RB0 RB1 RC0 RC1 RB4 RB5 RB6 RB7 EXTENDIDO RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7
TERMOPAR
El termopar es un elemento para medir la temperatura. Su potencial de contacto varía de forma lineal con la temperatura en un amplio rango y aunque la señal que genera es muy débil, un circuito de la placa se encarga de amplificar esta señal hasta unos niveles adecuados. El termopar se conecta en los terminales VE+ y VE-. Se recomienda usar uno de tipo K. Hay que tener cuidado con los terminales del termopar ya que si se coloca al revés, daría una lectura de temperatura incorrecta. El circuito de adaptación de señal del termopar lleva incorporado un potenciómetro para ajustar la ganancia de señal y por tanto aumentar o disminuir la sensibilidad a la temperatura. La señal analógica procedente del sensor va al pin RA2 del PIC.
Fig. A.3. 8 Circuito del termopar
Análisis y aplicación de los buses de campo a la domótica
184
FOTORRESISTENCIA La fotorresistencia es un elemento para medir la luminosidad y se conecta en los
terminales FotoR+ y FotoR-. El circuito sensor de luz es un divisor de tensión y la resistencia que hace dicho divisor es de 10K. Aunque la fotorresistencia varía su impedancia de forma lineal con la intensidad de la luz, el hecho de utilizar un divisor de tensión hace que la salida no sea lineal con la intensidad de luz.
La fotorresistencia que se escogió presenta valores de impedancia cercanos a los 10K con
intensidades de luz normales y además presenta un rango de variación bastante amplio, lo que permite detectar mejor los cambios de luminosidad. La señal analógica procedente del sensor va al pin RA3 del PIC.
USART La USART está integrada dentro del PIC, y utiliza las líneas RC7 y RC6 del PIC tanto en
modo normal como en modo extendido. La línea RC7 sirve de recepción para el PIC y la línea RC6 de transmisión. La USART sirve para comunicar la placa con un PC en modo asíncrono a través del MAX232, que convierte los niveles de tensión que salen y entran en el PIC, que varían entre 0 y 5V, a unos niveles más elevados de acuerdo con la interfaz RS-232. El conector DB9 de la placa proporciona un puerto serie que no sigue del todo la recomendación RS-232 ya que no todas las líneas están conectadas. Señales de control tales como DTR, CTS, DSR o RTS son utilizadas por la placa pero sólo en modo programación. Tanto en modo normal como extendido estas señales no tienen ningún efecto, estando sólo disponibles tres líneas: Transmisión, Recepción y Tierra, suficientes para establecer una comunicación serie. Por este motivo es recomendable configurar el PC para que no use control de flujo por hardware. El resto de parámetros de la comunicación serie tales como la velocidad, bit de paridad, bits de parada, etc. deberán coincidir con la configuración que se asigne a la USART del PIC. Se recomienda efectuar la conexión serie con el PC usando el cable que se proporciona. Para más detalle a continuación se muestra la asignación de pines del conector DB9 de la placa en los modos normal y extendido:
Pin 2: RXD. Transmisión para la PICMEO / Recepción para el PC Pin 3: TXD. Recepción para la PICMEO / Transmisión para el PC Pin 5: GND. Tierra común. En cuanto al cable hay que decir que establece una conexión directa pin a pin entre los
conectores DB9 de los extremos, es decir, conecta el 2 con el 2, el 3 con el 3, y así. Como ya se apuntó anteriormente no conecta todas las líneas, así las señales RI, DCD y DSR quedan aisladas. Para más información acerca del funcionamiento de la USART, consultar el datasheet del PIC18F448.
MÓDULO CAN El módulo CAN está también integrado en el PIC y utiliza las líneas RB3 para recepción y
RB2 para transmisión sólo cuando la placa está en modo normal. Estas líneas van a parar a un transceiver que adapta los niveles de tensión para que los mensajes puedan ser transmitidos al bus CAN. La placa está preparada para conectar directamente las líneas CANH y CANL del bus CAN en los terminales del mismo nombre.
Análisis y aplicación de los buses de campo a la domótica
185
Los interruptores SN6 y SE4 sirven para activar el transceiver o ponerlo en modo Standby, por tanto, estos interruptores pueden estar según la configuración de modo extendido incluso estando realmente en modo normal siempre y cuando no se vaya a utilizar el módulo CAN, de este modo se puede disminuir el consumo de energía.
Resumiendo: Modo normal con transceiver activado SN6 on ; SE4 off Modo normal con transceiver desactivado SN6 off ; SE4 on Modo extendido (transceiver desactivado permanentemente) SN6 off ; SE4 on Es muy importante que no estén ambos interruptores activados a la vez ya que se
provocaría un cortocircuito. Para más información sobre el módulo CAN consultar el datasheet del PIC18F448.
Fig. A.3. 9 Interfaz CAN
ENTRADAS ANALÓGICAS La placa dispone de una entrada analógica de propósito general accesible mediante el pin
AN1 que va conectado directamente a la patilla RA1 del PIC. Las señales analógicas que se le apliquen deben estar en el rango de 0 a 5V y la tierra de dichas señales debe estar conectada a tierra de la placa.
Existe otra entrada analógica accesible mediante el conector jack de entrada. A este jack
se puede conectar un micrófono de tipo electret o aplicar directamente una señal analógica (entrada de línea). Dependiendo del tipo de entrada habrá que configurar los interruptores SAx de una forma u otra.
Micrófono. La placa dispone de un circuito de polarización, adaptación y amplificación
específico para micrófonos electret. Sólo habría que conectar el micrófono a través del jack, sin ninguna fuente de energía externa ni circuito asociado a él, ya que es la propia PICMEO la que proporciona la energía al micrófono. En este caso los interruptores deben estar en esta posición:
SA1 – On SA2 – On SA3 – Off Entrada de línea. En este caso sí debe haber una fuente externa de energía que genere la
señal como por ejemplo un equipo de música, un reproductor de CD, etc. De nuevo hay que recordar que la señal debe estar en el rango de 0 a 5V. En este caso los interruptores deben estar en esta posición:
SA1 – Off SA2 – Off SA3 – On Para más información acerca del convertidor analógico digital consultar el datasheet del
PIC18F448.
Análisis y aplicación de los buses de campo a la domótica
186
BIBLIOGRAFÍA
[1] Héctor Kaschel and Ernesto Pinto, “Análisis del estado del arte de los buses de campo aplicados al
control de procesos industriales”. [2] Javier Landero Cruz, “Análisis de diferentes sistemas de comunicación en campo. Aplicación práctica
utilizando PROFIBUS DP” [3] Robert Bosch GmbH, “CAN Specification Version 2.0” Sep. 1991 [4] Norma ISO-11898 [5] Juan M. Vozmediano, “Notas Complementarias de la Asignatura Redes de Ordenadores” [6] J. Manuel Huidobro Moya, Ramón Millán Tejedor, “Domótica y edificios inteligentes” Ed. Creaciones
Copyright [7] Echelon Corporation, “Introduction to the LonWorks System” 1999 [8] Christoffer Andersson, "GPRS and 3G wireless applications" New York. John Wiley, cop. 2001 ISBN
0471414050 [9] Texas Instruments Incorporated, “TMS320f2810, TMS320F2811, TMS320F2812, TMS320C2810,
TMS320C2811, TMS320C2812 Digital Signal Processors Data Manual” Literature number: SPRS174K. Jun. 2004
[10] Spectrum Digital Incorporated, “eZdsp F2812 Technical Reference” Jul. 2002 [11] Texas Instruments Incorporated, “3.3 V CAN Transceivers (Rev. G)” Jun. 2002 [12] Microchip Technology Inc., “25AA640/25LC640 64K SPI Bus Serial EEPROM” Mar. 2004 [13] Texas Instruments Incorporated, “Code Composer Studio Getting Started Guide” Literature number:
SPRU509C. Nov. 2001 [14] Z-World Inc., “RabbitCore RCM2200 User’s Manual” Part Number 019-0097 · 030731-C. Ago. 2003 [15] Z-World Inc., “Dynamic C User’s Manual” Part Number 040831 • 019-0125-C. Ago. 2004 [16] Microchip Technology Inc., “PIC18FXX8 Data Sheet” Ene. 2003 [17] Microchip Technology Inc., “MCP2551 High-Speed CAN Transceiver” Nov. 2003 [18] Daniel D. Pollock "The theory and properties of thermocouple elements" Philadelphia, American
Society for Testing and Materials. 1971 ISBN 0803100744 [19] Sony Ericsson Mobile Communications International, “GM29 Technical Description” Publication
number: LZT 123 7359 R1A. Jun. 2002 [20] Sony Ericsson Mobile Communications International, “GC75 AT-Commands Manual” Publication
number: LZT 123 928 R1A. Jul. 2002
Análisis y aplicación de los buses de campo a la domótica
187
AGRADECIMIENTOS
A Sergio Gallardo Vázquez por su gran ayuda a lo largo del proyecto.
A José Escalera Ortiz Mª de los Ángeles Cortés Martínez José Luis Escalera Martínez Elena Escalera Martínez
por ayudarme a construir la maqueta.
A Juan Pedro Díaz García, alias “El Marqués de la Estacada” por ayudarme y hacerme perder el tiempo también ;-)