İçindekiler:

CNC Parça Toplama Makinesi: 9 Adım (Resimli)
CNC Parça Toplama Makinesi: 9 Adım (Resimli)

Video: CNC Parça Toplama Makinesi: 9 Adım (Resimli)

Video: CNC Parça Toplama Makinesi: 9 Adım (Resimli)
Video: Tornadaki bu salgı neden olur? #cnctorna #tornasalgısı #tornadasalgıalma 2024, Kasım
Anonim
CNC Parça Toplama Makinesi
CNC Parça Toplama Makinesi

Benim gibi ciddi bir üreticiyseniz, büyük olasılıkla sayısız direnç, kapasitör ve çeşitli diğer elektronik bileşenlere sahip olacaksınız. Ancak büyük bir sorun var: Kişi neye veya kaç şeye sahip olduğunu nasıl takip edebilir? Bu sorun için, bir MySQL veritabanından bilgi alan ve daha sonra istenen öğeyi alan ve alan bir CNC makinesi oluşturdum. Veritabanı arka ucuna ek olarak, kullanıcıların oturum açmasına ve ardından parça kategorileri oluşturmasına, yeni parçalar eklemesine ve parça miktarlarını değiştirmesine izin veren bir ön uç web sayfası yaptım. Bu şekilde, tıpkı bir stok yönetim sistemi gibi, her bir kalemin muhasebesi yapılabilir.

Bileşenler:

  • Arduino UNO & Genuino UNO
  • Makine Vidaları: 8mm, 3mm, 4mm
  • MOSFET N-kanalı
  • Doğrultucu Diyot 1N4001
  • Step Motor NEMA 17 x2
  • Step Motorlar x2 için Sürücü DRV8825
  • Kapasitör 100 µF x2
  • DFRobot Servo Tutucu
  • DFRobot Triger Kayışı x2
  • DFRobot 5MM Zamanlama Kasnağı x2
  • DFRobot Lineer Rulman 6mmx12mm x2
  • DFRobot Rulman 8mmx12mm

1. Adım: Teori

Image
Image

Bu sistemin temeli stok takibi yapmaktır. Örneğin, biri 20 Arduino Uno kartı satın alırsa, bu miktarı kolayca bir veritabanı tablosuna ekleyebilir. Kategori "Arduino", adı "Uno" ve miktar 20 olacaktır. Birden fazla kişi için, o parçanın sahibi, onu ekleyen kişinin kullanıcı adı olacaktır. Parça ayrıca bir ızgara üzerindeki konumuyla ilgili verileri de içerecektir. Parça miktarı değiştiğinde CNC makinesi o parçayı seçer ve kullanıcıya verir.

2. Adım: Veritabanı

Veri tabanı
Veri tabanı
Veri tabanı
Veri tabanı

Hem Python hem de PHP tarafından erişilebilen her yerde bulunan bir veritabanına ihtiyacım vardı. Ayrıca, MySQL'i mükemmel bir veritabanı sunucusu yapan, bol miktarda destekle kullanımı kolay olmalıydı. https://dev.mysql.com/downloads/windows/installer/ adresinden mysql yükleyiciyi indirerek başladım ve çalıştırdım. Sunucuyu (elbette) ve ayrıca tezgahı, kabuğu ve yardımcı programları kurmayı seçtim. Bir kullanıcı adı ve parola seçtiğinizde, tüm PHP dosyalarında ve Python komut dosyasında aynı kimlik bilgilerine ihtiyaç duyulduğundan, bunu hatırladığınızdan emin olun. Sunucuyu başlattıktan sonra, her zaman etkin olması için arka plan işlemi olarak çalışmasını sağlayın. Şu andan itibaren, her şey benim sahip olduğum sırayla ve tam olarak aynı şekilde yazılmalı. Ardından, "bileşenler" adlı yeni bir veritabanı (şema) oluşturun. Ardından şu tabloları ekleyin: "kategoriler", "parçalar" ve "kullanıcılar". Kategoriler tablosuna aşağıdaki sütunları tam olarak bu sırayla ekleyin: "id" -int(11), PK, AI; "isim" -varchar(45); "sahip" - varchar(45).

Parça tablosuna aşağıdaki sütunları tam olarak bu sırayla ekleyin: "id" -int(11), AI, PK; "kategori" -varchar(45); "isim" -varchar(45); "miktar" -int(11); "sahip" -varchar(45); "locationX" -int(11); "konumY" -int(11);

Kullanıcılar tablosuna aşağıdaki sütunları tam olarak bu sırayla ekleyin: "id" -int(11), AI, PK; "kullanıcı adı" -varchar(45); "şifre" -varchar(128);

3. Adım: Apache'yi Kurma

Apache'yi Kurma
Apache'yi Kurma
Apache'yi Kurma
Apache'yi Kurma
Apache'yi Kurma
Apache'yi Kurma

Oluşturduğum web sayfaları HTML, CSS, Javascript ve PHP kullanıyor. https://www.apachelounge.com/download/ adresinden en son apache sürümünü indirerek başlayın ve klasörü C:\ dizinine taşıyarak açın. Ardından, PHP'yi https://windows.php.net/download#php-7.2 adresinden indirin ve bunun Thread Safe sürümü olduğundan emin olun. Açın, "PHP" olarak yeniden adlandırın ve C:\ dizinine taşıyın. Ardından C:\Apache24\conf\httpd.conf içine gidin ve düzenleyin. Bölümün hemen altına aşağıdaki satırları ekleyin:

LoadModule php7_module C:/PHP/php7apache2_4.dll

DirectoryIndex index.html index.php

AddHandler uygulaması/x-httpd-php.php

PHPIniDir "C:/PHP"

Ardından bin klasöründe bulunan httpd.exe'yi çalıştırarak sunucunuzu test edin. Tarayıcınızda "localhost/" a gidin ve merhaba dünya sayfasının gelip gelmediğine bakın. Olursa, yaşasın, artık yerel bir web sunucunuz var.

Adım 4: PHP Kurulumu

PHP Kurulumu
PHP Kurulumu
PHP Kurulumu
PHP Kurulumu

PHP için MySQL'i kurmak için birkaç şey yapılmalıdır. Önce "php.ini-recommended" adını "php.ini" olarak yeniden adlandırın ve ardından not defterinde açın. Uzantılar bölümüne gidin ve PHP'nin MySQL sunucusuyla iletişim kurmasını sağlayacak "extension=php_mysqli.dll" ekleyin veya yorumunu kaldırın. Şimdi httpd.exe'yi yeniden başlatın ve "phptest.php" adında yeni bir dosya oluşturun ve dosyaya koyun. Şimdi localhost/phptest.php adresine gidin ve tarayıcı bilgilerinizin gelip gelmediğine bakın.

Adım 5: Makineyi Tasarlamak

Makineyi Tasarlamak
Makineyi Tasarlamak
Makineyi Tasarlamak
Makineyi Tasarlamak
Makineyi Tasarlamak
Makineyi Tasarlamak

Fusion 360'ta bazı temel parçalar oluşturarak başladım: 6 mm çubuk, lineer yatak ve step motor. Sonra y eksenini oluşturmak için iki çubuğu çaprazladım ve ayrıca step motor ve yatağın etrafına bir triger kayışı yerleştirdim. Ayrıca bir x ekseni de ekledim. Daha sonra çeşitli parçaları 3D olarak yazdırmaya başladım ve ayrıca CNC ile yönlendirilmiş iki yan panel.

Adım 6: Makineyi Yapmak

Makineyi Yapmak
Makineyi Yapmak
Makineyi Yapmak
Makineyi Yapmak
Makineyi Yapmak
Makineyi Yapmak

Her parçanın birden fazla yinelemesinden geçtim, bu yüzden eğer herhangi biri farklıysa, bu yüzden. Her parçayı zımparalayarak ve ardından 3B yazdırılan parçalardaki her bir deliği açarak başladım. Sonra deliklere lineer rulmanlar yerleştirdim ve 6 mm'lik çubukları içlerinden geçirdim. Ayrıca kasnakları millerine taktıktan sonra step motorları da ilgili yerlerine monte ettim. Triger kayışı, her iki eksen için iki tarafın her birinin etrafına dolandı. Sonunda tutucunun çok hantal olacağını fark ettim, bu yüzden onun yerine bir elektromıknatıs seçtim. Bir kedi şeklinde inşa ederken de biraz yardım aldım.

Adım 7: Arduino Kodu

Arduino Kodu
Arduino Kodu

Bu makine için temelim GRBL idi. Kodun başlangıcı, dönüş başına mesafe, ofsetler ve kapsamlar gibi çeşitli parametreleri listeler. DRV8825 step motor sürücülerini kontrol etmek için BasicStepperDriver kitaplığını kullandım. Adım sürücüleri, çözünürlüğü artıran 1/32 mikro adım kullanacak şekilde ayarlanmıştır. Makine "açıldığında", her eksenin bir limit anahtarına ulaşana kadar adım attığı bir hedef arama dizisinden geçer. Daha sonra ofsetten yola çıkarak belirlenen bir konuma hareket eder ve konumu 0, 0'a ayarlar. Artık ne zaman seri ile bir hareket komutu aldığında o ızgara konumuna hareket eder.

Adım 8: Python Programı

Ana web sitesinden GET istekleri alacak bir web sunucusu olarak Flask'ı kullanmayı seçtim. İstekler, parçanın adından ve kategorisinden oluşur. Flask onu işledikten sonra veriler ayrıştırılır, ardından MySQL sunucusu parçanın yerini bulmak için sorgulanır. Ardından python betiği Arduino'ya parçanın nerede olduğunu belirten bir komut gönderir.

9. Adım: Parça Seçiciyi Kullanma

Parça Seçiciyi Kullanma
Parça Seçiciyi Kullanma
Parça Seçiciyi Kullanma
Parça Seçiciyi Kullanma
Parça Seçiciyi Kullanma
Parça Seçiciyi Kullanma
Parça Seçiciyi Kullanma
Parça Seçiciyi Kullanma

Web sitesi dosyalarını github depomda sağladım: https://github.com/having11/cnc_part_picker_webpages MySQL sunucunuz için PHP dosyalarındaki eksik parametreleri değiştirin. Dosyaları Apache klasöründeki htdocs klasörüne koyun. Basitçe python betiğini çalıştırın ve ardından parça miktarı değiştiğinde makine o konuma gidecek ve onu alacaktır. 3D baskı dosyalarını burada ve web sayfası dosyalarını burada bulun.

Önerilen: