Denge robotu LMC660 LM339N op amplar üzerine kurulu analog devre ile kontrol edilmesine rağmen gayet başarılı bir şekilde çalışıyor. Devrede ADXL105 ivme ölçüm ve ENC03 açı sensörleride kullanılmış. Motor sürücü katında L293D kullanılmış devrenin stabil çalışması için belli noktalara direnç yerine trimpotlar yerleştirlmiş robotun kontrol devresinde 5 adet trimpot bulunuyor. Uygulamaya değer bir robot projesi fakat sensörler piyasada bulunurmu bilmem…
Eğim Geri Bildirimi
Dengeyi korumak için botun eğim açısını bilmesi ve ardından ağırlık merkezini doğrudan tekerleklerin üzerinde ve eğimi sıfırda tutmak için tekerlekleri eğim yönünde sürmesi gerekir. Sıfır eğimi korumak için tekerlekleri çalıştıran bir geri bildirim döngüsüdür. Tüm operasyonun anahtarı, doğru eğim ölçümüdür ve bunun zor olduğu ortaya çıkar.
Peki, eğimi nasıl ölçersiniz? Doğrudan bir ivmeölçerle ve dolaylı olarak bir hız jiroskopu ile ölçülebilir. İlk dürtüm, eğimi doğrudan ölçmek için ivmeölçer kullanmaktı. Yerçekimi kuvvetine dik olarak yönlendirmeniz yeterlidir ve eğim olmadıkça sıfır G ölçecektir, bu durumda eğim açısının sinüsünü verecektir. Ne yazık ki bu yapılamaz çünkü ivmeölçerler ivmeyi de ölçer (hah). Hızlanmadıklarında yalnızca doğru eğim verileri verirler. Bot, eğim hatalarını düzeltirken hızlandığından, eğim verileri hızlanma verileriyle kirlenir.
Eğimi ölçmenin diğer bir yolu da bir oran jiroskopudur. Cayro, dönme hızıyla orantılı olarak bir voltaj verir. Bunu entegre ederseniz, rotasyon miktarı elde edersiniz. Dönme eğime göredir. Cayro sinyali hızlanmaya duyarlı değildir. Harika! Ama bir sorun var. Gyro ve entegratör kayması, sıfır eğim kalibrasyon noktasının zamanla kaymasına neden olur. Gerçekte, yalnızca cayroya dayalı bir dengeleme robotu birkaç saniye durur, ancak sonunda sıfır kaymasıyla devrilir.
Gyro ve ivmeölçer ikilemine kısmi bir çözüm, her ikisini de kullanmaktır. Birkaç denge botu üreticisi, ana eğim sensörü olarak cayro artı entegratörünü ve yalnızca cayro ve entegratördeki uzun vadeli kaymayı düzeltmek için ivmeölçeri kullanarak sorunu çözmüştür. İvmeölçer verileri cayro entegratörüne büyük ölçüde zayıflatılarak beslenir, böylece büyük kısa vadeli hataların ortalaması alınır.
Bazıları, ivme sıfır veya çok düşük olduğunda cayro kaymasını düzeltmek için yalnızca ivmeölçer verilerini kullanacak kadar ileri gider. Bu yöntemlerden hiçbiri hızlanma kirliliğini her zaman %100 ortadan kaldırmaz, ancak botun dengede kalmasına izin verecek kadar iyi çalışır. Gyro kaymasını düzeltmek için zayıflatılmış ivmeölçer verilerini kullanmayı seçtim çünkü analog devrelerde uygulaması basit ve oldukça etkiliydi.
Tekerlekli Kodlayıcılar? Hangi tekerlek enkoderleri?
Balance botunun bu sürümünde tekerlek kodlayıcı yoktur. Çarkların gerçekte ne kadar hızlı döndüğüne veya botun ne kadar uzağa gittiğine dair hiçbir fikri yok. Hız/mesafe bilgisi olmadan bot, yokuşta pozisyon tutamaz. Aslında, bir itme verildiğinde, sanki çok düşük sürtünmeli bir yüzey üzerindeymiş gibi yuvarlanmaya devam eder. Düz yüzeyler dışında hareket edecekse, radyo kontrollü olacak bir sonraki sürüm için tekerlekli kodlayıcıların gerekli olacağına inanıyorum.
Gerçekten bir PID döngüsü mü? “Ben” nerede?
Evet öyle. Bir motor tork değeri üretmek için eğimin Orantılı, Tam ve Türev toplamına ihtiyacımız var . Şemaya bakıldığında , cayro oranı doğrudan türev olan “eğim oranı”nı verir . R3, “D”nin ağırlığını ayarlar. Hız jiroskopunu entegre etmek, “eğim” ile orantılı bir sinyal üretir. Ve son olarak, ivmeölçer, entegre edilmeden önce cayro sinyaliyle toplanan “eğim” sağlar. Bu, “Cayro eğim telafisi” etiketli sinyaldir. Bir entegratör, hem ivmeölçer eğiminin hem de jiroskop eğim oranının integralini üretir. Yani, integralimiz varayrıca eğim. R1, I+P’nin ağırlığını ayarlar. I sinyalinin ağırlığını değiştirmek için sabit direnç R13’ün değiştirilmesi gerekir.
Motor kontrolü
Tamam, motor kontrol cihazından başlayarak gerçek donanıma geçelim. Tasarladığım devre, D sınıfı amplifikatör olarak da bilinen kilitli anti-faz darbe genişlik modülasyonunun bir uygulamasıdır . Giriş 2,5 merkezli 0 ile 5 volt arasında değişen bir voltajdır. Karşılaştırıcı, kontrol giriş voltajını diğer girişteki 24 KHZ üçgen dalga ile karşılaştırır. Çıkış, kontrol voltajıyla orantılı görev döngüsüne sahip bir kare dalgadır. Kare dalga, L293D ile DC motoru çalıştırırmotor sürücü çipi Kablolu olduğundan, kare dalga motoru ileri ve geri arasında hızla değiştirir.
Motor, kare dalganın ortalama DC seviyesine tepki verir. %50 görev döngüsü ile DC ortalaması sıfırdır ve motor durdurulur. Görev döngüsü değiştikçe motor, görev döngüsüyle orantılı bir hızla ileri veya geri çalışır. Kilitli anti-faz PWM’nin bir bonus özelliği otomatik frenlemedir. Durdurulduğunda motor düşük bir empedansa bağlanır ve harekete karşı direnç gösterir.
Kilitli anti-faz PWM, durdurulduğunda akım akışını sınırlamak için motor endüktansına bağlıdır (%50 görev döngüsü). Rölanti akımı, PWM frekansı ve endüktans ile ters orantılıdır. Endüktans veya PWM frekansı çok düşükse aşırı akım akacaktır. Bir güç indüktörünü motora seri olarak yerleştirmek akımı azaltacaktır. Boşta akımı 800MA’dan 200MA’ya düşürmek için 220uH indüktörler kullandım.
motorlar
Kullandığım dişli motorlar bir miktar fazla prizdendi. 12 voltta 450 rpm olarak derecelendirilmişlerdir. Bu bot onları 9.6 voltta çalıştırıyor. Max RPM yaklaşık 350’dir. Tekerleklerin çapı 2,25 inçtir.
İvmeölçer
Analog Devices tarafından yapılmış bir ADXL105 ivmeölçer kullandım . +/- 5 G tam ölçeğe ve G başına 250 mv hassasiyete sahiptir. Hızlanmadan kaynaklanan istenmeyen etkileri en aza indirmek için onu botun kütle merkezinin yakınına monte ettim. Başlangıçta, tekerleklere göre çok hareket ettiği tepeye monte edildi. Eğim verileri, hızlanma nedeniyle ciddi şekilde kirlendi. CG’ye taşımak, verileri önemli ölçüde temizledi.
Gyro’yu Değerlendir
Gyro, Murata tarafından yapılan bir ENC-05’tir. Bir AHRC RBNO toplantısında bana bir avuç verildi . Bir veri sayfası bulamadım ama benzer Murata ENC-03 hakkında bilgi buldum . Söyleyebileceğim kadarıyla, kabul edecekleri Vcc aralığı dışında temelde aynılar. Maksimum oran saniyede 300 derecedir ve hassasiyet 0,67 mv/derece/sn’dir.
Güç kaynağı
Oyuncak R/C arabalar için tasarlanmış 8 hücreli bir nicad paketi kullandım. 9.6 volt olarak derecelendirildi ve yaklaşık 1000mah kapasiteye sahip gibi görünüyor. Bir 7805 regülatörü, analog çiplerin çoğunu çalıştırmak için 5 volta düşürür. L293D motor sürücü çipi doğrudan 9,6 voltluk kaynağa bağlanır.
Op-Amp’ler ve Karşılaştırıcı
National LMC660 dörtlü CMOS op-amp çiplerini kullandım çünkü raydan raya çıkış voltajı salınımı, hızlı dönüş hızları ve yüksek bant genişliği var. Karşılaştırıcı, eski güzel LM339’dur. Ne yazık ki, girişlerde raydan raya ortak modu yoktur. Bu Vcc – 1,5 volt. Güç pimini düzensiz 9,6 volta bağlamak bu sorunu çözdü.
Ayarlama kapları
PID döngüsüne ince ayar yapmak ve eğimi sıfırlamak için 10K tek dönüşlü trimpotlar kullandım. Geriye dönüp bakıldığında, sıfır ayarlayıcılar için çok dönüşlü trimpotlar kullanılmalıydı çünkü doğru denge aralığı çok küçüktür ve küçük ayarlamalar büyük eğim değişikliklerine neden olur.
Polariteleri doğru yapmak
Botun dengede kalması için cayro, ivmeölçer ve motorların tümü, eğimi en aza indirecek şekilde kablolanmış ve/veya yönlendirilmiş olmalıdır. Bunları düzeltmek için cayro sapmasını düzelten ivmeölçer sinyalinin bağlantısını kestim ve yalnızca orantılı eğim potunu açtım. Bot eğilirken tekerleklerin hangi yöne döndüğünü gözlemledim. Yanlış yöne döndülerse motor uçlarını ters çeviririm. Sonra ivmeölçeri yeniden bağladım ve sahip olduğu etkiyi not ettim. Yanlışsa, sensörü 180 derece çevirdim.
Kaynak: wa4dsy.com/robot/balancing-robot/analog-balancing-bot
Şifre-Pass: 320volt.com
Yayım tarihi: 2012/03/23 Etiketler: accelerometer robot, ADXL105 ENC03, analog robot, balance robot, denge robot, robot projeleri robotlar
may i ask.
i already have read project Denge Robotu LM339N LMC660 Analog ADXL105 ENC03 from this web and ecactly same like my senior project last year. i’m studied at university, and i’m continue some research that already exist but not finished.
my senior left this project last year without logbook or data record so i must find from where that project come from. and finally i found the project is from this website.
i already have how accelerometer ADXL105 works and understand how accelerator work, but i dont understand how gyroscope ENC03 work. because the gyroscope ENC03 work is to sense vibration. any rotation of gyroscope have the same result in ADC microcontroller reader.
in your schematic i dont understand how relation between accelerometer ADXL105 and gyroscope ENC03. please tell me how relation works.
thenk you
Bu devrenin elemanlarını nasıl öğrenebilirizki acaba.baskı devre çizimine falan nasıl ulasırız