Sisällysluettelo:

CNC -osien poimintalaite: 9 vaihetta (kuvilla)
CNC -osien poimintalaite: 9 vaihetta (kuvilla)

Video: CNC -osien poimintalaite: 9 vaihetta (kuvilla)

Video: CNC -osien poimintalaite: 9 vaihetta (kuvilla)
Video: ЗАКРИЧАЛ – ПОТЕРЯЛ ₽200.000 / ТРЭШКЭШ: Тишина 2024, Heinäkuu
Anonim
CNC -osien poimintakone
CNC -osien poimintakone

Jos olet vakava valmistaja kuten minä, sinulla on todennäköisesti lukemattomia vastuksia, kondensaattoreita ja erilaisia muita elektronisia komponentteja. Mutta on olemassa suuri ongelma: Kuinka seurata, mitä tai kuinka paljon jotain heillä on? Tätä ongelmaa varten loin CNC -koneen, joka saa tietoja MySQL -tietokannasta, joka sitten menee ja noutaa pyydetyn kohteen. Tietokannan taustapuolen lisäksi tein käyttöliittymän verkkosivun, jonka avulla käyttäjät voivat kirjautua sisään ja luoda sitten osaluokkia, lisätä uusia osia ja muuttaa osien määriä. Näin jokainen tuote voidaan ottaa huomioon, aivan kuten varastonhallintajärjestelmä.

Komponentit:

  • Arduino UNO ja Genuino UNO
  • Koneen ruuvit: 8mm, 3mm, 4mm
  • MOSFET N-kanava
  • Tasasuuntaajan diodi 1N4001
  • Askelmoottori NEMA 17 x2
  • Ajuri DRV8825 Stepper Motors x2: lle
  • Kondensaattori 100 µF x2
  • DFRobot Servo Gripper
  • DFRobot -jakohihna x2
  • DFRobot 5MM jakopyörä x2
  • DFRobot -lineaarilaakeri 6mmx12mm x2
  • DFRobot -kuulalaakeri 8 mm x 12 mm

Vaihe 1: Teoria

Image
Image

Tämän järjestelmän perusta on varaston seuranta. Jos joku esimerkiksi ostaa 20 Arduino Uno -levyä, hän voi helposti lisätä tämän määrän tietokantataulukkoon. Luokka olisi "Arduino", nimi "Uno" ja määrä 20. Useiden ihmisten osalta kyseisen osan omistaja olisi sen lisänneen käyttäjänimi. Osa sisältäisi myös tietoja sen sijainnista ruudukossa. Aina kun osan määrä muuttuu, CNC -kone valitsee sen osan ja antaa sen käyttäjälle.

Vaihe 2: Tietokanta

Tietokanta
Tietokanta
Tietokanta
Tietokanta

Tarvitsin kaikkialla läsnä olevan tietokannan, johon pääsisivät sekä Python että PHP. Sen oli myös oltava helppokäyttöinen ja runsaasti tukea, mikä teki MySQL: stä täydellisen tietokantapalvelimen. Aloitin lataamalla mysql -asennusohjelman osoitteesta https://dev.mysql.com/downloads/windows/installer/ ja suoritin sen sitten. Päätin asentaa palvelimen (tietysti) sekä työpöydän, kuoren ja apuohjelmat. Kun valitset käyttäjätunnuksen ja salasanan, muista se muistaa, koska samat tunnistetiedot tarvitaan kaikissa PHP -tiedostoissa ja Python -komentosarjassa. Kun palvelin on käynnistetty, ota se käyttöön taustaprosessina, joten se on aina aktiivinen. Tästä eteenpäin kaikki on kirjoitettava ja täsmälleen samassa järjestyksessä kuin minulla on. Luo seuraavaksi uusi tietokanta (skeema) nimeltä "komponentit". Lisää sitten seuraavat taulukot: "luokat", "osat" ja "käyttäjät". Lisää luokkataulukkoon seuraavat sarakkeet tässä tarkassa järjestyksessä: "id" -int (11), PK, AI; "nimi" -varchar (45); "omistaja" - varchar (45).

Lisää osataulukkoon seuraavat sarakkeet tässä tarkassa järjestyksessä: "id" -int (11), AI, PK; "luokka" -varchar (45); "nimi" -varchar (45); "määrä" -int (11); "omistaja" -varchar (45); "locationX" -int (11); "locationY" -int (11);

Lisää käyttäjätaulukkoon seuraavat sarakkeet tässä tarkassa järjestyksessä: "id" -int (11), AI, PK; "käyttäjätunnus" -varchar (45); "salasana" -varchar (128);

Vaihe 3: Asenna Apache

Apachen asentaminen
Apachen asentaminen
Apachen asentaminen
Apachen asentaminen
Apachen asentaminen
Apachen asentaminen

Luomillani verkkosivuilla on HTML, CSS, Javascript ja PHP. Aloita lataamalla uusin apache -versio osoitteesta https://www.apachelounge.com/download/ ja pura se, siirtämällä kansio C: / -hakemistoon. Lataa seuraavaksi PHP osoitteesta https://windows.php.net/download#php-7.2 ja varmista, että se on Thread Safe -versio. Pura se, nimeä se uudelleen "PHP": ksi ja siirrä se C: / -hakemistoon. Siirry sitten kohtaan C: / Apache24 / conf / httpd.conf ja muokkaa sitä. Lisää seuraavat rivit suoraan osion alle:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler-sovellus/x-httpd-php.php

PHPIniDir "C:/PHP"

Testaa sitten palvelimesi suorittamalla roskakorikansio httpd.exe. Siirry selaimesi kohtaan "localhost/" ja katso, tuleeko hei -maailman sivu. Jos näin on, hurraa, sinulla on nyt paikallinen verkkopalvelin.

Vaihe 4: PHP: n käyttöönotto

PHP: n käyttöönotto
PHP: n käyttöönotto
PHP: n käyttöönotto
PHP: n käyttöönotto

MySQL: n määrittäminen PHP: lle edellyttää useita asioita. Nimeä "php.ini-Recommended" ensin "php.ini": ksi ja avaa se sitten muistilehtiöön. Siirry laajennusosioon ja lisää tai poista kommentti "extension = php_mysqli.dll", jolloin PHP kommunikoi MySQL -palvelimen kanssa. Käynnistä nyt httpd.exe uudelleen ja luo uusi tiedosto nimeltä "phptest.php" ja laita tiedostoon. Siirry nyt osoitteeseen localhost/phptest.php ja katso, tuleeko selaimesi tietoja.

Vaihe 5: Koneen suunnittelu

Koneen suunnittelu
Koneen suunnittelu
Koneen suunnittelu
Koneen suunnittelu
Koneen suunnittelu
Koneen suunnittelu

Aloitin luomalla joitain Fusion 360: n perusosia: 6 mm sauvan, lineaarisen laakerin ja askelmoottorin. Sitten levitin kaksi tankoa poikki y -akselin muodostamiseksi ja laitoin myös jakohihnan askelmoottorin ja laakerin ympärille. Lisäsin myös x -akselin. Sitten aloin 3D -tulostamaan erilaisia osia ja myös CNC -reititys kaksi sivupaneelia.

Vaihe 6: Koneen valmistus

Koneen valmistus
Koneen valmistus
Koneen valmistus
Koneen valmistus
Koneen valmistus
Koneen valmistus

Päädyin käymään läpi useita toistoja jokaisesta osasta, joten jos jokin on erilainen, siksi. Aloitin hiomalla jokaisen osan ja poraamalla sitten jokaisen reiän 3D -tulostetuissa osissa. Sitten laitoin lineaariset laakerit reikiin ja vedin 6 mm sauvat niiden läpi. Asensin myös askelmoottorit omiin paikkoihinsa sen jälkeen, kun hihnapyörät oli kiinnitetty akseleihin. Jakohihna silmukoitiin molempien sivujen ympärille molemmille akseleille. Lopulta tajusin, että tarttuja olisi liian hankala, joten valitsin sen sijaan sähkömagneetin. Minulla oli myös apua sen rakentamisessa kissan muodossa.

Vaihe 7: Arduino -koodi

Arduino -koodi
Arduino -koodi

Perusteeni tälle koneelle oli GRBL. Koodin alussa luetellaan erilaisia parametreja, kuten etäisyys kierrosta kohti, siirtymät ja laajuudet. Käytin BasicStepperDriver -kirjastoa DRV8825 -askelmoottorin ohjainten ohjaamiseen. Askelohjaimet on asetettu käyttämään 1/32 mikroaskelmaa, mikä lisää tarkkuutta. Aina kun kone "käynnistyy", se käy läpi ohjausjakson, jossa jokainen akseli astuu, kunnes se osuu rajakytkimeen. Sitten se siirtyy offsetin perusteella asetettuun paikkaan ja asettaa sijainniksi 0, 0. Nyt kun se vastaanottaa siirtokomennon sarjan kautta, se siirtyy kyseiseen ruudukon sijaintiin.

Vaihe 8: Python -ohjelma

Päätin käyttää Flaskia verkkopalvelimena, joka vastaanottaa GET -pyynnöt pääsivustolta. Pyynnöt koostuvat osan nimestä ja luokasta. Kun pullo käsittelee sen, tiedot jäsennellään, MySQL -palvelimelta kysytään osan sijainti. Sitten python -skripti lähettää komennon Arduinolle ja määrittää, missä osa on.

Vaihe 9: Osanvalitsimen käyttäminen

Osanvalitsimen käyttäminen
Osanvalitsimen käyttäminen
Osanvalitsimen käyttäminen
Osanvalitsimen käyttäminen
Osanvalitsimen käyttäminen
Osanvalitsimen käyttäminen
Osanvalitsimen käyttäminen
Osanvalitsimen käyttäminen

Olen toimittanut verkkosivustotiedostot github -arkistossani: https://github.com/having11/cnc_part_picker_webpages Korvaa puuttuvat parametrit tietyn MySQL -palvelimesi PHP -tiedostoista. Laita tiedostot Apache -kansion htdocs -kansioon. Suorita yksinkertaisesti python -komentosarja ja sitten kun osan määrä muuttuu, kone siirtyy kyseiseen paikkaan ja saa sen. Löydät 3D -tulostustiedostot täältä ja verkkosivutiedostot täältä.

Suositeltava: