Recriando o POD

Introdução

Navegando no kickstarter encontrei um produto que me interessou bastante:

Porém, a campanha já havia passado e não era mais possível realizar a compra de um. Mesmo que estivesse ativa, talvez não enviariam para o Brasil.

Isso me fez começar a procurar como ele foi feito para tentar replicar por aqui. Para minha alegria, encontrei um post deles no hackaday com bastante informação, mostrando a montagem, arquivos para impressão 3D e inclusive o código do microcontrolador no GitHub.

A única coisa que faltava era o design da PCB mas, vendo os componentes acima, era bem simples replicar.

Tudo o que eu precisava fazer era ligar um Attiny85 em 5 LEDs, um botão e uma bateria.

Nesse ponto, estava conversando com o Mau Maker e ele teve uma grande sacada: Por quê não hackear a placa do Brain Machine para fazer isso? Ela tem todos esses componentes (e um pouco mais). Com isso, teria uma primeira versão do POD para começar a trabalhar.

Documentei o processo na página Transformando o Brain Machine em um Pomodoro Timer.

Modelando o case

Parti da modelagem por um motivo muito simples. Não encontrei as dimensões da placa em nenhum lugar... Portanto, recriando o case teria condições de determinar e alterar as dimensões e posicionamentos caso necessário.

Fusion 360

Decidi utilizar o Fusion por sua integração com a parte de eletrônica que veremos mais para a frente. O diferencial dele é a tentativa da Autodesk de encurtar o caminho entre o design e a fabricação. O programa conta com integrações de CAM, simulação, eletrônica e outras coisas mais.

Outra grande vantagem é que existem licenças bem interessantes para todo o tipo de uso. Incluindo uma gratuita para hobbistas ou startups que faturem menos de U$100.000 por ano (nosso caso rs).

Importando os arquivos do projeto

Como os arquivos .STL estão disponíveis no GitHub do projeto, decidi começar importando eles no Fusion e garantindo que tenho todas as dimensões de acordo.

Porém, como preciso que o arquivo seja editável em CAD, um caminho seria fazer a engenharia reversa do projeto. Porém, como não pretendo fazer nenhuma alteração, vou simplificar o processo e só limpar o arquivo mesh (que fica pesado para manusear).

Simplificando o projeto

O jeito mais fácil que consegui pensar para simplificar esse projeto é fazer uma interseção do desenho e depois fazer um "revolve" para recriar a peça. Um problema desse método é que a rosca não vai ficar certa, mas posso eliminar ela por agora e caso necessário no futuro, recriá-la.

O passo a passo no Fusion para isso fica o seguinte:

Desabilitar o histórico de edições

Converter o mesh para BRep

Criar um Sketch em uma das faces verticais e depois incluir a interseção de um objeto no sketch

Resultado:

Antes de fazer o "revolve", tive que considerar dois pontos: 1. O "revolve" funciona girando o desenho em torno de um eixo, para isso, é necessário que o desenho seja apenas metade do que a peça final vai ser. 2. Antes de prosseguir, preciso limpar a rosca e o rebaixo na parte inferior da peça.

Depois, foi só repetir a mesma coisa com a de cima e juntar as duas.

Depois do case pronto, segui os passos do link oficial para criar o link entre Fusion e Eagle. A partir daí, pude começar a pensar na placa. Meus últimos passos foram criar a PCB e colocar os spacers dos LEDs no lugar.

Desenhando a PCB

O primeiro passo foi avaliar o que tinha disponível no projeto oficial do POD. Consegui algumas fotos que mostravam bem todo o desenho. Facilitando muito replicar (Além de ser bem simples):

Com isso em mãos, partimos para o esquemático:

Esquemático da placa

Para o desenho da placa, preciso incluir 8 itens:

1x Attiny85
1x Botão
1x Battery holder
5x LEDs

Uma coisa importante de ter em mãos são os datasheets dos componentes que está usando. Neste caso, apenas o do microcontrolador é relevante. Principalmente para ter a pinagem correta e dimensões do chip. Attiny85 Datasheet

Com tudo isso em mãos, era hora de desenhar.

Integração Eagle + Fusion 360

Link oficial da Autodesk com instruções

Como funciona?

A Autodesk criou um sistema de sincronização entre o Fusion e Eagle. Com isso, eliminou os arquivos de exchange como STEP, IDF, IGES.

Com esse novo meio de campo, os designs estão sempre atualizados em qualquer um dos programas. Você pode atualizar por exemplo o formato da PCB e até posicionamento de componentes da placa no Fusion. Depois, voltar para o Eagle e acertar os detalhes de roteamento. O inverso também é possível. Ao adicionar novos componentes no Eagle, você verá a placa atualizada no Fusion.

Setup inicial

Existem dois workflows diferentes para trabalhar com essa integração:

Criar uma placa baseada em um design. Você cria uma PCB no Fusion, determinando o formato, furações, etc. Depois importa no Eagle para acrescentar os componentes e fazer o roteamento. Esse workflow funciona bem caso esteja fazendo uma placa para apenas um projeto.

Criar um design baseado em uma placa. Você importa uma PCB no Fusion, para depois modelar o projeto baseado nela. Esse workflow funciona para quando quer usar a mesma placa para mais de um projeto. Por exemplo, usando um Arduino como referência.

A primeira opção funciona muito bem para o que estou fazendo. Depois de finalizar o modelo, importei o formato da placa para o Eagle e comecei a trabalhar.

Sync

Depois de posicionar os componentes no Eagle e sincronizar com o Fusion. Era possível ver que estava tudo alinhado.

Fiz um roteamento rápido para ver o resultado e funcionou como deveria:

Conclusão

O processo funciona mas agarra muito. A maior parte do tempo passei brigando com os programas e sincronização para tudo funcionar. Entendo que ele pode funcionar bem para times que já desenvolvem hardware. Mas para hobbistas começando do 0, o Fritzing tem uma curva muito menor e dará resultados práticos bem mais rápido.

Fritzing

Como o processo com o Eagle e Fusion não deu muito certo, partimos para o Fritzing. Que é uma ferramenta open source incrível para documentar projetos ou fabricar placas.

Duas grandes vantagens é que ele já vem com a maioria dos componentes "comuns" que usamos para a prototipagem hobbista. Além disso, você pode começar a desenhar direto na PCB. Sem a necessidade de criar um esquemático antes.

Com a ajuda do Mau, após alguns minutos já tínhamos uma versão funcional da placa:

Uma desvantagem é que o alinhamento de componentes no Fritzing é bem complicado. Não encontramos uma maneira prática além de depender do grid. Com isso, o alinhamento acabou saindo "no olho" mesmo.

Produzindo a placa

Como o Mau estava por aqui, aproveitamos todo o toolchain dele para produzir a PCB.

Uma etapa legal é imprimir a placa e conferir se os componentes todos "encaixam" com o que foi impresso.

CAM

Utilizamos o FlatCAM para gerar os toolpaths da CNC.

Após importar o arquivo gerado no Fritzing, precisamos de três trabalhos diferentes:

Remoção do cobre na camada superior

Furação da placa

Corte do contorno

O arquivo final ficou assim:

CNC

Para controlar a máquina, usamos o bCNC

Ele tem uma função muito importante que é o mapeamento de curvatura da placa. É bem comum elas ficarem empenadas pela sua produção, armazenamento ou fixação na base da CNC.

Depois, fizemos os traços com a fresa em 60º

Depois os furos e corte da placa

Como podem perceber, tivemos alguns contratempos com o alinhamento do segundo trabalho. A CNC parecia estar fazendo o circulo bem oval. Depois de desligar e ligar a máquina ela voltou a funcionar bem e conseguimos aproveitar o trabalho.

Uma das vantagens de imprimir no papel é que de cara podemos comparar o resultado e saber se está tudo como deveria.

O segundo teste é colocar todos os componentes na placa antes de começar a soldar.

Depois de um tempo soldando, estava tudo no lugar e funcionando para colocar no case.

Considerações finais

O projeto está funcionando e pronto para ir para "produção". Restando apenas ajustar um pouco o posicionamento dos LEDs e disposição das trilhas.

Essa segunda versão está sendo desenhada pelo Mau no EasyEDA. Que também é um programa relativamente simples de usar e tem um sistema de alinhamento muito melhor que o Fritzing.