Tabla de contenido:

Diseñe su propia PCB del módulo de cómputo Raspberry Pi: 5 pasos (con imágenes)
Diseñe su propia PCB del módulo de cómputo Raspberry Pi: 5 pasos (con imágenes)

Video: Diseñe su propia PCB del módulo de cómputo Raspberry Pi: 5 pasos (con imágenes)

Video: Diseñe su propia PCB del módulo de cómputo Raspberry Pi: 5 pasos (con imágenes)
Video: ORANGE PI 5 el Mini Ordenador que HUMILLA 🥵 a RASPBERRY PI 4 2024, Mes de julio
Anonim
Diseñe su propia PCB del módulo de cómputo Raspberry Pi
Diseñe su propia PCB del módulo de cómputo Raspberry Pi
Diseñe su propia PCB del módulo de cómputo Raspberry Pi
Diseñe su propia PCB del módulo de cómputo Raspberry Pi
Diseñe su propia PCB del módulo de cómputo Raspberry Pi
Diseñe su propia PCB del módulo de cómputo Raspberry Pi

Si nunca antes ha oído hablar del módulo de cómputo Raspberry Pi, es básicamente una computadora Linux de pleno derecho con el factor de forma de una memoria RAM de computadora portátil.

Con ello es posible diseñar sus propias placas personalizadas donde la Raspberry Pi es solo un componente más. Eso le brinda una enorme cantidad de flexibilidad, ya que le permite tener acceso a una cantidad mucho mayor de pines IO, mientras que al mismo tiempo puede elegir exactamente qué hardware desea en su placa. El eMMC integrado también elimina la necesidad de una tarjeta micro SD externa, lo que hace que el módulo de cómputo sea perfecto para diseñar productos basados en Raspberry Pi.

Desafortunadamente, aunque el módulo de cómputo le permite hacer todo esto, todavía parece faltar en términos de popularidad en comparación con los modelos A y B tradicionales de Raspberry Pi. Como resultado, no hay muchos proyectos de hardware de código abierto basados en eso. Y para cualquiera que quiera empezar a diseñar sus propios tableros, la cantidad de recursos que tiene es bastante limitada.

Cuando comencé con el módulo de cómputo Raspberry Pi hace unos meses, ese fue exactamente el problema al que me enfrenté. Entonces, decidí hacer algo al respecto. Decidí diseñar un PCB de código abierto basado en el Módulo de Computación, que tendrá todas las características básicas que hacen que la Raspberry Pi sea grandiosa. Eso incluye un conector de cámara, host USB, salida de audio, HDMI y, por supuesto, un encabezado GPIO compatible con las placas Raspberry Pi normales.

El objetivo de este proyecto es proporcionar un diseño de código abierto para una placa basada en un módulo de cómputo, que cualquiera podrá utilizar como punto de partida para diseñar su propia placa personalizada. La placa fue diseñada en KiCAD, un paquete de software EDA de código abierto y multiplataforma, con el fin de permitir que la mayor cantidad posible de personas lo aprovechen.

Simplemente tome los archivos de diseño, adáptelos a sus necesidades y haga girar su propia placa personalizada para su proyecto.

Paso 1: Piezas y herramientas

Piezas y herramientas
Piezas y herramientas
Piezas y herramientas
Piezas y herramientas
Piezas y herramientas
Piezas y herramientas
Piezas y herramientas
Piezas y herramientas

Para comenzar con el módulo de cómputo Raspberry Pi, necesitará las siguientes partes:

1 x Módulo informático Raspberry Pi 3: recomiendo encarecidamente obtener la versión normal que incluye el eMMC integrado y no la versión Lite. Si desea utilizar la versión Lite en su proyecto, tendrá que realizar algunos cambios en el diseño, y eso incluye agregar un conector de tarjeta micro SD. Finalmente, solo probé la placa con CM3 y no puedo garantizar que funcione con la primera versión de CM que se lanzó en 2014.

Actualización 29/1/2019: Parece que la Fundación acaba de lanzar el Compute Module 3+ y no solo eso, ¡sino que ahora también viene con la opción de un eMMC de 8GB, 16GB o 32GB! De acuerdo con la hoja de datos, parece que el CM3 + es eléctrico idéntico al CM3, lo que significa que básicamente es un reemplazo directo del CM3.

1 x Placa de E / S del módulo de cómputo: mi diseño fue diseñado para servir como punto de partida para diseñar su propia placa personalizada basada en él, no para reemplazar la placa de E / S del módulo de cómputo. Por lo tanto, para facilitarle la vida, le recomiendo encarecidamente que ponga sus manos en una placa IO y la use para el desarrollo antes de pasar a una placa personalizada. Además de darle acceso a cada pin del CM más una variedad de conectores, la placa IO también es necesaria para flashear el eMMC integrado. Lo cual es algo que no puedes hacer con mi tablero, a menos que primero hagas algunos cambios en el diseño.

1 x cable de cámara Raspberry Pi Zero o adaptador de cámara de módulo informático: en mi diseño estoy usando un conector de cámara muy similar al utilizado por la placa IO del módulo informático y la Raspberry Pi Zero. Por lo tanto, para conectar una cámara, necesitará un cable adaptador diseñado para Pi Zero o la placa adaptadora de la cámara que viene junto con el Kit de desarrollo del módulo de cómputo. Hasta donde yo sé, comprar la placa adaptadora por separado es bastante caro. Por lo tanto, si como yo, decidió comprar su placa CM e IO por separado para ahorrar algo de dinero, le recomiendo que obtenga el cable adaptador de cámara diseñado para Pi Zero.

1 x Módulo de cámara Raspberry Pi: solo he probado la placa con el módulo de cámara original de 5MP y no con la versión más reciente de 8MP. Pero dado que el primero parece estar funcionando bien, no veo ninguna razón para que el segundo no lo haga, ya que se supone que es compatible con versiones anteriores. De cualquier manera, la versión de 5MP se puede encontrar por menos de 5 € en eBay hoy en día, por lo que recomiendo comprar una.

4 x cables de puente hembra a hembra: necesitará al menos 4 para configurar el conector de la cámara en la placa IO, sin embargo, es probable que desee obtener más. No son necesarios para la placa personalizada, pero pueden ser útiles si planea conectar cualquier hardware externo a través del encabezado GPIO.

1 x cable HDMI - Decidí usar un conector HDMI de tamaño completo en mi placa para eliminar la necesidad de adaptadores. Por supuesto, si prefiere utilizar un conector HDMI mini o incluso micro, no dude en adaptar el diseño a sus necesidades.

1 fuente de alimentación micro USB de 5 V: el cargador de su teléfono probablemente debería funcionar bien en la mayoría de los casos, siempre que pueda proporcionar al menos 1 A. Tenga en cuenta que esto es solo un valor general, sus requisitos reales de energía dependerán del hardware que decida incluir en su placa personalizada.

1 x Adaptador Ethernet USB: si planea instalar o actualizar prácticamente cualquier paquete en su sistema, necesitará al menos acceso temporal a Internet. Un adaptador Ethernet 2 en 1 más un concentrador USB probablemente sea una buena combinación, ya que solo tiene un puerto USB disponible. Personalmente, uso el Edimax EU-4208, que funciona de inmediato con el Pi y no requiere alimentación externa, pero no tiene un concentrador USB integrado. Si está pensando en comprar un adaptador Ethernet USB aquí, puede busque una lista con los que se han probado con la Raspberry Pi.

Si desea agregar más puertos USB e incluso Etherent directamente en su placa personalizada, le sugiero que eche un vistazo al LAN9512 de Microchip. Es el mismo chip utilizado por la Raspberry Pi Model B original y te dará 2 puertos USB y 1 puerto Ethernet. Alternativamente, si necesita 4 puertos USB, considere echarle un vistazo a su primo LAN9514.

1 x conector RAM DDR2 SODIMM: este es probablemente el componente más importante de toda la placa y probablemente el único que no se puede sustituir fácilmente. Para evitarle problemas, la pieza que debe obtener es el TE CONNECTIVITY 1473005-4. Está disponible en la mayoría de los principales proveedores, incluidos TME, Mouser y Digikey, por lo que no debería tener problemas para encontrarlo. Sin embargo, tenga mucho cuidado, verifique dos veces y asegúrese de que la pieza que está pidiendo sea, de hecho, la 1473005-4. No cometa el mismo error que yo y obtenga la versión reflejada, estos conectores no son baratos.

Para el resto de las partes que elijo incluir en el tablero, puede echar un vistazo a la lista de materiales para obtener más información. Intenté incluir enlaces a las hojas de datos para la mayoría de ellas.

Equipo de soldadura: los componentes más pequeños de la placa son los condensadores de desacoplamiento 0402, pero el HDMI, así como la cámara y los conectores SODIMM también pueden ser un poco desafiantes sin ningún tipo de aumento. Si tiene una buena experiencia con la soldadura SMD, piense que no debería ser un gran problema. De cualquier manera, si tiene acceso a un microscopio, lo recomiendo encarecidamente.

Paso 2: flasheo del EMMC

Lo primero que debe hacer antes de comenzar a usar su módulo de cómputo es actualizar la última imagen de Raspbian Lite en el eMMC. La documentación oficial de Raspberry Pi está muy bien escrita y describe todo el proceso con gran detalle tanto para Linux como para Windows. Por esa razón, solo describiré brevemente los pasos que debe seguir en Linux, para que puedan servir como referencia rápida.

En primer lugar, debe asegurarse de que su placa IO esté configurada en modo de programación y que el módulo de cómputo esté insertado en el conector SODIMM. Para poner la placa en modo de programación, mueva el puente J4 a la posición EN.

A continuación, necesitará crear la herramienta rpiboot en su sistema para poder usarla para obtener acceso al eMMC. Para hacerlo, necesita una copia del repositorio usbboot que se puede obtener fácilmente usando git de la siguiente manera, git clone --depth = 1 https://github.com/raspberrypi/usbboot && cd usbboot

Ahora, para construir rpiboot necesitas asegurarte de que tanto libusb-1.0-0-dev como los paquetes make estén instalados en tu sistema. Entonces, asumiendo que estás en una distribución basada en Debian como Ubuntu run, sudo apt update && sudo apt install libusb-1.0-0-dev make

Si no usa una distribución basada en Debian, el nombre del paquete libusb-1.0.0-dev puede ser diferente, así que asegúrese de averiguar cómo se llama en su caso. Una vez instaladas las dependencias de compilación, puede compilar el binario rpiboot simplemente ejecutando, hacer

Una vez completada la construcción, ejecute rpiboot como root y comenzará a esperar una conexión, sudo./rpiboot

Ahora conecte la placa IO a su computadora conectando un cable micro USB a su puerto USB SLAVE y luego aplique energía al puerto POWER IN. Después de unos segundos, rpiboot debería poder detectar el módulo de cálculo y permitirle acceder al eMMC. Eso debería resultar en un nuevo dispositivo de bloque que aparece bajo / dev. Puede utilizar el programa fdisk para encontrar el nombre del dispositivo, sudo fdisk -l

Disco / dev / sdi: 3,7 GiB, 3909091328 bytes, 7634944 sectores

Unidades: sectores de 1 * 512 = 512 bytes Tamaño del sector (lógico / físico): 512 bytes / 512 bytes Tamaño de E / S (mínimo / óptimo): 512 bytes / 512 bytes Tipo de etiqueta de disco: dos Identificador de disco: 0x8e3a9721

Dispositivo Arranque Inicio Fin Sectores Tamaño Id Tipo

/ dev / sdi1 8192 137215 129024 63M c W95 FAT32 (LBA) / dev / sdi2 137216 7634943 7497728 3.6G 83 Linux

En mi caso fue / dev / sdi, ya que tengo bastantes unidades ya conectadas en mi sistema, pero el tuyo definitivamente variará.

Una vez que esté absolutamente seguro de haber encontrado el nombre correcto del dispositivo, puede usar dd para grabar la imagen de Raspbian Lite en el eMMC. Sin embargo, antes de hacer eso, asegúrese de que no haya ninguna partición del eMMC ya montada en su sistema.

df -h

Si encuentra alguno, desmóntelo de la siguiente manera, sudo umount / dev / sdXY

Ahora tenga mucho cuidado, usar el nombre de dispositivo incorrecto con dd puede potencialmente destruir su sistema y causar la pérdida de datos. No continúe con el siguiente paso a menos que esté completamente seguro de que sabe lo que está haciendo. Si necesita más información, consulte la documentación al respecto.

sudo dd if = -raspbian-stretch-lite.img of = / dev / sdX bs = 4M && sync

Una vez que finalicen los comandos dd y sync, debería poder desconectar la placa IO de su computadora. Finalmente, no olvide volver a mover el puente J4 a la posición DIS y su Módulo de Computación debería estar listo para su primer arranque.

Paso 3: primer arranque

Antes de iniciar por primera vez, asegúrese de conectar un teclado USB y un monitor HDMI a su placa IO. Si todo sale como se esperaba y tu Pi termina de arrancar, tenerlos conectados te permitirá interactuar con él.

Cuando se le solicite que inicie sesión, use "pi" para el nombre de usuario y "raspberry" para la contraseña, ya que estas son las credenciales de inicio de sesión predeterminadas. Ahora puede ejecutar algunos comandos para asegurarse de que todo funcione como se esperaba, como lo haría normalmente en cualquier Raspberry Pi, pero no intente instalar nada todavía porque aún no tiene una conexión a Internet.

Una cosa importante que debe hacer antes de apagar su Pi es habilitar SSH, para que pueda conectarse desde su computadora después del próximo arranque. Puede hacerlo muy fácilmente usando el comando raspi-config, sudo raspi-config

Para habilitar SSH, vaya a Opciones de interfaz, seleccione SSH, elija SÍ, Aceptar y Finalizar. En caso de que se le pregunte si desea reiniciar, rechace. Una vez que haya terminado, apague su Pi y una vez que termine, desconecte la energía.

sudo shutdown -h ahora

A continuación, debe establecer una conexión a Internet utilizando el adaptador USB Ethernet que ya debería tener. Si su adaptador también cuenta con un concentrador USB, puede usarlo para conectar su teclado si lo desea, de lo contrario, puede simplemente conectarse a su Pi a través de SSH. De cualquier manera, mantenga el monitor HDMI conectado al menos por ahora, para asegurarse de que el proceso de arranque finalice como se esperaba.

Además, cerca del final, también debería mostrarle la dirección IP que su Pi obtuvo del servidor DHCP. Intente usar esto para conectarse a su Pi a través de SSH.

ssh pi @

Después de conectarse con éxito a su Pi a través de SSH, ya no necesita el monitor y el teclado enchufados, así que no dude en desenchufarlos si lo desea. En este punto, también debería tener acceso a Internet desde su Pi, puede intentar hacer ping a algo como google.com para verificarlo. Después de asegurarse de que tiene acceso a Internet, es una buena idea actualizar el sistema ejecutando, actualización de sudo apt && actualización de sudo apt

Paso 4: configurar la cámara

Configurar la cámara
Configurar la cámara

La mayor diferencia entre una placa Raspberry Pi normal y el módulo de cómputo es que, en el caso de la última, además de habilitar la cámara mediante raspi-config, también necesita un archivo de árbol de dispositivos personalizado.

Puede encontrar más información sobre la configuración del Módulo de cálculo para su uso con una cámara en la documentación. Pero en general, el conector de la cámara, entre los demás, también cuenta con 4 pines de control, que deben conectarse a 4 pines GPIO en el módulo de cómputo, y depende de usted decidir cuáles mientras diseña su placa personalizada.

En mi caso, al diseñar la placa, elijo CD1_SDA para ir a GPIO28, CD1_SCL a GPIO29, CAM1_IO1 a GPIO30 y CAM1_IO0 a GPIO31. Elegí estos pines GPIO en particular porque quería tener un encabezado GPIO de 40 pines en mi placa, que también mantiene la compatibilidad con el conector GPIO de las placas Raspberry Pi normales. Y por esa razón tuve que asegurarme de que los pines GPIO que estoy usando para la cámara no aparezcan también en el encabezado GPIO.

Entonces, a menos que decida hacer cambios en el cableado del conector de la cámara, necesita un /boot/dt-blob.bin que le indique a su Pi que configure GPIO28-31 como se describe arriba. Y para generar un dt-blob.bin, que es un archivo binario, necesita un dt-blob.dts para compilar. Para facilitar las cosas, voy a proporcionar mi propio dt-blob.dts para que lo use, que luego podrá adaptar a sus necesidades si es necesario.

Para compilar el archivo del árbol de dispositivos, utilice el compilador del árbol de dispositivos de la siguiente manera:

dtc -I dts -O dtb -o dt-blob.bin dt-blob.dts

No estoy seguro de por qué, pero lo anterior debería dar lugar a bastantes advertencias, pero siempre que dt-blob.bin se haya generado con éxito, todo debería estar bien. Ahora, mueva el dt-blob.bin que acaba de generar a / boot ejecutando, sudo mv dt-blob.bin /boot/dt-blob.bin

Lo anterior probablemente le dará la siguiente advertencia, mv: no se pudo conservar la propiedad de '/boot/dt-blob.bin': operación no permitida

Esto es solo mv quejándome de que no puede conservar la propiedad del archivo ya que / boot es una partición FAT, como era de esperar. Es posible que haya notado que /boot/dt-blob.bin no existe de forma predeterminada, esto se debe a que Pi usa un árbol de dispositivos integrado en su lugar. Agregar su propio inside / boot aunque anula el integrado y le permite configurar la función de su pin de la manera que desee. Puede encontrar más información sobre el árbol de dispositivos en la documentación.

Una vez hecho esto, debe habilitar la cámara, sudo raspi-config

Vaya a Opciones de interfaz, seleccione Cámara, elija SÍ, Aceptar y Finalizar. En caso de que se le pregunte si desea reiniciar, rechace. Ahora, apague su Pi y desconecte la energía.

Después de desconectar la alimentación de la placa IO, con 4 cables de puente hembra a hembra, conecte los pines para GPIO28 a CD1_SDA, GPIO29 a CD1_SCL, GPIO30 a CAM1_IO1 y GPIO31 a CAM1_IO0. Finalmente, conecte el módulo de su cámara al conector CAM1 usando la placa adaptadora de la cámara o un cable de cámara diseñado para la Raspberry Pi Zero y aplique energía.

Si todo funcionó como se esperaba después de que arrancara el Pi, debería poder utilizar la cámara. Para intentar tomar una foto después de conectarse a su Pi a través de SSH, ejecute, raspistill -o test.jpg

Si el comando termina sin errores y se crea un test.jpg, significa que funcionó. Si desea ver la foto que acaba de tomar, puede conectarse a su Pi a través de SFTP y transferirla a su computadora.

sftp pi @

sftp> obtener test.jpg sftp> salir

Paso 5: Pasar de la placa IO a una PCB personalizada

Pasar de la placa IO a una PCB personalizada
Pasar de la placa IO a una PCB personalizada
Pasar de la placa IO a una PCB personalizada
Pasar de la placa IO a una PCB personalizada
Pasar de la placa IO a una PCB personalizada
Pasar de la placa IO a una PCB personalizada

Ahora que ha terminado con toda la configuración básica, puede pasar al diseño de su propia placa personalizada basada en el módulo de cálculo. Dado que este será su primer proyecto, le recomiendo que tome mi diseño y lo amplíe para incluir cualquier hardware adicional que desee.

La parte posterior del tablero tiene mucho espacio para agregar sus propios componentes y, para proyectos relativamente pequeños, es probable que ni siquiera tenga que aumentar las dimensiones del tablero. Además, en caso de que este sea un proyecto independiente y no necesite un encabezado GPIO físico en su placa, puede deshacerse de él fácilmente y ahorrar algo de espacio en la parte superior de la PCB. El encabezado GPIO también es el único componente que se enruta a través de la segunda capa interna y, al eliminarlo, se libera por completo.

Debo señalar que he ensamblado y probado con éxito una de las placas yo mismo, y he verificado que todo, incluida la cámara y la salida HDMI, parece funcionar como se esperaba. Por lo tanto, mientras no realice cambios importantes en la forma en que enrute todo, no debería tener ningún problema.

Sin embargo, en caso de que tenga que hacer algunos cambios importantes en el diseño, tenga en cuenta que la mayoría de los rastros que van a los conectores HDMI y de la cámara se enrutan como pares diferenciales de 100 ohmios. Esto significa que debes tener esto en cuenta en caso de que tengas que moverlos por el tablero. Además, significa que incluso si elimina el encabezado GPIO de su diseño, lo que significa que ahora las capas internas no contendrán ningún rastro, aún necesita una PCB de 4 capas para lograr una impedancia diferencial cercana a los 100 ohmios. Sin embargo, si no va a hacer uso de la salida HDMI y la cámara, debería poder optar por una placa de 2 capas deshaciéndose de ellas y reduciendo un poco el costo de las placas.

Solo como referencia, las placas se pidieron a ALLPCB con un grosor total de 1,6 mm y no pedí control de impedancia, ya que probablemente aumentaría un poco el costo y también quería ver si importaba. También seleccioné el acabado dorado de inmersión para facilitar la soldadura manual de los conectores, ya que garantiza que todas las almohadillas serán agradables y planas.

Recomendado: