Radyo Amatörü TELSiZCiLER için bir site
Ana Sayfa => Bir sorum var! *** => Konuyu başlatan: TA8AT - 08 Eylül 2019, 12:18:29
-
Yazımı okuyan herkese merhaba.
K3NG' ün arduino ile yaptığı azimuth ve elevation özellikli rotor kontrol devresini uzun zamandır arkadaşlar ile yapmaya çalışıyoruz bir türlü çalıştırmayı başaramadık.
Soruma gelince orjinal yazılımı mega 2560'a yükledim 2×16 lcd den görüntü dahi alamadım yerine 3.2 ve 3.5inch lcd taktım yine olumsuz bir şekilde roleleri kontrol dahi edemedim.
Sonrasında arduino uno ve nano ile sitedeki şemayı birebir uyguladık yine başarısız olduk.
Bu devreyi daha önce yapıp kullanan arkadaşım olduysa çalışan yazılım ile bu yazılıma ait şemayı paylaşırsa memnun olurum. Gördüğümüz bir çok amatör kendine göre yazılımda birtakım değişiklikler yapmışlar ve paylaşmışlar ama ortada bilgi karmaşası ve uyumsuzluklar oluşmuş durumda.
100nf adlı sitedeki yazılımı sağolsun Hüseyin bey göndermişti lakin bana aynı zamanda elevation vb k3ng nin yazılımındaki özellikleride ihtiva eden çalışan kodlar lazım.
Yardımcı olacak arkadaşlara çok teşekkür ederim.
-
defalarca yaptim
hatta gecen hafta bir tanesinin daha yapimina basladim.
2x16 (i2c) bir ekranla da calisan bir tane var su anda elimde
4x20 ile de calisani var.
Acikcasi hic ozel birsey de yapmadim.
4x20 olani sandart baglanti ile bagladim.. (semada gosterilen gibi)
daha sonra kullanmis oldugunuz ekran turune gore
(standart baglantida )
rotator_k3ngdisplay dosyasindan #define FEATURE_4_BIT_LCD_DISPLAY secenegini aktif yapiyorsunuz
ya da i2c ekran icin
#define FEATURE_RFROBOT_I2C_DISPLAY secenegini aktif yapiyorsunuz
eger standart 4 bit ekran kullaniyorsaniz
rotator_pins dosyasindaki pinleri kontrol edin
//classic 4 bit LCD pins
#define lcd_4_bit_rs_pin 12
#define lcd_4_bit_enable_pin 11
#define lcd_4_bit_d4_pin 5
#define lcd_4_bit_d5_pin 4
#define lcd_4_bit_d6_pin 3
#define lcd_4_bit_d7_pin 2
bir de rotoator setting dosyasindan
ekran karakter sayilarinin dogru olup olmadigini kontrol edin
#define LCD_COLUMNS 16 //16
#define LCD_ROWS 2 //2
roleleri kontrol etmek ve ekrandan goruntu almak tamamen farkli.
attachment olarak bendeki calisir vaziyetteki ino'yu paylasiyorum.
2x16 i2c ekran moon ve gps kontrolleri de acik. lazim degilse kapatirsiniz.
https://yadi.sk/d/p71qKpokxcHkww
-
Oğuzhan bey verdiğiniz bilgiler doğrultusunda yeniden yükleme yapıp deneyeceğim. 73
-
Tecrubelerime gore en kolay montaj ve kullanim i2c tipi olanlar ile oluyor
2x16 da olsa 4x20 de olsa i2c calisanindan alin.. 4 kabloyla isi bitirin derim ;)
Led'ine ayri kablo beslemesine ayri kablo , goruntu aktarimina ayri kablo ugrasmaya gerek yok
-
Bu yazılımla aynı anda 4 arkadaş uğraştık. Bir arkadaşım bahsettiğiniz lcd yi yazılımdan aktif etmiş görüntü almıştı. Lakin hiçbirimiz 4 lü role kartını şemadaki gibi bağlamamıza rağmen kontrol edemedik.
Verdiğiniz ino dosyasını yarın ilk işim yükleyip bord üzerinde denemek olacak.
-
Bendeki 4lu role karti baglantisi su sekilde..
https://www.direnc.net/12v-4-kanal-role-karti?lang=tr&h=41aca2ce&gclid=CjwKCAjwzdLrBRBiEiwAEHrAYiJOpB8TJCi5Aw-adZTkDABL7btMvwHPHn82B47wJvdr-wBp1DxJEhoC0Y0QAvD_BwE adresindekine benzer 12v bir role karti kullaniyorum.
Oncelikle board uzerindeki jumperi cikarip, jd-vcc yazan yere 12v uyguladım..
bu voltaj role beslemesi icin gerekli voltaj..
Daha sonra,
rotator_pins dosyasindan
#define rotate_cw 6 // goes high to activate rotator R (CW) rotation - pin 1 on Yaesu connector
#define rotate_ccw 7 // goes high to activate rotator L (CCW) rotation - pin 2 on Yaesu connector
#define rotate_up 8 // goes high to activate rotator elevation up
#define rotate_down 9 // goes high to activate rotator elevation down
kısmında role kontrolu icin arduino'daki hangi pinleri kullanacagimi girdim. default'ta 0 olarak geliyor.. bir pin girmezseniz roleyi kontrol edemez..
Role'nin uzerindeki kontrol pinlerini arduino tarafındaki ilgili pinlere bagladim..
Ayrica role kartindaki VCC ve GND uclarini da arduino ustune bagladim. Buradaki besleme 5V oldugu icin arduino uzerinden direkt beslenebiliyor.
Eger aldiginiz role karti 12 degil de 5V rolelerle calisan bir turu ise, ustte bahsettigim jumper'i sokmenize gerek yok.. Buradaki 5V uzerinden beslenmeye devam eder.
Buraya kadar yaptiysaniz, arduinoya kodu yuklediginizde role kartindaki tum isiklarin yandigini goreceksiniz.
Bunun sebebi, ayarlarda pasifken high, aktifken low olacak sekilde geliyor.
ben oyle tercih etmedigim icin, rotator_settings dosyasinda
#define ROTATE_PIN_INACTIVE_VALUE HIGH
#define ROTATE_PIN_ACTIVE_VALUE LOW
seklinde degisiklik yaptim.
Bu sekilde rolelerin calismamasi icin hic bir neden kalmaz.
Muhtemelen pin degerleri girili degildir.
benzer sekilde,
#define button_cw A3 // normally open button to ground for manual CW rotation (schematic pin: A2)
#define button_ccw A6 // normally open button to ground for manual CCW rotation (schematic pin: A3)
gibi dondurmek icin gerekli pinlerin de girili olduguna emin olun.
-
bunlar da yeni calismam..
Bu sefer bir uydu alici kutusuna yerlestirdim.Uydu alicisinin dugmelerini de yon icin kullanabiliyorum.
Ama niyetim 4x20 ekrana gecmek. biraz ekran tasacak ama onemli olan islevi.
Ayrica bir baglanti ile GPS uzerinden sync yapmaktayim. Boylece tek dugme ile ay takip moduna gecip , hic pstrotator kullanmadan EME yapabilme sansim olacak.
Board ustundeki diger parca downconverter bir guc kaynagi.
12V u 9V a indirip arduino yu onunla calistiriyorum
Rotor beslemem de 12v oldugu icin tek PS girisi ile hepsini halledeyim dedim
-
k3ng nin semasini baz alarak hazirladigim kucuk bir anlatim yayinladim blogumda.
https://ta2nc.blogspot.com/2019/09/anten-rotator-kontrol-projesi-k3ng.html adresinden bakabilirsiniz.
İyi çalışmalar.
-
Oğuzhan bey öncelikle yazılım hakkında düzeltilmesi gereken yerler hakkında bilgi verdiğiniz için çok teşekkür ederim. Sayenizde k3ng rotator devresini çalıştırmayı başardım.
Bahsettiğiniz gibi elevation kısmınıda aktif ettim.
Yazılımsal olarak bir hatamı var benmi yanlış anlıyorum.
Öncelikle 1k potun bir bacağına artı 5 volt diğer bacağınada eksi verdim, orta ucuda 1k dirençle mega 2560 ın AN0 girişine girerek azimuthu, ikinci bir pot ilede aynı yöntemle AN1 girişine girerek elevationu bağlamış oldum.
1'inci gördüğüm hata; azimuth potu tam sıkılı iken azimuth değer 180 dereceyi sonra yavaş yavaş çevirdiğimde 360 dereceye ulaşınca pot henüz orta değerde iken birden 0 dereceye düşüyor. Aynı potu ayar işlemine devam edince 0 dan 270 dereceye kadar çıkıp ayar bitmiş oluyor. Elevation potu için böyle bir durum söz konusu değil zira 0 dereceden 180 dereceye kadar düzgün ayar yapıyor. Ama azimuth için böyle bir düzensiz çalışma var. Normal şartlarda rotor 0 dan başlayıp 450 dereceye kadar dönmesi gerekmezmi? Burada azimuth 0 dan 450 dereceye kadar ayar işlemini yapmıyor.
2'nci gördüğüm hata; azimuth için manuel butona basınca ekranda (CW-CCW) dönüş yönüne göre yazıyor lakin ekranın bir alt satırında elevation için dereceyi gösteriyor. Yani rotoru sola çevirdiğimde bir yöndende potun konumunu değiştirince azimuth derecesinin potu işlem yapmıyor elevation için pot işlem yapıyor. Yani manuel sağ sol dönüşlerde azimuth dereceleri çalışmıyor.
Bu gördüğüm hatalar sizdede mevcutmu yoksa bir yerlerde hatamı yaptım.
-
Bir yerde hata yapmissiniz.(COk net soyledim sanirim)
Oncelikle.. ayar dosyalarindan birinde azimuth start degrees gibi bir parametre vardi. orasi default 180. o yuzden sizin calisma da 180 den basliyor. Ayrica rotor 360 derecelik mi 450 derecelik mi o da ayarlanabiliyor. default degerler yaesu rotorlara gore..
Onlarin 0 noktası 180 derece, ve overlap yapip 450 dereceye kadar donebiliyorlar. Kendi rotorunuza gore bunlari ayarlamaniz lazim.
Ayrica, projenin web sayfasinda arduino ya direkt verebileceginiz bazi komutlarla baslangic, pot'Un o anki degeri gibi hassas ayarlari yapabildiginiz \a\z\e vs gibi bir cok komut var.
Buradan gercek yerinde ayar yapmaniz mumkun oluyor.
Hatta abartmislar, cihaza gps bagli ise, anteninizi manual olarak direkt gunese ya da aya cevirip , kalibre et dediginizde otomatik gercek degere gore kalibre bile ediyor
Yukarıda azimuth potu hatali deger gosteriyor demissiniz (0-450 arasi) ama altta azimuth hareket edince elevation degisiyor demissiniz. anlamadim. Ama yazilimda bir sorun olmadigini gonul rahatligiyla soyleyebilirim.
Ya yanlis pinlere bagli, ya da ekrandaki bilgiyi yanlis yorumluyorsunuz.
2 satir ekran oldugundan ekranda hangi degerlerin gorunup gorunmeyecegi, hangi sirayla gorunecegi gibi seyler de konfigure edileibliyor.
Biraz daha ayarlar ile oynayin derim
-
Manuel butonlarla çevirdiğimde azimuth dada elevationdada farketmiyor ekranda elevation derecesini okuyorum. Dediğiniz gibi 2×16 lcd kullandığımdan dolayı bu sorun olabilir. Sanırım 4×20lcd bu proje için daha ideal olacak.
-
degistirilmesi gereken degerler
#define AZIMUTH_STARTING_POINT_DEFAULT 0
#define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 360
bu degisiklikler ile kaydedin.
daha sonra arduino'nun seri baglantisini acin. (arduino yaziliminda sag ust kosede buyutec benzeri bir ikon var.. orasi)
\E komutunu verip epromu silebilirsiniz. boylece yeni ayarlari yukler.
https://github.com/k3ng/k3ng_rotator_controller/wiki/820-Command-Reference adresinde tum komut seti var.
\E Epromu silip tum parametreleri tekrar okur (rotor tipi baslangic degerleri vs)
https://github.com/k3ng/k3ng_rotator_controller/wiki/500-Heading-Calibration adresindeki gibi kalibrasyon da yapabilirsiniz.
Once O harfine (pesinden entera) basin. potansiyometreyi saat yonu tersinde sonuna kadar cevirin
Enter 'a basin
^
SOnra F ye basin(entera basin)
Potu saat yonunde sonuna kadar cevirin
Enter'a basın
Boylece potansiyometre'nin en dusuk ve en yuksek degerleri icin kalibrasyon yapmis oldunuz.
Bu degerler tabii yukarida tanimladigimiz
AZIMUTH_STARTING_POINT_DEFAULT 0 degerine gore.
Misal, asagida herseyi ayarladiniz.. Yukari rotorunuzu cikardiniz. Ama potansiyometrenin 0 noktası yani rotorun en sola donuk hali 0 dereceye degil de 45 dereceye geldi...
Once konfigurasyon dosyasindan
AZIMUTH_STARTING_POINT_DEFAULT 45 yapiyoruz (boylece rotorun baslangic noktasini belirtiyoruz)
\E komutu gonderip epromu sifirliyoruz.. Yeni degere gore calisiyor..
Artik controller uzerindeki 0 noktasında 45 derece yaziyor olacak.
Anteniniz 46 dereceden baslayip, saat yonunde donup 44-45 derecede tam turu bitirecek.
-
Manuel butonlarla çevirdiğimde azimuth dada elevationdada farketmiyor ekranda elevation derecesini okuyorum. Dediğiniz gibi 2×16 lcd kullandığımdan dolayı bu sorun olabilir. Sanırım 4×20lcd bu proje için daha ideal olacak.
Ekranda nelerin gorunup nelerin gorunmeyecegini rotator_features dosyasindan gorebilirsiniz
#define OPTION_DISPLAY_STATUS
#define OPTION_DISPLAY_HEADING
haricindekileri kapatip bir de oyle deneyin.
2x16 da o sekilde ben kullanabiliyordum.
(extra
#define OPTION_DISPLAY_HEADING_AZ_ONLY
#define OPTION_DISPLAY_HEADING_EL_ONLY
secekenkleri acik olmali .. basina // koyup iptal edin)
-
bu arada soyle birsey soyleyeyim.
siz cihazi bir rotator a bagladiniz mi yoksa resimdeki gibi potansiyometreler ile mi test ediyorsunuz?
Eger potansiyometre ile ise,
CW/CCW dugmelerine basmaniz sirasinda ekranda CW/CCW yazisi gorursunuz sadece.
Dugmeye basmasaniz bile potansiyometre'den antenin o anda baktigi yonu gorursunuz.
Yani dugmeye basmakla o deger sadece rotor donuyorsa degisir.
Nereye dondugu bilgisini ancak seri porttan su dereceye don komutu gonderirseniz (ya da pstrotator gibi bir programla controller a baglanip yon belirtirseniz) gorursunuz.
Benim gonderdigim resimdeki CW 221 yazisi bilgisayar uzerinden donecegi dereceyi cihaza gonderdigim icin cikmakta.
Normalde manual dugmeye basinca sadece CW/CCW UP/DOWN cikiyor
Asagidaki az /el kismindaki deger de anten donuyorsa degisiyor
-
Not uzerine not oldu ama, sizin test fotonuza bakinca daha iyi anladim sorununuzu.
Aslinda bir sorununuz yok..hersey olmasi gerektigi gibi calisiyor.
Ekranda azimuth ve elevation'u goster demissiniz..
Birinci satirda Azimuth bilgisi
İkinci satirda Elevation var.
Siz manual dugmelere basinca 1. satırda yaptiginiz islemi yazar.. o yuzden ust satir kayboluyor.. altta kalan elevation'u goruyorsunuz sadece.. Halbuki o sirada azimuth mevcut..sadece siz gormuyorsunuz..
Yukarida yazdigim ekranda gosterilecek bilgi ile ilgili degisikligi yaparsaniz hem azimuth hem elevation'u 2. satirda goreceksiniz.
boylece 1. satirda cikan cw up down gibi yazilar yuzunden degerleri okuyamama sorununuz kalmayacak
-
En iyisi dediğim gibi 4×20 lcd. Ben şuan için yaesu g 1000 rotoruma bağlamadım ama arduinoya manuel komut verdiğimde aynı anda dönüyormuş gibi komut vermek için ilgili potansiyometreyi çevirerek denemeler yaptım sonuçta aynı mantık. Program hakkında iyice bilgi sahibi olmuşsunuz sağolun beni fazla uğraştırmadan gerekli düzeltmeleri yapıp verdiniz.
-
Dogrudur.
Programda bazı kod degisiklikleri bile yapip kendi istegime gore modifiye edecek durumdayim su an
En son , Ay takibi icin bir degisiklik yaptim.
Bu cihaz yaklasik 5 saniyede bir ayin pozisyonuna gore rotoru yonlendiriyordu.
Ancak, EME yaparken hicbir gurultuye tahammulu olmuyor sistemin.
Bu yuzden JT65'in ilk 50 saniye TX yapip sonraki 10 saniye hesaplama yaptigini dusununce, rotorun ay takip hareketini her dakikanin son 10 saniyesi yapacagi sekilde bir duzeltme yaptim kodda.
Boylece gonderme veya dinleme sirasinda rotor hareket etmiyor (boylece motorlardan gelecek sesi duymuyoruz) sadece 10 saniyelik bosta kalan surede rotor hareket ediyor.
Bu projedeki onemli noktalardan biri de rolelerin nasil baglanacagi..
Ekte hem DC hem AC motor icin nasil baglanacagi ile ilgili ornek sema ekliyorum
AC 'de kapasitoru arduino tarafindaki role cikis uclari arasinda bagladim.
DC de zaten bir sorun yok.
-
G 1000 ile azimuth extra bir actuator ilede elecation yapmayı düşünüyorum. Rotorda sorun yok içerisindeki 500 ohm luk potansiyometre yön bilgisini arduino ile haberleşebiliyor. Actuatorun içerisinde bir sensör var. Sanırım onunda içerisine potansiyometre yerleştirmem gerekecek.
Oğuzhan bey sizin anten setupınızın resmini forumdan görmüştüm. Sanıyorum sizde actuatorun içerisinde pot kullandınız.
-
Benim actuator zaten pot ile satiliyordu. İlave birsey eklemedim.
Actuator'Un içinde ne tur bir sensor var onu ogrenirseniz, hall effect sensor, pulse sensor, vs cogu sensor tipini destekliyor k3ng.
İcine birsey ilave etmek zor olursa bahsettigim gibi, mast'in uzerine koyacaginiz accelerometer'lar ile elevation bilgisi alabilirsiniz.
-
Elimdeki actuatorun resmini yükledim. Klemensin solundaki sarı ve siyah kablolar ile bağlanmış ince bir sensör. Pulse sensör olabileceğini yorumluyorum. Ama bu yazılımla nasıl eşleştireceğim konusunda hiç fikrim yok. Eğer bu sensörleride destekliyorsa pes diyorum.
-
manualini okumaniz lazim demistim
Support for position sensors:
Potentiometers / Analog Voltage
Rotary Encoders
Pulse Ouput
HMC5883L digital compass
ADXL345 accelerometer
LSM303 digital compass and accelerometer support under development
https://github.com/k3ng/k3ng_rotator_controller/wiki/340-Position-Sensors burada da her turun nasil baglandigi anlatiliyor.
ama oncelikle o sensorun encoder mi pulse mi potansiyometre mi oldugundan emin olun
Bu kismi da siz calistirin biz ogrenelim ;)
-
Glass tube Reed sensor... limit switch'lerdeki diyodlar limit aşımında yazılımdan verilen parametrelerin dışına çıkılırsa motoru durduruyor, burada mıknatıs diske kalemle işaret konulup,tek turunda kaç puls üretiyor bilmekte yarar var,sensorun iki ucu ohmmetre ile test edilebilir,reed sensoru atıp oraya multiturn pot koyma çalışmalarım neticesinde mekanik yetim zayıf olduğunda ikiside çöp kutusunu boyladı...
-
yazilim limitinden bagimsiz orada limit switch var. zaten belirli bir mesafeinin otesine gidemez.
#define FEATURE_EL_POSITION_PULSE_INPUT
#define el_position_pulse_pin 2
#define EL_POSITION_PULSE_PIN_INTERRUPT 0
bir tek bu kısmı hesaplamaniz lazim. Kac tur kac derece acacak anteni
#define EL_POSITION_PULSE_DEG_PER_PULSE 0.5
-
Actuator 18 inch 46 cm.
46cm açılana kadar mekanik disk toplamda 118 tur dönüyor.
Disk tam bir tur dönüsünde reed swich 6 defa iletime geçiyor.
Actuator iletime geçip durana kadar 46 cm de swich 118×6= 708 defa toplamda iletime geçmiş oluyor. ( bunuda 36 voltluk motoru 5 volt ile yavaş devirde döndürürken dikkatlice saydım.)
Actuator matrix marka HARL 3618 model bir ekipman.
-
reed switch modelinde
Auflösung: Reed sensor:
48 pulses/in. standard (30 pulses/in. for 24" stroke length)
demiş.
Standardi olsa cm de yaklaşık 18 pulse..
kısası olsa yaklaşık 12 pulse yapiyor. sizin verilerden biraz farklı.
Gerçi bize lazım olan toplamda olacak olan açı.
Actuator'un bağlanacağı kolun uzunluğu da kritik olacaktır burada.
Tamamen sallama olarak Kol tam açıldığında 70 dereceye kadar açtığını varsaysak(46 cm kol uzunluğunda)
708 pulse yapar ki bu da
#define EL_POSITION_PULSE_DEG_PER_PULSE 0.1 gibi kabul edebiliriz. Bu olcumun tam olarak antende yerine takildiginda yapilmasi faydali olacaktır.
Ama bu veriler ile en azindan simdilik controller a baglanip veriler cok saglikli olmasa da calismasi gozlemlenebilir.
-
Selamlar
Kendime geçenlerde yeni bir rotator yapmaya başladım.
Bir önceki temel özelliklerden vazgeçip daha kompleks bir şey nasıl yapabilirim diye düşündüm. Eski sistemim tek arduino,
azimuth ve elevation için potansiyometreli sensörlerden oluşuyordu.
Yeni sistemim,
NEO6M GPS modülü ile gerçek zamanlı olarak koordinat takibi ve saat güncellemesi yapabilen..
Çatıda ikinci bir arduino'yu kullanarak I2C sensör kullanabilen
Çatıdaki arduino Sayesinde ADXL345 Eğim sensörü kullanabildiğim
HH-12 Magnetic Rotary Encoder ile 0.1 derece hasasiyetle Azimuth ölçebildiğim bir sistem oldu.
GPS modülünün getirdiği bir diğer artı, kalibrasyon kolaylığı.
Saat ve Yer bilgisi olduğu için, anteni manual olarak ay veya güneşe doğrultup tek bir tuş ile antenin tüm yön kalibrasyonunu yapabiliyorum.
Yine tek düğme ile ay'ı veya güneşi takip edebilme yeteneğine sahip.
Haftasonu yaptığım denemelerde gördüm ki, mevcuttaki direğim biraz eğri olduğundan (gözle fark edilmiyor) o zamana göre yaptigim elevasyon kalibrasyonu meğer yalanmış. Bazı yerlerde 4-5 dereceye varan eğim farkları gözlemledim.
ADXL345 in hassasiyeti sayesinde gerçek eğimi bu tür farklardan etkilenmeden görebiliyorsunuz.
MAster ve Slave Arduino arasında CAT5 kablo kullandım.
Bu kablo üzerinden arduino'yu beslemek için 12V / GND ve Seri bağlantı için TX/RX uçlarını taşıdım.
Çatıdaki arduino metal bir kutu içinde.. Ayrıca voltaj beslemesini düzenlemek için 12-9V voltaj düşürücü ile besleme yapmaktayım.
Yine de , antenin eğimini arttırınca, QRO çalıştığımda secondary arduino ile iletişimin kesildiğini fark ettim.. Biraz daha EMI engelleme konusunda çalışmam gerekiyor anlaşılan..
Sevgiler.
-
Çatıdaki arduino metal bir kutu içinde.. Ayrıca voltaj beslemesini düzenlemek için 12-9V voltaj düşürücü ile besleme yapmaktayım.
Yine de , antenin eğimini arttırınca, QRO çalıştığımda secondary arduino ile iletişimin kesildiğini fark ettim.. Biraz daha EMI engelleme konusunda çalışmam gerekiyor anlaşılan..
Sevgiler.
Tebrikler Üstat,
Acaba yukarıdaki arduino resetleniyor mu yoksa, kabloya girişimden dolayı haberleşmem mi kesiliyor?
Eğimle ilişkisi de ayrı bir soru :)
Girişimden veya mesafeden dolayı RS232 sorun çıkartıyorsa, birer entegre ilavesiyle RS485'e dönülebilir.
73
-
Manyetik Loop anten ile uğraşırken ,Master Slave arasında CAT5 kullanmıştım,Ferit yüzükler klipsler olağanistü performans gösteremediler,posizyon için absolute encoder gelen bilgiler kopuyor TX yapınca,ucuz MAX485 modulleriyle doldurdum Data hatlarını,bir sıkıntı kalmadı..
ayrıca yazılıma bir Led ile Buzzer bağladım,Handshake kopunca beni uyarıyor..Data kablosu 5 metre iken hiçbir sorun yoktu,15 metre yapınca problemler o oranda arttı,wifi konusunda zayıfım,aslında en doğru olanı bence bu,Fiber optik'e sıcak bakıyorum,Fulldublex çalıştıramadım,olmazsa iki kablo çekeceğim 73...
-
Eğimle ilişkisi şu şekilde,
Eğim artınca anten rotorun altında kalan arduino kutusunu direkt olarak gormeye basliyor. e bir taraftan da yaklaşıyor :)
Öncelikli olarak hem kutuyu hem de arada kullandığım cat5 kabloyu ekranlayacağım.
Mevcuttaki kablo ekransız kötü bir kablo.
RF ten etkilendiği durumda RF olduğu sürece değer okuyamıyorum. Ama Rotorun enterferansında direkt alet cevap vermez durumda kalıyor. Mecbur poweroff/on yapıyorum.
-
Herkese merhaba.
Oğuzhan bey emi sorununuzu radioartisan grupa akttığınız mailde okudum. Benimde hedefim qro bir sistem ile rotoru kontrol etmek. Umarım sorununuzu çözersiniz o aşamalara geldiğimizde bizde yararlanırız.
I2C 4x20lcd ile aktif etmeyi başardım heleşükür. Birkaç gün önce gps ve saat özellikleri açık bir çalışmanın videolarını izleyince kendime ds 1307 ile rtc modül siparişi verdim. Gelince inşallah bağlayabiliriz yada yardım için yine sizden rica edeceğim.
GPS olayını gemiden çıkma elimde furuno profesyonel gps navigator var. Bunun rx tx uçları ile arduinoya giriş yapılabilirmi acaba? Böylelikle istasyonda hem görsel olarak gps i kullanır hemde arduinoya gerekli bilgileri gönderip ay takibinde kolaylık sağlayabileceğini düşünüyorum.
Ayrıca elimde birde arduino pusula sensörü var bu yazılım yön bilgisine ek olarak bu sensörü desteklermi?
ADXL 345 e ihtiyacımız olacağını söylediklerinizden çıkarıyorum. Bu modülünde çeşitli fiyatlıları var siz hangisini kullandınız?
Kurgum şuanda bord üzerinde kutulamaya geçmeden önce sizin gibi aktif kullanıcıdan birşeyler öğrenip bir defa yapmakta yarar olacağına inanıyorum. Tek sorunum yazılım dili bilmemek. Emi sorununuzda kolaylıklar dilerim.
-
Bildigim kadariyla Seri baglantisi olan herhangi bir gps unitesini kullanabiliyorsunuz.
Bu unitenin de tx rx lerini uygun portlara baglarsaniz kullanirsiniz diye dusunuyorum.
K3NG nin destekledigi manyetik pusulalar kendi sayfasinda var. herseyi desteklemiyor. oradakilerden biriylse tabii ki kullanabilirsiniz. Ama pek tavsiye edilmiyor. manyetik pusulalar etrafindaki metal ve RF ten oldukca etkileniyor.. Azimuth ta potansiyometre veya encoder tarzi cozumlerden sasmayin..
ADXL345 kullanmak zorunda degilsiniz. Ben 2 yildir potansiyometre ile kullanmaktayim bir sıkıntı yaşamadım.Hala da kullaniyorum acikcasi..
Ama 345 buyuk kolaylik gercekten.. 15-20 liralik ucuz modelini kullandim. orjinal adafruit olani degil....Burada meetal ve manyetizma problemi azimuth kadar degil. cunku manyetik alan yerine yercekimi ile calisiyor.
Sizinle yazismalarimizda da soyledigim gibi, bu projede arduino bilginiz yazilimi cihaza yuklemeye yetecek kadar olsa yeterli.
Kodlama bilmenize gerek yok.
Cunku her şey parametre olarak tanimlanmis. siz sadece su ozelligi ac bu ozelligi kapat diyorsunuz..
EMI icin ise, EMI bir sorun evet ama.. bu aksam eve geldigimde catidaki arduino yine donmuştu.
İki seyden supheleniyorum. Ya orada kullandigim downconverter sapitiyor. Ya da arduino sorunlu o kendi kendine kilitleniyor.
haftasonuna arduino unoyu degistirip bir de oyle deneyecegim bakalim.. arada shileded bir sinyal kablosu da aldim. onu da eklerim.. ;)
Bu arada gps kesin gerekli degil. saat unitesini kullanirsaniz, istasyon lokasyonunu konfigurasyon dosyasi icine girebiliyorsunuz.. ay gunes koordinat hesabini ona gore de yapabiliyor.
-
Biraz karsi taraftan gelen seri sinyali dinledim..
Ciddi kayip var gibi.
Elevation'u gonderen kisa komutlar sorunsuz gelirken.. uzaktaki arduino'da debug calistirip kismen uzun satirlar almaya basladigimda sinyalin bozuldugunu gozlemledim..
Biraz forumlari karistirinca, sorunun benim twisted pairi yanlis kullanimimdan kaynaklandigindan suphelendim..
Ben voltaj dusmesi cok yasanmasin diye dusunup yuklarida yazdigim gibi, her twisted pair kabloyu birbirine baglamistim
Yani Turuncu/turuncu-beyaz'i RX kahve/Kahvebeyaz'i TX yapmistim..
Oysa olmasi gereken , Ornegin Turuncu RX Turuncu beyaz GND, Kahve TX Kahvebeyaz GND olacak sekilde twisted pairin ikincil ucunu gnd olarak kullanmak , boylece tx/rx sinyallerinin birbirini etkilemesini engellemekmis..
Bir de oyle deneyecegim bakalim..
Ayrica, yine yazilanlar, twisted pair yerine duz sinyal kablosu kullanmanin, kapsitans ve induktans acisindan daha uygun olcagi yonunde..
-
Sağolsun Oğuzhan beyin yardımları sonucunda yazılımı aktif etmeyi başardım.
Arduıno ya bağladığım ds 1307 sayesinde de saati güncel olarak kullanabiliyorum.
Tanımladığınız buton sayesinde tek tuşla ay takibini veya diğer bir tuşla güneş takibini başlatabiliyor. AZ ve EL pozisyonları istenilen dereceyi bulunca roleler tekrardan pasif olarak rotoru durduruyor.
Yalnız zamansal bir sorunmu var anlamadım bazen ay takibine start verdiğimde roleler aktif olmuyor ve sadece satırbaşında - çizgi işareti çıkarak işlevini yerine getirmiyor. Arduıno ya seri port ekranından ulaşıp saatde değişiklik yaptığımda çalışması tekrar normale dönüyor. Bu sorun locatorumu manuel girdiğimden, bağlı olmasada GPS inde aktif olduğundan olabilirmi? veya başka problemmi var.
Ayrıca şema üzerindeki speed voltaj ucundan rotorun hız kontrolünü nasıl gerçekleştirebiliriz? Normal şartlarda roleler sadece açma kapama yapıyor herhangi bir hız kontrol yapılamıyor. Örneğin rotor arduınodan gelen komutla dönmeye başladı son 1 derece kala hızında yavaşlama yaparak daha hassas yön bulma imkanına sahipmi? Yada dönüş hızını nasıl yavaşlatabiliyoruz?
Bir diğer konuda ön panele bir pot bırakarak veya başka bir yöntemle mesela rotora 145 dereceye git komutu verip kontrol cihazlarında olduğu gibi otomatik o yöne çevirebilirmiyiz? Rotordaki manuel butonları kullanarak uzunda olsa yapılabiliyor bu işlem ama tek tuşlada aktif edilebiliyormu?
Konuyu buradan devam ettiriyorum çünkü forumdan takip edip bu devreyi yapan arkadaşlarımızında olduğunu biliyorum. Yoksa özel mesajlarıma sağolsun TA2NC arkadaşımız elinden geldiğince yardımcı olmuştur.
-
Sağolsun Oğuzhan beyin yardımları sonucunda yazılımı aktif etmeyi başardım.
Arduıno ya bağladığım ds 1307 sayesinde de saati güncel olarak kullanabiliyorum.
Tanımladığınız buton sayesinde tek tuşla ay takibini veya diğer bir tuşla güneş takibini başlatabiliyor. AZ ve EL pozisyonları istenilen dereceyi bulunca roleler tekrardan pasif olarak rotoru durduruyor.
Yalnız zamansal bir sorunmu var anlamadım bazen ay takibine start verdiğimde roleler aktif olmuyor ve sadece satırbaşında - çizgi işareti çıkarak işlevini yerine getirmiyor. Arduıno ya seri port ekranından ulaşıp saatde değişiklik yaptığımda çalışması tekrar normale dönüyor. Bu sorun locatorumu manuel girdiğimden, bağlı olmasada GPS inde aktif olduğundan olabilirmi? veya başka problemmi var.
Ayrıca şema üzerindeki speed voltaj ucundan rotorun hız kontrolünü nasıl gerçekleştirebiliriz? Normal şartlarda roleler sadece açma kapama yapıyor herhangi bir hız kontrol yapılamıyor. Örneğin rotor arduınodan gelen komutla dönmeye başladı son 1 derece kala hızında yavaşlama yaparak daha hassas yön bulma imkanına sahipmi? Yada dönüş hızını nasıl yavaşlatabiliyoruz?
Bir diğer konuda ön panele bir pot bırakarak veya başka bir yöntemle mesela rotora 145 dereceye git komutu verip kontrol cihazlarında olduğu gibi otomatik o yöne çevirebilirmiyiz? Rotordaki manuel butonları kullanarak uzunda olsa yapılabiliyor bu işlem ama tek tuşlada aktif edilebiliyormu?
Konuyu buradan devam ettiriyorum çünkü forumdan takip edip bu devreyi yapan arkadaşlarımızında olduğunu biliyorum. Yoksa özel mesajlarıma sağolsun TA2NC arkadaşımız elinden geldiğince yardımcı olmuştur.
Sorulara kısaca cevap vereyim.
Ay veya gunes takibinde basinda - cikmasi o sirada ay veya gunesin ufuk cizgisinin altinda kaldigina isarettir. Saat guncellemesi sonrasi gelmesi dediginiz gibi saat veya locator yuzunden ay'i batmis gibi gormesinden kaynaklandigi anlamina geliyor.
Speed voltaj sorununu PWM kontrol devresi ile cozebilirsiniz.
Arduino PWM motor kontrol karti google da aratirsaniz bol miktarda var. Bu kartlari kullanarak role kullanma ihtiyaci duymadan hem rotorun yonunu hem hizini kontrol etme sansina sahip olabilirsiniz.
Calisma mantigi , ornegin 12V motora yine 12V gondermesine ragmen bunu falsilalar ile gonderdigi icin motorun tam hizina cikmasina engel olmasina dayaniyor. Ama bu yontem sadece DC motorlarda ise yarar.
PWM kontrolu iki turlu kullanilabiliyor. Birincisi dediginiz gibi baslangic ve bitiste belirli bir derece kalana kadar motoru yavas calistirmak sonra hizlandirmak, ikincisi bir potansiyometre ya da encoder ile motor hizini manual ayarlayabilmek uzerine..
Pot ile yon verme olayi Preset diye geciyor. Her ne kadar potansiyometre ile yapilabildigi bilgisi olsa da ben bir adet encoder ile yapiyorum. İki turlu calisiyor. Birincisi Yonu verip bir sure (2 sn kadar) beklediginizde otomatik cevirirken diger opsiyonunda pesinden bir buttona basmaniz gerekiyor. Bunlar da tabii konfigure edilebiliyor.
-
Preset özelliğini azimuth da bir adet encoder ve üzerindeki buton ile aktif ettim. Encoderi belirlenen hedef yöne çevirip üzerindeki butona basınca rotor o yöne dönüp duruyor.
Hatta şiddetli rüzgarlarda anteni rüzgarın yönüne göre önceden belirlenmiş emniyetli bölgeye çevirmek için park özelliğide varmış onuda konfigure edip aktif ettim.
Pin çıkışlarında brake çıkışını gördüm. Sanıyorum buda analog çıkışlara tanımlanıyor. Bu özellik içinde delay bırakmışlar. Merak ettiğim brake özelliği neye göre aktif ve pasif oluyor. Rotorumda öyle bir özellik olmasada çalışma mantığını öğrenmek istedim.
Speed olayını roleleri iptal edip pwm kartı almak yerine dc motora giden voltajı pot ile düşürüp yükseltme ile yapabilirmiyim diye düşünüyorum. DC motor 11 ila 24 volt arası çalışmakta. Tek düşüncem devir yönünü değiştirince motora giden artı ve eksi uçlarınında değişmesi. Onuda biraz pahalı bir yöntem ama amperli (8 amper)bir ayarlı güç kaynağı kullanıp ayar potunu speed için ön panele kotmak gibi. Daha farklı önerisi olan arkadaşım varsa memnuniyetle dinlerim.
-
Pin çıkışlarında brake çıkışını gördüm. Sanıyorum buda analog çıkışlara tanımlanıyor. Bu özellik içinde delay bırakmışlar. Merak ettiğim brake özelliği neye göre aktif ve pasif oluyor. Rotorumda öyle bir özellik olmasada çalışma mantığını öğrenmek istedim.
Bazi rotorlarda Fren fonksiyonu var.
Herhangi bir yone dondururken once freni kaldiriyor(lave bir kontrol kablosu var) daha sonra rotora donus yaptiriyor.
Bahsettiginiz bu ozellik bu ise yariyor..
Rotora donme vermeden once freni kaldirirken, rotoru zorlamamak icin donme komutuna biraz delay ekliyor. Frenin guvenle kalktigindan emin olduktan sonra donme hareketi basliyor.
İsterseniz kendi yaptiginiz bir rotora mast'i durduracak bir fren mekanizmasi ekler ve bu fonksiyon ile kontrol edebilirsiniz.
-
Speed olayını roleleri iptal edip pwm kartı almak yerine dc motora giden voltajı pot ile düşürüp yükseltme ile yapabilirmiyim diye düşünüyorum. DC motor 11 ila 24 volt arası çalışmakta. Tek düşüncem devir yönünü değiştirince motora giden artı ve eksi uçlarınında değişmesi. Onuda biraz pahalı bir yöntem ama amperli (8 amper)bir ayarlı güç kaynağı kullanıp ayar potunu speed için ön panele kotmak gibi. Daha farklı önerisi olan arkadaşım varsa memnuniyetle dinlerim.
PWM çıkışına linkteki gibi bir mosfet sürücü bağlayıp, motoru PWM ile sürebilirsiniz.
Kullandığınız motorlara uygun akımda, lojik girişli bir Mosfet kullanıp bu devreyi kendiniz de yapabilirsiniz.
Örneğin IRFL44 işinizi görebilir.
https://www.robotistan.com/15a-400w-pwm-kontrollu-mosfet-anahtarlama-karti?lang=tr&h=d3762a74&gclid=Cj0KCQjw84XtBRDWARIsAAU1aM0nLT6XqLUlqy0eV2kMAz7GYH4RXpmZK5l2Zr0oAmuJaqEbsH3U6CcaApxXEALw_wcB
73
-
https://www.youtube.com/watch?v=odc2i5rVzxs
Sonunda bitirip kutulayabildim. Teşekkürler Oğuzhan bey yardımlarınız için.
-
Rotor projelerinde malum potansiyometre daha pratik geliyor.
Bazi sensorler i2c calisiyor mesafe kısa.. master/slave tarzı bir uygulama istiyor vs..
AS5045 /HH-12 ise fiyatiyla gozleri yasartiyor (35-40 euro gibi bir fiyati vardi)
Etrafi kurcalarken baska bir cihaz gozume carpti.
AS5600..
Cihazin i2c baglantisi var .. evet k3ng desteklemiyoruz henuz bunu .. ama... daha guzel bir ozelligi daha var.
potansiyometre gibi 0-5v arasi analog cikis uretebiliyor.
Ayrica 12 bit. yani 0-5v araligini 4096 parcaya boleibliyor..
Yok bu hassasiyet beni kesmedi diyorsaniz, ornegin 0-90 derece arasi bana lazim diyorsaniz, baslangic bitis noktalarini programlayip bu 12 bit cozunurlugu bu dar aralikta da kullanabiliyorsunuz..
Fiyati da 20-30 tl civarlarinda
https://www.youtube.com/watch?v=Dwc4hFgNP5I
Mevcut potansiyometreli sistemleri modifiye etmek icin gayet pratik bir cihaz..
-
harika bir aletmiş,bir tane temin edip bir şeyler yapmalı,beni düşündüren kısmı disk mıknatıs'ta galiba bu firmadan temin edilmesi gerekecek..
-
Genelde cihazla beraber bu miknatis ta gonderiliyor.
Hatta ihtiyaca gore.. tam silindirik miknatis ya da cember seklinde miknatis ile bile gonderiyorlar.