A continuación se muestra la placa controladora NanoMotor basada en la Arduino Nano R3. Esta placa usa un módulo completo que contiene el mismo µControlador AVR ATmega328 usado en la Arduino UNO, salvo que en formato de montaje superficial SMD. El uso de este módulo se justifica por su bajo costo, teniendo en cuenta que además ya incluye el adaptador USB a Serial TTL basado en el chip CH340. La placa NanoMotor contiene puertos analógicos y digitales conectados en forma directa (como en la Serialduino Direct), y también tiene el controlador de motores de corriente continua L293D (como en la shield Motor). Se trata de una placa compacta con prácticamente todos los tipos de puertos del sistema FreeSensors, pensada para ser alimentada con pilas (no contiene regulador de voltaje), y cuya única desventaja es que no es expansible con las shields del sistema, ya que no posee la forma física de la Arduino UNO, ni expone los pines hacia el exterior.
Puertos incluidos:
Para el diseño se tuvieron en cuenta los diseños respectivos de la shield Direct y la shield Motor. La diferencia con una shield Direct es que solamente se exponen los dos primeros puertos digitales y los dos primeros analógicos, coincidiendo en ambos casos los pines usados: Para los digitales se usan el D3 y D4 y para los analógicos se usan el A0 y A1. En la librería de FreeSensors (versión 0.9.5 o superior) se permite usar como tercer puerto digital el pin 13 (conectado al led de la Arduino Nano), y se permite usar como tercer y cuarto puertos analógicos a las entradas A6 y A7 que son propias de la Nano (no están en la UNO) y que solo pueden usarse como entradas analógicas. Esos pines A6 y A7 en el diseño no están conectados a nada, pero podrían conectarse fácilmente de ser necesario para proyectos especiales.
En cuanto al manejo de motores, se ha incluido el mismo circuito de control de la shield Motor para 2 motores de corriente continua, usando el circuito integrado L293D. La alimentación nominal es con 4 pilas AA, por lo que se mantiene un voltaje nominal de 6V para los motores. En el diseño de la PCB se mantienen caminos separados para la alimentación de los 2 motores CC y de los 2 servos, respecto a la alimentación de la propia Nano. En cuanto al control de velocidad de los motores se usan los mismos pines PWM que en la shield Motor (D5 y D6) que por defecto están conectados a pullups, de modo que si no se especifica una velocidad por programa, los motores funcionarán a la máxima velocidad. En cuanto a los servos se usan los mismo pines de control D9 y D10 que en la shield Motor. Se ha colocado un capacitor electrolítico mas grande, de 100 µF, bien cerca de la pata de alimentación del L293D para mejorar los transitorios de consumo de corriente.
En cuanto a la alimentación, por simplicidad se evita el uso de reguladores o step-ups. Por lo tanto, la alimentación de las 4 pilas AA va directamente a la entrada de +5V de la Arduino Nano, sin pasar por el regulador de voltaje interno (cuya entrada en Vin). Solo se han colocado diodos de protección para evitar daños por las pilas mal colocadas. En las pruebas realizadas, se pudo alimentar con 4 pilas alcalinas o con 4 pilas recargables sin problemas. En esta placa se deberá conectar un portapila 4xAA y una llave interruptora opcional (los pines de la llave pueden puentearse para tener la placa siempre conectada). El led de la placa indica alimentación a los motores, y el led en la propia Arduino Nano indica alimentación a la placa controladora. En el caso de alimentación por el puerto USB durante la programación, esta alimentación no alcanzará a los motores, pudiendo programar robots con motores sin peligro de que se muevan, y sin peligro que dañen el puerto USB de la computadora por consumo excesivo.
Los archivos de PCB lado cobre y de carátula son archivos SVG (Scalar Vector Graphics) que pueden ser visualizados en el navegador web. Para editarlos e imprimirlos se puede usar el programa Inkscape. Para visualizar correctamente los textos en Inkscape se deben tener instalados previamente los fonts DroidSans y OCR-A. El PCB lado cobre es el visto desde arriba (top view), es el necesario para ser impreso en láser y ser aplicado como transfer a la placa PCB, de modo que visto desde abajo las palabras se lean correctamente.
Listado de Materiales: