cad para electronica
TRANSCRIPT
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]
UUNNIIVVEERRSSIIDDAADD NNAACCIIOONNAALL AABBIIEERRTTAA YY AA DDIISSTTAANNCCIIAAFFAACCUULLTTAADD DDEE CCIIEENNCCIIAASS BBÁÁSSIICCAASS EE IINNGGEENNIIEERRÍÍAA
PPRROOGGRRAAMMAA IINNGGEENNIIEERRIIAA EELLEECCTTRRÓÓNNIICCAASSOOGGAAMMOOSSOO,, 22000077
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
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
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.
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.
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
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.
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.
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/
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
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
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.
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.
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
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.
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
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
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.
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.
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
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
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.
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.
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
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
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
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
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
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
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.
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
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.
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
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(
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
Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica
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
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.
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
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
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:
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.
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.
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ú.
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,
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
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
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
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)
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:
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.
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
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:
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.
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];
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')
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
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.
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:
Facultad de Ciencias Básica e Ingeniería Programa de Ingeniería Electrónica
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)
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
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
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
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
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
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
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.
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
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
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’
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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);
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.
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.
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
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
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
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