İçindekiler:

UCL - Gömülü - Seç ve Yerleştir: 4 Adım
UCL - Gömülü - Seç ve Yerleştir: 4 Adım

Video: UCL - Gömülü - Seç ve Yerleştir: 4 Adım

Video: UCL - Gömülü - Seç ve Yerleştir: 4 Adım
Video: BU KADININ HER ŞEYİ YEŞİL 😱😱 #shorts #tiktok 2024, Temmuz
Anonim
UCL - Gömülü - Seç ve Yerleştir
UCL - Gömülü - Seç ve Yerleştir

Bu talimat, bir 2B alma ve yerleştirme biriminin nasıl yapıldığını ve nasıl kodlanacağını anlatacaktır.

Adım 1: Bilgisayarlar

Bilgisayarlar
Bilgisayarlar

1x Adrio Mega

2 adet step motor (JLB Step Motor kullandık, model 17H1352-P4130)

Arduino için 2x Step Motor Sürücü Kontrol Kartı Modülü L298N Çift H Köprü DC

1x servo motor (Bunun üzerinde lekemiz yok)

3x 10k ohm dirençler

2x Naylon kabarcıklar

1x 12v güç kaynağı

Çerçeve için biraz ahşap

teller

Adım 2: İnşaat

Yapı
Yapı
Yapı
Yapı
Yapı
Yapı

İnşaat yüzü sırasında ilk şey, çekme ve yerleştirme makinesinin boyutunu ve şeklini belirlemekti.

İlk önce temel şekli ahşabı inşa ediyoruz. Al ve yerleştir çerçevemizi 50cm'ye 25cm'ye 30cm'e inşa ettik. Çerçeve, köprü ve kaldırma kolu dışındaki her şey bir lazer kesici ile üretildi.

İşte tüm dosyalara bir bağlantı

Daha sonra kasnak sistemine geçmek istedik. Burada iki 50 mm halka ve bir 20 mm halka ile gittik. Daha sonra 20mm'nin yanına biraz yapıştırıcı ile paracord yapıştırıyoruz. Daha sonra 20 mm'lik halkanın her iki tarafındaki iki adet 50 mm'lik halkayı sıktık.

20 mm

50 mm

Daha sonra kol için bir kaydırma kılavuzu tasarlamamız gerekiyor. Burada iki yan ve bir arka plaka yaptık.

Hangi daha sonra bir U şeklinde yapıştırıldı. Sonra onu köprüye bağladık.

Yan levha

Arka plaka

Artık kolu yukarı ve aşağı hareket ettirmek için parçalar yapıldı. Onu ileri geri hareket ettirmemiz gerekiyor.

Bunu tasarlarken dişlerin birbiriyle hizalandığından emin olduk. Böylece her iki öğe de aynı proje yerinde oluşturuldu.

3. Adım: Kodlayın

kod
kod
kod
kod
kod
kod

Programlama oldukça basit ve 5 bölümden oluşuyor

  1. Dahili ve IO kullanımı için Kitaplıkların Dahil Edilmesi ve Değişkenlerin Ayarlanması
  2. Girişleri Ram'a yükle
  3. Sekvens, istediğin hareketi seç.
  4. Step/servo pozisyon kontrolü
  5. dünyaya çıkış

Her parçayı geniş vuruşlarla açıklayacağız, ancak bunun birçok çözümden sadece biri olduğunu unutmayın.

1: Void kurulumundan önce bu proje için ihtiyacımız olan 2 kütüphaneyi dahil ettik. Step ve Servo. Dahil olan Kitaplıkları kullanmak, sizi step ve servo motorlar hakkında her detayı öğrenmekten kurtarır.

#Dahil etmek

#Dahil etmek

const int stepPerRevolution = 200; // bunu motorunuz için devir başına adım sayısına uyacak şekilde değiştirin

// 8 ile 11 arasındaki pinlerde step kütüphanesini başlat:

Step XStepper(stepsPerRevolution, 22, 23, 24, 25); Step YStepper(stepsPerRevolution, 28, 29, 30, 31); Servo Tutucu; // bir servoyu kontrol etmek için servo nesnesi yarat

Tutucunun geçersiz kurulumda eklenmesi gerekiyor

void setup() { // seri bağlantı noktasını başlat: Serial.begin(9600); Griper.attach(9); // pin 9'daki servoyu servo nesnesine bağlar

Bu bölümün geri kalanı sadece Değişkenler ve Sabitler'in kurulumudur.

2: Void Loop'taki ilk şey, kullanılan tüm girdileri bir değişkene yüklemektir. Bu iki nedenden dolayı yapılır. İlk neden, bir Giriş okumanın CPU ağır görevlerini sınırlamaktır. En önemli olan ikinci neden, bir Girdinin birden fazla kez kullanılması durumunda, tüm tarama boyunca aynı değere sahip olmasını sağlamaktır. Bu, tutarlı kod yazmayı çok daha kolay hale getirir. Bu, PLC programlamada çok yaygın bir uygulamadır, ancak gömülü programlama için de geçerlidir.

//-------------------------RAM'a giriş--------------------- Xend = digitalRead(34); Yend = digitalRead(35); Ena = digitalRead(36);

3: Kodun sekvens kısmında Switch ve case komutları ile bir sekvens yaptık. sekvens kısmı sadece kodun Konum kontrol kısmına sinyal verir. Bu kısım, uygulamanıza göre kolayca özelleştirilebilir veya olduğu gibi kullanılabilir.

4: Servonun konumu sadece servo liberi tarafından kontrol edilir ve tutucu açık ve kapalı için bir if ifadesi.

Step Kontrol biraz daha zor. İşlev, Ayar Noktasını (Kolun gitmesini istediğiniz konum) ve Geçerli konumu karşılaştırır. Eğer mevcut pozisyon a aşığı ise, fonksiyon pozisyona ekleme yapar ve Stepper liberi fonksiyonundan pozitif bir adım atmasını ister. Yüksek konum için bunun tersi doğrudur. konum, Ayar Noktası ile aynıysa, bir XinPos biti oturur ve adımlayıcı durur.

// SP kontrolü X

if (XstepCountXsp ve Ana Sayfa değil){

XstepCount=XstepCount-1; Xadım=-1; XinPos = 0; } if (XstepCount==Xsp){ Xstep=0; XinPos = 1; }

5: Motorların liberi fonksiyonları ile kontrol edildiği kodun sonuna ekleyin.

//--------------------Çıktı---------------------- // adım bir adım: XStepper.step(Xstep); // birinci adım: Ystepper.step(Ystep);

Griper.write(GripSp);

Adım 4: Yapan

casp6099 - Casper Hartung Christensen

rasm616d - Rasmus Hansen

Önerilen: