Funciones
-
Upload
elber-gudo-tomas -
Category
Documents
-
view
5 -
download
0
description
Transcript of Funciones
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 1/20
“CONTROL DIGITAL”
MAESTRIA EN CIENCIAS EN INGENIERIA ELÉCTRICAEspecialidad: Mecatrónica y Cntrl
!RESENTA:
In"# ISMAEL MEDINA L$!E%Matric&la: M'(')*(*
Catedr+tic: Dr# Ricard E,,an&el Ca,pa Cc,
TORRE$N- COA.# MÉ/ICO 01 SE!TIEM2RE 0*'(
TECNOLÓGICO NACIONAL DEMÉXICO
TAREA )
DIS!OSITI3OS DE CONTROL A
2A4O NI3EL GR56ICA DE 67NCIONES
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 2/20
Control Digital
DIS!OSITI3OS DE CONTROL A 2A4O NI3EL
Micrcntrladr
Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de
ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloues !uncionales, los
cuales cumplen una tarea espec"!ica. Un microcontrolador inclu#e en su interior las tres principales unidades !uncionales de una computadora$ unidad central de procesamiento, memoria
# peri!%ricos de entrada&salida.
'lgunos microcontroladores pueden utilizar palabras de cuatro bits # !uncionan a velocidad de
reloj con !recuencias tan bajas como *z, con un consumo de baja potencia (m+ o
microvatios). or lo general, tendrá la capacidad de mantenerse a la espera de un evento como
pulsar un botón o de otra interrupción- as", el consumo de energ"a durante el estado de reposo
(reloj de la CU # los peri!%ricos de la ma#or"a) puede ser sólo de nanovatios, lo ue ace uemucos de ellos sean mu# adecuados para aplicaciones con bater"a de larga duración. /tros
microcontroladores pueden servir para roles de rendimiento cr"tico, donde sea necesario actuar más como un procesador digital de se0al (12), con velocidades de reloj # consumo de energ"a
más altos.
Cuando es !abricado el microcontrolador, no contiene datos en la memoria 3/M. ara ue pueda
controlar alg4n proceso es necesario generar o crear # luego grabar en la EE3/M o euivalente
del microcontrolador alg4n programa, el cual puede ser escrito en lenguaje ensamblador u otro
lenguaje para microcontroladores- sin embargo, para ue el programa pueda ser grabado en lamemoria del microcontrolador, debe ser codi!icado en sistema num%rico e5adecimal ue es
!inalmente el sistema ue ace trabajar al microcontrolador cuando %ste es alimentado con elvoltaje adecuado # asociado a dispositivos analógicos # discretos para su !uncionamiento.
Micrcntrladr !IC
6os 7C son una !amilia de microcontroladores tipo 372C !abricados por Microcip 8ecnolog#7nc. # derivados del 7C9:;<, originalmente desarrollado por la división de microelectrónica de
=eneral 7nstrument.
El nombre actual no es un acrónimo. En realidad, el nombre completo es 7Cmicro, aunue
generalmente se utiliza como eriperal 7nter!ace Controller (controlador de inter!az peri!%rico).El 7C original se dise0ó para ser usado con la nueva CU de 9: bits C9:<<<. 2iendo engeneral una buena CU, %sta ten"a malas prestaciones de entrada # salida, # el 7C de > bits se
desarrolló en 9?@; para mejorar el rendimiento del sistema uitando peso de E&2 a la CU. El
7C utilizaba microcódigo simple almacenado en 3/M para realizar estas tareas- # aunue elt%rmino no se usaba por auel entonces, se trata de un dise0o 372C ue ejecuta una instrucción
cada ciclos del oscilador.
Ismael Medina López 1
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 3/20
Control Digital
En 9?>; la división de microelectrónica de =eneral 7nstrument se separa como compa0"a
independiente ue es incorporada como !ilial (el 9 de diciembre de 9?>@ cambia el nombre aMicrocip 8ecnolog# # en 9?>? es aduirida por un grupo de inversores) # el nuevo propietario
canceló casi todos los desarrollos, ue para esas !ecas la ma#or"a estaban obsoletos. El 7C, sin
embargo, se mejoró con E3/M para conseguir un controlador de canal programable. *o# end"a multitud de 7C vienen con varios peri!%ricos incluidos (módulos de comunicación serie,
U'38, n4cleos de control de motores, etc.) # con memoria de programa desde ;9A a BA <<<
palabras (una palabra corresponde a una instrucción en lenguaje ensamblador, # puede ser de 9A,
9, 9: o BA bits, dependiendo de la !amilia espec"!ica de 7Cmicro).
Cntrladr Ló"ic !r"ra,a8le 9!LC
Un Controlador 6ógico rogramable, más conocido por sus siglas en ingl%s 6C (rogrammable
6ogic Controller), es una computadora utilizada en la ingenier"a automática o automatizaciónindustrial, para automatizar procesos electromecánicos, tales como el control de la mauinaria de
la !ábrica en l"neas de montaje o atracciones mecánicas.
6os 6C son utilizados en mucas industrias # máuinas. ' di!erencia de las computadoras de
propósito general, el 6C está dise0ado para m4ltiples se0ales de entrada # de salida, rangos detemperatura ampliados, inmunidad al ruido el%ctrico # resistencia a la vibración # al impacto. 6os
programas para el control de !uncionamiento de la máuina se suelen almacenar en bater"as copia
de seguridad o en memorias no volátiles. Un 6C es un ejemplo de un sistema de tiempo real
duroD, donde los resultados de salida deben ser producidos en respuesta a las condiciones deentrada dentro de un tiempo limitado, de lo contrario no producirá el resultado deseado.
!rcesadr Di"ital de Se;ales 9DS!
Un procesador digital de se0ales o 12 (sigla en ingl%s de digital signal processor) es un sistema
basado en un procesador o microprocesador ue posee un conjunto de instrucciones, un ardare
# un so!tare optimizados para aplicaciones ue reuieran operaciones num%ricas a mu# altavelocidad. 1ebido a esto es especialmente 4til para el procesado # representación de se0ales
analógicas en tiempo real$ en un sistema ue trabaje de esta !orma (tiempo real) se reciben
muestras (samples en ingl%s), normalmente provenientes de un conversor analógico&digital
('1C).
Ismael Medina López
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 4/20
Control Digital
SISTEMAS O!ERATI3OS DE TIEM!O REAL
Un sistema operativo de tiempo real es un sistema operativo ue a sido desarrollado para
aplicaciones de tiempo real. Como tal, se le e5ige corrección en sus respuestas bajo ciertas
restricciones de tiempo. 2i no las respeta, se dirá ue el sistema a !allado. ara garantizar el
comportamiento correcto en el tiempo reuerido se necesita ue el sistema sea predecible.
Caracter<sticas "enerales
Usado t"picamente para aplicaciones integradas, normalmente tiene las siguientes caracter"sticas$
• Fo utiliza muca memoria
• Cualuier evento en el soporte !"sico puede acer ue se ejecute una tarea
• MultiGaruitectura (código portado a cualuier tipo de CU)
• Mucos tienen tiempos de respuesta predecibles para eventos electrónicos
2e caracterizan por presentar reuisitos especiales en cinco áreas generales$
• 1eterminismo
• 2ensibilidad
• Control del usuario
• Hiabilidad
• 8olerancia a los !allos
• 2on de tiempo compartido
En la actualidad a# un debate sobre u% es tiempo real. Mucos sistemas operativos de tiempo
real tienen un plani=icadr (en ingl%s conocido como scheduler ), dise0os decontroladores ue
minimizan los periodos en los ue las interrupciones están desabilitadas, un tiempo !initoconocido (casi siempre calculado para el peor de los casos, t%rmino ue en ingl%s se conoce
como worst case) de la duración de interrupción. Mucos inclu#en tambi%n !ormas especiales de
gestión de memoria ue limitan la posibilidad de !ragmentación de la memoria # aseguran un
l"mite superior m"nimo para los tiempos de asignación # retiro de la memoria asignada.
Ismael Medina López !
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 5/20
Control Digital
Un ejemplo temprano de sistema operativo en tiempo real a gran escala !ue el denominado
programa de controlD desarrollado por 'merican 'irlines e 7IM para el sistema de
reservas 2abre.
!rcesadr
Este tipo de sistemas operativos no es necesariamente e!iciente en el sentido de tener una
capacidad de procesamiento alta. El algoritmo de programación especializado, # a veces una tasade interrupción del reloj alta pueden inter!erir en la capacidad de procesamiento.
'unue para propósito general un procesador moderno suele ser más rápido, para programación
en tiempo real deben utilizarse procesadores lo más predecibles posible, sin paginación. 8odos
estos !actores en un procesador a0ade una aleatoriedad ue ace ue sea di!"cil demostrar ue el
sistema es viable, es decir, ue cumpla con los plazos de tiempo para la ejecución de las tareas #
la atención de los servicios o interrupciones.
Un sistema operativo de tiempo real puede ser implementado en microcontroladores o
procesadores digitales de se0al J12KsJ, as", se pueden desarrollar aplicaciones embebidas endi!erentes áreas de la electrónica.
Dise;
*a# dos dise0os básicos$
• Un sistema operativo guiado por eventos sólo cambia de tarea cuando un evento necesita
el servicio.
• Un dise0o la compartición de tiempo cambia de tareas por interrupciones del reloj # por eventos.
El dise0o de compartición de tiempo gasta más tiempo de la UC en cambios de tarea
innecesarios. 2in embargo, da una mejor ilusión de multitarea. Formalmente se utiliza un sistema
de prioridades !ijas.
Ismael Medina López "
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 6/20
Control Digital
Uno de los algoritmos ue suelen usarse para la asignación de prioridades es el 3ateGMonotonic
2cedule. 2i el conjunto de tareas ue tenemos es viable con alguna asignación de prioridades
!ijas, tambi%n es viable con el 3ateGMonotonic 2cedule, donde la tarea más prioritaria es la de
menor periodo. Esto no uiere decir ue si no es viable con 3ateGMonotonic 2cedule no seaviable con asignaciones de prioridad variable. uede darse el caso de encontrarnos con un sistema
viable con prioridades variables # ue no sea viable con prioridades !ijas.
!r"ra,ación
En los dise0os t"picos, una tarea tiene tres estados$ ejecución, preparada # bloueada. 6a ma#or"a
de las tareas están bloueadas casi todo el tiempo. 2olamente se ejecuta una tarea por UC. 6a
lista de tareas preparadas suele ser corta, de dos o tres tareas como muco.
El problema principal es dise0ar el programador. Usualmente, la estructura de los datos de la lista
de tareas preparadas en el programador está dise0ada para ue cada b4sueda, inserción #
eliminación necesiten interrupciones de cierre solamente durante un per"odo mu# peue0o,
cuando se buscan partes de la lista mu# de!inidas.
Esto signi!ica ue otras tareas pueden operar en la lista asincrónicamente, mientras ue se busca.
Una buena programación t"pica es una lista conectada bidireccional de tareas preparadas,
ordenadas por orden de prioridad. *a# ue tener en cuenta ue no es rápido de buscar sino
determinista. 6a ma#or"a de las listas de tareas preparadas sólo tienen dos o tres entradas, por lo
ue una b4sueda secuencial es usualmente la más rápida, porue reuiere mu# poco tiempo deinstalación.
El tiempo de respuesta cr"tico es el tiempo ue necesita para poner en la cola una nueva tarea
preparada # restaurar el estado de la tarea de más alta prioridad.
En un sistema operativo en tiempo real bien dise0ado, preparar una nueva tarea necesita de B a A<
instrucciones por cada entrada en la cola # la restauración de la tarea preparada de má5ima
prioridad de ; a B< instrucciones. En un procesador :><<< A<M*z, los tiempos de cambio de
tarea son de A< microsegundos con dos tareas preparadas.
Cientos de UC M7 '3M pueden cambiar en unos pocos microsegundos.
C,&nicación entre tareas
6as di!erentes tareas de un sistema no pueden utilizar los mismos datos o componentes !"sicos al
mismo tiempo. *a# dos m%todos para tratar este problema.
Ismael Medina López #
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 7/20
Control Digital
Uno de los m%todos utiliza semá!oros. En general, el semá!oro binario puede estar cerrado o
abierto. Cuando está cerrado a# una cola de tareas esperando la apertura del semá!oro.
6os problemas con los dise0os de semá!oros son bien conocidos$ inversión de
prioridades # puntos muertos (deadlocs).
En la inversión de prioridades, una tarea de muca prioridad espera porue otra tarea de baja
prioridad tiene un semá!oro. 2i una tarea de prioridad intermedia impide la ejecución de la tarea
de menor prioridad, la de más alta prioridad nunca llega a ejecutarse. Una solución t"pica ser"a
otorgar a la tarea ue tiene el semá!oro la prioridad de la tarea más prioritaria de las ue están
esperando dico semá!oro. Esto se denomina algoritmo de erencia básica de prioridad.
En un punto muerto, dos tareas (89,8A) pretenden aduirir dos semá!oros (sem', semI) en orden
inverso. En este caso si 89 aduiere sem' # 8A aduiere semI cuando intenten aduirir el
segundo semá!oro no podrán acerlo #a ue lo tiene la otra tarea. 1e esta !orma entran en un punto muerto del ue ninguna de las dos tareas puede salir sin intervención e5terna. Esto se
resuelve normalmente mediante un dise0o por ej. obligando a aduirir los semá!oros en un orden
concreto.
6a otra solución es ue las tareas se manden mensajes entre ellas. Esto tiene los mismos
problemas$ 6a inversión de prioridades tiene lugar cuando una tarea está tratando un mensaje de
baja prioridad, e ignora un mensaje de más alta prioridad en su correo. 6os puntos muertos
ocurren cuando dos tareas realizan env"os bloueantes (se uedan en la !unción de env"o
esperando a ue el receptor reciba el mensaje). 2i 89 manda un mensaje de !orma bloueante a
8A # 8A manda un mensaje de igual !orma a 89 ninguna de las dos tareas saldrá de la !unción deenv"o uedando ambas bloueadas #a ue no podrán llegar a la !unción de recepción. uede
resolverse reordenando env"os # recepciones o empleando env"os no bloueantes o temporizados.
'unue su comportamiento en tiempo real es algo más di!"cil de analizar ue los sistemas de
semá!oros, los sistemas basados en mensajes normalmente son más sencillos de desarrollar ue
los sistemas de semá!oro.
Interr&pcines
6as interrupciones son la !orma más com4n de pasar in!ormación desde el mundo e5terior al
programa # son, por naturaleza, impredecibles. En un sistema de tiempo real estas interrupciones
pueden in!ormar di!erentes eventos como la presencia de nueva in!ormación en un puerto de
comunicaciones, de una nueva muestra de audio en un euipo de sonido o de un nuevo cuadro de
imagen en una videograbadora digital.
Ismael Medina López $
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 8/20
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 9/20
Control Digital
ara las comunicaciones se suelen usar cone5iones o redes deterministas C'F bus o puertos
serie, #a ue las redes más usuales, como Eternet son indeterministas # no pueden garantizarnos
el tiempo de respuesta. El sistema C'F bus es utilizado para la intercone5ión de dispositivos
electrónicos de control (ECU) en los ve"culos.
Gra=icar las si"&ientes =&ncines
f a (t )=10 e−( x−1)
sen
(
π
2 x+
π
4
) Matlab
>> x=linspace(-15,15,3000);>> fa=10*exp(-(x-1)).*sin(((pi/2)*x)+(pi/4));>> plot(x,fa);>> gi! on;
Ismael Medina López &
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 10/20
Control Digital
Mathcad
!a 5( ) 9< e5 9−( )−L ⋅ sin
πA
5⋅ π
+ ⋅:=
Ismael Medina López '
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 11/20
Control Digital
9; 9A ? : B < B : ? 9A 9;B .9<
@
A .9<@
9 .9<@
<
9 .9<@
A .9<@
B .9<@
.9<@
; .9<@
: .9<@
@ .9<@
@ 9<@⋅
B− 9<@⋅
!a 5( )
9;9;− 5
z=f b ( x , y )=( x2− y2 ) cos ( xy )
Mathematica
Plot 3 D[( x2− y2)∗cos [ x∗ y ] , { x ,−2,2}, { y ,−2,2}]
Ismael Medina López 1(
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 12/20
Control Digital
Matlab
>> "#,$% = &es'gi!(-2.12);>> = (#.2 - $.2).*cos(#.*$);>> sf(#,$,)>> gi! on;
Ismael Medina López 11
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 13/20
Control Digital
f c (s )=
[ cos ( π
2s)
2 Sen( π
2s )
s
10
] Matlab
>> s=linspace(-10,*pi,2000);>> plot3(cos((pi/2)*s),2*sin((pi/2)*s),s/10)>> gi! on;
Ismael Medina López 1
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 14/20
Control Digital
Mathematica
ParametricPlot 3 D [{cos [π
2∗s ] ,2∗sin[
π
2∗s ] ,
s
10}, {s ,−10,8 π }]
Ismael Medina López 1!
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 15/20
Control Digital
f d (θ )=r= Sen (θ )cos (θ)
Sen3 (θ )+cos3(θ)
Ismael Medina López 1"
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 16/20
Control Digital
>> t'eta=linspace(-pi,pi,2000);>> 'o = (sin!(t'eta).*cos!(t'eta))./((sin!(t'eta).3)+(cos!(t'eta).3));>> pola(t'eta,'o,--)>> "x,%=pol2cat(t'eta,'o);>> plot(x,)
Ismael Medina López 1#
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 17/20
Control Digital
Cnsidere la =&nción
/btener !(5) en !orma anal"tica.
f ( x )=
{
0 x<−1
x+1 −1≤ x<0
1 0 ≤ x<1
( x−2)21 ≤ x<2
−2 x+4 2 ≤ x<3
2cos( π
2 x−
π
2 ) 3≤ x<4
0 5< x
!N(5) en !orma anal"tica # grá!ica.
Ismael Medina López 1$
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 18/20
Control Digital
f ' ( x )=
{ 0 x<−1
1 −1 ≤ x<0
0 0 ≤ x<1
2 x−4 1 ≤ x<2−2 2 ≤ x<3
πCos( π
2 x) 3 ≤ x<4
0 5< x
∫ f ( x ) dx en !orma anal"tica # grá!ica.
Ismael Medina López 1%
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 19/20
7/17/2019 Funciones
http://slidepdf.com/reader/full/funciones-568ebdfd6dc04 20/20
Control Digital