pcbway

16f877A devre sorunu ?

Başlatan ocs61, 29 Mayıs 2013, 13:46:08

ocs61

29 Mayıs 2013, 13:46:08 Son düzenlenme: 29 Mayıs 2013, 16:30:00 gevv
16f877A ile basit bi devre kurdum.. 20Mhz lik krstal ve 33p kondansatör ile frekansı ürettim.. sıkıntı şu enerji verince devre çalşmıyor.. cristalin gövdesine elleyince çalışıyor.. elimi krstalden çeknce gene çalşması duruyor.. bu neden kaynaklanıyor ?
Erdemlerimiz ve kusurlarımız birbirinden ayrılamaz, güç ve madde gibi. Onlar ayrıldığında insan bir hiçtir.
-Nikola Tesla-

mhoca

Pek fazla malzeme yok. Reset direnci (1.numaralı ayağa) Takılı mı?
Kapasiteleri değişmeyi dene. Son olarak kristali dene. İyi çalışmalar.

ocs61

hocam denedim.. işin tuhaf tarafı sapları plastikli yankeskinn ucunu değdirdim gene çalştı :S
Erdemlerimiz ve kusurlarımız birbirinden ayrılamaz, güç ve madde gibi. Onlar ayrıldığında insan bir hiçtir.
-Nikola Tesla-

pwm.c

29 Mayıs 2013, 15:07:42 #3 Son düzenlenme: 29 Mayıs 2013, 16:30:12 gevv
CONFIG ayarlarını doğru yapmamışın yada yükleyememişindir. osilatörü HS olarak değiştir.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

ocs61

hocam pbp da config nasıl yapılıyor bilmiyorum.. açıklayabilrmisin
Erdemlerimiz ve kusurlarımız birbirinden ayrılamaz, güç ve madde gibi. Onlar ayrıldığında insan bir hiçtir.
-Nikola Tesla-

ocs61

yalnız benm entegrem 16f877a I/P imiş.. biraz araştrdım 10mhz den yukarısında çalşmaz diyolar :S anlamadım 16f877a nın özelliği hızlı çalşması değilmi :S
Erdemlerimiz ve kusurlarımız birbirinden ayrılamaz, güç ve madde gibi. Onlar ayrıldığında insan bir hiçtir.
-Nikola Tesla-

pwm.c

29 Mayıs 2013, 21:24:02 #6 Son düzenlenme: 29 Mayıs 2013, 21:27:34 pwm.c
16F877A 20MHZ ile çalışır.
config ayarlarını ekte verdiğim programı kullanarak oluşturabilirsin yada şu kodları en yukarıya ekle.
@ Device PROTECT_OFF , CPD_OFF , WDT_OFF , HS_OSC , PWRT_OFF , BOD_OFF , WRT_OFF , LVP_OFF , DEBUG_OFF
birde DEFINE OSC 20 tanımlamasını yapmayı unutma yoksa program 4mhz olarak işlenir.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

Yusuf usta

OCS61 sizin sorununuz, entegrenin 1 numaralı ayağından artı 5 volta 10k atılarak çözülecek bir sorundur. genelde atmayı unutuyorlar sizin dediğiniz oluyor. başka sebebi yoksa...
Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.

ocs61

Alıntı yapılan: pwm.c - 29 Mayıs 2013, 21:24:0216F877A 20MHZ ile çalışır.
config ayarlarını ekte verdiğim programı kullanarak oluşturabilirsin yada şu kodları en yukarıya ekle.
@ Device PROTECT_OFF , CPD_OFF , WDT_OFF , HS_OSC , PWRT_OFF , BOD_OFF , WRT_OFF , LVP_OFF , DEBUG_OFF
birde DEFINE OSC 20 tanımlamasını yapmayı unutma yoksa program 4mhz olarak işlenir.

komtları programın en üstüne ekledim ama o satırda hata verdi.. :S

Alıntı yapılan: Yusuf usta - 30 Mayıs 2013, 01:52:28OCS61 sizin sorununuz, entegrenin 1 numaralı ayağından artı 5 volta 10k atılarak çözülecek bir sorundur. genelde atmayı unutuyorlar sizin dediğiniz oluyor. başka sebebi yoksa...

hocam dediğini zaten yaptım bu pıc benlen iyi dalga geçiyor :S
Erdemlerimiz ve kusurlarımız birbirinden ayrılamaz, güç ve madde gibi. Onlar ayrıldığında insan bir hiçtir.
-Nikola Tesla-

pwm.c

PIC config ayarları yapılmadığı zaman bazen osilatör default olarak RC ayarında kalıyor. bu durumda kristalin bağlandığı pinlere dokununca vücudumuzdaki parazit gürültülerini osilasyon sinyali olarak alıyor ve çalışmaya başlıyor. tahmini olarak durum böyle olmalı.

64 bit Windows kullananlar PBP için MPASM kullanmak zorunda kalıyor. bu durumda da config ayarlarını ekleyince hata mesajı alıyorlar.
eğer işletim sistemin 64 bit değilse MPASM yi kapat. yok eğer 64 bit kullanıyorsan yada MPASM açmaya mecbur kaldıysan ozaman PBP klasöründe yer alan ***.INC dosyasındaki sigorta ayarının başına ; koyarak kapatmak gerekiyor.
olmassa PBP dan vazgeç gitsin. PROTON diye bişey var. komutların çoğu bir birine çok benzediği için zorluk yaşamassın ve 64 bit windosta sorunsuz çalışıyor. birde CCS dururken neden PBP ya döndün onuda anlamadım.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

skf1883

merhabalar konuyu tekrar canlandırma gibi görünsede maksat bu konuda takılan arkadaşlara yardımcı olabilmektir...
Forumlarda bir çok kullanıcının 20 mhz (picden yüksek performans saglama adına başka değerlerde olabilir...) ile denemelerinde bu sıkıntıyla karşılaştıgını gördum .bu maksatla sizlere yardımcı olabilmek adına çözüm adımlarını aşagıda sıralıyorum.
notlar:
-microcode studio plus kullandıgınızı var sayıyorum
-visualbasic dili kullangınızı varsayıyorum ki genellikle sıkıntı bu dilin kullanımından kaynaklanmaktadır.bir an önce asm diline geçmenizi şiddetle tavsiye ederım
 çözüm:
1-c://php klasöründe bulunan 16f877a.inc dosyasını editör ile açıyoruz
2-acdıgımız dosyayı aşagıdaki kod ile değitirip kaydedip kapatiyoruz.

NOLIST
ifdef PM_USED
LIST
include 'M16F87xA.INC' ; PM header
device pic16F877A, HS_osc, wdt_OFF, lvp_off, protect_ON , CP_ON
XALL
NOLIST
else
LIST
LIST p = 16F877A, r = dec, w = -302
INCLUDE "P16F877A.INC" ; MPASM Header
__config _HS_OSC & _WDT_OFF & _LVP_OFF & _CP_OFF
NOLIST
endif
LIST



3-microcode de yazdıgımız kodu herhangibi değişiklik yapmadan yani örnegin internet tarayıcımızı f5 ile refresh yapar gibi tekrardan f9 basıp config ayarlarının y güncellemesini saglıyoruz ve ardından programı pic e atıp çalışmasını seyrediyoruz...

yorum:
visual ile yazılmiş kodları  editör programı asm diline cevirmektedir . bu çevirme sırasında bazı config ayarları işlenmesinde proplem yaşatmaktadır .bundan dolayı asm dilinin ögrenilmesinde yani direkt olarak asm ile kodların yazılması bunun gibi basit hatalaların önüne geçeçektir....

umarım probleminiz çözülmüştür...

mak.müh seyfi şimşek



Flatron

20 Ekim 2014, 13:51:32 #11 Son düzenlenme: 20 Ekim 2014, 14:06:02 Flatron
Üniversitede okurken neden hiç kullanmayacağımız bilgileri anlatırlar, öğretirler diye hayıflanırdım.Sebebi bu tür konuları anlamak içinmiş.Yani olayın temelini anlatıyorlar ki olayın bilimsel sebebi bilinsin.

Muhtemelen bu konulara hevesinizden dolayı ilgileniyorsunuz.Ancak bazı şeyleri karıştırıyorsunuz.Öncelikle Assembler ile Visual basic arasında dağlar kadar fark vardır.Visual basic in kaynak kodunun BAS uzantılı olması onun Pic Basic Pro da yazıldığı anlamına gelmiyor.Tabiri caizse  Assember bir traktöre benzer onunda tarla sürebilirsiniz.Bir çiftçinin pek çok işine yarar. Visual basic ise bir taksi gibidir aralarında çok büyük farklar vardır.Evet her ikiside sizi alıp götürür ama traktörle taksicilik yapamazsınız.
Ayrıca  "Forumlarda bir çok kullanıcının 20 mhz (picden yüksek performans saglama adına başka değerlerde olabilir...) ..."cümlenizde bilimsel değil ve konuyu tam anlamadığınız ortada.Zira bu cümle bir motor tamircisinin " GM nin .....model motorunun performansını artırmak için yapılması gerekenler " gibi bir cümle kadar mantıksız ve saçmadır.
Bir MCU (veya bir dizel Motor yada trafo ) onu imal eden onlarca,binlerce kişinin bilimsel çabaları ,emeği ile önünüze gelmiştir.
Onu optimum kullanmak tasarlayanın kabiliyetine kalmıştır.Siz hangi görev/görevler  için kullanacaksanız mühendisler o özellikler için o MCU da o özellikleri aktif eden pinleri, registerları,ve chipin içinde logic devreleri hesaplamış ve yapmışlardır.Size kalan bu "setup" ları ve dilin "Jargonunu" öğrenmektir.Bu ise okullarda 2 sömestr ile öğrenilen konular değildir.

furkanbuyuksutcu

mcrl nin pull up direncini unutmus ola bilirmisin benim de basıma gelmişti mcrl ye baglanacak direnci unutmusum sonradan ogrenmiştim

skf1883

maksat eleştirmekse,özel mesajdan eleştiriler gönderilir ,yazı tekrar kontrol edilir varsa eksik veya hatalı bilgi düzeltilerek tekrardan yayınlanır.amaç bu yazıları okuyan kişilere dogru yön gösterebilmektir , yanlış bilgi vermek değil.laf kalabalıgıda yapmak değildir...
egerki maksat gösteriş ve vaya ego yu tatmin etmekse :), konunun problemine çözüm üretmekten çok gereksiz noktasal değinmeler içermesidir...

2. husus, yazının ana konusu probleme çözüm üretebilmek amacıyla yazılmış olmasıdır. ve sizin bu konuda yani çözüme yönelik bir herhangibi adim attıgınızı  göremedim.varsa bi cözüm yolunuz  lütfen paylaşınız ki hem ben bilgilerime bilgi katayım hemde sorunlara çözüm üretebilelim.

iyi çalışmalar ;...


Flatron

Dediklerine itiraz edince millet kızıyor.
Buradan yayınlıyorum zira bu günlerde her söylediği "Bilimsel" miş gibİ tavırlar takınan bir sürü adam var.
Daha bu kısımları öğrenmeden bilgiçlik taslıyorlar.Diğerleri de buradan ne demek istediğimi anlasın istiyorum.Zaten cevaplarım o souyu soaran aşmışlar için değil onlar aştıklarını sandıkları için diğer öğrenmek isteyenlerr birşeyler öğrenir diye .
Şimdi sor bu konuyla ilgili ne öğrenmek istiyorsan

Ama bana "PIC ile şu dili kullanarak şunu yapmak istiyorum"
Kod bu
Devrem şu fotoğraf/fotoğraflar 
Şurada ..... hatası veriyor
Nasıl düzelteceğim de
Buyur bekliyorum.

pwm.c

@skf1883
İmzanızda makine müh. olduğunuz yazıyor. sanırım elektronikle ilgili bazı konulara yabancısınız. öncelikle, bende eski ASM'cilerden biriyim ve zamanında en iyi savunucularındandım ama... şimdi durum değişti. eskiden her yere 16f84 kullanırdık. 1kb hafızaya bişeyler sığdırmak için ASM ile cambazlıklar yapıyorduk. günümüzde artık böyle kapasitesi yetersiz PIC modelleri tercih edilmiyor. hatta 16 ve 32 bitler havada uşuşuyor. 8kb'dan daha büyük bir hafızayı ASM ile doldurmak ve yüzlerce registere tek tek ayar vermek basit bir proje için aylarımızı alıyor. bu büyük zaman kaybı. artık günümüzde yüksek seviyeli derleyiciler çok iyileşmiş durumda ve kaynak bol bulunuyor.
PBP ise 3 versiyonunu çoktan çıkarmıştı ve 64bit windows uyumlu. sadece config ayarları farklı yazılıyor. şunu da belirteyim ki PBP demode oldu. günümüzde ileri seviyedeki kullnıcılara yetersiz geliyor. PROTON derleyicisi bundan kat kat üstün ama derleyici hataları nedeniyle bazen sıkıntılı oluyor.
C derleyicileri ise en global olanları ve her alana hitap ediyor ancak aralarında tercih yapmak çok zor bir durum. biri var ASM gibi, biri var basic gibi. C kullanıp ASM gibi yazdıktan sonra o C nin ne anlamı olur? o nedenle basic diline benzeyen CCS ve MikroC derleyicilerini öneriyoruz.
Bütün bunlara rağmen elbette ASM en üstünü. bikere versiyon uyuşmazlığı diye bişey yok. aynı kodları 20 sene sonra derlesende aynı hex çıkar. diğer C ve basic derleyicilerinde versiyondan versiyona farklılık gösterir. eski versiyonda derleyip oluşturduğun hex senin devrede sorunsuz çalışırken bir sonraki versiyonda derlediğinde düzgün çalışmamayabilir.
kendimiz ASM'ci olabiliriz ama artık çevremizde kullanan kalmadı malesef. çevreye uyumlu olmalıyız değil mi?

@Flatron
Abi, okullarda öğretilen gereksiz bilgilerin yararı şehir efsanesi... örneğin, siz PIC programlama öğrenmek için okullarda öğretilen o bilgilerimi kullandınız yoksa birilerinden yardım mı aldınız?
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

Flatron

@pwm.c
Hocam ben 2000 yıllarında kendi çabalarımla  öğrenmiştim.O zamanlar Erol beyin(ETE) dersleride yoktu.Pic Basic Pro dan sonra Proton a geçtim şu anda Arduino ile uğraşıyorum.1 Ayda arduinoda geldiğim yere, pic basic ile 1 yıl uğraşmam gerekirdi.

Yukarıda kasdettiğimde elektroniğin temelleri konusu "Transistör nasıl amplifie yapar"  gibi konulardı.Zira bunu bilmezse biri .Bir süre sonra amplifikatörde free enerji kaynağıdır diyebilir.

Selamlar...

skf1883

büyüklerimiz tabiriyle fazla dedikodu yapmaya gerek yok :))...
neyse fazla dallandırmadan budaklandırman bu konuyu kapatalım kimseye yararı yok .
teklifiniz içinde ayrıca teşekkür ederim ,zira otomasyon firmasının sahibiyim yardımcı olacagınız noktada yeterli bilgiye sahip çalışanlarımız mevcuttur.
iyi çalışmalar .kolay gelsin   
[mergedate]1413891079[/mergedate]
@pwm.c
bilgiler için teşekkürler 
 haklısın  dostum .zaten bizim makinalararımızda kullandıgımız  sistem plc dir. yani pic ler 16f...  felanla filanla ugraşacak zaman yok .yaptıgımız işide kadırmaz.yaptıgım yorumda da yeni başlamış sanıyorum arkadaş benim de zamanında takildıgım konulardan di ve bu problemi bu şekilde aşmiştim.niyetimiz yardımcı olmaktı


Flatron

Alıntı yapılan: skf1883 - 21 Ekim 2014, 14:43:21büyüklerimiz tabiriyle fazla dedikodu yapmaya gerek yok :))...
neyse fazla dallandırmadan budaklandırman bu konuyu kapatalım kimseye yararı yok .
teklifiniz içinde ayrıca teşekkür ederim ,zira otomasyon firmasının sahibiyim yardımcı olacagınız noktada yeterli bilgiye sahip çalışanlarımız mevcuttur.
iyi çalışmalar .kolay gelsin   
[mergedate]1413891079[/mergedate]
Sizin otomasyon firması sahibi olmanız önemli değil.Benim yıllar önce çalıştığım firmada 350 kişi çalışıyordu patronu ise  konuşmayı bile doğru dürüst bilmezdi.Ama yanında çalışanların 35-40 tanesi mühendisti.Ama kendisi ortaokul terk biriydi.1990 yıllarında mikron seviyesinde kazıma yapan CNC lerin yanından geçerken onlara üflerdi tozdan bozulmasınlar diye.Makinalardan o  derece anlardı yani.
Tesla da geçimini bile sağlayamadı.Bunlar farklı konular