Haz una pregunta
  Foros de Electrónica » Temas de Interés » Software de Simulación y Diseño Electrónico
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

06/05/2014 #1

Avatar de Hellmut1956

Uso de sistemas de simulación
Hola amigos

Tengo una pregunta que no se como explicarla de forma adecuada. Perdonen pues las fallas de mi intento de explicar mi pregunta.

Como quizá algunos saben, me estoy metiendo de forma profunda a estudiar la electrónica análoga, y la digital en relación a la programación de FPGAs, o dicho de forma mas general, de componentes de lógica programable. existen para eso entre otras excelentes cursos tanto en el sitio de www.diligentinc.com/classroom, como en el caso de Texas Instruments, National Instruments y de Analog Devices en sus respectivos sitios en el internet bajo la rúbrica de tutoriales o temas universitarios.

En ese contexto me he encontrado con 2 herramientas, Labview y Matlab y leido, que estos sistemas permiten ser usados para estudiar y experimentar circuitos de forma matemática y de simulación.

Mi objetivo es aprender a describir el sistema relativamente complejo del control de escotas que estoy desarrollando como parte de mi uso de la microelectrónica para mi otra afición el modelismo naval. Pongo aquí el gráfico que describe de forma muy general el sistema de control que tengo pensado y que desearía describir antes de armarlo, o en paralelo a armarlo usando por ejemplo la herramienta Matlab.



Si bien he entendido la funcionalidad de las diversas aplicaciones, el sistema reflejado en el gráfico podrá ser descrito y simulado usando la herramienta Matlab con las extensiones correspondientes. Labview es una aplicación mas orientada a captar de forma inteligente mediciones y su verdaderas capacidades son accesibles usando hardware que apoye la software, en general hardware de la empresa National Instruments. Como la hardware de esa empresa es cara, esa solución aparece no ser posible para mi y por lo tanto me limitaré a observar y medir las comunicaciones entre los módulos del gráfico usando la herramienta "Analog Discovery" que me compré y/o el analizador lógico Logic16, que también puede decodificar protocolos como el I2C y el UART por ejemplo.

Es Matlab la herramienta adecuada, o existen otras herramientas económicas mas adecuadas?
Es correcto que aparentemente Labview no será de mucha utilidad?

Ojala me ha sido posible presentarles mis interrogantes! Gracias, ya de antemano!
06/05/2014 #2

Avatar de chclau

No se si la respuesta que te doy te servira. No he usado nunca Labview asi que no contesto sobre eso. Pero si creo que conozco las limitaciones de las simulaciones. El principal problema de las simulaciones es la exactitud de loa modelos. Porque si el modelo es basura, el resultado es basura. GIGO. Garbage in, Garbage out.

Y los modelos tienen al menos dos limitaciones. Una, el no conocerlos con exactitud. Por ejemplo, que pasa si el modelo de un servo no tiene en cuenta rozamientos o histeresis? (entre otros ejemplos que podria dar de limitaciones de un modelo). El otro inconveniente es que, aun conociendo con cierta exactitud un modelo, es tan complejo que nos vemos obligados a realizar aproximaciones lineales del modelo... y luego nos olvidamos de eso y aplicamos el modelo en un lugar que no es valido.

En definitiva, lo que yo hago es simular bloques en Matlab y corroborarlos en VHDL. Luego hago simulaciones de subsistemas en VHDL. Y por ultimo verifico todo a nivel de sistema en, valga la redundancia, el sistema real.
06/05/2014 #3

Avatar de Hellmut1956

Mil gracias por responder chclau. De lo que escribes deduzco que definitivamente Matlab es una herramienta para describir el sistema. Por cierto lo que escribes de las limitaciones de simuladores significa que los objetivos tienen que tomar en consideración las limitaciones.

El objetivo principal que tengo está menos relacionado a parámetros como el consumo de energía, etcétera, sino por la implementación correcta de la lógica del sistema. Llevo bastante tiempo estudiando y madurando el concepto de control y quiero estar seguro de no implementar algo que tenga un mayor error en la concepción. Por dar un ejemplo:

Si la longitud de la escota y la definición de los márgenes dentro de los cuales el sistema debe reaccionar no funciona para adaptar el largo de la escota sin limitar el movimiento libre dentro de los límites estipulados. Como logro que por un lado que el palo de la vela pueda girar libremente dentro de los extremos definidos por la posición de los controles de la emisora. El control de la emisora define hasta que ángulo el palo de la vela pueda abrirse, antes que la escota pare el movimiento logrando así que la fuerza del viento mueva el velero.

Si tomo los margenes demasiado limitados el palo podrá moverse libremente en dirección del eje central del casco, pues este movimiento tiene como consecuencia que el sistema debe recoger escota para adaptarse al nuevo ángulo de apertura y evitar que la escota, por ser demasiado larga se anude.

Pero que ocurre si el palo quiere abrirse mas y aún no ha alcanzado el límite definido por el operador a través de la posición del control de la emisora? En ese caso el sistema debe soltar mas escota para no limitar el movimiento del palo agrandando el ángulo entre el eje central del casco y el ángulo del palo.

Habiendo percibido este reto y pensándolo buen tiempo, he llegado a la conclusión que la solución esta en adaptar los margenes dentro de los cuales el motor de paso no mueve el tambor de la escota haciendo mas escota disponible y así permitiendo que el palo se abre más, osea que el ángulo aumente. La vela en esas condiciones se mueve libremente a razón de la acción del viento y de la ondulación del agua y de una eventual inclinación del casco. Si la unidad mínima con la cual cambio el largo de la escota equivale a varios pasos del detector magnético angular del palo, entonces puedo cambiar el largo de la escota una vez que el detector angular me indique que el palo está girando aumentando o disminuyendo el ángulo. Algo análogo a como un controlador detecta si en un pin está un "1" o un "0". Si la tensión llega a 0.7 VDC y continúa disminuyendo el controlador registra un "0". Por otro lado si la tensión aumenta por ejemplo a 2,5 VDC o mayor, entonces registra un "1". Entre esos valores el valor es considerado no definido. En el caso de mi sistema el rango entre los 0,7 y el 2,5 tendría como equivalencia el no cambiar el largo de la escota y recién al pasar uno de esos 2 límites el control del motor de paso movería el tambor de la escota a la próxima posición. aquí me beneficiaré de la alta resolución, tanto del sensor angular de 14 bits, resultando en un límite de resolución angular de 4096 posiciones para los 90° que el palo puede abrirse a babor o estribor y de la altísima resolución del motor de paso. 200 pasos por giro completo de un total de 21 giros completos que dará para adaptar la escota, multiplicado por los 256 micropasos por paso completo:

21 * 200 * 256 = 1.075.200 micropasos

Esto lo he identificado y creo haber definido un sistema apropiado para manejarlo. Que otras condiciones puede haber en el sistema que quizá hagan el funcionamiento inaceptable y la solución física inadecuada. Identificar posibles problemas como el que considero resuelto y donde los límites para reaccionar del sistema serán finalmente definidos experimentando el comportamiento en la práctica con el foco en que el sistema consuma un mínimo de energía, pero no ponga sus función en peligro es lo que será responsable de las limitaciones que resultan de la diferencia entre simulación, aunque hasta ahora sea puramente mental, y la práctica.

Ya tengo pensado mas posibilidades de usar las capacidades del sistema y allí una descripción del sistema con una herramienta como probablemente será Matlab me ayudará entender mucho mas a fondo implicaciones que aún no he realizado! Son estas actividades que son la razón de porque combino el modelismo naval con la construcción del modelo de un velero y de la implementación de la electrónica para realizar cosas como la descripción del sistema utilizando Matlab!
07/05/2014 #4

Avatar de Hellmut1956

Estoy estudiando / investigando las capacidades de Matlab y Simulink en conjunto con diversos Toolboxes y estoy quedando muy impresionado! Aparentemente me será posible, partiendo del diagrama que he presentado mas arriba, describir los diferentes bloques de los que consiste el diagrama, pudiendo usar bloques preconfigurados y adaptables a mis objetivos y crear los eventos y analizar las reacciones del sistema, siguiendo un proceso jerárquico describiendo los elementos de forma encapsulada y pudiendo verificar las entradas y salidas.

Lo que si resulta evidente es, que el entorno Matlab está organizado de forma de requerir extensivos medios económicos y ni de hablar si se desea recibir actualizaciones de las componentes requeridas. tan alto es el costo, que para un aficionado no profesional probablemente sea muy justificado registrarse como estudiante en una entidad reconocida por Mathworks y en una carrera adecuada. Tomando en consideración que las universidades públicas en Alemania son gratuitas, una real posibilidad!

Pero también he visto, que estudiando con dedicación los materiales disponibles gratuitos en el Internet sobre los diversos elementos ofrecidos, llamados "Toolbox", se puede definir una combinación de herramientas que me apoyará en el proyecto. Creo que será una labor muy emocionante!

Eso será buen complemento a mis estudios de electrónica análoga y digital (FPGAs, no Microcontroladores) y me permitirá llenar de vida mis objetivos de aprendizaje! Ojalá me queden muchos años de vida para poder tener el tiempo para todos estos estudios. Que pena que en mi época de estudiante todo esto aún no existía!
07/05/2014 #5

Avatar de Dr. Zoidberg

Hellmut1956 dijo: Ver Mensaje
Lo que si resulta evidente es, que el entorno Matlab está organizado de forma de requerir extensivos medios económicos y ni de hablar si se desea recibir actualizaciones de las componentes requeridas. tan alto es el costo, que para un aficionado no profesional probablemente sea muy justificado registrarse como estudiante en una entidad reconocida por Mathworks y en una carrera adecuada. Tomando en consideración que las universidades públicas en Alemania son gratuitas, una real posibilidad!
No se puede negar la potencialidad extrema de Matlab y el poder expresivo (y simplicidad) de Simulink, pero tampoco se puede negar el elevadisimo costo del producto, que hace que no sea apto para bolsillos "poco profundos" .
Como contraparte también tenés SciLab, que es una herramienta libre, gratuita y compatible con los archivos de Matlab (al menos hasta donde yo la usé hace 3 o 4 años), desarrollada por el INRIA. No recuerdo si era compatible con los archivos de Simulink, pero tiene la misma funcionalidad que este a cargo del subsistema Xcos. Si te interesa (y sobre todo es libre y gratis) te recomiendo que le des una mirada.

SciLab es un sistema tremendamente poderoso, que lamentablemente no pude usar en mi proyecto de laboratorios virtuales y remotos por que los docentes solo querían usar Matlab/Simulnk, aunque fuera obtenido por medios "non-sanctos"... pero .. en fin, esto es otra historia.
07/05/2014 #6

Avatar de Hellmut1956

Me he mirado intensamente el sitio de Scilab, he instalado la suite 5.5. Definitivamente una excelente herramienta con foco en las matemáticas.

Pero creo que Matlab/Simulink para un estudiante inmatriculado en una institución universitaria reconocida y en una carrera adecuada, el precio de la Matlab/Simuling Suite para estudiantes por el precio de 69.- Euros mas 20 Euros por cada Toolbox adicional en mi caso me llevará mas rápido a alcanzar mis objetivos que se beneficiarían de funcionalidades aún no disponibles en Scilab.
07/05/2014 #7

Avatar de Dr. Zoidberg

Hellmut1956 dijo: Ver Mensaje
Me he mirado intensamente el sitio de Scilab, he instalado la suite 5.5. Definitivamente una excelente herramienta con foco en las matemáticas.

Pero creo que Matlab/Simulink para un estudiante inmatriculado en una institución universitaria reconocida y en una carrera adecuada, el precio de la Matlab/Simuling Suite para estudiantes por el precio de 69.- Euros mas 20 Euros por cada Toolbox adicional en mi caso me llevará mas rápido a alcanzar mis objetivos que se beneficiarían de funcionalidades aún no disponibles en Scilab.
Bueno... no solo con foco en las matemáticas. Nosotros hemos simulado sistemas de control automático complejos y con resultados tanto o mejores que Matlab/Simulink.
En cuanto a los toolbox, si... efectivamente son paquetes muy útiles, pero todo depende de que quieras simular/analizar, y para SciLab existen también muchos paquetes tipo "toolbox" de terceras partes muy reconocidas que pueden servirte si tu línea de investigación corre por ahí cerca.

De todas maneras, y en mi caso, la importancia de Simulink estaba en la habilidad para generar código ejecutable real-time, pero el driver del kernel que trae para Windows es (o era?) una basura por que te forzaba a tener abierta la aplicación si pretendías monitorear el avance de la simulación y sus variables, y para generar código cruzado para otra plataforma con comunicaciones en red había que leer un par de cientos de manuales de diferentes versiones de Matlab/Simulink, por que la documentación al respecto era decididamente MALA, y al final llegabas a que no podía hacerse en forma "relativamente simple", así que tuve que re-desarrollar los scripts de compilación en Perl (), tuve que modificar la estructura y funcionalidades del main() del programa C resultante para que admitiera parámetros adicionales en la línea de comando y la configuración del hardware de enlace con la planta, tuve que generar biblioteca estáticas para las comunicaciones vía shared-memory, en fin... un verdadero lío por elegir ese aspecto "notable" de esta herramienta.
07/05/2014 #8

Avatar de Hellmut1956

Así es, para el foco que describes Scilab con seguridad no es una mala selección. Para lo que yo lo necesito, y ahí me pase la mayor parte del tiempo investigando lo equivalente a una Toolbox en Matlab. En lo que al monitoreo de algo andando en hardware externa aparentemente es el foco de NI que tiene productos, todos sumamente caros, y requeridos para monitorear sistemas externos.

Yo estuve estudiando a la rápida el control y la simulación de un motor DC en Simulink y aparentemente también aquí, so no se usa una de las plataformas directamente apoyadas probablemente se deberán hacer programaciones como las que tu hiciste.

Por eso, y para mantener controladas mis expectativas trato de seguir objetivos intermedios para combinar el aprendizaje y la utilidad de los resultados. Empezaré solo tratando de crear modelos de cada uno de los módulos del gráfico que presenté arriba y ya allí usar el método de jerarquías para ir empezando por lo sencillo.

Como ejemplo:

El sistema recibe hasta 8 señales en forma de PWM del receptor R/C, una vez cada 20 ms, reflejando el tiempo activo la posición de los controles. eso debería ser un sistema fácil de modelar, pues esto describe las entradas del sistema en el modulo "Central". La salidas, y aquí me limitaría a un solo canal de los 8 de entrada sería la transmisión por I2C al módulo "Control de Winche", siempre que el valor del PWM a la entrada cambie.

Aquí por ejemplo será de interés ver como fluctuaciones del "duty cycle" del PWM de entrada impactan el transmitir de datos por I2C. Mi intención es limitar este tráfico en lo posible. Para esta funcionalidad de la "Central" una placa LPCXpresso1769, el generar un modelo en Simulink no debería ser demasiado ambicioso. La utilidad ya en este paso como lo escribí es ver el impacto en el tráfico del Bus I2C. Reutilizaré el modelo una vez como parte de la funcionalidad de la "Central" y en conjunto con el modelo del "Control de Winche" Como pueden imaginarse la resolución digital del largo del duty cycle del PWM, dependiendo de la frecuencia de temporizador, y la limitación de cuantas "posiciones" diferentes un operador de la emisora puede realmente lograr, permitirá definir cuando el cambio es lo suficientemente grande para justificar transmitir un nuevo valor al control de winche y así reducir el número de transmisiones en la sálida del módulo "Central". El segundo objetivo, donde la entrada será esa comunicación proveniente de la "Central" y el mandar los comandos a la placa que controla el motor de paso, stepRocker, la salida. Me imagino que en el proceso de generar esos modelos y de experimentar con ellos hasta lograr un buen resultado va a profundizar lo que entiendo del sistema. Así consecutivamente iré avanzando.

Ese aspecto del "threshold" de cuando la variabilidad requiere una acción es un mecanismo que se repite por ejemplo al monitorear la posición del palo de la vela o del tambor de la escota. Así ya veo ahora múltiples usos de ese mecanismo que iré desarrollando como parte del primer objetivo. Si no me equivoco, el describir el sistema dentro de Matlab y Simulink es adecuado, aunque con seguridad un realmente un requerimiento. Como dicen los gringos: "Nice to have" and "must have"!

La posibilidad de comparar/monitorear los modelos simulados con la realidad es algo con lo que me romperé la cabeza, una vez que llegue allí!
09/05/2014 #9

Avatar de Hellmut1956

Actualmente estoy analizando las condiciones contractuales de Matlab para estudiantes. El costo de Matlab / Simulink y los toolboxes sería aproximadamente algo menos de 300.- Euros. Estoy también utilizando el tiempo para estudiar los materiales gratuitos disponibles en el Internet, tanto sobre los detalles de Matlab y los toolboxes relevantes, como también identificando los campos de matemáticas en los que debo actualizarme. Creo que invertir tiempo y aprendizaje en este esfuerzo es tiempo bien invertido por la compensación que recibo dedicándome al tema.
11/12/2014 #10

Avatar de Hellmut1956

Ha pasado mucho tiempo y deseo compartir con Ustedes algunos de los resultados de esas investigaciones!

Matlab y Simulink, siendo una herramienta maravillosa la limitación de su uso por los altos costos pone su uso en duda.

Maple y MapleSim, otra herramienta igualmente muy poderosa usa la lengua y sistema de desarrollo, IDE, Modelica, disponible de forma gratuita en www.openmodelica.org. Tengo la impresión que este producto es el mas avanzado técnicamente y veo por haber abonado sus notificaciones, es muy activo en avanzar en los campos de interés para mi. La documentación disponible en su sitio de Internet es sobresaliente y disponible el acceso de forma gratuita. Si se van a la introducción de MapleSim encontrarán una valiosísima fuente de información sobre Modelica y algo que se llama bloques "causales" y "acausales". Pero al igual que Matlab su costo es altísimo y al igual que Matlab, si se quiere utilizar algo que se llama "packages" para permitir la interacción de esa herramienta con sistemas embebidos, como ejemplo ARM Cortex Mx, Arduino, RasberryPi y Lego, entonces el acceso a esos paquetes esenciales solo es posible estando registrado con una cuenta que comprueba que la licencia es válida.

Mathematica y SystemModeler son las herramientas correspondientes de la empresa Wolfram. Este vendedor tiene la gran ventaja de ofrecer licencias de esos 2 productos para el uso particular no profesional y tarifas que permiten adquirir tales licencias! En cuestión de simulación en general y al campo de la interacción con hardware y software de sistemas embebidos este vendedor se encuentra muy retrasado comparándolo con Matlab y Maple. Tales desventajas a veces tiene un efecto positivo. Wolfram usa Modelica y el entorno disponible para esta lengua de forma mucho mas abierta. Lo que sí resulta evidente es, que Wolfram todavía está demasiado aferrado a su mundo "matemático", ofreciendo por lo tanto sus propias implementaciones de Mathematica con paquetes de software desarrollados por ellos mismos, lo que limita su uso a plataformas para las cuales ya han hecho la implementación! Así resulta que para el RasberryPi y Arduino existen implementaciones que son gratuitas disponibles cuando se compran esas placas. He tratado de tratar ese problema con el apoyo técnico de Wolfram, pero fuera de la referencia a ciertas documentaciones, faltan totaölmente tutoriales y ejemplos y la presentación de cual metodología ellos esperan para comunicarse con sistemas embebidos no apoyados explícitamente.

Por eso y porque aún va a tomar cierto tiempo hasta que mis estudios de matemáticas alcancen el nivel mínimo requerido, lo que permite esperar y ver los avances de Wolfram en el entorno del SystemModeler, me he decidido de adquirir las licencias de "Mathematica" y del "SystemModeler", el entorno de Modelica ya lo he descargado e instalado, pero también esto requiere de mis avances estudiando matemática!
11/12/2014 #11

Avatar de Dr. Zoidberg

Hellmut1956:
Si vas a simular un sistema de/con lazos de control, no te mandés por otra cosa que no sea MatLab/Simulink, SciLab o - tal vez - OpenModelica (a este lo conozco muuuuy poco).
El Mathematica es un excelente producto pero no está orientado a lo que vos necesitás, y el System Modeler "parece" muy bueno, pero no tengo referencias de nadie que lo esté usando (yo trabajo en una Universidad). El problema con esto es la cantidad de soporte/bibliotecas que podés conseguir ya armadas, y si bien el costo de la versión estudiantil no es elevado, la utilidad final puede ser marginal.

Para discutir con algo mas de exactitud sobre la simulación de tu sistema/problema, sería bueno poder construir un diagrama en bloques (que por lo que veo de tu esquema en el primer post, es algo no-muy-complicado) y a partir de ahí ver cuales son las necesidades de simulación que tenés.

El principal problema, que se deduce de tu primer diagrama, es que has dibujado solo "los actuadores" y los "sensores" pero has dejado afuera el modelo de la planta que quieres controlar con esos bloques E/S... y ese modelo es el que hay que obtener (si es que tanto te interesa obtenerlo) antes de poder simular cualquier otra cosa, por que el modelo de sensores y actuadores es completamente lineal (al menos los que se ven en el diagrama).

El problema con el modelo de la "planta" es que se corre el riesgo de que sea no-lineal (y esto lo digo sin saber nada de las cosas marítimas y como funcionan, pero se me ocurre que puede ser, por que la deformación de las velas es variable con el viento) y ahí el modelado ya no es nada trivial... a veces hay que tener varios modelos diferentes en operación concurrente y disparados a operación por alguna condición de las entradas o de las perturbaciones... otras veces hay que tener un verdadero modelo no-lineal completo en operación.. y así siguiendo.

Como no me queda nada claro que es lo que quieres controlar, habría que explicar mejor el sistema y plantear algunas de las ecuaciones diferenciales que rigen el comportamiento de las partes dinámicas del mismo y ver como se combinan entre sí para encontrar - al menos una aproximación a - la función de transferencia del sistema. Con eso, podríamos saber que es lo que va a ser necesario para simular....

Si querés zafar de modelar todo el bardo (cosa que es muy recomendable, pero no vas a aprender toda la matemática que querés aprender), lo mejor es hacer un ensayo a "lazo abierto" del movimiento de las sogas y carro de las escotas (teniendo puestos los sensores!!!) y tratar de obtener una aproximación a una función de transferencia (FT) de segundo orden (rezando para que resulte de fase-mínima y no tengamos que salir a perseguir los ceros de la función de transferencia, y que además no tenga retardos de transporte o que estos sean muuuuuy pequeños). Haciendo esto, y con un poco de suerte, se puede llegara a conseguir una muy buena aproximación a la FT REAL de la planta, que suele diferir (y a veces muuucho) de la matemáticamente calculada (no por que la calculés mal, sino por la cantidad de simplificaciones que se suelen hacer para lograr un modelo "manejable").

No sé.... herramientas de simulación hay muchas y de todas las calidades, pero yo me preocuparía mas en encontrar la FT del sistema por medición o matemáticamente, antes de preocuparme tanto por las herramientas de simulación. Tenindo la FT se dispone de un montón de información que de otra forma hay que adivinar...

PD: Claro que para entender una FT tenés que saber sobre la Transformación de Laplace y lo básico de Sistemas Lineales, pero bueno... lo mismo se puede sacar mucho si te dicen que es lo que hay que mirar...
23/01/2015 #12

Avatar de Hellmut1956

Whow, que reto responder a tan competentes foristas
Hola amigos, perdonen si mi respuesta aquí estará mas orientado a responder al Dr. Zoidberg y tomando en consideración las siempre competentes contribuciones de chclau.

Empiezo admitiendo y confesando que no tengo ni de cerca la competencia y los conocimientos de estos 2. También confieso que soy testarudo, terco y perseverante! Pero también expreso que tengo la voluntad de meterme a fondo en las materias y al final tomar lo que en inglés se llama "educated decision", decisión que no tiene mayor validez que reflejar mis reflexiones hasta ese punto.

Desde la última vez que respondí he seguido investigando el tema. Lo mas actual es lo que presenté aquí! Permítanme no repetir aquí lo escrito allá y asumir que eso se ha leído y en base a eso escribir esta contribución que trata de tomar en consideración lo escrito aquí en este hilo y que debo reflexionar tranquilamente.

Empiezo por confirmar que si me he decidido de hacer mis trabajos usando las herramientas Mathematica y SystemModeler. La razón es puramente económica! Las licencias de la software de Wolfram la voy a poder pagar, aquella de los otros 2 proveedores, de Matlab y de Maple mucho mas avanzada en materia de mis objetivos definitivamente sobrepasa mis posibilidades económicas como pensionado por razones de salud! También confirmo que Mathematica es una herramienta de mucha reputación, pero con foco como herramienta para las matemáticas. SystemModeler es un entorno de simulación que utiliza objetos descritos en la lengua "Modelica" con el propósito de modelar y simular sistemas, teniendo la posibilidad de beneficiarse de todas las capacidades disponibles en Mathematica y de "Wolfram Language". Wolfram definitivamente es la empresa que está mas atrasada en materia de bibliotecas de objetos disponibles para crear modelos que permitan hacer las simulaciones deseadas. Si se va a las "ayudas" de "Simulink" y de "MapleSim" se puede encontrar mucha información sobre como estos dos entornos también basan el diseño de los objetos disponibles en Modelica, toda información sobre el lenguaje Modelica y sobre el entorno, la IDE de Modelica, se encuentra en el sitio de "OpenModelica.org". Esto significa que puedo extraer mucha información sobre los objetos disponibles en los 2 entornos en competencia e igualmente se encuentra mucha información en el Internet sobre el "realizar" de objetos en Modelica.

Estando de acuerdo que otros productos son mucho mas avanzados que los de Wolfram para mis propósitos, me es un agrado informar que Wolfram con su nueva versión del SystemModeler 4.0.1 finalmente refleja que ha entendido de que demonios estaba hablando cuando me comunicaba con su apoyo técnico.

Estoy consciente y se del modelo estándar de control y que en el siguiente gráfico es demostrado de forma básica:



Tengo esto muy consciente dentro de mis actividades y utilizo este esquema cuando reflexiono sobre la implementación de mi proyecto. El esquema del sistema de control de escotas que publiqué al principio de este hilo refleja la estructura del sistema, pero no esto mismo bajo aspectos implicados de representar aquel sistema en su estructura basándome en el gráfico de control. Creo que voy a embarcar en esto porque será un ejercicio muy util que me avanzará en saber a mas detalle los requerimientos que requiero.

Vuelvo a excusarme por seguir un camino no usual y como se dice en inglés, "not by the books"! Prometo, porque indudablemente entiendo el valor de tal ejercicio y no existe otra excusa que mi ignorancia, el no haberlo empezado aún!

Un aspecto que ha gobernado mi forma de proceder en este proyecto refleja en que durante este proyecto estoy recién aprendiendo a entender con mas detalle lo que implica la metodología y la recomendación recibida de reflejar el diagrama de bloque de mi sistema de control de escotas en bloques que reflejen los circuitos de control y los parámetros relevantes de cada bloque es una de las contribuciones mas valiosas que he recibido hasta el día de hoy! Mil gracias!

Probablemente ahora he avanzado lo suficiente en entender a mayor detalle las cosas que impactan mi sistema de control de escotas para hacer una primera iteración y publicarla aquí con el deseo de recibir valiosos datos de Ustedes dos!

Por otro lado y esto refleja lo publicado aquí en el foro, el enlace lo repito aquí refleja otro polo de actividades que persigo y que tienen que ver tanto con mis limitaciones en cuestión de conocimientos de ciertos aspectos relevantes para mi sistema final, las limitaciones existentes actualmente en el entorno de la software de "Wolfram" y mi deseo de armarme un entorno el cual me permita hacer experimentos para estudiar y aprender técnicas que requiero.

Como describo con detalle en mis contribuciones en ese otro hilo quiero, con la placa "RaspBerry Pi B+" experimentar y aprender como puedo controlar, escribiendo datos y leyendo datos de hardware externa desde y dentro de la software "Mathematica" y también comprender las habilidades y limitaciones del lenguaje "Wolfram Language", ambos disponibles de forma gratuita para la placa RaspBerry Pi. La otro placa que compre, Teensy 3.1, es apoyada por Wolfram SystemModeler y el protocolo "Firmata" extiende lo que pienso aprender de la placa RaspBerry Pi B+, usa un controlador ARM Cortex M4. Así espero que para fines de marzo tendré una licencia de "Mathematica" para mi ordenador con Windows 7 Ultimate 64 bits. Así no estaré limitado en mis estudios alrededor de la placa RaspBerry Pi. Fines de Junio tendré los pesitos para adquirir la licencia de ´SystemModeler que fue actualizada en Julio del 2014, quizá un año después la próxima versión del SystemModeler ya habrá avanzado mas.

Trato de ser pragmático en paralelo a visionario si me permiten la gran palabra. Mis experimentos con las 2 placas me van a ayudar a prender el como realizar mis objetivos desde el punto de las herramientas que pienso usar. La software de Wolfram junto con los objetos modelados con Modelica y la hardware que presento en mi diagrama inicial sobre mi sistema de control de escotas y que ahora será continuado reflejándolo en una serie de circuitos de control para usar esa técnica de presentar en mas detalle mis sistema de control de escotas.
Por otro lado está la concepción y las reflexiones sobre el que me permití usar la gran palabra de la visión!

Algo que va por las mismas rutas es el procedimiento que tengo en mente. Tal cual voy aprendiendo a usar las herramientas y de entender sus limitaciones voy concepcionando experimentos que me permitan estudiar detalles. Un principio de la modelación según entiendo es empezar manteniendo el sistema sencillo, estudiar experimentos y analizar los datos ganados de tales experimentos. Así empezaré describiendo los circuitos de control.

En lo que a las matemáticas se refiere, tu mencionas las transformaciones de Laplace, la algebra lineal y la ecuaciones diferenciales de diversos tipos. para eso actualmente estoy actualizando lo que aprendí en el bachillerato aquí y que incluye lo que la MIT enseña en sus cursos de Cálculo de una y multiples variables, MIT ocw 18.01SC y 18.02SC para luego pasar a los cursos de 2 semestres de algebra lineal y de análisis. La algebra lineal la sigo de acuerdo a los cursos y el libro de Gilbert Strang. Análisis sigo un curso de una universidad alemana donde el curso basa en lo que el profesor Terence Tao de la UCLA presenta en sus 2 libros y son los cursos "with honours"! estoy fascinado y goza el estudio. Ademas tengo previsto estudiar "ordinary differential equations and partial differential equations. Voy siguiendo el orden mas adelante en base de lo que vaya necesitando!

Termino aquí hoy, pues empezaré a trabajar en describir las partes de mi sistema de control de escotas en términos de control, tal cual lo muestra el gráfico correspondiente que publico hoy. Si tienen alguna recomendación sobre alguna software que apoye el crear los gráficos de control y meterles los textos, siempre adelante! Yo estoy considerando usar el Adobe Photoshop para ello y empezar con lápiz y papel!
23/01/2015 #13

Avatar de Hellmut1956

Hola amigos

Siguiendo el método iterativo que significa que empiezo analizando la materia de forma muy general y simplificada voy desarrollando un mejor entendimiento de la materia. Espero poder tener acceso mañana acceso al programa Microsoft Visio que utilicé para crear el diagrama en bloques de mi sistema de control de escotas. Con el generaré un diagrama para mostrar las dependencias de forma gráfica. Sin embargo quiero documentar lo reflexionado hoy para tenerlo disponible en el futuro.

Pero quiero indicar que aparentemente para describir el sistema de tal forma que la contribución de los diversos parámetros al movimiento mecánico del sistema parace que se limita a funciones algebraicas! Si sigo y asumo que la dependencia energética, el consumo de energía es proporcional al torque y a la velocidad entonces en un primer paso se puede modelar eso en forma de pasos individuales con cierto valor constante de la velocidad durante esos cortos intervalos. La frecuencia de eventos no es continua!

La información proveniente del operador en el radio control solo es alimentada al sistema cada 20 ms en forma del largo del ciclo activo del PWM que viene del receptor de radio control. He llamado esta variable:

"SenderMaxPosMain" y que representa un valor integer de máximo 10 bits.

Esta variable representa la posición del control en la emisora y por lo tanto representa aquella información hasta que ángulo el palo de la vela mayor por ejemplo puede abrirse de acuerdo al control del operador de la emisora!

Uso la abreviación "Pos", posición, debido a que en el procesamiento anterior el ángulo en grados no es relevante, sino solo el número de posiciones desde una posición inicial "0" que equivale a la posición central del palo de la vela mayor!



Podemos ver en la vista del gráfico inferior el palo de la vela mayor en su posición central que es donde el largo de la escota tendrá su mínimo! Si el palo gira hacia uno u otro lado entonces la nueva posición del palo de la vela estará a cierto ángulo en comparación con la posición en el gráfico



El el gráfico que ven ahora trato de demostrar de forma gráfica la relación entre el significado y la resolución de los diferentes parámetros!

En el bloque verde superior pongo como ejemplo una resolución de 64 posiciones diferentes del stick de control en la emisora. Quizá algún operador ultra experto y muy sensible es capaz de conscientemente "sentir" la diferencia de 64 posiciones diferentes y 128 o 256 0 512 0 1024. 64 posiciones requiere de 6 Bits, 256 posiciones de 1 Byte. así usando una variable que en los ARM Cortex M es de 32 Bits y transfiriendo tales variables entre las placas con 400kHz o mas es sin relevancia. Yo llamo la variable para este valor numérico que refleja la posición del stick de control en la emisora "SenderMaxPosMain". De estas variables hay una con "New" y una con "Old" al final del nombre! Así la central que no solo controla el sistema de control de escotas, sino el total de los subsistemas en el modelo compara cada 20ms si el valor de tal variable ha cambiado! Digitalizando el largo de la señal PWM activa con alta resolución y luego cortarle varios bits a la derecha, equivalente a dividir por 2 (1bit), o 4 (2bits), etcétera, evita que el valor numérico fluctue y así de forma equivocada piense que hubo un cambio de posición del control de la emisora. También existe la posibilidad de crear un promedio con el mismo objetivo! La central por lo tanto verifica si el control de la emisora ha cambiado su posición. Si no ha cambiado espera a la llegada del próximo pulso de la receptora R/C a los 20 ms. Si hay un cambio, transfiere el nuevo valor a la placa LPCXpresso1769 con el nombre "Winche Control". Allí el controlador de la placa entra en una tabla en su memoria Flash que relaciona a cada valor de "SenderMaxPosMain" el valor correspondiente tanto a la resolución del sensor angular magnético, como en una segunda columna de esa tabla el valor de la posición del motor de paso que controla el giro del tambor de escota. Allí el controlador resta el viejo del nuevo valor y dependiendo si es positivo o negativo sabe en que dirección cambia el máximo ángulo permitido por el operador y del valor absoluto del resultado sabe por qué número de posiciones ha cambiado! esto aplica tanto al sensor magnético, como a la posición del motor de paso.

Las variables correspondientes tienen que apoyar la resolución del sensor angular y de la posición del motor de paso! Como habia escrito mas arriba el cambio de largo de la escota requerida es de 8400mm. La circunferencia del tambor de escota propulsado por el motor de paso es de 400mm. así con 21 revoluciones completas del motor de paso logro cambiar el largo de la escota por 8400mm! Como el motor de paso tiene 51.200 micropasos por giro de 360° resulta el número tan alto en el bloque verde inferior!

Esta información de la magnitud del cambio de posición reflejado sobre el sensor magnético permite computar un nuevo valor máximo, que si el sensor magnetico angular registra tal valor sabe que no debe cambiar posición del motor de paso. Hasta allí y no mas la vela tiene permitido abrirse para uno u otro lado! Si el nuevo valor es equivalente a un ángulo menor que el actual de la vela, entonces la placa LPCXpresso1769 con el nombre "Winche Control" instruye a la placa stepRocker cambiar hacia la nueva posición la posición del motor de paso. Como ya sabe cuantos pasos el motor de paso tiene que dar, comparando la posición actual del motor de paso con el nuevo, sabe por cuanto debe acortar el largo de la escota y esta jalar el palo de la vela en dirección del centro del casco. Este movimiento representa un movimiento del motor de paso bajo carga, lo que representa un mayor consumo eléctrico. Como busco lograr un mínimo de consumo eléctrico en un futuro decidiré como calcular el consumo actual de energía. aquí puede que funciones algebraicas no sean adecuadas, pero si son funciones diferenciales, son sencillas, diferenciables! El consumo de energía dependerá de la velocidad de giro, de la magnitud del torque de carga a razón de la presión del viento en la vela y de como el mecanismo de adaptación de las componentes de Trinamic utilizadas se adapta haciendo disponible un torque adaptado al torque de carga. Yo estimo que aquí el crear atos del resultado de medición del flujo eléctrico por las bobinas del motor de paso y de la tensión aplicada al motor de paso la software de Wolfram podrá calcular simulando y usando solvers para encontrar funciones que aproximen los valores reales medidos en dependencia de los diversos parámetros de control de las componentes de Trinamic. Esos parámetros que controlan la operación del motor de paso y que son bastantes los disponibles que impactan el consumo energético.



Este gráfico por ejemplo muestra como he pensado controlar la adaptación del largo de la escota usando "umbrales". Para ello aprovecho que la información angular del sensor magnético es hecha disponible al controlador LPC1769 con las 3 señales PWM, "A", "B" e "I" y eso con una resolución menor por 2 bits a la máxima que está disponible para la posición angular absoluta en un registro interno del sensor. La línea vertical verde central con el nombre "X" representa la posición angular resultante como información de posición incremental, resolución menor por 2 bits y los umbrales inferiores y superiores a la posición "X" que recibo leyendo el valor del registro en el sensor y que representan una resoluciòn mayor del factor de "4". esto es importante cuando el palo de la vela oscila en una posición angular menor a la máxima permitida por el operador. Al pasar la posición del palo absoluta sobre uno de los umbrales, el motor de paso se mueve a la posición equivalente a la posición "X+1" o "X-1", según en que dirección esté girando el palo de la vela. Encontrar el valor para los umbrales que resulte en un mínimo de consumo energético es esencial.

Otro aspecto es la pregunta que es energéticamente mas eficiente? Usar un freno mecánico que evita que el motor de paso cambie su posición? hay que aplicar 24 VDC y fluye una cierta cantidad de corriente cuando se suelta el freno. Que relación debe haber entre el tiempo donde el freno mantiene la posición del motor de paso y la energía aplicada al motor de paso se puede reducir a prácticamente "0 W" y aquel donde el freno suelta consumiendo energía y el motor de paso recibe la energía necesaria para efectuar sus movimientos! Durante cuales tiempos el motor de paso gira casi sin carga cuando adapta el largo de la escota cuando la vela gira sin tensionar la escota y cuanto tiempo y que cantidad de energía consume bajo los perfiles de presión/torque?

Estas cosas las quiero investigar simulando las y quiero aprovechar el usar datos generados y alimentados a la software mathematica y SystemModeler para por ejemplo evaluar la calidad de las simulaciones y los modelos en que basan y par, en caso necesario usar las capacidades matemáticas de Mathematica para definir ecuaciones adaptadas a los datos medidos.

Todo esto resulta de lo que he estado reflexionando y asumo como vaya progresando a lo largo de los diversos caminos que sigo, lograré reconocer problemas adicionales, como por ejemplo aquellos que basan en las latencias incurridas y su impacto en la frecuencia con la cual puedo controlar los procesos. Supongo que avanzando iré mejorando la calidad de mis reflexiones y además las pondré en una base mas sólida.

No acabo sin mencionar que tanto los estudios matemáticos y físicos universitarios me dan mucha satisfacción y espero similares resultados de los estudios de electrónica. El camino que sigo es la meta, el aprendizaje es uno de los objetivos y si por accidente puedo adquirir títulos universitarios, pues bién. Pero como la salud y la edad no me permiten una carrera profesional, tengo la ventaja de tener tiempo!
24/01/2015 #14

Avatar de Hellmut1956

Voy trabajando para crear los gráficos que representen lo antes escrito usando el período de prueba para Microsoft Visio 2013. Ejercicio muy útil!
24/01/2015 #15

Avatar de Dr. Zoidberg

Si tenes restricciones economicas para la compra del soft.de simulacion, deberias probar con SciLab que es software libre, es compatible con Matlab/Simulink, tiene un poder de simulacion similar estos, tiene un editor grafico similar a Simulink (lo que te evita hacer dos veces lo mismo), tiene una muy buena comunidad de soporte y no te cuesta ni un centavo.
25/01/2015 #16

Avatar de Hellmut1956

Gracias por la recomendación! Ya he descargado ese software en el pasado y lo analizé en el pasado. Lo que realmente me interesa de la metodología del "Diseño por Modelación" es la combinación con el experimento. Como modelista naval y como aficionado a la electrónica y como persona que usa estas actividades como fundamento para tener actividades que me permitan tener objetivos y perseguir actividades que me ayuden a no resultar frustrado que debido a mis problemas de salud ya no puedo participar en el mercado de trabajo como empleado. esto me ha ayudado muchísimo a no estar expuesto a la depresión. Veo que algunos de mis ex colegas de trabajo bajo similares condiciones han recurrido por ejemplo al alcohol y/o que su salud a deteriorado a paso rápido. A mi las actividades en mis aficiones, todas relacionadas al proyecto del "Carina", la construcción de un modelo de un velero, me han permitido ya por una década de tener objetivos, de tener días estructurados y lleno de actividades y de poder canalizar mi necesidad de ejercitar mis células grises. Hay personas que hasta me envidian por estar en una situación donde, dentro de las limitaciones por la precariedad económica, puedo dedicar mi tiempo a estas actividades. En el último chequeo del marcapasos, tengo que dejarlo chequear cada 6 meses, el doctor me dijo que el marcapasos se ocupa el 10% del tiempo a apoyar las actividades de la antecámara de mi corazón. No fumo, tengo un peso algo alto, tengo diabetes del tipo 2 y desde que cumplí los 18 años estoy tratando mi presión arterial alta. Pero tengo una maravillosa familia, me han quedado algunos amigos y tengo mis aficiones. Todo esto resulta en una vida llena de retos y satisfacciones.
Dentro del ámbito del proyecto de "Diseño por Modelación" he recibido diversas propuestas a poder acceder de forma ilegal a la software que haría mucho mas facil mi proyecto, pero por un lado mi deseo de quedarme dentro de las normas legales de comportamiento y porque para lo que requiero hay que sumar a esos programas "paquetes" que requieren acceder el Internet y las páginas del vendedor registrándose, mi decisión de usar la software de Wolfram es la opción mas positiva que he podido tomar. Los programas gratuitos en parte son equivalentes a los programas comerciales. Así por ejemplo existe un programa gratuito que una universidad en España a modificado, Octave, para que solo acepte la programación 100% compatible a Matlab. Así, para el aspecto matemático del diseño por modelación Octave UPM es equivalente a Matlab. OpenModelica.org igualmente proporciona una IDE gratuita para crear objetos usando el lenguaje "Modelica" y para hacer simulaciones usando tales objetos, si las extensas librerías de objetos de Modelica no son adecuadas. Así definitivamente es posible lograr mis objetivos usando software 100% gratuita y legal. Usando la software commercial, por ejemplo de Wolfram, representa ya un gran reto en términos del aprendizaje requerido. Aprendiendo la lengua "Modelica y crear objetos dentro de esa lengua igualmente representa un reto. Pero los "ecosistemas" de los vendedores profesionales son una gran fuente de información y aprendizaje y por ejemplo me permiten usar las placas "RaspBerry Pi B+" y "Teensy 3.1" para experimentar en este caso con el entorno de la software de Wolfram. Estos experimentos y el aprendizaje requerido son pequeños pasos hacia mi objetivo final, el diseñar mi sistema de control de escotas, pero los logros y retos de esos pasitos me permiten continuar y mantener la perseverancia, simplemente porque hago tales actividades!
Así, perdonen si el camino que sigo no es óptimo. por favor, sigan respondiendo y dándome indicaciones que han resultado tan valiosas como aquella de describir en mayor detalle lo que estoy haciendo. Habiendo recién empezado a reflexionar y tratar de analizar en mayor detalle como reflejar mi gráfico del sistema de control de escotas en términos de circuitos de control tal cual lo muestra el gráfico que presenté arriba. Como pueden leer en mi épico texto de la última contribución a este hilo, esto me está permitiendo un avance importantísimo para mi. Pienso usar el programa Visio para presentar de forma gráfica lo que escribí arriba. Estoy consciente que requerirá de muchas iteraciones para lograr documentar esto de forma clara y estructurada y que esas iteraciones, al igual como ocurrió con el gráfico anterior me dará un mejor entendimiento. Otra vez, mil gracias!
Ayer, paseando por el panorama invernal con mi perro y reflexionado, empecé a percibir, donde dentro el sistema de control de escotas voy a requerir a usar ecuaciones diferenciales. Claro que es posible crear gráficos a base de datos medidos. Pero si quiero encontrar soluciones óptimas de relaciones interdependientes para captar el impacto del valor de ciertos parámetros, por ejemplo en la eficiencia energética tengo que encontrar puntos de trabajo que dependen de extremas dentro de las diversas ecuaciones diferenciales. pero eso está aún en un futuro aparentemente muy lejano aún!
25/02/2015 #17

Avatar de Hellmut1956

Ayer estuve en la feria "embedded World 2015" en la ciudad de Nurenberg, no muy lejos de donde vivo. Pero visitando la empresa "Mathwork" fui informado que finalmente también ellos han sacado una licencia para uso no commercial a precios módicos. Apenas llegue a casa, me fui a su sitio de Internet y me informé! Matlab por solo 105,- Euros, Simulink y todas las "Toolboxes" a 29,- Euros cada una. Una ganga!

No cabe duda que para mis objetivos Mathworks y sus productos alrededor de Matlab son los mas avanzados junto con Dassault y Maple y le llevan años de ventaja a Wolfram para lo que son mis objetivos! Así, apenas salga la versión 2015a me compraré una licencia de Matlab, Simulink y aquellas Toolboxes que requiera para reflejar placas de Hardware externas en un modelo dentro de Matlab y aprender a realizar y usar esa funcionalidad. No he olvidado mi objetivo de describir mi sistemas de control de escotas y pienso que con esas herramientas me será posible describir mi sistema "Top-Down". Los mantengo informados!
16/03/2015 #18

Avatar de Hellmut1956

Hola amigos, con la intención de mantenerlos al tanto de mis actividades, no lo llamo avances intencionalmente, aquí otra contribución:

Siendo ahora disponible una versión no comercial de la software Matlab/Simulink por precios muy módicos repetí el análisis de comparar la software de Wolfram con aquella de Matlab y su entorno!

El costo de Matlab/Simulink mas casi todas los "toolboxes", librerías que facilitan, hacen posible, el aplicar Matlab a mis usos previstos, como anteriormente escribí, el costo es alrededor de los 300 a los 500 Euros. pero, no es posible actualizar la software, por lo que ese gasto se repite completo al querer actualizar, cosa que es de esperar, debido a los avances que tienen lugar. Pero resulta otro problemita y es que Matlab solo permite crear modelos basándose en objetos causales. Debido a que por un tiempo prolongado me dedique a estudiar las habilidades de la software de Wolfram, que en combinación con el lenguaje "Modelica" permite crear componentes acausales adicionalmente a objetos de carácter causales, creo que esto es un argumento que pesa mucho en favor de la software de Wolfram.

Se suma a esto que la software de Wolfram puede ser actualizada! La combinación de una licencia no comercial de Mathematica y de SystemModeler cuesta aproximadamente 1000,- Euros, su actualización unos 150,- Euros para Mathematica y adicionalmente pa SystemModeler. Pero debido a que tengo una hija que estudia una carrera técnica en la universidad de Munich me es posible que ella rente lo que se llama una Suite que incluye Mathematica y SystemModeler por 12 meses y eso por menos de 170,- Euros anuales. Eso permitiría sin costos de mas de lo que es la renta anual tener esas herramientas disponibles y actualizadas durante los años que duren sus estudios.

Actualmente estoy usando el período de prueba de las herramientas de Wolfram y poniendo foco en entender que tal funciona portar los modelos escritos en Modelica usando la versión de prueba de la herramienta Dymola de Dassault, software de prueba que no tiene limitación del tiempo que funciona, sola en la complejidad de los modelos que son posibles de ejecutar. Como para mi diseño de mis sistema de control de escotas empezaré creando los modelos constituyentes, esa limitación no me impacta

Claro que en el contexto de la comparación de la técnica de modelación con objetos causales como los usa Matlab y de las componentes acausales como son posibles gracias al uso de la lengua de modelación Modelica, me dedique a la pregunta de como explicar tal diferencia y de explicar en que consiste la ventaja del uso de componentes acausales que se crean usando la lengua Modelica!

Una explicación que encontré y que realmente es la base matemática de la diferencia entre esos 2 conceptos basa en la diferencia entre lo que es una ecuación y lo que es un algoritmo! Claro que tal definición de las diferencias inmediatamente me hizo ponerme a investigar en que demonios consiste tal diferencia. Buscando por google y usando la lengua alemana busque "diferencia entre ecuación y algoritmo"! buscando en google y usando la pregunta en Español me encontré con esto. Allí encontré como primera respuesta que me parece util para explicar la diferencia!

Dicho en plan técnico y aburrido una función es una aplicación de un conjunto A a otro B de forma que a cada elemento de A le corresponde una única imagen en B.

Se suele denotar por f: A → B.

Una ecuación no es más que una propiedad o una relación entre unas determinadas variables.

Usemos esa respuesta como punto de partida! Una función o algoritmo es algo que tiene una dirección asociada. Aquí la función describe por que regla partiendo de "A" se encuentra "B". Explícitamente no define si por esa regla se encuentra "A" partiendo de "B". así cuando modelamos algo algún sistema en Matlab partimos de una entrada "Input" a la cual se aplica una función y que como salida, nos da el resultado.

En Modelica, aquí el sencillo ejemplo del modelo de un resorte:



Vemos bajo el título de "Equation" la ecuación que describe un resorte. Dentro del entorno de la simulación de modelos de Modelica la software utiliza funciones que en Inglés se llaman "solver", solucionadores, que usan esa ecuación para a base de lo que se conoce modifica la ecuación generando una función, un algoritmo que permite calcular aquellos elementos de la ecuación que faltan!

La ventaja de tal sistema y la razón por lo que se llaman modelos acausales es, porque no usan una ecuación que tiene bien definido que se computa a base de que, o dicho de otra forma que entradas se aplican a una función para computar el resultado, o dicho de otra forma mas, a base de las causas, entradas, se computan las salidas, los resultados.

En una circuito Modelica que usa modelos acausales existe un elemento llamado "connector", que no presento ahora, que define 2 aspectos. El uno es lo que se llama aquello que fluye. Si aplicamos esto a la electrónica es la corriente. Aquí se usa la ley de Kirchhoff que dice que la suma de todas las corrientes que entran a un nudo y aquellas que salen del nudo es igual a "0". Lógico verdad?



El segundo aspecto es lo que se denomina como estado. Aquí aplicamos la otra ley de Kirchhoff dice que la suma de las tensiones en un circuito = "0"



Modelica usa de forma generalizada a cualquier campo esas 2 leyes, aquella que describe las dimensiones de flujo y aquellas de estado. De tal modo los solvers, elemento que usa el entorno de simulación de Modelica para que usando la ecuación se computen aquellos parámetros faltantes! Y eso es aplicable al modelo descrito en Modelica independientemente que si algo es entrada o salida, porque estas son equivalentes en lo que a los computos se refiere. Así un modelo de una componente se puede usar en ambas direcciones.
23/03/2015 #19

Avatar de Hellmut1956

Hola amigos, quiero compartir con Ustedes la felicidad que siento por haber finalmente encontrado un camino que con los conocimientos adquiridos en el último un poco mas de un año me abre la ruta para empezar a modelar mi sistema de escotas según la metodología del diseño por modelación. Claro que ese proceso de empezar a modelar implica un montón de estudios, de aprendizajes y de experimentación! Estoy absolutamente seguro que eso me ocupará para lo que queda de este año que acaba de empezar!

Quiero indicar que dentro del concepto de mi sistema de control de escotas me limitaré a tratar un aspecto aislado y que creo que es lo suficientemente sencillo para en aplicar la metodología poder aprender su uso y las herramientas de que consiste! El reto al que me estoy enfrentando ahora es ver como puedo presentarles lo que quiero narrar y que su nexo con nuestra afición, el modelismo naval sea evidente!



Me voy a limitar a modelar el aparejo que aparece en esta foto del velero original, la Endeavour!

El objetivo de esta modelación es poder determinar en las simulaciones a que velocidad del viento soplando a la vela, considerando que el viento puede soplar desde perpendicular a la vela, 90°, o paralelo a la vela, 0°, la fuerza que la escota conectada al palo de la vela mayor es capaz de tener el mismo valor que la suma de las fricciones entre la escota y los 7 discos del aparejo! Cualquier viento mas fuerte, mas rápido, será capaz de abrir la vela!

Este objetivo resulta a razón de indicaciones muy respetadas y bien venidas de expertos modelistas navales en cosa de veleros, que la fricción de la escota en el aparejo es tal que la vela deja de ser capaz de abrirse a raz´n de la presión del viento en la vela!

Estoy muy conciente, que fuera de la fricción entre la escota y los 7 discos del aparejo existen mas factores que impactan la capacidad de la vela de poder abrirse y así teniendo que "tirar" de la escota! Pero mi ejercicio de modelar solo y exclusivamente el comportamiento entre la escota y su movimiento por los discos del aparejo y esto con el palo de la vela en cualquier ángulo entre perpendicular al eje central del casco, 90° y alineado con el eje central del casco, 0°!

La razón por dedicarme a modelar esta parte de mi sistema de control de escotas en un primer paso es por ser el sistema relativamente sencillo y limitado a la interacción entre la escota y los 7 discos del aparejo! Sin embargo aún este aspecto sencillo tiene un número muy grande de aspectos que si son entendidos a fondo permiten diseñar el aparejo de tal forma que la fricción sea mínima.

He encontrado en el Internet las thesis de ingenieros y físicos que describen y analizan la fricción entre una escota y un disco o cilindro y así aprendí que el primer trabajo en relación a la disminución de la fuerza requerida para bajar un barril, supongamos de vino o cerveza al sótano, usando una cuerda que en varias vueltas recorre la circunferencia de tal barril:



Siendo modelistas navales todos conocen el efecto que por ejemplo aparece en la foto central. Puede ser un buque de tenedores gigantesco, si la cuerda es lo suficientemente fuerte y le doy suficientes vueltas a la bita de amarre la fricción e la cuerda será suficiente para resistir la tensión del buque!



Esta gráfica resalta la Fuerza F1 que por ejemplo sería aquella fuerza que resulta por el tirar de la escota cuando el palo quiere abrirse mas! Además vemos, lo que es relevante, el ángulo α que es la medida para el sector del disco que está en contacto can la escota. En la foto del aparejo de la Endeavour vemos que en muchos de los discos el valor de α difiere y que por lo tanto la fricción en tal disco también tendrá otro valor. Lo que en un primer paso dejaré sin considerar es si cuando el palo oscila entre 0° y 90° el ángulo α de las escotas en los discos puede cambiar. Experimentos determinarán el impacto junto con el análisis de los datos simulados.



Este gráfico ya entra en mas detalle y los siguientes 4 renglones con sendas fórmulas describen de forma matemática el como se calculan las fuerzas. es importante para entender las próximas ecuaciones, y por favor no se dejen intimidar, realmente no es difícil!

la fuerza "F" dibujada en color rojo es aquella fuerza que tiempla la escota o por decirlo de otra forma, es la fuerza de tiro del palo de la vela mayor de la escota! Si seguimos la línea negra gruesa, vemos donde la escota abandona el contacto con el disco la suma de las fuerzas F y ΔF. Vemos si asumimos que las fuerzas a ambos lados del disco son iguales, resulta:

F = F + ΔF

ΔF sería la fuerza de la fricción. La fuerza de tiro del palo de la vela mayor F pierde la fuerza ΔF por la fricción que ocurre en el primer disco! así cuando la escota llega al segundo disco se repite lo que muestra el gráfico, solo que ahora la fuerza F a la izquierda es menor a la fuerza F de tiro antes del primer disco a razón de la pérdida de fricción en el primer disco. Esto se repite del primer al séptimo disco. Si en el séptimo disco suponemos que la fuerza F a la derecha es F = 0 Entonces podemos decir que:

F = ΔF1 + ΔF2 + ΔF3 + ΔF4 + ΔF5 + ΔF6 + ΔF7

Siendo los números del 1 al 7 los índices representando los 7 discos del aparejo. Si esta ecuación es correcta, entonces existe un equilibrio entre la fuerza de tiro por el palo de la vela mayor de la escota y las fricciones de la escota en esos 7 discos. La vela mantendrá en tal caso su posición, pues no es capaz de contrarrestar las fricciones entre la escota y los 7 discos.

Cada uno de los 7 ΔF se calcula para cada disco.



En esta ecuación vemos como se relacionan la fuerza de tensión de la escota al llegar al próximo disco a razón del tiro del palo de la vela mayor y la fuerza FN que vemos en el gráfico anterior a las ecuaciones y que va de forma perpendicular hacia el centro del disco! La fuerza de fricción resulta de esta fuerza FN y vemos que la fuerza FN es proporcional al ángulo en el cual la escota está en contacto con el disco!



ΔF1 = 0.01 F. Un factor que por aproximación se define así y que resulta de la construcción de la escota y de su tensión. Como vemos solo impacta por un 1%, pero la hace en cada disco, aquí 7 veces!



ΔF2 es la ecuación que representa la aportación de la fricción del eje alrededor del cual gira el disco! µ siendo el coeficiente de fricción.



así pues esta ecuación nos da la suma del aporte de la pérdida de fuerza de tiro de la escota al pasar por cada uno de los 7 discos del aparejo!

Presenté esto en detalle para demostrar que el modelar de un sistema tienes que considerar un alto número de factores que influencian su comportamiento! No presenté en detalle como, partiendo de un viento definido en metros por segundo {m/s] en la vela mayor de mi velero con la geometría de la vela resulta la fuerza que busca abrir el ángulo entre el palo de la vela mayor y el eje central del casco.

Tampoco presenté que si conozco tal tuerza como esta entra al aparejo, cuando 2 de los bloques van colgados de sendas cuerda del palo de la vela mayor y un bloque va colgando mas atrás directamente del palo de la vela mayor! Todo lo que resulta hacer es reflejar la ecuación que computa la fuerza del palo sobre donde el bloque va conectado al palo de la vela mayor. El modelo y su simulación se encargaran de computar las contribuciones en los 3 bloques conectados al palo de la vela mayor.

Tampoco he analizado aún como el ángulo α cambia para cada bloque dependiendo del ángulo entre el casco y el palo de la vela mayor.

Pero creo que he logrado demostrar que en un modelo numerosos factores influyen y que tales factores están en cierta relación entre sí y con el palo de la vela y el casco. La posibilidad de lograr aplicar una técnica que me permite de forma clara y con asistencia de la herramienta para de forma incremental ir sumando factores y relacionar estos representaba un reto al que le tenía pavor!

Pues resulta que la herramienta "Berkeley Madonna" logra exactamente esto! De forma visual y con su asistencia se van sumando los factores que se quieren considerar y la herramienta Berkeley Madonna va indicando si todas las dependencias han sido implementadas de forma completa. Aún estoy aprendiendo a usar la herramienta "Microsoft Expressión 4.0" que está disponible en el sitio de Microsoft de forma gratuita permite no solo crear imágenes de lo que aparece en la pantalla o en una webcam como foto de la pantalla, sinó que también permite grabar en un video mientras se está haciendo algo en la pantalla del PC y sumarle la voz a ello. Apenas tenga resultados tolerables los presentaré aquí, pues esa herramienta "Berkeley Madonna" es una maravilla y a diferencia de herramientas similares los gráficos son muy lindos de ver, lo que apoya en el proceso de entender lo que se ve!

Acabo de mencionar que el problema de ir sumando los factores que influencian el comportamiento de un modelo gracias a aquella herramienta es facil de controlar. hay que mencionar que la metodología que la herramienta "Berkeley Madonna" hace disponible es una que se aplica desde hace muchos años para modelar sistemas dinámicos"! Lo que lamento mucho es que cuando peritos latinoamericanos presentan la materia lo hacen de forma sumamente falto de transparencia e ignorando el uso y la existencia de modernas herramientas.



Permítanme presentar una imagen del ejemplo de un "Flow Chart" que empecé haciendo con la herramienta "Berkeley Madonna" y permítanme también confesar que las denominaciones de los elementos para describir un disco del aparejo también contienen un error importante!

El error sin embargo no es relevante para mostrar la estructura básica que usa "Berkeley Madonna", la estructura básica usada en la ciencia de "sistemas dinámicos y en lo que el profesor Werner Maurer de la universidad suiza de Winterthur llama "System Physics" y que me he permitido en traducir como "Física de Sistemas"!

En todos estos campos se describe, modela un sistema dinámico partiendo de mínimo un depósito, aquí erróneamente lo he llamado "Entropía". la fuerza F si la conocen y la presente antes. La fricción es equivalente a ΔF en el texto arriba!

Como escribía se puede tomar la equivalencia a recipientes de agua. La fuerza "F" representa una magnitud de flujo que transporta contenido el recipiente hacia afuera, salida, desagüe! En nuestro caso del disco del aparejo es la fuerza con la que la vela tira de la escota! La fricción en el gráfico sería un desagüe también lo que definitivamente pudiera ser un error!

La razón por esa incertidumbre la repito aquí, pues refleja el reto al que estoy expuesto, pero el que creo saber donde poder aprender el corregirlo!



En la tabla aparecen esas magnitudes de la física a los cuales en la Física de Sistemas se limita lo que puede estar en un recipiente! Como está en alemán voy a traducir la primera y la última columna e indicar lo que significan otros datos en esta tabla!

Masse = Masa el símbolo es "m", la unidad son kg, la magnitud de flujo asociada es ...

Volumen = volumen, flujo homógeno

Stoffmenge = no encuentro la traducción, se trata de un término químico como lo indican las unidades correspondientes.

El flujo de estas magnitudes es un movimiento físico y aparecen con fondo azul claro!

el. Ladung = Carga Eléctrica, no ocurre movimiento físico por lo general!

Impuls = Impulso

Drehimpuls = Impulso rotativo

Entropie = entropía es generada

Se trata de magnitudes físicas de la física de sistemas dinámicos y aparece en una hoja dentro de sus lecturas sobre hidrodinámica.

Viendo estas 7 magnitudes que pueden ser contabilizadas en el recipiente del "Flow Chart" de Berkeley Madonna y tratando de ver cual podría ser factible para el caso de la modelación del aparejo de mis sistema de control de escotas la única opción que me parece adecuada es aquella en el quinto renglón de la tabla.

Lo que tengo que acabar de comprender bien y así poder aplicar correctamente es aquello del recipiente y los flujos y aplicarlo a lo que se denomina como mechanica translatórica.
29/03/2015 #20

Avatar de Hellmut1956

Hola amigos, finalmente creo haber derrumbado el muro que me prevenía en avanzar. Quiero, como lo prometí, compartir esto con Ustedes:





Para entender el "Flow chart" hecho en Berkeley Madonna se requiere del segundo gráfico:

La fuerza Fiz = Fde + ΔF

La fuerza Fiz es lo que he llamado "Tiro de Escota" en el diagrama arriba. Es aquella fuerza con la cual la acción del viento sobre la vela mayor y por el palo de la mayor tira de la escota para que esta se pueda abrir, o que mi sistema de control de escotas tiene que contrarrestar para limitar el abrirse mas de la vela!

La fuerza ΔF es el nombre que le he dado a la fuerza que la fricción entre la escota y el disco genera y que es opuesta a la fuerza de "Tiro Scota"!

La fuerza Fde es aquella fuerza que sobra después que la fuerza "Tiro Escota" se sobrepone a la fricción! Si esta fuerza desaparece, o mejor expresado, toma el valor "0", entonces la fuerza "Tiro Escota" = Fuerza por Fricción o ΔF!

En ese caso hay un equilibrio entre la vela tirando de la escota y la fricción de la escota en el disco!

Recién esta noche del sábado otro experto, cuyos conocimientos respeto mucho, se puso bravo conmigo, pues le dije que mi objetivo y el placer que encuentro en estos estudios son la razón y motivación que doy satisfacción con mi afición!

El me dijo que mi sistema no va a funcionar, pues la fricción del aparejo que consiste de 7 discos en 6 bloques, ver foto que he publicado mil y una vez del aparejo de la original Endeavour!

Pues les digo, y lo voy a corroborar por experimentos que me permitan alcanzar el nivel requerido de calidad de los modelos, no solo podré calcular una velocidad de viento mínima, donde entre el "Tiro escota" esté en equilibrio con todas las fricciones a las que la escota esté expuesta entre el palo de la vela mayor y el tambor en el motor de paso!

Pero mucho mas interesante que esta información de mucha importancia que viento mínimo es requerido para que la vela se pueda abrir, será que medidas puedo tomar para lograr que el mínimo viento requerido sea el mínimo posible! Las ecuaciones que he presentado mas arriba, no solo permiten que los modelos de disco y escota puedan, en cada una de las 7 instanciaciones que forman el aparejo, puedan reflejar los ángulos sobre los cuales la escota está en contacto con el disco. vean la foto de la Endeavour original y ven que estos ángulos difieren sustancialmente!

Pero también en esas ecuaciones se puede apreciar que los diámetros de los discos también juegan un papel importante!

Es claro, y aunque perseverante y terco soy, estoy consciente que para que mi sistema de control de escotas pueda funcionar con ese aparejo, el resultado debe dar velocidades de viento aceptables! Si no, pues tendré que reflexionar como resolver el problema!
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Software de Simulación y Diseño Electrónico

Todo lo relacionado con estos programas.

Cerrar
Foros de Electrónica » Temas de Interés » Software de Simulación y Diseño Electrónico

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.