Table des matières:

Machine de cueillette de pièces CNC : 9 étapes (avec photos)
Machine de cueillette de pièces CNC : 9 étapes (avec photos)

Vidéo: Machine de cueillette de pièces CNC : 9 étapes (avec photos)

Vidéo: Machine de cueillette de pièces CNC : 9 étapes (avec photos)
Vidéo: CNC & Menuiserie : Gravure sur Shou Sugi Ban avec fraise en V 2024, Juillet
Anonim
Machine de cueillette de pièces CNC
Machine de cueillette de pièces CNC

Si vous êtes un fabricant sérieux comme moi, vous aurez probablement d'innombrables résistances, condensateurs et divers autres composants électroniques qui traînent. Mais il y a un problème majeur: comment garder une trace de quoi ou combien de quelque chose qu'ils ont ? Pour ce problème, j'ai créé une machine CNC qui obtient des informations à partir d'une base de données MySQL, puis récupère l'élément demandé. En plus du back-end de la base de données, j'ai créé une page Web frontale qui permet aux utilisateurs de se connecter, puis de créer des catégories de pièces, d'ajouter de nouvelles pièces et de modifier les quantités de pièces. De cette façon, chaque article peut être comptabilisé, tout comme un système de gestion des stocks.

Composants:

  • Arduino UNO et Genuino UNO
  • Vis à métaux: 8 mm, 3 mm, 4 mm
  • MOSFET canal N
  • Diode de redressement 1N4001
  • Moteur pas à pas NEMA 17 x2
  • Driver DRV8825 pour moteurs pas à pas x2
  • Condensateur 100 µF x2
  • Servo-pince DFRobot
  • Courroie de distribution DFRobot x2
  • Poulie synchrone DFRobot 5MM x2
  • Roulement Linéaire DFRobot 6mmx12mm x2
  • Roulement à billes DFRobot 8mmx12mm

Étape 1: Théorie

Image
Image

La base de ce système est de garder une trace de l'inventaire. Par exemple, si quelqu'un achète 20 cartes Arduino Uno, il pourrait facilement ajouter ce montant à une table de base de données. La catégorie serait "Arduino", nom de "Uno", et une quantité de 20. Pour plusieurs personnes, le propriétaire de cette partie serait le nom d'utilisateur de la personne qui l'a ajoutée. La partie inclurait également des données sur son emplacement sur une grille. Chaque fois que le montant de la pièce change, la machine CNC sélectionne alors cette pièce et la donne à l'utilisateur.

Étape 2: Base de données

Base de données
Base de données
Base de données
Base de données

J'avais besoin d'une base de données omniprésente accessible à la fois par Python et PHP. Il devait également être facile à utiliser avec beaucoup de support, faisant de MySQL le serveur de base de données parfait. J'ai commencé par télécharger le programme d'installation de mysql à partir de https://dev.mysql.com/downloads/windows/installer/, puis je l'ai exécuté. J'ai choisi d'installer le serveur (bien sûr), mais aussi le plan de travail, le shell et les utilitaires. Lorsque vous choisissez un nom d'utilisateur et un mot de passe, assurez-vous de vous en souvenir, car ces mêmes informations d'identification sont nécessaires dans tous les fichiers PHP et le script Python. Après avoir démarré le serveur, activez-le en tant que processus d'arrière-plan afin qu'il soit toujours actif. À partir de maintenant, tout doit être épelé et exactement dans le même ordre que je l'ai. Ensuite, créez une nouvelle base de données (schéma) appelée « composants ». Ajoutez ensuite les tableaux suivants: « catégories », « parties » et « utilisateurs ». Dans le tableau des catégories, ajoutez les colonnes suivantes dans cet ordre exact: "id" -int(11), PK, AI; "nom" -varchar(45); "propriétaire" - varchar(45).

Dans le tableau des pièces, ajoutez les colonnes suivantes dans cet ordre exact: "id" -int(11), AI, PK; "catégorie" -varchar(45); "nom" -varchar(45); "quantité" -int(11); "propriétaire" -varchar(45); "emplacementX" -int(11); "emplacementY" -int(11);

Dans la table des utilisateurs, ajoutez les colonnes suivantes dans cet ordre précis: "id" -int(11), AI, PK; "nom d'utilisateur" -varchar(45); "mot de passe" -varchar(128);

Étape 3: Configuration d'Apache

Configuration d'Apache
Configuration d'Apache
Configuration d'Apache
Configuration d'Apache
Configuration d'Apache
Configuration d'Apache

Les pages Web que j'ai créées utilisent HTML, CSS, Javascript et PHP. Commencez par télécharger la dernière version d'Apache sur https://www.apachelounge.com/download/ et décompressez-la en déplaçant le dossier vers le répertoire C:\. Ensuite, téléchargez PHP à partir de https://windows.php.net/download#php-7.2 et assurez-vous qu'il s'agit de la version Thread Safe. Décompressez-le, renommez-le en "PHP", et déplacez-le dans le répertoire C:\. Ensuite, allez dans C:\Apache24\conf\httpd.conf et éditez-le. Ajoutez les lignes suivantes juste en dessous de la section:

LoadModule php7_module C:/PHP/php7apache2_4.dll

RépertoireIndex index.html index.php

Application AddHandler/x-httpd-php.php

PHPIniDir "C:/PHP"

Testez ensuite votre serveur en exécutant httpd.exe situé dans le dossier bin. Dirigez-vous vers "localhost/" dans votre navigateur et voyez si la page hello world s'affiche. Si c'est le cas, hourra, vous avez maintenant un serveur Web local.

Étape 4: Configuration de PHP

Configuration de PHP
Configuration de PHP
Configuration de PHP
Configuration de PHP

Afin de configurer MySQL pour PHP, plusieurs choses doivent être faites. Tout d'abord, renommez "php.ini-recommended" en "php.ini", puis ouvrez-le dans le bloc-notes. Dirigez-vous vers la section extensions et ajoutez ou décommentez "extension=php_mysqli.dll" qui permettra à PHP de communiquer avec le serveur MySQL. Maintenant, redémarrez httpd.exe et créez un nouveau fichier appelé "phptest.php" et placez-le dans le fichier. Allez maintenant sur localhost/phptest.php et voyez si les informations de votre navigateur apparaissent.

Étape 5: Conception de la machine

Conception de la machine
Conception de la machine
Conception de la machine
Conception de la machine
Conception de la machine
Conception de la machine

J'ai commencé par créer quelques pièces de base dans Fusion 360: une tige de 6 mm, un roulement linéaire et un moteur pas à pas. Ensuite, j'ai étendu deux tiges pour former l'axe y, et j'ai également mis une courroie de distribution autour du moteur pas à pas et du roulement. J'ai également ajouté un axe x. J'ai ensuite commencé à imprimer en 3D diverses pièces et également à fraiser deux panneaux latéraux par CNC.

Étape 6: fabrication de la machine

Faire la machine
Faire la machine
Faire la machine
Faire la machine
Faire la machine
Faire la machine

J'ai fini par parcourir plusieurs itérations de chaque partie, donc si certaines sont différentes, c'est pourquoi. J'ai commencé par poncer chaque pièce puis percer chaque trou dans les pièces imprimées en 3D. Ensuite, j'ai mis des roulements linéaires dans les trous et j'ai passé les tiges de 6 mm à travers eux. J'ai également monté les moteurs pas à pas dans leurs emplacements respectifs après avoir fixé les poulies à leurs arbres. La courroie de distribution s'est enroulée autour de chacun des deux côtés pour les deux axes. Finalement, j'ai réalisé que la pince serait trop encombrante, j'ai donc opté pour un électro-aimant à la place. J'ai également eu de l'aide lors de sa construction, sous la forme d'un chat.

Étape 7: Code Arduino

Code Arduino
Code Arduino

Ma base pour cette machine était GRBL. Le début du code répertorie divers paramètres, tels que la distance par rotation, les décalages et les étendues. J'ai utilisé la bibliothèque BasicStepperDriver pour contrôler les pilotes de moteur pas à pas DRV8825. Les pilotes pas à pas sont configurés pour utiliser le micro-pas au 1/32, augmentant la résolution. Chaque fois que la machine "démarre", elle passe par une séquence de prise d'origine où chaque axe avance jusqu'à ce qu'il atteigne un interrupteur de fin de course. Ensuite, il se déplace en fonction du décalage vers un emplacement défini et définit l'emplacement sur 0, 0. Désormais, chaque fois qu'il reçoit une commande de déplacement via série, il se déplace vers cet emplacement de la grille.

Étape 8: programme Python

J'ai choisi d'utiliser Flask comme serveur Web qui recevrait les requêtes GET du site Web principal. Les demandes se composent du nom et de la catégorie de la pièce. Une fois que Flask les a traitées, les données sont analysées, puis le serveur MySQL est interrogé pour trouver l'emplacement de la pièce. Ensuite, le script python envoie une commande à l'Arduino, spécifiant où se trouve la pièce.

Étape 9: Utilisation du sélecteur de pièces

Utilisation du sélecteur de pièces
Utilisation du sélecteur de pièces
Utilisation du sélecteur de pièces
Utilisation du sélecteur de pièces
Utilisation du sélecteur de pièces
Utilisation du sélecteur de pièces
Utilisation du sélecteur de pièces
Utilisation du sélecteur de pièces

J'ai fourni les fichiers du site Web dans mon référentiel github: https://github.com/having11/cnc_part_picker_webpages Remplacez les paramètres manquants dans les fichiers PHP pour votre serveur MySQL spécifique. Placez les fichiers dans le dossier htdocs du dossier Apache. Exécutez simplement le script python, puis chaque fois que le montant de la pièce est modifié, la machine ira à cet emplacement et l'obtiendra. Trouvez les fichiers d'impression 3D ici et les fichiers de page Web ici.

Conseillé: