Analog Olarak Trigonometrik İşlemler

Başlatan Tagli, 17 Aralık 2011, 15:22:55

Tagli

Analog bir devre ile trigonometrik işlemler nasıl yapılır? Yani örneğin açı değeri analog sinyal olarak girilecek ve devre bunun sinüsünü hesaplayacak. Sanırım pek kolay bir iş değil. İnternette araştırınca bir patent ve onunla bağlantılı olarak üretilmiş bir entegre buldum: AD639. Bu entegre piyasada bulunur mu? Veya muadili var mıdır?
Gökçe Tağlıoğlu

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mufitsozen

Alıntı yapılan: Tagli - 17 Aralık 2011, 15:22:55
Analog bir devre ile trigonometrik işlemler nasıl yapılır? Yani örneğin açı değeri analog sinyal olarak girilecek ve devre bunun sinüsünü hesaplayacak. Sanırım pek kolay bir iş değil. İnternette araştırınca bir patent ve onunla bağlantılı olarak üretilmiş bir entegre buldum: AD639. Bu entegre piyasada bulunur mu? Veya muadili var mıdır?

Birden fazla yoldan bu islemi yapabilirsiniz ama, TRde bile bulabileceginiz bir TI (national) entegresi var. LH0094. Bununla trigonometric fonksiyonlari yapabilirsiniz.

LH0094 Datasheet: http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/DS005695.PDF
Application Note AN-637 Realizing Trigonometric Functions with the Multifunction Converter LH0094
http://www.ti.com/lit/an/snoa139/snoa139.pdf

Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Tagli

bunalmis, bir öğrenci arkadaş dönem ödevi olarak kendini dengeleyen robot yapmaya çalışıyor, bizden (ben ve başka bir arkadaş) yardım istedi. Kendisi programlamaya pek yakın bir kişi olmadığından bu işi analog olarak çözmek istediğini söyledi. Analog elektroniğe uzak insanlar olarak bu proje bizim de ilgimizi çekti ve nasıl yaparız diye düşünmeye başladık. Elbette bu öğrencinin dönem ödevini baştan sona yapmaya hiç niyetimiz yok ama yine de fikir verebilmek açısından bazı şeyleri denemek istiyoruz.

Robotun çalışması ters sarkaç mantığında olacak. Burada sıkıntı robotun açısını bulmak, ondan sonra analog PID ile sorun çözülür. Robot üzerinde fazla ivme oluşmayacağını düşünerek, 2 eksenli bir ivme ölçer ile açıyı ölçebileceğimizi düşündük. Zaten elimizde analog çıkışlı 2 eksenli bir ivme ölçer de var. Ancak yerçekimi ivmesinin bu cihazın iki ekseni üzerindeki izdüşümlerinden yola çıkarak açı bilgisini alabilmek için trigonometrik fonksiyonları analog olarak hesaplayabilmeye ihtiyaç duyuyoruz. İdeal denge şartında, açı değişimi 0 civarında olacak.

Gerçi sinüs fonksiyonunu 0 civarında doğrusallaştırırsak sin(alfa) = alfa diyebiliriz ama biz biraz da birşeyleri kurcalayıp deneyim kazanmak için açı ölçümünün daha geniş aralıkta da çalışmasını istiyoruz. Bu arada, mufitsozen tarafından bağlantısı verilen uygulama notunda da Taylor serisi açılımı kullanılmış ama onda fazladan bir terim daha var yanlış anlamadıysam.

mufitsozen, İstanbul'da LH0094 bulabileceğim bir yer var mıdır?
Gökçe Tağlıoğlu

mufitsozen

ben ankarada oldugum icin bilemiyecegim  :(

fakat TI Nationali aldigina gore TI satan yerlerden bulunabilir herhalde (empa?)
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

z

Amac eklemlerin yaptigi acinin sinus degerini bulmak ise bu sensoru kendin de yapabilirsin. En azindan projeye renk katar.

Bir zamanlar sin/cos encoder yapip bunu da motor miline baglayip motor mil acisini denetim altinda tutan servo yapmistim.

Ihtiyacin olan sey.

Miknatis ve Analog cikisli hall sensor. Miknatis donerken sensor icinden gecen aki acinin sinusu ile orantili. Bu is icin gerekli miknatisi temin etmek cok zor.
Kutuplarin silindirik yuzeyde olmasi lazim. Fakat Cinliler iki tanesi havaya atildiginda cirt diye ses cikaran yumurta miknatislari cok ucuza satiyorlar ve bu sensoru yapmak icin ideal.

Yok ben hazir sensor kullanacagim dersen resolver mil acisinin sinus ve cosinusu ile orantili sinyaller verir fakat uzun isi var.

Sin/cos sensor diye ararsan daha farkli secenekler de var.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

pisayisi

Bu işler artık sin cos değerleri mikroişlemci üzerinde olan kod içinde look up tablo lar içinde sinüs değeleri istenen çözünürlükte yüklenerek optik enkoderden gelen açısal değere göre tablodan ilgili sinüs değerinin okunması şeklinde yapılıyor. Yani sin cos uzun uzun hesaplamalardan daha hızlı bir yöntem özellikle dma ile tablo okuma arasında bir bağlantı kurulunca çok da hızlı bir yöntem olabiliyor. stm32f serisini işlemci olarak kullanabilirsiniz. analog devrelerle uğraşmak zaman kaybı olur...
Murat

JKramer

Alıntı yapılan: Tagli - 17 Aralık 2011, 16:27:32
bunalmis, bir öğrenci arkadaş dönem ödevi olarak kendini dengeleyen robot yapmaya çalışıyor, bizden (ben ve başka bir arkadaş) yardım istedi. Kendisi programlamaya pek yakın bir kişi olmadığından bu işi analog olarak çözmek istediğini söyledi. Analog elektroniğe uzak insanlar olarak bu proje bizim de ilgimizi çekti ve nasıl yaparız diye düşünmeye başladık. Elbette bu öğrencinin dönem ödevini baştan sona yapmaya hiç niyetimiz yok ama yine de fikir verebilmek açısından bazı şeyleri denemek istiyoruz.

muhittin_kaplan

ivmeölçer ile (analog çıkışlı olanlar var) ve opamp ile halledilir düşüncesindeyim.

Tagli

pisayisi, işi PIC ile de yapardık yapmasına, ancak bahsettiğimiz öğrenci arkadaş anlaşılan programlama işiyle uğraşmak istemiyor, galiba bu konuda hiç bilgi ve deneyimi yok. Ayrıca o zaman işin bizim için de pek bir zevki kalmazdı. Çünkü bizim de analog devrelerle ilgili pek bilgi ve deneyimimiz yok ve açıkçası biraz kurcalamak ve çalışan birşeyler yapmak istiyoruz.

LH0094 bulamazsak opamp ile analog çarpma (muhtemelen logaritma ve ters logaritma devreleri ile) işine girmemiz gerekecek. Aslında garip bir durumdayız. Hadi biz uğraşıp yaparız muhtemelen ama o zaman öğrenci hazıra konmuş olacak ki bunu istemiyoruz. Biz yapsak, gösterip de vermesek yine olmayacak. Öğrenci iyi niyetli, yardımcı olmak istiyoruz ama ödevi hazır veremeyiz kendisine. Öbür taraftan bizim de aklımıza karpuz kabuğu düştü, bu şeyi bizim de yapasımız var. Bilmiyorum ne yapsak, kafam karıştı.  :-\

Döner bir mekanizma istemiyoruz çünkü bu işin mekanik tasarımını zorlaştıracak. Öğrencinin yapmaya çalıştığı şey şuna benzer olacak:

Burada açı güzel bir analog sinyal şeklinde alınabilirse gerisi kısmen kolay sayılır. Bir analog PID kullanılır ve çıkan sinyal üçgen dalga budaması yöntemi ile PWM'e çevrilip motor sürülür.
Gökçe Tağlıoğlu

muhittin_kaplan

hocam Analog Çıkışlı bir ivme ölçer ile yapabilirsiniz. Sonrasında PID yi opamplarla yapamazmısnız.  Yanii Op larda integral alıcı,türev alıcı ve fark alıcı lar var.



Tagli

muhittin_kaplan hocam o kısımlarda zaten sıkıntı olacağını sanmıyorum. Bizim derdimiz açıyı okumak. Analog çıkışlı ivme ölçerin çıkışı ile açı arasındaki bağıntı doğrusal değil. Sorun burada.
Gökçe Tağlıoğlu

muhittin_kaplan