Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Table d'extrémité CNC Zen Garden

Composants et fournitures

Arduino UNO
× 1
Alimentation OpenBuilds 12V/29A
× 1
Moteur pas à pas OpenBuilds NEMA 17
× 2
Carte pilote de moteur pas à pas SparkFun A4988
× 2
Régulateur linéaire avec sortie réglable
× 1
Joystick analogique (Générique)
× 1
Bande LED blanche
× 1
Remote RF
× 1
Condensateur 220 µF
× 2
Planche à pain (générique)
× 1
SparkFun Snappable Protoboard
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Je suis Makr. Je m'assois la nuit devant la télé avec ma famille avec un moleskine, ou un autre de mes blocs-notes de projet et des idées de croquis. Beaucoup de mes conversations sont du genre "ne serait-ce pas cool si _______". Beaucoup de mes idées ne quittent jamais mes pages de projet. Celui-ci l'a fait. Je pense que c'est impressionnant. C'est un jardin zen clos aménagé en bout de canapé. Le mouvement a été inspiré d'une CNC ou d'une imprimante 3D et a en fait commencé à utiliser les rampes 1.4 (un shield Arduino pour imprimante 3D) jusqu'à ce que je pense à un moyen beaucoup plus simple de le construire.

Je voulais que le produit final représente la paix. Je voulais apporter un peu de zen dans mon salon. Je pense que oui.

Beaucoup de choses que je construis ne sont pas jolies, juste telles qu'elles sont. Dans le processus de construction, je n'ai jamais expliqué ce que je construisais exactement à ma femme. Juste que ce serait des meubles qui seraient assez beaux pour le vouloir dans notre maison. Pour mettre cela en contexte, sachez que je partage tout avec ma femme. Elle est ma meilleure amie. Mais sur ce projet, je lui ai simplement promis que le résultat final serait quelque chose qu'elle serait fière d'avoir dans son salon. Elle savait que c'était une table de bout, mais c'était tout. J'ai donc travaillé très dur pour que cette table de bout soit vraiment belle pour elle.

J'ai construit des imprimantes 3D. J'ai également construit des meubles simples (bibliothèque, banc, etc.), mais je n'ai jamais rien construit qui combine la technologie dans les meubles. Alors j'ai vraiment pensé que ce serait un projet amusant.

J'ai eu l'idée initiale de cette table il y a environ six mois. Le concours Tables et Bureaux (et tous ces beaux outils noirs et jaunes comme prix) m'a inspiré pour démarrer ce projet.

Étape 1 :Conception et idée

Je voulais construire une table de bout, quelque chose qui pourrait s'asseoir toute seule ou à côté d'un canapé, peut-être avoir une lampe dessus. Je voulais que ce soit plus "de l'art" qu'autre chose, une infusion de technologie dans le bois. Je vois toujours les rocailles avec le râteau en bois, j'ai toujours pensé qu'elles étaient très paisibles. C'est vraiment ce que je recherchais dans cette construction, un art paisible imprégné de technologie.

Pour ce faire, j'ai pensé à utiliser un portique similaire à une imprimante 3D sans l'axe z. De cette façon, je pouvais conduire un roulement à billes à l'aide d'aimants à travers une sorte de support, probablement du sable. J'ai aussi pensé à le programmer pour « imprimer » des images ou des dessins par lui-même.

Je pense que je vais utiliser Arduino avec 2 pilotes de moteur pas à pas et un code assez simple. Plutôt que de programmer un espace défini dans le code, j'ai simplement installé une butée sur le min et le max pour les deux axes, donc 0,0 déclenche l'arrêt du moteur, ainsi que XXX, XXX max déclenche l'arrêt du moteur. Cela rendra la programmation beaucoup plus facile.

Étape 2 : pièce et matériel requis

Bon, voici une liste des pièces que j'ai utilisées. Cela ne signifie pas que vous devez utiliser les mêmes pièces, je veux juste vous donner une idée générale des pièces que j'ai utilisées pour faire cela.

  • Bois. En gros, je suis allé à mon bac à bois et j'ai trouvé des 4x4 que j'avais récupérés dans une cabane dans les arbres, et du pin sélectionné que ma femme avait acheté pour les garnitures de fenêtre (lui ai promis que je lui en achèterais plus). J'ai ramassé tous les gros morceaux de bois que j'ai pu trouver et les ai apportés dans ma boutique. J'ai également utilisé du contreplaqué de bouleau 1/4 de pouce que j'ai acheté chez menards il y a plusieurs années pour un autre projet.
  • 1/8 MDF Je l'ai utilisé entre le dessus et la base juste pour donner au dessus quelque chose à coller. Avec le recul, j'aurais probablement pu l'ignorer et si je devais le refaire, je le ferais.
  • Extrusion d'aluminium 2020. Je l'ai utilisé pour construire le cadre du portique.
  • 2 moteurs pas à pas 12,99 $ pour les deux axes de mouvement.
  • Arduino UNO utilisé pour le mouvement du portique.
  • Module Joystick Arduino UNO utilisé pour contrôler le mouvement.
  • Tige lisse à mouvement linéaire de 8 mm x 4
  • Montage de guide d'arbre linéaire de 8 mm x 8
  • Pièces d'imprimante 3D J'ai construit de nombreuses imprimantes 3D dans le passé et j'ai beaucoup de ces pièces sous la main. J'ai fini par utiliser des courroies, des tiges lisses, des roulements à tige lisse et d'autres pièces de type imprimante 3D.
  • Gabarit de trou de poche Kreg Ce n'est pas absolument nécessaire mais rend la construction de tout type de meuble beaucoup plus facile. Dans ce projet, je l'ai utilisé sur le dessus et en attachant le dessus à la base.
  • Verre plat 1/4" --- Magasin local de verre et de peinture -- Notez qu'il ne s'agit pas de verre de sécurité et qu'il peut créer des éclats dangereusement tranchants s'il est cassé, mais pour ce projet, je voulais de la résistance et de l'épaisseur.
  • Bande LED blanche et télécommande RF
  • Convertisseur de tension LM317
  • A4988 Pilote de moteur pas à pas x 2
  • Condensateur 220mf 16v x 2
  • Alimentation 12 volts 5 ampères
  • Roulement à billes 3/4"
  • 25 lb de sable de jeu blanc
  • 2 sacs de Smooth River Rocks
  • Aimant à base ronde en néodyme
  • Prototypage de maquettes
  • Planche à pain de soudure Permaboard
  • Plusieurs sangles de conduit en plastique à 2 trous ou autre moyen de fixer le portique à la trappe.

Étape 3 :Assemblage du portique

J'ai commencé avec quelques dessins bruts et j'ai construit le portique. Ce n'est peut-être pas le moyen le plus efficace de le construire. C'est exactement comme cela que je l'ai fait, en gardant à l'esprit que j'essayais d'utiliser des pièces restantes d'autres versions et autres. Il me restait de l'extrusion d'aluminium 20/20 d'une autre construction, alors je l'ai utilisé pour le cadre de mon portique. J'ai conçu et imprimé en 3D les supports d'angle et j'ai inclus les fichiers pour ceux-ci ici.

J'ai également inclus les pièces découpées au laser pour les axes x et y. Étudiez attentivement les images pour voir exactement comment j'ai assemblé le chariot et les axes séparés. La façon dont j'ai assemblé le chariot n'est peut-être pas la meilleure, car il existe de nombreuses façons différentes de construire un portique, mais j'ai utilisé cette méthode avec plusieurs autres versions et cela semble bien fonctionner avec une bonne fiabilité.

FTY8AKAIVO3T4X1.dxf FZUAWWRIVO3T4WZ.cdr FVXPPAIVO3T86T.stl

Étape 4 :Assembler le circuit

La première chose que j'ai faite a été d'assembler le circuit sur une planche à pain de prototypage, et quand j'étais sûr que tout fonctionnait comme je le voulais, je l'ai transféré sur la carte de soudure. J'ai inclus le diagramme fritzing ci-dessus pour aider à l'assemblage.

Étape 5 :Le code

Le code que nous avons créé pour cela est vraiment simple. J'ai mis des butées sur le min et le max pour les axes x et y, donc il n'y a rien dans le code qui détermine la taille du portique. Étant donné que la taille n'est pas définie dans le code, peu importe que votre conception soit plus petite ou plus grande que la mienne. Rien ne devra être ajusté dans le code. Le code est ici au format .TXT et .INO pour que vous puissiez le télécharger.

F5577MZIW6PMIF4.cpp FKOB89KIW6PMIF6.h FO9WJRBIW6PMIFY.ino F1K7N72IW6PMIGQ.zip FVI0A1ZIW6PMIGS.txt F9BIZS5IW6PMIGV.txt FGBWKEAIW6PMIGW.txt

Étape 6 :Tester le mouvement

Après avoir installé le code, je l'ai testé à fond. Je voulais que le mouvement en diagonale soit horizontal, puis vertical, puis horizontal, semblable à une gravure à l'eau-forte. Cela semble bien fonctionner. Alors maintenant, je vais souder toutes les connexions à l'Arduino pour le rendre permanent et voir à l'installer dans la table.

Étape 7 : La partie réelle du tableau

Alors je me suis mis à essayer de décider comment j'allais construire ce que j'avais en tête. Ce que je pensais était une sorte de boîte à deux niveaux avec la mécanique cachée dans la partie inférieure de celle-ci. Il serait contrôlé par un joystick caché sous un rebord. Au-delà de ça, je n'avais vraiment aucune idée de comment j'allais le faire.

Après avoir fouillé le tas de bois, j'ai trouvé un 4x4 que j'avais récupéré d'un autre projet, et j'ai trouvé du pin sélectionné qui était plutôt joli. Donc, après avoir promis au patron que je remplacerais ce que j'étais sur le point de prendre, j'ai apporté le bois à l'atelier et j'ai commencé à construire.

Étape 8 : Construire une boîte à deux niveaux

Après avoir mesuré et coupé le contreplaqué 1/4 po, je voulais essayer une nouvelle façon de le maintenir ensemble pendant que la colle était en place. J'ai collé à chaud du carton dans les coins. Cette méthode semblait bien fonctionner car elle maintenait la boîte suffisamment longtemps pour que d'autres mesures soient mises en place pour la maintenir ensemble. Après avoir construit la division pour le haut et le bas et m'être assuré qu'elle était de niveau, j'ai fixé une charnière de piano afin que le bas de la table qui tiendra le portique puisse tomber pour être maintenu.

Étape 9 :Faire des pieds de table

Pour les pieds de table, je voulais réutiliser un 4x4 en pin que j'ai sorti d'une maison de jeu qui était dans la salle de jeux de mes enfants. Pour commencer, je me suis assuré que le 4x4 était exempt de vis et de clous / agrafes. J'ai mesuré et coupé le 4x4 en 4 sections de 25 pouces. Ensuite, j'ai passé les 4 pieds à travers le plus simple plusieurs fois pour enlever la peinture et la nettoyer.

Après quelques voyages à travers la plaine, j'ai utilisé une règle et des pinces pour fabriquer un gabarit de fortune afin que je puisse utiliser une scie professionnelle comme une scie à table. Cela a bien fonctionné et m'a laissé 4 jambes en forme de L nettoyées et lisses qui ont bien fonctionné pour mes besoins.

Étape 10 :Installation des côtés

Une fois les jambes attachées, je me suis mis aux côtés. Il s'en est suivi de nombreuses mesures minutieuses. Vous voulez être aussi proche que possible pour qu'il y ait le moins d'écarts possible. J'ai collé les pièces en place et j'y ai inséré quelques vis depuis le bas de la boîte à deux niveaux.

Étape 11 :Sablez et poncez un peu plus

Lors de la construction de quoi que ce soit de forme, je recommande un ponçage gratuit, en commençant par un papier de verre plus charnu (comme un grain 80-120) et en progressant vers un papier de verre plus fin (<200). Le temps que vous passerez à poncer toute imperfection sera récompensé une fois le projet terminé.

Étape 12 : Installation des lumières LED

Une fois que j'ai su où se trouverait le dessus, j'ai fabriqué un morceau de MDF de 1/8 po pour s'asseoir entre le dessus et la base. J'ai marqué l'emplacement de la pièce, puis je l'ai retournée et j'ai fixé la bande lumineuse à LED sur le dessous avec des attaches zippées et de la colle chaude. D'après mon expérience, il est imprudent de se fier uniquement à la colle chaude pour fixer tout ce qui pourrait créer de la chaleur par lui-même (c'est-à-dire une bande lumineuse). J'ai percé un trou et fait passer le fil d'alimentation des lumières sous le boîtier à deux niveaux. J'allais faire fonctionner les lumières à partir du même 12 V que les moteurs pas à pas, mais j'avais des problèmes où les lumières faisaient bourdonner les moteurs, alors j'ai donné aux lumières sa propre alimentation 12 V.

Étape 13 :Installation du dessus

Je n'ai pas beaucoup d'expérience dans la coupe d'onglets; Je ne suis pas un charpentier né. Mais après beaucoup d'essais et d'erreurs, j'ai pu confectionner un beau haut. J'ai utilisé le gabarit kreg mentionné dans l'étape des pièces pour fixer les quatre côtés du dessus ensemble et cela a remarquablement bien fonctionné.

Lorsque vous mesurez les pièces pour le haut, assurez-vous de bien mesurer. Il vaut mieux être trop gros et recouper ou poncer que de l'avoir trop petit. Après avoir coupé les pièces pour le dessus et vous être assuré qu'elles s'emboîtent comme vous le souhaitez également, toupillez les pièces individuelles de manière à ce que le verre s'y emboîte à fleur. Assurez-vous de la profondeur de la toupie pour qu'elle corresponde à votre verre. Dans mon cas, le verre était de 1/4 po.

Une fois le dessus collé et vissé, je l'ai vissé à la base à l'aide du gabarit kreg sur l'arrière des pieds où il ne serait pas visible.

J'ai appelé un atelier de réparation de vitres de voiture local et j'ai commandé une plaque de verre 1/4 po 1/16e plus petite que l'ouverture. Je leur ai aussi demandé de poncer les bords pour qu'il ne coupe pas les mains. Je n'utiliserai pas d'acrylique pour fixer le verre, simplement parce que j'aimerais pouvoir retirer le verre afin de pouvoir réorganiser les roches.

Étape 14 :Conditionner, teindre, poly, poncer et poly à nouveau

Parce que le pin est un bois si poreux, je ne voulais pas qu'il ait l'air tacheté, j'ai donc utilisé un conditionneur de pré-teinture pour bois pour égaliser la tache. Ensuite, j'ai appliqué la teinture poly-cerisier naturelle Minnwax dessus et j'ai laissé sécher. Le lendemain, je suis revenu et j'ai légèrement poncé la table avec du papier de verre grain 320, puis j'ai appliqué une autre couche de polystain. Si je devais le refaire, je le tacherais et le polyserais séparément; c'était un cauchemar d'obtenir la tache et le revêtement poly pour ne pas laisser de traces de gouttes et autres. De plus, si vous voulez qu'il soit plus foncé, vous ne pouvez pas le teindre à nouveau pour le rendre plus foncé. J'ai fini par le poncer et le recouvrir plusieurs fois jusqu'à ce que je sois satisfait du résultat. Je ne pense pas que je vais réutiliser le poly-stain.

Étape 15 :Installation de l'électronique

J'ai construit la trappe dans le bas de sorte que l'ensemble du portique puisse être monté sur la trappe et puisse descendre pour être travaillé et entretenu ou mis à niveau. J'ai monté le portique sur la trappe à l'aide de sangles en plastique à 2 trous. J'ai installé les sangles autour de l'extrusion 2020. Cela semble bien fonctionner.

J'ai essayé plusieurs itinéraires différents pour savoir où monter l'Arduino et la planche à pain. J'ai fini par percer un trou dans le bas de la trappe vers le centre, y faire passer tous les câbles et monter l'électronique sous la table.

Lorsque j'ai monté le joystick, j'ai longuement réfléchi à la manière dont j'allais le monter. Honnêtement, je ne pouvais penser à rien d'intelligent, alors je l'ai juste collé sous le rebord de la table. J'ai poussé le câble du joystick aussi loin que possible dans le coin et je l'ai également collé à chaud. Ce n'est pas la solution la plus royale, mais vous ne pouvez pas vraiment la voir à moins de ramper à côté, donc j'en suis satisfait.

Sur le dessous j'ai monté les planches avec des petites vis et j'ai essayé de tout ranger au mieux. J'ai également déplacé les fiches d'alimentation à l'arrière du pied arrière et je l'ai collé en place.

Étape 16 : La « tête d'aimant » de Toolhead ?

Je ne savais pas trop comment attacher l'aimant au boulon que je voulais utiliser. Je pensais que le boulon fonctionnerait bien car je pouvais facilement ajuster l'axe z. Ce que j'ai fini par faire, c'est de couper une petite longueur (1 à 1 1/2 po) de goujon de 3/4 po et de percer un trou dans lequel le boulon s'insérerait. Ensuite, j'ai vissé l'aimant sur le dessus. Maintenant, je peux l'ajuster de haut en bas en desserrant l'écrou en bas.

Étape 17 :Faire le jardin de rocaille

Une fois l'électronique installée, j'ai commencé à créer la rocaille. Je n'étais pas sûr de la quantité de sable qu'il faudrait, alors j'ai acheté une boîte de 25 lb de sable. Avec le recul, je pense que j'aurais pu m'en tirer avec 5 à 10 livres. La plupart du sable est encore dans la boîte. Après avoir étalé le sable, j'ai fait tourner un peu la balle. Je voulais vérifier pour m'assurer que vous ne pouviez pas voir le fond de la boîte lorsque la balle roulait. J'ai ajouté du sable et j'ai continué à tester jusqu'à ce que je trouve la profondeur de sable dont j'étais satisfait.

Ensuite, j'ai ajouté les 2 sacs de roches de rivière lisses sur les bords. J'ai essayé de les répartir uniformément. J'ai pensé à peut-être coller les roches de la rivière, mais j'ai pensé qu'il serait préférable de pouvoir les réarranger à l'avenir si je le voulais.

Étape 18 : tableau en action

Hélas, la table, elle bouge. Une fois que j'ai fait bouger la table, je suis resté là et j'ai fait tourner la balle beaucoup trop longtemps - lol. Il y a quelque chose d'extrêmement gratifiant à regarder cette boule de métal pousser le sable. Ce fut un long voyage pour en arriver là et c'est tellement génial de voir cette table bouger comme je l'avais imaginé.

Étape 19 :Tout est fait

Ce fut un long projet difficile. C'était quand même très amusant.

Code

  • code.ino
code.inoC/C++
/* * Démo simple, devrait fonctionner avec n'importe quelle carte pilote * * Connectez STEP, DIR comme indiqué * * Copyright (C) 2015 Laurentiu Badea * * Ce fichier peut être redistribué selon les termes de la licence MIT. * Une copie de cette licence a été incluse avec cette distribution dans le fichier LICENSE. */ /* * Édité comme trouvé dans la bibliothèque StepperDriver par Ernest E Garner * Date :20-Nov-2016 * * Description du code :* Utilisé pour contrôler un portique x/y de base pour la table zen créée par Ernest James Garner pour Instructables .com */#include #include "BasicStepperDriver.h"//#define DEBUG// Pas de moteur par tour. La plupart des steppers font 200 pas ou 1,8 degrés/pas#define X_MOTOR_STEPS 200#define Y_MOTOR_STEPS 200//Direction du moteur vers la maison// options 1 (avant)// -1(arrière)#define STEP_FORWARD 1#define STEP_REVERSE -1#define X_DIR_HOME STEP_FORWARD#define Y_DIR_HOME STEP_FORWARD// Tous les fils nécessaires pour une fonctionnalité complète#define X_MAX_PIN 6#define X_HOME_PIN 7 //home pin.#define X_DIR_PIN 8#define X_STEP_PIN 9#define X_ANALOG_PIN A0#define Y_def_PIN_PIN#define Y_MAX_PIN_PIN 11#define Y_STEP_PIN 12#define Y_ANALOG_PIN A2// Étant donné que le micropas est défini en externe, assurez-vous qu'il correspond au mode sélectionné// 1=pas complet, 2=demi-pas etc.#define MICROSTEPS 1// Configuration de base à 2 fils, micropas est câblé sur le driverBasicStepperDriver x_stepper(X_MOTOR_STEPS, X_DIR_PIN, X_STEP_PIN, X_HOME_PIN, X_MAX_PIN);BasicStepperDriver y_stepper(Y_MOTOR_STEPS, Y_DIR_PIN, Y_STEP_PIN_PIN, Y_HOME_PIN);BasicStepperDriver y_stepper(Y_MOTOR_STEPS, Y_DIR_PIN, Y_STEP_PIN_PIN, Y_HOME_PIN); () { #ifdef DEBUG Se rial.begin(9600); #endif /* * Définir le régime moteur cible. * Ces moteurs peuvent faire jusqu'à environ 200 tr/min. * Trop élevé se traduira par un gémissement aigu et le moteur ne bouge pas. * * Nous voulons que ces moteurs se déplacent lentement. */ x_stepper.setRPM(100); y_stepper.setRPM(100); /* * Indique au pilote le niveau de micropas que nous avons sélectionné. * S'il ne correspond pas, le moteur se déplacera à un régime différent de celui choisi. */ x_stepper.setMicrostep(MICROSTEPS); y_stepper.setMicrostep(MICROSTEPS);}void loop() { /* * Déplacement du moteur d'un tour complet en utilisant la notation en degrés */ // 1024/2 =512 // 512 - 40 =472 // 512 + 40 =552 x_analog =analogRead(X_ANALOG_PIN); // Joystick tiré vers l'arrière et HOME non enfoncé //if ((x_analog <472) &&(digitalRead(X_HOME_PIN)==HIGH)) { if ((x_analog <472)) { x_stepper.move(-40); } else if ((x_analog> 552)) { x_stepper.move (40); } #ifdef DEBUG Serial.print("X:"); Serial.print(x_analog); //Serial.print(x_stepper.getDirection()); #endif y_analog =analogRead(Y_ANALOG_PIN); //if ((y_analog <472) &&(digitalRead(Y_HOME_PIN)==HIGH)) { if ((y_analog <472)) { y_stepper.move(-40); } else if ((y_analog> 552)) { y_stepper.move (40); } #ifdef DEBUG Serial.print(" Y:"); Serial.println(y_analog); //Serial.getDirection(y_stepper. #endif}

Pièces et boîtiers personnalisés

fty8akaivo3t4x1_u1xz65PyoT.dxf fzuawwrivo3t4wz_PdKRLpvu3f.cdr

Schémas


Processus de fabrication

  1. Guide du prototypage CNC
  2. Tableau
  3. Table de billard
  4. Machine-outil CNC
  5. moteurs CNC classiques :moteurs pas à pas vs servomoteurs
  6. 1325 Routeur CNC ATC 4 axes avec table PTP
  7. Choisir la bonne table plasma CNC
  8. Qu'est-ce que le tournage CNC ?
  9. Une introduction à la table rotative motorisée