Está en la página 1de 24

1

CONTROL DIGITAL DE SISTEMAS REALES

Sergio Ferney Pombo Guzmán.


Marzo 2019.

Universidad de Pamplona.
Norte de Santander.
Sistemas de Control II.
2

INTRODUCCION

Controladores Digitales y Sistema en tiempo real

Son aquellos que pueden ser realizados mediante el uso de redes digitales,

computadores, microcontroladores, (DSP’s), cuya mayor ventaja es el hecho de que el

algoritmo de control contenido en el controlador puede ser modificado fácilmente,

permitiendo realizar cambios al mismo cuando sea necesario.

En comparación a lo anterior, realizar cambios en un controlador a tiempo continuo es

dificultoso una vez que el mismo ya ha sido construido.

Un sistema se considera en tiempo real cuando produce una salida significativa acorde a la

entrada de algún movimiento del mundo físico y dicha salida está completamente

relacionada a la entrada. El tiempo que pasa entre la entrada y la salida debe ser lo más

pequeño posible para que la respuesta al sistema sea aceptable.


3

OBJETIVOS

OBJETIVO GENERAL

Realizar una descripción de los controles digitales en tiempo real y sus aplicaciones.

OBJETIVOS ESPECIFICOS

 Explicar el funcionamiento de los controles digitales en tiempo real.


 Realizar ejercicios aplicados al tema
4

SISTEMA DE CONTROL EN TIEMPO REAL

Un sistema en tiempo real es aquel que lee la entrada de una planta y envía una señal de
control a la misma, en un tiempo el cual es determinado mediante programación,
parametrizadas por las características del proceso a ejecutar.
También hay que diferenciar entre sistemas en tiempo real y sistemas rápidos, por ejemplo,
un sistema operativo al cargarse en un equipo de alta velocidad no necesariamente es en
tiempo real pues utiliza mecanismos que no son predecibles.
En sistemas a tiempo real hay dos características comunes, las cuales son:

 Concurrencia: El sistema debe responder a diferentes entradas realizando


diferentes procesos ligados o no ligados entre sí. Por lo tanto, para realizar procesos
de control concurrentes, es necesario emplear herramientas de programación que
permitan el mismo.
 Mantenimiento: Este es uno de los mayores problemas en un sistema en tiempo
real, puesto que realizar cualquier cambio requiere una verificación detallada del
sistema para asegurar que mantenga su funcionalidad y temporalidad en los rangos
válidos, Puesto que un cambio en la temporalidad puede provocar retardos en los
procesos y afectar el comportamiento temporal de los demás.

Propiedades Sistema en Tiempo real


Existen tres propiedades esenciales que garantizan cual es y cual no un sistema de
control en tiempo real, las cuales son:

 Garantía de plazos: Se dice que un sistema es en tiempo real, siempre que se


cumplan correctamente los plazos programados para realizar cada tarea.
 Tiempo de respuesta máximo: En un control a tiempo real siempre se trata de
realizar las tareas programadas en un periodo de tiempo más corto.
 Estabilidad: El sistema debe garantizar que aun con sobrecarga de tareas, se
ejecute de manera inmediata las que son más críticas, cumpliendo así los plazos en
los procesos.

Clasificación
Teniendo en cuenta el nivel de relevancia temporal, se puede distinguir entre cuatro
tipos de sistemas:
5

 Críticos: (hard real time systems) Son aquellos en los cuales se debe garantizar la
respuesta en los tiempos estipulados a toda costa, porque de presentarse una
respuesta tardía, se afectaría todo el sistema llevando a posibles consecuencias
fatales. Un ejemplo de esto sería la navegación de un avión.
 Esenciales: (soft real time systems) Son sistemas que presentan restricciones que
tiempo, donde una respuesta tardía no produce daños graves, pero si va causando
el deterioro del funcionamiento global del sistema. Un ejemplo sería una
videoconferencia en un sistema de telecomunicaciones.
 Incrementales: El tiempo disponible para realizar los cálculos necesarios afectan
la calidad de la respuesta obtenida, entre más tiempo se dé, mejor la calidad de la
respuesta. Un ejemplo de esto sería un algoritmo de cálculo como el usado en un
programa de ajedrez.
 No esenciales: Son aquellas tareas que no tienen restricciones de tiempo para
realizarse.

En un sistema de control de tiempo real, es posible encontrar que en el mismo hallan


procesos con diferentes niveles de exigencia temporal, un claro ejemplo de esto puede ser
un control de proceso industrial y monitorización. En este, se debe cumplir con exactitud
las exigencias de tiempo para procesos como abertura y cerrado de válvulas, mientras que
la presentación de los estados del sistema al operario, pueden sufrir cierto retraso.

Necesidades de los sistemas de control en tiempo real.


Existen varios asuntos que son esenciales en los sistemas de tiempo real y que
conciernen al diseño y desarrollo de este tipo de sistemas. Estos se pueden clasificar de la
siguiente forma:
 Especificación, análisis y verificación de los sistemas de tiempo real:
El mayor problema en la especificación, análisis y verificación de los
sistemas en tiempo real es como incluir las restricciones temporales en las
especificaciones, y como verificar que el sistema cumple estas restricciones según
la especificación.
Los métodos tradicionales para la especificación y análisis de sistemas
informáticos, tales como las redes de Petri, las máquinas de estados finitos, etc. no
son aplicables directamente a los sistemas de tiempo real. No queda claro cómo se
pueden extender estas técnicas para que incluyan las restricciones temporales.
Las técnicas de ingeniería del software se complican en problemas grandes,
resultando de difícil aplicación en los casos reales. Es necesaria una adaptación para
poderlas utilizar.
6

 Programación de los sistemas de tiempo real:


La característica que más distingue a la programación en tiempo real surge
de la necesidad de manejar el tiempo en todos los aspectos de la aplicación:
especificación, diseño, desarrollo, prueba, verificación y ejecución.
Se han añadido características nuevas a los lenguajes para permitir la expresión de
los requerimientos temporales en una tarea individual. Se necesitan nuevas técnicas
y planteamientos para verificar que los programas cumplen correctamente sus
propiedades temporales.
Para la programación en tiempo real juegan un papel muy importante el lenguaje
que puede facilitar o dificultar la expresión de los requerimientos temporales, y el
sistema operativo que ofrece las propiedades necesarias de los sistemas de tiempo
real.
Alrededor de estos deben utilizarse unas técnicas de especificación adecuadas y
unos buenos métodos de prueba y verificación

 Sistemas operativos de tiempo real:


Los sistemas operativos juegan un papel clave en la mayoría de los sistemas
de tiempo real. En los sistemas de tiempo real, el sistema operativo y la aplicación
están fuertemente acoplados, mucho más que en los sistemas de tiempo compartido
(la transportabilidad es más complicada).
Un sistema operativo en tiempo real debe ser capaz de responder a determinados
eventos internos o externos en un margen de tiempo predecible, sopesa el impacto
que se puede producir sobre otras tareas o procesos en ejecución. Esta es la
diferencia de los sistemas de tiempo compartido, los cuales deben compartir los
recursos del sistema (tales como CPU, memoria principal, y periféricos) igualmente
entre un número de tareas en ejecución. En un sistema de tiempo compartido
debidamente configurado, ninguna tarea debe quedar esperando indefinidamente
un recurso del sistema. En un entorno de tiempo real, las tareas críticas deben
recibir los recursos que necesiten en el momento que los soliciten, sin importarles
el efecto que esto pueda tener sobre el resto de tareas en ejecución.
Los dos elementos fundamentales en los sistemas operativos de tiempo real son:
1. El planificador de tiempo real.
2. El kernel de tiempo real.
La función de un algoritmo de planificación es determinar, para un conjunto de
tareas dado, como se deben planificar (es decir, la secuencia en que se van a activar
y el tiempo que se le da a cada una) para que en la ejecución de las tareas se
satisfagan las restricciones de tiempo, de precedencia y de uso de recursos que
tienen definidas.
7

El otro elemento fundamental es el diseño del kernel de tiempo real. Un kernel de


tiempo real debe ofrecer características y primitivas que permita una eficiente
intercomunicación entre las tareas, sincronización, garantizar la respuesta a las
interrupciones, un rápido y fiable sistema de ficheros, y un mecanismo eficiente de
manejo de memoria.
Además, las directivas deben tener un tiempo de ejecución predecible o ser
reentrantes (utilizando un microkernel).

 Arquitecturas para tiempo real:


Las arquitecturas de los sistemas que han de soportar aplicaciones de tiempo
real deben estar diseñadas para soportar las siguientes características críticas:
1. Gran velocidad de cálculo
2. Alta velocidad en la atención a interrupciones
3. Alto flujo de entrada / salida.
De forma adicional, es conveniente incorporar al sistema características de
tolerancia a fallos que permita la operación continua en el caso de producirse un
estado anormal en el sistema o el fallo de algún componente hardware.
Tradicionalmente, los ordenadores de tiempo real se han basado en sistemas de
arquitecturas propietarias, conjunto de instrucciones propietarias, y sistemas
operativos propietarios. Para aumentar la eficiencia del sistema, muchas
características de tiempo real del sistema están apoyadas por la arquitectura
(semáforos, memoria cache, conmutación de tareas, algoritmos de planificación,
algoritmos de detección y corrección de errores, y flujo elevado de entrada/salida
utilizando múltiples buses). Esta alta eficiencia se consigue a costa de perder
flexibilidad y aumentar las dificultades de avanzar con nuevos desarrollos del
hardware.
El avance en los dispositivos hardware está permitiendo que, en la actualidad, cada
vez más sistemas de tiempo real estén basados en arquitecturas abiertas, facilitando
su evolución a las nuevas tecnologías.

 Comunicaciones en tiempo real:


Tanto en el diseño de sistemas en tiempo real distribuidos como
centralizados, aparece la necesidad de utilizar protocolos de comunicación que
ofrezcan un comportamiento determinista al sistema.
En los sistemas sin características de tiempo real, es suficiente verificar la validez
lógica para disponer de una comunicación válida, mientras que, en los sistemas de
tiempo real, es necesario también verificar la validez temporal en la transmisión de
la información. En particular, los sistemas distribuidos de tiempo real necesitan
protocolos que ofrezcan un retardo acotado en el acceso a un canal de
8

comunicación. El retardo en el tiempo de acceso a un canal se define como el


intervalo de tiempo que transcurre desde que un mensaje es colocado en la cola de
envío de un nodo, hasta que el mensaje es colocado en el nodo receptor. Por tanto,
es la suma entre el retraso para acceder al canal y el tiempo de transmisión de un
mensaje.

Algunos ejemplos de Sistema de control en tiempo real son:

Sistema de navegación de un avión:


 Cada 5 milisegundos el software recibe pulsos de los acelerómetros x, y, z.
Conversores A/D proporcionan al software los ángulos de alabeo, cabeceo y
guiñada, indicando la orientación del avión cada 40 milisegundos. Cada segundo
se recibe información de la temperatura. La tarea del software es calcular el vector
de velocidad real basado en las lecturas de orientación y aceleración y con distintos
factores de compensación (efecto de la temperatura) cada 40 milisegundos.

Monitorización de una planta nuclear


 Se manipulan dos sucesos señalados mediante interrupciones (por simplicidad).
 El primer suceso es desencadenado por cualquiera de las señales de alguno de los
puntos de seguridad que indican una brecha en la seguridad. El sistema debe
responder a esta señal en 1 segundo.
 El otro suceso indica que el núcleo nuclear alcanza una sobre-temperatura. Esta
señal se debe atender en 1 milisegundo.
 En este sistema se necesita un mecanismo que asegure que el indicador de “fusión
inminente del reactor” puede interrumpir a cualquier otro proceso.

Sistema de reserva de billetes


 Se decide que para prevenir retrasos y descontentos de los clientes el tiempo para
cualquier transición debe ser menor a 15 segundos sin permitir que se produzca una
sobre-reserva.
 En cualquier instante pueden varios agentes intentar acceder a la base de datos y
reservar simultáneamente el mismo vuelo.
 Es necesario disponer de mecanismos de bloqueo de registros y de comunicación.

Otros ejemplos serías:


 Sistemas de control de procesos.
 Sistemas de seguridad.
 Equipos en hospitales.
 Sistemas de robótica.
9

 Sistemas de fabricación.
 Sistemas de control de comunicaciones.
 Sistemas multimedia. Vídeo conferencia, reproducción audiovisual.
 Sistemas de reconocimiento

Estructura:
La estructura que maneja un sistema de control a tiempo real, puede ser
representada con la siguiente figura:

Fig. 1 Estructura de un sistema de control en tiempo real.

Los sistemas de control pueden clasificarse en tres:

 Sistemas basados en reloj:


Su sincronización con el proceso se realiza en base al tiempo.

Fig. 2 Sistema de control basado en reloj


10

 Sistemas basados en sucesos:


La sincronización con el proceso se realiza en función de los cambios de estados
que se presenten, por ejemplo:
» Cierre de una válvula cuando se alcanza un nivel.
» Parada de un motor al alcanzar una posición.
» Indicación de alarma.

 Sistemas interactivos:
Hay una mayor interacción entre las acciones del computador y el sistema de
control con respecto a las 2 anteriores. Por ejemplo:
cajeros automáticos, sistemas de reserva de billetes, etc.

PROGRAMACIÓN EN TIEMPO REAL:

En este tipo de programación las secuencias de algunas acciones no están


determinadas por el programador, si no por los sucesos que se presenten en el entorno.
Una de las características común en programación de sistemas a tiempo real, es que el
mismo debe ejecutarse de forma continua, por lo tanto, debe ser en lazo infinito:

Arduino
Void loop () {

Tarea de control

}
Matlab
x=1;
while (x>0)

Tarea de control

End

PROGRAM ControlTR
BEGIN
WHILE NOT ElFinDel Mundo DO
BEGIN
Tarea de control
END
END
11

La “tarea de control” debe sincronizarse con el mundo exterior. Una forma de hacerlo es
mediante en sondeo.
 Si no ocurre un suceso el programa continúa con otras acciones antes de volver a
realizar la comparación y comprobar de nuevo si se ha producido.
 El programa de forma continua realiza la comprobación para revisar si ha
ocurrido un suceso.

La ventaja de esto es que se puede considerar a grandes rasgos que el programa realiza
una única tarea, pero se debe asegurar que todas las tareas se puedan realizar en los
tiempos especificados.

Un programa con tres tareas, se puede considerar de una sola, ejemplo:


1. Supervisar el teclado
2. Efectuar acción de control
3. Actualizar el display

PROCEDURE Control
BEGIN
IF KeyFlag THEN Keyboard
IF ControlFlag THEN Control
IF DisplayFlag THEN Display
END

El programa debe tener sincronización a unos instantes determinados de tiempo.

PROCEDURE Control
BEGIN
LOOP
WHILE NOT Digin (TiempoDeMuestreo) DO
Esperar a que ocurra la señal de tiempo
END
Acción de control
END
END

En caso de que se tenga un reloj que produzca interrupciones periódicas.

PROCEDURE Control
BEGIN
REPEAT
Time=GetTime
UNTIL Time>SiguientePeriodo
DO Control
Acciones de control
12

NEXT SiguientePeriodo=Time+IntervaloMuestreo
END

Un lenguaje adecuado para un sistema de control en tiempo real debe poseer las siguientes
cualidades.

 Seguridad:
Se mide en términos de la efectividad de la detección de errores
1. Soporte para el modularidad.
2. Forzar la declaración de variables.
3. Un rango de tipo de datos adecuados, incluyendo sub-rangos.
4. Sintaxis no ambigua.
 Entendibilidad:
Es una medida de lo fácil que es entender la operación de un programa sin tener
que recurrir a documentación externa. Beneficios:
1. Reducción en el coste de documentación.
2. Una detección de errores más fácil.
3. Un mantenimiento más fácil.

 Flexibilidad:
Un lenguaje debe proporcionar todas las características necesarias para
expresar todas las operaciones que se requieren sin tener que utilizar complicadas
construcciones o tener que insertar código a nivel ensamblador.

 Simplicidad:
1. La simplicidad contribuye a la seguridad
2. Reduce el coste y los errores
Asociado con la simplicidad está la consistencia: no se deben imponer
restricciones arbitrarias en la utilización de ninguna característica del lenguaje

 Portabilidad:
Es deseable como un medio de acelerar el desarrollo, reducir el coste y aumentar la
seguridad.
Es difícil de conseguir.

 Eficiencia:
En los sistemas de tiempo real se deben garantizar un cierto funcionamiento junto
con unas restricciones temporales.
1. Velocidad
2. Compactación
3. Seguridad
4. Coste de escritura y mantenimiento
13

EJERCICIOS PRACTICOS IMPLEMENTACIÓN DE CONTROL EN TIEMPO REAL

A partir de ahora nos centraremos en la ejecución y explicación de sistemas de control en


tiempo real mediante ejercicios prácticos:

1. REALIZAR EL CONTROL DE UN ASCENSOR DE 5 PISOS CON PSOC


5LP, PARA ESTO SERÁ NECESARIO:

 un teclado matricial
 5 sensores de final de carrera
 pantalla lcd 16x2
 pulsadores.
 Resistencias.
 Módulo I2C

Solución:

Inicialmente realizamos la programación en bloque de los componentes.

Fig. 3 Diseño en bloques PsoC Creator.

En la fig. 3 podemos ver los valores p1, p2, p3, p4, p5, los cuales representan los sensores
de final de carrera, que se encuentran configurados como entradas de pull-up de forma tal
que inicialmente tienen un pulso de entrada de un 1 logico.
Ademas está introducida la librería del keypad o teclado matricial, una pantalla LCD por
medio de I2C y el modulo I2C, todo esto para la ubicación y visualización de los sensores
y pisos del ascensor.
14

Por ultimo encontramos los pines de salida SUBIR y BAJAR los cuales conectan a un
puente H que controlan el motor encargado de subir y bajar el ascensor. Por otra parte estan
las salidas PWM ABRIR y CERRAR, que como su nombre lo dicen nos ayudan con el
control de la puerta.

Fig. 4 Pines de Conexión

En su mayoría, se usaron los pines digitales para reducir la posibilidad de error en la


implementación del código.

Por último, se hace la implementación del código el cual se encuentra como anexo a este
texto y está dividido en las siguientes partes:

 La declaración de las variables.


 Datos del sensor
 Datos del teclado matricial
 Datos del motor para subir y bajar
 Datos de motor para abrir y cerrar
15

Fig. 5 Circuito montado.


Una vez realizado el programa procedemos a compilar el mismo en el sistema montado
que se muestra en la Fig. 6, para comprobar su funcionamiento, acto que resulta
satisfactorio, por tanto, una vez terminado el acople, se agrega la maqueta que simula un
ascensor real y se pone en funcionamiento.

Una vez terminado todo se pone en funcionamiento dando resultados satisfactorios que
prueban el buen diseño implementado como se ve en la Fig. 6, alcanzando las metas
deseadas y mostrando un buen trabajo.

Fig. 6 Circuito en Funcionamiento con montaje en maqueta de ascensor.


16

2. SISTEMA DE ADQUISICIÓN DE SEÑALES DE ELECTROMIOGRAFÍAS


USANDO INA128

Una interfaz EMG es un dispositivo electrónico que hace uso de señales biológicas
producidas por los músculos del cuerpo, las cuales son procesadas y analizadas por un
circuito electrónico además de un software.

Para este ejercicio emplearemos:


 Electrodos
 Circuito de adquisición INA128 con nivelador de entrada a nivel dc.
 Raspberry pi 3b

Se ubican los electrodos en el brazo en la posición que se muestra en la siguiente imagen:

Fig. 7 Ubicación de los electrodos

Diseño de la PCB:
Se elabora un diseño que cumple con las indicaciones establecidas para el
desarrollo de la práctica el cual se ve a continuación.

Fig. 8 Circuito Esquemático hecho en Eagle.


17

En la figura se puede divisar la amplificación hecha por el amplificador de instrumentación


INA 128, para la etapa de adquisición de la señal de electromiografía producida por el
movimiento del brazo de la persona de prueba, por consiguiente, se supone esta, como la
etapa más importante del sistema en general, para posteriormente pasar dicha señal por un
sumador encargado de someterla a un nivel DC que la acomoda sobre el eje positivo, de
tal forma que se pueda expresar más adelante en valores digitales.

El cálculo de la ganancia se realiza mediante la fórmula.

50 𝑘Ω
𝐺 = 1+
𝑅𝑔
Despejando y proponiendo una ganancia de 418, la resistencia calculada corresponde a 120
Ω. La figura 3 muestra el diagrama eléctrico correspondiente al amplificador utilizado para
la interfaz EMG.

Una vez hallada la ganancia procedemos a realizar el sumador, el cual se somete a la


siguiente formula.

1 𝑅1
𝑉𝑜 = (𝑉1 + 𝑉2) ∗ (1 + )
2 𝑅2

Después de realizar dicho calculo y se cambian los valores de las resistencias de 10k ohm,
el voltaje dc de queda 2.5V

DISEÑO DEL CABLE DEL ELECTRODO

El sistema de adquisición de la señal se realiza mediante el uso de electrodos superficiales


que se adhieren a la piel, los cuales colocados en partes especificas del brazo del sujeto de
prueba asumen la señal producida por el mismo para transmitirla al amplificador de
instrumentación.
Para el diseño de los mismo se usó tres cables de radio, los cuales se unieron a un plug y a
un conector hembra para poder unirlo a los electrodos como se ve en la figura a
continuación.
18

Fig. 9 cable para conectar los electrodos con el pcb.


DISEÑO DEL CIRCUITO IMPRESO

Mediante el uso del Eagle se realizó el diseño de la PCB para posteriormente ser impreso
y quemado sobre una baquela.
El diseño una vez terminado y corregido toda limitante, quedo plasmado de la siguiente
forma.

Fig. 10. Circuito impreso, vista superior.

Fig. 11 Circuito impreso, vista inferior.


19

DISEÑO DEL CONVERSOR A/D


Para este diseño se hizo uso del TLC 549, el cual adquiere una señal analógica y la envía
como una señal digital de 8 bits, la cual puede ser fácilmente procesada por la raspberry pi
3B y asumida a código para su tratamiento, la señal de salida es enviada a partir del pin 6
o CS.

Fig. 10: TLC 549.


Se implementa el código en la Raspberry pi, el cual se encuentra como anexo y se observan
los patrones en la pantalla, visualizando en tiempo real las variaciones en la señal una vez
el brazo se tensiona.

Fig. 11 Señal Adquirida.

3. RED AS-i

Antes de configurar la red AS-i en el software TIA PORTAL V13, se tuvo en cuenta
los pasos realizados en la práctica anterior. Donde se agregó el PLC a trabajar, luego
se asignó cada uno de los buses de campo o sistemas de comunicación teniendo en
cuenta las conexiones y orden de los dos PLCs en el módulo siendo uno el maestro
(MASTER). En la figura 1 se puede observar claramente cada uno de los dispositivos
agregados anteriormente entre ellos el PLC y los módulos de comunicación
(PROFIBUS, AS-i y GPRS), en este caso para el PLC MASTER, que fue con el que
se trabajó durante el desarrollo de la práctica.
20

Fig. 12 Vista de dispositivos.

Una vez se halla configurado el PLC, a mano derecha en la figura 1 podemos observar una
venta con nombre vistas de redes, se dio clic allí para tener una visión de los elementos a
trabajar en este caso la baliza o columna de señalización, el cual se buscó su referencia y
se agregó para hacer la respectiva comunicación del PLC a esta, como se puede ver en la
figura 13.

Fig. 13 Columna de señalización y Comunicación del PLC a la baliza.

se dio doble clic dentro del cuadro donde se encuentra la baliza donde apareció lo
mostrado en la fig. 14.
21

Fig. 14 Baliza o Columna de señalización.

Para comenzar la configuración de la baliza se siguió los siguientes pasos: General,


propiedades este icono nos abrió una ventana y le dimos clic en MAIN como lo indica la
figura 15, con el objeto de lograr la inclusión de las variables.

Fig. 15 Inclusión de las variables al MAIN.

Una vez incluida la baliza en el nuestro bloque de programas creamos las variables de
entrada y salida.
22

Se desarrolló un programa en el que se inició un proceso de arranque por la luz verde,


precaución amarilla, paro de proceso rojo y alarma zumbador como se puede ver en la
figura 16.

Fig. 16 Asignación de variables.

Después de creadas las variables a utilizar, en el Main se empezó con la creación de nuestro
programa de prueba para el funcionamiento de la baliza quedando el mismo de la siguiente
forma.

Fig. 17 Programa de prueba para el funcionamiento de la baliza.

Como segunda parte de la práctica se llevó a cabo un programa para el funcionamiento de


un semáforo vial, teniendo en cuenta los temporizadores en el software TIA PORTAL V13.
23

Fig. 18 Programa de prueba para el funcionamiento del semáforo.

Fig. 19 Balizas en funcionamiento.


24

Lista de referencias

J.A.Pinson, L.E.Mendoza “Adquisición y procesamiento de señales EMG para controlar


movimiento de un brazo hidráulico.
N.E.Olarte, Sistema de almacenamiento de señales biológicas, con acceso remoto y
parámetros de seguridad).
A.M.Soto, Procesado y filtrado de señales biológicas destinadas a un electrocardiograma.
López Chicharro & Fernando Vaquero, fisiología del ejercicio 3° edición, 2006.
Cifuentes González, I. A. Construcción de un sistema para la detección de señales
electromiografías. Merida, yucatan,2010.
(Richardson & Wallace, 2013), (Monk, Raspberry Pi Cookbook, 2014), (Schmidt, 2012).
Python, S. F. www.python.org. Obtenido de www.python.org
Stuart Bennett. “Real-Time Computer Control: an introduction”. Prentice-Hall, 1994.
Phillip Laplante. “Real-Time Systems Design and Analysis”. IEEE Press, 1992.
Apuntes suministrados de introducción a los “Sistemas de Tiempo Real”.

También podría gustarte