Cad Para Electronica

96
Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica CURSO ACADÉMICO CAD ELECTRÓNICA JUAN OLEGARIO MONROY VÁSQUEZ [email protected] [email protected] UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PROGRAMA INGENIERIA ELECTRÓNICA SOGAMOSO, 2007

Transcript of Cad Para Electronica

Page 1: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

CCUURRSSOO AACCAADDÉÉMMIICCOOCCAADD EELLEECCTTRRÓÓNNIICCAA

JJUUAANN OOLLEEGGAARRIIOO MMOONNRROOYY VVÁÁ[email protected]

[email protected]

UUNNIIVVEERRSSIIDDAADD NNAACCIIOONNAALL AABBIIEERRTTAA YY AA DDIISSTTAANNCCIIAAFFAACCUULLTTAADD DDEE CCIIEENNCCIIAASS BBÁÁSSIICCAASS EE IINNGGEENNIIEERRÍÍAA

PPRROOGGRRAAMMAA IINNGGEENNIIEERRIIAA EELLEECCTTRRÓÓNNIICCAASSOOGGAAMMOOSSOO,, 22000077

Page 2: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

CURSO: CAD ELECTRÓNICA

@Copyright Universidad Nacional Abierta y a Distancia

ColaboraciónSANDRA ISABEL VARGAS LOPEZIngeniería electró[email protected]

ISBN

2007Centro Nacional de Medios para el Aprendizaje

Page 3: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

PRIMERAUNIDAD CAPÍTULOS LECCIONES

1. Conceptos y Software

1. Circuito electrónico y clasificación2. Descripción de Software disponible paracircuitos electrónicos3. Sistema Operativo4. Características del sistema OperativoGNU/Linux5.Características del sistema Operativo Windows

2. Diseño y simulación decircuitos DC, AC

6 Dispositivos electrónicos7 Interconexión de dispositivos8 Simulación del circuito DC9 Simulación del circuito AC10 Ejercicios de aplicación

CONCEPTOS,DISEÑO Y

SIMULACIÓN DECIRCUITOS

ELECTRÓNICOS

3. Diseño y simulación decircuitos Digitales, Circuitos

Impresos

11 Dispositivos electrónicos12 Interconexión de dispositivos13 Simulación del circuito14 Ejercicios de Aplicación15 Diagrama esquemático de circuitos Impresos,Importar y Generar PCB

SEGUNDAUNIDAD CAPÍTULOS LECCIONES

1. Tratamiento Matemático(operaciones con

polinomios, integrales yderivadas; Manejo deSeñales y Sistemas

(Continuas y Discretas)

16 Polinomios y Operaciones17 Derivadas e Integrales definidas y no definidas.18 Señales Continuas, Discretas y Funciones deTransferencia.19. Respuesta temporal de sistemas.20. Respuesta en Frecuencia de sistemas.

2. Operaciones con arreglos

21 Vectores y Cadenas (Concepto y definición)22 Operación con vectores23 Matrices (Concepto y definición)24 Operación con Matrices25 Aplicaciones

MODELAMIENTOMATEMATICO y

FUNDAMENTOS DEPROGRAMACIÓN

3. Fundamentos deProgramación y Lenguajes

de Descripción de Hardware

26 Conceptos y Tipos de Datos27 Instrucciones E/S, de selección y repetitivas28 Descripción HDL29 Estructura30 Proceso de Diseño

Diseño: Juan Monroy

Page 4: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

PPRRIIMMEERRAA UUNNIIDDAADDCONCEPTOS DISEÑO Y SIMULACIÓN DE CIRCUITOS

ELECTRÓNICOS

CAPÍTULO 1CONCEPTOS Y SOFTWARE

LECCIÓN 1. CIRCUITO ELECTRÓNICO Y CLASIFICACIÓN

1.1. CIRCUITO ELECTRÓNICO

Un circuito electrónico es una combinación de elementos conectados paraformar una trayectoria completa, por la cual los electrones pueden moverse. Lafinalidad de un circuito es hacer uso de la energía de los electrones enmovimiento. Por tanto un circuito es también un sistema de elementos ocomponentes con el cual la energía eléctrica puede cambiarse a otra forma deenergía, como térmica, luminosa o magnética.

Dentro de un circuito podemos encontrar básicamente cuatro categorías deelementos:

Fuente de Energía. La fuente en un circuito produce la energíarequerida para que los electrones se muevan. En electricidad estaenergía es llamada voltaje o fuerza electromotriz.

Conductores. Los conductores en un circuito proporcionan unatrayectoria fácil por la cual los electrones pueden moverse a través delcircuito. El cobre es el material conductor mas empleado ya sea enforma de alambre barras o canales.

Carga. La carga es el elemento de un circuito que transforma la energíade los electrones en movimiento en alguna otra forma útil de energía.Una resistencia eléctrica es un elemento muy común de carga, cuandola corriente circula a través de ella, la energía de los electrones enmovimiento se convierte en energía térmica.

Dispositivo de Control. Son aquellos elementos que nos permitenejercer un control del flujo de electrones.

Dentro de estas categorías encontramos un conjunto de elementos confunciones específicas que definen el comportamiento del circuito, cada uno deello tiene una representación simbólica universal según la IEEE. En la Tabla 1,se hace una breve descripción de los principales elementos y su simbología.

Page 5: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

FUENTES DE ENERGÍA

NOMBRE SIMBOLO DESCRIPCIÓN

FUENTE DEVOLTAJE

+1 0 v

+

-

Vs110V

Proporciona el voltaje de alimentación a un circuito

FUENTE DECORRIENTE Is1

100mA

Entrega la corriente necesaria de alimentación aun circuito

FUENTEDEPENDIENTE 1+

-

+

-

1+

-

Fuente cuya magnitud se establece a partir de lacorriente o voltaje del sistema donde se encuentra,de acuerdo a cual de ellas sea, será fuente decorriente dependiente o fuente de voltajedependiente

CONDUCTORES

NOMBRE SIMBOLO DESCRIPCIÓN

FUSIBLES 1A 1A

Es un elemento que brinda una protección a otrodispositivo de acuerdo a un valor de intensidadestablecido que circule por él durante un periodode tiempo determinado, si se supera dicho valorun pequeño trozo de alambre dentro de él sefunde.

ALAMBRE Hilo de conexión de tipo conductorCABLE Alambre o conjunto de ellos recubierto de un

material aislante

CARGA

NOMBRE SIMBOLO DESCRIPCIÓNRESISTOR 1k Elemento que ofrece cierta oposición al paso de la

corriente eléctricaCONDENSADOR 1uF

+1uF Dispositivo que almacena energía eléctrica, está

basado en dos placa conductora paralelas,separadas por un dieléctrico.

BOBINA 1mH Elemento que almacena energía en forma decampo magnético.

DISPOSITIVOS DE CONTROL

NOMBRE SIMBOLO DESCRIPCIÓN

DIODODIODE Dispositivo que permite el flujo de corriente en una

sola dirección.

TRANSISTOR BJTNPN PNP

Dispositivo que amplifica la corriente, también esutilizado en conmutación

TRANSISTOR FETNJFET PJFET

Dispositivo de amplificación basado en un campoeléctrico que controla la conductividad de uncanal.

TIRISTOR

TRIAC SCR

Dispositivo de cuatro capas que utiliza larealimentación interna para producir conmutación.

AMPLIFICADOROPERACIONAL

OP AMP Circuito electrónico que amplifica la diferencia delas dos señales de entrada.

Page 6: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

RELEVADORES Dispositivo electromecánico que funciona como uninterruptor controlado por un electroimán.

Diseño: Juan Monroy

Si desea ampliar el conjunto de símbolos electrónicos puede consultar lasiguiente página http://www.simbologia-electronica.com/

1.2 . CLASIFICACIÓN

Los circuitos electrónicos se clasifican en tres tipos de acuerdo a la forma comose interconectan los elementos en:

Circuito Serie. Un circuito serie proporciona una única trayectoria através de la cual los electrones pueden moverse de una Terminal de lafuente de energía a la otra. Se caracteriza porque la corriente que fluyees igual a través de cada uno de los elementos que lo componenmientras que el voltaje en cada uno de ellos es función del propioelemento.

Diseño: Juan Monroy

Circuito Paralelo. Un circuito paralelo permite mas de una trayectoria através de las cuales pueden fluir los electrones; se caracteriza entoncesporque el voltaje en cada una de estas trayectorias es el mismo pero lacorriente depende de los elementos que la componga.

Diseño: Juan Monroy

Circuito Serie-Paralelo (Mixto). Estos circuitos presentan las dossituaciones anteriores en cuanto a las trayectorias que pueden tomar loselectrones y por ende las características de cada uno

Page 7: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Diseño: Juan Monroy

LECCIÓN 2. DESCRIPCIÓN DE SOFTWARE DISPONIBLE PARACIRCUITOS ELECTRÓNICOS

2.1. SIMULADOR. Los simuladores de circuitos electrónicos son herramientasde apoyo en el proceso de aprendizaje y diseño, dado que permiten establecerun ambiente virtual para una situación real de un circuito, a fin que el usuariotenga la oportunidad de participar, a través de un conjunto de herramientas, enel proceso de diseño y prueba en un área específica de la electrónica.

En general, se puede decir que los simuladores de circuito son modelos que seconstruyen a partir de especificar un número de variables relevantes internas ytambién externas, las cuales deben permitir simular la operación del circuitoelectrónico en un ambiente bajo diferentes condiciones, y de esta formaestudiar su comportamiento y tomar las decisiones pertinentes.

2.2. HERRAMIENTAS. Los simuladores de circuitos electrónicos deben contarcon herramientas que permitan:

Disponer de elementos o componentes virtuales con característicaspropias que permitan reflejar a los mismos de la vida real.

Probar el circuito con señales de prueba con parámetros que faciliten lamodificación de su comportamiento.

Interactuar fácilmente con el usuario. Visualizar adecuadamente los resultados de la simulación. Generar circuitos impresos.

2.3. ¿PARA QUÉ SIRVE UN SIMULADOR?

Los simuladores de circuitos electrónicos ofrecen a los estudiantes e ingenierosuna innovadora forma de:

Perfeccionar sus habilidades Aplicar conceptos fundamentales de la electrónica Evaluar alternativas de solución desde el punto de vista funcional y

económico. Generar el diseño y PCB definitivo de un circuito.

Page 8: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

2.4. DESCRIPCION DE SOFTWARE DISPONIBLE.

En el mercado existe gran variedad y gama de software diseñado para lasimulación de circuitos electrónicos, dentro de esta variedad podemosencontrar software tipo beta, versiones profesionales, enfocados a plataformasespecíficas, de alto costo, bajo costo, libres, demo, versiones estudiantiles; sinembargo la intención aquí es conocer las características principales delsoftware, para así formar un criterio inicial que permita elegir aquel que seajuste a las necesidades y particularidades propias.

A continuación se hace una breve descripción del software propietario o libreque se encuentra en el mercado, sin embargo en la siguiente página puedeademás de la descripción del software tener la posibilidad de descargar lasversiones libres o demos:

http://formulagfc.galeon.com/productos771272.html

http://olmo.pntic.mec.es/jmarti50/enlaces/d-electronico.html

http://profesormolina.webcindario.com/download/enica/index.htm

http://profesormolina.iespana.es/download/soft_enica.htm

2.4.1. Kicad: Es un programa de código libre (GPL) software para la creaciónde esquemas electrónicos y circuitos impresos. Concebido y creado por Jean-Pierre Charras, investigador en el LIS Laboratorio de Imágenes y Señales) yprofesor de electrónica en el Instituto Universitario de Tecnología de SaintMartin d'Hères, la suite Kicad es un conjunto de cuatro programas y un gestorde proyectos para realizar circuitos electrónicos:

Eeschema: Creación de esquemas. PcbNew: Realización de circuitos impresos. Gerbview: Visualización de documentos generados en formato GERBER

(documentos de fototrazado). Cvpcb: Utilidad de selección de las huellas físicas de los componentes

electrónicos utilizados en el esquema. Kicad: Gestor de proyectos.

El gestor de proyectos, Kicad, permite seleccionar un proyecto y abrir laherramienta deseada (Eeschema, PcbNew, ...).

Esta suite de programas se distribuye gratuitamente en open source conlicencia GPL. Es útil para cualquier persona que desee crear circuitosimpresos, simples o complejos.

Estos programas (basados en WXWIDGETS.) son MULTI-PLATAFORMA,funcionan en LINUX y Windows y son actualizados regularmente.

Page 9: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

La versión precompilada Linux ha sido probada en Mandrake 9.2. o 10.0(funciona en la 10.1)

Puede ampliar la descripción i funcionalidad de ese en: http://iut-tice.ujf-grenoble.fr/kicad/Kicad_files/LogicielKicad_es.htm

2.4.2. Cocodrilo Clips: Programa especialmente útil para crear diseñoselectromecánicos, controlar simulaciones, comprender diseños y sin fin deposibilidades más. Para crear los circuitos con los que se quiere practicar, tansólo se debe elegir de entre toda la gama el componente que se desea incluir yarrastrarlo desde la barra de herramientas con el ratón. Del mismo modo losinterruptores y botones se arrastran con el ratón. Al crear los circuitos sepodrán observar numerosas animaciones en las que se pueden incluir tensión,fuerza, corriente y carga. También permite incluir motores y engranajes quegiren mientras se encienden las lámparas. Las lecturas eléctricas y mecánicasse muestran en burbujas, mientras las trazas del osciloscopio revelan tensionesde impulso.

El paquete incluye actividades para fotocopiar y ejemplos para probarlosdirectamente en el ordenador. Además ofrece ayuda Online tanto paraprincipiantes como para expertos.

http://www.profesoresinnovadores.net/software/verSoft.asp?id=1312

2.4.3. gEDA(GNU Electronic Design Automation): El proyecto gEDA estatrabajando en producir una suite completa de herramientas GPL paraautomatización de diseño electrónico (EDA). El proyecto gEDA esta orientadoen la creación de una suite de Herramientas para la Automatización del DiseñoElectrónico. Esta herramienta se utiliza para el diseño de circuitos electrónicosy eléctricos, simulación, prototipado y produccion. El proyecto gEDA se inicióapartir de las herramientas EDA que eran para UNIX, gEDA inicialmente sedesarrollaron para GNU/Linux, pero se esta empezando a desarrollar paraotras plataformas UNIX. gEDA se asemejaría al orCAD o al PSPICE.Contempla una amplia librería de componentes. Una de las ventajas que tienela última versión es la de poder exportar el circuito hecho con gschem al PCB,pudiendo de esa forma generar la placa de circuito impreso.

www.bulma.net/pdf.phtml?nIdNoticia=1161

2.4.4. PCB (X11 Interactive Printed Circuit Board layout system): PCB es unaherramienta para diseñar Placas de Circuito Impreso, nos permite generar elfotolito precio antes de insolar la placa para despues revelarla.http://pcb.ece.jhu.edu/

Page 10: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

2.4.5. VIPEC: es un analizador de circuitos electricos y electronicos, parte deun fichero de texto en el cual describimos el circuito electrico. Leasignamos el rango de frecuencias y caracteristicas del circuito. Generandocomo resultado graficas y tablas correspondientes a la simulacion.http://vipec.sourceforge.net/

2.4.6. TKGate: TKGate es un editor grafico y simulador de circuitos digitales,desarrollado con Tcl/TK. Incluyendo componentes basicos como puertaslogicas (AND, OR, XOR, NAND, etc) Modulos estandares como sumadores,multiplicadores, registros, memorias, etc y finalmente transistores MOS.http://www.tkgate.org/

2.4.7. Xcircuit: Es un programa que permite dibujar circuitos eléctricos (aunquepuede ser utilizado también para dibujar otras cosas). Es liviano, fácil de usar yproduce resultados con calidad profesional y en formato EPS, por lo que resultaideal para incluir circuitos en documentos LaTeX. También permite generararchivos Spice para simular el circuito.http://bach.ece.jhu.edu/~tim/programs/xcircuit/

2.4.8. SPICE es un acrónimo inglés de Simulation Program with IntegratedCircuits Emphasis (Programa de simulación con énfasis en circuitosintegrados). Fue desarrollado por la Universidad de California, Berkeley en1975 por Donald Pederson. Es un estándar internacional cuyo objetivo essimular circuitos electrónicos analógicos compuestos por resistencias,condensadores, diodos, transistores, etc. Para ello hay que describir loscomponentes, describir el circuito y luego elegir el tipo de simulación (temporal,en frecuencia, en continua, parámetrico, Monte Carlo...).http://www.sqi.gu.edu.au/spice/http://www.imse.cnm.es/~rocio/DOCs_GRAL/SPICE.pdf

2.4.9. En 1984 nace de manos de MicroSim Corporation la primera adaptaciónpara ordenadores personales: PSpice. Desde entonces, PSpice ha idorenovándose continuamente. Versiones ampliamente extendidas de PSpiceson la 8.0 (última desarrollada por MicroSim) y la 9.1 (primera tras la fusión deOrCAD y MicroSim), hasta llegar a la 9.2, la última en el mercado. Esta revisióndel simulador es la primera desde la fusión de Cadence y OrCAD.http://www.imse.cnm.es/~rocio/DOCs_GRAL/Design_Eval_8.pdf

2.4.10. Electronic Workbench: Electronics Workbench brinda el software decaptura esquemática y de simulación de circuitos. Se ecuentra Disponible comoherramientas de diseño autónomas o como parte de un conjunto integral

Page 11: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

El producto incluye software para captura de esquemáticos, simulación decircuitos (SPICE, VHDL y cosimulación patentada), diseño de PCBs y autoenrutado. Electronics Workbench reduce drásticamente el tiempo de desarrolloy creación de PCBs, con mayor precisión y con mayor costo-beneficio queotros paquetes de diseño; cada circuito que se dibuja está listoautomáticamente para su simulación, de esta manera se puede comenzarpruebas en la etapa más temprana de su diseño.http://www.interactiv.com/

2.4.11. Altium Designer 6. Altium Designer es un sistema unificado, queincorpora todas las tecnologías y capacidades necesarias para el completodesarrollo de productos electrónico; se ha fortalecido y mejorado las áreas delsistema de diseño de PCBs, FPGAs y múltiples aplicaciones para diseño deproductos electrónicoshttp://www.software-shop.com/Productos/Altium/altium.html

2.4.12. Proteus: es un programa para simular circuitos electronicos complejosintegrando inclusive desarrollos realizados con microcontroladores de variostipos, en una herramienta de alto desempeño con unas capacidades graficasimpresionantes.http://www.frino.com.ar/proteus.htm

2.4.13. Orcad: Es el programa por excelencia para la creación de circuitos. Suuso es extremadamente sencillo (siempre y cuando se sepa lo que se quierehacer) ya que es muy intuitivo: plasma el circuito con sus componentes, ysimula lo que se desea obtener.

http://es.geocities.com/siderio_orion/Orcad/Contenido.htmhttp://www.cadence.com/products/orcad/index.aspx

2.4.14. Matlab: es la abreviatura de Matrix Laboratory (laboratorio de matrices).Es un programa de análisis numérico creado por The MathWorks en 1984.http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/matlab60/matlab60.pdf

Page 12: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

LECCIÓN 3. SISTEMA OPERATIVO

Los sistemas operativos hacen parte del software que se requiere para elfuncionamiento y administración de los recursos de un computador, estáncompuestos por una serie de rutinas que soportan la ejecución de otrosprogramas; para cumplir con estas tareas, es importantísimo que provean unainterfaz que permita la comunicación con el usuario, en parte y gracias a estaúltima necesidad surgieron los sistemas operativos. Este tipo de softwarepermite entonces al usuario de un computador, operarlo de manera práctica.

Existen básicamente dos tipos de entornos en los cuales el usuario puedeemitir dichas instrucciones: un entorno o interfaz de línea de comando y unainterfaz gráfica

3.1. INTERFAZ DE LÍNEA DE COMANDOS

Esta interfaz se caracteriza porque el usuario escribe los comandos oinstrucciones utilizando un lenguaje de comandos especial. Los sistemas coninterfaces de líneas de comandos se consideran más difíciles de aprender yutilizar que los de las interfaces gráficas. Sin embargo, los sistemas basadosen comandos son por lo general son programables, lo que les otorga unaflexibilidad que no tienen los sistemas basados en gráficos carentes de unainterfaz de programación.

3.2. INTERFAZ GRÁFICA DEL USUARIO.Este entorno permite al usuario elegir comandos, iniciar programas y ver listasde archivos y otras opciones a través de representaciones visuales (iconos) ylistas de elementos del menú. Las selecciones pueden activarse bien a travésdel teclado o del ratón.

3.3. FUNCIONES DE LOS SISTEMAS OPERATIVOS.

Interpretar los comandos que permiten al usuario comunicarse con elordenador.

Coordinar y manipular el hardware de la computadora, como la memoria,las impresoras, las unidades de disco, el teclado o el ratón.

Organizar los archivos en diversos dispositivos de almacenamiento,secundario como discos flexibles, discos duros, memorias usb, discoscompactos, etc.

Gestiona los errores de hardware y la pérdida de datos.

Page 13: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Servir de base para la creación del software logrando que equipos demarcas distintas funcionen de manera análoga, salvando las diferenciasexistentes entre ambos.

Configura el entorno para el uso del software y los periféricos.

3.4. CLASIFICACIÓN

Desde el punto de vista administrativo, podemos clasificar su labor en 3 áreasasí:

A nivel de Usuario

o Monousuario: El sistema operativo solamente recibe las ordenesy ejecuta los programas de un solo usuario.

o Multiusuario: Aquí el sistema operativo da la posibilidad de laejecución de un programa se haga desde diferentes usuarios deigual forma con los recursos.

A nivel de tareas:

o Monotarea: Significa que el sistema operativo ejecuta solamenteun proceso en un determinado momento, esto no significa que laslabores propias del sistema operativo se vean afectadas encuanto a su ejecución, hace referencia a tareas no propias delsistema operativo.

o Multitarea: Varias tareas pueden ejecutarse al mismo tiempo, estafunción la logra alternando los recursos entre las tareas que lossolicitan dando la sensación de una ejecución simultánea.

Manejo de recursos:

o Centralizado: Los recursos del computador, como su nombre loindica, están centralizados de forma que solo son asequibles porun solo usuario en un solo instante de tiempo

o Distribuido: A diferencia del anterior los recursos de mas de uncomputador en el mismo instante de tiempo.

3.5. EJEMPLOS DE SISTEMAS OPERATIVOS

A continuación se da un listado de sistemas operativos clasificados en las tresgrandes familias presentes en el mercado.

Page 14: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Familia Windows

Windows 95 Windows 98 Windows ME Windows NT Windows 2000 Windows 2000 server Windows XP Windows Server 2003 Windows CE Windows Mobile Windows XP 64 bits Windows Vista (Longhorn)

Familia Macintosh

Mac OS 7 Mac OS 8 Mac OS 9 Mac OS X

Familia UNIX

AIX AMIX GNU/Linux GNU / Hurd HP-UX Irix Minix System V Solaris UnixWare

En el mercado básicamente podemos destacar dos de los sistemas operativosmas utilizados que son: GNU/Linux y Windows

LECCIÓN 4. CARACTERÍSTICAS DEL SISTEMA OPERATIVOGNU/LINUX

En 1969 aparece UNIX, como resultado del trabajo de Ken Thompson, de BellLabs, y posteriormente en conjunto con Dennis Ritchie y otros miembros delBell Labs se obtuvo l primera versión de UNÍS, que estaba desarrollada enensamblador, que luego fue escrita en lenguaje C lo que la hizo portable. Estese distribuye entre la comunidad universitaria con el nombre de POSIX

Page 15: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Una de las características principales de este Sistema Operativo es el sistemade tiempo compartido, esto permite a varios usuarios utilizar el sistemasimultáneamente, sin que se intervengan entre sí y sin notar la presencia de losdemás.

Los párrafos siguiente hacen describen las principales características deGNU/Linux, fueron tomadas dehttp://www.adrformacion.com/cursos/linux/leccion1/tutorial3.html

Multitarea

Linux desde su concepción fue diseñado como un sistema operativo multitarea,lo que le permite ejecutar varios programas a la vez, de forma que no tiene queesperar a que termine uno para empezar otro. La multitarea está controlada porel Sistema Operativo (S.O.) y no por las aplicaciones, por lo que es muy difícilque el fallo de un programa "cuelgue" el sistema por una mala utilización de losrecursos del equipo.

32 bits reales

Linux permite aprovechar toda la potencia del procesador, corre a 32 bits realesen un procesador intel o amd, y a 64 bits en los nuevos procesadores queestán llegando al mercado. Esto le confiere al sistema rapidez, eficacia,seguridad y fiabilidad.

Multiusuario

Linux es un sistema operativo capaz de responder, simultáneamente, a lassolicitudes de varios usuarios que empleen el mismo ordenador, incluso connecesidades distintas. Además proporciona los elementos necesarios paragarantizar la seguridad y privacidad de los datos entre los diferentes usuarios.

POSIX

POSIX es un estándar de la industria que asegura una calidad mínima enciertas partes del S.O. y asegura la compatibilidad a nivel de código. De estaforma los programas POSIX que funcionan en un UNIX no tienen ningúnproblema para compilarse y ejecutarse en Linux.

Estabilidad

Linux es robusto, por lo que si un programa falla no interrumpirá el trabajo delos demás. Entraremos al sistema, desbloquearemos el programa y podremosseguir utilizando el sistema sin ningún problema. Esta característica permiteque el sistema funcione durante periodos muy largos de tiempo sin necesidadde parar y volver a arrancar.

Page 16: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Soporte

Si compras una de las distribuciones de Linux dispondrás de soporte de lasempresas que los distribuyen (Red Hat, Mandriva, SUSE, Ubuntu, etc.) o deotras muchas que se han especializado en Linux (desde gigantes como IBM oHP hasta empresas españolas como Activa Sistemas, Esware o Andago). Siaun así no lo ves claro aquí tienes una iniciativa que permite localizar empresasque dan soporte a aplicaciones de software libre.

http://www.findopensourcesupport.com

Es libre

Como disponemos del código fuente, podemos hacer cualquier modificación sintener que esperar a que alguien nos envíe un "Service Pack" para solucionarlo.En el caso de que no sepamos arreglar el fallo podremos contratar a cualquierempresa para que lo arregle, aún cuando la empresa que nos vendió elprograma haya cerrado o no le interese resolver nuestro problema, ya que seconoce el código fuente.

Adaptación

Linux es un S.O. que evoluciona rápidamente adaptándose a las novedadesdel mercado y solucionando rápidamente los problemas que puedan surgir,además se puede personalizar tanto, que ahora mismo hay comunidadesautónomas como Madrid (Max), Valencia (Lliurex) o Extremadura (Linex) quehan hecho su propia distribución con fines educativos ( quién sabe si despuésde este curso te animas a crear la tuya!!!!

Sistema de archivos

Linux puede operar con una gran variedad de sistemas de archivos,pudiéndolos leer y operar con ellos. Por ejemplo: FAT, VFAT, OS2/FS,ISO9660, ReiserFS, etc.

Multiplataforma

Linux es soportado por los sistemas informáticos independientemente delmicroprocesador que lleven instalado (386, 486, Pentium, Pentium Pro,Pentium II, Pentium III, Pentium 4, AMD 64, Amiga, , Atari, Alpha, PowerPC,SPARC, RISC, etc...).

Red

Linux fue desarrollado desde sus comienzos para trabajar en red. Su protocoloprincipal es TCP/IP, aunque soporta una gran variedad de protocolos comoSLIP/PPP, PLIP, NFS, Telnet, TNP, SMTP, IPX, AppleTalk, etc. Además escapaz de mediar entre todo tipo de redes, permitiendo trabajar en red con

Page 17: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

equipos que utilicen sistemas operativos como Windows 98o XP sin ningún problema.

Entorno Gráfico

Linux puede trabajar con o sin entorno gráfico. Por ejemplo para funcionar demanera óptima en equipos con poca memoria o en servidores donde el entornográfico consume recursos innecesariamente. Si por el contrario queremos usarun entorno de ventanas, existen un sinfín de gestores (ICEwin y otros) y deentornos de escritorio (KDE y GNOME son los más populares) que permiten alusuario doméstico trabajar de una forma intuitiva.

Distribuciones

Una distribución es un sistema operativo GNU/Linux unido a una serie deaplicaciones de configuración y de usuario "empaquetadas" juntas. Todastienen en común el núcleo del sistema. Las diferencias entre unas y otras sonlas herramientas de configuración que utilizan y las diferentes aplicaciones quese incluyen junto al sistema operativo. Estas son algunas de las distribucionesmas comunes que hay en el mercado:

Knoppix, http://www.knoppix-es.org/

Red Hat, http://fedora.redhat.com/ o http://www.redhat.es/fedora/

Debian, http://www.gnu.org, http://www.debian.org y http://www.es.debian.org

SUSE, http://www.suse.com, http://www.novell.com/es-es/linux/suse/

Slackware, http://www.eslack.org/

Gentoo, http://www.gentoo-es.org

Ubuntu, http:// www.ubuntu.com

Mandriva (antes Mandrake), http://www.mandriva.com/es ,http://www.mandrakefacil.org

En el siguiente enlace puede encontrar un manual en el que debe abordar elmanejo de tareas cotidianas como crear carpetas, copiar archivos, instalarsoftware. http://www.ant.org.ar/cursos/curso_intro/book1.html

Page 18: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

LECCIÓN 5. CARACTERÍSTICAS DEL SISTEMA OPERATIVOWINDOWS

El sistema operativo Windows inicio como el sistema operativo D.O.S (DiskOperating System). En sus principios fue desarrollado junto con la empresaIBM, pero diferencias entre las partes hicieron que no fuera un lanzamiento enconjunto. Por el contrario, cada una de las empresas presentó "su" sistemaoperativo: PC-DOS (IBM) y MS-DOS (Microsoft).

D.O.S. se presentaba como una consola o pantalla de texto con una línea decomandos que nos indicaba en qué directorio nos encontrábamos y a partir deallí se digitaban las ordenes a ejecutar. La última versión del producto como talfue la 6.22, posteriormente apareció Windows 3.11 que en su corazón incluía laversión de DOS lo que lo convertía en un entorno operativo mas que unsistema operativo como ta, posteriormente apareció Windows 95, Windows98/NT donde se eliminó el DOS como sistema independiente y en cambioaparece como un emulador de éste, además se incluía el manejo especializadode redes. Dentro de su evolución salió al mercado Windows 2000/WindowsME, orientado a empresas; Las dos últimas versiones en el medio sonWindows XP SP2 (hace énfasis en los drivers) y Windows Vista.

A continuación se muestra algunas de las principales características deWindows XP que fueron tomadas de:http://descargas.abcdatos.com/tutorial/descargarL11118.html

Protección de la red

Todos los ordenadores conectados a Internet necesitan protección frente aataques basados en la red, como los del gusano Blaster. Esta protección esespecialmente importante para los clientes domésticos conectados a Internet através de un módem por cable, una línea ADSL o una conexión telefónica, asícomo para los usuarios de portátiles que no siempre están protegidos por unfirewall corporativo.

Navegación web más segura

Para muchos clientes, la Web es algo que proporciona código malicioso y pop-ups indeseados. Los clientes también están preocupados por los sitiosmaliciosos que ofrecen descargas diseñadas para defraudarles o dañar susordenadores. Todos los clientes corren este riesgo, especialmente cuandonavegan por sitios web con los que no están familiarizados. Las tecnologías deseguridad ofrecidas por Internet Explorer permiten una navegación web mássegura, a la vez que mantienen intacta la experiencia de navegacióncompletamente funcional, tanto para usuarios domésticos como corporativos deWindows XP.

Page 19: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Protección de la memoria

Alguna aplicación maliciosa puede beneficiarse de la sobrescritura de búferpara atacar a un ordenador. La sobrescritura de búfer es una vulnerabilidad delsoftware que copia demasiados datos, sobrescribiendo áreas de memoria ypermitiendo la ejecución de código arbitrario. Los atacantes podríanaprovecharse potencial y remotamente de esta vulnerabilidad en cualquierordenador conectado a Internet o a cualquier otra red (en el hogar o en laoficina) a través de ADSL, cable o conexión telefónica. Aunque no hay unatécnica sencilla para eliminar completamente este tipo de vulnerabilidad,Microsoft está empleando tecnologías de seguridad para reducir la probabilidady el riesgo de un ataque de diversas formas. Por ejemplo, Microsoft ha vuelto acompilar todo el código modificado desde el lanzamiento de Windows XPutilizando el último compilador Visual Studio® y el flag “/GS” para reducir laposibilidad de ciertas vulnerabilidades por sobrescritura de búfer.

Correo electrónico y mensajería instantánea más seguros

El correo electrónico es una vía común por la que se sufren ataques maliciosospara infectar el ordenador y extender la infección. Las nuevas tecnologías deseguridad de Microsoft hacen más seguros el correo electrónico y lamensajería instantánea ayudando a detener la propagación de virus (comoSobig.F). Este incremento de la seguridad es más aplicable a los usuariosdomésticos y pequeñas empresas que utilizan Outlook® Express o lamensajería instantánea (IM) Windows Messenger.

Mejoras adicionales

Windows XP Service Pack 2 incluye mejoras adicionales tendentes aproporcionar al usuario las últimas actualizaciones tecnológicas, entre las quese incluyen las siguientes:

• Actualización automática. SP2 será más conveniente para el clienteactivando la actualización automática, que descargará e instalaráautomáticamente las actualizaciones más importantes.

• Windows Media Player 9 Series. Windows Media® Player 9 Series hapasado por una revisión integral de la seguridad, lo que ha dado comoresultado un conjunto robusto de parámetros de seguridad (disponiblesdesde el menú Herramientas seleccionando Opciones) que permiten alusuario controlar más fácilmente los servicios disponibles en elreproductor.

• Actualización bluetooth. Windows XP SP2 incluye un soporteactualizado para Bluetooth®, lo que permite al cliente beneficiarse de losúltimos dispositivos inalámbricos, incluyendo ratones y tecladosinalámbricos, impresoras inalámbricas y conexiones con teléfonosmóviles y PDA.

Page 20: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

• Cliente de red de área local (LAN) inalámbrica unificada. El nuevocliente LAN inalámbrico funcionará con un amplio abanico deinalámbricos de ultimísimo generación (hot spots). Permite al clienteconectar con estos últimos sin tener que instalar o actualizar un clientede terceros. El cliente también se beneficia de una interfaz de usuarionueva que permite una desconexión más sencilla de los hot spots.

Puede ampliar este conjunto de características enhttps://www.microsoft.com/latam/windowsxp/pro/evaluacion/caracteristicas.asp

En el siguiente enlace puede encontrar un manual introductoria al manejo deWindows XP, http://www.unav.es/cti/manuales/pdf/IntroWinXP.pdf

Page 21: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

PPRRIIMMEERRAA UUNNIIDDAADDCONCEPTOS DISEÑO Y SIMULACIÓN DE CIRCUITOS

ELECTRÓNICOS

CAPÍTULO 2DISEÑO Y SIMULACIÓN DE CIRCUITOS DC,AC

LECCIÓN 6. DISPOSITIVOS ELECTRÓNICOS

Como se menciono en el capitulo anterior existen múltiples programas desimulación de circuitos de manejo comercial y de manejo libre.

Dentro del software propietario y uno de los mas utilizados hasta hace pocodentro de sus versiones estudiantiles se encuentra Circuit Maker que es unsoftware de simulación de circuitos AC y DC

A continuación se da una breve descripción del entorno de este programa

Diseño: Juan Monroy

PanelBarra de

MenúDiagrama

EsquemáticoBarra de

Herramientas

Page 22: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

6.1. BARRA DE HERRAMIENTAS.

La barra de herramientas se puede catalogar como una representación graficao acceso directo a las funciones de la barra de menú más empleadas duranteel desarrollo de una actividad

Los elementos que conforman esta barra y su descripción o funcionamiento semuestran en seguida.

Despliegue.

Panel: Muestra o esconde el panel, el panel estará visible deforma predeterminada al iniciar la aplicación, al remover el panel se aumenta lavisibilidad del área de dibujo.

Manejo del documento.

Nuevo documento: Genera un nuevo esquemático, si se estatrabajando en otro proyecto y se presiona este botón se le pedirá que guardesu trabajo para empezar a trabajar en el nuevo proyecto.

Abrir documento: Abre un esquemático (diagrama del circuito)existente. De igual forma que Nuevo documento, si se esta trabajando con unproyecto antes de abrir el esquemático requerido se le pedirá guardar eldocumento.

Guardar documento: Guarda en una ruta determinada elesquemático con el que se esta trabajando.

Imprimir: Imprime el esquemático que se encuentre en el área detrabajo.

Herramientas de dibujo.

Flecha: Esta herramienta se encarga de arrastrar y editar loscomponentes en el esquemático, dando la posibilidad de cambiar los valorespropios del elemento. Esta herramienta permite la manipulación del alambrado.

Page 23: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Herramienta de alambrado: Con la herramienta alambrado,podemos colocar alambres para conectar los dispositivos entre si ypresionando la tecla SHIFT mientras se alambra se generara un alambrado tipoBUS de datos.

Texto: Con esta herramienta se puede colocar un texto en elesquemático.

Herramienta de borrado: Permite borrar componentes, texto yalambrados; si se presiona la tecla SHIFT se eliminan pequeños segmentos dealambre, de tal forma que se pueda corregir un detalle sin necesidad deeliminar todo un alambrado.

Lupa: Da una vista del esquemático que va del 10% al 1000%.

Ajustar a la ventana: Da la ampliación o reduccióncorrespondiente de tal forma que se pueda ver al esquemático completo en lapantalla.

Herramientas de manejo de componentes.

Rotar: Rota en un ángulo de 90° a uno o varios componentesseleccionados.

Reflejar: Refleja uno o más elementos seleccionados.

Page 24: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

6.2. DISPOSITIVOS ELECTRONICOS

En el panel frontal se pueden encontrar todos losdispositivos incluidos en CIRCUITMAKER, estos seencuentran contenidos en diferentes categorías en las quese hace énfasis al tipo de dispositivos a las quepertenecen.

Por ejemplo en la categoría .GENERAL se encuentran loselementos de uso más común: Elementos activos(Transistores y Diodos), elementos pasivos (resistencias,bobinas y condensadores), elementos para energizarcircuitos (baterías, fuentes de voltaje y corriente) einstrumentos (Generador de señales, multímetro ygenerador de secuencias de datos).

En la figura se observan las demás categorías aparte delas mencionadas, por ejemplo; en ACTIVE COMPONENTSse encuentran transistores (NPN, PNP), diodos dediferentes tipos y funciones (Rectificador, ZENER, Puentesde diodos, VARACTOR, etc.), otros tipos de transistorcomo el FET y MOSFET.

En la categoría de CAPACITORS se incluyen diferentes tipos decondensadores (polarizado, no polarizado y variable), en la categoríaRESISTORS, de igual forma se pueden encontrar diferentes tipos opresentaciones de este componente (Resistencia, resistencia variable,etc.).

En la siguiente tabla se observan algunos de los componentes de Circuit Maker

Page 25: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Resistor Resistor Variable Condensador Condensadorpolarizado

Condensador variable

R11k

R210k 40%

C11uF

+

C21uF

C31uF

Inductor Inductor variable Diodo Puente Rectificador Diodo LedL11uH

L21uH

D1DIODE

D2BRIDGE

D4LED1

Diodo Shottky Diodo Varactor Diodo Zener Transistor NPN Transistor PNPD3

SCHOTTKYD5

VARACTORD6

ZENER Q1NPN

Q2PNP

Transistor Darlington FET canal N FET canal P IGBT IGBT

Q3NPN1

Q3NJFET

Q4PJFET

Q1NIGBT

Q1PIGBT

Parejas de transistores UJT PUT SCR TRIACU1

SSM2210 Q2UJT

PUT1PUT

SCR1SCR Q1

TRIAC

Pentodo Tetrodo Amp Operacional Fuente de voltaje Fuente de corrienteV2

PENTODEV3

TETRODEU3

IDEAL+

-

Vs110V

Is1100mA

Fuente dependiente Fuente dependiente VCO Generador defunciones

Fusible

IcIs11

+

-

+

-

V2

+

-

+

-

V4

1kHz

V1-1/1V

F11A

Conector Transformador Rele PLL Cristalconector T1 RLY1

5VCOIL PLLSigCompVout

Vss DemVinPC

Vdd

U2 XTAL11.000MHZ

Motor paso a paso Motor DC Parlante Antena Cable trenzado

1A

2

3B

4

M2 M1

SPK18

ANT1 CABL1

Page 26: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Cable coaxial Opto acoplador MultimetroCABL2 U1

OPTOISODC V

NO DATA

Diseño: Juan Monroy

LECCIÓN 7. INTERCONEXIÓN DE DISPOSITIVOS

Una vez se halla seleccionado el componente que se desea colocar en el áreade trabajo de alguna de las librerías mencionadas anteriormente, el elementose visualizara en la parte superior del panel y en la parte inferior aparecerán losmodelos disponibles del dispositivo para que sea seleccionado. Por ejemplo sise desea un transistor NPN, éste se selecciona de la librería, aparecevisualizado el símbolo y las referencias disponibles, por ejemplo 2N3370,2N3458 etc. para escoger el modelo deseado

Los dispositivos pueden ser colocados en el área de trabajo, o haciendo dobleclic sobre el elemento de la categoría y desplazando el Mouse o presionando elbotón PLACE.

Una vez colocado el elemento en el área de trabajo, se pueden modificar laspropiedades del mismo haciendo doble clic sobre el mismo o dando clicderecho e ingresando a la opción DEVICE PROPERTIES

Page 27: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Cuando se desea hacer el montaje de un circuito es importante mantener unaproporción espacial de éste para ubicar cada uno de los elemento que locomponen, sin embargo esto no es una camisa de fuerza, ya que la mayoría delos programas permiten mover y reubicar los elementos, incluso si ya se haninterconectado ajustando, dichas conexiones de manera automática.

En la siguiente figura se observan el área de trabajo con los componentes deun circuito amplificador.

Como se observa cada uno de los elementos que forman el amplificador no seubicaron esperando dejarlos en su posición final, pero si de forma tal que noqueden sobrepuestos, para reubicarlos se utiliza el Mouse haciendo clicsostenido con el botón izquierdo justo sobre el elemento que se desea mover yse arrastrándolo a la posición deseada. En ocasiones es necesario rotar loscomponentes, tarea que fácilmente se puede realizar mediante la opciónROTATE que aparece dando clic derecho sobre el elemento.

Para realizar la interconexión se utiliza la herramienta alambrar , paraempezar el alambrado se hace click sobre este icono y se ubica el puntero delmouse en una de las terminales del componente, al hacer esto aparecerá unrecuadro rojo alrededor de la terminal seleccionada, como se observa en lasiguiente figura.

+V

V110V

R31k

R21k

R11k

Q1NPN

Page 28: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

A continuación se mantiene presionado el botón izquierdo del mousedirigiéndolo a la terminal del otro componente donde se desea hacer laconexión y soltándolo al realizar el contacto. Es importante mencionar que sipor error se realiza una interconexión entre dos elementos que originalmenteno están conectados, es posible eliminar dicha conexión haciendo clic sobreella y presionando la tecla delete. Una vez se hacen las interconexiones debeobservarse el circuito como se ve a continuación.

Como se observa fue necesario reubicar las resistencias, rotarlas y cambiarsus propiedades, al igual que se modifico las propiedades de la fuente DC.

LECCIÓN 8. GUARDAR Y CARGAR CIRCUITOS

8.1. GUARDAR

Una vez tenemos el circuito terminado, podemos salvarlo utilizando la opciónSAVE o SAVE AS del menú File tal como se observa en la siguiente figura

Page 29: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Realice el montaje que se ve en la anterior figura y grabe dicho circuito parasimularlo posteriormente con las indicaciones dad en la próxima lección.

Una vez se ha elegido la opción save se despliega la ventana que nos permiteseleccionar la ruta donde se guardará el archivo, se coloca el nombre y se daclic en guardar, es importante notar que este archivo se almacena conextensión .ckt

8.2. CARGAR

Circuit Maker permite llamar o abrir circuitos existentes, mediante la opciónopen ubicada en el menú File, como se observa en la siguiente figura

Page 30: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Seleccionada esta opción, se despliega una ventana donde escogemos la rutay específicamente el archivo con el cual deseamos trabajar, dando clic en abrirse carga automáticamente el circuito en el área de trabajo.

Teniendo el archivo en el área de trabajo se pueden realizar ediciones sobreese circuito.

Page 31: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

LECCIÓN 9. SIMULACIÓN DEL CIRCUITO AC/DC

Para simular el circuito debemos tener la totalidad de los componentes en elárea de de trabajo y deben estar alambrados correctamente. En la siguientefigura se muestra un ejemplo de un amplificador, antes de realizar el montajeobserve cuidadosamente los elementos que lo componen guiándose por latabla de dispositivos que aparece en la lección No 6, determine su ubicación yagréguelos al área de trabajo, Posteriormente realice el alambrado de forma talque se observe así:

AC V 1.105 V

C20.47uF

C11uF

1kHz

V2-500m/500mV

+V

V120V

Q1NPN

R51k

R43k

R320k

R22k

R1220

Para iniciar la simulación pulsamos F10 o en la barra de menúSimulación/Run. Si el circuito se simula correctamente aparece un pantallazocomo el siguiente

Page 32: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

En la parte inferior de la pantalla hay dos pestañas: Operating point y TransientAnálisis. La primera nos permite observar en la pantalla los valores numéricosde voltajes, corrientes y potencias en cualquier lugar del circuito, el puntodonde deseamos hacer la medición lo seleccionamos con la herramienta punto

de prueba . La segunda permite observar la forma de onda de una señal devoltaje, corriente o potencia en el circuito. La selección del punto de medida sehace con la herramienta punto de prueba.

Otra opción de simulación es el Análisis en frecuencia (Análisis de Bode), quese activa en la barra de menú con la opción Simulation/Análisis setup,activando la casilla A.C., allí se configuran los parámetros de frecuencia en loscuales se realiza la simulación. Esta opción permite hacer un análisis delcomportamiento del circuito en función de la frecuencia, para ello es necesarioconocer como responden cada uno de los elementos en función de dichafrecuencia.

A continuación se muestra un ejemplo del mismo amplificador mirando surespuesta en términos de la frecuencia.

Page 33: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

LECCIÓN 10. EJERCICIOS DE APLICACIÓN

10.1. Encontrar las corrientes de malla I1, I2 e I3 del siguiente circuito:

+

-

Vs110V

R510

R45

R38

R24

R110

Primero definimos el sistema de ecuaciones de malla del circuito.

02358

10594

08422

321

321

321

III

III

III

Para resolver el sistema proseguimos a encontrar el determinante de la matrizA:

2740

2358

594

8422

Una vez que hemos encontrado el determinante de la matriz A hallamos elvalor de cada incógnita del sistema en este caso I1, I2 e I3.

AI 4848.02740

13202350

5910

840

1

AI 61.12740

44202308

5104

8022

2

AI 51.02740

1420058

1094

0422

3

I2 I3

I1

Page 34: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Los resultados se comprueban haciendo el siguiente montaje en Circuit Maker

10.2. En el circuito de la siguiente figura calcular los VCE e IC en DC. En ACmedir la ganancia de voltaje AV

Tenemos que:

VKKKVVTH 8.3)8222/(22*1

KKK

KKRTH 34.17

822282*22

ARR

VVI

ETH

BETHB

22

*)1(

Page 35: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

mAII BC 2.2

VRIRIVV ECCcCE 04.31

Haciendo el siguiente montaje podemos comprobar los resultados, observe losdatos que muestran los indicadores de corriente y voltaje

Finalmente haciendo la grafica de Transient Análisis, se puede observar elvoltaje de salida, y calculando la ganancia de voltaje de este circuito como V0/Vi y que da como resultado 3.

3E

ECV R

RIIRA

Page 36: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Page 37: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

PPRRIIMMEERRAA UUNNIIDDAADDCONCEPTOS DISEÑO Y SIMULACIÓN DE CIRCUITOS

ELECTRÓNICOS

CAPÍTULO 3DISEÑO Y SIMULACIÓN DE CIRCUITOS DIGITALES, CIRCUITOS

IMPRESOS

LECCIÓN 11. DISPOSITIVOS ELECTRÓNICOS

En circuit Maker podemos encontrar componentes de circuitos digitales comocompuertas (GATES), multiplexores (MUX), contadores entre otros.

Los circuitos digitales se encuentran en la mayoría de los sistemas electrónicosmodernos, ya que con el avance en las tecnologías de integración deelementos en circuitos integrados se puede tener al alcance una gran cantidadde funciones que van desde: compuertas lógicas (SSI), sumadores binarios(MSI) y unidades de manejo de datos (LSI) y otros niveles de integración máselevados.

Los componentes electrónicos digitales en Circuit Maker se encuentran en elpanel frontal en las categorías DIGITAL ANIMATED, DIGITAL BASIC, DIGITALBY FUNCTION, DIGITAL BY NUMBER, se pueden trabajar tanto en lapresentación individual o en circuito integrado.

En la siguiente tabla se encuentran relacionados algunos de los elementosdigitales que se trabajan en Circuit Maker.

Indicador animado Indicador animado Indicador animado Display ASCII Display 7 segmentos

SF

Reset

CAR1SF

Reset

CAR1

CNO

NC

OC

WND17654321CP

DISP1

abcdefg.

V+

DISP2

Display 7 segmentos Diodo Led Lámpara Display Lógico Semáforo

1234

DISP4 D1LED1

L1 L2 SEM1

switch Compuerta AND Compuerta NAND Compuerta NOR Compuerta ORV25V

U9A U10A U11A U12A

Page 38: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Compuerta XNOR Compuerta XOR Buffer Inversor Sumador

U13A U14A U1A U3A74LS83A4A3A2A1B4B3B2B1

Cin

s4s3s2s1

Cout

U18

Flip flor tipo D Flip flor tipo JK Flip flor topo RS Comparador Latch

D

CP Q_Q

U4

JCPK

RQ_Q

U7A

S

R Q_Q

U8

74LS85A3A2A1A0B3B2B1B0

IA<BIA=BIA>B

A<BA=BA>B

U174LS85 74LS373

D7D6D5D4D3D2D1D0

Q7Q6Q5Q4Q3Q2Q1Q0

OE E

U3

Multiplexor Memoria PROM Memoria Ram Registro Contador

74LS373

D7D6D5D4D3D2D1D0

Q7Q6Q5Q4Q3Q2Q1Q0

OE E

U3PROM32CS

A4A3A2A1A0

O7O6O5O4O3O2O1O0

U1PROM32CS

A4A3A2A1A0

O7O6O5O4O3O2O1O0

U174LS165

D7D6D5D4D3D2D1D0

DSPLCECP

Q7NQ7

U14017

CP1CP0

MRQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9

Q5-9

U20

Diseño: Juan Monroy

Los elementos una vez seleccionados se colocan en el área de trabajo y seubican en una posición favorable para su posterior conexión.

LECCIÓN 12. INTERCONEXIÓN DE DISPOSITIVOS

Como ya se había mencionado en las lecciones anteriores, para realizar la

interconexión se utiliza la herramienta alambrar , se inicia el alambradohaciendo click sobre este icono y ubicando el puntero del mouse en una de lasterminales del componente, al hacer esto recuerde que aparecerá un recuadrorojo alrededor de la terminal seleccionada; enseguida y manteniendopresionado el botón izquierdo del mouse se arrastra a la terminal del otrocomponente donde se desea hacer la conexión y soltándolo al realizar elcontacto. Es importante mencionar que si por error se realiza una interconexiónentre dos elementos que originalmente no están conectados, es posibleeliminar dicha conexión haciendo clic sobre ella y presionando la tecla delete.Una vez se hacen las interconexiones debe observarse el circuito como se ve acontinuación.

Page 39: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

V25V

V10V

L1U1C

U1B

U1A

LECCIÓN 13. SIMULACIÓN

Antes de realizar la simulación se debe seleccionar Modo Digital en la barra demenú Simulation/Digital Mode/Run.

De esta manera puede distinguir en el led los estados del la salida del circuitoen función de las señales de entrada.

A Continuación observe el pantallaza que se genera al momento de realizar lasimulación del circuito digital seleccionado.

LECCIÓN 14. EJEMPLOS

14.1. Realizar el circuito astable con el Integrado LM555, observar la forma deonda producida y la frecuencia de la misma.Realice el siguiente montaje

Page 40: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

.IC

+12V

1Gnd2Trg3Out4Rst 5Ctl6Thr7Dis8Vcc

555

+ CT.1uF

+ C1.01uF

RL10k

RA1k

RB1k

R12k

Para observar la forma de onda activamos el modo de simulación TransientAnalysis en Simulation/Analog Mode, y se ejecuta la simulación mediante elcomando Run.

14.2. Diseñe un circuito contador digital de 0 a 9, que responda a la señal de unpulsador como activación del conteo

Page 41: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Al realizar la simulación del circuito, se observa a través del display sietesegmentos el conteo que se esta llevando a cabo y la forma de control elegida

LECCIÓN 15. DIAGRAMA ESQUEMÁTICO DECIRCUITOS IMPRESOS, IMPORTAR Y GENERAR PCB

15.1. DIAGRAMA ESQUEMATICO

La realización de un circuito impreso requiere que previamente se halla hechoel diagrama esquemático. Como se ha visto anteriormente el diagramaesquemático se realiza en Circuit maker colocando los componentes en el áreade trabajo, se debe tener cuidado con las conexiones al exterior de la placatales como entradas de señal, conexiones de fuentes de alimentación,micrófonos, salidas a parlantes etc. Estas conexiones se colocan en eldiagrama esquemático seleccionando en el panel frontal en la categoríaCONNECTORS, en donde se encuentran diversos tipos de conectores como:

Page 42: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

J6

P1J5

J4

J3

J2

ent 1

Un ejemplo de estas conexiones se muestra en el siguiente diagramaesquemático, donde se reemplazo la fuente de alimentación por un conector dedos entradas al cual se le asignaron nombres a los pines (Vcc y GND), y laseñal de entrada al circuito como otro conector donde será conectadaposteriormente la señal a ser amplificada.

GNDVcc

J 2

J 1

C 11 u F Q 1

N P N

R 41 k

R 31 k

R 21 k

R 11 k

15.2. IMPORTAR CIRCUITOS Y GENERACION DEL PCB

Una vez se tenga el diagrama esquemático se procede a exportar el circuito aun programa de elaboración de PCB, Circuit Maker trae la conexión directa aestos programas a través del siguiente icono

Pulsando este icono aparece la ventana de exportación para crear el PCB, enla pestaña se puede seleccionar el programa mediante el cual se desea crearel impreso, aparecen Traxmaker que es el programa asociado por defecto aCircuit Maker y otros como Protel, Tango y Orcad entre otros.

Page 43: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Tomamos el programa por defecto TraxMaker y activamos todas las opcionesque aparecen en la parte izquierda de la ventana. En la parte derecha tenemosla oportunidad de seleccionar el tamaño de la placa en largo y ancho (estevalor esta dado en mils: milesimas de pulgada), presionamos OK y apareceuna ventana de salvar PCB, se da un nombre al archivo y se guarda.

Una vez se ha exportado el circuito, automáticamente se abre el programatraxmaker y aparece el grafico de la placa impresa con los componentes y unaventana de información del proceso, damos OK en esta ventana y nos da uninforme de errores so lo solicitamos, en caso contrario desaparece la ventana ynos permite observar solamente la placa de circuito impreso. Si esta aparecemuy pequeña la ampliamos con la herramienta zoom.

Como se observa en la grafica los componentes aparecen organizadosautomáticamente. El enrutado de las pistas se puede realizar manual oautomáticamente, seleccionando la opción en la barra de menú ROUTE.

Page 44: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Si se elige la opción manual se debe realizar cada una de las conexiones entrelos componentes, si se escoge la opción board el trazado se realizaautomáticamente y aparece una ventana para salvar el trabajo realizado hastael momento damos OK y el trazado de las pistas aparece automáticamente.

Se puede guardar el archivo del pcb, con la opción save en la subdivisión de laopción File de la barra de menú.

Page 45: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

SSEEGGUUNNDDAA UUNNIIDDAADDMODELAMIENTO MATEMÁTICO Y FUNDAMENTOS DE

PROGRAMACIÓN

CAPÍTULO 1

TRATAMIENTO MATEMÁTICO

LECCIÓN 16. POLINOMIOS Y OPERACIONES

El modelamiento matemático es parte fundamental dentro de la ingeniería, yaque los problemas que se intentan resolver son diversos, algunos muycomplejos y particulares, con este modelamiento se busca encontrar unarepresentación matemática de una situación para hallar su solución, en lamayoría de los casos los modelos planteados no se pueden resolver pormétodos analíticos, o a su vez la resolución de estos es rutinaria y fácilmentese puede recurrir a herramientas computacionales que realicen esta tarea. Elproceso que se lleva a cabo al representar matemáticamente un problema deingeniería, involucra tareas como las de discretizar el problema, es decir, envez de usar una ecuación que describa el comportamiento a través de todo eltiempo, se formulan muchas ecuaciones (algebraicas) que describen elcomportamiento en un punto en particular o para un instante en particular deltiempo. Luego todas estas ecuaciones, se ingresan a un software que resuelvey entrega las soluciones de estas ecuaciones; estas soluciones deben serválidas por datos esperados por los ingenieros, si concuerdan, se garantizaentonces que el modelo es una buena representación de la situación, si por elcontrario no son los resultados esperados, se debe revalidar el modelo,ajustarlo e iniciar el proceso nuevamente.

Dentro del software con mayor acogida en ingeniería está el MATLAB que esun entorno de computación y desarrollo de aplicaciones para llevar a caboproyectos en donde se encuentren implicados elevados cálculos matemáticos yla visualización gráfica de los mismos. MATLAB integra análisis numérico,cálculo matricial, proceso de señal y visualización gráfica y un lenguaje deprogramación de alto nivel.

Aunque existen otros programas de calculo, los ejemplos tratados en estecapitulo se desarrollan en MATLAB versión estudiantil debido a su granversatilidad y amplia difusión.

Antes de entrar en el manejo que le da Matlab a la solución de las ecuaciones,miremos el siguiente párrafo que muestra la importancia del modelamientomatemático dentro de la industria:

El matemático Carlos Conca fue precursor en acercar el modelamientomatemático a la industria. A comienzos de la década del ’80, mientras hacía suDoctorado de Estado en Matemáticas, en la Universidad Pierre et Marie Curie,

Page 46: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Paris VI, fue requerido por un equipo de ingenieros de laempresa “Electricité de France” (EDF) para que investigara un problema deresonancia, que presentaba el haz de tubos de los condensadores eintercambiadores de calor en las centrales nucleares francesas. Carlos Concarecuerda que por aquel entonces no era bien visto que un matemático seocupara de problemas de origen industrial. Sin embargo, a raíz de estasolicitud, se originó un debate en el departamento de matemáticas donde sedesempeñaba, que terminó con una solución salomónica: se creó en formaindependiente una pequeña unidad de matemáticas aplicadas al interior de sudepartamento.

Regresa a Chile en 1987, con el interés de plasmar este tipo de experiencias en el país,e intentar vincular la matemática más fundamental con las aplicaciones industriales. Seasocia a otros ingenieros del Departamento de Ingeniería Matemática de laUniversidad de Chile, y en Abril del 2000, fundan el Centro de ModelamientoMatemático (CMM). Desde aquí, se propone la tarea de consolidar una capacidadmecánico matemática de primer nivel, capaz de afrontar los problemas de lametalurgia del cobre chileno a nivel competitivo mundial.

http://www.bioplanet.net/magazine/bio_mayjun_2004/bio_2004_mayjun_cmm.htm

16.1. POLINOMIOS Y OPERACIONES

Con un polinomio a= 01...21 ssss nnn y un polinomio

b= 01...21 ssss mmm pueden realizarse las operaciones

básicas tales como suma, resta, multiplicación, división etc.

En el entorno de Matlab se introducen los polinomios expresados comovectores, es decir incluyendo solamente los coeficientes del polinomio. Porejemplo el polinomio

Se introduce en Matlab como

p= [1 2 4]

Donde las componentes del vector p corresponden a los coeficientes delpolinomio, dichas componentes deben ir separadas por espacios o por comas.

En la siguiente grafica se muestra el entorno de trabajo de Matlab, allí se puedepor ejemplo, ingresarse el polinomio anterior.

42)( 2 sssp

Page 47: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

16.2. OPERACIONES

Matlab permite realizar la suma, resta, multiplicación, división y evaluación depolinomios con los siguientes comandos. Las operaciones como suma y restase trabajan directamente como p1+p2 o p1-p2, habiendo definido previamentelos polinomios. Otras funciones útiles en la manipulación de polinomios son:

poly Inicia un polinomio. Si el argumento es una matriz cuadradadevuelve el

polinomio característico, si es un vector devuelve un polinomiocuyas raíces son los elementos del vector.

roots Devuelve las raíces del polinomio cuyos coeficientes son loselementos

del vector argumento.

polyval Calcula el valor del polinomio en el punto dado

polyder Deriva un polinomio. polyint Integra analíticamente un polinomio. conv Multiplica dos polinomios. deconv Divide dos polinomios Roots Encuentra las raíces de un polinomio

Por ejemplo dado los polinomios

6421 23 sssp

1432 2 ssp

Page 48: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Se pueden realizar las operaciones básicas como

En matlab se realizan como se observa en la siguiente figura

757221 23 ssspp

53221 23 ssspp

62526212062*1 2345 ssssspp

44.0666.02/1 spp

Page 49: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

LECCIÓN 17. DERIVADAS E INTEGRALES DEFINIDAS Y NODEFINIDAS

17.1. DERIVADAS

Para determinar la derivada simbólica de una expresión simbólica se usa lafunción diff, la cual tiene cuatro variantes:

diff(f) Derivada ordinaria: Devuelve la derivada de la expresión frespecto de la variable independiente por omisión.

diff(f,n) Derivada de orden superior n: Devuelve la n-ésima derivada dela expresión f respecto de la variable independiente por

omisión.

diff(f,'t') Derivada parcial ordinaria: Devuelve la derivada de laexpresión f respecto a la variable t.

diff(f,'t',n) Derivada parcial de orden superior n: Devuelve la n-ésimaderivada de la expresión f respecto a la variable t.

Para realizar la derivada en Matlab se debe definir la variable como unavariable simbólica esto se realiza con el comando syms o a través deapóstrofos, por ejemplo:

>> syms x, y;

>> y='x^2';

Una vez definida la variable se puede utilizar alguno de los comandosmencionados anteriormente. A continuación se muestran algunos ejemplos

1. 2638 24 xxxdx

d>> syms x;

>> f=8*x^4-3*x^2+6*x-5;

>> diff(f)

ans =

32*x^3-6*x+6

2. xdx

dcos

>> syms x;

>> f=cos(x);

>> diff(f)

ans =

-sin(x)

Page 50: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

3. )( 2 xexdx

d» syms x;

» f=x^2*exp(x);

» diff(f)

ans =

2*x*exp(x)+x^2*exp(x)

Derivadas de orden superior

4. 2638 242

2

xxxdx

d>> syms x;

>> f= f=8*x^4-3*x^2+6*x-5;

>> diff(f,2)

ans =

96*x^2-6

17.2. INTEGRALES DEFINIDAS Y NO DEFINIDAS.

Para integrar una función simbólica f en MATLAB se utiliza la función int, la cualbusca una expresión simbólica F tal que diff(F)=f. Sin embargo, es posible quedicha integral no exista o que MATLAB no pueda encontrarla, en este casodevuelve la expresión sin evaluarla. La función int tiene cinco variantes

int(f) Devuelve la integral de la expresión f respecto a la variableindependiente por omisión.

int(f,'t') Devuelve la integral de la expresión f respecto a la variablet.

int(f,a,b) Devuelve la integral de la expresión f respecto a la variableindependiente por omisión evaluada en el intervalo [a,b],donde a y b son expresiones numéricas.

int(f,'t',a,b) Devuelve la integral de la expresión f respecto a la variablet

evaluada en el intervalo [a,b], donde a y b son expresionesnuméricas.

int(f,'m','n') Devuelve la integral de la expresión f respecto a la variableindependiente por omisión evaluada en el intervalo [m,n],donde m y n son expresiones simbólicas.

Al igual que con las derivadas, para realizar el proceso de integración se debedefinir la variable como simbólica, y se procede a utilizar el comando int. Acontinuación se presentan algunos ejemplos:

Page 51: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Integral indefinida

1. dxxx 122 » syms x;

» f=x^2+2*x+1;

» int(f)

ans =

1/3*x^3+x^2+x

2. dxxe x )( 2 » syms x;

» f=x*exp(2*x);

» int(f)

ans =

1/2*x*exp(2*x)-1/4*exp(2*x)

Integral definida

3.

0

dxxsen » syms x;

» f=sin(x);

» int(f,0,pi)

ans =

2

4. dxx

21

1» syms x;

» f=1/(1+x^2);

» int(f,-inf,inf)

ans =

pi

5. b

a

dxx 13 » syms x;

» f=sqrt(3*x+1);

» int(f,'a','b')

ans =

2/9*(3*b+1)^(3/2)-2/9*(3*a+1)^(3/2)

LECCIÓN 18. SEÑALES CONTINUAS, DISCRETAS YFUNCIONES DE TRANSFERENCIA

18.1. SEÑALES CONTINUAS Y DISCRETAS

Las señales son funciones del tiempo que representan la evolución de unadeterminada variable, como puede ser el voltaje en los extremos de uncondensador, la temperatura de un horno, o la actividad eléctrica del corazón.Se clasifican en señales continuas y discretas.

Page 52: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Las señales continuas, x(t), son funciones de una variable continua (tiempo),mientras que las discretas, x[n], se definen únicamente para valores discretosde la variable independiente.

Por ejemplo la señal cos (t) representa una señal continua en el tiempo, sugrafica es la siguiente

Y La señal cos [n] representa una señal en tiempo discreto

Page 53: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

18.2. FUNCIONES DE TRANSFERENCIA

La función de transferencia es la relación entre la señal de salida y la señal deentrada a un sistema. En tiempo continuo esta relación se da en Transformadade Laplace, es decir en términos de la variable s, y en tiempo discreto se da enTransformada Z, en términos de la variable z.

Por ejemplo:

continuosistemaundeciatransferendeFunciónsssX

sYsG

26

1

)(

)()(

2

discretosistemaundeciatransferendeFunciónzz

z

zX

zYzG

26)(

)()(

2

LECCIÓN 19. RESPUESTA TEMPORAL DE SISTEMAS

Para obtener la respuesta de un sistema en el tiempo ante una entradaestándar, debe primero definirse el sistema. Para ello puede establecerse enMatLab la función de transferencia propia del sistema o las ecuaciones deestado. La función de transferencia de un sistema es una relación formada porun numerador y un denominador. El numerador Num(s) y el denominadorDen(s) deben determinarse como vectores, cuyos elementos son loscoeficientes de los polinomios del numerador y del denominador en potenciasdecrecientes de s. Por ejemplo, para definir la función de transferencia:

43

1)(

2

sssG

En matlab

>>num=[1];

>>den=[1 3 4];

Para determinar la respuesta en el tiempo para una entrada escalón unitario deeste sistema se usa el comando step indicando el vector del numerador y deldenominador entre paréntesis. step(num,den)>>step(num,den)

MatLab presenta la respuesta en el tiempo en la ventana de figuras:

Page 54: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Puede definirse el tiempo en el cual se desea la respuesta al escalón, medianteun vector de tiempo t, step(num,den,t)

>>t=0:0.1:20;>>step(num,den,t)Se define t como un vector cuyo elemento inicial es 0, su elemento final es 20 yexisten elementos que son el incremento desde 0 hasta 20 de 0.1 en 0.1. Alejecutar el comando step se obtiene en la ventana de figuras la respuestaescalón para los primeros 20 segundos.

Page 55: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Para obtener la respuesta en el tiempo para una entrada impulso unitario seusa el comando impulse.Si se define el sistema en MatLab por los polinomios del numerador ydenominador de la función de transferencia tenemos:

» num=[1 ];

» den=[1 3 4];

» impulse(num,den)

MatLab presenta la respuesta en el tiempo en la ventana de figuras:

Para los sistemas de tiempo discreto Matlab permite calcular la respuestatemporal ante diferentes señales de entradaDebe definirse el numerador Num(z) y el denominador Den(z) como vectores,cuyos elementos son los coeficientes de los polinomios del numerador y deldenominador en potencias decrecientes de z. Por ejemplo, para definir lafunción de transferencia:

8.05.1

3.05.0)(

2

zz

zzG

En matlab

>>num=[0.5 0.3];

>>den=[1 -1.5 0.8];

Page 56: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Para determinar la respuesta en el tiempo para una entrada escalón unitario deeste sistema se usa el comando filter(num,den, u) indicando el vector delnumerador y del denominador y la señal escalón definida como u(k) entreparéntesis.» num=[0.5 0.3];

» den=[1 -1.5 0.8];

» u= ones(1,41);

» y=filter(num,den,u);

» plot(y,'o')

El comando filter hace un calculo numérico, pero no realiza la graficadirectamente, por lo cual hay que utilizar el comando plot para obtener unresultado grafico.

MatLab presenta la respuesta en el tiempo en la ventana de figuras:

Para determinar la respuesta en el tiempo para una entrada impulso unitario seusa el comando filter(num,den, u) indicando el vector del numerador y deldenominador y la señal impulso definida como u(k) entre paréntesis.» num=[0.5 0.3];

» den=[1 -1.5 0.8];

» u= [1 zeros(1,40)];

» y=filter(num,den,u);

» plot(y,'o')

Page 57: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Y se obtiene en la ventana de figuras

LECCIÓN 20. RESPUESTA EN FRECUENCIA DE SISTEMAS

Para el estudio de un sistema en el dominio de la frecuencia existen tresherramientas disponibles en MatLab que son: los diagramas de Bode, deNyquist y de Nichols.

Para obtener el diagrama de Bode de una función de transferencia, se definendos vectores cuyos elementos son los coeficientes de los polinomios delnumerador y del denominador en potencias decrecientes de s. Estos vectoresson usados en el comando bode con la siguiente sintaxis:bode(num,den).

Por ejemplo, se define la función de transferencia:

43

1)(

2

sssG

Page 58: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

En Matlab

>>num=[1];

>>den=[1 3 4];

>>bode(num,den)

En el diagrama de figuras se observa el diagrama de Bode

Para especificar un rango deseado de frecuencias en las cuales se deseaobtener el diagrama de Bode, se emplea un vector de frecuencias en el que seespecifica la frecuencia inicial, el incremento y la frecuencia final. Por ejemplo:

>>W=0:0.1:100;

>>bode(num,den,W)

Este comando muestra el diagrama de Bode entre 0 y 100 rad/s.

Page 59: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Otra herramienta de análisis en el dominio en la frecuencia que ofrece MatLabes el diagrama de Nichols. Para obtener el diagrama de Nichols se utiliza elcomando nichols, cuya sintaxis es igual a la del comando bode.Si se define num como el vector de los coeficientes del polinomio delnumerador y den como el del denominador:>>num=[1];

>>den=[1 3 4];

>>nichols(num,den)

MatLab presenta en la ventana de figuras el diagrama de Nichols:

Page 60: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Page 61: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Otra herramienta de análisis en el dominio en la frecuencia que ofrece MatLabes el diagrama de Nyquist. Para obtenerlo se utiliza el comando nyquist, consintaxis igual a la de los dos comandos anteriores

>>num=[1];

>>den=[1 6 5];

>>nyquist(num,den)

MatLab presenta en la ventana de figuras el diagrama de Nyquist:

Para obtener el margen de ganancia, el margen de fase, la frecuencia de crucede ganancia y la frecuencia de cruce de fase MatLab dispone del comandomargin.

Margin (num,den) devuelve el diagrama de Bode con el calculo de margen defase y margen de ganancia. Por ejemplo

» num=[1];

» den=[1 0.5 2];

» margin(num,den)

Page 62: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

El comando [Gm,Pm,Wcg,Wcp] = margin(num,den) devuelve los valoresnumericos de margen de fase, margen de ganancia y las frecuencias en lascuales se dan estos cruces. Por ejemplo

» num=[1];

» den=[1 0.5 2];

» [Gm,Pm,Wcg,Wcp]=margin(num,den)

Gm =

Inf

Pm =

53.6248

Wcg =

NaN

Wcp =

1.6103

Page 63: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

SSEEGGUUNNDDAA UUNNIIDDAADDMODELAMIENTO MATEMÁTICO Y FUNDAMENTOS DE

PROGRAMACIÓN

CAPÍTULO 2OPERACIONES CON ARREGLOS

LECCIÓN 21. VECTORES Y CADENAS (Concepto y Definición)

En la mayoría de lenguajes de programación las matrices y los vectores seconstituyen como un conjunto de datos del mismo tipo que son agrupados bajoun mismo nombre y donde se especifica la cantidad de elementos que loscomponen, en Matlab para definir una matriz o un vector no es necesarioestablecer su tamaño, el programa determina el numero de filas y de columnasde acuerdo al número de elementos que se proporcione.

Los vectores se definen por filas o por columnas, por ejemplo un vector fila x seexpresa:

>>x=[1 5 6]

La respuesta de matlab es

x=1 5 6

Un vector columna se expresa como

y=[1; 3; 6]

y se observa en la pantalla como

y=136

2.1. OPERACIÓN CON VECTORES

Matlab permite realizar operaciones con vectores y con matriz de datos. Lassiguientes instrucciones nos permiten la manipulación de vectores.

Dado los vectores p1 y p2, tenemos

Page 64: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

p1+p2, p1-p2 Operaciones básicas con vectores p’ Transpuesta de un vector p=a:n:b Genera un vector cuyas componentes van desde a hasta b

con intervalos de n p(n) Accede a la componente n del vector p k*p1 Multiplica el vector p1 por el escalar k p1.*p2 Multiplica elemento a elemento los vectores p1 y p2 p1.^n Eleva a la enésima cada componente de p1.

En la siguiente tabla se muestran algunos ejemplos de las operaciones convectores.

1. [1 3 5 7] + [2 4 6 4] » p1=[1 3 5 7];

» p2=[2 4 6 4];

» p1+p2

ans =

3 7 11 11

1. Calcular la transpuestadel siguiente vector

[1 3 5 7]

» p1=[1 3 5 7];

» p1'

ans =

1

3

5

7

2. Hallar el componentenúmero 3 del siguientevector

[1 3 5 7]

p1=[1 3 5 7];

» p1(3)

ans =

5

4. Calcular 5*[1 3 5 7] » p1=[1 3 5 7];

» 5*p1

ans =

5 15 25 35

3. Multiplicar componente acomponente lossiguientes vectores

[1 3 5 7]

[2 4 6 4]

» p1=[1 3 5 7];

» p2=[2 4 6 4];

» p1.*p2

ans =

2 12 30 28

4. Elevar al cuadrado lascomponentes de

[1 3 5 7]

» p1=[1 3 5 7];

» p1.^2

ans =

1 9 25 49

Page 65: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

2.2. FUNCIONES QUE ACTÚAN SOBRE VECTORES

En la siguiente tabla se muestran algunas de las funciones que permitentrabajar con vectores exclusivamente, tomando a x como un vector tenemos:

Función Descripción[max,pos]=max(x) Devuelve el valor máximo de x y la posición que

ocupamin(x) Devuelve el valor mínimo y la posición que ocupasum(x) Suma los elementos de un vectormean(x) Retorna el valor medio de los elementos de un

vectorprod(x) Producto de los elementos de un vector[y,i]=sort(x) Ordena de menor a mayor los elementos del vector

x. Devuelve el vector ordenado en y, y un vector icon las posiciones iniciales en x de los elementosordenados

Diseño: Juan Monroy

Estas funciones se pueden aplicar a los vectores columna que componen unamatriz, si estas funciones se quieren aplicar a las filas de la matriz basta aplicardichas funciones a la matriz traspuesta.

LECCIÓN 22. MATRICES (Concepto y Definición)

En Matlab la matriz es un conjunto de datos del mismo tipo al cual debeasignársele un nombre. Para definir una matriz no hace falta establecerpreviamente su tamaño ya que Matlab lo determina de acuerdo al número deelementos que se ingresan. Las matrices se definen por filas, los elementos deuna misma fila están separados por espacios o comas, y las filas estánseparadas por enter o punto y coma (;).

Por ejemplo la matriz

987

654

321

A

Se define e ingresa en Matlab como>> A=[1 2 3; 4 5 6; 7 8 9]

A =

1 2 3

4 5 6

7 8 9

Page 66: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Y lo muestra así:

22.1. OPERACIÓN CON MATRICES

Matlab permute realizar las operaciones básicas al igual que con los vectores yademás proporciona comandos adicionales para desarrollar otras operaciones.Los comandos básicos son los siguientes. Dados las matrices a1 y a2:

a1+a2, a1-a2 Operaciones básicas con matrices

a’ Transpuesta de la matriz a

a(n,m) Accede a la componente n,m de una matriz a

k*a Multiplica la matriz a por el escalar k

a1.*a2 Multiplica elemento a elemento las matrices a1 y a2

a.^n Eleva a la enésima cada componente de a1.

Inv (a) Calcula la inversa de una matriz

Det (a) halla el determinante de a

reshape(a,x,y) cambia el orden de una matriz

b=a(:) convierte la matriz a en un vector

ones (n) Crea una matriz cuadrada de orden n cuyos componentesson unos

eye (n) Crea una matriz diagonal de orden n

Page 67: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

A continuación se presentan algunos ejemplos

1.

325

648

171

593

761

842

» a1=[2 4 8;1 6 7; -3 9 5];

» a2=[1 7 -1;8 4 6;-5 2 3];

» a1+a2

ans =

3 11 7

9 10 13

-8 11 8

2. Calcular la transpuesta de

593

761

842

» a1=[2 4 8;1 6 7; -3 9 5];

» a1'

ans =

2 1 -3

4 6 9

8 7 5

2. Calcular la inversa de

593

761

842

» a1=[2 4 8;1 6 7; -3 9 5];

» inv(a1)

ans =

-0.7174 1.1304 -0.4348

-0.5652 0.7391 -0.1304

0.5870 -0.6522 0.1739

3. Encontrar elcomponente (2,3) de lamatriz

593

761

842

» a1=[2 4 8;1 6 7; -3 9 5];

» a1(2,3)

ans =

7

4. Cambiar el orden de lasiguiente matriz

1593

3761

6842

a=[2 4 8 6;1 6 7 3; -3 9 5 1];

» reshape(a,2,6)

ans =

2 -3 6 8 5 3

1 4 9 7 6 1

7. Crear una matriz diagonalde orden 4

» eye(4)

ans =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Page 68: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

22.2. FUNCIONES QUE ACTÚAN SOBRE MATRICES

En la siguiente tabla se muestran algunas de las funciones para el manejo dematrices, por supuesto que exige que sus argumentos sean matrices (A).

Función DescripciónV = poly(A) Devuelve un vector v con los coeficientes del

polinomio característico de la matriz cuadrada At = trace(A) Retorna la traza t (suma de los elementos de la

diagonal) de una matriz cuadrada A[m,n] = size(A) Devuelve el número de filas m y de columnas n de

una matriz rectangular AN = size(A) Devuelve el orden de una matriz cuadrada Anf = size(A,1) Devuelve el número de filas de Anc = size(A,2) Retorna el número de columnas de Aexp(A) Calcula la exp a cada uno de los elementos de la

matriz Asqrt(A) Calcula la raíz cuadrad a cada uno de los

elementos de la matriz Alog(A) Calcula el logaritmo en base diez a cada uno de los

elementos de la matriz AB = inv(A) Calcula la inversa de A.D = det(A) Retorna el determinante d de la matriz cuadrada AX = linsolve(A,b) La función linsolve permite resolver sistemas de

ecuaciones lineales. Esta función no trata deaveriguar las características de la matriz quepermitan hacer una resolución más eficiente: se fíade los datos suministrados por el usuario. Si sonincorrectos arrojara datos de igual tipo sin ningúnmensaje de error.

Diseño: Juan Monroy

LECCIÓN 23. OTRAS FORMAS DE DEFINIR MATRICES

Además de la alternativa de definir una matriz a partir del teclado, es posible enMATLAB utilizar otras formas más potentes y generales de definir y/o modificarmatrices.

23.1. TIPOS DE MATRICES PREDEFINIDOS

MATLAB dispone de varias funciones orientadas que permiten definirfácilmente matrices de tipos particulares.

Page 69: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Algunas de estas funciones son las siguientes:

Función Descripcióneye(3) forma la matriz unidad de tamaño (3×3)zeros(3,2) forma una matriz de ceros de tamaño (3×2)ones(2) forma una matriz de unos de tamaño (2×2)linspace(x1,x2,n) genera un vector con n valores igualmente

espaciados entre x1 y x2logspace(d1,d2,n) genera un vector con n valores espaciados

logarítmicamente entre 10^d1 y 10^d2. Si d2 es pi,los puntos se generan entre 10^d1 y pi

rand(4) forma una matriz de números aleatorios entre 0 y 1,con distribución uniforme, de tamaño (4×4)

randn(3) forma una matriz de números aleatorios de tamaño(3×3), con distribución normal, de valor medio 0 yvarianza 1.

magic(4) crea una matriz (4×4) con los números 1, 2, ... 4*4,con la propiedad de que todas las filas y columnassuman lo mismo

kron(x,y) produce una matriz con todos los productos de loselementos del vector x por los elementos del vectory. Equivalente a x'*y, donde x e y son vectores fila

compan(pol) construye una matriz cuyo polinomio característicotiene como coeficientes los elementos del vectorpol (ordenados de mayor grado a menor)

Diseño: Juan Monroy

Existen otras funciones que puede consultar en el archivo matlab70primero.pdfde la documentación anexa

23.2. FORMACIÓN DE UNA MATRIZ A PARTIR DE OTRAS

MATLAB permite crear una nueva matriz a partir de otra o de otras, perorequiere de dos funciones auxiliares:

[m,n]=size(A) devuelve el número de filas y de columnas de la matriz A.Si la matriz es cuadrada basta recoger el primer valor de retorno

n=length(x) calcula el número de elementos de un vector x

Page 70: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Función Descripciónzeros(size(A)) Forma una matriz de ceros del mismo orden de la

matriz A previamente creadaones(size(A)) Crea una matriz de unos del mismo orden de la

matriz A previamente creadaA=diag(x) Forma una matriz diagonal A cuyos elementos

diagonales son los elementos del vector existente xx=diag(A) Genera un vector x a partir de los elementos de la

diagonal de la matriz A ya existentediag(diag(A)) Crea una matriz diagonal a partir de la diagonal

principal de la matriz Ablkdiag(A,B) Genera una matriz diagonal de submatrices a partir

de las matrices A y BTriu(A) Forma una matriz triangular superior a partir de una

matriz A.Tril(A) Forma una matriz triangular inferior a partir de una

matriz A.

23.3. OPERADOR DOS PUNTOS (:)

Este operador se puede usar de varias formas.

Ejemplos:

Definir un vector x de forma tal que sus elementos estén compuestospor los números dados en un rango. El incremento por defecto es de 1,

>> x=5:10x =5 6 7 8 9 10

Definir un vector en un rango dado, con un incremento específico

>> x=5:1.5:10x =5.0000 6.5000 8.0000 9.5000

Extraer los elementos de una fila de la matriz A>> A=magic(3)A =15 0 67 32 71 22 20

El siguiente comando extrae los 2 primeros elementos de la segundafila:

>> A(2, 1:2)ans =7 32

Page 71: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

El siguiente comando extrae todos los elementos de la primera fila:>> A(1, :)ans =15 0 6

Los elementos de la última fila se extraen con el comando

>> A(end, :)ans =1 22 20

Extraer los elementos de determinadas filas

>> A([1 3],:)ans =15 0 61 22 20

Reemplazar los elementos de determinadas filas de una matriz B por las de otra matriz A

>> B([1 2 3],:)=A(1:3,:)B =15 0 67 32 71 22 20

LECCIÓN 24. ESTRUCTURAS

Las estructuras son elementos que pueden almacenar variables de diferentetipo bajo un mismo nombre, por ejemplo podemos crear una estructura quecontenga el nombre del estudiante, código y genero. A diferencia de loslenguajes de programación, no hace falta definir previamente el modelo opatrón de la estructura.

Una posible forma de hacerlo es crear uno a uno los distintos campos, como enel ejemplo siguiente:

>> estudiante.nombre='Pedro'estudiante =nombre: 'Pedro'>> estudiante.codigo=123456789estudiante =nombre: 'Pedro'codigo: 123456789>> estudiante.genero=’M’estudiante =nombre: 'Pedro'codigo: 123456789genero=’M’

Page 72: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Para el acceso a los miembros o campos de una estructura se utiliza eloperador punto (.), este se ubica entre el nombre de la estructura y el nombredel campo (por ejemplo: estudiante.nombre).

También puede crearse la estructura por medio de la función struct():

>> estudiante = struct('nombre', 'Pedro', 'codigo', 76589,’genero’,’M’)estudiante =nombre: 'Pedro'codigo: 123456789genero=’M’

Pueden crearse vectores y matrices (e hipermatrices) de estructuras. Lasiguiente instrucción da un ejemplo:

>> estudiante (8) = struct('nombre', 'Pedro', 'codigo', 76589,’genero’,’M’)

Por medio de esta instrucción se crea un vector de 8 elementos donde eloctavo elemento es inicializado con los argumentos de la función struct(); elresto de los campos se inicializan con valores vacios

Para añadir nuevos campos a la estructura simplemente se realiza como si seaccediera a él para darle un valor

>> estudiante(5).edad=44;

24.1. FUNCIONES PARA OPERAR CON ESTRUCTURAS

Algunas de las funciones que se pueden utilizar en Matlab para el manejo delas estructuras son las siguientes:

Función Descripciónfieldnames() Devuelve un vector de celdas con cadenas de

caracteres que recogen los nombres de los camposde una estructura

isfield(E,s) Determina si la cadena s es un campo de unaestructura E

isstruct(E) Permite determinar si E es o no una estructurarmfield(E,s) Elimina el campo s de la estructura Egetfield(E,s) Retorna el valor del campo especificado s. de la

estructura E.setfield(E,s,v) Asigna el valor v al campo s de la estructura E.

Diseño: Juan Monroy

Page 73: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

24.2. ESTRUCTURAS ANIDADAS

MATLAB permite definir estructuras anidadas, es decir estructuras concampos que a la vez son estructuras. Para acceder a los campos de laestructura más interna se utiliza dos veces el operador punto (.), como puedeverse en el siguiente ejemplo

>> clase=struct('Zona','Boyacá','Cead','Sogamoso', ...'estudiante', struct('nombre','Maria', 'edad',25))clase =Zona: 'Boyacá'Cead: 'Sogamoso'estudiante: [1x1 struct]>> clase.estudiante(2).nombre='José';>> clase.estudiante(2).edad=27;>> clase.estudiante(2)ans =nombre: 'José'edad: 27>> clase.alum(1)ans =nombre: 'Maria'edad: 25

LECCIÓN 25. APLICACIONES

Retomando el ejercicio de la Lección 10 en donde se pedía encontrar lascorrientes de malla I1, I2 e I3 del circuito:

+

-

Vs110V

R510

R45

R38

R24

R110

Se Define el sistema de ecuaciones de malla del circuito.

02358

10594

08422

321

321

321

III

III

III

I2 I3

I1

Page 74: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Resolviendo el sistema proseguimos a encontrar el determinante de la matrizA:

2740

2358

594

8422

Una vez que hemos encontrado el determinante de la matriz A procedemos abuscar las incógnitas del sistema en este caso I1, I2 e I3.

AI 4848.02740

13202350

5910

840

1

AI 61.12740

44202308

5104

8022

2

AI 51.02740

1420058

1094

0422

3

Matlab nos permite el cálculo de las corrientes mediante el cálculo de losdeterminantes de la siguiente forma

» a=[22 -4 -8;-4 9 -5;-8 -5 23];» det(a)ans = 2740

» b=[0 -4 -8;10 9 -5;0 -5 23];» I1=det(b)/det(a)

I1 = 0.4818

» a=[22 -4 -8;-4 9 -5;-8 -5 23];» c=[22 0 -8;-4 10 -5;-8 0 23];» I2=det(c)/det(a)

I2 = 1.6131

Page 75: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

» d=[22 -4 0;-4 9 10;-8 -5 0];» a=[22 -4 -8;-4 9 -5;-8 -5 23];» I3=det(d)/det(a)

I3 = 0.5182

Page 76: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

SSEEGGUUNNDDAA UUNNIIDDAADDMODELAMIENTO MATEMÁTICO Y FUNDAMENTOS DE

PROGRAMACIÓN

CAPÍTULO 3FUNDAMENTOS DE PROGRAMACIÓN Y LENGUAJES DE DESCRIPCIÓN

DE HARDWARE

LECCIÓN 26. CONCEPTOS Y TIPOS DE DATOS

En esta unidad se busca conocer los elementos básicos en la programación y apartir de ellos definir soluciones a problemas de programación a bajo nivel,conceptos fundamentales para el manejo de circuitos programables.

26.1. CONCEPTOS

Un algoritmo es un conjunto de pasos lógicos, exentos de ambigüedad, quebuscan solucionar un problema determinado.

Los algoritmos se pueden representar a partir de diagramas de flujo o depseudocódigo.

Pseudocódigo: El pseudocódigo utiliza palabras del lenguaje cotidiano parareasentar así el conjunto de pasos a seguir. Dentro de las palabras están:

PALABRA DESCRIPCIÓN

Inicio Determina el punto de partida del algoritmo, o de unasubrutina

Fin Finaliza el algoritmo, o una subrutina

Leer Representa la captura de información a través decualquier medio o dispositivo de entrada.

Imprimir Representa la visualización de información a través decualquier medio o periférico de salida.

SI..Entonces Permite diseñar condicionalesSI..Entonces..De locontrario

Además de la condición permite determinar lasinstrucciones a ejecutar si la condición no se cumple.

Y, O Permiten realizar operaciones lógicas al diseñar unacondición

En caso de Evalúa el valor de una variable dentro de un conjuntode posibles alternativas.

Para Determina el número de veces a repetir un conjuntode instrucciones.

MientrasRepite un grupo de instrucciones tantas veces comose cumpla una condición evaluada al inicio de cadaciclo repetitivo.

Page 77: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Hacer..mientrasRepite un grupo de instrucciones tantas veces comose cumpla una condición evaluada al final de cadaciclo repetitivo.

Diseño: Juan Monroy

Diagrama de Flujo: El diagrama de flujo utiliza símbolos gráficos pararepresentar el conjunto de pasos del algoritmo. Dentro de estos símbolosbásicos y que se requieren para estructurar algoritmos para programación abajo nivel tenemos:

SÍMBOLO DESCRIPCIÓNDetermina el punto de partida del algoritmo

Finaliza el algoritmo, o permite definir el inicio de unasubrutina

Representa la captura de información a través decualquier medio o dispositivo de entrada.

Representa la visualización de información a través decualquier medio o periférico de salida.

Permite diseñar condicionales

Permite estructurar el desarrollo de una operaciónaritmética o lógica.

Indica el sentido en el que se ejecutan lasinstrucciones

Diseño: Juan Monroy

26.2. TIPOS DE DATOS.

Aunque para la programación abajo nivel se manejan únicamenterepresentaciones binarias de la información, es importante reconocer que anivel de computadores existen los siguientes tipos de datos:

Numéricos: Aquel conjuntos de datos que representa cifras numéricasya sea su parte entera únicamente (números enteros), o su parte enteray decimal (números reales).

Ejemplo

Enteros: 45; 56; 78; -34

Page 78: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Reales: 23.56; 5789.09; 0.00000067;

Alfanuméricos: Conjunto de datos formados por información de tipocarácter, la cual puede agruparse para formar las cadena de caracteres,o presentarse de manera individual formando el carácter.

Ejemplo

Caracteres: ‘4’; ‘i’; ‘A’Cadenas: “hola Mundo”; “Unad”; “Cad Electrónica 1911”

Boléanos: Son datos que pueden presentar únicamente dos valoresposibles, ya se un 1 lógico o un cero lógico, los cuales representan lapresencia o ausenta de voltaje y dependiendo del contexto puedensignificar la presencia de 5 voltios y 0 voltios respectivamente, 3.3 v y 0v, etc.

LECCIÓN 27. INSTRUCCIONES E/S, DE SELECCIÓN

27.1. INSTRUCCIONES DE ENTRADA/SALIDA

Como se mostró con anterioridad, existen elementos que permiten definir elprocedimiento para la captura de información y la visualización de resultados,en cada uno de estos procesos interviene elementos tanto para la captura delos datos, así como para su visualización, estos elementos pueden ser porejemplo sensores, interruptores, pulsadores, cualquier elementos que permitarealizar la captura de una señal, de igual forma para la visualización podemosutilizar: leds, display siete segmentos, matriz de leds, motores, etc, es decircualquier elemento que permita reflejar el resultado de la informaciónprocesada; sin embargo a nivel de algoritmo esto no tiene relevancia ya quesolo necesitamos representar la operación, esto cobra importancia en elmomento del diseño del circuito.

Diseño: Juan Monroy

PROCESAMIENTO

Sensores Interruptores Pulsadores Salida Ctos

Leds Display Siete

Segmentos Matriz de leds Motores

ENTRADA SALIDA

Pseudocódigo: IMPRIMIR

Diagramade Flujo

Pseudocódigo: LEER

Diagramade Flujo

Page 79: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

27.2. INSTRUCCIONES DE SELECCIÓN

Este tipo de instrucciones permite decidir entre ejecutar un grupo deinstrucciones o no, dependiendo de que se cumpla o no una condición. Lacondición se evalúa para determinar si es cierta, es decir si su valor de verdades verdadero.

27.2.1. Comparadores. La condición se diseña comparando dos elementos aparir de los siguientes comparadores:

Mayor que > Menor que < Mayor o igual >= Menor o igual <= Igual = Diferente <>

Ejemplo

a>b ; la respuesta a esta comparación solo puede ser verdadera ofalsa

A>=56 ;se compara una variable con una constante

78<=B ; no se puede determinar su valor de verdad ya que sedesconoce el valor de la variable B

34<>56 ;su valor de verdad (verdadero) se puede determinar yaque se están comparando dos constantes

27.2.2. Operadores lógicos. Si se necesita hacer más de una comparación, serequiere el uso de operadores lógicos, los cuales operan los valores de verdadde cada comparación para así llegar a un único valor.

Los operadores lógicos utilizados son el “y” y el “o”, cuyas tablas de verdad serelacionan a continuación.

Operador “y”, “^”, “and”

C1 C2 C1 y C2V V VV F FF V FF F F

Page 80: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Operador “o”, “v”, “or”

C1 C2 C1 y C2V V VV F FF V FF F F

27.2.3. Condicionales. Una vez tratados los comparadores y operadoreslógicos vamos a trabajar con la condicional a partir de un ejemplo y mostrandoel algoritmo en pseudocódigo y en diagramas de flujo, pero antes vamso aconsiderar la sintaxis de cada uno de ellos

Sintaxis Diagrama de Flujo

La ubicación del “Si” o el “No”, pueden ir en cualquiera de las puntas de rombo,lo importante es definir claramente cada uno de los caminos a tomar dad larespuesta cierta ó falsa de la condición.

Condición

Instrucciones aejecutar si se

cumple lacondición

Instrucciones aejecutar si NOse cumple la

condición

No

Si

Page 81: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Sintaxis Pseudocódigo

Si (Condición) entonces _______ _______ Instrucciones a ejecutar si se cumple la condición _______De lo contrario _______ _______ Instrucciones a ejecutar si no se cumple la condición _______Fin si

Es importante aclarar que no es posible que exista un “De lo contrario” sin lapresencia de un Si… entonces

27.2.4. Ejemplos

Ejemplo 1. Suponga que s requiere realizar un programa que determine cualesel mayor de dos números:

Solución.

Es necesario tener en cuenta que los dos números deben ser leídos (ingresar através de cualquier dispositivo de entrada), los vamos a denominar N1 y N2

Pseudocódigo

InicioLeer N1Leer N2Si N1>N2 entonces

Imprimir N1De lo contrario

Imprimir N2Fin Si

Fin

Page 82: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Diagrama de Flujo

Ejemplo 2. Realizar un algoritmo para determinar cual es el mayor de tresnúmeros.

Pseudocódigo

InicioLeer N1,N2,N3Si (N1>N2) y (N1>N3) entonces

Imprimir N1De lo contrario

Si (N2>N3)Imprimir N2

De lo contrarioImprimir N3

Fin si Fin siFin

El primer Si determina si el mayor de los tres número es N1, si esto no escierto, queda por evaluar cual de los otros dos números es mayor, N2 o N3.

Inicio

N1, N2

N1>N2

N2N1

Fin

Si No

Page 83: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Diagrama de Flujo

Ejemplo 3. Realice un algoritmo que determine si una vocal leída es abierta ocerrada

Pseudocódigo

InicioLeer vocalSi (vocal=’a’) o (vocal=‘e’) o (vocal=’o’) entonces

Imprimir “Vocal Abierta”De lo contrario

Imprimir “Vocal Cerrada”Fin si

Fin

Es necesario utilizar el operador “o” ya hay tres posibilidades de que la vocalsea abierta, por tanto al evaluar cada una de ellas “a”, “e” y “o” se debe llegar ala misma respuesta.

Inicio

N1, N2,N3

N1>N2 yN1>N3

N3

N1

Fin

Si No

N2>N3

N2

Si

No

Page 84: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Diagrama de Flujo

LECCIÓN 28. INSTRUCCIONES REPETITIVAS

Ordenes que permiten repetir un número determinado de veces la ejecución deun grupo de instrucciones. Básicamente encontramos tres tipos deinstrucciones:

28.1 PARA. Se recomienda su uso cuando se conoce de antemano elnúmero de veces a repetir.

Sintaxis

Para variable=valor inicial, hasta valor final, variable=variable+incremento__________________ Instrucciones a repetir_________

Fin para

La variables es la que lleva el conteo del número de veces que se ha repetidolas instrucciones, por ello debe tener un valor inicial y un valor final, para poderllevar el conteo es necesario determinar de cuanto en cuanto se cuenta, de ahíque sea necesario definir el “incremento” de la variable

Inicio

vocal

(vocal = ‘a’) O(vocal = ‘e’) O(vocal = ‘o ‘)

VocalCerrada

“VocalAbierta

Fin

Si No

Page 85: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Ejemplo Realice un algoritmo para imprimir los número de 1 hasta 20

Pseudocódigo

InicioPara i=1, hasta 20, i=i+1

Imprimir iFin para

Fin

Diagrama de flujo

28.2 MIENTRAS. Se utiliza cuando es necesario verificar una condición antesde ejecutar cada uno de los ciclos posibles de repeticiones.

Sintaxis

Mientras (Condición)__________________ Instrucciones a repetir_________

Fin Mientras

Ejemplo. Realice un programa que determine el número de divisores de unnúmero m. Suponemos la existencia de una función Residuo que calcula elresto de una división.

Inicio

i

Fin

Si

No

i=1

i=20

i=i+1

Page 86: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

PseudocódigoInicio

Leer mDivisor=1Cantidad_divisores=0Mientras (Divisor<=m)

If (Residuo(m,Divisor)=0) entoncesCantidad_divisores=Cantidad_divisores+1

Fin siDivisor=Divisor+1

Fin Mientras

Imprimir (Cantidad_divisores)Fin

Diagrama de Flujo

Page 87: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

28.3 HACER.. MIENTRAS. Se usa cuando es necesario repetir un grupo deinstrucciones y al final de cada ciclo determinar si es necesario volver arepetir o no.

Inicio

m

Divisor=1Cantidad_divisores=0

Divisor<=m

Residuo(m,Divisor) =0

Cantidad_divisores=Cantidad_divisores+1

Si

Si

Divisor=Divisor+1

No

No

Cantidad_divisores

Fin

Page 88: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Sintaxis

Hacer__________________ Instrucciones a repetir_________

Mientras (Condición)

Ejemplo. Realice un programa que realice una división entera entre dosnúmeros A y B a partir de restas sucesivas. Suponemos A mayor que B

PseudocódigoInicio

Leer ALeer BCociente=0Hacer

A=A-BCociente=Cociente+1

Mientras (A>B)Imprimir (Cociente)

Fin

Diagrama de Flujo

Page 89: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

LECCIÓN 29. FUNDAMENTOS DE PROGRAMACION ENMATLAB

MATLAB es una aplicación en la que se puede programar, es decir configuraruna serie de instrucciones para que se realice una tarea específica, no es tanpotente como un lenguaje de Programación como C++ o Java, pero ofrece unbuen número de posibilidades y se convirtiéndose en una herramientaimportante de aprendizaje en los fundamentos de programación, esenciales enla implementación de circuitos programables.

29.1. OPERADORES RELACIONALES

MATLAB utiliza la siguiente simbología para el manejo de operadoresrelacionales:

< menor que> mayor que<= menor o igual que>= mayor o igual que

Inicio

A,B

Cociente=0

A>B

Cociente=Cociente+1

Si

A=A-B

No

Cociente

Fin

Page 90: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

== igual a~= diferente a

Al igual que en C, si una comparación se cumple el resultado es 1 (true),mientras que si no se cumple es 0 (false). Recíprocamente, cualquier valordistinto de cero es considerado como true y el cero equivale a false.

Ejemplo

>> A=[5 -3;2 1]; B=[0 -3;1 7];>> A==Bans =0 10 0

29.2. OPERADORES LÓGICOS

La simbología que utiliza MATLAB para los operadores lógicos son:

Operador Descripción& (y). Se evalúan siempre el valor de verdad de los dos

operandos, el resultado es true sólo si ambos son true.&& (y breve). No necesariamente termina evaluando los dos

operandos, si el primer operando es false ya no seevalúa el segundo, esto porque el resultado final ya nopuede ser más que false. Es muy útil sobre todo cuandose trabaja con matrices, reduciendo el tiempo de cálculoy proceso

| (o) Retorna false si al evaluar ambos operandos cadauno de ellos es false de lo contrario devuelve true.

|| (o breve). si el primer operando es true ya no se evalúael segundo, pues el resultado final no puede ser másque true.

~ Negación lógica, si el operando es true retorna falsexor(A,B) Realiza un "o exclusivo", es decir, devuelve false si

ambos operandos tienen el mismo valro de verdad de locontrario retorna true

Diseño: Juan Monroy

El siguiente ejemplo muestra como se utilizan los operadores y a la vez comofiltrar un posible error de división por cero al usar un operador breve

r = (b~=0) && (a/b>0);

Page 91: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

29.3. CONDICIONALES

MATLAB dispone de instrucciones sentencias para realizar las condicionales,vistas en las alecciones anteriores

29.3.1. INSTRUCCIÓN IF

Sintaxis general

if condicionsentenciasend

Sintaxis de bifurcación múltiple es decir se concatenan las condiciones enfunción de lo que se desea evaluar o ejecutar

if condicion1bloque1elseif condicion2bloque2elseif condicion3bloque3else % opción por defecto para cuando no se cumplan las condiciones 1,2,3bloque4end

Ejemplo

>>r=30000;>>if r==10000disp (‘Resistencia de 10 kilo ohmios’)elseif r==20000disp (‘Resistencia de 20 kilo ohmios’)elseif r==30000disp (‘Resistencia de 30 kilo ohmios’)endResistencia de 30 kilo ohmios

29.3.2. INSTRUCCIÓN SWITCH

La instrucción switch realiza una tarea análoga a los if...else if concatenados.

Page 92: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Sintaxis

switch expresion

case Valor1,bloque1

case {Valor2, Valor3, Valor4}bloque2

...otherwise, % opción por defecto

bloque3

end

Los bloques de instrucciones deben ubicarse hacia la derecha según ladependencia de la instrucción anterior a ella, esto se hace para que elprograma resulte más legible, resultando más fácil ver dónde empieza ytermina la bifurcación o el bucle. Es muy recomendable seguir esta práctica deprogramación.

En la sintaxis la palabra expresión hace referencia a la variable o resultado deoperación que se pretende evaluar, este se compara con casa uno de losposibles valores ubicados como Valor1, Valor2, etc, si resulta ser igual a unode ellos, se ejecuta el bloque de instrucciones que dependan de ello, si noresulta ser igual a alguno de estos valores se ejecutar lo que dependa deotherwise.

>>r=30000;>>switch rcase 10000disp (‘Resistencia de 10 kilo ohmios’)case 20000disp (‘Resistencia de 20 kilo ohmios’)case 30000disp (‘Resistencia de 30 kilo ohmios’)end

Resistencia de 30 kilo ohmios

29.4. LECTURA Y ESCRITURA INTERACTIVA DE VARIABLES

A continuación se da una explicación de cómo utilizar una forma sencilla deleer variables desde teclado y escribir mensajes en la pantalla.

Page 93: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

FUNCIÓN INPUT

La función input permite capturar un valor digitado por el usuario, para ellopermite imprimir un mensaje en la línea de comandos de MATLAB, con el fin deguiar al usuario en el proceso; después de imprimir el mensaje, el programaespera que el usuario teclee el valor numérico o la expresión; el usuario puedeteclear los valores de un vector o matriz o en general cualquier expresión, estaes evaluada con los valores actuales de las variables de MATLAB y elresultado se devuelve como valor de retorno.

Ejemplo

>> semestre = input('Por favor digite el semestre que cursa')

La variable semestre almacenará un valor de tipo numérico

Otra forma de emplear la función es estableciendo que no evalúe la expresiónintroducida por el usuario (a través del parámetro 's') así:

>> nombre = input('¿Digite su nombre?','s')

Acá la expresión digitada por el usuario no es evaluada y se almacena en lacadena nombre como texto.

FUNCIÓN DISP

La función disp permite imprimir en pantalla un mensaje de texto o el valor deuna matriz, pero sin imprimir el nombre de la variable. En realidad, dispsiempre imprime vectores y/o matrices: las cadenas de caracteres son un casoparticular de vectores. Considérense los siguientes ejemplos de cómo seutiliza:

>> disp('Gracias por su atención ')>> nombre = input('¿Digite su nombre?','s')>> disp(nombre)

LECCIÓN 30. INSTRUCCIONES DE REPETICIÓN EN MATLAB

30.1. INSTRUCCIÓN FOR

La instrucción for repite un conjunto de instrucciones un númeropredeterminado de veces. A continuación se muestra su sintaxis en Matlab

for i=1:nInstrucciones a repetir

end

Page 94: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

Esto hace que la variable i tome los valores desde 1 hasta n, incrementándosede a uno en uno por cada repetición que ejecute.

Es posible hacer que los valores que tome la variable i, se asignen desde unvector (vector_de_valores) así:

for i=vector_de_valoresInstrucciones a repetir

end

Tambíen es posible determinar el valor del incremento así:

for i=m:-0.5:10Instrucciones a repetir

end

La variable i toma valores desde m, decrementándose de -0.5 en -0.5 hastaque sea menor a 10.

Una última sintaxis para la instrucción for es la siguiente (tenga en cuenta queA es una matriz). Aca la variable i es un vector que va tomando en cadaiteración el valor de una de las columnas de A.

for i=AInstrucciones a repetir

end

Cuando se introducen interactivamente en la línea de comandos, los for seejecutan sólo después de introducir la sentencia end que los completa.

A continuación mostramos el código en Matlab para el algoritmo ejemplo de lainstrucción Para dado en la Lección 28.

>> for i=1:10disp (i)end

12345678910

Page 95: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

30.2. INSTRUCCIÓN WHILE

La estructura de la instrucción tiene la siguiente sintaxis

while condicionInstrucciones a repetir

end

Los ciclos repetitivos terminan cuando todos los elementos de condicion seanfalse (es decir, cero).

A continuación mostramos el código en Matlab para el algoritmo ejemplo de lainstrucción Mientras dado en la Lección 28.

>> m = input('Por favor digite un número ');Por favor digite un número 8>>Divisor=1;>>Cantidad_divisores=0;>>while Divisor<=mIf mod(m,Divisor)==0Cantidad_divisores=Cantidad_divisores+1;endDivisor=Divisor+1;end>>disp (Cantidad_divisores)4

30.3. FUNCIONES EN MATLAB

Una función es un conjunto de instrucciones que cumplen una tarea específicay que se agrupan bajo un nombre, una función tiene nombre, valor de retornoy argumentos; se invoca utilizando su nombre en una expresión o como uncomando más. Las funciones se pueden definir en ficheros de texto *.m comose explica mas adelante.

Considérense los siguientes ejemplos de llamada a funciones:

>> n=length(x);

calcula el número de elementos de un vector x

>> a = cos(ang);

Calcula el coseno del ángulo almacenado en ang

Page 96: Cad Para Electronica

Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica

En MATLAB es posible manejar funciones que no tienen argumentos, éstas nollevan paréntesis, por lo que a simple vista no es fácil diferenciarlas de simplesvariables.

30.4. DEFINICIÓN DE FUNCIONES

Para definir las funciones es necesario digitar el código como un archivo ASCII,es decir un archivo tipo texto sin formato, para ello se puede utilizar cualquiereditor de texto y grabando el archivo sin formato y con extensión .m. Laprimera línea de un archivo que contenga el código o instrucciones de unafunción debe tener la forma: function [lista de valores de retorno] =name(lista de argumentos) donde name es el nombre de la función. Entrecorchetes y separados por comas van los valores de retorno (siempre quehaya más de uno), y entre paréntesis también separados por comas losargumentos. Puede haber funciones sin valor de retorno y también sinargumentos. Los argumentos son los datos de la función y los valores deretorno sus resultados. La ejecución de una función termina cuando se llega asu última sentencia ejecutable. Si se quiere forzar el que una función terminede ejecutarse se puede utilizar la sentencia return, que devuelveinmediatamente el control al entorno de llamada.

A continuación se muestra un ejemplo de la forma como quedaría la típicaprimer función a realizar cuando se aprende a programar

function holamundo()dispo (‘hola Mundo’)end

Para ampliar el tema de la definición o creación de funciones consulte la página76 de el archivo anexo ‘matlab70primero.pdf’ donde se explica con mayordetalle cada uno de los pasos a seguir, antes de hacer dicha consulta debeinspeccionar la temática del debugger para conocer el editor de texto de Matlab