domingo, 20 de marzo de 2016

Programación de un ATtiny85 con Arduino

Algunas veces he tenido ideas para proyectos en las que el circuito a aplicar era bastante simple pero no por eso menos útil. Por poneros un ejemplo, imaginemos una persiana con el motor de subida y de bajada ya incorporado. Si queremos que frente a una determinada luz ambiente la persiana se adapte para la entrada de luz natural en la habitación, solo necesitamos, aparte del Arduino, un LDR (resistencia que varía en función de la luz que le llega) y un relé que haga de "llave de paso" para activar o desactivar el motor. Si además de la sencillez del circuito tenemos poco espacio disponible puede que una placa Arduino no sea la mejor opción para gobernar el circuito. Existe una alternativa y es usar un microcontrolador puro y duro. Por puro y duro me refiero sin nada de electrónica adicional como en las placas que ya conocemos que vienen con conectores USB, Jack de alimentación, contactos para todos los pines, algún led incorporado... Me estuve informando acerca de esto y vi que uno bastante versátil es el ATtiny85 de Atmel (fabricante del ATmega que llevan casi todos los Arduinos). Sus dimensiones son ridículas como se puede ver en la foto que os dejo más abajo, y las prestaciones, aunque son más limitadas, pueden ser suficientes para el proyecto que tengamos en mente.

ATtiny85 sobre una moneda de 1 céntimo de euro.
Muchas veces puede ser útil incluso combinar un circuito Arduino con un ATtiny. He visto por Internet que hay gente que lo utiliza para hacer un hardware-reset de Arduino y evitar así detenciones inesperadas al llegar el reloj interno a cierto número de pulsos. Esto sucede porque una placa Arduino no puede estar funcionando de por vida sin hacer un reset de vez en cuando. La variable interna en la que se almacena el valor que leemos utilizando la función millis() es de 32 bits lo que se traduce en que puede contar hasta 4.294.967.296 (2^32) (en milisegundos) que son casi 50 días. Al llegar a esa cantidad, según tengo entendido (nunca la he tenido 50 días funcionando), se bloquea y para prevenir esto es para lo que se utiliza, con ayuda de un relé, el hardware-reset que no es otra cosa que apagar y encender Arduino mecánicamente.

Y, ¿qué es lo bueno de este microcontrolador? ¿por qué lo he escogido? La respuesta es muy sencilla: porque lo podemos programar en lenguaje Arduino con el IDE que hemos utilizado siempre, utilizando el propio Arduino UNO (no he probado otros de momento) como programador sin necesidad de soldaduras o montajes de cables para conectarlo al ordenador por puertos paralelos, USB... Todo muy sencillo con apenas unos retoques en la configuración del IDE.

Antes de nada, estas son algunas de las características del micro del que os hablo:
  • Dimensiones: 0.9 x 0.7 cm. aprox.
  • Alimentación a 5V.
  • 5 entradas/salidas de las cuales 2 son PWM.
  • Memoria de programa: 8 kB.
  • Memoria EEPROM: 512 bytes.
  • Memoria SRAM: 512 bytes.
  • Reloj interno a 1 o a 8 MHz, ampliable hasta 20 MHz con cristal externo.
Diagrama del patillaje del microcontrolador

Aquí dejo el datasheeet para consultar más datos si fuera necesario: Datasheet ATtiny25/45/85

Configuración de nuestro Arduino UNO como grabador

Como dije antes, elegí este microcontrolador por poder programarlo con Arduino sin necesidad de montajes complicados ni de placas grabadoras adicionales, por lo tanto, vamos a preparar nuestro Arduino como grabador. Para ello abrimos el IDE (que como siempre, os dejo el enlace al final de la página) y nos vamos a Archivo > Ejemplos > ArduinoISP. Verificamos la configuración de subida (Arduino/Genuino UNO en el puerto correspondiente) y cargamos. Ya tendremos configurada nuestra placa como un programador de microcontroladores.



Conexión del microcontrolador

Algo muy importante y que tendremos que tener en cuenta durante todo el proceso de manipulación del micro es que no da igual la posición en la que lo conectemos. Conectándolo mal podríamos quemarlo. Según el esquema de patillaje que os dejo junto a las características del chip más arriba, cada patilla tiene su número y la orientación viene dada por una muesca en el dentro del lado pequeño del micro o por un punto troquelado. En la imagen en la que aparece sobre una moneda de un céntimo se puede apreciar lo que digo (está al lado del triángulo que hay en la inscripción). El pin de la esquina en la que se encuentra ese "punto" sería el 1 (reset).

Para conectar el ATtiny85 yo me fabriqué una PCB, que se puede ver en algunas imágenes de la entrada de la fabricación de PCBs, con el fin de tener cierta facilidad a la hora de reprogramar el chip en caso de necesitarlo y no andar haciendo montajes en una protoboard aparte. Dejo al final del post el archivo pdf de la placa para que quien quiera pueda reproducirla siguiendo la entrada que mencionaba antes. Aún así, muestro también un esquema de conexionado para poder programarlo sin tener la PCB que decía.


Aunque el recortado de la placa deja que desear, cumple su función


Condensador de 10µF/16V. Imagen hecha con Fritzing.
A partir de este diagrama se pueden hacer algunas observaciones. Los leds no influyen en el grabado del sketch en la memoria del micro, son simplemente "notificaciones visuales". El verde es el de alimentación, el rojo nos indicará si se produce algún fallo en el proceso de grabado y el amarillo nos informará de cuando se está programando el chip. Por otra parte, el condensador (10µF/16V), según he leído, es necesario conectarlo entre el pin reset y GND de nuestro Arduino para evitar un auto-reset que se produce, en teoría, a la hora de cargar el sketch en el ATtiny85. Yo por ejemplo no lo puse y no tuve ningún problema para programarlo. Si os diese fallo, la solución es tenerlo en cuenta y colocarlo. Ojo a la polaridad, que es electrolítico y no da igual ponerlo en un sentido que en otro (podría incluso explotar si lo conectásemos al revés). Por tanto (y así es como programé el mío), se puede omitir tanto la parte del condensador como la de los leds, siempre y cuando no dé fallos luego, que de ser así tendríamos que incorporar al menos el condensador.

Configuración del IDE y subida del ejemplo "Blink"

Para la preparación del IDE tenemos que instalar los "drivers" de los microcontroladores para que aparezcan en el apartado "Boards" del programa. Para ello nos vamos a Archivo > Preferencias, copiamos el siguiente enlace en "Additional Boards Manager URLs" y damos a "Ok".

Este es el enlace:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Enlace: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Ahora nos vamos a Herramientas > Placa > Boards Manager y dejamos que busque y actualice los archivos. Esto tardará unos segundos. Si bajamos al final en la lista de packs de placas encontraremos la attiny de David A. Mellis. Seleccionamos la última versión disponible, en mi caso es la 1.0.1, y le damos a "Install". Cerramos y ya tendremos los micros instalados (digo los micros porque vienen cuatro en ese paquete, el ATtiny 44, 45, 84 y 85). Puede que sea necesario reiniciar el IDE para poder ver los ATtiny.



Para hacer la prueba vamos a subir el ejemplo Blink. Para ello, desde Archivo > Ejemplos > 01.Basics > Blink, lo abrimos y cambiamos en el código los "13" por "0". Esto es porque esos pines están definidos para el Arduino UNO, concretamente para hacer que parpadee el led que lleva incorporado la placa y conectado al pin 13. Al cambiarlo a 0 estamos diciéndole que parpadeará el led que conectemos al pin 0 del ATtiny85. Para subirlo, tenemos que definir algunas cosas. En Herramientas > Placa seleccionamos "ATtiny"; en Procesador, "ATtiny85"; en Clock, "1 MHz (internal)" y en puerto, el COM al que tengamos conectado el Arduino, en mi caso es el COM7. La referencia de este último sí que es a la placa Arduino UNO y no al micro ya que lo que el PC detecta es un Arduino. Por último, escogemos en Programador la opción "Arduino as ISP" (cuidado, no es lo mismo que "ArduinoISP"). Todo esto se puede ver en la siguiente imagen:



Le damos a subir y debería empezar a grabarse el sketch en nuestro micro. Si tenemos los leds conectados veremos cuando se termina de grabar o si hay fallos durante el proceso. En una de las pruebas que hice no conseguía grabar nada y la solución fue desconectar el chip, volver a cargar el sketch ArduinoISP del apartado "Configuración de nuestro Arduino uno como grabador" y repetir el proceso de grabación. Lo aviso como posible solución si os ocurre lo mismo.

Prueba en un circuito real

Ahora que ya tenemos el ATtiny85 grabado vamos a probarlo en el circuito. Según el esquema del patillaje que os dejo con las características, el pin 0 que cambiábamos en el código corresponde con la patilla 5 o sea que aquí será donde conectemos el led. La alimentación del micro es a 5V por lo que se puede usar un regulador del estilo del 7805 o cualquier otra fuente que nos entregue ese voltaje, aunque yo, para evitarme complicaciones y siendo  que estaba haciendo pruebas, utilicé el mismo Arduino. Un posible circuito podría ser el siguiente:




Aquí finaliza el proceso de grabación, pero antes de terminar hay que puntualizar algunas cosas.

Extras

Cambio de velocidad del procesador (usando el cristal interno)

En el IDE veíamos que en Clock podíamos seleccionar varias velocidades. Según los usos que le vayamos a dar, la de 1 MHz que es la que hemos utilizado nosotros puede ser suficiente o no. Aún así podemos subirla a 8 MHz (internal). Esto quiere decir que el ATtiny85 usará el cristal interno que tiene igual que antes, pero en vez de a un millón de ciclos por segundo (1 MHz), lo hara a ocho (8 MHz). Para cambiarlo, no solo hay que seleccionar la opción en el menú del reloj. De hecho si probáis a configurarlo a ocho, siempre "internal", veréis que a pesar de poner 1000 en el delay del Blink, lo que sería una pausa de un segundo, el led cambiará cada ocho segundos. ¿Coincidencia que al subir la velocidad a 8 MHz el led cambie cada ocho segundos? 

Para solucionar esto tenemos que quemar el Bootloader en el chip y es tan fácil como en Herramientas seleccionar toda la configuración que deseemos (que sería la misma que teníamos a la hora de probar el led durante el tutorial, pero con 8 MHz (internal) en Clock) y darle a "Quemar Bootloader". Una vez hecho esto, ya podremos subir nuestro sketch y funcionará como queremos. Cuidado porque subir la velocidad del procesador significa que consumirá más al hacer más cálculos por segundo, y si esto lo destinamos a algún proyecto en el que vayamos limitados de batería puede suponer problemas de alimentación y por tanto menos autonomía.

Uso con cristal externo

También se puede utilizar nuestro ATtiny85 con un cristal externo. Si no estáis muy familiarizados con ellos os recomiendo un vídeo de Terrazocultor en el que habla de ellos (enlace) y también tenéis el link a su canal en el apartado de Enlaces de interés del blog. A lo que íbamos. Utilizar un cristal externo implica privar pines del micro de su función de entrada/salida, concretamente el 2 y el 3, lo que nos reduce el número de pines operativos a 3, solo por utilizarlo a 16 o a 20 MHz, algo desde mi punto de vista y manteniendo el fin de utilizar un micro para tareas sencillas en lugar de un Arduino es innecesario. No lo he utilizado nunca con oscilador externo y no puedo dar más detalles. Tampoco sé si el cambio de configuración será tan fácil como quemarle otro bootloader. Si algún día lo pruebo, lo explicaré en una entrada aquí, en el blog.

Funciones válidas

Según he leído, hay una lista de funciones que sirven y se pueden implementar sin ningún problema en nuestro ATtiny85. Por supuesto, la sintaxis de C como if, else, for, switch, etc. también funcionará. Esas funciones son:
  • pinMode()
  • digitalWrite()
  • digitalRead()
  • analogWrite()
  • analogRead()
  • pulseIn()
  • shiftOut()
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

Donde conseguirlo

Y la pregunta del millón, ¿dónde puedo conseguir uno de estos? Mi recomendación es preguntar en tu tienda habitual de electrónica. Probablemente, al no ser algo muy demandado, no tengan pero te lo puedan encargar. Aquí en España está alrededor de los 4€ la unidad. Yo suelo adquirir todo lo que puedo en mi tienda de electrónica, pero en este caso recurrí a AliExpress. Buscaba este micro para aprender más acerca de él y abrirme otra puerta para futuros proyectos, lo que se traduce en hacer pruebas y por tanto el componente en cuestión se vuelve muy susceptible de ser dañado. Como soy precavido y no me gusta tener sobresaltos durante cualquier proceso que esté llevando a cabo, pensé que comprarme tres a 4€ cada uno era mucho dinero siendo que solo quería experimentar. Me metí en AliExpress y vi un pack de 5 unidades a poco más 4'50€, algo mucho más asequible. Hay que decir que también hay venta individual, pero teniendo en cuenta lo que tardan en llegar ya que vienen de China, un lote de cinco no me parecía tan mala compra. No os pongo el enlace porque estas cosas varían de precio, unos céntimos arriba o abajo, o simplemente al ser vendidos por particulares, desaparecen del mercado y surgen otros nuevos. Este es el aspecto que tenían:

Lote de 5 ATtiny85 de AliExpress

Y dicho esto finalizamos la publicación. Como siempre, cualquier duda se puede dejar en los comentarios.

Enlace al IDE de Arduino: https://www.arduino.cc/en/Main/Software
 
NOTA: En la disposición de componentes pone TINY13. Esto es porque en la librería de Eagle no encontré el ATtiny85 pero no importa porque en cuanto a dimensiones son idénticos, que es realmente lo que me interesaba. La muesca aparece a la izquierda, por tanto, colocaremos el micro con el punto de forma que este quede en la esquina inferior izquierda.

Hacer esta placa significa disponer de un zócalo para integrados de 4+4 pines con el fin de poder el quitar y poner el micro todas las veces que haga falta. Fabricar la placa sin zócalo no tiene sentido.

lunes, 7 de marzo de 2016

Diseño y fabricación de una PCB

Una PCB, del inglés Printed Circuit Board, es un circuito electrónico fabricado sobre una lámina normalmente de baquelita o de fibra de vidrio. En un principio está formada por dos capas, la aislante (de los materiales dichos) y la conductora, que es de cobre. Mediante diversas técnicas se busca retirar el cobre de ciertas zonas de la placa y dejar el de otras con el fin de que estas últimas actúen como cables. Aunque nosotros trabajaremos con las de una sola cara de cobre, industrialmente se pueden hacer de muchísimas más a estilo sándwich.

Para la fabricación casera (y no por eso con acabado menos profesional) se pueden utilizar varios procesos que consisten normalmente en transferir un dibujo (el circuito) a la placa y retirar el cobre que no tapa el dibujo, que es lo que realmente da lugar a distintos procedimientos. Algunos de estas técnicas son:
  • Con rotulador. Consiste en dibujar a mano sobre la cara del cobre el circuito con un rotulador permanente. Luego se ataca el cobre con ácido de manera que se elimina todo lo que la tinta no cubre. Por último se retira la tinta con alcohol o acetona.
  • Con planchado. El proceso es similar. En este caso se imprime en papel fotográfico (satinado) el circuito con una impresora láser y se plancha (sí, como la ropa) sobre la cara del cobre de forma que el tóner se transfiere a la placa. A partir de ahí se procede igual que el caso anterior. Este es el método que explicaré y se suele conocer como "método del planchado".
  • Con insoladora. En este proceso se utiliza una placa con un recubrimiento especial fotosensible. Se imprime igual que en el método del planchado pero esta vez sobre papel de acetato (un "papel" de plástico transparente con el que se hacían las antiguas transparencias cuando no existía PowerPoint). Este papel se coloca encima de la placa y se le aplica luz, normalmente con una insoladora, de forma que la parte que hay debajo de la tinta no se irradia pero el resto del "cobre" fotosensible sí. Luego con una disolución se revela el cobre para hacer aparecer el dibujo y se baña en ácido como en los métodos anteriores. Este método es más costoso y más delicado por el tema de aplicar la luz por igual en toda la placa (por eso hay gente que se hace insoladoras caseras con tubos fluorescentes) y porque las placas vírgenes de cobre son un poco más caras además de tener que disponer de dos disoluciones, la del líquido revelador y la de ácido.
  • Con CNC. Un CNC es una fresadora controlada por ordenador (Control Numérico por Computadora). Un taladro en vertical, es decir, con la broca hacia abajo, colocado en una máquina capaz de moverlo por los tres ejes X, Y y Z, lo pone en marcha y "dibuja" en el cobre el circuito que has diseñado en el ordenador. La broca retira el cobre de las zonas indicadas y deja las pistas de cobre que queremos. Este método es el que proporciona un acabado más profesional al tener una precisión milimétrica pero también es el más caro y más difícil de llevar a cabo debido a que las fresadoras CNC no son baratas tanto si la compras como si la fabricas. Además la configuración es un paso importante que depende sobre todo del modelo, tamaño y programa que uses para ponerla en marcha. Si eres un gran aficionado a lo mejor te sale rentable tener una en cuanto a la relación precio-acabado, pero en mi opinión y a nivel de hobby no merece la pena.

Empezamos con el tutorial:

Como he explicado antes, nosotros nos vamos a centrar en el método del planchado, el cual consta de cuatro partes: el diseño, la impresión, la transferencia (el planchado propiamente dicho) y el atacado.

Diseño:

Para diseñar un circuito impreso existen varios programas, algunos gratis como KiCad y otros de pago como Proteus o Eagle. Con estos programas se diseña el esquema del circuito (traen librerías con muchísimos componentes y siempre son ampliables con librerías de Internet) y luego se colocan los componentes en modo PCB para trazar las pistas (los "cables" que unirán los componentes). La gran ventaja de usar estos tipos de soft es que si el esquema está bien hecho nunca te vas a dejar ninguna pista sin hacer ya que el programa te indica que patilla va conectada con cada patilla en los componentes lo cual es de gran ayuda. En el diseño hemos de tener en cuenta la corriente que va a circular por las pistas y variar, dependiendo de esto, su grosor. Existen tablas de relación aunque para electrónica clásica de leds y transistores no hace falta mucho. Esto influye realmente si por ejemplo combinamos en una placa la electrónica para gobernar un relé y el circuito para el que el relé hace de interruptor, que puede ser por ejemplo un motor más potente o lámparas incandescentes de un consumo más elevado. No es lo mismo hacer circular 3 o 4 vatios (5V a 0'6-0'8A) que 60W (220V a 5-6A).

Diseño de un esquema y de su circuito impreso con Eagle. El componente Arduino UNO no viene con el programa, es de una librería extra.

Impresión:

Esta parte es de las más delicadas y de la cual va a depender el acabado final de la placa. Lo primero a tener en cuenta es cómo se va a ver una vez impresa y transferida. Es recomendable hacerse un boceto en papel para poder imaginar la disposición de las pistas, ya que va a ser esto lo que condicione la orientación de ciertos componentes como por ejemplo de los circuitos integrados. Una resistencia por ejemplo es reversible porque no tiene polaridad, e incluso un condensador electrolítico (con polaridad) se puede voltear suponiendo que nos equivocamos al imprimir. El problema viene por ejemplo con integrados de 4+4 patillas ya que no es orientable en todas direcciones y no conviene desdoblar pines para doblarlos al revés en el supuesto de que imprimamos al revés el circuito (en espejo) y necesitemos ponerlo "boca abajo". Esto se ve claramente si escribimos algo en la cara del cobre. Por eso de que una imagen vale más que mil palabras os dejo esta foto con la que quedará claro a qué me refiero.


Si vamos a imprimir rótulos en la cara del cobre como 5V, PWR, VCC o GND tendremos que tener en cuenta como los veremos luego. Muchas veces es recomendable aplicar el "espejo" en el texto y no en todo el circuito.

Normalmente, como los componentes se introducen por la cara sin cobre, tal y como lo diseñemos en el ordenador podremos imprimirlo y transferirlo a la placa como se explica en el paso siguiente. Lo más importante de la impresión es que se tiene que usar una impresora láser y papel satinado (papel del que brilla por una cara, como el papel de fotografía). La importancia de que sea con láser es porque la tinta funciona de distinto modo. En las de chorro de tinta (las convencionales), esta es líquida y es absorbida por el papel, en cambio en una impresora láser la tinta es una especie de polvo que se "quema" quedando pegado al papel. Por su parte, el papel debe ser satinado ya que no tiene tantos poros y la tinta no llega a ser absorbida. Este tipo de papel se puede comprar en papelerías y en tiendas de fotografía. Al imprimir es conveniente comprobar que las líneas no están interrumpidas y están claramente delimitadas. Todos los fallos que podamos detectar sobre papel se van a ver agravados durante el planchado y el bañado en ácido más tarde, por lo que es recomendable conseguir una impresión lo más perfecta posible. Siempre podemos jugar con la calidad de impresión en las propiedades de impresora y configurar parámetros como el tipo de documento a imprimir. El escoger una configuración u otra depende del modelo y del papel. En mi caso con la cantidad de tinta estándar es suficiente. Algo que sí es importante es desactivar la casilla de "Ajustar a tamaño de página" que suele presentar Adobe Reader al imprimir un PDF. Destaco esto porque si se amplía un milímetro a lo ancho, los componentes con un ancho de patas fijo como relés, integrados, potenciómetros... no encajarán en los pads que taladraremos al acabar el circuito. Si el circuito es muy pequeño a lo mejor no influye pero en seguida que el tamaño se ve incrementado también se ve incrementado este error.

Es recomendable imprimir varias copias además de centrarlas en el papel por si estropeásemos alguna durante el proceso. Algunas impresoras no tienen tanta perfección en los bordes del folio como en el centro.

Planchado:

En este paso vamos a transferir nuestro circuito del folio a la placa de cobre. Para esto colocamos sobre un paño seco (con el fin de proteger la superficie sobre la que planchamos) la placa con el cobre, limpiado previamente con alcohol, al descubierto por la parte de arriba. Hay gente que es partidaria de lijar la superficie para aumentar la adherencia de la tinta. Yo lo he probado de las dos formas y no he notado diferencia, lo que más influye es el grado de limpieza del cobre. A continuación colocamos el trozo de papel del circuito sobre la placa de forma que el tóner y el cobre estén en contacto. Planchamos el papel, con cuidado de que no deslice, durante unos segundos asegurándonos de las esquinas y los lados también reciben calor y quedan pegados. Conviene aguantar el calor más tiempo para cerciorarnos de que la tinta es transferida en su totalidad. Puede ser recomendable poner un trozo de papel de cocina encima y utilizarlo como señal para saber cuando está listo. Yo suelo retirar la plancha cuando el dibujo del papel que hemos puesto ha desaparecido. Al quitar la plancha, el papel debería haber quedado pegado al cobre (¡cuidado que quema!). Como se puede ver en las imágenes que dejo a continuación, utilizo un tablón de corcho para proteger la mesa. Tampoco hay ningún papel, como el del rollo de cocina que mencionaba antes, entre la plancha y el trozo de folio con el circuito. Esto es porque pretendía que al sacar la foto quedase claro por qué lado se aplica el calor.




Con ayuda de agua retiramos TODO el papel dejando solo la tinta.

También se puede sumergir sin miedo en una cubeta con agua para que el papel se humedezca y se vaya desprendiendo poco a poco.

El circuito debe quedar como el de la derecha, sin restos de papel entre las pistas. El izquierdo, debido a esos restos, plantearía problemas a la hora de eliminar el cobre que hay debajo del papel. Los restos fueron eliminados antes de pasar a la fase siguiente.

La idea es que al calentar la tinta se desprenda del papel y quede pegada al cobre, de aquí la importancia del tipo de impresora y de papel. Nuestra PCB ya estará lista para darle el baño de ácido.

NOTA: La plancha no tiene que tener ningún requisito especial. De hecho yo utilizo una de viaje pequeña que se calienta en cuestión de segundos y las placas salen perfectas.

Atacado:

Hay que destacar que existen los productos preparados para hacer la disolución y se pueden adquirir en tiendas de electrónica, pero también que los principios activos son los mismos del salfumán o agua fuerte y del agua oxigenada mezcladas. Yo utilizo el remedio casero y nunca me ha dado problemas. Cuanto más concentrada sea el agua oxigenada más rápido actuará la disolución sobre el cobre. La de farmacia o supermercado suele estar al 3% (11 volúmenes más o menos) y la de peluquería se vende como de 110 volúmenes (destinada normalmente a decoloraciones y por tanto más agresiva). Yo siempre he utilizado la de supermercado que es la que tenía a mano y, aunque me ha llevado su tiempo (15-20 min.), el acabado ha sido bueno. Tengo entendido que con la de peluquería, en 3-4 minutos la placa está terminada. Si no tienes experiencia recomendaría la más "lenta" porque te permitirá jugar mejor con los tiempos y dejarla un par de minutos más no supondrá ningún peligro, cosa que con la "rápida" puede suponer la eliminación de las pistas que quieres mantener. Siempre intento hacer una disolución al 50% de cada producto, añadiendo el salfumán sobre el agua oxigenada (reglas básicas de química, ácido sobre base). Lo suelo hacer a ojo, sin medir estrictamente, y si veo que el proceso es demasiado lento añado más salfumán. Como veis no es algo demasiado importante mientras la relación se mantenga dentro de unos límites. ¡OJO! Si esto se hace con el agua oxigenada más corrosiva (la de peluquería) probablemente si que haya consecuencias más graves como la destrucción de la placa al no mantener el circuito, por eso y sin tener experiencia, recomiendo mantener las medidas si se usa este otro producto. Ni que decir tiene que si la disolución se "come" el cobre, otro tipo de tejidos se verán también afectados así que conviene cumplir unas mínimas medidas de seguridad como protección en la superficie donde trabajemos y unos guantes para evitar contactos con la piel. Por esto, en caso de necesidad de entrar en contacto con el ácido, por ejemplo para extraer el circuito una vez terminado, utilizaremos algo de plástico o de madera, como un palillo de dientes, un palo de brocheta, unas pinzas... Si utilizásemos una espátula metálica o un cuchillo se verían afectados por el ácido.

Al introducir la placa en la disolución, el cobre cambiará de color. Para que el atacado sea uniforme se debe hacer un ligero oleaje en la cubeta donde lo hagamos, la cual debe ser de plástico ya que este es resistente a la mayoría de líquidos corrosivos domésticos. Hacerlo en un recipiente de cristal o de barro puede provocar que se destruya o se erosione parte del material del que está hecho e incluso que se desprendan esmaltes o desaparezca el brillo. En seguida, el líquido debería empezar a ponerse de color verde. Cuando veamos que se ha retirado todo el cobre que estaba al aire y nos quedan las pistas negras, sacamos la placa del ácido y la enjuagamos con agua. Con acetona y un pañuelo retiramos la tinta y nos quedaran las pistas de cobre al descubierto y perfectamente definidas si lo hemos hecho todo bien. Ahora ya solo nos quedaría recortar la placa en caso de necesitarlo y taladrar los pads, por donde pasaremos las patillas de los componentes, y los agujeros para los tornillos de sujeción que vayamos a poner para anclar la placa a algún tipo de caja o soporte. Es recomendable ver si hay alguna pista cortada mirando al trasluz la PCB o con ayuda de un polímetro midiendo continuidad. También debemos mirar que no haya conexiones entre pistas distintas. En caso de haberlas podemos rascar con algún objeto metálico con punta para retirar el sobrante, todo esto una vez retirada la placa del ácido y después de haber sido aclarada con agua. Como decía en el apartado de diseño, el grosor de las pistas dependerá de la corriente que vaya a circular por ellas. Si por algún motivo no pudiésemos ensancharlas, tenemos la baza de estañarlas con el fin de crear un cordón conductor más grueso y poder así con pistas más finas pero más "cilíndricas" solucionar el problema que se nos presenta. Al soldar, cuanto más finas sean las pistas más probabilidad habrá de que se desprenda el cobre de la placa a causa del calor por lo que debemos llevar cuidado a la hora de empezar a estañar o de soldar componentes.

Aunque esta imagen es de otra placa que hice la pongo para que se entienda mejor a lo que me refiero con que "el líquido debería empezar a ponerse de color verde":

Recipiente con una placa en la fase de atacado y los productos utilizados en la disolución.

Aspectos de los circuitos nada más retirar el tóner con acetona.

A la izquierda, la placa con solo las pistas estañadas. A la derecha, la placa con los componentes situados y soldados.
En el caso de la anterior foto, el estañado de las pistas es opcional ya que la corriente que va a circular por ellas es ínfima. Se trata de una placa para programar un ATtiny85 al cual dedicaré una entrada más adelante. Aún así, el estañado previene posibles oxidaciones del cobre y mayor protección de la conductividad al haber más volumen de material conductor en las conexiones entre los pads.

Aquí se ve una foto del circuito acabado y colocado sobre el Arduino. Lo que se ve escrito en tinta negra son indicaciones personales de conexión de los distintos pines.
El líquido sobrante no es reutilizable a no ser que sea para realizar otra placa en el mismo momento (esto no es fiable 100% ya que el poder corrosivo se habrá visto menguado después de su primera utilización). Con esto me refiero a que no podemos embotellarlo para posteriores usos. Por otra parte no lo podemos tirar por cualquier sitio (no olvidemos que es ácido). Para deshacernos de él antes lo debemos disolver en gran cantidad de agua de forma que su "poder" se vea reducido todo lo posible. Un cubo con agua sucia, por ejemplo de la que queda después de fregar, es una buena opción. Si hay poca cantidad de ácido incluso lo podemos tirar por el váter mientras tiramos de la cadena. Después del proceso conviene enjuagar bien todo lo utilizado y apartarlo para utilizarlo para futuras placas. Si utilizamos un recipiente de plástico de cocina, evidentemente no es recomendable utilizarlo luego para meter alimentos.

Con esto quedaría terminado nuestro circuito impreso, listo para ponerse en funcionamiento.