Sistemas Embebidos

Sistemas Embebidos

Electrónica analógica y digital: El corazón de los sistemas autónomos.

Códigos Fuente

Códigos Fuente

C, C++, Java, Verilog, VHDL, Object Pascal, PHP, etc... Lenguajes que describen Hardware y Software inteligente.

Mecatrónica

Mecatrónica

Mecánica, Electrónica y Diseño de Software conjugados para crear nuevos dispositivos.

Peripecias con memorias Flash

La gente que me conoce de cerca sabe que he estado dando jugo con este tema producto de un pequeño traspié en el trabajo, prometo que esta será la última vez que mencione el tema :-P. Lo que pasa es que muchas veces uno se encuentra con esas cosas que “todos saben” y por lo tanto nadie explicita, provocando grandes dolores de cabeza que en realidad eran muy simples de solucionar.

Sin más rodeos, estaba trabajando hace unas semanas en la interfaz en Verilog para una memoria flash serial (Spansion S25FL256SAGNFI001), la cual tiene la importante misión de guardar los datos de configuración de un par de FPGAs, por lo tanto el arranque de las mismas y el funcionamiento del equipo depende de escribir y leer esa memoria. Poco a poco fuí haciendo cada uno de los bloques necesarios, un software para el PC que me permitiera cargar un archivo binario a la FPGA que maneja la flash, un core en verilog que recibiera los datos, un core de administración de “alto nivel” (entre muchas comillas) de la flash y el que maneja físicamente la interfaz SPI que finalmente llega a los pines de la dichosa memoria.

Luego de varias semanas de pruebas, correcciones y el típico proceso iterativo de estas cosas, llegué a un punto en que estaba generando correctamente las secuencias de escritura y lectura de la flash, pero sólo leía basura. Estuve cerca de una semana completa frustrado probando mil cosas mirando el analizador lógico hasta que probé escribir en otra dirección. Voilá! ahora los datos que leía estaban correctos!

Con una sonrisa en mi rostro volví a probar la escritura, esta vez con otros datos para poder observar el patrón en el analizador lógico. Cuando ejecuté nuevamente el comando de lectura para ver orgulloso mi obra terminada, nuevamente el terror volvió a mi rostro: otra vez basura.

Y así pasaron un par de días en los que no sabía si correr en círculos o rodar en el suelo, hasta que un día temprano todo tuvo sentido: La memoria flash traía puros 1s cuando estaba nueva, el comando de borrado lo que hace es restaurar los bits a 1, entonces eso quiere decir que cuando escribo paso los 1s a 0s donde corresponda… 1+1.. IDIOTA!!!!! Todo el tiempo estuvo funcionando y yo no sabía que tenía que borrar el sector antes de escribirlo!!!!

Protesto, nadie me lo dijo, no lo decía la hoja de datos, no estaba en ninguna parte esa restricción porque es “obvio” que uno tiene que borrar las memorias antes de escribirlas o no? con mi pendrive es más fácil!

Analizador Lógico
El analizador lógico muestra los comandos de escritura, primero el Write Enable, luego el Read Status para verificar que puedo escribir y finalmente el comando de escritura seguido por la dirección y los datos que en este caso son todos 0

Vehículo Autobalanceado en Festival de Ingeniería y Ciencia

En el marco del Primer Festival de Ingeniería y Ciencias a realizarse los días 18, 19 y 20 de Octubre en el campus Beauchef de la Universidad de Chile, el Vehículo Autobalanceado estará presente como parte de este festival, cuyo objetivo es acercar a la comunidad el trabajo que la Facultad de Ciencias Físicas y Matemáticas realiza constantemente, con ingenio y pericia técnica en todas sus áreas de investigación.

En el evento habrá recorridos guiados por los diversos laboratorios de la Facultad, así como muestras que van desde sofisticados robots hasta una de las cápsulas Fénix, construídas por ASMAR, que rescataron a los 33 mineros en 2010.

La invitación queda extendida para conocer de primera mano el mundo de la ciencia real, la que se vive más allá de los libros y que con trabajo duro e ingenio permiten realizar día a día nuevos aportes.

El Vehículo Autobalanceado estará en el tercer piso del edificio de Ingeniería Eléctrica (Av. Tupper 2007), en el laboratorio de Control Avanzado 1.

Mi Arte

Hay un arte que pocos aprecian, que no está hecho de sonidos, pigmentos o piedras talladas, pero aún así es una oda a las fuerzas de la naturaleza. Hay un arte del cual soy artista, un artista novato pero artista al fin y al cabo. Puedo gastar meses preparando mi silenciosa sinfonía, seleccionando los instrumentos, entrenando a los músicos y construyendo el teatro que llevará grabadas las partituras.

Mi arte está destinado a descansar silencioso y oculto, quizás justo al frente tuyo, quizás en tu bolsillo, mientras toca incansablemente su silenciosa melodía.

Y así mis músicos ejecutarán su sinfonía, con mayor precisión que la más prestigiosa orquesta, pero tan sigilosa que ni notarás su presencia. Ese es el destino de mi arte, pues no está hecho de formas ni colores, sus partituras no expresan amor ni ternura, pero aún así puede hacer danzar a las fuerzas de la naturaleza de manera única, tan compleja que no cabe en mente alguna.

Soy el director de mi orquesta, orquesta de fuerzas naturales, que danzan y circulan en armonía, siguiendo mis partituras hechas de metal, ejecutando su melodía sin fin. Mi intención no es vanagloriarme, pues mi sinfonía no es más que un tímido canto, comparada con la que sostienes en tu mano. Sólo quiero que se valore lo que para muchos no tiene mayor importancia.

De polo a polo recorre el flujo de invisible viento, que hace resonar los instrumentos a través de las partituras y los músicos, vientos cargados de energía que se dividen en mil caminos, para finalmente reunirse tal como al principio. Contemplo con satisfacción mi obra, admiro el dibujo de las partituras y aunque no pueda oir la sinfonía, sí puedo decir que funciona.

Alta densidad

Rodrigo Maureira

Casi 10 años después, aún funciona…

La fotografía de arriba corresponde al panel de control de uno de los primeros dispositivos que diseñamos. Con mucho más entusiasmo que experiencia y recursos construimos nuestro “Control de Artefactos Eléctricos”, capaz de operar luces y otros dispositivos a través de un panel local (en la fotografía) y a través de un computador, el cual a su vez puede usarse para manejar los dispositivos de forma remota.

El precario cableado, así como nuestra humilde primera PCB (diseñada en Paint) aún resisten el paso del tiempo. Si bien no es nuestra mejor carta de presentación en cuanto a prolijidad, orden y rigurosidad, sí representan la génesis de lo que hoy realizamos y por eso he querido darle un espacio en esta ocasión.

Acerca del Proyecto

El diseño e implementación de un vehículo autobalanceado sobre dos ruedas, del mismo tipo que el conocido Segway™, en Chile, surge como iniciativa de Leonardo Moreno B. como tema para su Trabajo de Título, el cual fue terminado a mediados del año 2009 generando gran expectación llegando incluso a ser tema para reconocidos sitios sobre tecnología en el país como FayerWayer.

El trabajo de Leonardo fue patrocinado por el Profesor Manuel Duarte M., perteneciente al Departamento de Ingeniería Eléctrica de la Universidad de Chile y contó con la estrecha colaboración del ingeniero Claudio Alarcón R. quien aportó con su experiencia tanto en sistemas digitales como en electrónica de potencia.

El vehículo construído por Leonardo, si bien es capaz de transportar a una persona, presenta algunos problemas que lo hacen difícil de utilizar, los cuales están relacionados tanto con la instrumentación con la que cuenta el vehículo, como con el sistema de control implementado en él.

En septiembre de 2009 el proyecto fue tomado por Rodrigo Maureira, igualmente bajo el patrocinio del Profesor Duarte, apoyado por Claudio y como memoria para optar al título de Ingeniero Civil Electricista. Su labor consistió en rediseñar la electrónica del vehículo, mejorando el rendimiento y la robustez del sistema, incorporando instrumentos de mejor calidad para finalmente aplicar una estrategia de control que mejorara el desempeño del vehículo en cuanto a estabilidad y facilidad de manejo.

En este sitio se presenta el detalle de este último trabajo, proporcionando una visión técnica tanto de los componentes electrónicos del vehículo, como del software involucrado.

Durante los últimos meses de 2010, la segunda versión del vehículo logró la funcionalidad esperada como se puede ver en el siguiente video:

Introducción

El transporte es uno de los temas que ha cobrado gran relevancia en las ciudades modernas, producto de los problemas generados por el aumento de población, los atochamientos y la polución producida por los vehículos. Para resolver estos problemas se han impulsado diversas iniciativas que van desde las más clásicas, como el incentivo al uso de bicicletas y el transporte público, hasta las más sofisticadas, como el uso de nuevos vehículos pequeños y no contaminantes.

Entre los vehículos de estas características, destaca uno de tipo autobalanceado (capaz de mantener el equilibrio gracias a un sistema de control) conformado por una pequeña plataforma apoyada sobre dos ruedas laterales. El usuario ubica sus pies sobre la plataforma, la cual se equilibra gracias a la acción de los motores acoplados a las ruedas, realizando una acción de control similar a la del péndulo invertido. De esta manera, una ligera inclinación hacia adelante del usuario generará una acción de control que moverá al vehículo completo en esa dirección, realizando así la función de transporte.

El interés por el desarrollo de este tipo de vehículos se basa en: su tamaño, el cual le permite circular de manera amigable con otros transeúntes, sin requerir mayor infraestructura que la disponible para el uso de una silla de ruedas; su naturaleza es no contaminante por tratarse de un vehículo eléctrico; el funcionamiento silencioso del mismo y la facilidad de manejo, ya que carece de palancas, botones o mandos complicados para avanzar y retroceder.

Existe un único fabricante de este tipo de vehículos de manera comercial, la empresa Segway Inc. [1], cuyos productos poseen un alto precio como para ser usados masivamente. Este hecho, sumado a diversas iniciativas en distintos lugares del mundo para replicar esta tecnología, motiva el interés por desarrollar un vehículo autobalanceado en nuestro país, a un costo razonable y con prestaciones similares a la versión comercial.

Antecedentes

Durante el año 2009 se desarrolló el primer vehículo autobalanceado en Chile, diseñado y construido por el estudiante Leonardo Moreno [2]. Para ello se realizó un análisis y modelación de las características dinámicas del sistema, con el objetivo de obtener la información necesaria para generar una estrategia de control que permitiera el funcionamiento exitoso del vehículo. Posteriormente se abordaron las etapas de diseño e implementación de las distintas partes que componen el vehículo, como la electrónica de potencia, electrónica digital y aspectos mecánicos, entre otros.

El prototipo logró ser funcional en el sentido de que permitía a una persona transportarse de un lugar a otro, evitando obstáculos, con un nivel básico de maniobrabilidad. Además, el proyecto se realizó con costos razonables para un vehículo de estas características, lo que mostró que es factible realizar este tipo de diseños en Chile con resultados exitosos. Sin embargo, la curva de aprendizaje para la conducción del vehículo no fue la esperada, ya que se buscaba obtener resultados similares al Segway [1], que requiere de unos 5 minutos de práctica para manejarlo con comodidad. En este caso, eran necesarios alrededor de 30 minutos de práctica para poder manejarlo de forma segura y controlada, ya que una parte no menor del equilibrio dependía de la habilidad del usuario.

Se atribuyó gran parte de los problemas asociados al equilibrio del sistema a la Unidad de Medición Inercial (IMU), en particular, al giróscopo, el cual requería una constante corrección que no siempre funcionaba adecuadamente generando, en algunos casos, respuestas vigorosas que desestabilizaban al usuario. En consecuencia, se propuso el reemplazo de la unidad IMU por otra de mejor tecnología.

Respecto del control implementado, a pesar de tener un fundamento teórico desarrollado, su funcionamiento se basa más en la experimentación y calibración, por medio de ajustes de parámetros y curvas de comportamiento según las pruebas realizadas.

En conclusión, se construyó un vehículo funcional, con gran potencial pero aún con varios aspectos mejorables. El presente trabajo aborda dichos aspectos, continuando con el desarrollo del mismo vehículo, con el fin de permitir que pueda ser usado de forma más sencilla, segura y confiable.

Objetivos Generales y Específicos

Con el trabajo de esta memoria se persiguen los siguientes objetivos generales:

  • Mejorar el desempeño electrónico del vehículo previamente diseñado, en cuanto a eficiencia, seguridad y confiabilidad.
  • Aplicar una estrategia de control adecuada, que mejore la percepción del usuario y facilite el aprendizaje en la fase de conducción.
  • Mejorar la Unidad de Medición Inercial, instalando un nuevo giróscopo y filtrando apropiadamente las señales de entrada.
  • Dejar el vehículo convenientemente modificado para facilitar futuros desarrollos.

A partir de los objetivos generales mencionados anteriormente, se definen los siguientes objetivos específicos:

  • Consolidar en un diseño definitivo las modificaciones, reparaciones y mejoras realizadas durante el trabajo anterior, las que permitieron hacer del vehículo un prototipo funcional.
  • Incorporar medidas de protección que minimicen la posibilidad de fallas en la electrónica. En particular se debe evitar que los transistores de los puentes H reciban señales de encendido que puedan generar un cortocircuito.
  • Utilizar técnicas para la minimización de ruido electrónico en las señales del sistema.
  • Reducir los tiempos de conmutación de la electrónica de potencia, para así aumentar su eficiencia.
  • Construir una nueva unidad IMU independiente de la tarjeta de control, con instrumentos de mejor tecnología e interfaz digital.
  • Implementar una estrategia de control proporcional derivativa para la inclinación del vehículo de manera más sistemática, capaz de mantener la estabilidad y permitir su operación de manera sencilla.
  • Implementar técnicas de filtrado digital de las señales recibidas para mejorar la estimación de las variables físicas.
  • Generar un software de control de fácil intervención, utilizando un esquema modular, que facilite trabajos futuros en cuanto a estrategia de control. Además de incorporar un sistema de comunicación adecuado para el monitoreo del sistema en tiempo real.

Motor de Corriente Continua

El motor de corriente continua (C.C.) es la máquina eléctrica más antigua empleada en aplicaciones de potencia y tracción. Su sencillo principio de funcionamiento y gran versatilidad han permitido que siga vigente hasta nuestros días, a pesar de ser constructivamente más complejo que las máquinas de corriente alterna más modernas. Su velocidad fácilmente controlable, posibilidad de girar en ambos sentidos y capacidad de altos torques de partida, lo hacen ideal para aplicaciones de tracción.

El funcionamiento del motor de C.C. se basa en la fuerza generada por la interacción de un campo magnético inmóvil y uno generado por una bobina móvil, montada sobre un eje de rotación. La bobina móvil es alimentada a través de un sistema de escobillas y delgas para invertir la dirección de la corriente y, por consiguiente, el sentido del campo magnético generado, logrando que el torque resultante sea siempre favorable al sentido de giro (Figura 2.1a) como se menciona en Vargas 2006 [3]. En la Figura 2.1b se muestra la bobina dentro de un campo magnético fijo de dirección horizontal.

Figura 2.1: (a) Bobina elemental del motor de C.C. dispuesta sobre un eje de giro y alimentada a través de las escobillas. (b) Bobina montada en un rotor dentro de un campo magnético fijo cuya dirección es perpendicular al eje de giro.

El campo magnético de dirección fija generado por el estator puede ser producido por imanes permanentes, como en la Figura 2.1, o bien por otro enrollado.

Figura 2.2: Circuito equivalente de un motor C.C.

El circuito equivalente del motor C.C., mostrado en la Figura 2.2, se divide en dos partes: El circuito de excitación (izquierda) que genera el campo magnético inmóvil al que se expone el rotor; y el circuito motriz (derecha) en el que se representa al rotor (o armadura) como una fuente de tensión Ea.

La interacción entre ambos circuitos queda descrita por las siguientes ecuaciones:

donde Ea es el voltaje de armadura, G es un parámetro de la máquina llamado inductancia rotacional, ωr es la velocidad de giro del rotor y T es el torque generado. Finalmente Ic e Ia son las corrientes de excitación y de armadura, respectivamente.

Al ser Ra relativamente pequeña, se puede ver que la velocidad de giro depende fuertemente del voltaje de armadura Ea y de la corriente de excitación Ic. Sin embrago, para este trabajo se utilizan motores de imanes permanentes, por lo que el término Ic se considera constante.

El torque generado es directamente proporcional a la corriente de armadura, mientras que la presencia de Ra imposibilita un control directo y preciso de velocidad a través del voltaje aplicado a la armadura a pesar de su fuerte dependencia.

Control de Velocidad de Motores C.C.

Como se señaló anteriormente, existe una fuerte dependencia entre la velocidad del motor de corriente continua y el voltaje aplicado en sus terminales, sobre todo para el caso de imanes permanentes. Es por esto que, para controlar este tipo de motores, se busca construir fuentes de tensión variables continuamente.

La solución más sencilla es el uso de reóstatos para controlar el voltaje. Sin embargo, este componente limita fuertemente la corriente, además de disipar potencia innecesariamente, con la consiguiente alteración de las características de torque de la máquina.

Alternativamente, se pueden usar convertidores electrónicos para conseguir un control mucho más eficiente y versátil. Típicamente se utilizan circuitos reductores de voltaje o step-down para regular la velocidad de este tipo de motores, como el mostrado en la Figura 2.3, cuyo control de voltaje se realiza por medio de modulación de ancho de pulso (PWM) de la señal de encendido del transistor T1, el cual opera como interruptor, permitiendo el paso de corriente y cortándolo abruptamente a alta frecuencia, como se describe en Rashid 2001 [4].

Figura 2.3: Circuito reductor de voltaje aplicado al control de velocidad de un motor C.C.

Dada la naturaleza inductiva de los enrollados del motor, es necesario incorporar un diodo en paralelo con éste para permitir la circulación de corriente durante el tiempo en que el transistor no conduce, así se evitan sobretensiones potencialmente peligrosas. Finalmente, el condensador es capaz de proveer altas corrientes por cortos períodos de tiempo para el arranque y además estabiliza el voltaje Ve suprimiendo transientes.

La modulación de ancho de pulso consiste en el control del tiempo en que el transistor T1 conduce respecto al tiempo durante el cual está apagado para una frecuencia de conmutación fija. Se define el ciclo de trabajo como:

donde ton es el tiempo en que el transistor conduce y toff es el tiempo en que no conduce. T es el período de conmutación.

Luego, el voltaje medio en el motor (Vs) está dado por:

El control del ciclo de trabajo se puede realizar por medio de circuitos analógicos o digitales, permitiendo además la implementación de lazos de control para conseguir, por ejemplo, regular la corriente para obtener un torque deseado sin importar la velocidad.

Páginas:12345»

Categorías

Enlaces

Estadísticas


eXTReMe Tracker