miércoles, 15 de febrero de 2012

Pedidos y compras

He decidido dejar de mostrar los pequeños avances en el diseño y creación de los esquemáticos para mostrarlo más tarde todo junto.Ya tengo todo el esquema del circuito y el layout del PCB, ahora sólo me falta retocar las pistas y comprobar que no hay ningún error. Cuando lo haga, lo publicaré y lo mandaré fabricar.
Mientras tanto, he pedido unas muestras (free samples and shipping) a Microchip. Es un curioso servicio que no conocía y que hasta que no lleguen las muestras a mi casa no me lo podré creer. He pedido un 18F4550 para el primer prototipo de Genuino Acantha y un 12F752 para futuros proyectos.
Además he comprado el programador Pickit 2, muy profesional y con una gran cantidad de utilidades por un módico precio 37€ incluido transporte y VAT. Cuando lo tenga entre mis manos podré contar más al respecto.
Por ahora esto es todo!

jueves, 9 de febrero de 2012

Esquema del circuito de programación ICSP y reset

El esquema correspondiente a los módulos de programación ICSP y reset es el que podéis ver a continuación:
Puesto que el pin de reset y de la tensión de programación es el mismo, hay que aislar la alimentación de 5V (el reset es activo a nivel bajo)y la Vpp. ¡OJO, porque mientras se está programando habrá que tener cuidado de no pulsar el botón de reset!
Se ha añadido una resistencia de 10KOhm a la pata de PGM puesto que en algunos casos es necesario que el valor de tensión en esta pata durante la programación sea 0v.
También se va a permitir el reset desde los módulos exteriores, por lo que hay que se ha expuesto el pin 1 del micro (Reset o Vpp) a otros módulos por medio de los conectores de alimentación, que ahora quedarían del siguiente modo.

Esto es todo por hoy, mañana, quién sabe, lo mismo por ser viernes me estoy un poco más quieto.

Diseño del bloque de programación y de RESET

Ahora toca diseñar el bloque de programación y de RESET. El diseño se va a hacer conjunto puesto que tienen partes en común y hay que tenerlo en cuenta. En concreto, la tensión de programación ICSP y la señal de reset comparten un pin del micro (pin 1).
El bloque de programación no tiene más que un grupo de jumpers para conectar el programador (ordenados por supuesto) y la unión entre estos y los pines del micro correspondientes.
He decidido no aislar las entradas del programador y los pines de los puertos que salen al exterior, la razón: sencillez. Con tener un poco cuidado a la hora de conectar dispositivos que se pueden dañas a los pines compartidos es suficiente.
Por lo tanto, lo más complicado será aislar el circuito de reset y la tensión de programación. Posiblemente con incluir un diodo y una resistencia sea suficiente.
Además se va a incluir un pin para posibilitar a los módulos que puedan realizar un reset. Posiblemente se incluya en el grupo de pines de la alimentación.
Lo próximo será el esquema de estos dos módulos.

miércoles, 8 de febrero de 2012

Esquema de alimentación Acantha.

El primer diseño del esquemático de el bloque de alimentación quedaría del siguiente modo:

Se puede ver el conector jack (J1) y la entrada Vin procedente de los módulos. El primer Jumper que aparece (J1) es para seleccionar si regular (1-2) o no (2-3) la tensión procedente exterior. El otro Jumper (J7) es para seleccionar si alimentar el circuito por USB (2-4) o por la fuente externa (1-3) o si alimentar el USB con la fuente externa(1-3 y 2-4).

El diodo sirve para evitar que la tensión fluya en dirección opuesta a la esperada.

Se ha incorporado un Fusible de 500mA, un led para saber si está encendido el sistema, condensadores para eliminar ruido, el condensador que cuelga de Vusb del micro y los pines de alimentación para los módulos (son dos y los pines son inversos a propósito).

Lo siguiente en diseñar es lo que más rabia me de cuando me ponga a ello!

Diseño alimentación Acantha

Hoy toca el diseño de la alimentación del módulo principal Acanthara. El bloque de alimentación debe permitir diferentes fuentes de alimentación, por lo que tiene que tener una parte configurable para permitir diversas fuentes de alimentación.
El micro será alimentado con 5v, por lo que esta será la tensión principal del módulo. La máxima rondará los 500mA, parece alta, pero creo que es un valor aceptable.
Para proteger las fuentes de alimentación de sobrecorrientes, se pondrá un fusible de 500mA a la entrada de la alimentación al sistema.
Las fuentes de alimentación se pueden clasificar en dos grupos: alimentación externa y USB.
  • Se entiende por alimentación externa la que proviene de baterías, conversores AC/DC y otros dispositivos. Va a exitir un conector jack (como el de los conversores) en la placa principal ya que es sencillo conectar conversores y baterías. Además se extenderá un pin para la conexión de los módulos para posibilitar que estos alimenten el sistema. Las dos fuentes exteriores entonces serán: Vjack (conector jack) y Vin (alimentación proveniente de los módulos). 
  • La alimentación USB vendrá de un conector USB (tipo B seguramente) añadido al módulo principal. También se tiene que poder derivar la tensión de alimentación externa al conector USB, por si en alguna aplicación fuera necesario alimentar el puerto. Con todo esto, esta conexión tiene que ser bidireccional. 
Se pondrá un regulador de tensión para la alimentación externa, aunque se podrá elegir la configuración sin regulador.
CONFIGURACIÓN
Para la configuración se van a incluir una serie de jumpers. En función de los pines, se tendrá una configuración u otra. Todas las posibilidades tienes que ser:
  • Alimentación externa.
    • Regulada.
      • Puerto USB alimentado. [ExtRegUSB]
      • Puerto USB sin alimentar. [ExtRegNUSB]
    • No regulada.
      • Puerto USB alimentado. [ExtNRegUSB]
      • Puerto USB sin alimentar. [ExtNRegNUSB]
  • Alimentación USB. [NExtNRegUSB]
Para esto se necesitarán 2 Jumpers: uno de tres posiciones (JP1) y otro de cuatro (JP2). Estos jumpers se unirán con "juntas"(no se como se llama a lo que se usa para unir dos pines) en función de la configuración seleccionada. 
En la figura se puede ver un diagrama simplificado de los componentes del bloque de alimentación. Las flechas rojas indican la posición de las "juntas".

En esta tabla se puede ver las configuraciones posibles (cualquier otra configuración podría dañar el sistema).

A los módulos que se conecten al principal, se les facilitará tres pines de alimentación: 5v, GND y Vin. Vin servirá tanto de entrada de alimentación como de salida, por lo que en el diseño de los módulos habrá que tener esto en cuenta.

Creo que esto es todo lo que puedo decir del diseño de la alimentación, ahora falta crear el esquemático.

lunes, 6 de febrero de 2012

Arquitectura del módulo principal. Genuino Acantha.

El primer paso a dar en este proyecto es buscar un nombre para la primera versión del módulo principal de Genuino. Para empezar puede estar bien "Genuino Acantha".
Una vez elegido el nombre, vamos con cosas más serias: decidir los bloques que formarán parte de este Genuino Acantha.
Los bloques que contendrá serán:

  • Bloque del microcontrolador: El cerebro de este módulo y de todos los que se unan a este. Debe ser suficientemente completo para poder cubrir las necesidades de diferentes proyectos sin pasarnos de la raya. Ni cortos ni largos.
  • Bloque de alimentación: tengo pensado incluir en este bloque una parte de regulación de tensión, seguramente a 5v. Tendrá unos pines para poner una alimentación externa no regulada (pila) y otros que sirvan para dar al exterior la tensión regulada o para introducir en el sistema una tensión ya regulada.
  • Bloque USB: he decidido incluir un módulo USB a la placa principal, lo que permitirá alimentarse por este medio y abrirá la puerta a un gran número de proyectos.
  • Bloque de monitorización o testeo: consistirá en unos led que permitan hacer pruebas sin módulos adheridos.
  • Bloque de oscilador: la idea es poner un cristal para poder usar frecuencias elevadas.
  • Bloque de programación: permitirá la programación ICSP. Tengo que decidir si aislar las entradas de programación o simplemente tener cuidado a la hora de programar con circuitos conectados.
  • Bloque de RESET: La idea es poner un pulsador para hacer reset y dar la posibilidad a otros módulos a realizar un reset.
  • Bloque pinout: este es el bloque más complicado, ya que es el que permite conectar los diferentes módulos. Es el que va a aportar la mayor flexibilidad al sistema.
Aunque parece evidente, este sería el diagrama de bloques del Genuino Acantha:

Las próximas entradas serán los diseños de cada uno de estos bloques.

PIC 18F4550

Como ya adelanté en la primera entrada, el corazón de este proyecto va a ser un microcontrolador de Microchip, el PIC 18F4550.

Creo que lo que más llama la atención de este PIC es el módulo USB, pero tiene más características que han hecho que fije la atención en este micro.
  • 32KB de RAM.
  • 40 pines.
  • Tres modos de funcionamiento para ahorrar energía.
  • Módulos de bajo consumo.
  • Una estructura de oscilador de gran flexibilidad y muy completo (oscilador externo, PLL, oscilador interno...).
  • Altas frecuencias de funcionamiento (hasta 48Mhz).
  • Cuatro temporizadores.
  • Tres interrupciones externas.
  • Dos módulos CCP.
  • USART
  • 13 canales analógicos de 10-bit cada uno.
  • ICSP
  • Tropecientos puertos de entrada salida digitales...
En fin, que es un pepino, y me apetece no quedarme corto con el micro, que es lo único que puede limitar el alcance de los diferentes proyectos.
Además, en la red se dispone de mucho material relacionado con este micro, no sólo piezas de código, sino también inumerables foros donde se resuelven dudas y otros proyectos montados con este micro.
La idea inicial para programar este PIC es por medio de ICSP que incorpora mediante un programador compatible. Lo del programador se tratará en otra entrada, junto con el entorno de programación y otros asuntos relacionados.