Pic ile 30 Dc Motor Kontrolü

Başlatan M82Robotik, 30 Eylül 2014, 14:55:20

M82Robotik

Öncelikle merhaba . Ben konyadan metin. 18 yaşındayım. aranıza bugün yeni katıldım. Pic anlamında daha yeni sayılırım ve bu uygulama benim ilk endüstriyel projem olacak.Piyasadaki elektronik elemanlara tam anlamıyla hakim değilim.Sizin de tavsiyelerinizi almak istedim. 

Öncelikle sistemi kısaca anlatacak olursak 30 adet 24 volt redüktörlü ,enkoderli dc motor var elimizde.
bizden istenen bu motorların buton aracılığıyla saga ve sola 90 derece açı oluşturacak şekilde dönmesi.motor sağa ve sola 90 derece döndüğü zaman motor mili metale yaslanıyor  böylece kapak açılıyor veya kapanıyor.
Bizim asıl sıkıntımız mesafe. motorlar 10arlı olarak 3 grup şeklinde bağlanacak ve her grup arasında  yaklaşık 20şer metre var. 10 motor yan yana dizildiği zaman 44 metre mesafeye ulaşıyor. motorlar arası 4 metre.Basit bir çizim yaptım. daha iyi anlamanız için.

[IMG]http://i.imgur.com/5hFZN5G.gif[/img]

çizimdede görüldüğü gibi küçük panolardan onundeki motorları yönetecek bi sistem düşündüm. çünki 24 v dc akımı ne kadar az mesafe de taşırsak bizim için o kadar avantajlı oldugunu öğrendim.

Bu sistemi çalıştırmak için ilk olarak pic 16f876 ile enkoderden(a ve b olarak iki çıkışı var, çizgili) okuma yaptım .
Sadece A çıkışındaki pulsleri sayarak l298p ile sürerek istediğim değerde döndürdüm. Fakat hem elektrik kesintileri olabileceği ihtimalini göz önüne getirince hem puls kaçırabileceği ihtimali hem de  saçma sapan nedenlerden dolayı 3 tane motor sürücü yakınca sağlıklı olacağını düşünmedim.

Limit swicthde kablo metrajı artacağı için mantıklı gelmedi.
Son olarak akım okuyarak bu işi yapmak da karar kıldım. Hem kablodan kazanacağım hemde motor pozisyonunu tam net programsal bileceğim.Bi devre buldum bunun için . Roleyle bilgi alabilirim.piclere



Bundan 10arlı motorlara 1 adet yapmayı düşünüyorum.
küçük panolara ayrı ayrı devreler yapacağız. Ana panodan butona basıldığı anda pic sinyal alacak küçük panolardaki pici uyaracak. picde roleleri çektirerek. motorları sürecek. Motor metal kısma yaslandığı zaman fazla amper çekecek ve anında elektronik sigorta motora giden voltajı kesecek.Ana panodan teker teker motorlar döndürülecek.Motorun konumuna görede ana panoda kapalı veya açık motor su anda diye led veya başka daha uygun ışık kaynağı varsa yancak.
İsiste ve pbp de bir çalışmada yaptım..(Link aşağıda).Irfz44n mosfet ilede motorları sürmeyi denedim ama bi türlü çalıştıramadım. 1 kaçda mosfet yaktım :).Programı pic basicde yazmayı düşünüyorum.

Sistemde değişik düzenlemeler yapılabilir maliyeti düşürücü mantıklı sağlıklı fikirler doğrultusunda. Burda sizin tavsiyeleriniz ve tecrübeleriniz benim için çok önemli.40 defa ölç 1 defa biç demişler.Ve aklıma takılan 1 kaç soru var.



1-) 4 panoda ayrı ayrı dc hattan mı beslenmek zorunda ? Çünki 3 veya daha fazla pic kullanılacak. Bunlar birbiriyle haberleştirileceği için bir sorun yaratırmı ?

2-)Bildiğim kadarıyla en çok 40 pinli picler var ?16f877 kullanmayı düşünüyorum Buna göre 4 den fazla Pic kullanılacak illaki. Bu picler ve  roleler oluşturulan devrede gürültü yaratmaz mı ? Nasıl bir filtreleme gerekir ?

3-) Sağlıklı bir enerji iletimi için kaçlık kablo gerekir ? (Motor normalde 0.70 Amper Kilitlendiğinde 3.5 Amper çekiyor)

4-) İsiste devreyi bi türlü çalıştıramadım . Hatalar veriyor benim bilgisayarımda.

Teşekkürler.


http://www.dosya.tc/server35/pfrM4x/uygulama.rar.html



apsis

neden servo motor kullanmıyorsun? ayrıca üstteki şema ile akım mı ölçeceksin? öyleyse bununla olmaz
"Makineye Beyin" MEKATRONİK

asma

Merhaba
Komple çözüm gelmeyebilir ama bir yerden başlamanız için fikirler olacaktır. Siz olaya kağıt üzerinde yön verip takıldığınız yerleri sorarsanız cevaplar gelmeye başlar.
Mesela ben her motordan encoder bilgisi almaktan vazgeçmenizi anlıyorum ama her motora limit sw. montajından kaçıp gruba akım limit eklemenizi anlamıyorum. Her motor için ayrı devre gerekmeyecekmi?
Ya da her motorun ayrı driveri var mı? Motor yönünü röle veya mosfet ile yön değiştirerek mi yapacaksınız?
Yine motorlar bağımsız hereket edecek mi 10 arlı veya 3 erli grup olarak mı çalışacak netleştirin.

Yine bir örnek, bir sistemde tek PLC ve çevre modülleri olabilir, birden fazla 24Vdc kaynakla giriş ve çıkış yapılabilir. Bu kaynakların + ve - uçlarını P24 ve N24 olarak isimlendirdiğimizde N24 uçları birleştirilerek beraber kullanılabilir.
Eğer güç devresinde farklı kaynaklardan bahsediyorsak (her zaman olur bu) gerekli önlemlerle istediğiniz kadar kaynak kullanabilirsiniz. Mesela optokuplör kullanmak gibi kontrolörünüz ile yükü ayırırsınız.

Eklediğiniz şema çalışır , işinizi görürmü bilmem.
Kısa devre veya aşırı akımda yük akımı kesilir, kısa devre akımı artık yoktur devre tekrar kendini kurmadan önce akımın sıfıra yakın düşmesini bekler.

Her motor için sürücü kullanılıyorsa bunlar motora yakın olmalı ve limit sw. ile kontrol edilmeli.
Haberleşme için koblo uzunluğunu düşünürsünüz. Driver için besleme kablosu o kadar önemli değil bence.

Kolay gelsin.

M82Robotik

Neden servo değil ?  Çünki servo çok pahalı bi sistemdir.Redüktörlü dc motorlar hele bide encoderli ise bizim istediğimiz hassasiyeti gücü ve verimi verecektir.

Akım ölçmeyeceğim. Akım arttığı zaman motorun konuma geldiğini anlayıp  voltajı keseceğim. Ve akım devresini resetleyeceğim.

Sayın asma ,
akım limiti devresini 10arlı motorlara birer tane yapacağım. Yani her on motorun beslemesi aynı kaynaktan olacağı için akım limiti devresini bu beslemeye seri bağlamayı planlıyorum. neden ? Çünki limit swicth le beraber kablo metrajı artacağından  dolayı kablo maliyeti artacak. ve işçilik artacak.halbuki akım sınırlayıcı ile bunları tek biyerden kontrol etmek daha mantıklı geliyor.Her motor sağa ve sola ayrı ayrı kontrol edilecek.Dediğim gibi elektronikte daha yeniyim internetten buldum bu devreyide. Daha mantıklı devre önerilerinizi bekliyorum.

Motorları 2 role sağa sola süreceğim.

Neden PLC değil ? dediğim sistem için 60 çıkışlı ve 60 girişli plc gerektiği kanaatine vardım.(limit swichli sistem). Bu değerler ek modullerle 2 bin TL yi geçen bi sistem dokunmatik ekranla birlikte. Bundan dolayı oda mantıklı gelmedi.

(Kısa devre veya aşırı akımda yük akımı kesilir, kısa devre akımı artık yoktur devre tekrar kendini kurmadan önce akımın sıfıra yakın düşmesini bekler. ) bunu devre üzerindeki butonu iptal edip yerine transistörü picle tetikleyerek yapmayı düşünüyorum.

Malzemeleri aldım bugun. Bi deneme yapalım bakalım artık .Durumlardan sizi haberdar edeceğim :)

Çok teşekkürler.


   

asma

Alıntı yapılan: M82Robotik - 30 Eylül 2014, 19:17:38
Akım ölçmeyeceğim. Akım arttığı zaman motorun konuma geldiğini anlayıp  voltajı keseceğim. Ve akım devresini resetleyeceğim.

Sayın asma ,
akım limiti devresini 10arlı motorlara birer tane yapacağım. Yani her on motorun beslemesi aynı kaynaktan olacağı için akım limiti devresini bu beslemeye seri bağlamayı planlıyorum. neden ? Çünki limit swicth le beraber kablo metrajı artacağından  dolayı kablo maliyeti artacak. ve işçilik artacak.halbuki akım sınırlayıcı ile bunları tek biyerden kontrol etmek daha mantıklı geliyor.Her motor sağa ve sola ayrı ayrı kontrol edilecek.Dediğim gibi elektronikte daha yeniyim internetten buldum bu devreyide. Daha mantıklı devre önerilerinizi bekliyorum.

Motorları 2 role sağa sola süreceğim.

(Kısa devre veya aşırı akımda yük akımı kesilir, kısa devre akımı artık yoktur devre tekrar kendini kurmadan önce akımın sıfıra yakın düşmesini bekler. ) bunu devre üzerindeki butonu iptal edip yerine transistörü picle tetikleyerek yapmayı düşünüyorum.

Malzemeleri aldım bugun. Bi deneme yapalım bakalım artık .Durumlardan sizi haberdar edeceğim :)

Resimdeki devrede buton yok.  ::)  İki röle, bir SCR, iki kondansatör ve dirençler var

10 motoru aynı kaynaktan beslemenizde sakınca yok ama kaynak akımıyla motor hareketini algılamakla hareketin başladığı andan bitimine kadar başka motoru kullanamazsınız demek oluyor.  :P
Yani motorlar aynı anda çalışmayacak.
Kablo kesiti düşer, güç kaynağı küçülür, fiyat düşer...    kalite = müşteri memnuniyeti düşer.

Kapak açık ve kapalı konumları için birer limit sw. kullanımına yönelirsiniz diye umuyorum.
Takipteyim.


mustafa_cmbz

sistem sera havalandırma sistemine benziyor yanlışmıyım ?

M82Robotik

Buton tristörü resetlemek için işte :)

tristörü resetlemek için ters akım verdim . c106 Sizlere ömür. Devre normalde çalışmıyor. fakat bazı roleler üzerinde düzenlemelerle sağlıklı çalıştı.(Akım Limit)

evet maliyet azalıyor. Motorları teker teker çalıştırmak gerekiyor. Bu işide programsal halletmek zorundayım :) Picler arası seri iletişim kuracağım. Programın algoritması böyle düşünüyorum ?

Ana pic = Motor butonları bağlı.

Bi etikette Sürekli butonları kontrol ettireceğim. 

arka tarafta kesmede seri porttan bilgi gondereceğim bu verilere göre.

Role picleri= çıkışında motor lar bağlı.

kesmede gelen verileri okuyup gerekli değer atamaları yapılacak.

ana döngüde ise değerleri karşılaştırıp ona göre role cıkışı vermek için etikete gidecek.

etikette role high yapılacak. ve akım sınırlayıcıdan bilgi gelene kadar. dongu etiket içinde devam edecek.

akım sınırlayıcı ben motoru durdurdum deyince role low yapılacak. akım devresinde [ bi türlü bi ad bulamadım şu devreye :)] tristörü kesmek için 
ayrı bir role high yapılacak.

burdanda ana döngüye dönülecek. ve değerlere göre işlem sıradan devam edecek .

Sizce sağlıklımı ?

:) aman allahım çok işim var

M82Robotik

Evet sera havalandırma  sistemidir. Boyle bi sistemle uğraştıysanız bilgi verebilir misiniz ?

OG

Mevcut yapıda
Motorları 10 arlı bağlarsanız birisi fazla akım çektiğinde bunu sense edecek ve 10 u birden durdurulacak... Belki diğerleri haraketini bitirmedi, demi.

Motorda enkoder varmış problem yok, olmasaydı da ben akım sense yerine her motora bir limit switchi koymayı tercih ederdim.
Her motorada bir PIC devresi, RS485 li.
PIC, enkoder/ limitswitchlerden aldığı bilgiye göre stop yaptırır ve motorun o an ne yönde olduğu bilgisini elde etmiş olur.

Merkezden çıkan 4 telli hat, 2 si enerji 2 si data butun unitelere uzanır.
Merkez, kendisindeki güç kaynağının akım kapasitesi kadar motoru tek seferde sürer. Diyelim aynı anda 4 motor sürülebiliyor. O  4 motora ne yapacağını data hattından basar. Sonra 4 motora tek tek sorar, işi bitirdinizmi, tek tek cevap gelir, mesela bitirmedik, bir süre daha tanır birdaha sorar. Bu arada 1 tanesi bitirdi 3 ü bitirmedi ise 1 adetlik akım fazlalığımız doğdu, bir başka grubun 1 motoruna daha yürü komutu verir ki zaman kazansın.

Bunun gibi.

Enkoder yok Switch varsa bilgileri optodan gecirilir, PIC parazit kapmasın diye.

Aynı anda sürülecek motor sayısını düşürerek uzatılacak enerji hattının kablo kalınlığıda düşürülebilir. Gözün korkmasın zor sistem değil.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

M82Robotik

Takıldığım bi nokta var. SN65176B ile deneme boardunda 2 pici seri iletişim ile haberleştirdim. Elimde 2 adet güç kaynağı var. Picleri ayrı ayrı güçkaynağına bağladığımda haberleşme sağlanamıyor. Aynı güç kaynağında çalışıyor. Yani basit bi örnek verecek olursak. Güç kaynakları aynı ac voltaja bağlı. Motorun bi ucunu  a güçkaynağının artısına. 1 ucunu ise b güçkaynağının eksisine bağladığımızda çalışmıyor. Çözümü nedir ?

OG

Aynı güç kaynağı olma zorunluluğu yok.
(Data -) hattı kopuk olunca benzer durumlar görülebilir. Devreyi kontrol ediniz.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

M82Robotik

Sıkıntı güç kaynağındaymış.trafonun çıkışındaki köprü diyot tam doğrultamıyormuş. haberleşme için cat 5 kablo uygun mu ?

OG

Hızın düşük ise CAT kabloya gerek yok.

Dediğim gibi 4 tel ile hem enerji hem data gidebilir.
Bağlarken data ile enerji ters bağlanmamasına dikkat edilirse mesela 4x2,5 enerji kablosunu boydan boya cekersiniz hepsini taşır..
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

kimlenbu

Seri iletişim varsa piclerin ground'unun aynı olması gerekiyor.

mustafa_cmbz

Alıntı yapılan: M82Robotik - 01 Ekim 2014, 03:15:59
Evet sera havalandırma  sistemidir. Boyle bi sistemle uğraştıysanız bilgi verebilir misiniz ?

Şimdi hocam yapmaya çalıştığın şey muhtemel cam sera yada bitişik nizam seraların kapaklarının açıp kapatılması.

Bunu benim sana tavsiyem lineer motor ile yapman

http://www.direnc.net/24V-300mm-750N-Lineer-aktuator-dc-motor,PR-17880.html


Neden dersen mekanik olarak işin ucuzuna ve kontrol bakımından basitine kaçmak ileride sıkıntılara neden olabiliyor.Ve mümkün olduğu kadar hareketli mekanizmayı hazır almaya gayret et çünki kendi yaptığın mekanik hem sorun yaratacak hemde temini ve uygulaması hem zaman ve nakit kaybına yol açacaktır.

Ayrıca bu tarz bir motor kullanırsan içerisinde sonlandırma swıtch'i vs. herşeyi mevcut. sen sadece almadan önce bi sor yinede.Siwitchlerin motor içerisindeki aksamda olması daha güzel ve daha uzun ömürlü emin ol.Öyle kapaklara swtich falan zor iş..


Benim sana tavsiyem her motora bir tane minik kontrol kartı yapman ve bu her kontrol kartını rs485 ile birbirine bağlaman.Hepsine bir adres atarsın masterdan dersindi şu şu şu motor açıl diğerleri kalsın.

veyahutta 10 tane 10 tane bi karta girersin bu 10 lu gruba bir kontrol kartı yaparsın bu karta gelen data üzerinden istediğini sırası ile açtırıp kapattırırsın.

ikisininde artıları ve eksileri var tabi.