Como convenimos, las charlas finales serán el próximo miércoles 12/12 de 14 a 20. Cada grupo deberá presentar una charla de 15 minutos + 5 minutos de preguntos. Deberán hablar TODOS los miembros del grupo y contar lo que hicieron. No tienen limitarse a reportar sólo lo que midieron la última clase, pudiendo utilizar (si lo necesitan) información de cualquier otro día (y aun de compañeros, esto último con la referencia apropiada). Deben contar brevemente el software, haciendo énfasis en la lógica del mismo y, si es necesario, mostrar algo de código/pseudo para ejemplificar.
Lantz
Pueden obtener mas información de Lantz en: https://github.com/lantzproject
y Cómo instalar Python y Lantz (material del TOPFOT 2018)
(ojo que en este ultimo link falta el puente entre arduino y lantz)
Ademas, tienen que instalar arduino-cli
Entrega de informes en PDF
hola! por favor, aquellos que entregaron el informe de DAQ o DAQ+PID en formato papel, podran hacerlo via mail?
les pido si al archivo lo pueden nombrar segun el formato con que les hicimos las devoluciones: “Gxx – informeTP2.pdf”, donde xx es el numero de grupo. gracias y saludos!
Clase de mañana
La idea es que arranquen midiendo hasta las 1630.
Expandiendo lo que les dije personalmente y en un post anterior.
- los que armaron un ON/OFF, hagan un PID
- los que aun no tienen el PID andando, haganlo andar
- los que armaron un PID:
- toquen los parametros
- cambien la “memoria del integrador”
- comparen los valores de k, i, d con los propuesto por algun método heuristicos
- pongan mas inteligencia (ej. que la respuesta del LED tiene un offset en corriente
- Que hagan algo distinto a un PID
Proximas clases
14 de Noviembre
- Clase: Código mantenible en Arduino
- Seguimos con Lazo de control. Aquellos que ya terminaron con la propuesta de caracterizar el lazo de control, pueden:
- Crear un lazo de control que opere bajo otro principio (ej. si usaron un PID, piensen un lazo con feed forward, si usaron un ON/OFF hagan un PID)
- Implementar el lazo en la Arduino
- Informe: Entrega de informe de DAQ y (opcionalmente) Lazo de control
21 de Noviembre
- Clase: Código mantenible en Python
- Uso de arduino y discusión del proyecto final
- Informe: Entrega de Lazo de control (si aun no lo entregaron)
28 de Noviembre
- Clase: Código mantenible en Python y aplicaciones interactivas
- Mini proyecto final. Utilizando cualquiera de la herramientas que aprendieron deberán generar un software. Pueden traer sus propios proyectos, o usar alguno de los ejemplos:
- Proyectos de control / búsqueda
- Noise cancelling.
- Péndulo invertido
- Ascensor (y descensor) definiendo una función de optimización
- Búsqueda de resonancias en cuerda
- Seguidor de sol
- En un RLC forzado, variar R para que este en resonancia.
- Proyectos de Aplicación (deben tener una interface grafica o similar):
- Caracterización de respuesta en frecuencia de un circuito usando un lock in. Diagrama de Bode
- Caracterización automática del sistema de ultrasonido en frecuencia y ángulo
Exposiciones finales: en diciembre, en fecha a coordinar.
Implementaciones de PID
Siguiendo con la discusión de como implementar el lazo de control separado de la parte de adquisición les doy un ejemplo para un lazo de control tipo PID.
Aca hay 4 borradores de distintas implementaciones de lo mismo. ¿Cómo funciona cada una? ¿Como se comparan con los casos 1 y 2? ¿Cuáles son las ventajas y desventajas?
Ver aca: https://gist.github.com/hgrecco/16edd24989c63b6fc2eeb829c6d6b7ea
X EEOF y XV TOPFOT (2019)
Reenvio info de la JOFA
Muy recomendado este encuentro!
—–
Les escribimos porque la organización de la X EEOF y el XV TOPFOT está en marcha. El evento será alrededor del 20 de mayo del 2019 y la sede es Bariloche.
La temática será: “Óptica no lineal y fibras ópticas”. Desde la jofa estamos organizando la escuela, con la premisa nuevamente de que los cursos/clases incluyan herramientas y técnicas que nos sirvan a todes, independientemente del área de la óptica a la que nos dedicamos.
Los cursos/temáticas serán:
* Mamografía óptica (con aplicaciones generales de la técnica de IR en tomografía).
* Mesa debate: Startups y Empresas de base tecnológica.
* Fotodetectción rápido y SDR
* Python
* Aplicaciones de pulsos ultracortos, herramientas para usar las facilities del SINALA.
* Sesión de pósters (con birra incluida).
Se encuentra abierta una preinscripción al evento que es MUY IMPORTANTE/NECESARIO completen quienes necesitan ayuda económica. El objetivo es lograr conseguir financiamiento tanto para traslado como para alojamiento, pero para hacer esto necesitamos información con tiempo. Estará abierta hasta el 31/10/2018.
El formulario de preinscripción es el siguiente: LINK
¡Les pedimos por favor difundan este mensaje!
Saludos y nos vemos en Bariloche,
JOFA.
PID
La próxima clase (7/11) comenzará puntual con una breve clase para fijar ideas acerca de lazos de control seguida por las charlas de sus compañeros. El resto de la clase estará dedicado casi íntegramente a medir con los lazos que armaron, excepto la últimos 30 minutos que comenzaremos a una introducción a como organizar aplicaciones mas complejas de intrumentación.
El 14/11 deberán entregar el informe de PID.
Algunas ideas para hacer con el lazo de control:
- Modificar los parámetros del lazo para ver “que tan bien” funciona (Diseñar e implementar una definición cuantitativa de “que tan bien”)
- Aplicar una perturbación conocida y estudiar la capacidad del lazo + actuador para mantener el sensor en el valor de referencia en función de la frecuencia y amplitud de dicha perturbación
- Modificar la lógica del lazo para incorporar las relaciones que conocen del sistema actuador+ sistema físico + sensor.
Respecto del software, muchos se dieron cuenta que no es posible crear una simple funcion donde el output dependa sólo del input. Un lazo de control tiene que lidear con la inercia y la histeresis de un sistema fisico y esto significa que tiene que tener memoria.
Hay varias formas de lidiar con esto:
- Poner el codigo del lazo y la memoria en el while.
- Definir variables globales que operen de memoria del lazo
- Que la función lazo tome alguna estructura de datos (u otros parámetros) para contener la memoria, la modifique y la devuelva.
- Crear una clase e instanciar un objeto
- Crear un generador
Muchos de ustedes implementaron la forma #1, mezclando la lógica de adquisición con la lógica del lazo. Esto no es en general una buena idea ya que dificulta el debugging, la simulación del efecto de cada parte y la capacidad para compartir codigo.
while True: signal = <aca va el codigo que lee de la daq/placa de audio/lo que sea> actuador = <aca va el codigo que calcula el siguiente valor del actuador> aca va el codigo que escribe de la daq/placa de audio/lo que sea>(actuador)
while True: task.wite(lazo_calcular(task.read(), <otros_parámetros>))
(Los nombres son a gusto del usuario)
Les pido que piensen pros/contras de estas opciones y busquen implementar alguna de ellas. El lunes temprano voy a postear algunas ideas mas.
Alumnos de doctorado (segunda circular)
Breve recordatorio dirigido a los alumnos de doctorado: por favor, enviar por mail la fecha y el título de la charla pautada en clase.
Informe 1
Informes recibidos:
12ee7db3d0b3dd2bf261bc9a61e4da738faefc2c CaracterizaciónDeComponentesDiscretosEIntegradoUsandoLaTarjetaDeSonidoDePC.pdf 8a4e1ac4f7c5e1c653087be71f1a31e1e27ccfca Fersammar.pdf e2bffc299f9aa9b2728af879f606fa8ceeb830d6 Grupo 8 DopplerPavlovTichno TP1.pdf 421c8b5be9ea8f238510a03a8720832b111711e9 Informe TP1 - Grupo 3.14.pdf a54796e5b479ef61980c41eb51a3874539bc89e3 Informe1_Cusato_Petriella.pdf 69db2f845f36d7fa83395c655772abea7277d436 Placa_de_Sonido_Daneri_Quintana_Sallaberry.pdf d493a643bbf452da116958e39e025aeb83f7c7a5 Reporte_InstruP1_preliminar.pdf 7b8064053201f1d818b3006b29eaceb220159365 informe_burne_zanini.pdf f4201d97fe93a879e522253fb3b63caa5e112f00 Brinatti, Lacapmesure, Toscani - Informe 1.pdf cb81f3146e7f5b00c944054093e0ef3320eef3d0 FWP_Placa_de_audio.pdf