Endüstriyel kullanımda PIC?

Başlatan zakbay, 06 Mayıs 2012, 08:42:33

Okan AKÇA

on-off mantıgı dışında çalışan invertör devrelerini 18f serisi işlemcilerle  gercekleştirdim.Kaldıki on off  işleri  sıcaklık basınc ıvız zıvır  16f serisinle sorunsuz yapılmaktadır.
yıllık 2000 adet 18f serisi işlemcili modül satmaktayız. teknik egitim almadıysan bütün işlemciler sapıtır.

akrazi

vay be ne tepki almışım. sevindim.  :)

Alıntı yapılan: camby - 21 Mayıs 2013, 19:49:08
Bir ASM'ci olarak söyleyebilirim ki C ile yazılan programlar kararsız, ASM ile yazılanlar kararlı çalışır gibi bir genelleme yapamayız.

Devrenin stabil çalışması donanımsal tasarıma bağlı bu da hepimizin kabulu zaten.

Kararsız C programları tamamen yazılımcının, donanıma ve C'ye hakim olamamasının sonucudur diyebiliriz.
c kütüphaneleri benim yazdığım kütüphaneler değil. asm ile baştan kendi kütüphanemi yapmak zorunda bıraktı.
4 k bellekle ne işler yapılır , sadece c ile program yazan kişi bunu hayal bile edemez.
gepa elektronik cihazlarının hemen hepsinde pic kullanılıyor. cihazlarının hemen hepsi asm ile yazılmış programlar. (programlarını inceledim, nasıl yazıldığını biliyorum)
kapsamlı bir programı dallanmaları nı hesaba katarsanız ileri derecede programlar yazarsanız kapasitesini bile yetiremezsiniz (denenmiştir.) 16 bit bölme ve çarpma işlemini c ve asm ile karşılaştırmanızı tavsiye ederim.  tabiki 16 bit bölme işlemini asm ile kendiniz yazabiliyorsanız.
c nin tabiki güzel yerleri var. özellikle amatörler için çok güzel yönleri var. ama profesyönel anlamda program yazıyorsanız asmden şaşmayın derim (benim kendi düşüncem, farklı düşünceye sahip bazı kişilerin fikirlerini değiştiremem. saygı duyarım.)

Alıntı yapılan: digiman - 21 Mayıs 2013, 20:37:04
Sen sağdan soldan eklenmiş kütüphanelerle kod yazarsan library nin ne yaptığını bilmezsen hatayı kocskoca C ye bulursan kusura bakma adama gülerler :)
c kütüphanesini oluşturacaksam neden c kütüphanesi oluşturayım ki? kütüphaneleri asm ile oluştururum şimdiki yaptığım gibi. gülen olursada kendi bilir. ben olsam bilgisinin derecesini bilmediğim birine gülmezdim.
brush less motoru sensorless olarak döndürmeye çalışırsanız c ile 4mhz kristal ile döndüremezsiniz. yüksek frekans ile bu işi yaparsanız  1 kod yerine başkasının yazdığı en az 3 kod yazacağı içinde isteğiniz dışında davranmasıda muhtemel olur. (bahsettiğim motorun frekansını bilen bilir.)

Alıntı yapılan: digiman - 21 Mayıs 2013, 20:37:04
tutupta win 8'in her tarafını Asm ile yazmaya kalkarsan sen win 8'i çıkarana kadar elin oğlu win 38 'i yazar satar sende ağzın açık bakar kalırsın
belirtmek isterim c ile işletim sistemi yazarsan ellerinden öperim. (win8 gibisini boşver msdos gibi bir program bile fikrimi değiştirmez.) işletim sistemini geçtim çekirdek yazsan o bile yeter. sonuçta linux çekirdeğinin üzerine çok güzel şeyler yapıldı...
(endüstriyel anlamda kullanmıyorsan)eğer programladığın hex dosyası pic e yetiyor ise ve hızın benim için önemi yok diyorsan, bir kaç butonu okutup 4x16 display da göstermekse amacın tabiki istediğin ile yazarsın.sonuçta kullandığın bilgisayar çöktüğü zaman tekrar kurup sıfırdan işleme başlarsın. ama tasarladığın bazı cihazlarda çökme olursa büyük zararlar getirirse ne yaparsın bilmiyorum. (medikal cihazlar gibi, örneğin saçma olduğu bazı kişiler tarafından savunulsada, emk nın yoğun olduğu baraj kontrol üniteleri gibi)

şu anda win7 asm ile baştan yazılmış olsaydı deli işlem gücü olan bilgisayarlarda (şu andaki piyasaki en yavaş bilgisayar) zerre kadar kasılma olmazdı. Benim düşünceme göre ticari bir durum. win8 eğer asm ile baştan yazılmış olsaydı multimedyaları ile bilgisayarda 500 mb yer kaplamazdı.
birbirinin üzerine bindirilmiş bir işletim sistemiyle şimdiki en hızlı bilgisayarın 100 katı hızlı makine bile olsa yinede kasılmaya devam edecektir. yoksa bilgisayar üreticileri nasıl satacaklar imal ettikleri bilgisayarları.Bu benim düşüncem tabiki. zamanında 10 mb hd ile çalışırken şimdi en düşük hd 320 gb. konumuz bu olmasada açıklama gereği duydum.
konuyu şuna bağlayacağım. geniş bir program yazıyorsanız c ile pic kullanımında +ram ihtiyacınız olursa kararlı çalışmaz.


Alıntı yapılan: digiman - 21 Mayıs 2013, 20:37:04
keban filan, adam belki koskoca barajın kapak açıp kapatma işini yaptırıyordur pic'e örnek midir yani bu.
konu içerisinde geçti. emk meselesi. sizce en çok emk nerede vardır? 

Alıntı yapılan: tyildizak - 21 Mayıs 2013, 21:18:03
Ben de tam tersi, sadece asm ile kodlamanın hata yapmaya daha müsait olduğunu düşünüyorum.
kusursuz kütüphaneler oluşturduktan sonra neden hata olsun ki?

Alıntı yapılan: Allegro - 21 Mayıs 2013, 22:37:49
Durun tahmin edeyim,
Siz "C" bilmiyorsunuz ?


Cevabınız ?
Not: Bilmemeye hiçbirşey diyemem, Hayatın şartları vs... Ama hem bilmeyip, hem de bilirkişilik yapmak aynı potada erimiyor...
c ile çalıştım beklentilerimi karşılamadı. daha önceki konularda açıkladıklarım tercih sebeplerim.
benim fikirlerim bunlar. saygısızlık raddesine gelmemesini temenni ediyorum. Burada fikirlerini paylaşanlara bilirkişilik yaptı deniyorsa onuda bilemem. Asm bilmek (bir butonu okuyup, bir ledi yakmaksa, lcd ye iki üç data göndermekse karmaşık işleri asm bilerek c de yazmak mantıklı tabiki)

Sonuçta benimle aynı düşünceye sahip olan insanların notlarıda var.
Herkesin fikirlerine saygı duyarım.

Benim tarafımdan Sonuç: C ile güzel şeyler yapılabilir. zaman kazancı bakımından çok iyi. profesyonel anlamda asm derim. (endüstriyel kullanım alanları olarak pic in sorunsuz kullanıldığı alanları burada saymakla bitiremem.)


f15eagle

Tüyapda Printtek 2013 fuarı var, meraktan gittim. Çok güzel baskı, kutu yapma gibi matbaacılıkla ilgili makineler vardı.

Bir makine yürürken gözüme çarptı. Kapağını açmışlar pcb gözüküyor 40 pin dip kılıf entegre kartta ortada. İçimden dedim ahaa pic :) Baktım gerçektende 18f serisi pic vardı. Galiba 18f452 idi. Devre çok kanallı motor sürücü gibiydi tam eğilip inceliyordum görevlilerden biri bir bakış attı vazgeçtim incelemekten :)

CoşkuN

Alıntı yapılan: akrazi - 22 Mayıs 2013, 13:53:26
şu anda win7 asm ile baştan yazılmış olsaydı deli işlem gücü olan bilgisayarlarda (şu andaki piyasaki en yavaş bilgisayar) zerre kadar kasılma olmazdı. Benim düşünceme göre ticari bir durum. win8 eğer asm ile baştan yazılmış olsaydı multimedyaları ile bilgisayarda 500 mb yer kaplamazdı.
birbirinin üzerine bindirilmiş bir işletim sistemiyle şimdiki en hızlı bilgisayarın 100 katı hızlı makine bile olsa yinede kasılmaya devam edecektir. yoksa bilgisayar üreticileri nasıl satacaklar imal ettikleri bilgisayarları.Bu benim düşüncem tabiki. zamanında 10 mb hd ile çalışırken şimdi en düşük hd 320 gb. konumuz bu olmasada açıklama gereği duydum.
konuyu şuna bağlayacağım. geniş bir program yazıyorsanız c ile pic kullanımında +ram ihtiyacınız olursa kararlı çalışmaz.

Windows7 assembly ile yazılsaydı kaç senede biterdi acaba?
Bu durumda assembly dışında üretilmiş dillere hiç gerek yoktu, herşey assembly ile yazılabilirdi diyorsunuz yanlış mı anlıyorum?

Okan AKÇA

gereksik tartışmalara girmeye gerek yok arkadaşımız asm ile yazmaya devam etsin tercih meselesi  ancak en kısa zamanda C ögrenmesini yeglerim.
millet aya gidiyor biz yaya..... :D

camby

Alıntı Yapc nin tabiki güzel yerleri var. özellikle amatörler için çok güzel yönleri var.

: )


Yazdıklarımıza tepki değil de tavsiye diyelim.. Bana burada çok yazdılar ' gel kardeş ASM ile uğraşma , C böyle ASM şöyle ' diye , daha doğrusu ustalar tecrübelerini paylaştılar , ben dinledim mi , tabi ki hayır. Oturdum TFT , MODBUS , 1-Wire gibi driverları tek tek kendim ASM ile yazdım. Şu an TR'nin diğer ucunda -35 + 50 derecede 1 yıldır çalışıyorlar..

ASM çok şey katıyor evet ama avantaj ve dezavantajları var. Dezavantajları çoğu durumda C'yi tercih etmeye neden oluyor benim için. Bir de PIC18 kullanmıyorum artık tabi.


Diğer başlıkta bir arkadaş yeni bir şey paylaşmış , https://www.picproje.org/index.php/topic,46998.msg349307/topicseen.html#msg349307 .

Eğer microchip bu ARM trenine yetişemezse bu PIC ASM bilgilerimiz birer hatıra olarak kalacak..

akrazi

Alıntı yapılan: CoşkuN - 22 Mayıs 2013, 16:12:09
Windows7 assembly ile yazılsaydı kaç senede biterdi acaba?
Bu durumda assembly dışında üretilmiş dillere hiç gerek yoktu, herşey assembly ile yazılabilirdi diyorsunuz yanlış mı anlıyorum?
hayır, başka dillere gerek yoktu gibi bir düşüncem yok. özellikle bilgisayar programları için. Ama insanlar c dili için olsun diğer diller olsun, (pic ve bilgisayar, neye program yaptı ise) kapasiteyi çok bilinçsiz kullanmakta.
her program kütüphanesinin kendine has kolaylıkları var. bit bit şekillendirilecek bir programlama dili.
bilgisayar programları gibi çok yüksek hesap yapan programlarda bile kapasitenin göz önünde bulundurularak program yapılmalı.
( bu soru konu ile alakalı olmasada düşüncemi belirtmek istedim.)
pic te özellikle kapsamlı programlarda, bir bit in değişmesiyle nelerin değişeceğini, sanıyorum bu konuda notları okuyan herkes bilir.

tartışılması gereken konu; pic programlama yaptığımızda sizin istediğiniz şey dışında (emk gibi) tepki veriyormu?

Ben kullandığımı ve gözlemlediğimi söylüyorum. Asm ile yazdığım hiç bir programda isteğim dışında çalışmadı. (kendi yaptığım yanlışlar hariç, zaten onlarıda ben yanlış yazdım.) ama c ile yazdığım programların çoğunda isteğim dışında davranmıştır. (hız gerektiren, sorunsuz çalışması gereken programlarda)
bir cihaz tasarlıyorsanız eğer, o tasarladığınız cihazın hatasının başka kişilerin canına mal olacağını göz önünde bulundurmak gerekir.

Alıntı yapılan: cyclone - 22 Mayıs 2013, 16:50:30
gereksik tartışmalara girmeye gerek yok arkadaşımız asm ile yazmaya devam etsin tercih meselesi  ancak en kısa zamanda C ögrenmesini yeglerim.
millet aya gidiyor biz yaya..... :D
cevabımı verdim sanıyorum. Ne yazdığınıza bağlı. sonuçta fikirler değişir.  ;)
Milletin aya gidip bizim yaya gittimiz konusunda hem fikir değilim açıkçası..

Alıntı yapılan: camby - 22 Mayıs 2013, 17:01:09
ASM çok şey katıyor evet ama avantaj ve dezavantajları var. Dezavantajları çoğu durumda C'yi tercih etmeye neden oluyor benim için. Bir de PIC18 kullanmıyorum artık tabi.

Eğer microchip bu ARM trenine yetişemezse bu PIC ASM bilgilerimiz birer hatıra olarak kalacak..
Katılıyorum..

Okan AKÇA

C kodu :
if(timeoff>0) timeoff++; else timeoff=0;

asm kodu :
004CC:  MOVF   x66,F
004CE:  BNZ   04D4
004D0:  MOVF   x67,F
004D2:  BZ    04DC
004D4:  INCF   x66,F
004D6:  BTFSC  FD8.2
004D8:  INCF   x67,F
004DA:  BRA    04E0
004DC:  CLRF   x67
004DE:  CLRF   x66

tyildizak

Alıntı yapılan: akrazi - 22 Mayıs 2013, 13:53:26

kusursuz kütüphaneler oluşturduktan sonra neden hata olsun ki?


Değerli dostum, kusursuz diye birşey yoktur.
Öne sürdüğün argümanlarına verilecek çok cevap var ama bu yaştan sonra ciddi angarya geliyor :)

Başarılar dilerim.

AsHeS

Alıntı yapılan: akrazi - 22 Mayıs 2013, 13:53:26

c kütüphanesini oluşturacaksam neden c kütüphanesi oluşturayım ki? kütüphaneleri asm ile oluştururum şimdiki yaptığım gibi. gülen olursada kendi bilir. ben olsam bilgisinin derecesini bilmediğim birine gülmezdim.
brush less motoru sensorless olarak döndürmeye çalışırsanız c ile 4mhz kristal ile döndüremezsiniz. yüksek frekans ile bu işi yaparsanız  1 kod yerine başkasının yazdığı en az 3 kod yazacağı içinde isteğiniz dışında davranmasıda muhtemel olur. (bahsettiğim motorun frekansını bilen bilir.)
Kod belleğiniz, ram veya hızınız iş için yetmiyorsa yanlış mikrodenetleyici kullanıyorsunuz demektir. Kütüphaneyi asm ile oluşturma hadisesi duruma göre değişir eğer hiçbir zaman mikrodenetleyici değiştirme durumu yoksa bir problem yok kütüphanede oluşturulabilir asm de de kalınabilir.
Ama günün birinde maliyet çok geldiğinde misal 16f877a dan STM8'e göç edilmeye karar verildiğinde önceki yazdığınız herşeyi çöpe atıcaksınız ve bir o kadar daha süre harcayarak bölme, çarpma ve diğer kullandığınız rutinleri sıfırdan yazmak zorunda kalacaksınız. Tabi bunlar göç durumu için düşündüğüm şeyler önümüzde ki senelerde aynı mcu yu kullanarak tasarım yapacaksanız çok da dikkate değecek şeyler değil.

CoşkuN

Şu brushless motor örneği verilmiş de, bu işleri hep yazılımsal olarak mı yapıyorsunuz orayı anlamadım? Donanım birimleri, kesmeler felan var. İnternette birçok ESC örneği bulunabilir, çoğu da C'de yazılmıştır. C'de yazılan kod yavaş olur muhabbetleri 80'lerde 90'larda bitti diye biliyordum.

Murat Mert

#281
Alıntı yapılan: influx - 21 Mayıs 2013, 23:14:26
Nerde kullanıyosunuzda bozuluyor yahu? Ben 7 senedir otomasyon sektöründeyim, dünyanın işini devreye aldım henüz karşılaşmadım
kendi tasarladığınız cihazlarmı bunlar?

Muhabbetine diyor. Kendisi hep pic kullanıyor yan yattı takla attı diyenlere  :D  :D  :D

mesaj birleştirme:: 23 Mayıs 2013, 07:43:10

Pic olayı futbol takımı olayı gibi. Bu sevda ve bu kavga hiç bitmez.
mert07

Okan AKÇA

pic ozellikle 8 bit dünyada popüler  işlemci  8 bitte atmelle yarışır düzeyde ancak atmel  yeni cıkardıgı bir kac ürünle bir kac adım önde  (proje boyutuna bağlı) dünya var oldukca 8 bit işlemciler üretilecek  8051 ile halen ürün geliştirenler var. kücük kontrol kartlarında 8 bitler ideal. şahşen ben plc filanda yapmayı düşünmüyorum. daha ucuza var cünkü

Yuunus

"akrazi" amacım fikrinizi değiştirmek değil ancak sen"...başarılı olamayanlar kesinlikle c tabanlı program ile başarılı olamamışlardır." dersen tepkilere de hazır olacaksın, elbetteki isteyen istediği dili kullanır kim ne karışır...5-6 yıl önce arkadaşım uzunca bir kod yazmıştı asm ile sonra müşteri 6 ay sonra birkaç değişiklik isteyince, nerede ne yaptığını hatırlaması 1 haftasını almıştı. haa bu demek değilki ASM kötü; hayır ama saçları dökmeye de gerek yok be...birde  "özellikle amatörler için çok güzel yönleri var. " bu sözlerine de C bilmediğini varsayarak cevap vermiyorum, biz her zaman gerekeni gerektiği yerde kullandık başarısız da olmadık ! gerektiğinde bitlerle de çalıştık "Register" larla da çalıştık nerden kapıldın bu başarısız olurlar kanaatine onuda açıklamadın hala :o...  sana ASM ile başarılar dilerim.

Murat Mert

S.A.
Sn. Arkadaşlarım  C, Basic, Asm tartışması yerine piclerle daha iyi kartlar nasıl yapılır, nasıl başarılı olunur eksikler nerelerde var bunları tartışalım. Kolay gelsin.  ;D  ;D  ;D
mert07