Gyro sistem tasarımı

ayrıca pusula için magnetic compass entegresi de gerekecek.mag3110 gibi
 
ayrıca pusula için magnetic compass entegresi de gerekecek.mag3110 gibi
mpu91xx kullanılırsa hepsi içinde hocam.
Son 5-6 yılda çok gelişti bu sensörler. Ucuzladı da.
2009 da analog gyro chip ine 40usd vermiştim. Acc. 70. Sadece chip.
Kompanzasyonu yapılmış magnetometre 130-140 c,varındaydı.
 
Mikrodenetleyici programladınız mı.? Elinizde hangi platform, programlayıcı vs. var. Kullanacağınız Gyro, Acc nedir.
kit:STM32F407VG,6dof imu,
mpu6050 ve ne gerekirse proje gidişatına göre alınacak .Yazılanlara baktığımda mpu 9150 almam gerekiyor sanırım fiyatta uygun geldi.
C ve pbp biliyorum arm programlayabiliyorum artık,yakın zamanda öğrendim.Ve biraz da asm biliyorum.Script yazma konusunda,çabuk öğrenebilirim.Solid,3D max.
Bu işin matematiği, dinamiği hakkında ne kadar bilginiz var.
Fizik bilgime güveniyorum.
Yapılmış bir projeyi pratikte uygulamak mı istiyorsunuz, bu konuyu öğrenmek mi?
Aynen ama üzerine farklı şeyler katarak.Örneğin temelde bunu yapmak istiyorum.

Ve daha sonrasında burada kullanılan 3 boyut çubukları yerine örneğin "ANKA" yı temsilen 3 boyutlu bir görsel olmalı hatta bu görsel üzerindeki hareketleri de görmeliyim kanat açı değerleri vb.Sonra bu hareketli cismin ön tarafını referans alarak yönünü (kuzey güney doğu batı,açısal verileride) görebilmeliyim.
Aslına bakılırsa benim için işin korkunç yönü serial bilgilerini doğru yorumlaya bilmek.
Verdiğim bilgiler doğrultusunda imu nun bana vereceği şu verilerden hangisini istediğim proje için kullanmalıyım yada kullanmak zorundayım;Rotasyon matrisi mi?, kuaternyon mu?, eulrAçısı mı yada ham veri formatını mı? Bu veri formatlarını yorumlamayı bilmiyorum.
Proje taslağı aslında kör konumlandırma için tasarlanacak.Zaten bu başlı başına bir projenin parçası.
 
Son düzenleme:
Madem ki niyetlisin.

Mpu60xx veya 91xx senörler güzel, drift hataları az vs. Kullanmanı tavsiye ederim.
STM32F4 kit de gayet yeterli.

Ancak bu sensörlerin üzerinde ki motion process unit ile ilgili pek bir bilgi yok ortada. Olanda wii vs. birşeylerin hacklenmesinden çıkmış. Yani bu sensörden direkt euler açılarını almak pek kolay değil.
Sonuç ta bu işlemi herhangi bir sensör de yaptığımız gibi mcu üzerinde kendimizin yapması gerekiyor.
Benim bildiğim alınabilecek tek şey quaternion matris.

ARM kullanacaksan, pbp vs. hiç bir işine yaramaz. Daha doğrusu modern bi mcu kullanacaksan.

MPU serisi sensörlerin sonu 50 ile bitenler I2C, 00 ile bitenler SPI çalışıyor.
Piyasada olan da genellikle I2C.

Sırayla gidersek,

Hem debug aşamasında hemde ileride zaten gerekeceğinden, kit üzerindeki ya UART çıkışlarından birini kullanıp, USB-TTL dönüştürücü ile PC ye bağla. Yada Direkt USB HID ile bağla. USB vs. tecrüben yoksa UART kullan.
Öncelikle UART ile PC ye birşeyler gönder. PC tarafında herhangi bir terminal prog. olabilir.
Bu şekilde MCU içinde olanlardan anlık olarak haberin olacak.

Sensörü al, Kit üzerinde ki boşta donanımsal I2C çıkışlarından birine sensörü bağla. Sonrasında I2C ile sensörden okuma yap.
Öncelikle MPU nun device ID registerini oku. Doğru değer dönüyorsa diğer registerlerin okunmasına geçilebilir.

Eğer MPU üzerine quaternion çıkış vermesi için gerekli kodu yüklemezsen sadece raw çıkış alabilirsin.

Ayrıca sensör üzerinde drift hatalarını düzeltmek için de registerler var. Sensörün hareketsiz konumda iken okuma yapıp, bu registerler içine okumak istediğin değeri elde etmek için offset değeri girmen gerekecek. Bunlar daha sonraki ince ayar işleri.

Sonuçta Raw gryo,acc, temp ve manyetik pusula bilgileri gelmiş olacak. Sensörde bu registerler sıralı. Tek blok olarak okunabilir. Zamanı gelince detaya gireriz.

Bundan sonrası sadece matematik.
Öncelikle hareketsiz duran okunan raw acc. bilgisinden direkt açıları vs. hesapla. Her bir eksendeki ivmenin yönleri ve şiddeti belli olduğuna göre basit geometriden-trigonometriden hesaplanabilir.

Asıl iş dinamik ortamda bunu hesaplaman. Daha önce birşeyler yazmıştım. Quaternion, rotasyon matrisi, linkler vs.
Bu kısmı dibine kadar bilmen gerekmiyor.
Hazır yazılmış birşeyleri de modüler şekilde kullanabilirsin. Ama detayda olmasa da, en azından ne yaptığını bilecek, parçaları birleştirecek kadar bilgin olsun.

Sonrası açıları, pozisyonu hesaplayıp PC ye göndermek. I2C olsun UART olsun seri iletişim bilgilerini yorumlamak işin tümünün yanında çok ufak bir detay. Gözünü korkutma. Öğrendikçe daha kolay gelecek.

Genelde değilde şu aşamada, kodun şurasında takıldım şeklinde sorarsan, takılınan yerler teker teker geçilir.

Buraya kadarı genel yol haritası.

Sonrası detaydaki konular.
Şimdi sensörü alana kadar PC-UART kısmına başlayabilirsin.
Daha önce dediğim gibi ne kadar biliyorsun?
STM32f407 datasheetlerine bi baktın mı. Seri iletişim yaptın mı? Buffer vs. ? ARM da baud rate, interrupt vs. ?
 
C# ile de olurda orada da C# serial communication öğrenmen lazım. Sen bilirsin ne sana rahat gelirse onu kullan.
Zaten benim demek istediğimi ISMAILY demiş. Öncelikle ne biliyorsun ne kadar ilerleyeceksin bu önemli.
Sanal koordinat düzlemini ve düzlem içerisindeki hareketleri 3D max ile göreceğim.Pusula bilgileri açı bilgileri yükseklik basınç sıcaklık vb. bilgileride kendi programladığım C# arayüzü ile görmek istiyorum.
Ayrıca bu bilgilerin (sadece 3d max taki görüntüler) doğruluğu da radar benzeri 3 boyutlandırma ile de görüntülenip doğrulanacak.GPS de kullanılabilir.
 
Son düzenleme:

Forum istatistikleri

Konular
128,844
Mesajlar
920,931
Kullanıcılar
450,942
Son üye
serhanacik

Yeni konular

Geri
Üst