Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Kod Paylaşım ve Soru Cevap Alanı kategorisi içerisindeki Microchip Pic Serisi forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "picle ileri geri motor kontrolü" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!
arkadaşlar 16f84 ile AC motor kontol etmek istiyorum. örneğin A0 pini lojik 1 ise
portb=%00111000 olsun
eğer A0 pini lojik 0 ise ;
portb=%00000111 olsun
istiyorum. bunu yaptım ama ben A0 değiştiği zaman B portunu lojik 0 yapıp 1 saniye beklemesini ondan sonra yukarıdaki durum değişikliğini yapmasını istiyorum. fakat bunun mantığını bir türlü kuramadım. yardımcı olursanız sevinirim herkese kolay gelsin . . .
Sorunu cevabı şöyle olabilir
basla:
if PortA.0=1 then
pause 100
if degistir=0 THEN
degistir=1 ' degistir VAR bit cinsinden bir değişken olmalı
portb=0
pause 1000
portb=%00111000
goto basla
endif
endif
if degistir=1 then ' burada PORTA.0=0 olmuş olacak ve şayet PORTA.0=1 olduktan sonra buraya gelinmiş ise
degistir=0
portb=0
pause 1000
portb=%00000111
endif
goto basla
end
Hepsi bu kadar. Umarım istediğin gibi olmuştur.
Burada degistir isimli bir bit bazında değişken kullandık. Sebebi. PortA.0 bir kere HIGH olursa ve tuşu bırakmadan tekrar HIGH da kalırsa aynı işi tekrar yapmasın program diye koydum.
Birkere PortA.0 HIGH oldumu program , PortB yi sıfırlayacak 1 sn bekleyecek ve sonra PORTB=%00111000 komutunu icra edecektir. Bu komutdan sonra portA.0 LOW oluncaya kadar tekrar aynı komut dizisi icra edilmeyecektir. Aynı husus PORTA.0 pininin LOW olması içinde geçerlidir.
ETE
Başa dön
ete kardeş gönderdiğin kodlarda şöyle bi sıkıntım oldu. ilk kez portA değişTiğinde düzgün çalışyor ama 2. kez portA değiştiğinde flip-flop gibi sürekli portB durum değiştiriyordu. ben biraz uğraştım şu şekilde değiştirdim senin programını ve yapmak istediğimin büyük kısmını yardımların sayesinde yaptım. ama şimdi burda da ilk anda portA lojik 1 ise hemen algılayamıyorum bunu. yani belli bir gecikme oluyo.gecikmeden ziyade sanki portA lojik 0 gibi algılanıp, portB o şekilde çıkış veriyo başlangıçta. ama kısa bir süre sonra portA nın lojik 1 olduğunu algılıyo. bu konuda ne yapabilirim acaba?bir de ilk açılışta PORTB.7 de lojik 1 oluyo çok ilginç anlayamadım bi türlü. teşekkür ederim kolay gelsin . . .
GÜRKAN ÇELİK
TRISA=%11111
TRISB=%00000000
degisim var bit
basla:
if PortA.2=1 then
portb=0
pause 100
if degisim=0 THEN
degisim=1
portb=0
pause 1000
portb=%00111000
goto basla
endif
endif
IF PORTA.2=0 THEN
portb=0
PAUSE 100
if degisim=1 then
degisim=0
portb=0
pause 1000
portb=%00000111
goto basla
endif
ENDIF
goto basla
end
Başa dön
Birde aşağıdaki kodu dene. Aslında kod doğru çalışıyor ancak PortB ye değer verildikten sonra bir pause koymadığımız için anında portB sıfırlanıyor.
ETE
portA=0
Portb=0
TRISA=%00011111
TRISB=%00000000
degistir var bit
BASLA:
if PortA.0=1 then
pause 100
if degistir=0 THEN
degistir=1 ' degistir VAR bit cinsinden bir değişken olmalı
portb=0
pause 1000
portb=%00111000
pause 500
goto basla
endif
endif
if degistir=1 then ' burada PORTA.0=0 olmuş olacak ve şayet PORTA.0=1 olduktan sonra buraya gelinmiş ise
degistir=0
portb=0
pause 1000
portb=%00000111
pause 500
endif
goto basla
end
Başa dön
picle ileri geri motor kontrolü
Benzer Konular
- Motor Design and Power Electronics
- Asenkron motor faz akımları dengesiz - fikirleriniz
- Sürekli Mıknatıslı Senkron Motor arıyorum!!!
- akıllı ev aletlerinin mikrodenetleyiciler ile kontrolü - megep
- İnternet Üzerinden Pozisyon Kontrolü (Bitirme Projesi) Mustafa Kaan Tamgüney
- Asenkron motor sorusu
- c# ile paralel port kontrolü
- encoderla dc motor hız kontrolü
- Permanent Magnet Motor Technology
- Picle ilgili çaylak soruları...
Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden
puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar için iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.