El PC Como Sistema de Control

6
El PC como Sistema de Control Actuadores, sensores y programación Una forma de realizar control programado con el PC Actuadores, sensores y programación La aparición del computador en la década de los 40 acelera vertiginosamente el desarrollo de autómatas y robots. La cuestión es: ¿podemos hacer servir el PC como un autómata o un robot?. Para poder responder es preciso verificar si se cumplen las siguientes condiciones: ¿Podemos conectarle sensores ? ¿Podemos conectarle actuadores ? ¿Podemos programarlo (y reprogramarlo) para que tome decisiones en función de los sensores y de instrucciones previas para que los actuadores operen en consecuencia? La respuesta a las tres cuestiones es afirmativa: El PC cuenta para comunicarse con sus periféricos, incluso en su versión más básica, con diversos dispositivos de entrada: puertos paralelo y serie, USB, joystick, micrófono, ... Además, es posible agregarle tarjetas especializadas que añaden otras muy diversas clases de entradas. También cuenta con varios dispositivos de salida: puertos paralelo y serie, USB, sonido, video, ... Asimismo, se pueden añadir tarjetas especializadas que expanden el número y tipo de salidas. Por otras parte, son muchos los lenguajes de programación utilizables en el PC que permiten leer las entradas y modificar las salidas: BASIC, LOGO, Pascal, C, Ensamblador, etc. Conocimiento del entorno: sensores Por medio de ellos el autómata o el robot conoce la situación del mundo exterior. ¿Cómo recopila esta información?. Supongamos que hablamos por teléfono con un amigo de otra localidad y le preguntamos qué tiempo hace allí. Nos puede contestar de dos maneras posibles: Hace sol. Hace calor. El aire es seco. La insolación diaria es de 10 h. La temperatura es 26.5 ºC. La humedad es del 12%. Las primeras respuestas son de tipo digital: si o no; sol o nubes; calor o frío; sequedad o humedad. Las últimas son de tipo analógico: 10, 9, 5, 2 son posibles valores de las horas de insolación. La temperatura puede oscilar entre -10 ºC y 35 ºC y, con un termómetro doméstico, se pueden apreciar décimas de ºC. La humedad puede variar entre 0 y 100%. Las señales digitales se interpretan en el PC utilizando voltajes de 0 V o de +5 V. A una entrada digital se le puede adaptar un elemento de mando del estilo del interruptor de la figura para establecer su valor. Cualquier dispositivo que se comporte de forma similar a éste es útil para el control de entradas digitales.

description

libro

Transcript of El PC Como Sistema de Control

  • 7/5/2015 El PC como sistema de control

    http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/PC.htm#eleccion 1/6

    El PC como Sistema de Control

    Actuadores, sensores y programacinUna forma de realizar control programado con el PC

    Actuadores, sensores y programacin

    La aparicin del computador en la dcada de los 40 acelera vertiginosamente el desarrollo de autmatas y robots.La cuestin es: podemos hacer servir el PC como un autmata o un robot?. Para poder responder es precisoverificar si se cumplen las siguientes condiciones:

    Podemos conectarle sensores?Podemos conectarle actuadores?Podemos programarlo (y reprogramarlo) para que tome decisiones en funcin de los sensores y deinstrucciones previas para que los actuadores operen en consecuencia?

    La respuesta a las tres cuestiones es afirmativa:

    El PC cuenta para comunicarse con sus perifricos, incluso en su versin ms bsica, con diversosdispositivos de entrada: puertos paralelo y serie, USB, joystick, micrfono, ... Adems, es posible agregarletarjetas especializadas que aaden otras muy diversas clases de entradas.Tambin cuenta con varios dispositivos de salida: puertos paralelo y serie, USB, sonido, video, ...Asimismo, se pueden aadir tarjetas especializadas que expanden el nmero y tipo de salidas.Por otras parte, son muchos los lenguajes de programacin utilizables en el PC que permiten leer lasentradas y modificar las salidas: BASIC, LOGO, Pascal, C, Ensamblador, etc.

    Conocimiento del entorno: sensores

    Por medio de ellos el autmata o el robot conoce la situacin del mundo exterior. Cmo recopila estainformacin?. Supongamos que hablamos por telfono con un amigo de otra localidad y le preguntamos qutiempo hace all. Nos puede contestar de dos maneras posibles:

    Hace sol. Hace calor. El aire es seco.La insolacin diaria es de 10 h. La temperatura es 26.5 C. La humedad es del 12%.

    Las primeras respuestas son de tipo digital: si o no; sol o nubes; calor o fro; sequedad o humedad.Las ltimas son de tipo analgico: 10, 9, 5, 2 son posibles valores de las horas de insolacin. La temperaturapuede oscilar entre -10 C y 35 C y, con un termmetro domstico, se pueden apreciar dcimas de C. Lahumedad puede variar entre 0 y 100%.

    Las seales digitales se interpretan en el PC utilizando voltajes de 0 V o de +5 V. A una entrada digital se lepuede adaptar un elemento de mando del estilo del interruptor de la figura para establecer su valor. Cualquierdispositivo que se comporte de forma similar a ste es til para el control de entradas digitales.

  • 7/5/2015 El PC como sistema de control

    http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/PC.htm#eleccion 2/6

    Muchas seales analgicas se pueden tratar como digitales con circuitos muy sencillos, teniendo en cuenta elcambio que experimenta el sensor utilizado. Vase, por ejemplo, el circuito de la figura. La LDR puede variar de

    una resistencia del orden de 1 MW en oscuridad hasta 100 W a plena luz.

    Puesto que la mayora de los puertos del PC son digitales, otras seales analgicas requerirn, sin embargo, lautilizacin de circuitos de conversin analgico-digital.

    Modificacin del entorno: actuadores

    Cuando queremos cambiar el entorno podemos hacerlo dando rdenes que pueden ser tambin de dos tipos:digitales y analgicas. Podemos encender la calefaccin, subir una persiana o apagar la luz (digitales), o bienpodemos aumentar el volumen de un televisor o regular el termostato de una estufa (analgicas).

    Los puertos digitales del PC nos permiten dar rdenes digitales de forma directa o podemos codificar estasseales digitales mediante un conversor analgico-digital para obtener una salida analgica.

    Las salidas digitales no proporcionan mucha potencia; como mucho permiten iluminar un LED. Pero se puedenutilizar para excitar un rel o un transistor que controlen el actuador.

    En robtica es tpico el uso de motores como actuadores. En concreto, por su controlabilidad, los servomotores ylos motores paso a paso.

  • 7/5/2015 El PC como sistema de control

    http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/PC.htm#eleccion 3/6

    Dar las instrucciones: programacin

    En general, las mquinas operan a lo largo del tiempo, de modo que el concepto de mquina lleva asociado el deun proceso de funcionamiento en el cual diferentes operaciones se van realizando sucesiva o simultneamente.Desde el punto de vista del control de su funcionamiento tenemos mquinas no automticas, o de control manual ymquinas automticas, que actan sin necesidad de operador, aunque pueden responder a estmulos externos.

    El funcionamiento de una mquina puede depender nicamente de los elementos que la componen y de susinterconexiones, de modo que ante determinados estmulos siempre responde de manera fija. Pero en otrasmquinas automticas su comportamiento no es siempre el mismo. Estas son las mquinas programables y sepueden concebir como una mquina base de comportamiento fijo, que se completa con una parte modificable quedescribe el funcionamiento de la mquina base. Esta parte modificable se denomina programa. Dependiendo decul sea el programa que gobierne su funcionamiento, una mquina programable responder a estmulos externosde una forma u otra. As se puede comportar como diferentes mquinas particulares en funcin del programautilizado. Cuando una mquina opera bajo el control de un programa determinado, se dice que el programa seejecuta en dicha mquina. Un programa es, por tanto, una descripcin en forma codificada del comportamientodeseado de una mquina.

    La mquina programable por excelencia es el ordenador. ste se define como una mquina programable paratratamiento de la informacin. Los ordenadores actuales corresponden a un tipo particular de mquinaprogramables que se denominan mquinas de programa almacenado. La estructura general del ordenador es larepresentada en la figura superior. Como se observa, poseen una memoria donde se pueden almacenar tanto larepresentacin codificada del programa como los datos con los que opera.

    La labor de desarrollar programas se denomina, en general, programacin y los lenguajes de programacinsirven precisamente para representar programas de manera simblica, en forma de un texto que puede ser ledocon relativa facilidad por una persona (programa fuente). Adems estos lenguajes son prcticamenteindependientes de la mquina en la que se van a usar. Pero un programa escrito en un lenguaje de programacinsimblico debe ser transformado en el lenguaje particular de cada mquina (cdigo de mquina). Los programasen cdigo de mquina son extraordinariamente difciles de leer por una persona. Normalmente contienen cdigosnumricos, sin ningn sentido nemotcnico, y compuestos por millares e incluso millones de operacioneselementales muy sencillas que en conjunto pueden realizar los tratamientos muy complejos que vemos a diario.

    Los mecanismos que permiten ejecutar un programa escrito en un lenguaje de programacin simblico sonproporcionados por otros programas denominados procesadores de lenguajes: compiladores e intrpretes. Uncompilador traduce programas de un lenguaje de programacin simblico a cdigo de mquina. La compilacindel programa ha de hacerse slo una vez, quedando el programa en cdigo de mquina disponible para serejecutado en forma inmediata tantas veces como se desee. Un intrprete es un programa que analiza directamentela descripcin simblica del programa fuente y ejecuta "sobre la marcha" las operaciones oportunas. El procesomediante intrprete es ms sencillo pero tambin de ejecucin ms lenta, ya que hay que ir haciendo el anlisis yla interpretacin de las operaciones descritas en el programa fuente cada vez que se solicita la ejecucin.

    El modelo de programacin imperativa responde a la estructura interna habitual de un computador, que sedenomina arquitectura Von Neumann. Un programa en lenguaje mquina aparece como lista de instrucciones urdenes elementales que han de ejecutarse una tras otra, en el orden en que aparecen en el programa. Un programaimperativo se plantea como el clculo o modificacin de sucesivos valores intermedios hasta obtener el resultadofinal. La mayora de lenguajes de programacin actualmente en uso siguen el modelo de programacin imperativa.

    La estructura de los programas imperativos se representatradicionalmente mediante diagramas de flujo u ordinogramas(flow-chart). Estos contienen dos elementos bsicos,correspondientes a acciones y condiciones. Existen tambinotros smbolos convenidos en la representacin deordinogramas, como son:

    Utilizando esta representacin, podemos esquematizar, por ejemplo, un sencillo programa que imprime una lista

    de los n primeros nmeros naturales (i = 1, 2, ...., n) y de sus cuadrados (c = i2). La figura siguiente representa elordinograma de una estructura secuencial en la que el flujo de control durante la ejecucin del programa se refleja

  • 7/5/2015 El PC como sistema de control

    http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/PC.htm#eleccion 4/6

    mediante lneas o vas que van de un elemento a otro. Las acciones tiene una sola va de entrada y una de salidamientras que las condiciones tiene una va de entrada y dos de salida. En este diagrama se produce la repeticinde ciertas acciones (contar, elevar al cuadrado, imprimir) mientras se cumple una determinada condicin(mientras i es menor o igual que n). A esto se le denomina iteracin.

    Podramos tambin haber agrupado las acciones "contar, elevar al cuadrado e imprimir" en un bloque de cdigodesignado por un nombre simblico. A este bloque se le denomina subprograma y est el el centro de lo que sellama programacin estructurada (o modular), que no consiste ms que en subdividir un problema principal ensub-problemas. Esto resulta ventajoso, no en el sencillo ejemplo descrito, pero s especialmente en programasque codifican procesos complejos (para reducir la dificultad de la visin global), y en situaciones en las que serepiten operaciones anlogas (lo que reduce substancialmente el tamao y legibilidad del cdigo fuente).

    Una forma de realizar control programado con el PC

    Hemos indicado antes que disponemos de una considerable variedad de canales de interaccin del PC con elexterior. La mayora de formas de aprovechar estos canales para realizar control de dispositivos en el aula-tallerse puede resumir en dos:

    1. Utilizar directamente los puertos de entrada/salida del PC, fabricar la electrnica necesaria paraproporcionar potencia -y/o realizar una conversin de seales- y utilizar un lenguaje de programacin depropsito general (como BASIC, C o LOGO) para llevar a cabo el control.

    2. Utilizar tarjetas de interfaz especializadas comerciales que enlacen directamente los puertos del PC (serie,paralelo, USB) con los dispositivos finales, actuando como "cajas negras" de las cuales slo interesan susentradas y salidas. A estas tarjetas se las ha denominado tradicionalmente "controladoras". Entre ellas, lashay de muy diversas marcas y caractersticas, y muchos profesores han manejado en los ltimos aos algnmodelo clsico (Inves, Data Harvest, Enconor, ... ) mediante algn lenguaje de programacin como LOGO(en alguna de sus distintas versiones). Esta utilizacin se ha llevado a cabo, en muchos casos, nicamente deforma puntual, dado que no ha existido una dotacin regular ni unificada para los distintos centros.

    La primera de ambas es muy atractiva pero consume una parte importante del tiempo disponible en la realizacinde la electrnica mencionada. Adems, en algunos casos, requiere una complejidad que supera ampliamente elnivel de los alumnos a los que se destina.

    Por otro lado, el uso de las interfaces controladoras facilitan enormemente las tareas del profesor y del alumno ala hora de controlar los proyectos que los alumnos realizan en el aula-taller. Adems, en los tres ltimos aos, lasgrandes modificaciones que ha sufrido el currculo de la Tecnologa obligan cada vez ms inexcusablemente autilizar recursos para el aula que permitan ahorros de tiempo considerables.

  • 7/5/2015 El PC como sistema de control

    http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/PC.htm#eleccion 5/6

    Evaluacin de materiales didcticos parala dotacin de las aulas de Tecnologa enrelacin con el nuevo Currculo del reaen Castilla y Len

    comprimido,620 KB

    Desde este punto de vista, existe tambin otro tipo de interfaces de control comerciales, adems de las queclsicamente se han utilizado, orientadas al manejo de conjuntos de control/robtica especficos de algnfabricante, que proporcionan montajes bastante complejos y atractivos (tanto desde el punto de vista delaprovechamiento como del gusto del alumno) y funcionalmente muy aprovechables desde el punto de vista delcurrculo. Nos referimos a interfaces y conjuntos de control como los proporcionados por fabricantes comoFISCHER y LEGO en sus lneas ms tcnicas y adecuadas a las edades de los alumnos de Secundaria (lneas"fischertechniks computing" y LEGO Dacta RoboLab). Estos conjuntos tienen un valor aadido nada desdeableque radica en el lenguaje de programacin que incluyen, grfico y sencillo, muy adecuado para los alumnos.

    Por tanto, parece conveniente optar por una solucin mixta entre el uso de interfaces clsicos orientados almanejo de proyectos que el alumno pueda seguir diseando y construyendo en el aula-taller, e interfacesespecficos para conjuntos de control/robtica de apariencia y funcionalidad finales relativamente complejospero de montaje y aprovechamiento relativamente sencillos.

    En este punto conviene entroncar con el plan de dotacin de las Aulas-taller de Tecnologa acorde con elcurrculo actual del rea en Castilla y Len, que ha comenzado ha desarrollarse en el presente curso y seextender durante los dos prximos, basado en un estudio preliminar realizado por un grupo de profesores(fundamentalmente profesores y asesores del rea) durante el curso pasado.

    En el captulo II.2 de este estudio se aborda la dotacin correspondientes a los apartados de Control y Robtica.Los detalles sobre los distintos equipamientos estudiados, as como la justificacin de los materiales finalmenteelegidos se puede encontrar en el mismo.

    La eleccin ha consistido en el conjunto de control programado distribuido por la empresa Alecop, constituidopor:

    Interfaz de control FlowGo de Data Harvest (6 unidades - 1 por grupo de alumnos de aula-taller)Computer Starter Pack de Fischertechnik (6 unidades)Software de programacin Flowol 2 de Keep I.T. Easy (1 licencia de Centro)Software de simulacin Mimics de Keep I.T. Easy (1 licencia de Centro)

    y el conjunto de robtica "Fischertechnik computing", constituido por:

    Robots industriales -Industry robots- (2 unidades)Robots neumticos -Pneumatic robots- (2 unidades)Robots mviles -Mobile robots II- (2 unidades)Interfaz de control -Intelligent interface- (6 unidades)Software de programacin LLWin 3 (1 licencia)

    La presente documentacin se centra en el aprovechamiento de estos materiales. En la misma, se hace referencia alas interfaces de control de ambos conjuntos y, en cuanto al lenguaje de programacin, la documentacin se centrainicialmente en Flowol 2 por varios motivos:

    tanto Flowol como LLWin son muy similares en cuanto a concepcin y sistemtica de uso; ambos songrficos, con diseos de programa en forma de diagrama de flujo, y con bloques (del diagrama) equivalentes-aunque LLWin cuenta con algunos bloques ms y de mayor complejidad-.Flowol permite utilizar tanto la interfaz FlowGo como la Intelligent Interface -LLWin slo se usa con laIntelligent interface-.LLWin cuenta con un sistema de ayuda on-line (zip, 470 KB) dentro de su propio entorno de programacinque facilita por s misma considerablemente la tarea del desarrollo de programas.

    Por otra parte, en esta documentacin se ofrece tambin un apartado bastante amplio de fundamentos de robtica,con la intencin de introducir al lector en los conceptos generales bsicos, historia y aplicaciones de la robtica.En dicho apartado se presenta tambin una descripcin de los distintos elementos que integran el conjunto derobtica de fischertechnik.

    Por ltimo, se ofrece un numeroso conjunto de actividades prcticas (con sus correspondientes soluciones)diseadas con grado de complejidad creciente, que provean al profesor de una batera de ideas para desarrollaren el aula el currculo actual de Tecnologa en su apartado de Control y Robtica.

  • 7/5/2015 El PC como sistema de control

    http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/PC.htm#eleccion 6/6

    Fuentes bibliografcas

    Gua para el programador para el IBM PC y PS/2. Peter Norton, Richard Wilton. Anaya Multimedia.

    Programacin I. Jos A. Cerrada, Manuel Collado. UNED

    BASIC bsico, curso de programacin. Autores editores: R. Aguado, A. Blanco, J. Zabala, R. Zamarreo.

    Pgina personal de Jordi Orts. www.arrakis.es/~j_orts/6703/robots.html

    2002-03 Vctor R. Gonzlez

    volver a Inicio