Picproje Elektronik Sitesi

PICPROJE PROGRAMLAMA DERSLERİ => STM32 Örnekleri => Konuyu başlatan: aliugur35 - 06 Kasım 2014, 23:10:41

Başlık: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: aliugur35 - 06 Kasım 2014, 23:10:41
Merhaba arkadaslar https://www.picproje.org/index.php/topic,35896.msg262643.html#msg262643 (https://www.picproje.org/index.php/topic,35896.msg262643.html#msg262643) linkindeki
Kit üzerindeki LIS302DL çipini (3 axis accelerometer) SPI modülü üzerinden kullanmak adlı uygulamasını keil ile basarılı bir sekilde derleyip kartın icerisinde .hex dosyasını aktardım fakat kartı hareket ettirdigimde led ler yanmadı sebebine olabilir.Uzerindeki ivme sensor LIS302DL den farklı olabilir mi?
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: Gökhan BEKEN - 06 Kasım 2014, 23:26:44
Sizin verdiğiniz linkteki yazıda "Kit üzerindeki LIS302DL çipini (3 axis accelerometer) SPI modülü üzerinden kullanmak"
yazıyor
şu linkteki yazıda "Kartın eğimiyle orantılı olarak ledleri yakmak" yazıyor :
https://www.picproje.org/index.php/topic,35896.msg269160.html#msg269160 (https://www.picproje.org/index.php/topic,35896.msg269160.html#msg269160)
Ben denemiştim çalışıyordu.
Test çalışmamı inceleyebilirsiniz: http://gokhanbeken.com/unity-accelerometer-stm32-ile-3dbox-simule (http://gokhanbeken.com/unity-accelerometer-stm32-ile-3dbox-simule)
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kageja - 07 Kasım 2014, 23:15:13
MB-997C yanılmıyorsam STM şirketin son çıkarmış olduğu PCB basımıdır. Bu kartın üzerinden eski lis302dl den farklı olarak yanılmıyorsam lis302dlh bulunmakta bunuda tek farkı 100 hz değilde 400 hz data çıkışı alıyor olmasıydı user's manuel den yanlış hatırlamıyorsam. Bu sebepten belki çalışmayabilir ?
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: aliugur35 - 08 Kasım 2014, 22:24:31
@meftun
https://www.picproje.org/index.php/topic,35896.msg269160.html#msg269160 (https://www.picproje.org/index.php/topic,35896.msg269160.html#msg269160)
bu linkteki kodlarıda yukledım bu sefer uzerindeki 4 led belli sure aralıklarla yanıp yanıp sonuyor.
bu sorunu
@kageja bahsettigin hatayı nasıl duzeltebilirim
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kageja - 10 Kasım 2014, 02:02:59
https://www.picproje.org/index.php/topic,35896.msg269160.html#msg269160 (https://www.picproje.org/index.php/topic,35896.msg269160.html#msg269160) burdaki kodları denediysen aşağıdaki kod satırını silebilirsin o zaman çalışıcaktır

if(Read(0x0F)==0x3B)
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: aliugur35 - 11 Kasım 2014, 00:07:19
@kageja o kısmı sildigimde sensor calıyor fakat lambalar kartın konumuna gore cok farklı yanıyor
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kageja - 13 Kasım 2014, 17:16:36
sebebi mb-997c kartına sahip olman dikkat edersin sağ veya sola yatırdğına istediğin ledler değil diğerleri yancaktır yukarı veya aşağı yatırdğında tam tesi yanacaktır yazılımsal pwm üretilen timer 7 içindeki pwm sinyali oluşturulan kısmın işaretlerini tam tersi yap
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kageja - 14 Kasım 2014, 00:19:41
Eğer sorunu hala halledemessen ben senin için yarın bakarım
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: aliugur35 - 16 Kasım 2014, 23:12:59
@kageja halledemedim bi kac gundur bunun uzerine ugrasıyorum ama bir turlu olmuyor yardımcı olursan sevinirim
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kageja - 17 Kasım 2014, 15:30:16
 if (a>=0) { PWM[0]=a; PWM[2]=0; }
                  else      { PWM[0]=0; PWM[2]=-a;}

şu koda ait satırını aşağıdaki kod satırı ile  değiştireceksin
f (a>=0) { PWM[3]=a; PWM[1]=0; }         //pwm3 soldaki led pwm1 sagdaki led
                  else      { PWM[3]=0; PWM[1]=-a;}


if (a>=0) { PWM[1]=a; PWM[3]=0; }
                  else      { PWM[1]=0; PWM[3]=-a;}
bu koda ait satırıda aşağıdaki kod satırı ile değiştireceksin

if (a>=0) { PWM[0]=a; PWM[2]=0; }         //pwm0 uzak olan led pmw2 yak1n olan led
                  else      { PWM[0]=0; PWM[2]=-a;}

Bu sayede ledlerinde doğru yönde flash etmiş olacak. kusura bi kaç gündür giremiyordum nete bende kendi projem ile uğraşıyordum.

Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: aliugur35 - 18 Kasım 2014, 21:40:38
bende biraz yogunum kardesim ilgilendigin icin tesekkur ederim en kısa zamanda deneyip sonucu hakkında bilgi veririm.
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kageja - 19 Kasım 2014, 23:51:14
Ne demek kardeşim dene çok büyük ihtimal ile bu kod ile düzgün sonuç alacaksındır
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kapadokyali5042 - 08 Aralık 2014, 22:51:28
@kageja aynı soruna bende sahiptim düzeltmeleri yapınca sensorler calıstı.Fakat benim bi kac tane daha sorum olacaktı.
1-Ben sensor ile farklı bir uygulama yapıcam.Sensorun konumuna gore servo motor calıstırıcam. Sensorun konumuna gore yaptırmak istedigim komutu yukarıdaki sensor kodlarının hangi kısmına koymalıyım.Yardımcı olursanız sevinirim.
2-Sensorun cok hassas olmasını istemiyorum hassasiyetini nerden ayaryabilirim.
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: Gökhan BEKEN - 09 Aralık 2014, 03:51:13
İvme sensörü ivme ölçmek içindir, açı ölçmek için kullanırsanız, açıyı sabit tutsanız bile sağa sola(yere paralel bir şekiled) oynatırsanız yanlış açı verecektir. Bu yüzden yaptığınız proje bir işe yaramayacak.
Bu iş için gyro kullanmalısınız. Gyro'nun matematiksel hesapları ise hiç kolay bir iş değil.

Yinede illa accelerometer ile yapacağım derseniz, ham verileri almak için şu kısma bakın:

if (who&1) x=Read(0x29);
if (who&2) y=Read(0x2B);
if (who&4) z=Read(0x2D);

bu verileri açıya çevirmeniz lazım, bu değerler 0-255 arasında değişiyor.
360/255=1,411
x,y,z değerlerini 1.411 ile çarparsanız o eksenin açısını öğrenmiş olursunuz. Normalde euler açılarına çevirmirmek için bazı trigonometrik formüller kullanmak gerekiyor, şurda (https://www.picproje.org/index.php/topic,54346.msg416257.html#msg416257) konuşmuştuk, ama dediğim gibi yapsanız da öğrenebilirsiz açıyı.

Bu açıları pwm'e çevirmek için şu projemi inceleyebilirsiniz: http://gokhanbeken.com/stm32f407-ile-servo-motor-kontrol (http://gokhanbeken.com/stm32f407-ile-servo-motor-kontrol)
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kapadokyali5042 - 09 Aralık 2014, 13:53:36
Alıntı yapılan: meftun - 09 Aralık 2014, 03:51:13
İvme sensörü ivme ölçmek içindir, açı ölçmek için kullanırsanız, açıyı sabit tutsanız bile sağa sola(yere paralel bir şekiled) oynatırsanız yanlış açı verecektir. Bu yüzden yaptığınız proje bir işe yaramayacak.
Bu iş için gyro kullanmalısınız. Gyro'nun matematiksel hesapları ise hiç kolay bir iş değil.

Yinede illa accelerometer ile yapacağım derseniz, ham verileri almak için şu kısma bakın:

if (who&1) x=Read(0x29);
if (who&2) y=Read(0x2B);
if (who&4) z=Read(0x2D);

bu verileri açıya çevirmeniz lazım, bu değerler 0-255 arasında değişiyor.
360/255=1,411
x,y,z değerlerini 1.411 ile çarparsanız o eksenin açısını öğrenmiş olursunuz. Normalde euler açılarına çevirmirmek için bazı trigonometrik formüller kullanmak gerekiyor, şurda (https://www.picproje.org/index.php/topic,54346.msg416257.html#msg416257) konuşmuştuk, ama dediğim gibi yapsanız da öğrenebilirsiz açıyı.

Bu açıları pwm'e çevirmek için şu projemi inceleyebilirsiniz: http://gokhanbeken.com/stm32f407-ile-servo-motor-kontrol (http://gokhanbeken.com/stm32f407-ile-servo-motor-kontrol)

cok profesyonel bir sey yapmak istemiyorum benim istegim kart saga oynattıgımda bir motoru calıstırmak sola oynattıgımda ise diger ikinci bir motoru calıstırmak istiyorum aceba bu nasıl yapabilirim ykarıdaki kodlar isime yarar mı eger yarar ise bu kodları nasıl kullanabilirim.yardım ederseniz sevinirim
Başlık: Ynt: Stm32f407vg -MB997C İvme olcer sorunu
Gönderen: kapadokyali5042 - 09 Aralık 2014, 14:06:43
STM32F4 Controlling a MiniMover-5 (http://www.youtube.com/watch?v=RTk9FeeLTUs#ws)
yapmak istedigim proje bu arkadaslar