Basit otomatik yemleme

Başlatan M26, 23 Nisan 2013, 21:49:48

M26

Merhaba arkadaşlar ben akvaryumum için bir otomatik yemleme makinası yapmak istiyorum forumda aradım ama parça parça bilgiler var tam toparlayamadım daha önce de PIC kullanmadım ilk olacak elimde CCS C İLE PIC PROGRAMLAMA kitabı var 16F877A  işlemcisini kullanıyor kitapta hep. Forumda step motor sürücü devresi timer devreleri falan var ama ben birleştiremedim. 

Projede istediğim:

Step motorun her oniki saatte bir bir adım dönmesi ve iki buton ile ilk start ve stop süresini kontrol edebilmem. Yani ben ne zaman butona basarsam o andan itibaren 12 saat sayıp step motoru bir adım döndürecek ve bunu sürekli tekrarlayacak ben ikinci düğmeye (stop düğmesi) bastığım anda duracak ve ben start düğmesine basana kadar beklemeye geçecek.

Benim aklıma şöyle birşey geldi yapılabilir mi bilmiyorum bir algoritma yazıyorum:

ÇIKIŞ=0;
GİRİŞ=0;
x=1;
RETURN:
while(x<720)                           // Program 720 defa döndü her tur 60000 ms ile 12 saat yaptı.
       {x+=1;
         pause 60000;
        }
output                                      // step motoru bir tur döndürmesi için çıkış kodu yazılacak
x=1;
if(ÇIKIŞ=1)
end
else
go to RETURN:

 Böyle bir sisten hazırlamam zor olurmu yardımcı olabilirmisiniz ?

pwm.c

döngü kurarak 12 saat süreyi tutturmak biraz zor olur. o nedenle interup ile yapmanda fayda var.
önce timer0 kesmesi ile interupı kur. bölme oranını 1/64 olarak ayarlarsan her 16,3ms sürede bir kesme oluşur. bu kesme alt programında birkaçtane sayaç değişkeni tut. ilk sayaç 61 sayısına ulaşınca buradan anla ki 1 saniye süre geçmiş demektir. diğer değerleride buna oranla hesaplayarak 12 saat süreyi elde edebilirsin.

step motor olayı ise ayrı bir konu. elindeki motorun türüne göre yazılım ve donanım hazırlaman gerekir. bunların unipoları var, bipoları var, değişik adım dereceleri var, akım kontrolü var, sürücüleri var, tam adımı ve yarım adımı var, var da var...
şimdi senin elindeki nasıl bişey onu söyle. ayrıca 1 adım dediğin kaç derece? örneğin 48 adımlı bir step motorun her adımı 7,5 derecedir. 48 tam adım dönderdiğinde 360 derece yani 1 tur atar. bundan farklı derecelerde step motorlarda bulunuyor.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

M26

Alıntı yapılan: pwm.c - 24 Nisan 2013, 03:28:00döngü kurarak 12 saat süreyi tutturmak biraz zor olur. o nedenle interup ile yapmanda fayda var.
önce timer0 kesmesi ile interupı kur. bölme oranını 1/64 olarak ayarlarsan her 16,3ms sürede bir kesme oluşur. bu kesme alt programında birkaçtane sayaç değişkeni tut. ilk sayaç 61 sayısına ulaşınca buradan anla ki 1 saniye süre geçmiş demektir. diğer değerleride buna oranla hesaplayarak 12 saat süreyi elde edebilirsin.

step motor olayı ise ayrı bir konu. elindeki motorun türüne göre yazılım ve donanım hazırlaman gerekir. bunların unipoları var, bipoları var, değişik adım dereceleri var, akım kontrolü var, sürücüleri var, tam adımı ve yarım adımı var, var da var...
şimdi senin elindeki nasıl bişey onu söyle. ayrıca 1 adım dediğin kaç derece? örneğin 48 adımlı bir step motorun her adımı 7,5 derecedir. 48 tam adım dönderdiğinde 360 derece yani 1 tur atar. bundan farklı derecelerde step motorlarda bulunuyor.

İlk olarak PİC programlama bilgim neredeyse sıfır yeni başladım çalışmaya bir hafta kadar oldu onun için kesme kısımlarını bölme oranını anlamadım.  Sayaç değişkenleri de döngü kullanarak yapmam gerekmiyormu yani 61 sn = 60 dk için 60defa dönen bir döngüye girmem gerekli değilmi ?

Step motor için elimde yok hepsini sonradan alıcam tasarım bittikten sonra.  4-8 adımlı bir step motor işimi görür güç için çok güçlü olmasına gerek yok 100 gr kaldırabilsin yeter bipolar unipolar farkı nedir bilmiyorum benim işimi hangisi görür onu da bilmiyorum, genel olark benim ihtiyacım dediğim gibi adım sayısı 4-8 arası hepsi işimi görür.

pwm.c

#3
işte sana 12 saatte bir, 7,5 derecelik unipolar step motoru 12 adım sağa dönderen devre

dosyalar:
yemleme.zip
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

M26

Alıntı yapılan: pwm.c - 25 Nisan 2013, 01:41:17işte sana 12 saatte bir, 7,5 derecelik unipolar step motoru 12 adım sağa dönderen devre

dosyalar:
https://dl.dropboxusercontent.com/u/59120073/yemleme.zip

Çok teşkkür ederim bu kadarını beklemiyordum ellerinize sağlık çok güzel olmuş tekrar çok teşekkür ederim...

M26



PCB için şemayı hazırladım arkadaşlardan bi PİC programlayıcı bulduğum zaman tamamlayacağım devreyi tekrar çok teşekkürler  :)

Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın