Sisukord:

CNC osade korjamismasin: 9 sammu (piltidega)
CNC osade korjamismasin: 9 sammu (piltidega)

Video: CNC osade korjamismasin: 9 sammu (piltidega)

Video: CNC osade korjamismasin: 9 sammu (piltidega)
Video: Картирование потока создания ценности. Бережливое производство. Управление изменениями 2024, November
Anonim
CNC osade korjamismasin
CNC osade korjamismasin

Kui olete tõsine tegija nagu mina, on teil tõenäoliselt lugematu arv takistid, kondensaatorid ja mitmesugused muud elektroonilised komponendid. Kuid on suur probleem: kuidas jälgida, mis või kui palju tal midagi on? Selle probleemi jaoks lõin CNC -masina, mis saab teavet MySQL -i andmebaasist, mis seejärel läheb ja otsib soovitud üksuse. Lisaks andmebaasi taustale tegin kasutajaliidese, mis võimaldab kasutajatel sisse logida ja seejärel luua osade kategooriaid, lisada uusi osi ja muuta osade koguseid. Nii saab iga üksust arvele võtta, nagu varude haldamise süsteemi.

Komponendid:

  • Arduino UNO ja Genuino UNO
  • Masinakruvid: 8mm, 3mm, 4mm
  • MOSFET N-kanal
  • Alaldi diood 1N4001
  • Sammumootor NEMA 17 x2
  • Draiver DRV8825 Stepper Motors x2 jaoks
  • Kondensaator 100 µF x2
  • DFRobot servohaarats
  • DFRoboti hammasrihm x2
  • DFRobot 5MM hammasratas X2
  • Lineaarne laager DFRobot 6mmx12mm x2
  • Kuullaager DFRobot 8mmx12mm

1. samm: teooria

Image
Image

Selle süsteemi aluseks on varude jälgimine. Näiteks kui keegi ostab 20 Arduino Uno tahvlit, võib ta selle summa hõlpsalt andmebaasi tabelisse lisada. Kategooria oleks "Arduino", nimi "Uno" ja kogus 20. Mitme inimese jaoks oleks selle osa omanik selle lisanud inimese kasutajanimi. Osa sisaldab ka andmeid selle asukoha kohta ruudustikul. Kui osa kogus muutub, valib CNC -masin selle osa ja annab selle kasutajale.

2. samm: andmebaas

Andmebaas
Andmebaas
Andmebaas
Andmebaas

Vajasin üldlevinud andmebaasi, millele pääseks juurde nii Python kui ka PHP. Samuti pidi see olema hõlpsasti kasutatav ja rohke toega, muutes MySQL -i ideaalseks andmebaasiserveriks. Alustasin allalaadimisest mysqli installijalt saidilt https://dev.mysql.com/downloads/windows/installer/ ja seejärel käivitasin selle. Valisin serveri (muidugi) ja töölaua, kesta ja utiliitide installimise. Kasutajanime ja parooli valides pidage seda kindlasti meeles, kuna samad volitused on vajalikud kõikides PHP -failides ja Pythoni skriptis. Pärast serveri käivitamist lubage sellel taustprotsessina töötada, nii et see on alati aktiivne. Siit edasi tuleb kõik kirjutada ja täpselt samas järjekorras, nagu mul on. Seejärel looge uus andmebaas (skeem) nimega "komponendid". Seejärel lisage järgmised tabelid: "kategooriad", "osad" ja "kasutajad". Lisage kategooriate tabelisse järgmised veerud täpselt selles järjekorras: "id" -int (11), PK, AI; "nimi" -varchar (45); "omanik" - varchar (45).

Osade tabelis lisage järgmised veerud täpselt selles järjekorras: "id" -int (11), AI, PK; "kategooria" -varchar (45); "nimi" -varchar (45); "kogus" -int (11); "omanik" -varchar (45); "locationX" -int (11); "locationY" -int (11);

Lisage kasutajate tabelisse järgmised veerud täpselt selles järjekorras: "id" -int (11), AI, PK; "kasutajanimi" -varchar (45); "parool" -varchar (128);

Samm: seadistage Apache

Apache seadistamine
Apache seadistamine
Apache seadistamine
Apache seadistamine
Apache seadistamine
Apache seadistamine

Minu loodud veebilehed kasutavad HTML -i, CSS -i, Javascripti ja PHP -d. Alustuseks laadige alla uusim apache versioon aadressilt https://www.apachelounge.com/download/ ja pakkige see lahti, teisaldades kausta kataloogi C: \. Seejärel laadige PHP alla aadressilt https://windows.php.net/download#php-7.2 ja veenduge, et see on Thread Safe versioon. Pakkige see lahti, nimetage see ümber PHP -ks ja teisaldage see kataloogi C: \. Seejärel minge kausta C: / Apache24 / conf / httpd.conf ja muutke seda. Lisage kohe jaotise alla järgmised read:

LoadModule php7_module C: /PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

Rakendus AddHandler/x-httpd-php.php

PHPIniDir "C:/PHP"

Seejärel testige oma serverit, käivitades prügikasti kausta httpd.exe. Minge oma brauseris "localhost/" ja vaadake, kas ilmub teremaailma leht. Kui see nii on, hurraa, teil on nüüd kohalik veebiserver.

4. samm: PHP seadistamine

PHP seadistamine
PHP seadistamine
PHP seadistamine
PHP seadistamine

PHP jaoks MySQL -i seadistamiseks tuleb teha mitmeid asju. Esiteks nimetage "php.ini-soovitatav" ümber "php.ini" -ks ja avage see seejärel märkmikus. Minge laienduste sektsiooni ja lisage või tühistage "extension = php_mysqli.dll", mis võimaldab PHP -l MySQL -serveriga suhelda. Nüüd taaskäivitage httpd.exe ja looge uus fail nimega "phptest.php" ja sisestage see faili. Nüüd minge saidile localhost/phptest.php ja vaadake, kas teie brauseri teave ilmub.

Samm: masina kujundamine

Masina projekteerimine
Masina projekteerimine
Masina projekteerimine
Masina projekteerimine
Masina projekteerimine
Masina projekteerimine

Alustasin Fusion 360 -s mõnede põhiosade loomisega: 6 mm varras, lineaarne laager ja samm -mootor. Seejärel panin y -telje moodustamiseks kaks varda risti ja panin hammasrihma ka samm -mootori ja laagri ümber. Lisasin ka x -telje. Seejärel hakkasin 3D -printima erinevaid osi ja ka CNC -d vedasid kahte külgpaneeli.

6. samm: masina valmistamine

Masina valmistamine
Masina valmistamine
Masina valmistamine
Masina valmistamine
Masina valmistamine
Masina valmistamine

Lõppkokkuvõttes läbisin iga osa mitu iteratsiooni, nii et kui mõni neist on erinev, siis sellepärast. Alustasin iga osa lihvimisega ja seejärel puurisin välja 3D -prinditud osade iga augu. Seejärel panin aukudesse lineaarlaagrid ja jooksin 6 mm vardad neist läbi. Pärast rihmarataste nende võllidele kinnitamist paigaldasin ka samm -mootorid nende vastavatesse kohtadesse. Hammasrihm aeti mõlema telje ümber mõlema külje ümber. Lõpuks mõistsin, et haarats oleks liiga tülikas, nii et valisin hoopis elektromagneti. Mul oli selle ehitamisel ka abi, kassi näol.

Samm: Arduino kood

Arduino kood
Arduino kood

Minu alus selle masina jaoks oli GRBL. Koodi alguses on loetletud erinevad parameetrid, näiteks vahemaa pöörde kohta, nihked ja ulatused. DRV8825 samm -mootorite draiverite juhtimiseks kasutasin raamatukogu BasicStepperDriver. Stepper-draiverid on seadistatud kasutama 1/32 mikrotasandit, suurendades eraldusvõimet. Iga kord, kui masin "käivitub", läbib see suunamisjärjestuse, kus iga telg astub, kuni jõuab piirlülitini. Seejärel liigub see nihke põhjal määratud asukohta ja määrab asukohaks 0, 0. Nüüd, kui ta saab seeria kaudu käskluse, liigub see sellesse ruudustiku asukohta.

Samm: Pythoni programm

Otsustasin kasutada Flaski veebiserverina, mis võtaks GET -päringuid vastu põhilehelt. Taotlused koosnevad osa nimest ja kategooriast. Pärast seda, kui Flask seda käsitseb, analüüsitakse andmeid, seejärel esitatakse MySQL -i serverile päring, et teada saada osa asukoht. Seejärel saadab pythoni skript Arduinole käsu, täpsustades, kus osa asub.

9. samm: osade valija kasutamine

Osade valija kasutamine
Osade valija kasutamine
Osade valija kasutamine
Osade valija kasutamine
Osade valija kasutamine
Osade valija kasutamine
Osade valija kasutamine
Osade valija kasutamine

Esitasin veebisaidi failid oma githubi hoidlasse: https://github.com/having11/cnc_part_picker_webpages Asendage puuduvad parameetrid teie konkreetse MySQL -serveri PHP -failides. Pange failid Apache kausta htdocs kausta. Lihtsalt käivitage pythoni skript ja seejärel, kui osa summat muudetakse, läheb masin sellesse kohta ja saab selle kätte. 3D -printimise failid leiate siit ja veebilehe failid siit.

Soovitan: