İçindekiler:

ESP8266 WIFI AP Kontrollü Dörtlü Robot: 15 Adım (Resimli)
ESP8266 WIFI AP Kontrollü Dörtlü Robot: 15 Adım (Resimli)

Video: ESP8266 WIFI AP Kontrollü Dörtlü Robot: 15 Adım (Resimli)

Video: ESP8266 WIFI AP Kontrollü Dörtlü Robot: 15 Adım (Resimli)
Video: Arduino - Esp8266 - Wifi üzerinden Cep Telefonu ile Kontrol - Remotexy - Arduino projesi - 73 - 2024, Temmuz
Anonim
Image
Image

Bu, servo sürücülü SG90 servo kullanarak 12 DOF veya dört ayaklı (dörtlü) robot yapmak için öğreticidir ve akıllı telefon tarayıcısı aracılığıyla WIFI Web sunucusu kullanılarak kontrol edilebilir

Bu projenin toplam maliyeti yaklaşık 55 ABD dolarıdır (Elektronik parça ve Plastik Robot Çerçevesi için)

Adım 1: Çerçeveyi Hazırlayın

Elektronik Parçalar (Wemos D1 Mini)
Elektronik Parçalar (Wemos D1 Mini)

Tüm 3B nesneler @ www.myminifactory.com veya www.thingiverse.com adresinden ücretsiz olarak indirilebilir.

Ayak, Kalça ve Uyluk gibi bazı kısımlar için malzeme desteği kullanarak yazdırın

Basılı parça listesi:

1x ana gövde

1x Kapak

1x Pil tutucu

4x Kalça (A ve B tipi)

4x Dar (A ve B tipi)

4x Ayak (A ve B tipi)

4x Kalkan

12x Burç + 12x 2mm vida

Adım 2: Robot Çerçevesini Birleştirin

çerçeveyi monte etmek için yukarıdaki adım adım videoyu izleyin, vida 2mm boyutlu delik içindir

Adım 3: Elektronik Parçalar (Wemos D1 Mini)

Image
Image

Piyasada çok sayıda NodeMCU varyantı var ve temelde aynı işlevselliğe sahip, bu proje için Wemos D1 Mini'yi seçiyorum.

Bu kısım, Erişim Noktası olarak dörtlü için bir Web Sunucusu olarak hizmet edecektir.

İhtiyacınız olan şey sadece Dörtlü AP'ye bağlanmak ve robotunuzun tüm hareketini kontrol etmek ve belki de gelecekteki proje için ihtiyacınız olan tüm sensör panosunu görüntüleyecektir…

Bu D1 mini, ESP-8266EX tabanlı bir mini WIFI kartıdır. ve 11 adet dijital giriş/çıkış pinine sahiptir, tüm pinler interrupt/pwm/I2C/one-wire desteklidir(D0 hariç) 1 analog giriş(3.3V max giriş) a Micro USB bağlantısı

Nasıl başlanır:

  1. Arduino için web sitesinden Arduino 1.6.7 için yükleyin.
  2. Arduino için başlayın ve Tercihler penceresini açın.
  3. Ek Panolar Yönetici URL'leri alanına. Virgülle ayırarak birden çok URL ekleyebilirsiniz.
  4. Araçlar → Pano:xxx → Pano Yöneticisi'ni açın ve esp8266 by ESP8266 Community'yi kurun (ve kurulumdan sonra Araçlar > Pano menüsünden ESP8266 panonuzu seçmeyi unutmayın).

Daha fazla ayrıntı için yukarıdaki videoyu kontrol edebilirsiniz

Aliexpress'te arama yapmak için buraya tıklayın

Bu proje için tek ihtiyacınız olan bu Pini bağlamak:

  1. NodeMCU RX pini Arduino Nano TX pinine bağlanır
  2. NodeMCU TX pini Arduino Nano RX pinine bağlanır
  3. NodeMCU G pini DC-DC mini 5v'ye bağlanır Stepdown (-) Çıkış pin çıkışı
  4. NodeMCU5V pini DC-DC mini 5v'ye bağlanır Stepdown (+) Çıkış pin çıkışı

Not: Bu kartı programlamak için arduino ve DC-DC'ye bağlı tüm pinlerin bağlantısını kesmeniz gerekir, aksi takdirde bir hata alırsınız…

Adım 4: Elektronik Parçalar (Arduino Nano)

Elektronik Parçalar (Arduino Nano)
Elektronik Parçalar (Arduino Nano)

NodeMCU ile aynı, arduino kartı için Arduino Pro Mini, Arduino Nano veya başka bir kart gibi size uygun herhangi bir kartı kullanabilirsiniz.

Ama bu proje için Arduino Nano'yu seçtim çünkü kullandığım pinlerin çoğuna ihtiyacım yok, küçük ve programlamak için FTDI'ye gerek yok.

Aliexpress'te arama yapmak için buraya tıklayın

Bu proje için sadece kullanıyorum:

  1. Arduino nano RX pini NodeMCU TX pinine bağlanır
  2. Arduino nano TX pini NodeMCU RX pinine bağlanır
  3. Ardiono nano A4 pini PCA9685 SDA pinine bağlanır
  4. Arduino nano A5 pini PCA9685 SCL pinine bağlanır
  5. Arduino nano GND pini DC-DC mini 5v'ye bağlanır Stepdown (-) Çıkış pin çıkışı
  6. Arduino nano 5V pini DC-DC mini 5v'ye bağlanır Stepdown (+) Çıkış pin çıkışı

daha fazla ayrıntı için yukarıdaki şemaya bakın

Not: Bu kartı programlamak için NodeMCU ve DC-DC'ye bağlı tüm pinlerin bağlantısını kesmeniz gerekir, aksi takdirde bir hata alırsınız…

Adım 5: Elektronik Parçalar (Tower Pro 9g Mikro Servo)

Elektronik Parçalar (Tower Pro 9g Mikro Servo)
Elektronik Parçalar (Tower Pro 9g Mikro Servo)

Bu en popüler mini servodur. Sadece 9 gram ağırlığındadır ve size 1,5 kg/cm tork verir. Boyutuna göre oldukça güçlü. Kiriş tipi robotlar için uygundur.

Not: Bu servo sadece 180 derecelik açıyla dönebilir

Ana Özellikler:

• Yarı saydam gövde

• Hafif

• Daha az gürültü Özellikler:

• Boyutlar: 22,6 x 21,8 x 11,4 mm

• Konektör kablo uzunluğu: 150 mm

• Çalışma hızı (4,8 V yüksüz): 0,12 sn / 60 derece

• Durma torku (4,8 V): 1,98 kg/cm

• Sıcaklık aralığı: 30 ila 60°C (-22 ila 140℉)

• Ölü bant genişliği: 4 usc

• Çalışma voltajı: 3.5 - 8.4 Volt

Aliexpress SG90 servo aramak için buraya tıklayın

Adım 6: Elektronik Parçalar (16-Kanal 12-bit PWM/Servo Sürücü - I2C Arayüzü - Arduino için PCA9685)

Elektronik Parçalar (16-Kanal 12-bit PWM/Servo Sürücü - I2C Arayüzü - Arduino için PCA9685)
Elektronik Parçalar (16-Kanal 12-bit PWM/Servo Sürücü - I2C Arayüzü - Arduino için PCA9685)

Robot yürüteç yapmak ister misiniz? ancak yalnızca mikrodenetleyici kullanmak sınırlı sayıda PWM çıkışına sahiptir ve kendinizi tükeniyor bulursunuz! Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C arayüzü ile değil. Bu pwm ve servo sürücü koparma ile, sadece iki pin ile 16 serbest çalışan PWM çıkışını kontrol edebilirsiniz! 16'dan fazla PWM çıkışı çalıştırmanız mı gerekiyor? Sorun değil. Olağanüstü 992 PWM çıkışına kadar bu güzelliklerden 62'ye kadar zincirleme yapın.

Bu kart/yonga, 0x60-0x80 arasında I2C 7-bit adresi kullanır, jumper'larla seçilebilir Güç girişi için terminal bloğu (veya yandaki 0.1" çıkışları kullanabilirsiniz) Terminal blok girişinde ters polarite koruması Yeşil güç iyi LED 3 4'lü gruplar halinde pin konektörler, böylece aynı anda 16 servo takabilirsiniz (Servo fişleri 0.1" den biraz daha geniştir, bu nedenle 0.1" başlıkta yalnızca 4'ü yan yana istifleyebilirsiniz "Zincirlenebilir" tasarım Büyük bir yer yerleştirmek için bir nokta V+ hattında kapasitör (ihtiyacınız olması durumunda) 220 ohm serisi dirençler tüm çıkış hatlarında onları korumak ve sürüş LED'lerini önemsiz hale getirmek için 6 adres seçme pini için lehim jumperları Dahili saatli i2c kontrollü PWM sürücüsü. TLC5940 ailesinden farklı olarak, mikrodenetleyicinizi bağlayarak sürekli olarak sinyal göndermeniz gerekmez, tamamen ücretsiz çalışır! beyaz veya mavi L'yi kontrol etmek istediğinizde iyidir 3.4+ ileri voltajlı ED'ler) 6 adres seçme pimi, böylece bunlardan 62 tanesini tek bir i2c veriyoluna bağlayabilirsiniz, toplam 992 çıkış - bu çok sayıda servo veya LED'dir Ayarlanabilir frekans PWM'si yaklaşık 1,6 KHz 12-bit'e kadar her çıkış için çözünürlük - servolar için bu, 60Hz güncelleme hızında yaklaşık 4us çözünürlük anlamına gelir Yapılandırılabilir push-pull veya open-dren çıkışı Çıkış, pinin tüm çıkışları hızlı bir şekilde devre dışı bırakmasını sağlar.

Aliexpress'te arama yapmak için buraya tıklayın

Bu projede tüm bacaklar için sadece 12 CH'ye ihtiyacımız var (bacak başına 3CH), bu PCA9685 pinini Arduino Nano'ya bağlayın:

  1. PCA9685 VCC'den DC-DC mini 5v'ye Kademe Düşürme (+) Çıkış pin çıkışı
  2. PCA9685 GND'den DC-DC mini 5v'ye Kademe Düşürme (-) Çıkış pin çıkışı
  3. PCA9685 Servo (PWM) gücü V+ - UBEC (+) Çıkış pin çıkışı
  4. PCA9685 Servo (PWM) gücü GND'den UBEC'ye (-) Çıkış pin çıkışı
  5. PCA9685 SDA pinto arduino nano A4 pinine
  6. Arduino nano A5 pinine PCA9685 SCL pini
  7. PCA9685 CH0 Ön Sağa, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  8. PCA9685 CH1 Ön Sağ Ayağa, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  9. PCA9685 CH2 Ön Sağ Kalçaya, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  10. PCA9685 CH4 Sağ Arkaya, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  11. PCA9685 CH5 Arka Sağ Ayağa, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  12. PCA9685 CH6 Arka Sağ Kalçaya, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  13. PCA9685 CH8 Ön Sol Tight'a, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  14. PCA9685 CH9 Ön Sol Ayağa, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  15. PCA9685 CH10 Ön Sol Kalçaya, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  16. PCA9685 CH12 Sol Arkaya, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  17. PCA9685 CH13 Arka Sol Ayağa, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)
  18. PCA9685 CH14 Arka Sol Kalçaya, lütfen kablo rengini PCA9685 soket rengiyle eşleştirin (Sarı, Kırmızı, Kahverengi/Siyah)

Not: Bazı PCA9685'lerin renk kodu soketi yoktur, bu nedenle SG90 servodan gelen Sarı kablonun PWM veri pinine, Kırmızı kablonun V+ pinine ve Siyah/Kahvenin GND pinine gittiğinden emin olun

Adım 7: PWM'den Servo Pin Bağlantısına

PWM - Servo Pin Bağlantısı
PWM - Servo Pin Bağlantısı
PWM - Servo Pin Bağlantısı
PWM - Servo Pin Bağlantısı

PCA9685 ve servolar arasındaki pin eşlemesini görmek için yukarıdaki resme tıklayın ve yakınlaştırın

Not: Bu proje için sadece 16 CH'den 12CH kullanıyorsunuz, bu yüzden radar servosu koymak veya üzerine bir nerf blaster silahı koymak gibi genişleme için hala 4CH kaldı… Arduino ve NodeMCU'ya ek bir kod koymanız yeterli

Adım 8: Elektronik Parçalar (UBEC)

Elektronik Parçalar (UBEC)
Elektronik Parçalar (UBEC)

3A-UBEC, 2-6 hücreli lityum pil takımı (veya 5-18 hücreli NiMh /NiCd pil) ile sağlanan anahtar modlu bir DC-DC regülatördür ve alıcınız, jiroskop ve servolarınız için tutarlı bir güvenli voltaj çıkışı sağlar. RC helikopter için çok uygundur. Doğrusal mod UBEC ile karşılaştırıldığında, anahtarlamalı UBEC'nin genel verimliliği daha yüksektir.

Bu projede tüm servolara güç sağlamak için kullanıyoruz, motor arızasını etkileyebilecek gürültüyü azaltacak şekilde filtrelemeye sahip ve robot yükünü kaldırmak için yeterli yüksek Ampere sahip.

Aliexpress'te arama yapmak için buraya tıklayın

Pin bağlantısı:

  1. UBEC (+) KIRMIZI PCA9685 Servo (PWM) gücüne çıkış pini V+
  2. UBEC (-) SİYAH PCA9685 Servo (PWM) güç GND'ye çıkış pini
  3. UBEC (+) KIRMIZI Akü (+) pinine giriş
  4. Anahtar pinine UBEC (-) SİYAH giriş

9. Adım: Elektronik Parçalar (DC-DC Mini Stepdown)

Elektronik Parçalar (DC-DC Mini Stepdown)
Elektronik Parçalar (DC-DC Mini Stepdown)
Elektronik Parçalar (DC-DC Mini Stepdown)
Elektronik Parçalar (DC-DC Mini Stepdown)

UBEC ile hemen hemen aynı işleve sahiptir, ancak bu yalnızca basit DC-DC düşürme modülüdür. V(+) çıkışını 1V ile 17V arasında ayarlayabildiğimiz potansiyometreye sahiptir ve filtrelemesi yoktur.

Aliexpress'te aramak için buraya tıklayın

Not: Unutmayın, kullanmadan önce lütfen DC Voltmetre kullanarak V (+) çıkışını 5V çıkışa ayarlayın

Pin bağlantısı:

  1. Mini kademeli (+) (+) Bataryaya GİRİŞ
  2. Anahtar pimine mini kademeli (-) IN
  3. NodeMCU (5V), Arduino nano (5V) ve PCA9685 (VCC) pinine paralel olarak mini kademeli (+) OUT
  4. NodeMCU (G), Arduino nano (GND) ve PCA9685 (GND) pinine paralel olarak mini kademeli (-) OUT

Adım 10: Diğer Elektronik Parça

Diğer Elektronik Parça
Diğer Elektronik Parça
Diğer Elektronik Parça
Diğer Elektronik Parça
Diğer Elektronik Parça
Diğer Elektronik Parça

İhtiyacınız olan şey yaklaşık (20 kablo veya daha az) dişiden dişiye aktarma kablosu (Aliexpress Jumper tel arama)

Kendinden kilitli basmalı anahtar veya başka bir anahtar tipi kullanabilirsiniz (Aliexpress Kendinden kilitlemeli anahtar arama)

ve pilden anahtara bir çift JST konektörü ve UBEC/DC-DC düşürme (Aliexpress JST Konnektör araması)

Adım 11: Güç Kaynağı

Güç kaynağı
Güç kaynağı
Güç kaynağı
Güç kaynağı

Kullanabileceğiniz çok fazla güç kaynağı var, benim için şarj edilebilir lipo 3S pil kullanmayı tercih ediyorum. 11,1 Volt Akım ve 500mAh ve üzeri kapasiteye sahiptir (fazla değil ki daha hafif olabilir).

Ama 3S lipo kullanmak için bir şarj cihazı gerekiyor ve bu ucuz değil, yani… AAA pil gibi başka bir güç kaynağı kullanabilirsiniz, seri 6 AAA pil kullanabilirsiniz, böylece 9V civarında güç kaynağı üretebilir ve bu robot için yeterli güç olduğunu düşünüyorum.

Aliexpress Lipo 3S pil aramak için buraya tıklayın

Lipo Charger aramak için buraya tıklayın

Aliexpress'de 6xAAA Pil tutucu aramak için buraya tıklayın

Adım 12: Kablo Şeması

Tel Şeması
Tel Şeması

Bu proje için tüm kablo şemasını görmek için yukarıdaki resme tıklayın ve yakınlaştırın

Not: Bir kısımda biraz lehime ihtiyacınız var ve güç anahtarı, UBEC ve DC-DC düşürme arasındaki bağlantı için sızdırmazlığı sağlamak için bir lastik kafa küçültün.

Adım 13: Kodlama ve İlk Poz

Kodlama ve İlk Poz
Kodlama ve İlk Poz

Arduino nano'yu mini USB - USB bağlantı noktası kablosunu kullanarak bağlayın (ancak wemos D1 mini ve DC-DC stepdown'daki tüm pinlerin bağlantısını kesmeyi unutmayın) ve "spider_driver_open_v3_ESP8266_Rev280918.ino" dosyasını açın ve Arduino nano'ya flaşlayın, ancak yapmayın Arduino nano'ya arduino kartını seçmeyi ve doğru portu seçmeyi unutmayın.

Sırada, Wemos D1 mini'yi mikro USB'den USB'ye kullanarak bilgisayara bağlayın (ayrıca tüm pinleri DC-DC kademeli düşürme ve Arduino nano'ya çıkarmayı unutmayın). Ardından " QuadrupetV2_310319_fix_connection_issue.ino " dosyasını açın ve karta flashlayın, ancak bundan önce tercihinize göre doğru kartı seçin ve doğru bağlantı noktasını seçin (daha fazla ayrıntı lütfen adım 3'e dönün)

Her şey bittikten sonra, arduino nano, wemos D1 mini ve DC-DC kademeli arasındaki tüm pimi yeniden takabilir ve doğru başlangıç pozunu ayarlamak için robotu çalıştırabilirsiniz.

BAŞLANGIÇ POZU (Yukarıdaki resme bakın) tüm bacağı yukarıdaki resme mümkün olduğunca yakın bir şekilde yeniden ayarlayın.

Robotu çalıştırdıktan sonra, bacak pozisyonu yukarıdaki resimle aynı değilse, ihtiyacınız olan tek şey:

  1. Servo Kornasını sökün ve servo kornasını servodan ayırın.
  2. bacağınızı ilk pozla yeterince yakın olana kadar çevirin
  3. servo kornayı tekrar takın ve tekrar mürettebat
  4. tüm bayan maç bacağı için yap

not:

  1. QuadrupetV2_310419_fix_connection_issue.ino, bağlanması zor (wifi) ve web sayfası oluşturma başarısızlığı gibi bazı sorunları zaten düzeltti, eski programı 31-3-2019'dan önce yükleyenler için lütfen yukarıdan tekrar indirin
  2. yüklemeniz gereken bazı ek kütüphaneler var (kütüphane klasörüne kopyalayın)

    • github.com/wimleers/fleximer2
    • github.com/adafruit/Adafruit-PWM-Servo-Dri…
    • github.com/kroimon/Arduino-SerialCommand

Adım 14: Robotu Kontrol Etme

Robotu Kontrol Etmek
Robotu Kontrol Etmek

Bu robot WIFI Erişim Noktası olduğundan, tek ihtiyacınız olan:

  1. Robotu çalıştırma
  2. Akıllı telefonunuzdaki wifi ayarını açın
  3. SpiderRobo Erişim Noktasına şifre ile bağlanın "12345678"
  4. Akıllı telefonunuzda web tarayıcısını açın ve https://192.168.4.1 yazın.

Artık Robotunuz emrinizi almaya hazır…

Adım 15: Web Sayfası Açma veya AP'ye Bağlanma Sorunu Olan Kişiler İçin

BU SORUNU DÜZELTTİİM LÜTFEN YUKARIDA 13. ADIMDAN TEKRAR İNDİRİN (31-4-2019'da düzeltme)

Wemos D1 mini klonlarından bazılarının hatalı veya kusurlu bir ESP'si var ve bu şunlara neden oluyor: - AP'ye bağlanmak zor

- Sayfa açılamadı

- Yükleme bitmedi

Daha fazla ayrıntı için yukarıdaki videomu kontrol edin…

Önerilen: