Utilizando la libreria de Microchip para dsPICs: controlador PID

Publicado por Juan Marcano | Categoria: Electrónica, Software | Fecha: 05-04-2011

0

Los dsPIC son DSC, ello significa que combinan las características de un MCU junto a las bondades de un DSP,  se caracterizan fundamentalmente por la prescencia de A/D rápidos (incluso con DMA en la familia 33f), presencia  de módulos especializados de PWM, y enfocados principalmente a la necesidad de operaciones matemáticas cíclicas a alta velocidad sobre todo en aplicaciones comúnmente denominadas  de ¨tiempo real¨, en fin: los DSC son muy versátiles, aunque la limitante a su uso y tal ves por ello su poca popularidad es:

–          Como todo micro nuevo requiere cierto tiempo de aprendizaje, y tal vez su uso no se justifique en la mayoría de aplicaciones, siendo tal vez más conveniente el uso de la familia de PICs 24 (muy versátil y funcional) o incluso uC más económicos si es que ya se ha acostumbrado, sin embargo la familia de PIC24 utiliza el mismo compilador C30 de MICROCHIP y la mayoría de módulos del los dsPICs guardan muchas similitudes con los uC de la familia de PICs 24 por lo que el salto de PICs 24 a dsPICs no resulta para nada complicado.

–          El costo es obviamente mayor para el dsPIC.aunque a veces resulta contradictorio que uC de la familia 18 con un rendimiento mucho menor, módulos menos versátiles y a su vez complicados de configurar, con mayores limitantes y de solo 8 bits tengan costos iguales e incluso mayores que los de familias de microcontroladores más versátiles e incluso más sencillos de programar como la familia 24, al menos en el super-limitado mercado nacional.

La familia de PIC24 comparte junto a los dsPIC el mismo compilador C30 ofrecido por microchip que en su versión académica puede dar resultados más que satisfactorios, con la típica posibilidad de incluir código en assembler si se considerase necesario. En fín cuestión de opiniones, de probar y comparar.

Dejando ya de lado esta pequeña introducción vayamos al grano y al verdadero motivo de este artículo:

Como utilizar un dsPIC para implementar un controlador PID?

La respuesta es simple: microchip nos brinda una librería de algoritmos que permite hacerlo haciendo uso del motor DSP y brinda el código fuente por lo que la podemos modificar si se nos antoja.

Es solo una de las muchas librerías que se incluyen junto al compilador C30, que como dijimos tiene un único propósito: aumentar la velocidad de las operaciones matemáticas. Entonces si deseamos implementar un PID con un dsPIC no es lo mas eficiente el uso del cálculo del controlador utilizando las instrucciones MCU (aunque no por ello inválido),pero un programa más eficiente debe hacer uso del motor DSP que lo disminuirá el tiempo ocioso de nuestro microcontrolador dejándolo libre para ejecutar otras tareas, despues de todo debemos sacarle el jugo al DSC y ello no resulta tan difícil:

La verdad es que aquí no hay ningún misterio, aparece documentación acerca del uso de la librería  en varios trabajos publicados en la red, en varios foros y en los documentos de microchip que suelen tener muchas versiones y la intención de este post es condensar un poco esa información.

Es necesario acotar que todos los archivos necesarios están en la carpeta del compilador C30 que ya deberia haber instalado, explore en la carpeta de instalación: los siguientes archivos y añádelos a tu proyecto en el MPLAB, o utilice el ¨Linker script¨ que viene con el ejemplo CE019_PID que a fin de cuentas es el que explica claramente con un ejemplo como se emplea la librería y que archivo debe añadir y en general todas las instrucciones a seguir.

El documento 16Bit_Language_Tool_Libraries Chapter 2–> control functions , brinda una introducción muy didáctica y condensada acerca de los PID, y explica con más detalle las 4 funciones en lenguaje C para implementar el PID, indicando inclusive el numero de ciclos que toma la ejecución de cada función.

Con estos 2 documentos debería ya poder empezar!

Como comentario adicional:

No olvide incluir la cabecera <dsp.h>  (echele un ojo al final del código) aunque personalmente prefiero en cualquier proyecto incluir todos los archivos de código fuente y cabeceras dentro de la carpeta del proyecto en el MPLAB.

Para mayor información aún nada mejor que revisar y estudiar un poco el código fuente de la funciones para PID que está escrito en assembler y está contenido en el archivo PID.s, nótese el uso de las instrucción MAC (multiplica y acumula) propia de los DSP. Las instrucciones en assembler para el dsPIC están aquí.

También es necesario el archivo dspcommon.INC

Para el uso de las instrucciones DSP es necesario estar claro con el uso de números fraccionales de 16 bits, también conocido como formato Q15, no es más que numeración de ¨punto fijo¨ (en analogía a punto flotante) pues la librería y el motor DSP emplea este formato. Para documentarse mejor acerca del formato Q15 revise en este este documento, es otra versión del documento ¨16 bit lenguaje tools¨, también tocan bien el tema en este libro.

Entrenadora para dsPIC30F3011

Publicado por Juan Marcano | Categoria: Electrónica, Entretenimiento | Fecha: 20-02-2011

0

Luego de un poco de experiencia con estos microcontroladores con el proyecto del brazo robot y conexiones al protoboard muy propensas a fallas de conexión, la siguiente placa (nada del otro mundo) ha sido concebida fundamentalmente para facilitar programación, depuración, realizar pruebas e incluso como un módulo ya listo para emplear en tus proyectos.


Para ser utilizada junto a los microcontroladores dsPIC30F3011 y dsPIC30F4011 (tal vez sea compatible con otros PICs de 40 pines), la placa posee las siguientes características:

  • Conector ISCP: para conexión directa de un programador/depurador pickit2 o similar, basta conectar tu pickit para empezar a programar, depurar y realizar pruebas.
  • Todos los pines del microcontrolador disponibles a excepción de 2 (necesarios para la conexión de osciladores externos), aunque dependiendo de sus necesidades se pueden obviar terminales y reducir costos.
  • Los terminales del microcontrolador se han separado en grupos: Con enfoque hacia el uso de PWM y lectura de datos analógicos, 3 de las entrada analógicas (AN6, AN7 y AN8) del microcontrolador han sido provistas de terminales ¨tipo tornillo¨ para facilitar la conexión y desconexión, junto con su respectiva alimentación para tomar datos analógicos fácilmente (desde un potenciómetro por ejemplo), de igual manera todas las salidas de PWM y las entradas de alimentación, están disponibles mediante este tipo de terminales.
  • Pulsador de RESET y LED indicador de encendido.
  • Juan Marcano (Admin)

    email: juan@marcano.net.ve

Comprar, tirar, comprar (2011)

Publicado por Juan Marcano | Categoria: Uncategorized | Fecha: 18-02-2011

1

Entretenido documental sobre la «obsolescencia programada».

Las ya desaparecidas bombillas incandescentes no duraban 1000 horas de causalidad, de hecho originalmente  duraban mucho más, pero en nombre de las ganancias los fabricantes acordaron que el tiempo de vida máximo sería de 1000 horas.

Cuantas impresoras ha comprado ya?

Quiere ver a donde va a parar esta basura?

+ Android, Motorola A853

Publicado por Jose | Categoria: Hardware | Fecha: 09-02-2011

1

Esta semana he estado probando el  motorola A853, y me gustó la idea de hacer una comparación de los apectos mas notables entre este equipo y el HTC Magic.

El  A853 es un teléfono de «gama alta» en la linea de motorola el cual esta dotado con muy buenas características, como primera impresión notamos que es un teléfono de un tamaño considerable y algo pesado. Con relación al software, este trae android 2.0 de fabrica, el cual podemos actualizar oficialmente a 2.1.  Algo notable de motorola es que no «personalizan» el sistema operativo aportando funcionalidades como lo hace HTC con su interfaz «sense» la cual es  excelente, sin embargo con un poco de paciencia lo podemos solventar, esto buscando contenido de terceros en la larga lista de software, la maravilla de android: el  market. Actualmente realicé una actualización de software con una rom no oficial hacia android 2.2 (froyoVE) , la cual me ha resultado muy bien, he estado llenando esos vacíos que tenia con el sistema operativo aportado por motorola. Algo que vale la pena comentar, es que si tienes un A853 y un Magic, ambos originales salidos de la caja el magic proveerá una mejor experiencia de usuario a pesar de poseer android 1.5, es decir su sistema operativo de fabrica esta mejor trabajado, esto es muy importante si eres una persona a la que no le interesa hacer actualizaciones o cambios a ROMs personalizadas.  Un aspecto a tomar en cuenta del A853 es su teclado fisico el cual realmente he utilizado muy poco debido a la costumbre que traigo del magic el cual posee teclado tactil 100%


He encontrado problemas con el asunto de proteger físicamente el teléfono, el magic trajo una funda de cuero a la medida, el A853 viene sin proteccion alguna y por lo grande de la pantalla esta muy expuesta a rayones o golpes, solo le he colocado un protector de pantalla el cual tengo mientras encuentro algo mejor, ya que este protector es del tipo «privado» para que no sea visible la pantalla desde los lados y esto reduce la calidad de la imagen notablemente. Ni hablar de carcasas o fundas protectoras ya que son difíciles de encontrar.

Hay que decir que si te gusta android, estos dos equipos son excelentes opciones compra en Venezuela, los cuales están a precios muy bajos comparados a los de un blackberry los cuales en mi opinión están muy por debajo en nivel y funcionalidad en comparación con un equipo de estos, pero bueno ya sabemos que acá en Venezuela el asunto de los teléfonos celulares es pura moda.

Si estas algo bajo de presupuesto puedes elegir el HTC magic el cual no te va a dejar mal, y ademas lo hay a montones en las tiendas ya que nadie sabe lo poderoso del teléfono y el sistema operativo, si quieres ir un poco mas allá y no te importa la idea de leer bastante en Internet para luego actualizar tu teléfono elige el A853, el cual lamentablemente solo queda disponible para clientes corporativos bajo pedido.

Algo muy importante que quiero reconocer es el esfuerzo que se ha tomado el equipo de Androidve para hacer los tutoriales y videos donde te muestran los pasos detalladamente para los procesos de actualizacion tanto del magic, milestone y otros equipos vendidos en Venezuela. Realmente son muy pocos los que tienen una iniciativa como esta en nuestro pais.

Tabla comparativa

Motorola A853 HTC Magic Comentarios
Tamaño y peso 11.5×5.9×1.4cm 165 gramos 11.3×55.5×1.3, 116 gramos A853 mas grande y pesado
Pantalla 3.7 pulgadas 3.2 pulgadas la pantalla mas grande del A853 incrementa notablemente la facilidad de escritura con teclado táctil
Funciones Wi-fi, bluetooth, GPS, acelerometro Wi-fi, bluetooth, GPS, acelerometro Similares
Camara 3.2 megapixeles 5 megapixeles Mejor camara en A853 + flash led. De igual manera las fotos en los dos equipos deben tomarse con calidad de luz optima para mejores resultados
Botones botones laterales físicos, inferiores táctiles laterales e inferiores son botones físicos El Magic resulta mas cómodo para realizar acciones con sus botones inferiores, ademas de poseer trackball
Conexiones Micro USB y conector de 3.5mm para manos libres/auriculares Conector único Mini USB A853 con ventaja al poseer conector aparte para audio, el Magic tiene un conector Mini USB (mas robusto) único para datos y audio
<script type=»text/javascript»><!–
google_ad_client = «pub-1885873472356662»;
/* HORIZONTAL ONLY TEXT non image */
google_ad_slot = «5769129437»;
google_ad_width = 468;
google_ad_height = 60;
//–>
</script>
<script type=»text/javascript»
src=»http://pagead2.googlesyndication.com/pagead/show_ads.js»>
</script>

El buen consumidor

Publicado por Juan Marcano | Categoria: Uncategorized | Fecha: 07-02-2011

0

Recuerda: La regla de oro del consumidor es concentrarse en las cosas que quieres en vez de las que realmente necesitas.

Fragmentos: 1984

Publicado por Juan Marcano | Categoria: Libros y manuales | Fecha: 20-01-2011

0

Tomado textualmente de wikipedia:

«Mil novecientos ochenta y cuatro (más conocida como 1984) (en inglés Nineteen Eighty-Four) es el título de una novela política de ficción escrita por George Orwell en 1948 y editada en 1949. En la novela el estado omnipresente obliga a cumplir las leyes y normas a los miembros del partido totalitario mediante el adoctrinamiento, la propaganda, el miedo y el castigo despiadado.

La novela introdujo los conceptos del siempre presente y vigilante Gran Hermano, de la notoria habitación 101, de la ubicua policía del pensamiento y de la neolengua, adaptación del inglés en la que se reduce y se transforma el léxico –lo que no está en la lengua, no puede ser pensado-. Muchos comentaristas detectan paralelismos entre la sociedad actual y el mundo de 1984, sugiriendo que estamos comenzando a vivir en lo que se ha conocido como sociedad Orwelliana.»

Fragmentos tomados de la novela:

(los siguientes párrafos son tomados del documento ¨Teoría y práctica del colectivismo oligárquico¨ hallado por el protagonista de la novela)

CAPITULO I
La ignorancia es la fuerza

«Durante todo el tiempo de que se tiene noticia probablemente desde fines del período neolítico ha habido en el mundo tres clases de personas: los Altos, los Medianos y los Bajos. Se han subdividido de muchos modos, han llevado muy diversos nombres y su número relativo, así como la actitud que han guardado unos hacia otros, ha variado de época en época; pero la estructura esencial de la sociedad nunca ha cambiado. Incluso después de enormes conmociones y de cambios que parecían irrevocables, la misma estructura ha vuelto a imponerse, igual que un giroscopio vuelve siempre a la posición de equilibrio por mucho que lo empujemos en un sentido o en otro.

Los objetivos de estos tres grupos son por completo inconciliables. Los Altos quieren quedarse donde están. Los Medianos tratan de arrebatarles sus puestos a los Altos. La finalidad de los Bajos, cuando la tienen -porque su principal característica es hallarse aplastados por las exigencias de la vida cotidiana-, consiste en abolir todas las distinciones y crear una sociedad en que todos los hombres sean iguales. Así, vuelve a presentarse continuamente la misma lucha social. Durante largos períodos, parece que los Altos se encuentran muy seguros en su poder, pero siempre llega un momento en que pierden la confianza en sí mismos o se debilita su capacidad para gobernar, o ambas cosas a la vez.

Entonces son derrotados por los Medianos, que llevan junto a ellos a los Bajos porque les han asegurado que ellos representan la libertad y la justicia. En cuanto logran sus objetivos, los Medianos abandonan a los Bajos y los relegan a su antigua posición de servidumbre, convirtiéndose ellos en los Altos. Entonces, un grupo de los Medianos se separa de los demás y empiezan a luchar entre ellos. De los tres grupos, solamente los Bajos no logran sus objetivos ni siquiera transitoriamente. Sería exagerado afirmar que en toda la Historia no ha habido progreso material. Aun hoy, en un período de decadencia, el ser humano se encuentra mejor que hace unos cuantos siglos. Pero ninguna reforma ni revolución alguna han conseguido acercarse ni un milímetro a la igualdad humana. Desde el punto de vista de los Bajos, ningún cambio histórico ha significado mucho más que un cambio en el nombre de sus amos.»

CAPITULO III

La guerra es la paz

«Sin duda, era posible imaginarse una sociedad en que la riqueza, en el sentido de posesiones y lujos personales, fuera equitativamente distribuida mientras que el poder siguiera en manos de una minoría, de una pequeña casta privilegiada. Pero, en la práctica, semejante sociedad no podría conservarse estable, porque si todos disfrutasen por igual del lujo y del ocio, la gran masa de seres humanos, a quienes la pobreza suele imbecilizar, aprenderían muchas cosas y empezarían a pensar por sí mismos; y si empezaran a reflexionar, se darían cuenta más pronto o más tarde que la minoría privilegiada no tenía derecho alguno a imponerse a los demás y acabarían barriéndoles. A la larga, una sociedad jerárquica sólo sería posible basándose en la pobreza y en la ignorancia. Regresar al pasado agrícola -como querían algunos pensadores de principios de este siglo- no era una solución práctica, puesto que estaría en contra de la tendencia a la mecanización, que se había hecho casi instintiva en el mundo entero, y, además, cualquier país que permaneciera atrasado industrialmente sería inútil en un sentido militar y caería antes o después bajo el dominio de un enemigo bien armado.»