Pid kontrol hk. (Türbin Bloğunun Yön Ayarı)

Başlatan argetek, 27 Şubat 2016, 22:36:00

F®T

#15
argetek merhaba.
Süre olayı bu iş için uygun değil.Her zaman aynı sürede gidemezsin.O iş yaş.Ama yok illa diyosan sen bilirsin.Mekanizmayı kırınca aklın başına gelir.
Daha önce dediğim gibi bir pot ile bu iş şurup gibi olur ama sen siviç kullanmayı tercih ettin.Sistemde pot olduğunu bir düşün.Nerde olduğun belli olacak.Nereye gideceğin belli olacak.Nerde duracağın belli olacak.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

argetek

sayın F.T
asıl  sorunda  bu zaten  yonlerin  oldugu  yerlere  swich yada  pot  koyamıyorum  bu yuzden  sure  koymayı  duşunuyorum  şimdilik sistemi  bu  şekilde  çalıştırmayı  becerirsem  daha  sonra başka  bir  secenek  bulucam  sisteme  suan  odaklandığım kısım  burası  belki  birkac  hafta  sonra  limit  swich uygulayabilirim  havalar  duzeldikten  ve  sistemin  yanına  vinç goturebilecegim  sekilde yol  şartları  duzelince  tabiki  ozamana  kadar  bunu  denemek  istiyorum 

Saygılarımla...
Saygılarımla...

F®T

Bence süreye gerek olmamalı.Zaten kullandığın 4 yön sivicin var.Bu siviçlerin ne olduğu belli sırlaması belli.Senin nacel kabininede 4 adet siviç koy.Onunda nerde olduğu belli olsun.Ondan sonra rüzgar yönüne göre kabini çevir.Rüzgar yön sivicin ile nacel kabin sivici arasında fark oluşunca dc motoru çevirt.Aynı siviçle çakıştımı dc motorunu durdur.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

argetek

yani  soyle  mi demek istiyorsun  4  adet  yon kontrol den  cıkısım  var bunları pic e  girdim  PORTB.0...PORTB3  nacel dede  4 swich  den gelen 4 cıkıs  var  bunuda  pic e  PORTB.4...PORTB7   


naceldon:
if PORTB.0=1 THEN
ROLE1 HIGH
if PORTB.4 HIGH THEN
ROLE1 LOW
goto naceldon


şimdi  buraya  kadar  tamam  bunu  boyle  cozduk  şimdi  nacel swich 1  ile  basladı  swich 2  yi gorunce  durdu  simdi  swich 4  tetiklendi  nacel hangi  roleden  yola  devam edecek  yani sag  mı donecek  yoksa  sola mı  benim  asıl sorum  bu  saga  yada  sola  donmesi  gerektigini  nasıl  algılarız  ?


Saygılarımla...
Saygılarımla...

Burak

#19
Öncelikle konum kontrolü yapılacak bir uygulamada DC motor kullanılıyorsa en azından bir encoder yardımı ve geri beslemesi ile bulunulan nokta açısal değerlendirmeye tabi tutulabilir ... Anladığım kadarıyla iki tane röle var , ve bu röleler zıt yönde dönüş sağlıyorlar , ama hesap etmediğin birçok durum var ;

Rüzgarın kuzeybatı , güneybatı , güneydoğu , kuzeydoğu yönlerindeki esintilere daha yatkın olduğu durumlar için verim sıkıntısı yaşayacaksın , bu durumda anemoskop'un verdiği çıkışa binayen konum kontrolünü en iyi bir potansiyometre aracılığı ile sağlayabilirsin , aksi takdirde DC motor ve süre kontrolü ile zamanla set noktasını kaybediceksin ... Ya yüksek torklu step veya servo motorlar ile yada en güzeli Ferit abinin dediği gibi DC motor & POT aracılığı ile bunu daha bilimsel ve garantili bir şekilde uygulamaya koyabilirsin diye düşünuyorum ...

Ama imkanların doğrultusunda şu andaki sisteme uygulayabileceğin algoritma şu şekilde olabilir ..
Yanlış anlamadıysam röle1 sağa , röle2 sola dönüş sağlıyor (Yada tam tersi ama bir önemi yok)

Sistemi ilk başlangıç konumu olarak kuzeye açılanmış şekilde set ediyoruz ve sistem enerjileniyor ...
Bu durumda , başlangıç konum değişken değerim 100 olsun ..

Konum bilgisi ;

100 ise kuzeydeyiz
110 ise doğudayız
120 ise güneydeyiz
130 ise batıdayız

Örnek olasılık : Yön bilgisi diyelim ki doğudan(110) geldi ve bizim  konumumuz kuzey(100) ;

if konum=yön then hiçbirşey yapma (atla / döngüyü terket)

if konum=100 and yön=110 ---> 10 sn sağa döndür ve konum=yön
if konum=100 and yön=120 ---> 20 sn sağa döndür      ''
if konum=100 and yön=130 ---> 10 sn sola döndür       ''

if konum=110 and yön=100 ---> 10 sn sola döndür
if konum=110 and yön=120 ---> 10 sn sağa döndür      ''
if konum=110 and yön=130 ---> 20 sn sağa döndür      ''

if konum=120 and yön=100 --->20 sn sağa döndür       ''
if konum=120 and yön=110 --->10 sn sola döndür        ''
if konum=120 and yön=130 ---> 10 sn sağa döndür     ''

if konum=130 and yön=100 --->10 sn sağa döndür    ''
if konum=130 and yön=110 --->20 sn sağa döndür    ''
if konum=130 and yön=120 --->10 sn sola döndür     ''


Şeklinde olabileceğini düşünüyorum ...

Burak
Ω Gens Una Sumus Ω

F®T

rüzgar yön siviçleri
siviç 1 batı -  siviç 2 güney - siviç 3 doğu - siviç 4 kuzey  olsun.kuzey batı arasındaki hareket mekanikten dolayı kritik olsun.

nacel yön siviçleri

siviç 10 batı -  siviç 20 güney - siviç 30 doğu - siviç 40 kuzey  olsun.

şimdi.nacel 40 kuzeyde duruyor.rüzgar 2 güney oldu.

dc motor  naceli kuzeyden güneye doğru nacel 20 sivicini görene kadar dönecek ve duracak.saat yönününde döndü.zaten sen biliyosun yön sıralamasını.

nacel 10 batıda duruyor rüzgar 3 doğu oldu.dc motor saat yönü tersinde döner naceli 30 doğu sivicini bulana kadar bulunca durur.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

argetek

arkadaşlar  ikinizede  çok  teşekkür  ederim  ikinizinde  çözümü  mantıklı  değerecede  doğru  geldi  bana  bu arada SAYIN BURAK 
ara  değerleri  anlaşılması  kolay  olsun diye  yazmamıştım  kuzey-batı güney-dogu  gibi  ara  degerleride  algılayabiliyorum  yani donüş  aslında  4  değil  8  periyottan  oluşuyor Sevgili F.T  nin  çözümü  en  akılcıl  yol  ama  şu an  sistemin  yanına  vinç  yada  sepet  geciremediğim  icin  gecici  olarak  Sayın BURAK  ın  çözümünü  birkaç  hafta  kullanıp  birkaç  hafta  yada  max 1  ay  sonra  F.T  nin  çözümüne  yönlenmek  şart  oldu  :)



Saygılarımla...
Saygılarımla...

Burak

#22
Dediğim gibi rüzgar kuvvetiyle DC motor dönüş hızı fanların pitch açılarının konumunun dişli çarkı mekanik aşınmaya uğratması gibi durumlar senin sisteminde kaçınılmaz .... POT'tan ziyade switch sanki daha mantıklı geliyor çünkü AD-DA dönüşümlerinin stabilitesini ve tolerans değerlerini iyi ayarlamazsan enerji üretmek enerji tüketmeye yol açabilir .. Mümkünse pitch değerlerini yere paralel hale getirip konumlandırma işlemini başlat , ardından konuma oturtulduğunda pitch ayarlarını yap ..

Kolay gelsin ..

Burak
Ω Gens Una Sumus Ω

argetek

Sagolasın SAYIN BURAK  evet  rüzgar  hızıda  burada  devreye  giriyor  zaten  hız  yeterli degilse  nacel  in  donmeme  sebebi  gereksiz  enerji  sarfiyatını  onlemek  amaçlı  bu  gibi  sistemlerde  çok  fazla  artı  ve  eksi  algoritma  bulunuyor  iyi  bir  tasarım  yapılmaz ise dediğiniz  gibi  uretilenden  fazla  harcama  kacınılmaz  oluyor  su  an  uzerinde  calıstıgım  sistem  %100  yerli  üretim  ama  sanki  calışması  icin değilde  çalışmaması  için  tasarlanmış  bir  ureteç  nacelde  ne bir  sensor  ne  pot  ne  swich  bulunuyor  bu  durumda  benden  önceki  kontrol  ünitesi  bu  nacel i neye  gore  stop  start  yapıyordu  hadi  sure  sınırlı diyelim  %100 konum u  nasıl  ayarlıyordu  hicmi  kacırmıyordu  bu  gerçi  motora  bağlı bir  redüktör  bulunuyor  bu  bu  çok  hassas  bir  saat  bilgisi  ile  herzaman istenilen  yerde  durdurulabiliyor  belkide  ben  yinede  sizlerinde  dediği gibi  eşşeği  sağlam  kazığa  bağlamak  taraftarıyım  ve  en  geç 1  ay  içinde  bunu  swich  li bir  sisteme  kesinlikle  geciricem  yardımlarınızdan  dolayı  çok  teşekkür  ederim  arkadaşlar 


Saygılarımla...
Saygılarımla...

ete

Bu sistemin sağlıklı çalışması için ilk açılışta yani sisteme enerji verildiğinde nacel bir ref notasına doğrudan gitmeli ve bu nokta sıfır noktası olarak kabul edilmeldir.
bu aşamadan sonra rüzgar yönü sensöründen gelecek bilgilerin büyüklüğü yada şekli çok önem kazanıyor.
Diyelimki sıfır noktamız tam kuzey olsun. Nacel in kuzeyden tekrar kuzeye gelmesi için 360 derece dönmesi gerekir ve bu dönüşünde (her 90 derecelik dönüşün 40 sn sürdüğünü düşünürsek 160 sn olacağını kabul edelim. Öyle bir formül bulmalıyızki rüzgar yönü ile nacel konumu arasındaki fark bize hangi rölenin kaç sn çalışacağını hesaplayıp vermeli. Bu durumda sıfır noktasının (diyelimki kuzey) tam aksi yönü 180 derecelik dönüşe tekabül edecek bu noktaya kadar olan saat istikametindeki dönüşlerde röle-1 çalışacak bu noktayı aşan dönüşlerde ise naceli role-2 ile hareket ettirmemiz gerekecektir. Yada böylesi daha doğru olacaktır.
Bu durumda yön sensöründen gelen bilgi önem kazanıyor. Şayet yön sensörü kuzeyi gösterinece ne bilgisi, doğuyu gösterince ne bilgisi güneyi gösterince ne bilgisi batıda ne bilgisi veriyor ve bunların aralarında da ne bilgisi üretiyor bize verebilirsen biraz daha üzerinde fikir jimnastiği yapabiliriz.
Bu bilgiler rakamsal değerleri ile gerekiyor.
Ete


argetek

Sayın ETE hocam  ilgi  ve alakanızdan dolayı  öncelikle  tesekkur  ederim  yon sensorum  çok  basit  bir  şekilde  calısıyor  önceleri ben  bukadar  basit  olabilecegini  dusunmedigimden  baya  bir  ugrastım  ne  bilgisi verdigini  cozmek  icin  sonra  baktım  olmadı  wind vane  i  kuleye çıkıp  söktüm  icini  inceledigimde  alimünyumdan  bir  daire  ve  bu daire  4  e  bolunmuş  ortasında  bir  kontak  bulunuyor  yani  sensor  dondugunde  kantak  hangi  bolumun  uzerinde  ise  ortak uc  ve  o bolumun  kablosu  kısadevre  oluyor  ben  bu  4  bolumun  yeterli  olmayacagını  dusunerekten  bakir  plaketten  aynı çapta  bir  daire  keserek  bunu 8 e  boldum  ve  kablo sayısınıda  8  e  cıkarmıs  bulundum  yanı  kısacası  kuzey-doğu  gibi  ara degerleri  ekledim  ama  calisma  sekli  yine  aynı  bu  durumda  ben  bu  bilgileri degerlendirirken  pic  e  8 pin  den  giris  yapıcam  malesef  şimdi  değer  olarak sadece  sanki  pulldown  yada  pullup  bir  buton  varmıs  gibi  dusunuyorum  ben  pic e  8 adet  buton  bağladık  ve  her  butona  basıldığında  motor  bir  yonde  ilerliyor  360 derecelik  tam  tur  tamamlandıgında  artık  aynı  istikamette  gidilmeyip  geri  donecek  bunun  yanı  sıra  ara degerlerdede  misal batıdan  kuzey e  gitti  bu  durumda  eger  tekrar batıyaq  gidecekse  role2  den  yok  doguya  dogru  gidecek ise  bukez role1  den  geri  donecek ....

Saygılarımla...

ete

Bu durumda 8 adet anahtar olacak sistemde. Bunların yön tayini ise diyelimki şöyle olacak.
-%00000001 Kuzey
-%00000010 Kuzey doğu
-%00000100 Doğu
-%00001000 Güney Doğu
...
..
-%10000000 Kuzey batı
Şimdi diyelimki her çeyrek dilimlik mesafede (Mesela Kuzeyden Kuzey doğuya) Nacel in dönmesi 10 sn sürüyor. Yani her bir çeyrek dönüm süresi 10 sn olsun. İlk açılışta Nacel'i mutlaka bir sıfır noktasına (mesela tam kuzeye) alıyoruz. Bu konuma NACEL diyoruz. Sonra rüzgar ölçerden rüzgar yöünü ölçüyoruz bunada RUZGAR diyoruz.
Başlangıçta NACEL=%00000001 olacaktır.
diyelimki  RUZGAR=%00000100 olsun.
Şimd, bize iki değişken daha gerekiyor. SURE_NACEL ve SURE_RUZGAR.
SURE_NACEL=(NCD NACEL)* 10 (10 burada 10 sn lik çeyrek dönme peryodu , sonucu 10sn
SURE_RUZGAR=(NCD RUZGAR)*10 olacaktır.  Sonucu=30 sn çıkacaktır.
FARK alıyoruz. FARK=SURE_NACEL-SURE_RUZGAR şeklinde alınacak.
Fark 80 den büyük ise  ROLE=1 ve FARK=SURE_RUZGAR-SURE_NACEL değilse ROLE=2 olacaktır
IF FARK>80 then
   ROLE=1:FARK=SURE_RUZGAR-SURE_NACEL
ELSE
   ROLE=2
ENDIF
Ayrıca fark 40 dan büyük ise Güney sınırı geçilmiş olacak demektir böylece FARK=FARK-30 yapıp Role=2 yapmak gerekecektir.
Şimdi bunu bir deneyelim istersen.
NACEL=%00000001 :SURE_NACEL=10
RUZGAR=%00000100:SURE_RUZGAR=30 olacaktır.
10-30 SONUCU integer matematiğine göre 236 çıkacaktır integer matematiği. (256+10-30)
Bu sayı 80 den büyük olduğu için otomatikman R1 rölesi seçilecek ve motorun çalışma süreside ,
30-10=20 sn olacaktır. Bu sonuç doğrudur. Çünki 1. noktadan 2 ötesine 2*10 sn yürümek gerekecektir.
Şimdi bu aşamada NACEL=%00000100 ve SURE_NACEL=30 olacaktır.
Rüzgar ölçümünde diyelimki RUZGAR=%00100000 çıktı SURE_RUZGAR=60 sn olacaktır.
FARK=30-60 sonucu 226 çıkacak ve buna bağlı olarak Role=1 ve SURE=60-30=30 sn olacaktır.
Şimdi NACEL=%00100000 oldu ve SURE_NACEL=60 oldu. Şimdi diyelimki RUZGAR=%00000100 olarak okundu ve buna bağlı olarak SURE_RUZGAR=30 sn olarak hesaplandı.
Bu durumda FARK=60-30=30 olarak bulunacak ve ROLE2 aktif olacaktır.
Görüldüğü üzere her şey otomatik hesaplanmaktadır.
Umarım işine yarar.

Ete


argetek

ETE hocam  ellerinize  saglık cok  guzel  olmus  bende  bunu  biraz  bırkalıyıp  tam olatak  algoritmayı  yazmaya  calışayım  proje  tam olarak bittiğinde  ise sistemin  tam çalışır  algoritmasını  inşallah sitede  yayınlamayı  düşünüyorum  umarım  başkalarınında  işine  yarar  gerçi  yarayacagına  eminim  cunki  sistemde  bircok  uygulama  olacagından  sagından  solundan  faydalanmak  mumkun  olacaktır  diye  düşünüyorum...
Saygılarımla...

Powered by EzPortal