Merhaba, Kullandığımız malzemeler: Arduino Uno, MMA7361 acc., LPY510AL gyro., L293D motor sürücü, 2 DC motor. Gerekli yazılım ve bağlantıları kendimize göre tamamladık, fakat robotu hareket ettirirken tekerlekler tek yönde hareket ediyor, bu da robotun dengesini sağlamasını engelliyor. Aşağıdaki linkte robotun şasesi ve kodu bulunmakta. Bu sorunla ilgili fikir ve önerilerinizi bekliyoruz. https://rapidshare.com/files/2380024235/SelfBalance.rar
Motor dönebildiği yönde acc. ve gyro 'dan aldığı verilere göre düzgün tepki veriyor mu (hıza, açıya) yoksa sadece dönüyor mu? Eğer evetse; Ben ilk defa analogWrite 'ta (x, (int)(y)); şeklinde bir yazım gördüm ve bu doğru demektir. Bunu örnek veya referans aldığınız yer neresi? Eğer hayırsa; 1- analogWrite(enable1, (int)(speed1)); problem olabilir. 2-http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM yi okumanızı tavsiye ederim, eğer yukarıda bahsettiğim şeylerde problem yoksa frekansla ilgili bir şey olabilir. L293D max. 5kHz’i destekliyor çünkü. Her halukarda; speed1 ve speed2 değerleri nereden okuyorsunuz? speed1 ve speed2’yi yukarıdaki setMotors fonksiyonundaki gibi “rightMotorScale * (PIDout + turn)” şeklinde setup()'ın içinde tanımlamayı deneyebilirsiniz. Bunlar kontrol ettiyseniz donanımsal bir problem olabilir. 1- Motor sürücüyü değiştirin 2- Güç girişine bypass cap atın 3- Motorlara paralel diyot(1N4007 olabilir) bağlayın. Bunları kontrol ettikten sonra ne olduğunu tekrar yazın bir kere daha bakalım.
Örnek proje için buradaki konuyu okuyabilirsiniz.Kodlar ve resimler mevcut http://www.projehocam.com/kendini-dengeleyen-arduino-robot-yapimi/