Soru:
Bir ESC'yi Arduino'ya bağladıktan sonra nasıl kalibre ederim?
Shashank Addagarla
2016-03-02 21:59:34 UTC
view on stackexchange narkive permalink

Bir Arduino'yu bir Elektronik Hız Kontrolüne bağlamaya çalışıyorum ve korkunç bir şekilde başarısız oluyorum. Şimdiye kadar yaptıklarımı açıklayacağım ve ardından sorunu açıklayacağım.

Oraya varmadan önce, işte kullandığım parçaların listesi:

  • Arduino Uno (orijinal)

  • 6V - 8.4V arası 18300 RPM 350 g-cm fırçalanmış motor.

  • Traxxas XL-5 fırçalı motor ESC. 1600 Hz, yanılmıyorsam, kabul ettiği en yüksek PWM sinyalidir.

  • Venom 4200mAh NiMH 8.4V pil takımı (yakında 7.2V ile değiştirilecektir).

Bu yüzden önce ESC'yi motora bağladım. Bağlantı, bu kurşun kurşun bağlantısı (bağlantı sağlam görünüyor) ve ardından Arduino'ya ESC'dir. Beyaz teli 9 numaralı pime ve siyah teli toprağa bağladım. Yanılmıyorsam, bu standart servo motor kurulumu. Daha sonra Arduino'yu sağlam bir USB portu olan bilgisayarıma taktım. Son olarak, pil takımını ESC'ye bağladım.

Şimdi ESC'mi denemek ve kalibre etmek için bazı temel kodlar yüklemeyi denedim, ancak açık bir şekilde çalışmayı reddediyoruz. Motor hiçbir koşulda çalışmaz. Kullandığım kod sadece sinyal monitörü tarafından gönderilen sinyali gönderir.

Arduino'ya tam bir çaylak olduğum için neyin yanlış olabileceğini bilmiyorum . Aklımdaki programın bilgisayara bağlı değilken çalışabilmesi, bir düğme etkinleştirildiğinde etkinleştirilmesi, motoru belirli bir mesafe boyunca çalıştırması (bir kodlayıcı içerir, değil mi?) Ve sonra durması gerekiyor.

Yanlış yapabileceğim herhangi bir işaret veya şey var mı?

  int value = 0; Servo myservo; void setup () { firstESC.attach (9); // 9. pin'e eklendi Serial.begin (9600); } boşluk döngüsü () {myservo.writeMicroseconds (değer); eğer (Serial.available ()) değer = Serial.parseInt (); // Seri'den bir Tamsayı ayrıştırın}  

ve buradaki:

  #include <Servo.h> # MAX_SIGNAL 2000'i tanımlayın
#define MIN_SIGNAL 700 # MOTOR_PIN 9Servo motorunu tanımlayın; void setup () {Serial.begin (9600); Serial.println ("Program başlangıcı ..."); Serial.println ("Bu program ESC'yi kalibre edecek."); motor.attach (MOTOR_PIN); Serial.println ("Şimdi maksimum çıktı yazılıyor."); Serial.println ("Güç kaynağını açın, ardından 2 saniye bekleyin ve herhangi bir tuşa basın."); motor.writeMicroseconds (MAX_SIGNAL); // (! Serial.available ()); Serial.read (); // Min çıktı gönder Serial.println ("Minimum çıktı gönderiliyor"); motor.writeMicroseconds (MIN_SIGNAL);} void loop () {} 

^ utanmadan internetten kopyalandı

Kod nedir?
az önce c kodunu ekledi:
@a_human_mistake Kodu kod olarak biçimlendirmek için lütfen düzenleyicideki 'Kod' düğmesini kullanın. Şu anki yönteminiz pek hoş görünmüyordu. :)
ah adamım, denedim ve koda yeni satırlar koymama izin vermedi. mini Markdown biçimlendirmesini kullandığımda gerçekten tuhaf çıktı. Düzgün görünmesi için düzenlediğiniz için teşekkürler!
@a_human_mistake, led'in ESC'nizde ne yaptığını açıklar mısınız?
http://chat.stackexchange.com/rooms/36489/discussion-between-a-human-mistake-and-rsm
Iki yanıtlar:
RSM
2016-03-02 23:26:00 UTC
view on stackexchange narkive permalink

RC konektörlü bir standarttır, yani Siyah her zaman zemine gider beyaz / turuncu sinyale gider ve kırmızı / kahverengi 5V'a gider.

Bir yazım hatası yapıp yapmadığınızı bilmiyorum ama beyazı D9'a ve siyahı GND'ye bağlamanız gerekiyor. Burada eğitilebilir bir gönderi, fırçalanmış bir ESC adım iki kullanmayı açıklıyor, renk kodu standardını yineliyor.

Ayrıca hareket mesafesini söylemek için bir döner kodlayıcıya veya şaft kodlayıcıya da ihtiyacınız olacak, Bunu başarmanın basitten (kodlanmış disk ve IR düzenlemesi) özel yapım PCB eklentilerine kadar birçok yolu vardır.

Hata, bir yazım hatası yaptım. Gösterdiğiniz için teşekkürler. Teknik olarak hareket ettiğim mesafeyi ölçmeye ihtiyacım yok, sadece belirli bir mesafe hareket etmesini sağlıyorum. Bir dört evreli kodlayıcı kullanmayı düşündüm, ancak diğer her şeyle ilgili olarak planın temelde dayandığı kadar sorun yaşıyorum.
@a_human_mistake, ESC'yi test etmek için kullanabileceğiniz bir RC alıcınız ve vericiniz var mı? Ayrıca bunu bir yoruma taşıyacağım veya sileceğim.
Kontrol edip görebiliyorum - ESC ile ilgili bir sorun olması mümkün mü?
@a_human_mistake, ESC'nin çok fazla akım çekmiş olabileceği can sıkıcı bir olasılık olabilir.
Öyleyse yeni bir ESC alacak olsaydım, bunun olmasını önlemek için ne arardım? Bu sorunu herhangi bir şekilde önleyebilir miyim?
@a_human_mistake, temel bir kural olarak, sürekli kullanım için mevcut derecelendirmenin, motorun nominal akımından en az 10A daha yüksek olduğundan ve ardından patlama / dalgalanma akımının da başlatma işleminin üstesinden gelmek için yüksek olduğundan emin olarak bir ESC yanmasını önleyebilirsiniz. çizmek. Mevcut motorunuzun akım çekiminin özelliklerine sahip misiniz?
Web sitesinde söylediği tek şey "en yüksek akım 50+ amper çekiyor". Bunun çok olduğunu hissediyorum ... https://traxxas.com/products/parts/escs/3018Rxl5waterprooflvd <- ESC, http://www.amazon.com/RS540-Sport-Tuned-Motor-All/dp/ B00061HB0K <- motorlu
Abinay Gangireddigari
2018-02-28 10:12:31 UTC
view on stackexchange narkive permalink

Kalibrasyon, düşük gaz kelebeği ve yüksek gaz kelebeği değerlerini Seri monitör aracılığıyla göndererek yapılabilir. İşte NODEMCU kullanarak yaptığım talimat verilebilir. Bunu kontrol edin. Yardımcı olabilir.



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...