Fundamentos de MECATRÓNICA
MUSA JOUANEH
Departamento de Ingeniería Mecánica, Industrial y en Sistemas de la Universidad de Rhode Island
Traducción Mara Paulina Suárez Moreno Traductora profesional
Revisión técnica Mtro. Bernard van der Mersch Huerta Romo Universidad Iberoamericana
Australia · Brasil · Corea · España · Estados Unidos · Japón · México · Reino Unido · Singapur
Fundamentos de mecatrónica Musa Jouaneh Director Editorial para Latinoamérica: Ricardo H. Rodríguez Editora de Adquisiones para Latinoamérica: Claudia C. Garay Castro Gerente de Manufactura para Latinoamérica: Antonio Mateos Martínez Gerente Editorial de Contenidos en Español para Latinoamérica: Pilar Hernández Santamarina Gerente de Proyectos Especiales: Luciana Rabuffetti Coordinador de Manufactura: Rafael Pérez González Editora: Abril Vega Orozco Diseño de portada: Anneli Daniela Torres Arroyo Imagen de portada: © PP77LSK / Shutterstock.com Composición tipográfica: José Alejandro Hernández Hdez. Angélica Toledo Tirado
Impreso en México 1 2 3 4 5 6 7 19 18 17 16
© D.R. 2017 por Cengage Learning Editores, S.A. de C.V., una compañía de Cengage Learning, Inc. Corporativo Santa Fe Av. Santa Fe núm. 505, piso 12 Col. Cruz Manca, Santa Fe C.P. 05349, México, D.F. Cengage Learning® es una marca registrada usada bajo permiso. DERECHOS RESERVADOS. Ninguna parte de este trabajo, amparado por la Ley Federal del Derecho de Autor, podrá ser reproducida, transmitida, almacenada o utilizada en cualquier forma o por cualquier medio, ya sea gráfico, electrónico o mecánico, incluyendo, pero sin limitarse a lo siguiente: fotocopiado, reproducción, escaneo, digitalización, grabación en audio, distribución en internet, distribución en redes de información o almacenamiento y recopilación en sistemas de información a excepción de lo permitido en el Capítulo III, Artículo 27 de la Ley Federal del Derecho de Autor, sin el consentimiento por escrito de la Editorial. Traducido del libro Fundamentals of Mechatronics, SI. Musa Jouaneh. Publicado en inglés por Cengage Learning ©2013. ISBN: 978-1-111-56902-0 Datos para catalogación bibliográfica: Jouaneh, Musa. Fundamentos de mecatrónica. ISBN: 978-607-526-287-1 Visite nuestro sitio en: http://latinoamerica.cengage.com
ACERCA DEL AUTOR
Musa Jouaneh recibió su Licenciatura en Ingeniería Mecánica en la Universidad de Louisiana, Lafayette en 1984 y, después, asistió a la Universidad de California en Berkeley donde recibió su Maestría en Ingeniería en 1986 y su Doctorado en 1989. Actualmente es Profesor de Ingeniería Mecánica y Mecánica Aplicada en la Universidad de Rhode Island. Sus intereses en enseñanza incluyen mecatrónica, robótica, vigilancia y control en tiempo real, así como mecánica para ingeniería. El profesor Jouaneh ha recibido numerosos premios, incluyendo URI Outstanding Contributions to Intellectual Property Award (2004), The URI Foundation Teaching Excellence Award (2003), The 2002–2003 Edmund and Dorothy Marshall Faculty Excellence Award in Engineering, Albert E. Carlotti Faculty Excellence Award in Engineering (1993), y Graduate Fellowship, University of California at Berkeley (1984–1985). El doctor Jouaneh es miembro de la American Society of Mechanical Engineers (ASME, Sociedad Americana de Ingenieros Mecánicos) y miembro senior del Institute of Electrical and Electronic Engineers (IEEE, Instituto de Ingenieros Eléctricos y Electrónicos).
iv
CONTENIDO
Prefacio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix Prefacio para la Edición SI . . . . . . . . . . . . . . . . . . . . . . xii
CAPÍTULO 1 INTRODUCCIÓN A LA MECATRÓNICA . . . . . . . . . . . 1 1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Ejemplos de sistemas mecatrónicos . . . . . . . . . . . . . 3 1.3 Descripción general del texto . . . . . . . . . . . . . . . . . . 5 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
CAPÍTULO 2 CIRCUITOS ANÁLOGOS Y COMPONENTES . . . . . . . . 7 2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Elementos de un circuito análogo . . . . . . . . . . . . . . 8 2.3 Interruptores mecánicos . . . . . . . . . . . . . . . . . . . . . 10 2.4 Análisis de circuitos . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5 Circuitos equivalentes . . . . . . . . . . . . . . . . . . . . . . 14 2.6 Impedancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.7 Señales AC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.8 Energía en circuitos . . . . . . . . . . . . . . . . . . . . . . . . 21 2.9 Amplificadores operacionales . . . . . . . . . . . . . . . . . 22 2.9.1 Op-amp comparador . . . . . . . . . . . . . . . . . . . . . . 24 2.9.2 Op-amp inversor . . . . . . . . . . . . . . . . . . . . . . . . 24 2.9.3 Op-amp no inversor . . . . . . . . . . . . . . . . . . . . . . 26 2.9.4 Op-amp diferencial . . . . . . . . . . . . . . . . . . . . . . . 27 2.9.5 Op-amp integrador . . . . . . . . . . . . . . . . . . . . . . . 28 2.9.6 Amplificador de energía . . . . . . . . . . . . . . . . . . . 29 2.10 Puesta a tierra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.11 Solenoides y relés . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.11.1 Solenoides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.11.2 Relés electromecánicos . . . . . . . . . . . . . . . . . . . . 31 2.12 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . . 32 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
CAPÍTULO 3 DISPOSITIVOS ELECTRÓNICOS SEMICONDUCTORES Y CIRCUITOS DIGITALES . . . . . . . . . . . . . . . . . . . . 36 3.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 Diodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2.1 Diodo Zener . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.2 LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2.3 Fotodiodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3 Tiristores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4 Transistor de unión bipolar . . . . . . . . . . . . . . . . . . 42 3.4.1 Circuito de conmutación con transistores . . . . . . . . 43 3.4.2 Circuito seguidor emisor . . . . . . . . . . . . . . . . . . . 45 3.4.3 Salida de colector abierto . . . . . . . . . . . . . . . . . . . 47 3.4.4 Fototransistor, fotointerruptor y optoaislador . . . . . 48 3.5 Transistor de efecto de campo semiconductor de óxido de metal . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.6 Circuitos lógicos combinacionales . . . . . . . . . . . . . 51 3.6.1 Álgebra booleana . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.6.2 Generación de función booleana a partir de tablas de verdad . . . . . . . . . . . . . . . . . . . . . . . 54 3.6.3 Multiplexores y decodificadores . . . . . . . . . . . . . . . 56 3.7 Circuitos lógicos secuenciales . . . . . . . . . . . . . . . . 57 3.8 Familias de circuitos . . . . . . . . . . . . . . . . . . . . . . . . 64 3.9 Dispositivos digitales . . . . . . . . . . . . . . . . . . . . . . . 68 3.10 Controladores de puente H . . . . . . . . . . . . . . . . . 72 3.11 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . . 74 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
CAPÍTULO 4 MICROCONTROLADORES . . . . . . . . . . . . . . . . . . 78 4.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2 Sistemas de numeración . . . . . . . . . . . . . . . . . . . . . 79 4.2.1 Sistema decimal . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2.2 Sistema binario . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.2.3 Sistema hexadecimal . . . . . . . . . . . . . . . . . . . . . . 80 4.2.4 Representación de números negativos . . . . . . . . . . 81 4.2.5 Representación de números reales . . . . . . . . . . . . . 82 4.3 Microprocesadores y microcrontroladores . . . . . . 82 4.4 Microcontrolador PIC . . . . . . . . . . . . . . . . . . . . . . 84 4.4.1 Familias de microcontroladores PIC . . . . . . . . . . . 85 4.4.2 Distribución de terminales . . . . . . . . . . . . . . . . . . 87 4.4.3 Componentes PIC MCU . . . . . . . . . . . . . . . . . . . 89 4.4.4 Fuente del reloj/oscilador . . . . . . . . . . . . . . . . . . . 91 4.4.5 Operación I/O y A/D . . . . . . . . . . . . . . . . . . . . . 92 4.4.6 Salida PWM y operaciones de reinicio . . . . . . . . . 93
v
vi
Contenido
4.5 Programación del microcontrolador PIC 94 4.5.1 Programadores . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.5.2 Gestores de arranque . . . . . . . . . . . . . . . . . . . . . . 96 4.6 Programación en lenguaje C . . . . . . . . . . . . . . . . . 96 4.6.1 Funciones PIC-C I/O . . . . . . . . . . . . . . . . . . . . . 98 4.6.2 Funciones PIC-C A/D . . . . . . . . . . . . . . . . . . . . 99 4.6.3 Funciones de sincronización PIC-C . . . . . . . . . . . 99 4.6.4 Funciones PIC-C PWM . . . . . . . . . . . . . . . . . . 100 4.7 Dispositivos y características PIC MCU 101 4.7.1 Memoria de datos . . . . . . . . . . . . . . . . . . . . . . . 101 4.7.2 Datos EEPROM . . . . . . . . . . . . . . . . . . . . . . . 101 4.7.3 Memoria del programa . . . . . . . . . . . . . . . . . . . 101 4.7.4 Retrasos y temporizadores . . . . . . . . . . . . . . . . . 102 4.7.5 Sincronización PWM y ciclo de trabajo . . . . . . . 103 4.7.6 Temporizador de vigilancia (watchdog) . . . . . . . 104 4.7.7 Ahorro de energía . . . . . . . . . . . . . . . . . . . . . . . 105 4.7.8 A/E/USART . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.7.9 Comparador análogico . . . . . . . . . . . . . . . . . . . . 107 4.7.10 Interfaz de Puerto Serial Síncrono (SSP) . . . . 107 4.8 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.8.1 Aplicaciones de las interrupciones . . . . . . . . . . . . 108 4.8.2 Procesamiento de interrupciones . . . . . . . . . . . . . 109 4.8.3 Manejo de interrupciones PIC-C . . . . . . . . . . . . 111 4.9 Programación en lenguaje ensamblador . . . . . . . 113 4.9.1 Instrucciones en lenguaje ensamblador . . . . . . . . 113 4.9.2 Ejemplos de programación en lenguaje ensamblador 113 4.9.3 Integración de lenguaje C y ensamblador . . . . . . 116 4.9.4 Instrucciones en lenguaje ensamblador PIC18 . . 117 4.10 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . 118 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
CAPÍTULO 5 ADQUISICIÓN DE DATOS Y ESTABLECIMIENTO DE INTERFAZ MICROCONTROLADOR/PC . . . . . . . 122 5.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.2 Teoría de muestreo . . . . . . . . . . . . . . . . . . . . . . . . 123 5.3 Convertidor analógico-digital . . . . . . . . . . . . . . . 123 5.3.1 Características A/D . . . . . . . . . . . . . . . . . . . . . . 123 5.3.2 Operación A/D . . . . . . . . . . . . . . . . . . . . . . . . . 126 5.3.3 Configuración de señal de entrada A/D . . . . . . . 127 5.4 Convertidor digital-analógico . . . . . . . . . . . . . . . 128 5.4.1 Características D/A . . . . . . . . . . . . . . . . . . . . . 128 5.4.2 Operación D/A . . . . . . . . . . . . . . . . . . . . . . . . . 128 5.5 Puerto paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5.6 Programación de la tarjeta de adquisición de datos 131
5.7 Puerto en serie USART . . . . . . . . . . . . . . . . . . . . 132 5.8 Interfaz periférica en serie . . . . . . . . . . . . . . . . . . 136 5.9 Interfaz de circuito interintegrado . . . . . . . . . . . . 138 5.10 Comunicación USB . . . . . . . . . . . . . . . . . . . . . . 140 5.10.1 Estándares y terminología USB . . . . . . . . . . . . 140 5.10.2 Transferencia de datos USB . . . . . . . . . . . . . . . 142 5.10.3 Modos de transferencia . . . . . . . . . . . . . . . . . . 144 5.10.4 Soporte USB en microcontroladores PIC . . . . . 144 5.11 Conexión de red . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.11.1 Estructura y operación . . . . . . . . . . . . . . . . . . . 146 5.11.2 Soporte de programación VBE . . . . . . . . . . . . . 148 5.12 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . 150 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
CAPÍTULO 6 SOFTWARE DE CONTROL . . . . . . . . . . . . . . . . . . 153 6.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 6.2 Tiempo y temporizadores . . . . . . . . . . . . . . . . . . 154 6.3 Funciones de sincronización . . . . . . . . . . . . . . . . 156 6.3.1 Implementación del temporizador en MATLAB . 156 6.3.2 Implementación del temporizador en VBE . . . . . 159 6.3.3 Performance Counter . . . . . . . . . . . . . . . . . . . . 160 6.3.4 Sincronización en microcontrolador PC . . . . . . . 161 6.4 Tareas de control . . . . . . . . . . . . . . . . . . . . . . . . . 162 6.4.1 Tareas de control de evento discreto . . . . . . . . . . . 164 6.4.2 Tareas de control de retroalimentación . . . . . . . . 169 6.5 Escaneo de tarea . . . . . . . . . . . . . . . . . . . . . . . . . . 170 6.5.1 Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 6.5.2 Implementación . . . . . . . . . . . . . . . . . . . . . . . . 171 6.6 Organización del estado . . . . . . . . . . . . . . . . . . . . 173 6.7 Implementación de la tarea de control en software 174 6.7.1 Implementación en MATLAB . . . . . . . . . . . . . . 174 6.7.2 Implementación en VBE . . . . . . . . . . . . . . . . . . 178 6.7.3 Implementación en un microcontrolador PIC 180 6.8 Multitasking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 6.9 Subprocesos en VBE . . . . . . . . . . . . . . . . . . . . . . 186 6.9.1 BackgroundWorker . . . . . . . . . . . . . . . . . . . . . . 186 6.9.2 Clase subproceso . . . . . . . . . . . . . . . . . . . . . . . . 188 6.10 Intercambio de recursos . . . . . . . . . . . . . . . . . . . 188 6.11 Sistemas operativos en tiempo real . . . . . . . . . . 192 6.11.1 Sistema PIC-C RTOS . . . . . . . . . . . . . . . . . . 194 6.11.2 ThreadX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 6.12 Interfaz gráfica de usuario . . . . . . . . . . . . . . . . . 197 6.12.1 Interfaz gráfica de usuario MATLAB . . . . . . . 198 6.12.2 Interfaz gráfica de usuario VBE . . . . . . . . . . . 202
Contenido
6.13 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . 205 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
CAPÍTULO 7 SENSORES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 7.2 Terminología de desempeño del sensor . . . . . . . . 210 7.2.1 Características estáticas . . . . . . . . . . . . . . . . . . . 210 7.2.2 Características dinámicas . . . . . . . . . . . . . . . . . . 211 7.3 Medición del desplazamiento . . . . . . . . . . . . . . . . 212 7.3.1 Potenciómetros . . . . . . . . . . . . . . . . . . . . . . . . . 213 7.3.2 LVDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 7.3.3 Codificador incremental . . . . . . . . . . . . . . . . . . 216 7.3.4 Codificador absoluto . . . . . . . . . . . . . . . . . . . . . 219 7.3.5 Resolutor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 7.4 Medición de proximidad . . . . . . . . . . . . . . . . . . . 221 7.4.1 Sensores de efecto hall . . . . . . . . . . . . . . . . . . . . 221 7.4.2 Sensores de proximidad inductivos . . . . . . . . . . . 223 7.4.3 Sensores ultrasónicos . . . . . . . . . . . . . . . . . . . . . 225 7.4.4 Sensores de proximidad tipo contacto . . . . . . . . . 225 7.5 Medición de velocidad . . . . . . . . . . . . . . . . . . . . . 226 7.5.1 Tacómetro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 7.5.2 Codificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 7.6 Medición de deformación . . . . . . . . . . . . . . . . . . 227 7.7 Medición de fuerza y torque . . . . . . . . . . . . . . . . 230 7.7.1 Sensores de fuerza . . . . . . . . . . . . . . . . . . . . . . . 230 7.7.2 Sensor de fuerza resistivo . . . . . . . . . . . . . . . . . 231 7.7.3 Sensores de torque . . . . . . . . . . . . . . . . . . . . . . . 231 7.8 Medición de temperatura . . . . . . . . . . . . . . . . . . . 233 7.8.1 Termistores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.8.2 Termopares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 7.8.3 RTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 7.8.4 Sensores de temperatura IC . . . . . . . . . . . . . . . . 237 7.9 Medición de vibración . . . . . . . . . . . . . . . . . . . . . 238 7.9.1 Principio operativo de masa sísmica . . . . . . . . . . 238 7.9.2 Acelerómetros piezoeléctricos . . . . . . . . . . . . . . . 241 7.9.3 Acelerómetros de Circuito Integrado (IC) . . . . . . 243 7.10 Acondicionamiento de señal . . . . . . . . . . . . . . . . 244 7.10.1 Filtrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 7.10.2 Amplificación . . . . . . . . . . . . . . . . . . . . . . . . . 250 7.10.3 Circuitos puente . . . . . . . . . . . . . . . . . . . . . . . 250 7.11 Salida del sensor . . . . . . . . . . . . . . . . . . . . . . . . . 255 7.12 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . 256 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
vii
CAPÍTULO 8 ACTUADORES . . . . . . . . . . . . . . . . . . . . . . . . . . 259 8.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 8.2 Motores DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 8.2.1 Motor DC con escobilla . . . . . . . . . . . . . . . . . . . 260 8.2.2 Motor DC sin escobilla . . . . . . . . . . . . . . . . . . . 269 8.2.3 Servoaccionamientos . . . . . . . . . . . . . . . . . . . . . 272 8.2.4 Control PWM de motores DC . . . . . . . . . . . . . . 274 8.3 Motores AC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 8.4 Motores a pasos . . . . . . . . . . . . . . . . . . . . . . . . . . 279 8.4.1 Métodos de accionamiento . . . . . . . . . . . . . . . . . 280 8.4.2 Cableado y amplificadores . . . . . . . . . . . . . . . . . 283 8.5 Otros tipos de motor . . . . . . . . . . . . . . . . . . . . . . 287 8.6 Selección del actuador . . . . . . . . . . . . . . . . . . . . . 289 8.7 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . . 290 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
CAPÍTULO 9 CONTROL DE RETROALIMENTACIÓN . . . . . . . . . 293 9.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 9.2 Control de lazo abierto y de lazo cerrado . . . . . . 294 9.3 Diseño de sistemas de control de retroalimentación 295 9.4 Fundamentos de control . . . . . . . . . . . . . . . . . . . 295 9.5 Controlador PID . . . . . . . . . . . . . . . . . . . . . . . . . 298 9.5.1 Control de velocidad de una inercia . . . . . . . . . . 299 9.5.2 Control de posición de una inercia . . . . . . . . . . . 302 9.6 Implementación digital de un controlador PID . . 305 9.7 No linealidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 9.7.1 Saturación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 9.7.2 Fricción no lineal . . . . . . . . . . . . . . . . . . . . . . . 308 9.8 Otros esquemas de control . . . . . . . . . . . . . . . . . . 309 9.8.1 Controlador encendido/apagado . . . . . . . . . . . . . 309 9.8.2 Controlador retroalimentado de estado . . . . . . . . 310 9.9 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . . 314 Preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
CAPÍTULO 10 PROYECTOS MECATRÓNICOS . . . . . . . . . . . . . . . 316 10.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 10.2 Mesa rotatoria accionada por motor a pasos . . . 316 10.2.1 Objetivos del proyecto . . . . . . . . . . . . . . . . . . . 317 10.2.2 Descripción de la configuración . . . . . . . . . . . . 317 10.2.3 Circuito de la interfaz . . . . . . . . . . . . . . . . . . . 317 10.2.4 Comandos de operación . . . . . . . . . . . . . . . . . . 318
viii
Contenido
10.2.5 Código del microcontrolador . . . . . . . . . . . . . . . 319 10.2.6 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 10.2.7 Lista de partes necesarias . . . . . . . . . . . . . . . . . 324 10.3 Sistema dispensador de papel que utiliza un rodillo accionado por un motor DC controlado por posición . . . . . . . 325 10.3.1 Objetivos del proyecto . . . . . . . . . . . . . . . . . . . 325 10.3.2 Descripción de la configuración . . . . . . . . . . . . 325 10.3.3 Interfaz de usuario . . . . . . . . . . . . . . . . . . . . . 326 10.3.4 Perfil del movimiento . . . . . . . . . . . . . . . . . . . 327 10.3.5 Software de control . . . . . . . . . . . . . . . . . . . . . 328 10.3.6 Modelado y simulación del sistema . . . . . . . . . . 332 10.3.7 Simulación de controlador de retroalimentación en MATLAB . . . . . . . . . 333 10.3.8 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 10.3.9 Lista de partes necesarias . . . . . . . . . . . . . . . . . 336 10.4 Sistema de calefacción de temperatura controlada que utiliza una bobina de calentamiento, una placa de cobre y un sensor de temperatura . . . . . . . . . 336 10.4.1 Objetivos del proyecto . . . . . . . . . . . . . . . . . . . 336 10.4.2 Descripción de la configuración . . . . . . . . . . . . 336 10.4.3 Interfaz de usuario VBE PC . . . . . . . . . . . . . . 338 10.4.4 Código del microcontrolador . . . . . . . . . . . . . . . 339 10.4.5 Modelado y simulación del sistema físico . . . . . . 342 10.4.6 Simulación del controlador en MATLAB . . . . . 344 10.4.7 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 10.4.8 Lista de partes necesarias . . . . . . . . . . . . . . . . . 345 10.5 Resumen del capítulo . . . . . . . . . . . . . . . . . . . . . 345
BIBLIOGRAFÍA . . . . . . . . . . . . . . . . . . . . . . . . . 347 RESPUESTAS A LOS PROBLEMAS . . . . . . . . . . . . . . . . . . . . . . . . 349
SELECCIONADOS
APÉNDICE A VISUAL BASIC EXPRESS . . . . . . . . . . . . . . . . . . . 351 A.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
A.2 Aplicación Console . . . . . . . . . . . . . . . . . . . . . . . 351 A.3 Aplicaciones Windows Forms . . . . . . . . . . . . . . . 353 A.4 Archivos y estructura del directorio . . . . . . . . . . 355 A.5 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 A.6 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 A.7 Ciclado e instrucciones condicionales . . . . . . . . . 358 A.8 Funciones y subprocedimientos . . . . . . . . . . . . . 360 A.9 Objetos y clases . . . . . . . . . . . . . . . . . . . . . . . . . . 363 A.10 Manejo de errores . . . . . . . . . . . . . . . . . . . . . . . 365 A.11 Programación de gráficas . . . . . . . . . . . . . . . . . . 366 A.12 Controles ToolBox . . . . . . . . . . . . . . . . . . . . . . . 367 A.13 Entrada/salida del archivo . . . . . . . . . . . . . . . . . 368
APÉNDICE B RESPUESTA DEL SISTEMA . . . . . . . . . . . . . . . . . 370 B.1 Tiempo de respuesta de los sistemas de primer orden . . . . . . . . . . . . . . . . . . . . . . . . . . 370 B.2 Tiempo de respuesta de los sistemas de segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . 371 B.3 Respuesta de la frecuencia . . . . . . . . . . . . . . . . . . 374
APÉNDICE C SIMULACIÓN DE SISTEMAS DINÁMICOS MATLAB . . 377 C.1 Solución de ecuaciones diferenciales en MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 C.1.1 Método de solución de espacio de estado . . . . . . . . 377 C.1.2 Integración directa mediante solucionadores ODE . . . . . . . . . . . . . . . . . . . . . 379 C.1.3 Métodos de función de transferencia . . . . . . . . . . 380 C.2 Representación de diagrama de bloques y simulación en MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
APÉNDICE D CÓDIGO ASCII DE 7 BITS . . . . . . . . . . . . . . . . . 383 ÍNDICE ANALÍTICO . . . . . . . . . . . . . . . . . . . . . . 385 TABLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
CAPÍTULO
Circuitos análogos y componentes
2
OBJETIVOS DEL CAPÍTULO: Cuando haya terminado este capítulo, debería ser capaz de: • • • • • • • • • • •
Explicar las características de los componentes de los circuitos básicos Explicar los diferentes tipos de interruptores Realizar análisis de circuitos por medio de la ley de voltaje de Kirchhoff (KVL) y la ley de corriente de Kirchhoff (KCL) Determinar un circuito equivalente para un circuito de dos terminales Explicar el concepto de impedancia y los efectos de carga Determinar la corriente RMS y el voltaje RMS en un circuito AC Determinar los componentes de potencia en un circuito AC Analizar diferentes circuitos op-amp Explicar técnicas apropiadas de puesta a tierra Explicar la función de un solenoide Utilizar un relé como elemento de interfaz
2.1 INTRODUCCIÓN Prácticamente, todos los dispositivos mecatrónicos tienen algún tipo de circuito eléctrico y, por tanto, comprender y analizar los circuitos eléctricos es importante en mecatrónica. Un circuito se define como una trayectoria cerrada a través de una serie de componentes en los que fluye una corriente. Los circuitos eléctricos pueden ser de tipo análogo o digital. Mientras en los circuitos análogos el voltaje es continuo y puede tener cualquier valor sobre un rango específico, en los circuitos digitales, normalmente, la señal del voltaje se representa sólo mediante dos niveles diferentes [como 0 y 5 volts (V)]. Los circuitos análogos son más sensibles al ruido o alteraciones que los circuitos digitales. Mientras en un circuito análogo, cualquier ruido se traduce en cambios en la señal o en pérdida de información, en un circuito digital las pequeñas alteraciones no tienen efecto. Siempre que la señal permanezca dentro de un rango específico en un circuito digital, representa la misma información. Los circuitos digitales se utilizan para realizar operaciones lógicas a través de hardware en lugar de software. Dos magnitudes básicas en los circuitos eléctricos son el voltaje o potencial eléctrico y la corriente. Mientras el voltaje se refiere a la capacidad de dirigir una corriente de electrones a través de un circuito, similar al concepto de fuerza en un sistema mecánico, la corriente es una medida del flujo de carga en el circuito. La unidad de medición de la corriente es amperes (A). La integral de tiempo de la corriente se define como carga eléctrica y se mide en coulombs (C). Cuando el voltaje o la corriente no cambian su valor con respecto al tiempo en un circuito recibe el nombre de circuito de corriente directa (DC, por sus siglas en inglés). Por otro lado, cuando el voltaje o corriente varía de forma sinusoidal en el tiempo recibe el nombre de circuito de corriente alterna (AC, por sus siglas en inglés.). 7
8
2
Circuitos análogos y componentes
Este capítulo cubre los conceptos básicos de circuitos análogos y sus componentes. Los circuitos digitales se abordan en el siguiente capítulo. Para leer más, consulte [3-6].
2.2 ELEMENTOS DE UN CIRCUITO ANÁLOGO Los elementos del circuito incluyen fuentes de alimentación (como una corriente eléctrica o una batería), interruptores para circuito cerrado y abierto, y componentes del circuito (como resistores o capacitores). La figura 2.1 muestra un esquema de un circuito eléctrico. La imagen muestra un circuito cerrado, donde un elemento conductor (como un cable de cobre) se conecta a la fuente de voltaje (o fuente de corriente) para cargar los elementos del circuito.
Figura 2.1
Ánodo Fuente de voltaje Cátodo
Esquema de un circuito eléctrico
+
+ I
Carga
La figura 2.1 también muestra la dirección de un flujo de corriente convencional desde el ánodo (terminal positiva) de la fuente de alimentación hasta el cátodo (terminal negativa). La dirección del flujo de un circuito convencional es opuesta a la dirección del flujo de electrones real en el circuito, pero se mantuvo debido a Benjamin Franklin, quien pensaba que la corriente eléctrica se debía al movimiento de partículas con carga positiva. Los componentes del circuito pueden ser de tipo pasivo —los cuales no requieren potencia externa para operar (como resistores y capacitores)— o activo —que necesitan energía para operar (como los amplificadores operacionales)—. En esta sección nos enfocaremos en los tres elementos básicos pasivos del circuito, es decir: el resistor, el capacitor y el inductor. La tabla 2.1 muestra los símbolos eléctricos para estos elementos, así como para las dos fuentes de energía, que normalmente son representadas en los circuitos. Las cuales son: fuente de voltaje y fuente de corriente ideales. Estas fuentes se consideran ideales porque no tienen ninguna resistencia, capacitancia o inductancia interna. El resistor es un elemento que disipa la energía. La ley de Ohm provee la relación constitutiva de un resistor ideal, en la que la caída de voltaje a través del resistor está relacionada de forma lineal con la corriente a través del resistor, o: V = IR
(2.1) Elemento
Tabla 2.1 Símbolos de los elementos de un circuito básico
Referencia
Resistor
R
Capacitor
C
Inductor
L
Fuente de voltaje ideal
V
Fuente de corriente ideal
I
Símbolo del circuito
+
2.2
Elementos de un circuito análogo
Figura 2.2
a)
Tipos de resistor a) montaje superficial, b) alambre enrollado, c) película gruesa y d) composición de carbono
b)
(Cortesía de Ohmite Mfg. Co. Arlington Heights, IL)
c)
d)
La resistencia se mide en unidades de ohms (V). Los resistores pueden ser tanto de tipo fijo como variable. Los resistores de tipo fijo se fabrican en variedad de formas, incluyendo montaje superficial, alambre enrollado, película gruesa y composición de carbono (véase la figura 2.2). Los resistores de baja potencia y tipo fijo están formados por una composición moldeada de carbono y tienen una resistencia que va desde pocos ohms hasta aproximadamente 20 MV. Estos resistores tienen forma cilíndrica y tamaños que incrementan la potencia nominal del resistor. La potencia nominal normal es de 1/4 a 1 watt (W). La resistencia se puede leer a partir del código de color impreso en los resistores. Por lo común, las bandas de los resistores son de cuatro colores, como en la figura 2.3, pero también existen resistores con cinco o seis bandas de color. En el caso de los resistores de cuatro bandas, las primeras tres bandas de la izquierda muestran el valor del resisitor, mientras que la cuarta provee la tolerancia de la resistencia (Tol). La siguiente fórmula proporciona la resistencia: R = ab × 10c ( D %Tol)
Figura 2.3 Bandas de color del resistor
a b c Tol
(2.2)
donde la banda a es el valor del dígito de las decenas, la banda b es el valor del dígito de las unidades, la banda c es el valor de la potencia con exponente de base 10 y la banda Tol provee la tolerancia o la variación del porcentaje esperado en el valor del resistor. La tabla 2.2 provee estos valores. a, b, c
Valor
Banda Tol
Valor
Negro
0
Plata
10%
Café
1
Oro
5%
Rojo
2
Café
1%
Anaranjado
3
Rojo
Amarillo
4
Verde
0.5%
Verde
5
Azul
0.25%
Azul
6
Violeta
Violeta
7
Gris
Gris
8
Blanco
9
2%
0.1% 0.05%
Por ejemplo, un resistor cuyas bandas son de color café, negro, anaranjado y plata tiene una resistencia de 10k +/− 10% ohms. La resistencia del resistor real no es constante, pero incrementa con la temperatura. Los resistores comerciales están disponibles en ciertos valores preferidos, los cuales dependen de la tolerancia de la resistencia. Por ejemplo, los valores preferidos del resistor incluyen 1 V, 100 V, 10 kV y 1 MV; 22 V, 2.2 kV y 220 kV; o 16 V, 1.6 kV y 160 kV.
Tabla 2.2 Código de color de las bandas del resistor
9
10
2
Circuitos análogos y componentes
Los resistores de tipo variable incluyen reóstatos y potenciómetros. Mientras los reóstatos son resistores de dos terminales, los potenciómetros son resistores de tres terminales. Pueden ser de tipo lineal o giratorio, y la resistencia entre las terminales cambia conforme cambia la posición de la escobilla de la terminal. A diferencia de un resistor, un capacitor es un elemento de almacenamiento de energía. La relación constitutiva para un capacitor es:
(2.3)
dV 1 " I dt C donde C es la capacitancia en farads (F). Por lo general, los capacitores pequeños son del tipo cerámico, y se pueden utilizar tanto en circuitos AC como DC. Estos capacitores tienen una capacitancia menor a 0.1 micro-farads ( F). Los capacitores de gran capacitancia (hasta algunos miles de micro-farads) son de tipo electrolítico. Éstos se utilizan sólo en circuitos DC y sus cables están polarizados. Una característica de los capacitores es la corriente de fuga, es decir, la que fluye entre las placas del capacitor cuando se aplica un voltaje a lo largo de las mismas. Esta corriente conduce a la pérdida de carga a través del tiempo desde el capacitor. Sin embargo, esta corriente en general es pequeña, a menos que el capacitor sea del tipo electrolítico. Al igual que los resistores, los capacitores son tanto de tipo fijo como variable. Un inductor también es un elemento de almacenamiento de energía. En la práctica, los elementos inductivos incluyen solenoides y motores. La relación constitutiva para un inductor es: dl 1 " V dt L
(2.4)
donde L es la inductancia y se mide en unidades de henry (H). Los inductores de tamaño pequeño son de tipo moldeado y tienen una inductancia que oscila entre submicro y varios miles de microhenrys ( H).
2.3 INTERRUPTORES MECÁNICOS Los interruptores mecánicos son dispositivos que crean o rompen un contacto en los circuitos eléctricos. Hay una variedad de interruptores mecánicos disponibles, incluyendo palanca, botón pulsador, oscilador, guía y otros (véase la figura 2.4). Los interruptores de palanca se caracterizan por su número de polos y tiros. Mientras los polos se refieren a la cantidad de circuitos que se pueden completar mediante la misma activación, los tiros aluden al número de contactos individuales para cada polo. La figura 2.5 muestra cuatro configuraciones diferentes de interruptores de palanca. En la figura 2.5a) se muestra un interruptor de un solo polo y un solo tiro (SPST, por sus siglas en inglés), que es la configuración de los interruptores básicos (como los de encendido/apagado y los mecánicos que limitan el contacto). En la figura 2.5b) se muestra un interruptor de un solo polo y tiro doble (SPDT, por sus siglas en inglés). La configuración de la figura 2.5b) se utiliza por lo regular en el cableado residencial de habitaciones que tienen dos interruptores para operar la instalación eléctrica, y la figura 2.6 muestra un ejemplo de un circuito que utiliza dos interruptores SPDT. Observe que, en general, al interruptor SPDT se le conoce como ‘interruptor de tres vías’ La figura 2.5c) muestra un interruptor de doble polo y un solo tiro (DPST, por sus siglas en inglés), que es equivalente a dos interruptores SPST controlados por un solo mecanismo. La figura 2.5d) muestra una configuración de interruptor de doble polo y doble tiro (DPDT, por sus siglas en inglés). En general, esta configuración se utiliza en construcción o relés electromecánicos (que se analizarán en la siguiente sección).
2.3
Interruptores mecánicos
11
Figura 2.4 Interruptores mecánicos de a) palanca, b) botón pulsador, c) oscilador y d) guía (Cortesía de CIT Relay & Switch, Minneapolis, MN)
a)
b)
c)
d)
Figura 2.5 Diferentes configuraciones de interruptores de palanca
b) SPDT
a) SPST
c) DPST
d) DPDT
Figura 2.6
Bombilla
Circuito cableado para un foco mediante dos interruptores SPDT
Neutral
Conectado
Por lo general, un interruptor DPDT cableado de forma interna para aplicaciones de inversión de polaridad recibe el nombre de ‘interruptor de cuatro vías’ (véase la figura 2.7). Este interruptor sólo tiene cuatro cables que salen de él (en lugar de seis) y se puede insertar entre dos interruptores SPDT para permitir el cableado de un solo foco mediante tres interruptores (consulte el problema 2.3). A los interruptores de palanca se les conoce como tipo ‘romper antes de crear’, lo cual significa que el polo del interruptor nunca se conecta a ambas terminales en configuración de interruptor SPDT o DPDT. Los interruptores de botón pulsador tienen el símbolo mostrado en la figura 2.8. Pueden ser de dos tipos: normalmente abiertos (NO, por sus siglas en inglés) o normalmente cerrados (NC, por sus siglas en inglés), lo cual se refiere al estado del interruptor antes de activarlo. Los interruptores de botón pulsador se utilizan en gran medida como interruptores de reinicio y de timbre de puerta. Una desventaja de los interruptores mecánicos es el rebote del interruptor. Puesto que, en general, el brazo del interruptor es un elemento flexible y pequeño, la apertura y el cierre de los interruptores mecánicos causa que el interruptor rebote varias veces antes de colocarlo en el estado deseado. La figura 2.9 muestra un patrón típico al cerrar un interruptor. Observe que cada uno de los contactos durante el intervalo de rebote, que por común dura de 15 a 25 ms, puede ser registrado por un procesador como una acción separada del interruptor a menos que se integren los medios para abordar este problema. El enfoque más común para resolver este problema es proporcionar un circuito de eliminación de rebote para cada interruptor que utilice los elementos del circuito biestable (los cuales se analizarán en el capítulo 3).
Figura 2.7 Interruptor DPDT cableado como ‘interruptor de cuatro vías’
Figura 2.8 Interruptor de botón pulsador a) normalmente abierto y b) normalmente cerrado
NO
NC
a)
b)
12
2
Circuitos análogos y componentes
Figura 2.9
Interruptor cerrado
Patrón de rebote para cerrar el interruptor
Interruptor abierto 15 a 25 ms
2.4 ANÁLISIS DE CIRCUITOS La figura 2.10 muestra un circuito análogo típico. El objetivo del análisis del circuito es determinar el voltaje y la corriente en cualquiera de sus puntos. Esto se realiza con la ayuda de dos leyes: la ley de voltaje de Kirchhoff (KVL, por sus siglas en inglés) y la ley de corriente de Kirchhoff (KCL, por sus siglas en inglés).
Figura 2.10
V1
Un circuito eléctrico típico.
I1
I3
B
I2
+ +
+ VS
+ V2
V3
A
La ley de voltaje de Kirchhoff establece que la suma algebraica del voltaje que cae y aumenta alrededor de cualquier trayectoria cerrada en un circuito es cero. En forma de ecuación, esto se establece como: i =N
(2.5)
∑ Vi
= 0
i =1
donde N es el número de elementos en la trayectoria seleccionada. Para ilustrar esto, considere el ciclo izquierdo del circuito mostrado en la figura 2.10. Al iniciar en cualquier punto en el circuito (como el A) y avanzar en el sentido de las agujas del reloj, obtenemos:
(2.6)
Vs − V1 − V2 = 0 Al obtener la ecuación (2.6), los incrementos de potencial se consideran positivos y las caídas de potencial, negativos. Conforme recorremos el ciclo, el potencial de la fuente de voltaje Vs aumenta (va de − a +) y el potencial a lo largo del segundo y tercer elementos cae (va de + a −). Si fuéramos en sentido contrario a las agujas del reloj a través del ciclo, obtendríamos una expresión equivalente. Aquí, la señal de las disminuciones y aumentos de potencial para los tres elementos sería opuesta, pero el formato final es equivalente. La ley de corriente de Kirchhoff establece que la suma de la corriente en un nodo es cero, o en forma de ecuación: i =N
(2.7)
∑ Ii
= 0
i =1
Al consultar la figura 2.10, KCL provee la siguiente relación entre las corrientes y el nodo B en el circuito:
(2.8)
I1 – I2 – I3 = 0
2.4
R1
R2
R1
R2
a) Circuito de división de voltaje y b) circuito de división de corriente
I2
I1
Figura 2.11
I Vin
Análisis de circuitos
V2
a)
b)
donde la corriente se considera positiva si entra al nodo y negativa si lo abandona. El ejemplo 2.1 ilustra el uso de KVL y KCL. Cuando se conectan dos resistores en serie en un circuito, como en la figura 2.11a), se le conoce como circuito de división de voltaje porque el voltaje se divide entre los dos resistores, con la caída de voltaje a lo largo de cada resistor proporcional a la resistencia de cada uno. Por ejemplo, el voltaje de salida a lo largo del resistor R2 es provisto por: V2 =
R2 Vin R1 + R 2
(2.9)
De igual forma, cuando se conectan dos resistores en paralelo dentro de un circuito, como en la figura 2.11b), recibe el nombre de circuito de división de corriente. La corriente a través del resistor R2 está dada por: R1 I R1 + R 2
I2 =
(2.10)
Observe que la corriente a través de R2 es el producto de la corriente de entrada I y la resistencia del otro resistor R1 dividida entre la suma de la resistencia de los dos resistores en el circuito. En muchos circuitos, podríamos tener varios elementos en configuración en serie o paralelo. La tabla 2.3 provee la resistencia total, la capacitancia y la inductancia para las conexiones en serie y paralelo de los elementos. Las expresiones de los valores totales se pueden proporcionar por medio de la relación constitutiva para el elemento en cuestión y al aplicar KVL o KCL. Elemento
Conexión en serie
Conexión en paralelo R1
R1
R2 R2
Resistor RT = R1 + R2
1/R T = 1/R 1 + 1/R 2 C1
C1
C2 C2
Capacitor 1/C T = 1/C 1 + 1/C 2
CT = C1 + C2 L1
L1
L2 L2
Inductor LT = L1 + L2
L T = 1/L 1 + 1/L 2
Tabla 2.3 Resistencia total, capacitancia e inductancia
13
14
2
Circuitos análogos y componentes
Ejemplo 2.1 Aplicación de KVL y KCL Para el circuito mostrado en la figura 2.12, determine la caída de voltaje así como la corriente a lo largo de cada uno de los tres resistores.
R1 = 1 kV V1 + + VS = 10 V
I1
I3
B
+ R2 = 2 kV
I2
+
V2
V3 R3 = 1 kV
Figura 2.12
Solución: Al aplicar KCL en el nodo B, obtenemos: I1 = I2 + I3
1)
10 = V1 + V2
2)
Al aplicar KVL al ciclo izquierdo tenemos:
A partir de la ley de Ohm aplicada a cada resistor y mediante la ecuación 2, obtenemos: I1 = (VS − V2 ) / R1, I2 = V2 /R2 e I3 = V3 /R3
3)
A partir de KVL aplicada al ciclo derecho, obtenemos: V3 − V2 = 0
4)
Al sustituir las expresiones de las ecuaciones (3) y (4) en la ecuación 1), obtenemos: (10 − V2 ) / R1 = V2 /R2 + V2 /R3 Al resolver V2, obtenemos V2 = 4 V. Al sustituir este resultado en las ecuaciones 2) y 4) tenemos V1 = 6 V, V2 = V3 = 4 V, I1 = 6 mA, I2 = 2 mA e I3 = 4 mA.
2.5 CIRCUITOS EQUIVALENTES Para cualquier circuito o red de dos terminales que sólo tiene elementos resistivos (o cualquier tipo de elementos, si se utiliza impedancia (véase la siguiente sección) en lugar de resistencia), el circuito se puede simplificar en una de dos formas: el circuito equivalente Thévenin o el circuito equivalente Norton. Estas formas simplificadas nos permiten enfocarnos en una parte específica de la red al reemplazar la red restante con un circuito equivalente. El circuito equivalente de Thévenin, como se muestra en la figura 2.13a),
Figura 2.13 a) Circuito equivalente Thévenin y b) circuito equivalente Norton
RTh
VTh
ISC
a)
RTh
b)
2.5
consiste en una fuente de voltaje ideal (VTH) conectada en serie con un resistor (RTH). El valor de VTh es el voltaje del circuito abierto del circuito original en las terminales. RTh se define como la relación del voltaje de circuito abierto VTH para la corriente de corto circuito (ISC ), donde la corriente de corto circuito es la que fluiría a través de las terminales, si éstas sufrieran un corto circuito. Como alternativa, RTH se puede encontrar al determinar la resistencia equivalente en las terminales cuando las fuentes de voltaje sufren un corto circuito y las fuentes de corriente son reemplazadas con fuentes abiertas. El circuito equivalente Norton, como se muestra en la figura 2.13b), consiste en una fuente de corriente ideal ISC conectada en paralelo con un resistor RTH. Como ilustración, considere el circuito mostrado en la figura 2.14. Nos gustaría reemplazar el circuito a la izquierda de los nodos a y b con un circuito equivalente Thévenin. El voltaje de circuito abierto del circuito izquierdo en las terminales a y b es simplemente el voltaje a lo largo del resistor R2, cuando se desconecta la carga. El voltaje está dado por: VTH =
R2 VS R1 + R 2
Circuitos equivalentes
Figura 2.14 a) Circuito para ser sustituido con uno equivalente de Thévenin
R1
(2.12)
puesto que ninguna corriente fluirá a través de R2. Por tanto, RTH es: R TH =
VTH R1R 2 = I SC R1 + R 2
(2.13)
Como alternativa, podemos determinar RTH a la resistencia en las terminales a y b, cuando al voltaje de alimentación aplicamos un corto circuito el corto circuito se realiza. En este caso, R1 y R2 actúan como dos resistores en paralelo y la resistencia en las terminales es la resistencia efectiva de estos dos resistores. Por tanto: R TH = REff =
R1R 2 R1 + R 2
(2.14)
Este concepto se ilustrará todavía más en el ejemplo 2.2. Ejemplo 2.2 Circuito equivalente Thévenin Determine el circuito equivalente Thévenin para el circuito mostrado en la figura 2.15. Permita que VS = 8 V, R1 = 2 V y R2 = R3 = 4 V.
R2
a
+ VS
R1
R3
Carga
b Figura 2.15
R2
Carga
b
(2.11)
VS R1
a
+ VS
Para determinar RTH, primero necesitamos encontrar la corriente de corto circuito ISC. Esta es la que fluirá a través de las terminales cuando se realice un corto circuito en a y b. Con la parte del circuito a la derecha de las terminales a y b eliminado. Esta corriente es simplemente: I SC "
15
16
2
Circuitos análogos y componentes
Solución: Empezamos por determinar el voltaje del circuito abierto en las terminales a y b, cuando se elimina la carga. Éste es igual que la caída de voltaje a lo largo del resistor R3. Observe que sin conexión entre las terminales a y b, los resistores R2 y R3 están en serie y a su vez los dos están en paralelo con el resistor R1. La caída de voltaje a lo largo de R2 y R3 es igual al voltaje a lo largo del resistor R1 u 8 V. Por medio de la regla de división de voltaje, el voltaje a lo largo de R3 es: VTH = VR3 =
4 8 = 4V 4 + 4
Para determinar RTH, encontramos la resistencia total de este circuito en las terminales a y b cuando se realiza un corto circuito VS. En este caso, la resistencia R1 no llega a funcionar y la resistencia de esta red es la combinación paralela de los resistores R2 y R3, que es de 2 V. Por tanto, RTH es de 2 V. El circuito equivalente Thévenin se muestra en la figura 2.16.
RTh
VTh
Carga
Figura 2.16 Observe que si la resistencia de carga es de 8 Ω, entonces la corriente a través de la carga es simplemente: IL=
VTH 4 = = 0.4 A R TH + RL 2+ 8
El lector debería verificar que se habría obtenido el mismo valor de corriente si se hubiera analizado el circuito original.
2.6 IMPEDANCIA El concepto de impedancia es útil al analizar los efectos de la carga que se presentan al conectar dispositivos de medición a los circuitos. La impedancia es una generalización del concepto de resistencia. La impedancia de un circuito que sólo tiene elementos resistivos es simplemente la resistencia del circuito. Definimos la impedancia para un elemento de dos terminales como la proporción del voltaje para la corriente en ese elemento o: Z "
(2.15)
V I
Para los circuitos que contienen más que elementos resistivos, la impedancia es una función de la frecuencia de excitación AC. Obtendremos la impedancia de los diferentes tipos de circuitos bajo la excitación sinusoidal AC. Esto nos permite observar el efecto de la frecuencia sobre la impedancia. Empezaremos con el circuito RC mostrado en la figura 2.17a).
Figura 2.17
R
R
a) Circuito RC y b) circuito RL
VS
C
a)
VS
L
b)
2.6
Al aplicar KVL, la relación entre el voltaje de alimentación y la corriente a través del circuito está dada por: VS (t ) = Ri (t ) +
1 i (t ) dt C
冮
(2.16)
Mediante la Transformada de Laplace, podemos convertir la ecuación (2.16) en una expresión algebraica en la variable de Laplace s como: VS (s ) = Ri (s ) +
1 i (s ) Cs
(2.17)
Al resolver VS (s) para i(s), obtenemos: 1 VS (s ) ⎡ = ⎢R + ⎥⎤ Cs ⎦ i (s ) ⎣ Al sustituir s = j en donde es la frecuencia angular y j = proporción como función de , obtenemos:
(2.18) 1 para obtener esta
VS ( j ) ⎡ 1 ⎤ = ⎢R + j C ⎥⎦ i ( j ) ⎣
(2.19)
La ecuación (2.19) muestra que la impedancia de un circuito RC es una cantidad compleja que es una función de la frecuencia de excitación . Si se elimina el resistor en el circuito anterior, entonces la impedancia debida al capacitor es: Z =
1 1 = − j j C C
(2.20)
La ecuación (2.20) muestra que la impedancia de un capacitor es infinita con excitación DC y que se acerca a cero conforme la frecuencia llega al infinito. De la misma forma, podemos ver que la impedancia de un resistor es independiente de la frecuencia de excitación e igual a R. Por medio de un enfoque similar al utilizado con el circuito RC, la impedancia del circuito RL mostrada en la figura 2.17b) se obtiene de la siguiente manera: Z =
VS ( j ) = [R + j L ] i ( j )
(2.21)
La impedancia debida al inductor simplemente está proporcionada por: Z =
VS ( j ) = j L i ( j )
(2.22)
Al igual que el capacitor, la ecuación (2.22) muestra que la impedancia de un inductor es una cantidad compleja que depende de la frecuencia . Para excitación DC, un inductor tiene cero impedancia y actúa como corto circuito, pero conforme la frecuencia se acerca a infinito, su impedancia llega a infinito y actúa como circuito abierto. Puesto que la impedancia puede ser una cantidad compleja, podemos expresarla como: Z = R + jX
(2.23)
Impedancia
17
18
2
Circuitos análogos y componentes
donde la parte real de Z se define como la resistencia R y su parte imaginaria, como la reactancia X. Por tanto, la reactancia de un capacitor es: XC = −
(2.24)
1 C
y la de un inductor es: XL = L
(2.25)
Figura 2.18 Fuente de voltaje
RS + VS
Figura 2.19 Medición mediante voltímetro ideal
RS + VS
Vm
Observe que al igual que los resistores, la impedancia total de varios elementos ordenados en serie es la suma de las impedancias individuales de los elementos. Los dispositivos de medición como voltímetros y osciloscopios no son ideales. Tienen impedancias finitas de entrada que pueden afectar el valor de la cantidad medida. De igual forma, los amplificadores no son dispositivos ideales, pues tienen impedancias finitas de entrada que pueden afectar la salida del amplificador. Además, las fuentes de corriente eléctrica no son ideales y tienen baja impedancia de salida. Cuando cualquiera de estos dispositivos se adapta a un circuito crean efectos de carga, lo cual se explica más adelante. En general, es deseable que una fuente de voltaje tenga una baja impedancia de salida y que un dispositivo de medición o amplificador tenga una alta impedancia de entrada. Para ilustrar los efectos de carga, supongamos que tenemos una fuente de voltaje VS conectada en serie con una resistencia RS, como se muestra en la figura 2.18. Esta fuente de voltaje puede ser la salida de un sensor o de una corriente eléctrica real. Ahora suponga que el valor de este voltaje se medirá con un multímetro o un osciloscopio. Si suponemos un medidor ideal, entonces el medidor tiene una impedancia de entrada infinita y no pasará corriente. Dicha configuración se muestra en la figura 2.19. Como el voltímetro ‘ideal’ no pasa corriente, el voltaje medido será el circuito abierto de la fuente de voltaje o VS. Ahora supongamos que el voltímetro ideal es reemplazado por un voltímetro real que tiene impedancia finita. Dicho medidor se puede representar como un voltímetro ideal en paralelo con la impedancia finita del voltímetro (Rm). Cuando este medidor se conecta a la fuente de voltaje (consulte la figura 2.20), la salida del voltímetro será la caída de voltaje a lo largo del resistor Rm.
Figura 2.20
RS
Medición mediante voltímetro real
+ VS
Rm
Vm
Este valor es dado por la expresión:
(2.26)
Vm =
Rm VS R m + RS R
Si Rm es mucho más grande que RS, entonces la proporción R m R es casi igual a 1 m S y Vm se acercará a VS. Sin embargo, si Rm es comparable con RS, entonces el voltaje medido por el voltímetro será significativamente diferente a VS.
2.6
Impedancia
Los multímetros y osciloscopios tienen una impedancia alta (1 MV o superior) y las corrientes eléctricas poseen una resistencia RS pequeña (menos de 1 V), por lo que el efecto de carga es irrelevante. Sin embargo, si se utiliza un voltímetro para medir el voltaje en un circuito con gran resistencia, entonces el error debido a los efectos de carga puede ser significativo. Los efectos de carga se ilustran en el ejemplo 2.3. Ejemplo 2.3 Efectos de carga Un sensor con un voltaje de salida de 1 V y una resistencia interna en serie de 1 kV está conectado a un amplificador que tiene una ganancia de 10 V/V y una resistencia interna de 5 kV. Determine la salida del amplificador.
Solución: Si tratamos al amplificador como uno ideal, entonces la salida del mismo es simplemente el voltaje aplicado al amplificador por la ganancia del amplificador o 1 × 10 = 10 V. Sin embargo, la resistencia interna del amplificador actúa como divisor de voltaje con la resistencia interna del sensor (un circuito similar al mostrado en la figura 2.20). La caída de voltaje a lo largo de la resistencia interna del amplificador es: Vin =
RA 5 VS = 1 = 0.83 V RA + RS 5 +1
Por tanto, Vout = Ganancia × Vin = 8.3 V Por tanto, debido a la sobrecarga, la salida del amplificador se desvía de la salida ideal más de 16%. Obviamente, este error se puede minimizar mediante un amplificador con alta impedancia de entrada. Los amplificadores operacionales son de ese tipo. Observe que si la proporción de la impedancia del amplificador a la impedancia el sensor es más de 100:1, entonces el error debido a los efectos de carga es menor que 1%.
Cuando las señales se transmiten entre los dispositivos adaptados juntos, es importante garantizar que la impedancia de los diferentes dispositivos se ajuste de manera adecuada. Si las impedancias no se ajustan, entonces un dispositivo de alta impedancia de entrada puede reflejar parte del contenido de la señal de entrada producido por el dispositivo de baja impedancia de salida. Por ejemplo, un generador de función es un dispositivo de baja impedancia de salida: 50 V. Si un generador de función necesita adaptarse a un dispositivo de alta impedancia, entonces podemos ajustar la impedancia de salida del generador de función al insertar un resistor de 50 V en paralelo con el dispositivo de alta impedancia. Esto se muestra en la figura 2.21. La resistencia efectiva del resistor insertado y el circuito de alta impedancia es casi igual a la impedancia de salida del generador de función. El ajuste de impedancia es importante en muchas aplicaciones, por ejemplo, la transmisión de las señales de audio tanto entre el amplificador de audio y los altavoces como desde transductores ultrasónicos a través de cables. En muchos casos, también nos gustaría proporcionar la energía máxima para un circuito desde una fuente de alimentación. Para lograrlo, las impedancias del circuito de alimentación y del circuito de carga se tienen que ajustar.
Figura 2.21
Generador de función Amplificador de salida Circuito de alta impedancia
50 V 50 V
Conexión de señal para ajustar la impedancia
19
20
2
Circuitos análogos y componentes
Como ilustración, la energía suministrada a una carga resistiva con una resistencia RL desde una corriente eléctrica con un voltaje de salida de VO y una impedancia de salida RS está dada mediante la siguiente expresión (véase la figura 2.20 para un circuito similar):
(2.27)
Energía =
1 RL VL2 RL2 VO2 = VO2 × = RL RL (RL + RS )2 (RL + RS )2
Se puede mostrar con facilidad que si la ecuación (2.27) se diferenciaba respecto a RL y se establecía igual a cero, entonces la energía máxima se obtiene cuando: RL = RS
(2.28)
2.7 SEÑALES AC Mientras los voltajes DC son comunes en dispositivos alimentados por baterías y configuraciones de laboratorio, los voltajes AC se utilizan en la transmisión de energía y operación de equipo industrial y residencial, como compresores y electrodomésticos. La ventaja de las señales de voltaje AC es que se transmiten de manera más eficiente a través de largas distancias. Cuando se aplica una señal de voltaje AC a un circuito, como una señal de voltaje sinusoidal, el voltaje en el circuito también será sinusoidal con una frecuencia igual a la aplicada. La figura 2.22 muestra dos señales de voltaje sinusoidal. La señal sólida se define mediante: V = VO sin ( t + )
(2.29)
mientras que la señal discontinua se define mediante: V = VO sin ( t )
(2.30)
donde VO es la amplitud de la señal y es la frecuencia angular en unidades de radianes/ segundo. Theta ( ) se define como el ángulo de fase y es una medida del adelanto/retraso de la señal. Un ángulo de fase positivo (como el de la señal sólida) significa que la señal está por encima o conduce la señal discontinua. Ese tiempo de demora está provisto por ( / ).
Figura 2.22
V
Dos señales de voltaje sinusoidal
Vo Tiempo
Periodo de la señal
Observe que la frecuencia circular en radianes/segundo (rad/s) y la frecuencia del ciclo f en hertz (Hz) están relacionadas por = 2 f y que la frecuencia del ciclo es la inversa del periodo de la señal T. Para circuitos AC, la magnitud del voltaje o corriente se especifica por medio de la amplitud, el valor pico a pico o el valor de la raíz cuadrada promedio (RMS, por sus siglas en inglés). El voltaje y la corriente RMS se definen mediante:
(2.31)
VRMS =
1 / T ∫T0 v 2dt
2.8
Energía en circuitos
y I RMS =
1 / T ∫T0 i 2dt
(2.32)
Si la señal es sinusoidal, entonces el voltaje RMS es igual a 0.707 VO y la corriente RMS es 0.707 IO, donde VO e IO son la amplitud del voltaje sinusoidal y las señales de la corriente, respectivamente. Observe que los multímetros miden la RMS y no el valor de la amplitud cuando miden voltajes y corrientes AC. También observe que un suministro de 110 o 220 V es el valor RMS de la señal de voltaje. En redes resistivas, tanto la corriente como el voltaje tendrán el mismo ángulo de fase. Sin embargo, en circuitos con elementos capacitivos e inductivos, el voltaje y la corriente estarán desfasados. Esto se debe a que la impedancia de estos elementos tiene un componente imaginario o j. Mientras en un inductor el voltaje conducirá la corriente en un ángulo de 90º (la reactancia es positiva para un inductor), en un capacitor el voltaje retrasa la corriente en un ángulo de 90º (la reactancia es negativa para un capacitor).
2.8 ENERGÍA EN CIRCUITOS La energía se define como el índice de realizar trabajo, y es una especificación importante para los componentes eléctricos, ya que define su capacidad nominal. En circuitos eléctricos, la energía instantánea en un elemento en cualquier punto de tiempo se define como el producto del voltaje y la corriente a través de ese elemento o: P (t ) = V (t )/(t )
(2.33)
Si el voltaje y la corriente no cargan con el tiempo como en los circuitos DC, entonces la energía tanto instantánea como promedio es la misma. Para un resistor en un circuito DC, la energía también se puede escribir como: P (t ) " Pavg " VI "
V2 " I 2R R
(2.34)
Sin embargo, en circuitos AC el voltaje y la corriente varían en el tiempo, por lo cual necesitamos distinguir entre energía instantánea y energía promedio. Para un circuito AC con voltaje V(t) = VO sen ( t + V) y corriente I(t) = IO sen ( t + I), la energía instantánea está dada como: P (t ) = VO IO sin( t + V ) sin( t + I )
(2.35)
Y la energía promedio sobre un periodo se obtiene como: Pavg = V RMS I RMS cos( ) =
VO I O cos( ) 2 2
donde es la diferencia entre los ángulos de fase del voltaje y de la corriente, es decir, ( = V − I). El término cos( ) en la ecuación (2.36) recibe el nombre de factor de energía y es una medida de la presencia de componentes reactivos (capacitadores e inductores en el circuito). Para una red puramente resistiva, el factor de energía es 1; para una red puramente inductiva, el factor de energía es 0. El factor de energía también se define como el índice de la energía real (o útil) para la energía aparente (véase la figura 2.23). Un componente de la energía aparente es la energía reactiva (inactiva) que se intercambia en los componentes capacitivo e inductivo. El factor de energía es una especificación importante para los dispositivos con componentes reactivos (como motores alimentados por AC), ya que define la cantidad de energía suministrada que se convierte en energía real o útil. Las compañías de suministro eléctrico cobran a los clientes industriales y
(2.36)
Figura 2.23 Energía real y aparente
Energía real
Energía aparente
Energía reactiva
21
22
2
Circuitos análogos y componentes
comerciales tarifas por operar dispositivos con factor de baja energía, ya que dicho factor significa que estos dispositivos consumen más energía, lo cual resulta en líneas de distribución de energía más largas. El ejemplo 2.4 ilustra el cálculo de energía en circuitos AC.
Ejemplo 2.4 Energía en circuitos AC Una carga con una impedancia de 500 + 600 jV está conectado a una fuente de 110 V, 60 Hz. Determine el factor de energía y la energía absorbida por la carga.
Solución: El factor de energía se puede determinar desde el ángulo que crea la reactancia de carga con la resistencia de carga. Mediante la ecuación (2.23), está dada mediante: = tan−1 (X兾R) = tan−1 (600兾500) = 50.2° Sin embargo, el factor de energía es cos( ) o cos(50.2°) = 0.640 A partir de la ecuación (2.15), la corriente a través de la carga está dada mediante: I =
V = Z
110 5002 + 6002
= 0.141 A
Por medio de la ecuación (2.36), la energía absorbida o real es: Energía = VRMS IRMS cos( ) = 110 × 0.141 × 0.640 = 9.93 W
2.9 AMPLIFICADORES OPERACIONALES Los amplificadores operacionales (op-amps) son componentes del circuito análogo que requieren energía para operar. Éstos se utilizan en circuitos de amplificación y acondicionamiento de señal. La figura 2.24 muestra el símbolo para un op-amp; es un triángulo con dos cables dibujados en un lado del triángulo y el tercer cable está dibujado en el vértice opuesto a ese lado. Un cable se define como la entrada inversora (−), el otro cable como la entrada no inversora (+) y el tercero es la salida. El voltaje en estas dos entradas y la salida op-amp hacen referencia a tierra. La figura 2.24 también muestra las conexiones para los voltajes de alimentación positivo y negativo, aunque estas conexiones por lo regular se omiten cuando se dibuja un op-amp en un circuito. En general, el voltaje de alimentación es ±15 V. Existen otras dos conexiones para el op-amp (llamadas equilibrio o desplazamiento nulo) que permiten ajustar la salida de los op-amps, pero por lo regular no se muestran.
Figura 2.24
Alimentación +Ve
Símbolo y conexiones para un op-amp
Entrada inversora
−
Entrada no inversora
+
Alimentación −Ve
Salida
4
CAPÍTULO
Microcontroladores
OBJETIVOS DEL CAPÍTULO: Cuando haya terminado este capítulo, debería ser capaz de: • • • • • • • • •
Escribir e interpretar datos en diferentes sistemas de numeración Explicar la diferencia entre microprocesadores y microcrontroladores Explicar el proceso de programación en un microcontrolador Explicar los componentes básicos de un microcontrolador Desarrollar código para realizar operaciones básicas (como I/O digital, A/D, sincronización y PWM) Explicar características avanzadas de los microcontroladores (como comunicación en serie e interrupciones) Desarrollar código en lenguaje PIC-C para programar microcontroladores Desarrollar código para integrar interrupciones en los programas Explicar el objetivo y uso de la programación en lenguaje ensamblador y desarrollar código para incorporarla a lenguaje C
4.1 INTRODUCCIÓN Este capítulo se enfoca en los microprocesadores y los microcontroladores. A diferencia de los circuitos combinacionales y secuenciales, abordados en el capítulo anterior, los microcontroladores y los microprocesadores ofrecen un método flexible, pero complejo, para implementar la lógica de control. La flexibilidad proviene del hecho de que la lógica de control está basada en software y se pude modificar al cambiar el software o programa de control. La complejidad se debe a que un microprocesador o microcontrolador común está formado por un gran número de circuitos digitales. Los microcontroladores se utilizan ampliamente para controlar aplicaciones en vehículos, juguetes, electrodomésticos y dispositivos de telecomunicación; también se conocen como controladores integrados, ya que, en general, no se ven en la aplicación de control. Debido a su pequeño tamaño, los microcontroladores no tienen muchos de los componentes que una PC normal (como pantalla, teclado o dispositivo de almacenamiento masivo). Este capítulo analiza con detalle el uso y la programación de los microcontroladores. El objetivo es proporcionar al lector una cobertura completa de las características y capacidades de un microcontrolador común. Para comprender los detalles de la operación y las características del desempeño de los microcrontroladores, comenzaremos por analizar diferentes sistemas de numeración. Luego se abordan algunos antecedentes de los microprocesadores y los microcontroladores. Posteriormente se analizan diferentes tipos de memoria y buses. El capítulo finaliza con el estudio de los usos y la programación de un microcontrolador.
78
4.2
Sistemas de numeración
Este libro se enfoca en microcontroladores tipo PIC fabricados por la empresa Microchip, Inc. En especial, se enfoca en el microcontrolador PIC16F690, un controlador de medio alcance que respalda la conversión entrada/salida digital (I/O), analógico-digital (A/D), la modulación del ancho de pulso (PWM, por sus siglas en inglés) y el establecimiento de una interfaz en serie. También se aborda el microcontrolador PIC18F4550, que tiene características más avanzadas. Este capítulo cubre los elementos básicos de un microcontrolador (como fuentes de reloj, diferentes áreas de memoria y dispositivos de interfaz básicos) y la forma de programar un microcontrolador por medio del lenguaje PIC-C. Además de las características avanzadas de un microcontrolador (como los temporizadores, el temporizador de vigilancia y las interrupciones). Además del estudio del lenguaje ensamblador, este capítulo tiene ejemplos de códigos en lenguaje PIC C. Para leer más sobre microcontroladores PIC, consulte los capítulos [10-11].
4.2 SISTEMAS DE NUMERACIÓN Los datos se pueden representar por medio de diferentes sistemas de numeración. Para las operaciones diarias, utilizamos el sistema decimal, que tiene como base diez dígitos (0, 1, 2,…, 8, 9). Para operaciones informáticas se utilizan otros sistemas de numeración (como los sistemas binario y hexadecimal). En esta sección analizará la representación de números por medio de los diferentes sistemas de numeración.
4.2.1 SISTEMA DECIMAL En el sistema decimal o de base 10 se representa un número como una combinación de cualquiera de los dígitos utilizados en ese sistema. El valor del número se encuentra al sumar el producto de cada dígito, multiplicado por diez elevado a la potencia de la ubicación de ese dígito en el número, donde el dígito de la derecha tiene una ubicación de cero e incrementa en 1 por cada lugar cuando se mueve a la izquierda. Por ejemplo, el valor del número 763 se encuentra a partir de: 763 Q 7 × 102 + 6 × 101 + 3 × 100 Aunque el sistema decimal es cómodo para las operaciones matemáticas, financieras, y científicas diarias, no es conveniente utilizarlo para representar números empleados en sistemas informáticos.
4.2.2 SISTEMA BINARIO El sistema binario o de base 2 utiliza dos dígitos 0 y 1 para representar números. Esto es similar a la forma como se almacenan los datos dentro de la memoria de la computadora. Al igual que el sistema decimal, el valor del número representado por este sistema es igual a la suma del producto de cada dígito, multiplicado por dos, elevado a la potencia de la ubicación de ese dígito. Por ejemplo, el número binario 10110 es equivalente al número decimal 22. Esto se puede observar al escribir: 10110 Q 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 0 × 20 Q 22 Para convertir de representación decimal a binaria, comenzamos por dividir el número decimal entre la potencia más grande de 2 entre la que se puede dividir. A continuación, tomamos el resto y lo dividimos entre la siguiente potencia más alta posible de 2. Repetimos este proceso hasta que el residuo es cero. Por ejemplo, considere convertir el número decimal 59 a representación binaria (véase el ejemplo 4.1).
79
80
Capítulo 4
Microcontroladores
Ejemplo 4.1 Conversión de número decimal a binario Represente el número decimal 59 en formato binario.
Solución: Comenzamos por dividir 59 entre 32, la potencia más grande de 2 entre la que podemos dividir 59. Tomamos el residuo, que es 27, y después lo dividimos entre la siguiente potencia más grande de 2, en este caso 16. El residuo después de la segunda operación de división es 11. Este proceso continúa hasta que obtenemos un residuo igual a 0, cuando dividimos 1 entre 1. Los detalles se muestran a continuación, considere que r es el residuo después de cada división. 59/32 27/16 11/8 3/4 3/2 1/1
= 1 r 27 = 1 r 11 =1r3 =0r3 =1r1 =1r0
Entonces el equivalente binario se forma al ordenar los cocientes de cada división realizada, por lo que 59 Q 111011.
La unidad más pequeña de almacenamiento en un sistema informático es el bit (que resulta al combinar las letras de las palabras binario y dígito). Un solo bit puede almacenar ya sea un 0 o un 1. Un grupo de ocho bits recibe el nombre de byte y dos bytes reciben el nombre de palabra. Al lidiar con números binarios, el bit a la derecha de un número binario recibe el nombre del bit menos significativo (LSB, por sus siglas en inglés), ya que representa la potencia más pequeña de 2. El bit de la izquierda recibe el nombre de bit más significativo (MSB, por sus siglas en inglés), ya que representa la potencia más grande de 2. Al LSB se le conoce como el bit cero, el bit adyacente a él es el bit 1 y así sucesivamente. Los dígitos binarios se pueden sumar de la misma forma que los dígitos decimales, con un acarreo de 1 en el siguiente bit de orden superior, si la suma de dos bits es 2. Como ejemplo, la suma binaria de 0011 y 0010 es 0101. Aquí, al sumar 1 al 1 en la primera posición del bit 1, obtenemos un cero con un acarreo de 1 para la posición del bit 2. Al referirnos a memoria de una computadora, en general utilizamos el término 1K, que significa, 1 024 bytes. De igual forma, 64K de memoria es igual a 65 536 o 64 × 1 024. El número de combinaciones diferentes que se pueden almacenar en una ubicación de memoria amplia de n bits es 2n. Por tanto, un byte puede almacenar 256 combinaciones diferentes de 0 y 1. Si estos valores están limitados a enteros sin signos, entonces todos los números de 0 a 255 se pueden almacenar en un byte. De esta forma, una ubicación de memoria de 16 bits puede almacenar 65 536 combinaciones diferentes.
4.2.3 SISTEMA HEXADECIMAL Al evaluar el contenido de una ubicación de memoria grande (como un campo de 32 bits), es más cómodo si podemos escribir los valores de cada 4 bits en un dígito. Esto se puede hacer por medio del sistema hexadecimal o de base 16, el cual utiliza 16 dígitos para representar los números. Mientras los primeros diez dígitos son iguales que los dígitos decimales, 0 a 9, los últimos seis dígitos (10, 11, 12, 13, 14 y 15) se representan mediante las letras A, B, C, D, E y F, respectivamente. El valor del número representado por el sistema hexadecimal es similar a la de los sistemas decimal y binario, excepto que en este caso la base utilizada es 16. La tabla 4.1 muestra los números 0 a 15 en los sistemas decimal, hexadecimal, binario y decimal codificado en binario (BCD, por sus siglas en inglés). Un número hexadecimal se indica al agregar un sufijo h o H o un prefijo 0x al número. Por ejemplo, 12h (o 12H) es 12 hexadecimal o 18 decimal. De esta forma, 0x10 indica 10 hexadecimal o 16 decimal.
4.2
Decimal
Hexadecimal
Binario
Decimal codificado en binario (BCD)
0
0
0000
0000 0000
1
1
0001
0000 0001
2
2
0010
0000 0010
3
3
0011
0000 0011
4
4
0100
0000 0100
5
5
0101
0000 0101
6
6
0110
0000 0110
7
7
0111
0000 0111
8
8
1000
0000 1000
9
9
1001
0000 1001
10
A
1010
0001 0000
11
B
1011
0001 0001
12
C
1100
0001 0010
13
D
1101
0001 0011
14
E
1110
0001 0100
15
F
1111
0001 0101
Sistemas de numeración
Observe que, en el sistema BCD, cada dígito decimal codificado por separado en binario. Por tanto, la representación BCD del decimal 12 es la representación binaria del dígito decimal 1 y 2 agrupados juntos. En general, el sistema BCD se utiliza para dirigir sistemas de visualización de decimales. El ejemplo 4.2 aborda conversiones entre los sistemas binario, hexadecimal y decimal. Ejemplo 4.2 Conversiones entre binario, hexadecimal y decimal Un puerto de 16 bits tiene el siguiente patrón binario. Determine el valor de estos datos en hexadecimal y decimal. Patrón binario: b0110100101010011
Solución: Por medio de la tabla 4.1, el número binario de 16 bits primero se convertirá en un número hexadecimal de cuatro dígitos. Esto se realizará al descubrir el dígito hexadecimal que corresponde a cada agrupación de 4 bits del número binario, al iniciar desde el extremo derecho. Esto nos da 0 × 6953. El siguiente paso es determinar el valor del número hexadecimal. Esto se obtiene al evaluar: 6 × 163 + 9 × 162 + 5 × 161 + 3 × 160 = 24576 + 2304 + 80 + 3 = 26963
4.2.4 REPRESENTACIÓN DE NÚMEROS NEGATIVOS Los números negativos se representan a través de un método llamado complemento de 2. Se calcula para un número dado al tomar el complemento de su patrón de bits y sumarle 1. Por ejemplo, considere la representación de −1 en formato binario; supondremos un campo de 8 bits. Empezaremos por escribir el número 1 en formato binario por medio del campo de 8 bits. Esto nos da 00000001. A continuación, encontramos el complemento
Tabla 4.1 Diferentes sistemas de numeración
81
82
Capítulo 4
Microcontroladores
de este número, que es el patrón de bits que contiene los valores exactos opuestos del patrón de bits dado (es decir, 1 cambia a 0 y 0 cambia a 1). Por tanto, el complemento de 1 es 1111110. El último paso es sumar 1 al complemento, lo cual nos da 11111111 como la representación del complemento de 2 de −1. Observe que la representación de los números negativos en formato binario o hexadecimal depende en gran medida de la cantidad de bits utilizados para representar el número. Si hubiéramos utilizado 4 bits en lugar de 8 para representar −1, la respuesta sería 1111. Un método alternativo para determinar el complemento de 2 es encontrar la representación del patrón binario para el resultado de la siguiente operación:
(4.1)
2n número donde n es el ancho del campo de bits. Por lo que al aplicar la ecuación (4.1) a la representación de −1 y mediante un campo de 4 bits, obtenemos 15(24 − 1 = 15), cuya representación binaria es 1111. Para un campo de n bits, el rango de números con signo que se puede representar mediante ese campo es de −2n-1 a 2n-1 − 1. Por ejemplo, para n = 4, el rango es −8 a 7 o un total de 16 números, incluyendo 0. Para n = 8, el rango es -128 a 127.
4.2.5 REPRESENTACIÓN DE NÚMEROS REALES La representación de números reales o de punto flotante en formato binario es más complicada que la de números enteros. Existen varios métodos para representar números reales; el más común es el método de punto flotante IEEE-754, utilizado por todos los CPU modernos. La representación depende de la cantidad de bits utilizados para representar el número. Ilustraremos este método por medio de un campo de 32 bits o representación simple. En este método, los bits 0 a 22 se utilizan para representar la mantisa o fracción; los bits 23 a 30, para representar el exponente, y el MSB o bit 31, para representar el signo. Para números positivos, el bit de signo es 0 y para números negativos, el bit de signo es 1. El valor del exponente se calcula a partir de los bits 23 a 30 al restar 127. Esto permite representar exponentes tanto positivos como negativos. Un valor de 1 en el bit 22 representa media fracción; un valor de 1 en el bit 21, un cuarto de fracción, etc. Observe que en esta representación se asume que se coloca un bit principal invisible, con un valor de 1, frente al bit 22. Por tanto, los valores de estas fracciones se suman al invisible para proporcionar un valor de mantisa entre 1 y 2. En esta representación, el valor de un número de punto flotante se calcula después a partir de:
(4.2)
Signo w 2exponente w mantisa Como ejemplo, el patrón binario 0兩100 0000 0兩111 1000 0000 0000 0000 0000 es una representación del número 3.875. Aquí, el valor del exponente es 1 (128 − 127), el de la mantisa es 1.9375 (1 + 1/2 + 1/4 + 1/8 + 1/16) y el es 21 × 1.9375 = 3.875.
4.3 MICROPROCESADORES Y MICROCONTROLADORES El microprocesador, que es el cerebro de las computadoras modernas, es un circuito integrado (o un chip) que tiene un procesador que consiste en muchos circuitos digitales. Por ejemplo, los microprocesadores, como el Core i5, contienen millones de elementos transistores. Para las computadoras personales, el microprocesador se encuentra en la tarjeta madre de la PC y utiliza un bus externo para establecer una interfaz con la memoria y otros componentes en la PC (como memoria masiva o sistema I/O). Un bus es un conjunto de líneas de comunicación compartidas (físicamente, podrían ser pistas en una tarjeta de circuito impreso o cables en un cable plano). La combinación del microprocesador y
4.3
Microprocesadores y microcontroladores
los otros elementos en la tarjeta madre recibe el nombre de microcomputadora. Por otro lado, el microcontrolador es un dispositivo de un solo chip que contiene un procesador junto con una memoria y dispositivos de interfaz en el mismo chip del circuito integrado. El microcontrolador utiliza un bus interno para comunicarse con la memoria y otros dispositivos en el chip. Observe que los microprocesadores requieren chips periféricos para establecer una interfaz con dispositivos I/O. El trabajo básico de un procesador es ejecutar instrucciones de programas, las cuales son el código de bajo nivel generado por el compilador al convertir un programa informático de alto nivel (como código C) en instrucciones mecánicas utilizadas por un procesador particular. El procesador también recibe el nombre de unidad central de procesamiento (CPU, por sus siglas en inglés) y contiene tres elementos básicos: la unidad de control, la unidad aritmética y lógica (ALU, por sus siglas en inglés) y los registros. Aquí se describe la función de cada uno de estos elementos. Unidad de control: determina las operaciones de sincronización y secuencia. Esta unidad genera señales de sincronización, utilizadas para traer una instrucción de programa de la memoria y ejecutarla. Unidad aritmética y lógica: esta unidad realiza evaluaciones lógicas y manipulación de datos reales, como la suma de dos números. Registros: las ubicaciones de memoria dentro del CPU que mantienen los datos internos mientras se ejecutan las instrucciones. Por ejemplo, para sumar dos números, se presentan las siguientes operaciones: el primer número se trae de la memoria y, después, se mantiene en uno de los registros. El segundo número se trae de la memoria y, después, la ALU opera en los dos números. El resultado de la operación se almacena primero en uno de los registros y después se transfiere de regreso a la memoria. Durante la operación, un procesador almacena y recupera datos de los dispositivos de memoria. La tabla 4.2 explica los diferentes tipos de dispositivos de memoria utilizados. En la memoria de solo lectura (ROM) o cualquier variación de ella [como ROM programable Tipo de memoria
Descripción
ROM
Memoria de solo lectura
Memoria permanente, programada con el contenido requerido durante la fabricación del chip IC. Permite leer los datos, pero no escribir durante el uso y no pierde sus datos cuando se apaga la energía. Se utiliza para programas fijos, como los sistemas operativos de la computadora.
PROM
ROM Programable
Igual que ROM, pero el usuario la puede programar una vez sin permitir más cambios.
EPROM
PROM Borrable
Se puede programar más de una vez durante el uso. El contenido se puede borrar mediante luz ultravioleta (UV) brillante a través de una ventana de cuarzo sobre la parte superior del dispositivo.
EEPROM
PROM Eléctricamente borrable
Similar a EPROM, pero su contenido se puede borrar al aplicar una señal de alto voltaje, en lugar de luz UV.
RAM
Memoria de acceso aleatorio
Memoria volátil que requiere energía para operar. Los datos se pierden cuando se retira la energía. El tiempo de acceso para los datos es constante y no depende de la ubicación física de los datos.
SRAM
RAM Estática
Una RAM en la cual los datos no necesitan actualizarse siempre y cuando se aplique energía. Se puede acceder a los datos más rápido que en DRAM, pero es más caro.
DRAM
RAM Dinámica
Una RAM que utiliza capacitores para almacenar datos. Estos últimos se deben actualizar (reescribir) periódicamente debido a la fuga de carga.
Tabla 4.2 Diferentes tipos de memoria
83
84
Capítulo 4
Microcontroladores
borrable (EPROM)], los datos permanecen en la memoria incluso después de que la energía se apaga, mientras que en la memoria de acceso aleatorio (RAM), los datos se pierden si se apaga la energía. Los microcontroladores recientes utilizan ROM programable eléctricamente borrable (EEPROM) para almacenar instrucciones de programa, que se descargan al microcontrolador a través de una conexión en serie o USB. Además de la memoria, un sistema procesador necesita los medios para transferir datos entre el microprocesador y los otros dispositivos en el sistema. Esta transferencia de datos se presenta sobre un bus. Existen diferentes clases de buses: Bus de datos: utilizado para transportar datos desde/hacia el CPU y la memoria o los dispositivos de entrada/salida. La longitud de datos podría ser de 4, 8, 16, 32 o 64 bits. Bus de direcciones: se emplea para seleccionar dispositivos en el bus o ubicaciones específicas de datos dentro de la memoria. Cada ubicación de memoria tiene una dirección que se debe especificar antes de poder acceder al contenido de la ubicación. El tamaño del bus de direcciones determina el número de ubicaciones a las cuales se accederá. Mientras un bus de 16 bits accederá a 216 direcciones o 64K ubicaciones, un bus de 32 bits accederá a 4G ubicaciones. Bus de control: se utiliza para sincronizar la operación de los diferentes elementos. Transmite, lee y escribe señales, señales del reloj del sistema y otras señales de control. Los microprocesadores y microcontroladores se diseñan por medio de dos enfoques de diseño: el enfoque de computadora con conjunto de instrucciones complejas (CISC, por sus siglas en inglés) y el enfoque de computadora con conjunto reducido de instrucciones (RISC, por sus siglas en inglés). En general, mientras un procesador RISC utiliza un pequeño número de instrucciones simples optimizadas para ejecución rápida, un procesador CISC utiliza instrucciones más complicadas que pueden realizar más funciones. El programa compilado para un procesador RISC tiende a ser más grande que el de un procesador CISC, pero puede ejecutarse más rápido. Las PIC MCU se diseñan por medio del enfoque de diseño RISC. Aunque los microprocesadores y los microcontroladores comparten muchas características, tienen diferentes trayectorias de evolución. Mientras los microprocesadores se desarrollaron para utilizarse en computadoras personales y estaciones de trabajo, los microcontroladores se desarrollaron para utilizarse en aplicaciones de control en las industrias de electrodomésticos, automotriz, entretenimiento y telecomunicaciones. En los microprocesadores, el énfasis está en la alta velocidad y un tamaño más grande de palabra (como 32 o 64 bits); en los microcontroladores, en cambio, el énfasis está en la capacidad de compactación y el bajo costo. En los microprocesadores, el tamaño de memoria RAM por lo general se encuentra en rangos de mega o gigabytes; mientras que en los microcontroladores el tamaño es de 1 a 100K de bytes. En los microprocesadores, la velocidad se encuentra dentro del rango de varios GHz; mientras que en los microcontroladores el tamaño es en decenas de MHz.
4.4 MICROCONTROLADOR PIC Este libro de texto analiza la unidad de microcontrolador PIC (PIC MCU) fabricada por Microchip Technology, Inc. Actualmente, existen muchos otros microcontroladores en el mercado [como los fabricados por Atmel (AVR), Freescale (HCS12), Intel (familia MCS-51) y Motorola (68HC). Seleccionamos los microcontroladores PIC debido a su uso generalizado (hasta ahora, se han fabricado varios miles de millones de PIC MCU), bajo costo y facilidad de uso. Como mencionamos antes, un microcontrolador es un dispositivo de un solo chip este incluye un microprocesador, memoria y dispositivos de interfaz. La figura 4.1 muestra los componentes de un microcontrolador común. Estos
4.4
Microcontrolador PIC
Figura 4.1 Componentes comunes de un microcontrolador
RAM
CPU EEPROM
A/D
Interfaz en serie
I/O Digital
Reloj/temporizadores
componentes incluyen el CPU, la memoria permanente (como EEPROM) para almacenar el código, la memoria volátil RAM para almacenar datos mientras se ejecuta el programa, dispositivos de interfaz [como puertos digitales de entrada/salida (I/O), convertidor analógico-digital (A/D), puerto serial o USB], el reloj y los temporizadores. Observe que en una memoria volátil, la información almacenada se pierde cuando se corta la corriente eléctrica.
4.4.1 FAMILIAS DE MICROCONTROLADORES PIC Microchip fabrica varias familias de microcontroladores de 8, 16 y 32 bits. El número de bits se refiere al tamaño del bus de datos utilizado para transportar datos desde/hasta el CPU y la memoria o los dispositivos de entrada/salida. Dentro de cada familia existen varios microcontroladores, los cuales difieren en tamaño físico, número de pines, tamaño de memoria (memoria del programa, RAM y EEPROM) y el tipo de dispositivos de interfaz provisto. Aquí nos enfocaremos en las familias PIC16 y PIC18, microcontroladores de 8 bits disponibles en paquetes que oscilan entre 8 y 100 pines. La tabla 4.3 muestra algunos de los muchos microcontroladores hoy disponibles en estas familias, junto con algunos datos pertinentes sobre ellos. Observe que debido a las fuerzas del mercado, estos microcontroladores son reemplazados continuamente por nuevos con características mejoradas. Memoria del programa se refiere al área en el chip utilizada para almacenar instrucciones de programa. Mientras muchos de los chips en la familia PIC16 tienen instrucciones de programa de 14 bits de ancho, los de la familia PIC18 tienen instrucciones de programa de 16 bits de ancho. Por tanto, por ejemplo, el chip PIC16F84A, que tiene 1.75 Kbytes (o 1 792 bytes) de memoria del programa, puede almacenar 1 024 instrucciones (o 1K palabras). El microchip llama a las PIC16 MCU que tienen instrucciones de programa de 14 bits como arquitectura de medio alcance (la arquitectura básica utiliza una instrucción de programa de 12 bits) y las PIC18 MCU reciben el nombre de arquitectura PIC18. Mientras RAM se refiere al área que almacena variables y registra valores durante la ejecución del programa, los datos EEPROM se pueden utilizar para almacenar valores de datos durante la ejecución del programa (con un tiempo de acceso más largo que el almacenamiento RAM), pero tiene la ventaja de que los datos no se perderán si se pierde la energía. Muchas de las MCU producidas por Microchip tienen una memoria del programa conocida como memoria ‘flash’. La memoria flash se puede borrar y programar eléctricamente, similar a una EEPROM, pero sin requerir un programador dedicado. Sin embargo, una memoria flash no permite borrar una ubicación de memoria individual; sólo se puede borrar un bloque individual de ubicaciones de memoria. La
85
86
Capítulo 4
Microcontroladores
Bits A/D
Canales PWM
Conteo de pines
Velocidad del CPU (MIPS)
0
N/A
0
18
5
–
22
5
10-bit
1
28
5
MI2C /SPI, MSSP
256
18
12
10-bit
4
20
5
A/E/USART, I2C/SPI
0
368
22
5
8-bit
2
28
5
USART, I2C/SPI
4
256
512
25
10
10-bit
2
28
10
A/E/USART, MSSP(SPI/I2C)
PIC18F4550
32
256
2 048
35
13
10-bit
4
40
12
A/E/USART, MSSP(SPI/I2C), USB
PIC18F86J60
64
0
3 808
55
15
10-bit
12
80
9.5
A/E/USART, MSSP(SPI/I2C), Ethernet
PIC18F8722
128
1 024
3 936
70
16
10-bit
12
80
10
A/E/USART, MSSP(SPI/I2C), LIN
Memoria del programa (Kbytes)
Datos EEPROM (bytes)
RAM (bytes)
Líneas I/O
Canales A/D
PIC16F84A
1.75
64
68
13
PIC16F872
2.5
64
128
PIC16F690
7
256
PIC16F76
14
PIC18F2220
PIC MCU
Interfaz
Tabla 4.3 Un muestreo de diferentes PIC MCU de las familias PIC16 y PIC18
memoria tanto del programa como la de datos tienen buses separados que permiten un acceso concurrente y un rendimiento más rápido. El número de líneas I/O se refiere al número de líneas de entrada/salida digital disponibles en el chip. Estas líneas I/O son bidireccionales y se configuran mediante código de programa para que sean de tipo entrada o salida. Algunos chips incluyen capacidad de convertidor analógico-digital con resolución de 8 a 10 bits. Algunos canales A/D utilizan los mismos pines que las líneas digitales I/O, pero se pueden configurar mediante código de programa para operar como canales A/D. Algunos chips tienen una o más líneas PWM, lo cual se puede utilizar convenientemente para dirigir motores hacia una unidad de puente H o un transistor. El conteo de pines se refiere al número de pines físicos en el chip. Existen algunos chips con diferente conteo de pines, dependiendo de la configuración del paquete del chip (véase la sección 4.4.2). Por ejemplo, la PIC18F4550 MCU está disponible como 40 pines en la configuración PDIP y como 44 pines en la configuración TQFP. La velocidad del CPU se refiere a la velocidad máxima del chip en unidades de millones de instrucciones por segundo (MIPS, por sus siglas en inglés). Un chip con una capacidad nominal MIPS superior puede ejecutar un programa más rápido que uno con una capacidad nominal inferior, Algunos chips de gama alta tienen interfaces integradas que facilitan la comunicación con otros dispositivos. La tabla 4.4 provee una explicación de algunas de estas interfaces. Mientras un Transmisor Receptor Asíncrono Síncrono Universal (USART o cualquier variación del mismo, como AUSART, por sus siglas en inglés) es un módulo utilizado por lo regular para comunicación asíncrona en serie mediante el protocolo RS232, un Puerto Serial Síncrono Maestro (MSSP, por sus siglas en inglés) se utiliza para comunicación síncrona en serie. En general, el MSSP se emplea para comunicarse con EPROM o RAM externas. Mientras USB significa bus serial universal, la Red de Interconexión Local (LIN, por sus siglas en inglés) es un sistema de comunicación en serie. Otras MCU en la familia PIC18 tienen un módulo de pantalla de cristal líquido (LCD, por sus siglas en inglés) integrado para dirigir directamente dispositivos LCD. Estas MCU son ideales para aplicaciones como termostatos, medidores portátiles y dispositivos médicos portátiles.
4.4
Microcontrolador PIC
Tabla 4.4
Característica de la interfaz
Explicación
USART
El módulo del Transmisor Receptor Asíncrono Síncrono Universal (USART) se utiliza para comunicación en serie síncrona (línea de datos y señal de reloj) y asíncrona (línea de datos, pero sin señal de reloj).
AUSART
El módulo del Transmisor Receptor Asíncrono Síncrono Universal Direccionable (AUSART) se puede configurar como una línea de comunicación en serie asíncrona (dúplex completo), maestro síncrono (medio dúplex) o esclavo síncrono (medio dúplex).
EUSART
El módulo del Transmisor Receptor Asíncrono Síncrono Universal Mejorado (EUSART) soporta compatibilidad RS-485, RS-232 y LIN con detección autobaudio y autoactivación en el bit de inicio.
MSSP
El módulo Puerto Serial Síncrono Maestro (MSSP) incluye un SPI™ y un I2C™.
SPI™
Puerto Serial Síncrono (SSP) configurado como interfaz periférica en serie, de tres cables (SPI).
I2C™
Puerto Serial Síncrono configurado como bus de circuito interintegrado de dos cables (I2C™).
MI2C
Puerto maestro I2C.
USB
Bus universal en serie.
LIN
Red de Interconexión Local, que es un sistema de comunicación en serie.
Lista de interfaces disponible en algunas PIC MCU
4.4.2 DISTRIBUCIÓN DE TERMINALES Como ejemplo de la distribución de terminales para una PIC MCU común, considere la figura 4.2, la cual muestra la configuración del pin para PIC16F84A, una PIC MCU popular. Esta MCU tiene 18 pines. Observe que algunos pines tienen funciones dobles (como los pines 3 y 6). Como es el caso con muchas de las PIC MCU, están disponibles en diferentes distribuciones de terminales. Un diseño común es el PDIP, que significa paquete en línea doble de plástico (PDIP, por sus siglas en inglés). En este diseño, los pines están ordenados en dos filas paralelas opuestas, y este diseño por lo regular se utiliza con tarjetas de circuitos. Mientras el paquete de circuito integrado (SOIC, por sus siglas en inglés) de contorno pequeño utiliza pines de ala de gaviota que se extienden hacia afuera, en el paquete encapsulado de contorno pequeño (SSOP, por sus siglas en inglés), los pines también tiene pines en forma de ala de gaviota, pero están espaciados
Figura 4.2
PDIP, SOIC •1 2 3 4 5 6 7 8 9
PIC16F84A
RA2 RA3 RA4/T0CK1 MCLR VSS RB0/INT RB1 RB2 RB3
18 17 16 15 14 13 12 11 10
RA1 RA0 OSC1/CLKIN OSC2/CLKOUT VDD RB7 RB6 RB5 RB4
Distribución de terminales del chip PIC16F84A (Reimpreso con autorización de Microchip Technology Incorporated)
87
Capítulo 4
Microcontroladores
Figura 4.3 a) Paquete PDIP, b) SOIC y c) SSOP (Reimpreso con autorización de Microchip Technology Incorporated)
a)
b)
c)
más estrechamente que en el paquete SOIC. En general, los dos últimos diseños se utilizan en circuitos de tipo montaje en superficie. La figura 4.3 muestra ejemplos de estos tipos de paquetes. La PIC16F84A MCU es una buena elección para aplicaciones que no requieren conversión A/D o salida PWM. En este texto, nos enfocaremos tanto en PIC16F690 MCU como en PIC18F4550 MCU, las cuales cuentan con más características que el chip PIC16F84A. El chip PIC16F690 tiene las siguiente características. • Tamaño de memoria del programa de 7 Kbytes • Doce canales A/D • Dieciocho pines I/O, ordenados como puertos A, B o C • Tres temporizadores • Salida PWM • Varias opciones para comunicación en serie El PIC18F4550 agrega comunicación USB, una memoria del programa más grande, tamaño de RAM y capacidad para manejar múltiples interrupciones. El análisis sobre el PIC18F4550 estará limitado a algunas de las características en ese chip, no disponibles en el PIC16F690. La figura 4.4 muestra el diagrama de pin para PIC16F690 MCU. Debido a que esta MCU sólo tiene veinte pines, pero soporta muchas funciones de interfaz, muchos de los pines están diseñados para más de una función. Por ejemplo, el pin 3 puede configurarse como el canal 4 del puerto digital de entrada/salida (RA4), el canal analógico 3 (AN3), la entrada de la compuerta 1 del temporizador (TIG), el pin de conexión cristal del oscilador no. 2 (OSC2) o la salida del reloj (CLKOUT). Un número limitado de pines también significa que no se pueden tener 12 canales A/D y 18 líneas I/O operando al mismo tiempo. La tabla 4.5 provee una explicación de las funciones de algunos de estos pines.
Figura 4.4 Diagrama de pines del chip PIC16F90 (Reimpreso con autorización de Microchip Technology Incorporated)
20-pin PDIP, SOIC, SSOP VDD RA5/T1CKI/OSC1/CLKIN RA4/AN3/T1G/OSC2/CLKOUT RA3/MCLR/VPP RC5/CCP1/P1A RC4/C2OUT/P1B RC3/AN7/C12IN3−/P1C RC6/AN8/SS RC7/AN9/SDO RB7/TX/CK
1 2 3 4 5 6 7 8 9 10
PIC16F690
88
20 19 18 17 16 15 14 13 12 11
VSS RA0/AN0/C1IN+/ICSPDAT/ULPWU RA1/AN1/C12IN0−/VREF/ICSPCLK RA2/AN2/T0CKI/INT/C1OUT RC0/AN4/C2IN+ RC1/AN5/C12IN1− RC2/AN6/C12IN2−/P1D RB4/AN10/SDI/SDA RB5/AN11/RX/DT RB6/SCK/SCL
4.4
AN
Canal de entrada analógico-digital
C1IN, C1OUT
Entrada del comparador y salida del comparador
CCP
Módulo de captura/comparación/PWM
CK
Reloj síncrono EUSART
CLKIN
Entrada del reloj externo/conexión oscilador RC
CLKOUT
Línea de salida FOSC /4
DT
Datos síncronos EUSART
ICSPDAT, ICSPCKL
Datos de programación en serie de circuito integrado (ICSP) I/O y señal de reloj ICSP
INT
Interrupción externa
MCLR
Borrar todo
OSC
Cristal/resonador
P1A, P1B, P1C, PID
Línea de salida PWM
RA, RB, RCw
I/O de propósito general. A, B y C se refieren al puerto A, B o C.
RX
Entrada asíncrona EUSART
SCK, SCL
Reloj SPI y reloj I2C
SDI, SDA, SDO
Entrada de datos SPI, entrada/salida de datos I2C y salida de datos SPI
SS
Línea de selección esclava para SPI
T1CK1
Entrada del reloj temporizador 1
TX
Salida asíncrona EUSART
VDD
Cable positivo del voltaje de alimentación. Este chip opera dentro de un rango de voltaje de entrada de 2 a 5.5 V.
VPP
Pin de voltaje de programación
VREF
Referencia de voltaje externo para A/D
VSS
Línea de referencia a tierra
4.4.3 COMPONENTES PIC MCU La figura 4.5 muestra un diagrama de bloques de los componentes principales de la PIC16F690 MCU, incluyendo los buses de datos y programa. Algunos de estos componentes incluyen los tres puertos I/O digitales (A, B y C), los tres temporizadores (0, 1 y 2), el módulo EUSART para comunicación RS232, el módulo convertidor A/D, el puerto serial síncrono (SPI e I2C), el módulo PWM de comparación y captura mejoradas (ECCP), la memoria del programa y el CPU. Muchos de estos componentes se explican con detalle en las últimas secciones de este capítulo. Observe la forma en que el bus de datos de 8 bits conecta al CPU (la ALU y los registros del CPU, como los registros W y STATUS) con otros componentes en la MCU. Las instrucciones de programa se llevan al CPU a través del bus del programa de 14 bits, bajo el control del contador del programa. El contador del programa (PrC, por sus siglas en inglés) es un registro especial que mantiene la dirección de la siguiente instrucción que se va a ejecutar. El tamaño PrC se realiza de tal forma que debería ser capaz de acceder a todas las instrucciones en la memoria del programa. En el PIC16F690, el PrC es de 13 bits de ancho y, por tanto, puede acceder hasta a 8 192 instrucciones. Cuando la MCU se enciende o se reinicia, el PrC se borra y apunta a la dirección 0x0000. La pila, asociada con el PrC, es un área especial de memoria que no está relacionada con los datos o la memoria del programa. La pila opera de manera primero en entrar, último en salir (FILO) y se utiliza como área de almacenamiento del contenido del PrC al ejecutar una llamada de subrutina o una interrupción (véase la sección 4.8). Cuando un programa
Microcontrolador PIC
Tabla 4.5 Funciones del pin en la PIC16F690 MCU
89
90
Capítulo 4
Microcontroladores INT Configuración 13 Flash 4k × 14 Memoria del programa
Bus de datos
Contador del programa
8
PUERTO A RA0 RA1 RA2 RA3 RA4 RA5
RAM 256 bytes Registros del archivo
Pila de 8 niveles (13 bits)
Bus 14 del programa
9 Dir. RAM
PUERTO B
Dir. MUX
Reg. de instrucción
Dir. indirecta FSR Reg
7
Dir. directa
RB4 RB5 RB6 RB7
8
Reg. STATUS 8 PUERTO C
Decodificador y control de instrucción OSC1/CLKI Generación de OSC2/CLKO sincronización
Bloquear oscilador interno
3
Temporizador de encendido Temporizador de inicio del oscilador Reinicio de encendido Temporizador de vigilancia Reiniciar caída de tensión
MUX
ALU 8
RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7
Reg. W
MCLR VDD VSS
ULPWU
T0CKI
Encender energía ultra baja
Temporizador 0
T1G
T1CKI
Temporizador 1
TX/CK RX/DT
Temporizador 2
SDI/ SCK/ CCP1/ P1A P1B P1C P1D SDO SDA SCL SS
EUSART
ECCP+
Puerto serial síncrono
AN8 AN9 AN10 AN11
Convertidor analógico-digital
2 Comparadores y referencia analógicos
8
EEDAT Datos EEPROM 256 bytes EEADR
VREF AN0 AN1 AN2 AN3 AN4 AN5 AN6 AN7 C1IN− C1IN+ C1OUT C2IN− C2IN+ C2OUT
Figura 4.5 Diagrama de bloques de la PIC16F90 MCU (Reimpreso con autorización de Microchip Technology Incorporated)
necesita realizar una operación de ramificación (como al ejecutar una llamada de subrutina), el contenido del PrC se coloca en la pila (empuja) y la dirección de la subrutina que se va a ejecutar se carga en el PrC. Cuando la rutina completa la ejecución, la dirección
4.4
Microcontrolador PIC
91
de la siguiente instrucción se carga desde la pila (salta) de regreso al PrC. El tamaño de la pila determina el número de llamadas de subrutina o interrupciones que se pueden presentar. En el PIC16F690, la pila es de ocho niveles de profundidad. Para lograr que una PIC MCU corra, necesita cablear por lo memos tres pines. Éstos incluyen el pin VDD, que debería estar conectado al cable positivo del voltaje de alimentación (2 a 5.5 V para la mayoría de los chips, pero algunos están diseñados para operar a un rango de 1.8 a 3.6 V); el pin VSS, que debería estar conectado a voltaje aterrizado, y el pin MCLR, que debería estar conectado al VDD (a través de una resistencia) para evitar que la MCU se reinicie por sí misma. Si el pin MCLR es compartido (como en la PIC16F690 MCU), entonces el MCLR no necesita estar conectado al VDD cuando está programado para tratar al pin como la otra función. Para microcontroladores sin fuentes de reloj interno, también necesita conectar la fuente del reloj externo al microcontrolador. El resto de esta sección provee detalles sobre las operaciones básicas de este chip.
4.4.4 FUENTE DEL RELOJ/OSCILADOR Un microcontrolador necesita una fuente de reloj para funcionar, ya que todas las operaciones del CPU están sincronizadas con el reloj. Un reloj es cualquier dispositivo que puede producir un tren de pulsos a una frecuencia fija. Mientas algunos chips tienen una fuente de reloj integrada (como el PIC16F690, que tiene dos relojes internos: uno de 8 MHz y uno de 31 kHz), otros requieren o permiten que un dispositivo externo produzca los pulsos del reloj. Estos dispositivos externos incluyen un resonador de cristal de cuarzo, un resonador de cerámica, un circuito resistencia-capacitor (RC) o una fuente de reloj externo (como el chip temporizador 555). El microcontrolador permite seleccionar la fuente de reloj a través del software. Mientras un resonador de cristal de cuarzo utiliza la resonancia mecánica de un cristal piezoeléctrico para general una señal de sincronización muy precisa, un resonador de cerámica emplea la resonancia mecánica de cerámica piezoeléctrica, por lo común titanato zirconato de plomo (PZT). Mientras los resonadores de cerámica son pequeños, robustos y baratos, los resonadores de cristal de cuarzo son más caros, pero más precisos. Los resonadores de cerámica y de cristal de cuarzo están disponibles con diferentes frecuencias de reloj. La figura 4.6 muestra una fotografía de un resonador de cristal de cuarzo. Sin importar tipo de resonador, la señal de reloj está conectada a los pines OSC1 y OSC2 del chip. La figura 4.7 muestra el cableado del circuito de reloj para un oscilador de cristal. Se necesitan dos capacitores (C1 y C2) de 15 pF para un oscilador de cristal de 8 MHz. Además, se puede necesitar una resistencia en serie (RS) para los cristales de cuarzo con un nivel de unidad bajo. El valor de la resistencia de retroalimentación paralela (RF) depende del modo del oscilador y varía entre 2 y 10 mV.
Figura 4.6 Resonador de cristal de cuarzo (Jouaneh, University of Rhode Island)
Figura 4.7 C1
OSC1
Cristal
C2
Diagrama de conexión para un resonador de cristal de cuarzo para una PIC16F690 MCU
RS
RF
OSC2
PIC MCU
La obra Fundamentos de mecatrónica es un libro de texto dirigido a estudiantes universitarios que toman algún curso en Diseño de sistemas mecatrónicos. Su principal objetivo es cubrir tanto los aspectos de hardware como de software del diseño de sistemas mecatrónicos al proporcionar un tratamiento completo de la materia. Fundamentos de mecatrónica se enfoca en aplicaciones, consideraciones de modelado y problemas prácticos relevantes que surgen durante la selección y el diseño de los componentes y sistemas mecatónicos. El libro ofrece un análisis amplio sobre el uso de microcontroladores en sistemas mecatrónicos por medio del microcontrolador PIC. La obra incluye descripciones de diferentes sistemas experimentales que los instructores pueden elaborar y utilizar gracias a la sencillez y viabilidad de su construcción. También se abordan diferentes lenguajes de programación como MATLAB, C y Visual Basic Express para ilustrar los temas clave. Además, se presentan distintas plataformas de programación para darle al instructor la oportunidad de seleccionar el lenguaje de programación que se adapte mejor a los objetivos de su curso.
ISBN-13: 978-607-526-287-1 ISBN-10: 607-526-287-3
9 786075 262871 Visite nuestro sitio en http://latinoamerica.cengage.com