Table des matières:

Concevez votre propre PCB de module de calcul Raspberry Pi : 5 étapes (avec photos)
Concevez votre propre PCB de module de calcul Raspberry Pi : 5 étapes (avec photos)

Vidéo: Concevez votre propre PCB de module de calcul Raspberry Pi : 5 étapes (avec photos)

Vidéo: Concevez votre propre PCB de module de calcul Raspberry Pi : 5 étapes (avec photos)
Vidéo: Logiciel gratuit pour tracer, dessiner des circuits électroniques, des pistes, des composants ... 2024, Juillet
Anonim
Concevez votre propre PCB de module de calcul Raspberry Pi
Concevez votre propre PCB de module de calcul Raspberry Pi
Concevez votre propre PCB de module de calcul Raspberry Pi
Concevez votre propre PCB de module de calcul Raspberry Pi
Concevez votre propre PCB de module de calcul Raspberry Pi
Concevez votre propre PCB de module de calcul Raspberry Pi

Si vous n'avez jamais entendu parler du module de calcul Raspberry Pi auparavant, il s'agit essentiellement d'un ordinateur Linux à part entière avec le facteur de forme d'une clé RAM pour ordinateur portable !

Avec, il devient possible de concevoir vos propres cartes personnalisées où le Raspberry Pi n'est qu'un autre composant. Cela vous donne une énorme flexibilité car cela vous permet d'avoir accès à un nombre beaucoup plus important de broches d'E/S, tout en choisissant exactement le matériel que vous voulez sur votre carte. L'eMMC intégré élimine également le besoin d'une carte micro SD externe, ce qui rend le module de calcul parfait pour la conception de produits basés sur Raspberry Pi.

Malheureusement, bien que le module de calcul vous permette de faire tout cela, il semble toujours manquer de popularité par rapport aux modèles traditionnels Raspberry Pi A et B. En conséquence, il n'y a pas beaucoup de projets matériels open source basés sur ce. Et pour tous ceux qui souhaitent se lancer dans la conception de leurs propres cartes, la quantité de ressources dont ils disposent est plutôt limitée.

Lorsque j'ai commencé avec le module de calcul Raspberry Pi il y a quelques mois, c'était exactement le problème auquel j'étais confronté. Alors, j'ai décidé de faire quelque chose à ce sujet. J'ai décidé de concevoir un PCB open source basé sur le module de calcul, qui aura toutes les fonctionnalités de base qui rendent le Raspberry Pi génial. Cela comprend un connecteur de caméra, un hôte USB, une sortie audio, HDMI et bien sûr un en-tête GPIO compatible avec les cartes Raspberry Pi classiques.

L'objectif de ce projet est de fournir une conception open source pour une carte basée sur un module de calcul, que tout le monde pourra utiliser comme point de départ pour concevoir sa propre carte personnalisée. La carte a été conçue sur KiCAD, un progiciel EDA open source et multiplateforme, afin de permettre au plus grand nombre d'en profiter.

Saisissez simplement les fichiers de conception, adaptez-les à vos besoins et créez votre propre planche personnalisée pour votre projet.

Étape 1: Pièces et outils

Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils
Pièces et outils

Pour commencer avec le module de calcul Raspberry Pi, vous aurez besoin des pièces suivantes:

1 x Raspberry Pi Compute Module 3 - Je recommande fortement d'obtenir la version régulière qui inclut l'eMMC embarqué et non la version Lite. Si vous souhaitez utiliser la version Lite dans votre projet, vous devrez apporter quelques modifications à la conception, notamment en ajoutant un connecteur de carte micro SD. Enfin, je n'ai testé la carte qu'avec le CM3 et je ne peux pas garantir qu'elle fonctionnera avec la première version CM sortie en 2014.

Mise à jour 29/1/2019: il semble que la Fondation vient de publier le module de calcul 3+ et pas seulement cela, mais il est désormais également disponible en option pour un eMMC de 8 Go, 16 Go ou 32 Go ! Selon la fiche technique, il semble que le CM3+ soit électriquement identique au CM3, ce qui signifie qu'il s'agit essentiellement d'un remplacement pour le CM3.

1 x carte E/S du module de calcul - Ma conception était destinée à servir de point de départ pour concevoir votre propre carte personnalisée basée sur celle-ci, et non à remplacer la carte E/S du module de calcul. Donc, pour vous faciliter la vie, je vous recommande fortement de mettre la main sur une carte IO et de l'utiliser pour le développement avant de passer à une carte personnalisée. En plus de vous donner accès à chaque broche du CM ainsi qu'à une variété de connecteurs, la carte IO est également nécessaire pour flasher l'eMMC intégré. Ce qui est quelque chose que vous ne pouvez pas faire avec mon tableau, à moins que vous ne fassiez d'abord quelques modifications au design.

1 x Raspberry Pi Zero Camera Cable ou Compute Module Camera Adapter - Sur ma conception, j'utilise un connecteur de caméra très similaire à celui utilisé par la carte E/S du module de calcul et le Raspberry Pi Zero. Ainsi, pour connecter une caméra, vous aurez besoin d'un câble adaptateur conçu pour le Pi Zero ou de la carte adaptateur de caméra fournie avec le kit de développement du module de calcul. Pour autant que je sache, l'achat de la carte adaptateur séparément est assez cher. Donc, si vous avez décidé comme moi d'acheter votre CM et votre carte IO séparément pour économiser de l'argent, je vous conseille plutôt de vous procurer le câble adaptateur de caméra conçu pour le Pi Zero.

1 x module de caméra Raspberry Pi - J'ai uniquement testé la carte avec le module de caméra d'origine 5MP et non la nouvelle version 8MP. Mais comme le premier semble fonctionner très bien, je ne vois aucune raison pour le second, car il est censé être rétrocompatible. Quoi qu'il en soit, la version 5MP peut être trouvée pour moins de 5 € sur eBay de nos jours, c'est pourquoi je vous recommande d'en acheter une.

4 x câbles de raccordement femelle à femelle - Vous aurez besoin d'au moins 4 pour configurer le connecteur de la caméra sur la carte IO, vous voudrez probablement en obtenir plus. Ils ne sont pas nécessaires pour la carte personnalisée mais peuvent être utiles si vous prévoyez de connecter un matériel externe via l'en-tête GPIO.

1 x câble HDMI - J'ai décidé d'utiliser un connecteur HDMI pleine taille sur ma carte pour éliminer le besoin d'adaptateurs. Bien entendu, si vous préférez utiliser un connecteur mini ou même micro HDMI, n'hésitez pas à adapter le design à vos besoins.

1 x 5V Micro USB Power Supply - Votre chargeur de téléphone devrait probablement faire l'affaire dans la plupart des cas tant qu'il peut fournir au moins 1A. Gardez à l'esprit qu'il ne s'agit que d'une valeur générale, vos besoins réels en alimentation dépendront du matériel que vous décidez d'inclure sur votre carte personnalisée.

1 x adaptateur Ethernet USB - Si vous prévoyez d'installer ou de mettre à jour à peu près n'importe quel package sur votre système, vous aurez besoin d'au moins un accès Internet temporaire. Un adaptateur Ethernet 2 en 1 plus un hub USB est probablement un bon combo car vous n'avez qu'un seul port USB disponible. Personnellement, j'utilise l'Edimax EU-4208 qui fonctionne directement avec le Pi et ne nécessite pas d'alimentation externe, mais il n'a pas de concentrateur USB intégré. Si vous envisagez d'acheter un adaptateur Ethernet USB ici, vous pouvez trouvez une liste de ceux qui ont été testés avec le Raspberry Pi.

Si vous souhaitez ajouter plus de ports USB et même Etherent directement sur votre carte personnalisée, je vous suggère de jeter un œil au LAN9512 de Microchip. C'est la même puce utilisée par le Raspberry Pi modèle B d'origine et va vous donner 2 ports USB et 1 port Ethernet. Alternativement, si vous avez besoin de 4 ports USB, pensez à jeter un œil à son cousin LAN9514.

1 x connecteur RAM DDR2 SODIMM - C'est probablement le composant le plus important de toute la carte et probablement le seul qui ne peut pas être facilement remplacé. Pour vous éviter les ennuis, la pièce que vous devriez obtenir est le TE CONNECTIVITY 1473005-4. Il est disponible auprès de la plupart des principaux fournisseurs, notamment TME, Mouser et Digikey, vous ne devriez donc avoir aucun problème à le trouver. Soyez très prudent cependant, vérifiez et assurez-vous que la pièce que vous commandez est bien la 1473005-4. Ne faites pas la même erreur que moi et obtenez la version miroir, ces connecteurs ne sont pas bon marché.

Pour le reste des pièces que j'ai choisi d'inclure sur le tableau, vous pouvez consulter la nomenclature pour obtenir plus d'informations, j'ai essayé d'inclure des liens vers les fiches techniques pour la plupart d'entre elles.

Équipement de soudage - Les plus petits composants de la carte sont les condensateurs de découplage 0402, mais les connecteurs HDMI ainsi que la caméra et les connecteurs SODIMM peuvent également être un peu difficiles sans aucun type de grossissement. Si vous avez une bonne expérience de la soudure SMD, pensez que cela ne devrait pas être un gros problème. Quoi qu'il en soit, si vous avez accès à un microscope, je le recommande vivement.

Étape 2: Flasher l'EMMC

La première chose que vous devez faire avant de commencer à utiliser votre module de calcul est de flasher la dernière image Raspbian Lite sur l'eMMC. La documentation officielle de Raspberry Pi est très bien écrite et décrit l'ensemble du processus en détail pour Linux et Windows. Pour cette raison, je ne vais décrire que très brièvement les étapes à suivre sous Linux, afin qu'elles puissent servir de référence rapide.

Tout d'abord, vous devez vous assurer que votre carte IO est en mode programmation et que le module de calcul est inséré dans le connecteur SODIMM. Pour mettre la carte en mode programmation, déplacez le cavalier J4 sur la position EN.

Ensuite, vous devrez créer l'outil rpiboot sur votre système afin de pouvoir l'utiliser pour accéder à l'eMMC. Pour ce faire, vous avez besoin d'une copie du référentiel usbboot qui peut être obtenu facilement en utilisant git comme suit, git clone --depth=1 https://github.com/raspberrypi/usbboot && cd usbboot

Maintenant, afin de compiler rpiboot, vous devez vous assurer que les packages libusb-1.0-0-dev et make sont installés sur votre système. Donc, en supposant que vous soyez sur une distribution basée sur Debian telle qu'Ubuntu, sudo apt update && sudo apt install libusb-1.0-0-dev make

Si vous n'utilisez pas de distribution basée sur Debian, le nom du paquet libusb-1.0.0-dev peut être différent, alors assurez-vous de trouver comment il est appelé dans votre cas. Une fois les dépendances de build installées, vous pouvez construire le binaire rpiboot simplement en exécutant, Fabriquer

Une fois la construction terminée, exécutez rpiboot en tant que root et il commencera à attendre une connexion, sudo./rpiboot

Branchez maintenant la carte IO à votre ordinateur en connectant un câble micro USB à son port USB SLAVE, puis mettez sous tension le port POWER IN. Après quelques secondes, le rpiboot devrait pouvoir détecter le module de calcul et vous permettre d'accéder à l'eMMC. Cela devrait entraîner un nouveau périphérique de bloc apparaissant sous /dev. Vous pouvez utiliser le programme fdisk pour vous aider à trouver le nom de l'appareil, sudo fdisk -l

Disque /dev/sdi: 3,7 Gio, 3909091328 octets, 7634944 secteurs

Unités: secteurs de 1 * 512 = 512 octets Taille du secteur (logique/physique): 512 octets / 512 octets Taille des E/S (minimum/optimal): 512 octets / 512 octets Type de label: dos Identificateur de disque: 0x8e3a9721

Périphérique Boot Début Fin Secteurs Taille Id Type

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

Dans mon cas, c'était /dev/sdi car j'ai déjà quelques lecteurs connectés sur mon système, mais le vôtre variera très certainement.

Une fois que vous êtes absolument sûr d'avoir trouvé le bon nom de périphérique, vous pouvez utiliser dd pour graver l'image Raspbian Lite sur l'eMMC. Avant de faire cela, assurez-vous qu'aucune partition de l'eMMC n'est déjà montée sur votre système.

df -h

Si vous en trouvez, démontez-les comme suit, sudo umount /dev/sdXY

Maintenant, soyez extrêmement prudent, l'utilisation d'un mauvais nom de périphérique avec dd peut potentiellement détruire votre système et entraîner une perte de données. Ne passez pas à l'étape suivante à moins d'être complètement sûr de savoir ce que vous faites. Si vous avez besoin de plus d'informations, veuillez consulter la documentation à ce sujet.

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

Une fois les commandes dd et sync terminées, vous devriez pouvoir débrancher la carte IO de votre ordinateur. Enfin, n'oubliez pas de remettre le cavalier J4 en position DIS et votre module de calcul devrait être prêt pour son premier démarrage.

Étape 3: premier démarrage

Avant de démarrer pour la première fois, assurez-vous de brancher un clavier USB et un moniteur HDMI sur votre carte IO. Si tout se passe comme prévu et que votre Pi a fini de démarrer, les avoir attachés vous permettra d'interagir avec lui.

Lorsque vous êtes invité à vous connecter, utilisez "pi" pour le nom d'utilisateur et "raspberry" pour le mot de passe car ce sont les informations de connexion par défaut. Vous pouvez maintenant exécuter certaines commandes pour vous assurer que tout fonctionne comme prévu comme vous le feriez normalement sur n'importe quel Raspberry Pi, mais n'essayez pas d'installer quoi que ce soit pour le moment car vous n'avez toujours pas de connexion Internet.

Une chose importante que vous devez faire avant d'éteindre votre Pi est d'activer SSH, afin que vous puissiez vous y connecter à partir de votre ordinateur après le prochain démarrage. Vous pouvez le faire très facilement en utilisant la commande raspi-config, sudo raspi-config

Pour activer SSH, allez dans Options d'interfaçage, sélectionnez SSH, choisissez OUI, OK et Terminer. Au cas où l'on vous demanderait si vous souhaitez redémarrer, refusez. Une fois que vous avez terminé, éteignez votre Pi et une fois qu'il a terminé, coupez l'alimentation.

sudo shutdown -h now

Ensuite, vous devez établir une connexion Internet à l'aide de l'adaptateur Ethernet USB que vous devriez déjà avoir. Si votre adaptateur dispose également d'un concentrateur USB, vous pouvez l'utiliser pour brancher votre clavier si vous le souhaitez, sinon vous pouvez simplement vous connecter à votre Pi via SSH. Dans tous les cas, gardez le moniteur HDMI branché au moins pour le moment, pour vous assurer que le processus de démarrage se termine comme prévu.

De plus, vers la fin, il devrait également vous montrer l'adresse IP que votre Pi a obtenue du serveur DHCP. Essayez de l'utiliser pour vous connecter à votre Pi via SSH.

ssh pi@

Après avoir réussi à vous connecter à votre Pi via SSH, vous n'avez plus besoin du moniteur et du clavier branchés, alors n'hésitez pas à les débrancher si vous le souhaitez. À ce stade, vous devriez également avoir accès à Internet depuis votre Pi, vous pouvez essayer de faire un ping sur quelque chose comme google.com pour le vérifier. Après vous être assuré que vous avez accès à Internet, c'est une bonne idée de mettre à jour le système en exécutant, mise à jour sudo apt && mise à jour sudo apt

Étape 4: Configuration de la caméra

Configuration de la caméra
Configuration de la caméra

La plus grande différence entre une carte Raspberry Pi ordinaire et le module de calcul est que dans le cas de ce dernier, en plus de simplement activer la caméra en utilisant raspi-config, vous avez également besoin d'un fichier d'arborescence de périphérique personnalisé.

Vous pouvez trouver plus d'informations concernant la configuration du module de calcul pour une utilisation avec une caméra dans la documentation. Mais en général, le connecteur de la caméra parmi les autres comporte également 4 broches de contrôle, qui doivent être connectées à 4 broches GPIO sur le module de calcul, et c'est à vous de décider lesquelles lors de la conception de votre carte personnalisée.

Dans mon cas, lors de la conception de la carte, je choisis CD1_SDA pour aller à GPIO28, CD1_SCL à GPIO29, CAM1_IO1 à GPIO30 et CAM1_IO0 à GPIO31. J'ai choisi ces broches GPIO particulières car je voulais avoir un en-tête GPIO à 40 broches sur ma carte, qui maintient également la compatibilité avec le connecteur GPIO des cartes Raspberry Pi classiques. Et pour cette raison, je devais m'assurer que les broches GPIO que j'utilise pour la caméra n'apparaissent pas également dans l'en-tête GPIO.

Ainsi, à moins que vous ne décidiez d'apporter des modifications au câblage du connecteur de la caméra, vous avez besoin d'un fichier /boot/dt-blob.bin qui indique à votre Pi de configurer GPIO28-31 comme décrit ci-dessus. Et pour générer un dt-blob.bin, qui est un fichier binaire, vous avez besoin d'un dt-blob.dts à compiler. Pour faciliter les choses, je vais vous fournir mon propre dt-blob.dts que vous pourrez ensuite adapter à vos besoins si vous le devez.

Pour compiler le fichier d'arborescence de périphériques, utilisez le compilateur d'arborescence de périphériques comme suit:

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

Je ne sais pas pourquoi, mais ce qui précède devrait entraîner de nombreux avertissements, mais tant que le dt-blob.bin a été généré avec succès, tout devrait bien se passer. Maintenant, déplacez le dt-blob.bin que vous venez de générer vers /boot en exécutant, sudo mv dt-blob.bin /boot/dt-blob.bin

Ce qui précède vous donnera probablement l'avertissement suivant, mv: échec de la conservation de la propriété pour '/boot/dt-blob.bin': opération non autorisée

Il s'agit simplement de mv se plaignant qu'il ne peut pas préserver la propriété du fichier car /boot est une partition FAT à laquelle il faut s'attendre. Vous avez peut-être remarqué que /boot/dt-blob.bin n'existe pas par défaut, c'est parce que le Pi utilise à la place une arborescence de périphériques intégrée. L'ajout de votre propre intérieur / boot remplace celui intégré et vous permet de configurer la fonction de sa broche comme vous le souhaitez. Vous pouvez en savoir plus sur l'arborescence des périphériques dans la documentation.

Après cela, vous devez activer la caméra, sudo raspi-config

Allez dans Options d'interfaçage, sélectionnez Appareil photo, choisissez OUI, OK et Terminer. Au cas où l'on vous demanderait si vous souhaitez redémarrer, refusez. Maintenant, éteignez votre Pi et coupez l'alimentation.

Une fois l'alimentation de la carte IO coupée, à l'aide de 4 cavaliers femelles à femelles, connectez les broches pour GPIO28 à CD1_SDA, GPIO29 à CD1_SCL, GPIO30 à CAM1_IO1 et GPIO31 à CAM1_IO0. Enfin, connectez votre module de caméra au connecteur CAM1 à l'aide de la carte adaptateur de caméra ou d'un câble de caméra conçu pour le Raspberry Pi Zero et mettez sous tension.

Si tout a fonctionné comme prévu après le démarrage du Pi, vous devriez pouvoir utiliser l'appareil photo. Pour essayer de prendre une photo après vous être connecté à votre Pi via SSH, exécutez, raspistill -o test.jpg

Si la commande se termine sans erreur et qu'un test-j.webp

sftp pi@

sftp> obtenir test.jpg sftp> quitter

Étape 5: Passer de la carte IO à un PCB personnalisé

Passer de la carte IO à un PCB personnalisé
Passer de la carte IO à un PCB personnalisé
Passer de la carte IO à un PCB personnalisé
Passer de la carte IO à un PCB personnalisé
Passer de la carte IO à un PCB personnalisé
Passer de la carte IO à un PCB personnalisé

Maintenant que vous avez terminé avec toute la configuration de base, vous pouvez passer à la conception de votre propre carte personnalisée basée sur le module de calcul. Puisqu'il s'agira de votre premier projet, je vous encourage vivement à saisir mon design et à l'étendre pour inclure tout matériel supplémentaire que vous aimez.

L'arrière de la carte a beaucoup d'espace pour ajouter vos propres composants et pour des projets relativement petits, vous n'avez probablement même pas besoin d'augmenter les dimensions de la carte. De plus, s'il s'agit d'un projet autonome et que vous n'avez pas besoin d'un en-tête GPIO physique sur votre carte, vous pouvez facilement vous en débarrasser et économiser de l'espace sur la face supérieure du PCB. L'en-tête GPIO est également le seul composant qui est acheminé à travers la deuxième couche interne et le retirer le libère complètement.

Je dois souligner que j'ai moi-même assemblé et testé avec succès l'une des cartes et que j'ai vérifié que tout, y compris la caméra et la sortie HDMI, semble fonctionner comme prévu. Donc, tant que vous n'apportez pas de changements énormes à la façon dont j'ai tout acheminé, vous ne devriez pas avoir de problèmes.

Au cas où vous deviez apporter de gros changements à la disposition, gardez à l'esprit que la plupart des traces qui vont aux connecteurs HDMI et de la caméra sont acheminées sous forme de paires différentielles de 100 ohms. Cela signifie que vous devez en tenir compte au cas où vous devriez les déplacer sur le plateau. Cela signifie également que même si vous supprimez l'en-tête GPIO de votre conception, ce qui signifie que désormais les couches internes ne contiendront plus aucune trace, vous avez toujours besoin d'un PCB à 4 couches pour obtenir une impédance différentielle proche de 100 Ohm. Si vous n'utilisez pas la sortie HDMI et la caméra, vous devriez pouvoir utiliser une carte à 2 couches en vous en débarrassant et en réduisant un peu le coût des cartes.

Juste pour référence, les cartes ont été commandées auprès d'ALLPCB avec une épaisseur totale de 1,6 mm et je n'ai pas demandé de contrôle d'impédance, car cela augmenterait probablement un peu le coût et je voulais aussi voir si cela aurait de l'importance. J'ai également choisi une finition dorée par immersion pour faciliter le soudage à la main des connecteurs, car cela garantit que tous les plots seront beaux et plats.

Conseillé: