Arduino kullanarak bir quadcopter uçuş kontrol cihazında çalışıyorum. Motorlarımın saat yönünün tersi yönde nasıl döneceğini anlamaya çalışırken çok fazla sorun yaşıyorum. Şu anda saat yönünde dönen dört kanatlı motorlarım var ama bu, dört-helikopterin uçuş sırasında kontrolsüz olarak dönmesine neden oluyor. Kullandığım kod aşağıda gösterilmektedir ve yukarıdaki sorunla ilgili herhangi bir yardım çok takdir edilecektir. Şimdiden teşekkürler.Servo motor dönüşü
kullanıyorum kütüphanesidir:
#include <Servo.h>
pimleri böyle Arduino Uno bağlıdır. Bu kodu çağırır
arm();
:
void arm() {
// arm the speed controller, modify as necessary for your ESC
setSpeed(0);
delay(1000); //delay 1 second, some speed controllers may need longer
}
Bu zaman burada kodudur motorları başlar:
void startMotors()
{
speed = 40;
setSpeed(speed);
Serial.println("Motor Speed: " + speed);
motorsOn = true;
}
m1.attach(4);
m2.attach(6);
m3.attach(8);
m4.attach(9);
Ben kol fonksiyonu burada gösterilen çağrı
Gösterildiği gibi SetSpeed yöntemi inv Hem kol hem de start motorlarında işlev görür.
void setSpeed(int speed) {
// speed is from 0 to 100 where 0 is off and 100 is maximum speed
//the following maps speed values of 0-100 to angles from 0-180,
// some speed controllers may need different values, see the ESC instructions
int angle = map(speed, 0, 100, 0, 180);
m1.write(angle);
m2.write(angle);
m3.write(angle);
m4.write(angle);
}
Şimdi, kol fonksiyonu bunu, sadece silahlandırmak için kullanılır ve hiçbir rotasyon ihtiyaç olduğu fakat merak ettiğim yok onun ben motorlar M2 ve M3 nasıl anlamaya ihtiyacımız başlangıç motorlar işlevinde saat yönünün tersine döndürmek için. Aksi takdirde, quadcopter uçuşta dönecektir, bu problem çözüldüğünde quadcopter'in sabit kalmasına yardımcı olacaktır. Umarım bu değişiklik, önceden anlamanız ve tekrar teşekkür etmeniz için yeterlidir.
m2.write ve m3.write, saat yönünün tersine döndürmesi gereken iki motordur. Bunu belirtmediğim için üzgünüm. – user3107619
Eh. en az ciddi şey olduğunu belirterek değil. Sisteminiz hakkında hiçbir şey bilmeden sorunuzu okumaya çalışın. Bir şey anlayabilir misin? Ne yapmak istediğini anlayabiliyorum, ama .. Olası tonlarca olası konfigürasyon ve tonlarca olası çözüm var. Sorunuzu, en azından hangi motorları ve sürücüleri kullandığınızı ve motorları kontrol etmek için hangi kütüphaneyi kullandığınızı belirtmenizi öneririm, çünkü her kütüphane bunu belirtebilir. – frarugi87