Cómo montar PCBs en China.

En esta entrada del blog hablo sobre el servicio de montaje de PCBs en China, viendo el resultado obtenido de un pedido y explicando los pasos y archivos necesarios para mandar a fabricar y montar un PCB en China, un servicio de montaje económico con buenos resultados.

Desde hace unos años mandar a fabricar PCBs a China en pequeñas cantidades es muy económico, tanto que ya no merece la pena ponerse a hacer PCBs de forma artesanal como ya se ha comentado en entradas anteriores de este blog.

Montar un PCB en China puede no resultar económico frente a montarlo nosotros mismos si tenemos que montar unas pocas unidades (y contamos con las herramientas y conocimientos adecuados), pero el servicio de montaje de PCBs si va a resultar económico cuando en lugar de unidades tenemos que montar una ó más decenas de PCBs. Montar PCBs a mano lleva tiempo, por lo que si usamos un servicio de montaje de PCBs vamos a ahorrar mucho tiempo a un coste bajo (cuantos más PCBs mandamos a montar más barato resulta el coste unitario de montaje de cada PCB).

Desde hace unos meses (así me lo han pedido) llevo usando los servicios de Elecrow para montar PCBs con buenos resultados.

Por lo general el servicio de montaje de PCBs va asociado con el de fabricación del propio PCB, es decir les encargamos la fabricación del PCB y su montaje. Si vamos a la página de su servicio de montaje de PCBs encontramos detallado el proceso a seguir, los archivos necesarios que les tenemos que mandar para la fabricación y montaje del PCB, y un cálculo del coste aproximado.

Para iniciar el proceso lo primero es mandarles un correo a la dirección que indican en la página, en este correo adjuntaremos los archivos necesarios, les detallaremos el número de unidades, dirección de envío y características del PCB que se va a fabricar, y les diremos si los componentes electrónicos que se van a soldar en el PCB los compran ellos o se los mandamos nosotros, por lo general lo más barato y rápido es que ellos se hagan cargo de la compra de los componentes electrónicos, por lo que esta va a ser la opción a elegir la mayoría de las veces.

Los archivos necesarios que les tenemos que mandar para que nos fabriquen y monten un PCB son 3:

Los ficheros de fabricación del PCB (gerbers): este punto está detallado en la siguiente entrada de este blog. No es necesario panelar el PCB ya que lo harán ellos según les convenga, y si es necesario mandarle los archivos para el stencil, farbicarán uno para poder soldar los componentes.

La lista de materiales (BOM / Bill of materials): la lista de materiales es un archivo de texto u hoja de cálculo, donde vienen detallados todos los componentes que se van a montar en el PCB, un ejemplo de una lista de materiales se puede ver en la siguiente imagen.

BOM

En la imagen superior vemos una lista de materiales (BOM), en esta encontramos los componentes que se van a soldar en el PCB.

Los campos principales de esta lista son la cantidad (Qty) de cada componente en el PCB, la referencia o nombre (Parts) que se le asigna a cada componente dentro del PCB, y la referencia del fabricante (Manufacturer part number) de cada componente. Es muy importante incluir la referencia del fabricante de cada componente, ya que es lo que usarán para comprar el componente o buscar uno equivalente (con esta referencia el montador del PCB puede conocer todas las características del componente).

A la hora de hacer un diseño de PCB, siempre lo vamos a hacer con los componentes que podemos comprar en los distribuidores de componentes electrónicos, y es aquí a la hora de comprar cada componente donde encontramos la referencia (Manufacturer part number) que hemos de incluir en la lista de materiales.

Los principales distribuidores donde comprar componentes electrónicos en España/Europa son 4 (no es recomendable comprar componentes electrónicos en sitios como ebay y similares):

Todos tienen gastos de envío gratuitos a partir de cierta cantidad (sobre 50 euros), Farnell envia en el día siguiente, RS suelen ser un par de días, y Digikey y Mouser suelen tardar 3 ó 4 días en llegar. Si no se alcanza el pedido mínimo para envío gratuito, los gastos de envío de RS son 5 euros, Farnell 12 euros, y Digikey y Mouser 20 euros. Un mismo componente/referencia no siempre tiene el mismo precio en todos los distribuidores, por lo que si el componente es caro o vamos a comprar muchas unidades es recomendable mirar su precio en los cuatro distribuidores, para ver si hay mucha diferencia de precio entre ellos.

Usaremos sus buscadores de componentes electrónicos para ver que componentes podemos añadir a nuestro diseño (si no podemos comprarlo no podemos utilizarlo), por lo general yo suelo usar el buscador de Mouser o Farnell, y suelo hacer los BOM con Mouser.

Por ejemplo si en nuestro diseño tenemos una resistencia de 1k y encapsulado 0603, utilizando el buscador de las tiendas anteriores buscaremos resistencias de 1k y dicho encapsulado, ordenaremos la búsqueda por precio y seleccionaremos la resistencia más barata, con buena disponibilidad, que cumpla con los requisitos del diseño y a ser posible de un fabricante conocido, y es aquí donde obtenemos el Manufacturer part number de la resistencia que elijamos y que tenemos que añadir en el BOM, en la siguiente imagen se ve esta referencia señalada en rojo.

Manufacturer part number en rojo, lo añadiremos en el BOM.

Por lo general todos los programas de diseño de PCBs tienen herramientas para generar el BOM de forma automática (o ayudar a generarlo). Por ejemplo si usamos Eagle y nos vamos a la ventana del esquemático, podemos correr BOM.ulp que nos generará una hoja de cálculo con el BOM de los componentes que hay en el esquemático.

En Eagle usaremos BOM.ulp para generar la lista de materiales (BOM).

Listado de coordenadas de los componentes: por último debemos enviarles los ficheros de coordenas de los componentes electrónicos que hay en el PCB. Estos ficheros indican la posición y la orientación de cada componente dentro del PCB.

Por ejemplo, si en el programa de diseño de PCBs que usemos buscamos información sobre un componente del layout, este tendrá definidas unas coordenadas X e Y que determinan su posición en el PCB y un ángulo que determina su orientación. En la siguiente imagen podemos observar la posición de R1 (9.62, 29.64) y su orientación horizontal (0 grados).

Coordenadas y ángulo de R1

Si vemos la información de otro componente, por ejemplo R14, vemos otras coordenadas distintas que determinan su posición (49.4, 26.7) y otro ángulo 270 grados (resistencia en vertical) que determina su orientación.

Coordenadas dentro del PCB y ángulo de R14.

Con estas coordendas y ángulos las máquinas pick and place pueden posicionar los componentes correctamente en el PCB durante el proceso de soldadura.

Las coordenadas del componente en el PCB las asignamos cuando diseñamos el PCB, cada componenten lo colocamos en el sitio que queramos del PCB, a partir de la ubicación dentro del PCB y geometría de los PADs de cada componente, el programa de diseño electrónico generará unas coordenadas para posicionar cada componente que usarán las máquinas pick and place (más sobre esto a continuación).

De igual forma el ángulo depende de la orientación con la que coloquemos el componente dentro de nuestro diseño, pero el ángulo resultante que va a generar el programa de diseño electrónico en el archivo de coordenadas, depende también de la orientación que se le da al componente cuando se crea su huella/footprint en las librerías de componentes electrónicos de nuestro programa de diseño.

Si en google buscamos “Electronic component zero orientation for cad library construction” o “ipc_7351”, encontramos ejemplos de la orientación que tiene que tener cada tipo de componente por defecto (ángulo 0) al dibujar su huella en las librerías de componentes electrónicos que usamos en nuestro programa de diseño.

Por ejemplo un diodo de dos terminales para una orientación de ángulo 0 grados, su huella en el PCB debe estar posicionada en horizontal con su pad negativo a la izquierda. En la siguiente imagen se puede ver el ángulo del diodo para las distintas orientaciones en el PCB de este.

Distintos ángulos del diodo en función de su orientación en el PCB. Negativo marcado en la serigrafía del diodo.

Por lo que cuando dibujamos la huella de un nuevo componene en nuestras librerías, la orientación de este tiene que ser la establecida para el ángulo cero del tipo de componente, si no lo hacemos así, el ángulo que nos genere en el archivo de coordenadas el programa de diseño electrónico será incorrecto. En el caso de componentes con polaridad (diodos, condensadores, circuitos integrados, etc..) es conveniente indicar la polaridad en la serigrafía del PCB, de esta forma podrán comprobar que todos los componentes con polaridad están montados correctamente cuando monten el primer PCB de prueba.

El programa de diseño electrónico que usemos generará el archivo de coordenadas, por ejemplo para generarlo en Eagle debemos irnos a la ventana del layout, y ejecutar mountsmd.ulp.

mountsmd.ulp genera el archivo de coordenadas para la pick and place.

Una vez que lo ejecutamos, nos genera dos archivos de texto con extensión .MNT y .MNB, que contienen las coordenadas y la orientación de los componentes situados en la cara superior e inferior del PCB respectivamente. Si abrimos uno de estos archivos con un editor de texto podemos ver su contenido.

Archivo con las coordenadas de los componentes de la cara superior.

Por ejemplo, si cogemos la primera línea del archivo de coordenadas: “C1 18.00 29.66 0” tenemos “C1” la referencia o nombre que se le asigna a cada componente en el diseño (nombre que se corresponde con el mismo que tiene el componente en el BOM), a continuación vemos la posición que se calcula para el encapsulado del componente en el eje X “18.00”, la posición en el eje Y “29.66”, y el ángulo que define la orientación del componente “0”.

Estos archivos gerbers, BOM y ficheros de coordenadas, son los que tendremos que mandar en un correo electrónico para comenzar con la fabricación y montaje de un PCB.

Probando el servicio de fabricación y montaje de PCBs de Elecrow.

Vamos a pedir que fabriquen y monten un PCB, para ello mandamos un correo preguntando por presupuesto a service@elecrow.com, en este incluimos los 3 ficheros anteriores, la dirección y método de envío que queremos, detallamos las características del PCB: color, grosor y acabado de los pads, la cantidad de PCBs que queremos y les decimos que Elecrow se encarga de la compra de todos los componentes electrónicos.

Por lo general en menos de 24 horas tendremos la respuesta con el presupuesto, en este presupuesto indican que componentes pueden comprar en su mercado local y cuáles van a pedir a los distribuidores de fuera (Mouser, Farnell, DIgikey y TME). Si pueden comprar los componentes en su mercado local, estos componentes van a ser más baratos: condensadores, resistencias, conectores, etc.. son los componentes que suelen comprar en su mercado local, mientras que los semiconductores, ICs, etc.. los piden con la referencia que les damos a los distribuidores de fuera.

En este caso se ha pedido presupuesto para el siguiente PCB:

  • PCB de dos layers, componentes por ambas caras, dimensiones del PCB 40 cm x 4 cm, acabado ENIG, grosor 1.2 mm, 1 oz de cobre.
  • 116 componentes a montar, pads smd 250, pads de agujero pasante 42.
  • Los componentes son fáciles de montar, pasivos 0603 los más pequeños.
  • Coste del BOM en Mouser para 50 placas: 9.44 euros por placa. Para 250 placas: 6.2 euros por placa.
  • Envío 24-48 horas por DHL.

El presupuesto que se recibe de Elecrow  (fabricación del PCB, componentes, montaje y envío) para el PCB anterior es de:

  • Para 50 unidades $750 (montaje $165, componentes $389).
  • Para 250 unidades $2701 (montaje $546, componentes $1500).

Por lo que para 50 unidades el coste unitario de montar un PCB es de $3.3, y el BOM para un PCB (comprando Elecrow los componentes) es de $7.78 frente a los 9.44€ que nos cuesta a nosotros. Si tenemos en cuenta el ahorro que tenemos en el BOM, nos sale el montaje de cada PCB a aproximadamente 0.5 euros, además que nos ahorra el tiempo de tener que comprar y gestionar nosotros los componentes para las 50 unidades.

Si nos vamos a 250 unidades montar cada PCB sale a $2.18, el BOM si compran ellos los componentes es de $6.2 frente a los 6€ que nos cuesta a nosotros, por lo que en este caso el coste de montaje de cada PCB es de $2 aproximadamente.

Si tenemos que montar 2 ó 3 unidades, el coste de montaje del PCB nos sale muy alto usando su similador de presupuestos, ya que hay un coste de montaje inicial cercano a $100, pero en el momento que tengamos que montar más unidades y el coste fijo de montaje se divida entre más PCBs, el coste de montaje es muy económico (y nos ahorra estar gestionando los componentes).

En este caso el pedido del PCB se realizó el 29 de mayo, y lo recibí por DHL el 27 de junio (pagando las aduanas correspondientes), por lo que el tiempo que tardaron los PCBs desde que se realizó el pedido fue de 29 días si cuento bien.

Una vez que Elecrow recibe el pago, inicia la compra de componentes, a las 2-3 semanas apróximadamente mandan unas fotos con un primer PCB de prueba montado, donde preguntan si todos los componentes están montados correctamente, y cuando les das el visto bueno proceden con el montaje del resto de PCBs.

La comunicación con la persona que lleva mis proyectos es excelente, he hecho varios proyectos de fabricación y montaje con ellos, y siempre que tengo una duda o he mandado un correo he tenido respuesta en menos de una ó dos horas. Hoy sin ir más lejos, tengo un correo a las 12:48 pm mandandome las fotos del montaje de la primera placa que han montado de un pedido, para verificar si el montaje de los componentes es correcto y continuar con el resto de PCBs (pedido que realicé el 8 de julio y hoy 23 de julio han comenzado ya a montarlo). Por lo que su horario de trabajo se solapa con nuestro horario de por la mañana.

Cuando recibí la caja con los PCBs, francamente me gustó lo bien empaquetados que venían, pongo una imagen.

PCBs recibidos, bien empaquetados.

Eran unos PCBs largos, de 40 cm x 4 cm, y los metieron por pisos en espuma cortada a medida, sin posibilidad alguna de que se dañasen los unos con los otros durante el transporte, vamos que empaquetarlos les llevo un rato. Un 10 en el envío.

En cuanto al PCB todo lo montaron correctamente y todos han funcionado bien. Era un PCB sencillo de montar ya que los pasivos eran grandes, 0603, y no había ningún componente difícil de soldar, pongo unas imagenes de las soldaduras de algunos componentes del PCB (click en las imagenes para mayor tamaño).

Soldaduras SMD

Soldaduras SMD

Soldaduras SMD

Soldaduras SMD

Soldaduras agujero pasante.

Como se puede ver en las imagenes, todo está soldado correctamente y no hay ningún componente fuera de sitio. Los logos de los componentes son los correctos, y las letras grabadas en ellos se corresponden con las que indican en sus datasheets, por lo que a primera vista todo está bien.

Se ven muy pocos residuos de Flux, por lo que supongo el proceso de montaje incluye la fase de lavado para eliminar los residuos de Flux, con el tiempo dichos residuos en función del tipo de Flux que sea, pueden dañar el PCB o acumular suciedad y humedad.

En un PCB blanco los residuos de Flux se aprecian con mucha facilidad, en la siguiente imagen que se corresponde con un PCB blanco en el que he soldado los conectores a mano, se pueden ver los residuos de Flux en color amarillo.

Residuos de Flux en un PCB antes de limpiarlo.

En las placas que he recibido apenas se ve el color amarillo del Flux, ¿las han limpiado?, diría que si, ya que cuando yo sueldo con pasta y horno me salen mucho más amarillas.

Con esta entrada creo que dejo cubierto el servicio de montaje de PCBs de Elecrow, un servicio que he empezado a usar (siempre he montado en Europa) y de momento ha tenido buen resultado. Muy económico cuando se tienen que montar varias unidades, por lo que cuesta el montaje no merece la pena el tiempo de tener que montarlos a mano, dejando lo de montar los PCBs a mano para cuando se tienen que montar 1 ó 2 unidades de PCBs y no se pueden dividir el coste fijo del montaje entre varios PCBs, o cuando no podemos esperar 4 semanas en recibir los PCBs ya montados. Si estamos prototipando lo normal es pedir un PCB, a la semana recibirlo, montarlo y probarlo, es decir el prototipo lo tenemos funcionando en 1 semana si montamos nosotros el PCB, frente a las 4 semanas que puede tardar si lo pedimos montado.

En estra entrada se muestra un presupuesto para un PCB muy económico, para 50 unidades un PCB con componentes, montaje y envío sale por $15, por lo que pagar un coste mayor en la fase de montaje sería una parte significativa del coste del PCB. Pero cuando tenemos PCBs con componentes que cuestan varios cientos de euros (o tiradas de miles), yo no montaría en China, ya que el incremento de coste de montaje si se hace de forma local, es muy pequeño frente al coste total del PCB. Si el importe/coste del pedido es grande y hay un problema, siempre va a ser más fácil solucionarlo aquí que en China (si es que se puede solucionar allá).

Para terminar y sin que se me olvide, recomendar otro servicio en China para cuando tengamos que hacer cables que ando usando, y que nos ahorrará mucho tiempo de cortar y crimpar: dirtypcbs.com/store/cables.

El cable que se ve en la imagen de 40 cm de longitud, creo recordar ha costado 0.4 euros por cable para 250 unidades, que no es mucho para tener que cortar 400 metros de cable, crimpar 1000 pines y estañar 1000 puntas.

Cables pedidos en DirtyPCBS.com

Con esta entrada termino una serie de entradas que quería hacer en el blog sobre PCBs sencillos de diseñar, en las que he pretendido cubrir lo básico para diseñar un pcb, montarlo nosotros, y mandarlo a montar:

Me he cuestionado si ¿es correcto hacer este tipo de entradas en el blog, promoviendo los servicios de fabricación y montaje de China, cuando puede haber esa misma industria aquí?

Por ejemplo estos PCBs si no se hubieran podido prototipar a unos $15 la placa, directamente no se habrían hecho, y si el día de mañana se fabricasen en lotes grandes la primera opción será intentarlo hacer aquí. Por otro lado el tema de la electrónica en español a nivel de aficionado/iniciación (no todo es Arduino), es algo que cada vez va a menos (o esa es mi impresión respecto a lo que había hace algunos años). Si hay que incentivar la industria en estos temas (¿cuántos productos con PCBs va a comprar una persona que nazca hoy a lo largo de su vida?) es algo que le corresponde a los que nos gobiernan.

Este tipo de entradas intentan facilitar la vida con conocimiento básico (pero que hay que conseguirlo) a la gente que empieza, son cosas probadas y que han funcionado desde mi experiencia y por lo tanto comparto, de igual forma que yo todos los días soluciono mis dudas leyendo otros blogs y foros.