-
Saturday, March 19, 2022
En la entrada anterior les mostré como pueden iniciar rápidamente un proyecto con un STM32 utilizando herramientas open source en Linux. En este post vamos a continuar con la siguiente cuestión: ¿Cómo podemos depurar el código utilizando herramientas open source? Esto es de vital importancia porque tarde o temprano en el proyecto, llegaremos a un punto en el cual será necesario examinar con lupa los registros / estado del procesador; en estas situaciones llenar el código de printf puede no ser una solución práctica por muchas razones: no tener acceso al hardware necesario, no tener configurado un puerto serial (UART) en esta etapa del proyecto, la ejecución de printf podría cambiar el timing del código y cambiar el comportamiento del sistema, etc.…
-
Saturday, March 12, 2022
Hoy en día las tarjetas basadas en microcontroladores STM32 son muy utilizadas en la industria, por los makers, y en la enseñanza. ¿Las razones? Podrían ser su amplio ambiente de herramientas de desarrollo: una multitud de “development boards” que incluyen el debugger ST-LINK , infinidad de “capas” a las Raspberry PI. Herramientas sin costo para configurar los periféricos de forma gráfica TrueSTUDIO , acceso libre al HAL escrito por el fabricante, pero también versiones open source: (libopencm3 ).…
-
Thursday, January 24, 2019
No sé si te ha pasado; pero al trabajar en le etapa de desarrollo de un proyecto, es común necesitar un tipo de interfaz a través de la cual ejecutar comandos de forma sencilla. Por ejemplo: ejecutar un test simple que encienda y apague leds o indicadores conectados a la salidas digitales para validar las conexiones, cambiar los parámetros de un controlador PID, cambiar el periodo o frecuencia de un PWM, cambiar la direccion de giro de un motor, etc.…
-
Thursday, May 25, 2017
En esta entrada abordaremos el control PID de torque de un motor de corriente directa. En entradas anteriores les comenté cómo diseñar controladores de posición y velocidad, en esta entrada seguiremos un procedimiento similar, pero diferente para diseñar el controlador de torque. ¿Y por qué nos interesa el control PID de torque?, podrías preguntarte. Existen aplicaciones de robótica donde es necesario controlar el torque/fuerza producido por el actuador; es también común que el torque guarde una relación lineal con la corriente que consume el actuador.…
-
Saturday, May 6, 2017
En entradas anteriores les platiqué cómo modelar un motor de corriente directa y cómo controlar la velocidad utilizando un controlador PID. En esta entrada les mostraré cómo diseñar un algoritmo de control de posición para el modelo de primer orden del motor de corriente directa. Es más, haremos algo que dejamos de lado en la entrada de control de velocidad: probaremos el controlador, diseñado a partir de un modelo de orden reducido, en el modelo de segundo orden del motor… y veremos qué pasa.…
-
Monday, April 17, 2017
En la entrada anterior vimos cómo podemos escribir una simulación en Python para estudiar la respuesta de un motor de corriente directa. En esta, estudiaremos cómo podemos utilizar el modelo del motor para diseñar un controlador de velocidad PI (Proporcional-Integral). Más del 95% de las aplicaciones industriales de control, utilizan el control PID de alguna u otra forma. Esto, debido a la estructura sencilla del controlador y a que ha sido estudiado por más de 50 años.…
-
Thursday, April 6, 2017
En la entrada anterior, les platiqué cómo se modela un motor de corriente directa . En esta entrada les mostraré como se puede realizar una simulación utilizando herramientas de código abierto; en este caso: el lenguaje de programación Python. Pero antes, un poco de teoría. Integrales y derivadas numéricas Si recuerdan sus clases de cálculo, seguramente recordaran que la integral es el “área bajo la curva” y la derivada: “la recta tangente a la curva” que los profesores repiten hasta casi hacernos vomitar.…
-
Thursday, April 6, 2017
Los buffer circulares son bastante útiles en aplicaciones para sistemas embebidos: Para añadir la capacidad de “buffering” a los perifericos seriales del microcontrolador o para el ADC (convertidor analógico-digital), por ejemplo. Los buffer circulares no son más que “arrays” a los cuales se añaden datos. Cuando el buffer se llena, se debe tomar una de las siguientes dos decisiones: bloquear la escritura en el buffer hasta que haya espacio de nuevo; o permitir la escritura y desechar el dato más antiguo.…
-
Wednesday, April 5, 2017
Si ustedes llevan o han llevado materias como dinámica de sistemas o control, entonces muy probablemente les haya sucedido lo siguiente. El profesor escribe algo así en el pizarrón: Se tiene el siguiente sistema dinámico en lazo abierto en el dominio de la frecuencia: $$G(s)=s+3s2+10s+1$$ Diseñe un controlador tipo PI para estabilizar el sistema y lograr el dempeño deseado… la primer pregunta que se me vino a la mente fue:…