Índice:
- Etapa 1: Teoria
- Etapa 2: Banco de dados
- Etapa 3: Configurando o Apache
- Etapa 4: Configurando o PHP
- Etapa 5: projetando a máquina
- Etapa 6: Fazendo a máquina
- Etapa 7: Código Arduino
- Etapa 8: Programa Python
- Etapa 9: usando o seletor de peças
Vídeo: Máquina de separação de peças CNC: 9 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Se você for um fabricante sério como eu, provavelmente terá inúmeros resistores, capacitores e vários outros componentes eletrônicos por aí. Mas há um grande problema: como manter o controle do que ou quanto de algo eles têm? Para este problema, criei uma máquina CNC que obtém informações de um banco de dados MySQL que, em seguida, recupera o item que foi solicitado. Além do back-end do banco de dados, criei uma página da web front-end que permite aos usuários fazer login e, em seguida, criar categorias de peças, adicionar novas peças e alterar a quantidade de peças. Desta forma, cada item pode ser contabilizado, assim como um sistema de gerenciamento de estoque.
Componentes:
- Arduino UNO e Genuino UNO
- Parafusos da máquina: 8 mm, 3 mm, 4 mm
- MOSFET N-channel
- Diodo retificador 1N4001
- Motor de passo NEMA 17 x2
- Driver DRV8825 para motores de passo x2
- Capacitor 100 µF x2
- DFRobot Servo Gripper
- Correia dentada DFRobot x2
- DFRobot 5MM Polia Sincronizadora x2
- Rolamento Linear DFRobot 6mmx12mm x2
- Rolamento de esferas DFRobot 8mmx12mm
Etapa 1: Teoria
A base desse sistema é manter o controle do estoque. Por exemplo, se alguém compra 20 placas Arduino Uno, pode facilmente adicionar essa quantidade a uma tabela de banco de dados. A categoria seria "Arduino", o nome "Uno" e uma quantidade de 20. Para várias pessoas, o proprietário dessa parte seria o nome de usuário da pessoa que a adicionou. A parte também incluiria dados sobre sua localização em uma grade. Sempre que a quantidade da peça muda, a máquina CNC seleciona essa peça e a entrega ao usuário.
Etapa 2: Banco de dados
Eu precisava de um banco de dados onipresente que pudesse ser acessado por Python e PHP. Ele também precisava ser fácil de usar com bastante suporte, tornando o MySQL o servidor de banco de dados perfeito. Comecei baixando o instalador mysql em https://dev.mysql.com/downloads/windows/installer/ e depois o executei. Escolhi instalar o servidor (é claro) e também o ambiente de trabalho, o shell e os utilitários. Ao escolher um nome de usuário e uma senha, lembre-se deles, pois essas mesmas credenciais são necessárias em todos os arquivos PHP e no script Python. Depois de iniciar o servidor, ative-o para ser executado como um processo em segundo plano para que esteja sempre ativo. A partir daqui, tudo deve ser soletrado e exatamente na mesma ordem que eu. Em seguida, crie um novo banco de dados (esquema) chamado "componentes". Em seguida, adicione as seguintes tabelas: "categorias", "partes" e "usuários". Na tabela de categorias, adicione as seguintes colunas nesta ordem exata: "id" -int (11), PK, AI; "nome" -varchar (45); "proprietário" - varchar (45).
Na tabela de peças, adicione as seguintes colunas nesta ordem exata: "id" -int (11), AI, PK; "categoria" -varchar (45); "nome" -varchar (45); "quantidade" -int (11); "proprietário" -varchar (45); "locationX" -int (11); "locationY" -int (11);
Na tabela de usuários, adicione as seguintes colunas nesta ordem exata: "id" -int (11), AI, PK; "nome de usuário" -varchar (45); "senha" -varchar (128);
Etapa 3: Configurando o Apache
As páginas que criei utilizam HTML, CSS, Javascript e PHP. Comece baixando a versão mais recente do apache em https://www.apachelounge.com/download/ e descompacte-a, movendo a pasta para o diretório C: \. Em seguida, baixe o PHP em https://windows.php.net/download#php-7.2 e certifique-se de que é a versão Thread Safe. Descompacte-o, renomeie-o para "PHP" e mova-o para o diretório C: \. Em seguida, vá para C: / Apache24 / conf / httpd.conf e edite-o. Adicione as seguintes linhas logo abaixo da seção:
LoadModule php7_module C: /PHP/php7apache2_4.dll
DirectoryIndex index.html index.php
Aplicativo AddHandler / x-httpd-php.php
PHPIniDir "C: / PHP"
Em seguida, teste seu servidor executando httpd.exe localizado na pasta bin. Vá para "localhost /" em seu navegador e veja se a página hello world aparece. Se isso acontecer, viva, agora você tem um servidor da web local.
Etapa 4: Configurando o PHP
Para configurar o MySQL para PHP, várias coisas devem ser feitas. Primeiro, renomeie "php.ini-recommended" para "php.ini" e depois abra-o no bloco de notas. Vá para a seção de extensões e adicione ou descomente "extension = php_mysqli.dll" que permitirá que o PHP se comunique com o servidor MySQL. Agora reinicie o httpd.exe e crie um novo arquivo chamado "phptest.php" e coloque no arquivo. Agora vá para localhost / phptest.php e veja se as informações do seu navegador aparecem.
Etapa 5: projetando a máquina
Comecei criando algumas peças básicas no Fusion 360: uma haste de 6 mm, rolamento linear e um motor de passo. Em seguida, estendi duas hastes para formar o eixo y e também coloquei uma correia dentada em torno do motor de passo e do rolamento. Também adicionei um eixo x. Comecei então a imprimir várias peças em 3D e também a rotear dois painéis laterais por CNC.
Etapa 6: Fazendo a máquina
Acabei passando por várias iterações de cada parte, então, se alguma for diferente, é por isso. Comecei lixando cada peça e depois perfurando cada orifício nas peças impressas em 3D. Em seguida, coloquei rolamentos lineares nos orifícios e passei as hastes de 6 mm por eles. Também montei os motores de passo em seus respectivos locais depois de prender as polias em seus eixos. A correia dentada foi enrolada em cada um dos dois lados de ambos os eixos. Por fim, percebi que a pinça seria muito pesada, então optei por um eletroímã. Também tive ajuda durante a construção, na forma de um gato.
Etapa 7: Código Arduino
Minha base para esta máquina foi GRBL. O início do código lista vários parâmetros, como distância por rotação, deslocamentos e extensões. Usei a biblioteca BasicStepperDriver para controlar os drivers do motor de passo DRV8825. Os drivers de passo são configurados para usar 1/32 micro-passos, aumentando a resolução. Sempre que a máquina "inicializa", ela passa por uma sequência de homing onde cada eixo avança até atingir uma chave de limite. Em seguida, ele se move com base no deslocamento para um local definido e define o local como 0, 0. Agora, sempre que recebe um comando de movimento via serial, ele se move para esse local da grade.
Etapa 8: Programa Python
Optei por usar o Flask como um servidor web que receberia solicitações GET do site principal. Os pedidos consistem no nome e categoria da peça. Depois que o Flask lida com isso, os dados são analisados e o servidor MySQL é consultado para descobrir a localização da parte. Em seguida, o script python envia um comando para o Arduino, especificando onde está a parte.
Etapa 9: usando o seletor de peças
Forneci os arquivos do site em meu repositório github: https://github.com/having11/cnc_part_picker_webpages Substitua os parâmetros ausentes nos arquivos PHP para seu servidor MySQL específico. Coloque os arquivos na pasta htdocs na pasta Apache. Simplesmente execute o script python e, sempre que a quantidade da parte for alterada, a máquina irá para aquele local e o obterá. Encontre os arquivos de impressão 3D aqui e os arquivos da página da web aqui.
Recomendado:
Processamento de imagem com o Raspberry Pi: Instalando OpenCV e separação de cores de imagem: 4 etapas
Processamento de imagem com o Raspberry Pi: Instalando o OpenCV e a separação de cores da imagem: Esta postagem é o primeiro de vários tutoriais de processamento de imagem que estão por vir. Damos uma olhada mais de perto nos pixels que compõem uma imagem, aprendemos como instalar o OpenCV no Raspberry Pi e também escrevemos scripts de teste para capturar uma imagem e também c
Faça uma pipa de LED com peças recicladas !: 11 etapas (com fotos)
Faça uma pipa de LED com peças recicladas !: Olá, espero que todos estejam seguros e saudáveis durante esta pandemia. Bem, ficando em casa, percebi que tinha alguns circuitos eletrônicos velhos e não usados e adaptadores móveis com defeito. Sendo um entusiasta da eletrônica e um ávido fã de empinar pipa, eu me perguntei, ai
Cabine de fotos de casamento Arduino - peças impressas em 3D, automatizadas e de baixo orçamento: 22 etapas (com fotos)
Arduino Wedding Photo Booth - peças impressas em 3D, automatizadas e de baixo orçamento: Recentemente fui convidado para o casamento do irmão do meu parceiro e eles perguntaram se poderíamos construir uma cabine fotográfica para eles, pois seu aluguel é muito caro. Isso é o que nós pensamos e depois de vários elogios, decidi transformá-lo em um instrutivo
Máquina de fax: explicando as peças e o que vale a pena recuperar: 9 etapas
Máquina de fax: explicando as peças e o que vale a pena recuperar: Recentemente, encontrei esta máquina de fax. Limpei e conectei com cabo de força e linha telefônica e estava funcionando bem, mas não preciso de aparelho de fax e achei que seria bom desmontá-lo e fazer outro instrutível sobre o assunto. EU
Fundição de peças detalhadas: dedos protéticos (que brilham, mudam de cor com o calor e mais ): 10 etapas (com fotos)
Fundição de peças detalhadas: dedos protéticos (que brilham, mudam de cor com o calor e Mais …): Este é um guia sobre fundição de peças pequenas e complexas - de maneira econômica. Devo dizer que não sou nenhum especialista em fundição, mas como a necessidade costuma ser a mãe da invenção, alguns dos processos aqui funcionaram bem. Conheci Nigel Ackland no Future Fest em Londres e