İçindekiler:
- 1. Adım: Teori
- 2. Adım: Veritabanı
- 3. Adım: Apache'yi Kurma
- Adım 4: PHP Kurulumu
- Adım 5: Makineyi Tasarlamak
- Adım 6: Makineyi Yapmak
- Adım 7: Arduino Kodu
- Adım 8: Python Programı
- 9. Adım: Parça Seçiciyi Kullanma
Video: CNC Parça Toplama Makinesi: 9 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
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
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ı
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
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 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
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
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
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
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:
IR Yakınlık Sensörü, Hoparlör ve Arduino Uno Kullanan Hava Piyano (Yükseltilmiş/parça-2): 6 Adım
IR Yakınlık Sensörü, Hoparlör ve Arduino Uno Kullanan Hava Piyano (Yükseltilmiş/bölüm-2): Bu, önceki hava piyano projesinin yükseltilmiş bir versiyonudur. Burada çıkış olarak bir JBL hoparlör kullanıyorum. Modları gereksinimlere göre değiştirmek için dokunmaya duyarlı bir düğme de ekledim. Örneğin- Sert Bas modu, Normal mod, Yüksek fr
Saç Kurutma Makinesi Nasıl Yapılır - Kendin Yap Ev Yapımı Saç Kurutma Makinesi: 6 Adım (Resimlerle)
Saç Kurutma Makinesi Nasıl Yapılır - Kendin Yap Ev Yapımı Saç Kurutma Makinesi: ❄ BURAYA ABONE OLUN ➜ https://www.youtube.com/subscription_center?add_us…❄ TÜM VİDEOLAR BURADA ➜ http://www.youtube.com/user/fixitsamo /videos❄ BİZİ TAKİP EDİN: FACEBOOK ➜ https://www.facebook.com/fixitsamo PINTEREST ➜ https://www.facebook.com/fixitsamo
Lazer Yazıcıdan Parça Toplama: 10 Adım (Resimlerle)
Lazer Yazıcıdan Parça Toplama: ÜCRETSİZ! Ne güzel bir söz değil mi? Ücretsiz, pek çok heyecan verici deyimin ön ekidir; Bedava Konuşma, Bedava Para, Bedava Öğle Yemeği ve Bedava Aşk bunlardan sadece birkaçıdır. Bununla birlikte, hiçbir şey hayal gücünü tam olarak kıvılcımlandıramaz veya kalbi düşünce kadar hızlandıramaz
Arduino İle Sıcaklık ve Nem Göstergesi ve Veri Toplama ve İşleme: 13 Adım (Resimli)
Arduino ve İşleme ile Sıcaklık ve Nem Görüntüleme ve Veri Toplama: Giriş: Bu, bir Arduino kartı, bir Sensör (DHT11), bir Windows bilgisayar ve Sıcaklık, Nem verilerini dijital olarak görüntülemek için bir İşleme (ücretsiz indirilebilir) programı kullanan bir projedir. çubuk grafik formu, saati ve tarihi görüntüleyin ve bir sayım süresi çalıştırın
RoboBin -- Çöp Toplama Kutusu: 6 Adım (Resimli)
RoboBin || Çöp Toplama Kutusu: RoboBin, attığınız anda çöpü önbelleğe alan bir çöp kutusudur. Bu, bir şeyi atmak için kalkmanıza gerek kalmadan çöp atabileceğiniz anlamına gelir. Haydi başlayalım Nasıl çalışır Robo çöp kutusu, bir şey olduğunda çöp kutusunun kapağını iten bir solenoid tarafından çalışır