INHOUDSOPGAWE:

CNC onderdeel pluk masjien: 9 stappe (met foto's)
CNC onderdeel pluk masjien: 9 stappe (met foto's)

Video: CNC onderdeel pluk masjien: 9 stappe (met foto's)

Video: CNC onderdeel pluk masjien: 9 stappe (met foto's)
Video: 1955 Duitse MAW-fietsmotor! Demontage, ontwerpoverzicht 2024, November
Anonim
CNC onderdeel pluk masjien
CNC onderdeel pluk masjien

As u 'n ernstige vervaardiger is soos ek, dan sal u waarskynlik talle weerstande, kapasitors en verskillende ander elektroniese komponente hê. Maar daar is 'n groot probleem: hoe hou 'n mens tred met wat of hoeveel van iets wat hulle het? Vir hierdie probleem het ek 'n CNC -masjien geskep wat inligting kry van 'n MySQL -databasis wat dan die item wat aangevra is, gaan haal. Benewens die back-end van die databasis, het ek 'n front-end webblad gemaak waarmee gebruikers kan aanmeld en dan kategorieë onderdele kan skep, nuwe onderdele kan byvoeg en die hoeveelhede dele kan verander. Op hierdie manier kan rekenskap gegee word van elke item, net soos 'n voorraadbestuurstelsel.

Komponente:

  • Arduino UNO en Genuino UNO
  • Masjienskroewe: 8 mm, 3 mm, 4 mm
  • MOSFET N-kanaal
  • Gelykrigterdiode 1N4001
  • Stapmotor NEMA 17 x2
  • Bestuurder DRV8825 vir Stepper Motors x2
  • Kondensator 100 µF x2
  • DFRobot Servo Gripper
  • DFRobot -tydsriem x2
  • DFRobot 5MM -katrol x2
  • DFRobot Lineêre laer 6mmx12mm x2
  • DFRobot -kogellager 8 mm x 12 mm

Stap 1: Teorie

Image
Image

Die basis van hierdie stelsel is om die voorraad by te hou. As iemand byvoorbeeld 20 Arduino Uno -borde koop, kan hy die bedrag maklik by 'n databasistabel voeg. Die kategorie sou "Arduino", die naam van "Uno", en 'n hoeveelheid van 20. Vir meer mense is die eienaar van die deel die gebruikersnaam van die persoon wat dit bygevoeg het. Die deel bevat ook data oor die ligging daarvan op 'n rooster. As die deelbedrag verander, kies die CNC -masjien die onderdeel en gee dit aan die gebruiker.

Stap 2: Databasis

Databasis
Databasis
Databasis
Databasis

Ek het 'n alomteenwoordige databasis nodig gehad wat deur Python en PHP verkry kon word. Dit moes ook maklik wees om te gebruik met baie ondersteuning, wat MySQL die perfekte databasisbediener moes maak. Ek het begin met die aflaai van die mysql -installeerder van https://dev.mysql.com/downloads/windows/installer/ en dit toe uitgevoer. Ek het gekies om die bediener (natuurlik), en ook die werkbank, dop en hulpprogramme te installeer. As u 'n gebruikersnaam en wagwoord kies, moet u dit onthou, aangesien dieselfde geloofsbriewe in alle PHP -lêers en die Python -script nodig is. Nadat u die bediener begin het, kan u dit as 'n agtergrondproses uitvoer, sodat dit altyd aktief sal wees. Van hier af moet alles in 'n spelling wees en in presies dieselfde volgorde as wat ek dit het. Skep vervolgens 'n nuwe databasis (skema) met die naam "komponente". Voeg dan die volgende tabelle by: "kategorieë", "onderdele" en "gebruikers". Voeg in die kategorie -tabel die volgende kolomme in hierdie presiese volgorde by: "id" -int (11), PK, AI; "naam" -varchar (45); "eienaar" - varchar (45).

Voeg in die onderdele -tabel die volgende kolomme in hierdie presiese volgorde by: "id" -int (11), AI, PK; "kategorie" -varchar (45); "naam" -varchar (45); "hoeveelheid" -int (11); "eienaar" -varchar (45); "locationX" -int (11); "locationY" -int (11);

Voeg in die gebruikers -tabel die volgende kolomme in hierdie presiese volgorde by: "id" -int (11), AI, PK; "gebruikersnaam" -varchar (45); "wagwoord" -varchar (128);

Stap 3: Stel Apache op

Stel Apache op
Stel Apache op
Stel Apache op
Stel Apache op
Stel Apache op
Stel Apache op

Die webblaaie wat ek geskep het, gebruik HTML, CSS, Javascript en PHP. Begin met die aflaai van die nuutste apache -weergawe van https://www.apachelounge.com/download/ en pak dit uit, en skuif die gids na die C: / -gids. Laai vervolgens PHP af van https://windows.php.net/download#php-7.2 en maak seker dat dit die Thread Safe-weergawe is. Pak dit uit, hernoem dit na "PHP" en skuif dit na die C: / gids. Gaan dan na C: / Apache24 / conf / httpd.conf en wysig dit. Voeg die volgende reëls reg onder die afdeling by:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler-toepassing/x-httpd-php.php

PHPIniDir "C:/PHP"

Toets dan u bediener deur httpd.exe in die asblik te gebruik. Gaan na "localhost/" in u blaaier en kyk of die hallo -wêreldbladsy verskyn. As dit die geval is, hoera, u het nou 'n plaaslike webbediener.

Stap 4: Opstel van PHP

Opstel van PHP
Opstel van PHP
Opstel van PHP
Opstel van PHP

Om MySQL vir PHP op te stel, moet verskeie dinge gedoen word. Hernoem eers "php.ini-aanbeveel" na "php.ini" en maak dit dan oop in notaboek. Gaan na die afdeling Uitbreidings en voeg 'extension = php_mysqli.dll' by of voeg dit by, waardeur PHP met die MySQL -bediener kan kommunikeer. Herlaai nou httpd.exe en skep 'n nuwe lêer genaamd "phptest.php" en plaas dit in die lêer. Gaan nou na localhost/phptest.php en kyk of u blaaierinligting verskyn.

Stap 5: Ontwerp die masjien

Ontwerp van die masjien
Ontwerp van die masjien
Ontwerp van die masjien
Ontwerp van die masjien
Ontwerp van die masjien
Ontwerp van die masjien

Ek het begin met die skep van 'n paar basiese dele in Fusion 360: 'n staaf van 6 mm, 'n lineêre laer en 'n stapmotor. Toe span ek twee stawe oor om die y -as te vorm, en sit ook 'n tydsriem om die stapmotor en die laer. Ek het ook 'n x -as bygevoeg. Ek het toe begin om verskillende onderdele in 3D te druk en ook twee sypanele met CNC gelei.

Stap 6: Maak die masjien

Die maak van die masjien
Die maak van die masjien
Die maak van die masjien
Die maak van die masjien
Die maak van die masjien
Die maak van die masjien

Uiteindelik het ek verskeie herhalings van elke deel ondergaan, so as dit anders is, is dit hoekom. Ek het begin deur elke deel te skuur en dan elke gaatjie in die 3D -gedrukte dele uit te boor. Toe sit ek lineêre laers in die gate en laat die 6 mm -stawe daardeur loop. Ek het ook die stepper motors op hul onderskeie plekke gemonteer nadat ek die katrolle aan hul skagte geheg het. Die tydsriem het vir albei asse om albei kante geloop. Uiteindelik het ek besef dat die grijper te omslagtig sou wees, so ek het eerder 'n elektromagneet gekies. Ek het ook hulp gekry tydens die bou daarvan, in die vorm van 'n kat.

Stap 7: Arduino -kode

Arduino -kode
Arduino -kode

My basis vir hierdie masjien was GRBL. Die begin van die kode bevat verskillende parameters, soos afstand per rotasie, offsets en omvang. Ek het die BasicStepperDriver -biblioteek gebruik om die DRV8825 -stapmotorbestuurders te beheer. Die stepper-bestuurders moet 1/32 mikro-stepping gebruik, wat die resolusie verhoog. Elke keer as die masjien "opstart", gaan dit deur 'n volgorde waar elke as stap totdat dit 'n limietskakelaar tref. Dan beweeg dit vanaf die offset na 'n vasgestelde plek en stel die ligging op 0, 0. Nou wanneer dit 'n skuifopdrag via reeks ontvang, beweeg dit na die roosterlokasie.

Stap 8: Python -program

Ek het gekies om Flask te gebruik as 'n webserver wat GET -versoeke van die hoofwebwerf sou ontvang. Die versoeke bestaan uit die naam en kategorie van die onderdeel. Nadat Flask dit hanteer het, word die data ontleed, en die MySQL -bediener word gevra om die ligging van die onderdeel uit te vind. Dan stuur die python -skrif 'n opdrag na die Arduino, wat spesifiseer waar die deel is.

Stap 9: Gebruik die deelkieser

Gebruik die deelkieser
Gebruik die deelkieser
Gebruik die deelkieser
Gebruik die deelkieser
Gebruik die deelkieser
Gebruik die deelkieser
Gebruik die deelkieser
Gebruik die deelkieser

Ek het die webwerf -lêers in my github -bewaarplek verskaf: https://github.com/having11/cnc_part_picker_webpages Vervang die ontbrekende parameters in die PHP -lêers vir u spesifieke MySQL -bediener. Plaas die lêers in die htdocs -lêergids in die Apache -lêergids. Voer eenvoudig die python -script uit, en wanneer die deelbedrag verander word, gaan die masjien na die plek en kry dit. Vind die 3D -druk lêers hier en die webblad lêers hier.

Aanbeveel: