Índice:
- Etapa 1: Peças e Ferramentas
- Etapa 2: Atualizando o EMMC
- Etapa 3: primeira inicialização
- Etapa 4: Configurando a câmera
- Etapa 5: Mudança da placa IO para uma PCB personalizada
Vídeo: Projete seu próprio PCB de módulo de computação do Raspberry Pi: 5 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Se você nunca ouviu falar do Módulo de computação Raspberry Pi antes, ele é basicamente um computador Linux totalmente desenvolvido com o formato de um pendrive RAM de laptop!
Com ele torna-se possível projetar seus próprios painéis personalizados onde o Raspberry Pi é apenas mais um componente. Isso lhe dá uma enorme flexibilidade, pois permite que você tenha acesso a uma quantidade muito maior de pinos de IO, enquanto ao mesmo tempo você escolhe exatamente o hardware que deseja na sua placa. O eMMC integrado também elimina a necessidade de um cartão micro SD externo, o que torna o Módulo de computação perfeito para projetar produtos baseados em Raspberry Pi.
Infelizmente, embora o Compute Module permita que você faça tudo isso, ele ainda parece estar faltando em termos de popularidade em comparação com o Raspberry Pi Model A e B. Como resultado, não existem muitos projetos de hardware de código aberto baseados em isto. E para qualquer pessoa que queira começar a projetar seus próprios painéis, a quantidade de recursos de que dispõe é bastante limitada.
Quando comecei a usar o Módulo de computação do Raspberry Pi alguns meses atrás, esse foi exatamente o problema que eu estava enfrentando. Então, decidi fazer algo a respeito. Decidi projetar um PCB de código aberto baseado no Compute Module, que terá todos os recursos básicos que tornam o Raspberry Pi excelente. Isso inclui um conector de câmera, host USB, saída de áudio, HDMI e, claro, um conector GPIO compatível com as placas Raspberry Pi regulares.
O objetivo deste projeto é fornecer um design de código aberto para uma placa baseada no Compute Module, que qualquer pessoa poderá usar como ponto de partida para projetar sua própria placa personalizada. A placa foi projetada em KiCAD, um pacote de software de EDA de código aberto e plataforma cruzada, a fim de permitir que o maior número de pessoas possível aproveite-o.
Simplesmente pegue os arquivos de design, adapte-os às suas necessidades e gire seu próprio quadro personalizado para o seu projeto.
Etapa 1: Peças e Ferramentas
Para começar a usar o Módulo de computação do Raspberry Pi, você precisará das seguintes peças:
1 x Módulo 3 do Raspberry Pi Compute - Eu recomendo fortemente obter a versão regular que inclui o eMMC integrado e não a versão Lite. Se você quiser usar a versão Lite em seu projeto, terá que fazer algumas alterações no design, e isso inclui adicionar um conector de cartão micro SD. Por fim, testei a placa apenas com o CM3 e não posso garantir que funcionará com a primeira versão do CM lançada em 2014.
Atualização 2019-01-29: Parece que a Fundação acaba de lançar o Compute Module 3+ e não só isso, mas agora também vem com a opção de um eMMC de 8GB, 16GB ou 32GB! De acordo com a folha de dados, parece que o CM3 + é elétrico idêntico ao CM3, o que significa que é basicamente uma queda na substituição do CM3.
1 x Placa de IO do módulo de computação - Meu projeto foi criado para servir como um ponto de partida para projetar sua própria placa personalizada com base nela, não para substituir a placa de IO do módulo de computação. Portanto, para tornar sua vida mais fácil, eu recomendo colocar as mãos em uma placa IO e usá-la para o desenvolvimento antes de mudar para uma placa personalizada. Além de dar a você acesso a cada pino do CM mais uma variedade de conectores, a placa IO também é necessária para atualizar o eMMC integrado. O que é algo que você não pode fazer com a minha placa, a menos que você faça algumas alterações no design primeiro.
1 x Raspberry Pi Zero Camera Cable ou Compute Module Camera Adapter - No meu projeto, estou usando um conector de câmera muito semelhante ao usado pela placa de IO do módulo de computação e pelo Raspberry Pi Zero. Portanto, para conectar uma câmera, você precisará de um cabo adaptador projetado para o Pi Zero ou da placa adaptadora da câmera que vem junto com o Compute Module Development Kit. Pelo que eu sei, comprar a placa adaptadora separadamente é bastante caro. Então, se você gosta de mim, decidiu comprar seu CM e IO Board separadamente para economizar algum dinheiro, eu aconselho você a obter o cabo adaptador de câmera projetado para o Pi Zero.
1 x Módulo de câmera Raspberry Pi - Eu apenas testei a placa com o módulo de câmera 5MP original e não com a versão mais recente de 8MP. Mas, uma vez que o primeiro parece estar funcionando bem, não vejo razão para o último não funcionar, pois é suposto ser compatível com as versões anteriores. De qualquer forma, a versão 5MP pode ser encontrada por menos de 5 € no eBay hoje em dia, por isso eu recomendo comprar uma.
4 cabos de ligação fêmea para fêmea - você vai precisar de pelo menos 4 para configurar o conector da câmera na placa IO, mas provavelmente você vai querer mais. Eles não são necessários para a placa personalizada, mas podem ser úteis se você planeja conectar qualquer hardware externo por meio do cabeçalho GPIO.
1 x cabo HDMI - decidi usar um conector HDMI de tamanho normal na minha placa para eliminar a necessidade de adaptadores. Claro, se você preferir usar um conector mini ou micro HDMI, fique à vontade para adaptar o design às suas necessidades.
Fonte de alimentação micro USB de 1 x 5V - O carregador do telefone provavelmente deve funcionar bem na maioria dos casos, desde que possa fornecer pelo menos 1A. Lembre-se de que este é apenas um valor geral, seus requisitos reais de energia dependerão do hardware que você decidir incluir em sua placa personalizada.
1 adaptador Ethernet USB - Se você planeja instalar ou atualizar praticamente qualquer pacote em seu sistema, precisará de pelo menos acesso temporário à Internet. Um adaptador Ethernet 2 em 1 mais hub USB é provavelmente uma boa combinação, pois você só tem uma porta USB disponível. Pessoalmente, eu uso o Edimax EU-4208, que funciona fora da caixa com o Pi e não requer alimentação externa, mas não tem um hub USB embutido. Se você está pensando em comprar um adaptador Ethernet USB aqui, você pode encontre uma lista com os que foram testados com o Raspberry Pi.
Se você quiser adicionar mais portas USB e até mesmo Etherent diretamente em sua placa personalizada, sugiro dar uma olhada no LAN9512 da Microchip. É o mesmo chip usado pelo Raspberry Pi Modelo B original e vai lhe dar 2 portas USB e 1 porta Ethernet. Alternativamente, se você precisa de 4 portas USB, considere dar uma olhada em seu primo LAN9514.
1 x Conector de RAM DDR2 SODIMM - Este é provavelmente o componente mais importante de toda a placa e provavelmente o único que não pode ser facilmente substituído. Para evitar problemas, a parte que você deve obter é o TE CONNECTIVITY 1473005-4. Ele está disponível na maioria dos principais fornecedores, incluindo TME, Mouser e Digikey, portanto, você não deve ter problemas para encontrá-lo. Porém, tenha muito cuidado, verifique novamente e certifique-se de que a peça que você está solicitando seja de fato a 1473005-4. Não cometa o mesmo erro que eu cometi e pegue a versão espelhada, esses conectores não são baratos.
Para o restante das partes que escolhi incluir no quadro, você pode dar uma olhada na lista de materiais para obter mais informações. Tentei incluir links para as planilhas de dados da maioria delas.
Equipamento de solda - Os menores componentes da placa são os capacitores de desacoplamento 0402, mas o HDMI, bem como a câmera e os conectores SODIMM também podem ser um pouco desafiadores sem qualquer tipo de ampliação. Se você tem boa experiência com solda SMD, não deve ser um grande problema. De qualquer forma, se você tiver acesso a um microscópio, eu o recomendo fortemente.
Etapa 2: Atualizando o EMMC
A primeira coisa que você precisa fazer antes de começar a usar seu Módulo de computação é atualizar a imagem Raspbian Lite mais recente no eMMC. A documentação oficial do Raspberry Pi é muito bem escrita e descreve todo o processo em detalhes para Linux e Windows. Por esse motivo, apenas descreverei brevemente as etapas que você precisa realizar no Linux, para que possam servir como uma referência rápida.
Em primeiro lugar, você precisa ter certeza de que sua placa IO está configurada para o modo de programação e que o Módulo de computação está inserido no conector SODIMM. Para definir a placa no modo de programação, mova o jumper J4 para a posição EN.
Em seguida, você precisará construir a ferramenta rpiboot em seu sistema para que possa usá-la para obter acesso ao eMMC. Para fazer isso, você precisa de uma cópia do repositório usbboot, que pode ser obtido facilmente usando git da seguinte forma, git clone --depth = 1 https://github.com/raspberrypi/usbboot && cd usbboot
Agora, para construir o rpiboot, você precisa ter certeza de que os pacotes libusb-1.0-0-dev e make estão instalados em seu sistema. Então, supondo que você esteja em uma distribuição baseada em Debian, como o Ubuntu run, sudo apt update && sudo apt install libusb-1.0-0-dev make
Se você não usa uma distribuição baseada em Debian, o nome do pacote libusb-1.0.0-dev pode ser diferente, então certifique-se de descobrir como ele é chamado no seu caso. Uma vez que as dependências de compilação são instaladas, você pode construir o binário rpiboot simplesmente executando, faço
Depois que a construção for concluída, execute rpiboot como root e ele começará a esperar por uma conexão, sudo./rpiboot
Agora conecte a placa IO ao computador conectando um cabo micro USB à porta USB SLAVE e, em seguida, aplique energia à porta POWER IN. Após alguns segundos, o rpiboot deve ser capaz de detectar o Módulo de computação e permitir que você acesse o eMMC. Isso deve resultar em um novo dispositivo de bloco aparecendo em / dev. Você pode usar o programa fdisk para ajudá-lo a encontrar o nome do dispositivo, sudo fdisk -l
Disco / dev / sdi: 3,7 GiB, 3909091328 bytes, 7634944 setores
Unidades: setores de 1 * 512 = 512 bytes Tamanho do setor (lógico / físico): 512 bytes / 512 bytes Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes Tipo de Disklabel: dos Identificador de disco: 0x8e3a9721
Tipo de Id do tamanho dos setores de inicialização da inicialização do dispositivo
/ dev / sdi1 8192 137215 129024 63M c W95 FAT32 (LBA) / dev / sdi2 137216 7634943 7497728 3,6G 83 Linux
No meu caso, era / dev / sdi, pois já tenho algumas unidades conectadas ao meu sistema, mas a sua com certeza vai variar.
Depois de ter certeza absoluta de que encontrou o nome do dispositivo correto, você pode usar o dd para gravar a imagem Raspbian Lite no eMMC. Antes de fazer isso, certifique-se de que não haja nenhuma partição do eMMC já montada em seu sistema.
df -h
Se você encontrar algum, desmonte-os da seguinte maneira, sudo umount / dev / sdXY
Agora seja extremamente cuidadoso, usar o nome de dispositivo errado com dd pode destruir seu sistema e causar perda de dados. Não prossiga com a próxima etapa a menos que tenha certeza absoluta de que sabe o que está fazendo. Se precisar de mais informações, dê uma olhada na documentação a respeito.
sudo dd if = -raspbian-stretch-lite.img of = / dev / sdX bs = 4M && sync
Depois que os comandos dd e sync terminarem, você poderá desconectar a placa IO do computador. Finalmente, não se esqueça de mover o jumper J4 de volta para a posição DIS e seu Módulo de computação deve estar pronto para sua primeira inicialização.
Etapa 3: primeira inicialização
Antes de inicializar pela primeira vez, certifique-se de conectar um teclado USB e um monitor HDMI à placa IO. Se tudo correr conforme o esperado e seu Pi terminar de inicializar, tê-los anexados permitirá que você interaja com ele.
Quando for solicitado que você faça o login, use "pi" como nome de usuário e "raspberry" como senha, pois essas são as credenciais de login padrão. Agora você pode executar alguns comandos para se certificar de que tudo está funcionando conforme o esperado, como faria normalmente em qualquer Raspberry Pi, mas não tente instalar nada ainda porque você ainda não tem uma conexão com a Internet.
Uma coisa importante que você precisa fazer antes de desligar o Pi é habilitar o SSH, para que você possa se conectar a ele a partir do computador após a próxima inicialização. Você pode fazer isso facilmente usando o comando raspi-config, sudo raspi-config
Para habilitar o SSH vá para Opções de Interface, selecione SSH, escolha SIM, OK e Concluir. Caso você seja perguntado se deseja reiniciar, recuse. Depois de terminar, desligue seu Pi e, quando terminar, remova a energia.
sudo shutdown -h now
Em seguida, você precisa estabelecer uma conexão com a Internet usando o adaptador Ethernet USB que você já deve ter. Se o seu adaptador também possui um hub USB, você pode usá-lo para conectar o seu teclado, caso contrário, você pode apenas conectar ao seu Pi através de SSH. De qualquer forma, mantenha o monitor HDMI conectado pelo menos por enquanto, para garantir que o processo de inicialização termine conforme o esperado.
Além disso, próximo ao final, ele também deve mostrar o endereço IP que seu Pi obteve do servidor DHCP. Tente usar isso para se conectar ao seu Pi via SSH.
ssh pi @
Depois de conectar com sucesso ao seu Pi por SSH, você não precisa mais do monitor e do teclado plugados, então sinta-se à vontade para desconectá-los se desejar. Neste ponto, você também deve ter acesso à Internet a partir do seu Pi, você pode tentar executar um ping em algo como google.com para verificá-lo. Depois de verificar se você tem acesso à Internet, é uma boa ideia atualizar o sistema executando, sudo apt update && sudo apt update
Etapa 4: Configurando a câmera
A maior diferença entre uma placa Raspberry Pi regular e o Módulo Compute é que, no caso do último, além de apenas habilitar a câmera usando raspi-config, você também precisa de um arquivo de árvore de dispositivo personalizado.
Você pode encontrar mais informações sobre a configuração do Módulo de computação para uso com uma câmera na documentação. Mas, em geral, o conector da câmera entre os outros também possui 4 pinos de controle, que precisam ser conectados a 4 pinos GPIO no módulo de computação, e cabe a você decidir quais deles ao projetar sua placa personalizada.
No meu caso, ao projetar a placa, escolhi CD1_SDA para ir para GPIO28, CD1_SCL para GPIO29, CAM1_IO1 para GPIO30 e CAM1_IO0 para GPIO31. Eu escolhi esses pinos GPIO específicos porque queria ter um cabeçalho GPIO de 40 pinos na minha placa, que também mantém a compatibilidade com o conector GPIO das placas Raspberry Pi regulares. E por esse motivo eu tive que ter certeza de que os pinos GPIO que estou usando para a câmera não aparecem no cabeçalho GPIO.
Portanto, a menos que você decida fazer alterações na fiação do conector da câmera, você precisa de um /boot/dt-blob.bin que diga ao seu Pi para configurar o GPIO28-31 conforme descrito acima. E para gerar um dt-blob.bin, que é um arquivo binário, você precisa de um dt-blob.dts para compilar. Para facilitar as coisas, vou fornecer meu próprio dt-blob.dts para você usar, que você pode adaptar às suas necessidades, se necessário.
Para compilar o arquivo da árvore do dispositivo, use o compilador da árvore do dispositivo da seguinte forma, dtc -I dts -O dtb -o dt-blob.bin dt-blob.dts
Não tenho certeza do porquê, mas o acima deve resultar em alguns avisos, mas desde que o dt-blob.bin tenha sido gerado com sucesso, tudo deve estar bem. Agora, mova o dt-blob.bin que você acabou de gerar para / boot executando, sudo mv dt-blob.bin /boot/dt-blob.bin
O texto acima provavelmente dará a você o seguinte aviso, mv: falha ao preservar a propriedade de '/boot/dt-blob.bin': Operação não permitida
Estou apenas reclamando que não pode preservar a propriedade do arquivo, pois / boot é uma partição FAT que é de se esperar. Você deve ter notado que /boot/dt-blob.bin não existe por padrão, isso ocorre porque o Pi usa uma árvore de dispositivos embutida. Adicionar seu próprio / boot sobrescreve o integrado e permite que você configure a função de seu pino da maneira que desejar. Você pode encontrar mais sobre a árvore de dispositivos na documentação.
Depois de fazer isso, você precisa habilitar a câmera, sudo raspi-config
Vá para Opções de interface, selecione Câmera, escolha SIM, OK e Concluir. Caso você seja perguntado se deseja reiniciar, recuse. Agora, desligue seu Pi e remova a energia.
Após a alimentação ter sido removida da placa IO, usando 4 fios de jumper fêmea para fêmea conecte os pinos para GPIO28 a CD1_SDA, GPIO29 a CD1_SCL, GPIO30 a CAM1_IO1 e GPIO31 a CAM1_IO0. Finalmente, conecte o módulo da câmera ao conector CAM1 usando a placa adaptadora da câmera ou um cabo da câmera projetado para o Raspberry Pi Zero e aplique a alimentação.
Se tudo funcionou como esperado após a inicialização do Pi, você poderá usar a câmera. Para tentar tirar uma foto depois de se conectar ao seu Pi via SSH run, raspistill -o test.jpg
Se o comando terminar sem erros e um test-j.webp
sftp pi @
sftp> get test.jpg sftp> exit
Etapa 5: Mudança da placa IO para uma PCB personalizada
Agora que você concluiu todas as configurações básicas, pode passar a projetar sua própria placa personalizada com base no Módulo de computação. Já que este será seu primeiro projeto, eu o encorajo a pegar meu design e estendê-lo para incluir qualquer hardware adicional de sua preferência.
A parte de trás da placa tem bastante espaço para adicionar seus próprios componentes e para projetos relativamente pequenos, você provavelmente nem precisa aumentar as dimensões da placa. Além disso, caso este seja um projeto autônomo e você não precise de um cabeçalho GPIO físico em sua placa, você pode facilmente se livrar dele e economizar espaço na parte superior do PCB. O cabeçalho GPIO também é o único componente roteado pela segunda camada interna e sua remoção o libera completamente.
Devo ressaltar que eu mesmo montei e testei com sucesso uma das placas e verifiquei que tudo, incluindo a câmera e a saída HDMI, parece estar funcionando conforme o esperado. Portanto, contanto que você não faça grandes mudanças na forma como eu encaminhei tudo, você não deve ter problemas.
No caso de você ter que fazer algumas grandes mudanças de layout, lembre-se de que a maioria dos traços que vão para os conectores HDMI e da câmera são roteados como pares diferenciais de 100 Ohm. Isso significa que você deve levar isso em consideração no caso de precisar movê-los pelo tabuleiro. Além disso, isso significa que, mesmo se você remover o cabeçalho GPIO de seu projeto, o que significa que agora as camadas internas não conterão nenhum traço, você ainda precisa de um PCB de 4 camadas para obter uma impedância diferencial próxima de 100 Ohm. Se você não vai usar a saída HDMI e a câmera, você deve conseguir uma placa de 2 camadas livrando-se delas e reduzindo um pouco o custo das placas.
Apenas para referência, as placas foram encomendadas da ALLPCB com uma espessura total de 1,6 mm e eu não pedi controle de impedância, pois provavelmente aumentaria um pouco o custo e eu também queria ver se isso importaria. Eu também selecionei o acabamento dourado por imersão para tornar a soldagem manual dos conectores mais fácil, uma vez que garante que todas as almofadas ficarão bem planas.
Recomendado:
Projete seu PCB usando Sprint Layout 2020 com novas atualizações: 3 etapas
Projete seu PCB usando Sprint Layout 2020 com novas atualizações: A maioria dos amantes de eletrônicos faz circuitos eletrônicos usando métodos diferentes. às vezes precisamos fazer PCB para obter saída adequada e reduzir ruídos e acabamento compacto. hoje em dia temos muitos softwares para desenhar o próprio PCB. Mas o problema é o mais
PROJETE E CONSTRUA SEU PRÓPRIO BANCO DE ALTO-FALANTE BLUETOOTH PORTÁTIL CUM: 15 etapas (com fotos)
PROJETE E CONSTRUA SEU PRÓPRIO ALTO-FALANTE BLUETOOTH PORTÁTIL CUM POWER BANK: Olá a todos, aqui está um instrutivo para pessoas que amam música e estão ansiosos para projetar e construir seus próprios alto-falantes Bluetooth portáteis. Este é um alto-falante fácil de construir que parece incrível, é bonito e pequeno o suficiente para ca
Como fazer seu próprio gateway WIFI para conectar seu Arduino à rede IP?: 11 etapas (com imagens)
Como fazer seu próprio gateway WIFI para conectar seu Arduino à rede IP?: Como tantas pessoas, você acha que o Arduino é uma solução muito boa para fazer automação residencial e robótica! Mas em termos de comunicação, os Arduinos só vêm com links seriais. Estou trabalhando em um robô que precisa estar permanentemente conectado a um servidor que roda
Como construir seu próprio módulo NRF24L01 + pa + lna: 5 etapas
Como construir seu próprio módulo NRF24L01 + pa + lna: o módulo baseado em Nrf24L01 é muito popular, porque é fácil de implementar em projetos de comunicação sem fio. O módulo pode ser encontrado abaixo de 1 $ com uma versão impressa de PCB ou antena monopolo. O problema com esses módulos baratos é que eles têm
Projete seu logotipo pessoal com o Tinkercad: 8 etapas
Projete seu logotipo pessoal com o Tinkercad: neste tutorial, você aprenderá como criar logotipos personalizados no Tinkercad. Esses itens podem ser cortados a laser ou impressos em 3D. Objetivos Projetar um logotipo que pode ser usado para personalizar outros projetos (por exemplo, o espirógrafo de corte a laser ou o selo). Aprenda