Índice:

Máquina de separação de peças CNC: 9 etapas (com fotos)
Máquina de separação de peças CNC: 9 etapas (com fotos)

Vídeo: Máquina de separação de peças CNC: 9 etapas (com fotos)

Vídeo: Máquina de separação de peças CNC: 9 etapas (com fotos)
Vídeo: Acidente de trabalho em máquina 2024, Julho
Anonim
Máquina de separação de peças CNC
Máquina de separação de peças CNC

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

Image
Image

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

Base de dados
Base de dados
Base de dados
Base 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

Configurando o Apache
Configurando o Apache
Configurando o Apache
Configurando o Apache
Configurando o Apache
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

Configurando PHP
Configurando PHP
Configurando PHP
Configurando 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

Projetando a Máquina
Projetando a Máquina
Projetando a Máquina
Projetando a Máquina
Projetando a Máquina
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

Fazendo a máquina
Fazendo a máquina
Fazendo a máquina
Fazendo a máquina
Fazendo a máquina
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

Código Arduino
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

Usando o selecionador de peças
Usando o selecionador de peças
Usando o selecionador de peças
Usando o selecionador de peças
Usando o selecionador de peças
Usando o selecionador de peças
Usando o selecionador de peças
Usando o selecionador 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: