3 Mart 2023 Cuma

FELEZJOO Pİ METAL DEDEKTÖRÜ - YENİ TASARIM PCB



 Merhabalar...

Bilenleriniz vardır iran yapımı olduğunu bildiğimiz felezjoo pi metal dedektörü için kutulaması bakımından kolaylık olmasını ve çalışması bakımından çevre faktörlerden olabildiğince etkilenmeyecek şekilde bir tasarım yapmak istedim..

Neden uğraştın kardeşim zaten çeşit çeşit pcb var klasik dediklerinde tecrübelerime dayalı şunu söylerim.Daha önce epe yapıp satıyordum ekranı kablo ile taşımak butonları kablo ile taşımak gerek idi.Fakat bazı meraklı ama elinden iş gelmeyen amatör arkadaşlar benden kart kit alıp sonra çalışmadı bu dediklerinde istediğim resimler neticesinde büyük rezillikler gördüm..Adam 16x2 lcd nin 1.5mm lik kablo ile taşımaya çalışmış kablosu yetmemiş vatandaşın cat6 kablo ile eklemiş lehimler hakeza kuş boku gibi 😂 o yüzden peşinen uzun uzun anlatıyorum açıklıyorum ki bana mızıldamayın..

Merak edenler olursa diye cihaz ile ilgili blog linkini başlar iken paylaşmak isterim..

http://felezjoo-pi.blogspot.com/2015/11/system-settings.html

Şu ana kadar kendime has bir tasarım olması bakımından hiç metal dedektörü tasarlamak veyahutta buna benzer bir ihtiyacım olmadı..Zaten mevcutta open source paylaşılan bir çok şema gayet yeterli.

Buna esasen piyasadaki bir çok şemaya merak edip güzel PCB ler çizdim çinde imal ettirdim yeri geldi maliyeyine sattım ki devamını getirebileyim.

İşe tamamen hobi amaçlı bakıyorum.Sağa sola ilan vermemin sebebi bahsettiğim şekilde yeni çalışmalar için kaynak yaratmak ve sizlerinde bu çalışmalardan faydalanıyor olmanızı istemem.

Yani 10 tane kart yaptırmışım çinden niye kenarda dursun 1 tane yapıp denemişim test etmişim kalan 9 tanesinin turşusunu mu kuracağım 😅


Önemli bilgilendirme:

* Başlamadan önce  boş pcb satmıyorum..

* Hazır dizili kart veriyorum.

* Teknik anlamda bu işlerden anlamayan havya tutmasını bilmeyen lütfen benden kart istemesin.Çünki bu tarz işler son kullanıcının insiyatifinde değiştirilebilir seçenekler sunmakta olduğu için gerekli modifikasyonları yapıyor olmak yapabilecek kapasitede olmalı ki alış veriş sonrası yanlış müdahaleden dolayı o çalışmadı bu çalışmadı gibi saçma işler ile uğraşmak istemiyorum..Çalışır şekilde teslim ettiğim için ürüne müdahalede geri iade kabul etmiyorum..Mesela saracağı veya sardıracağı bobine göre sönümleme direnci takması gerekecek alan arkadaşın.Bunu yapamayacak biri ise lütfen hiç iletişim kurmasın..

* Kit ile birlikte bobin göndermiyorum.Sebebi--> Yukarıda bahsettiğim şekilde çok varyasyonu olmasından sebep ile hepsine kaynak ve zaman ayırmak istemiyorum.Daha açıkçası her çapta bobin sarmak sardırmak daha sonra bunları başlık kabına almak öyle satmak vs. hani iş dedektör imalatı yada hazır dedektör satışına gidiyor.Ben bunu yapmak istemiyorum..Çünki bu işi amatör seviyesinde yapıyorum ve öyle kalmasını istiyorum.

Kısa bilgilendirmeden sonra satış pazarlamaya hemen geçelim..:









PCB İLE İLGİLİ VERMEM GEREKEN BİLGİLER: 

* Kart ölçüleri 100mm x 50mm 

* Besleme voltajı 16v 'u geçmemeli..

* Pil olarak 4 x 3.7v'luk 18650 piller kullanılabilir.Buna uygun extra olarak piller için 4s balancer kartı kullanılmasında fayda görüyorum.

* Kartın görseli yukarıdaki gibidir.4 köşesinden montaj için delik mevcuttur.

* Bobin çıkışı - hop. çıkışı - besleme girişi mevcuttur.

* Ayrıca orjinal şemada ki R10 direncine seri çok turlu trimpot mevcuttur.İster söker iptal edersiniz isterseniz düzgünce ayarlar kullanabilirsiniz..

* Cihaz'a kod güncellemesi yapmak istediğiniz vakit bir adet  USBASP Atmel Programlayıcı aldığınızda kart üzerindeki bıraktığım programlama soketi sayesinde kartı yerinden sökmeden kolayca güncelleme yapabilirsiniz.

 

NOT1: Ben mevcutta sitedeki son versiyon HEX kodunu yüklü şekilde gönderiyorum.Full sürüm değil.300 küsür aç kapadan sonra tekrar program atmanız gerekecek.İsteyen olursa en yukarıda verdiğim site linkinden orjinal ücretli hex satın alabilir yada net ortamında vatandaşın birinin parayla alıp yaydığı hex kodunu edinip atabilir.Emeğe saygısızlık olmaması açısından bu işe karşıyım.(300 Kullanım da oohooh )

NOT2: eXtreme Burner - AVR 1.4 ile programlama yaparsanız daha kolay ve basit şekilde işlemci çöp etmeden kullanabilirsiniz..( bu konu ile ilgili videolar çekeceğim..buradan güncellerim )

* Kart ölçülerine göre 3d printerdan çıktı alıp kullandığım kutu ( 2 parçadan oluşuyor ) extra olarak gönderebilirim..

          Kutu ölçüleri (montajlandıktan sonra ) 

    •             EN               :    120mm
    •             BOY            :    65mm   
    •             DERİNLİK :    50mm

         Altında montaj için 2 tane delik mevcuttur.( dedektör için kullanacağınız boru çapını söylerseniz bu konuda da bir güzellik yaparım.. 

         ÖNEMLİ NOT: (STL istemeyin buz gibi soğurum sizden toplu alımlarda oturur konuşuruz. ) 



Şimdilik bu kadar..

Atladığım kafanıza takılan sormak istediğiniz olursa site içerisinde mevcut olan telefon numarasından bana yazabilirsiniz..


31 Aralık 2018 Pazartesi

MH-Z16 Co2 SENSÖR ve PROTON BASİC

Merhabalar..

Üzerinde çalıştığım Mantarhane otomasyonu için özellikle istenen Co2 ölçümü üzerine epey bir araştırdıktan sonra MH-Z16  5000PPM lik sensörünü seçtim ve nihayetinde elime geçti ve biraz bızıkladıktan sonra ( biraz dediğime bakmayın aşağıda değineceğim sebeplerden dolayı 3 gün uğraştım ) çalışır hale getirebildim.

En büyük sıkıntı protonda basit kod örneklerinin olmayışı.Çoğunluk ile ardunio için hazır kütüphaneleri mevcut.Ben proton basic te donanımsal usart ile haberleştim.




Sensörden biraz bahsetmek istiyorum.Aslında datasheeti biraz kurcaladığınızda çok basit bir kullanımının olduğunu göreceksiniz...


Sensör kısaca NDIR dedikleri mantık ile çalışıyor.İç yapısında IR ışık kaynağı karşısında da alıcı kısımları mevcut bu alıcı kısımlarında önünde anladığım kadarı ile CO2 moleküllerini görecek 4.3um bir filitre mevcut..Teknolojisini fazla kurcalamadım zira evde yapabileceğimiz bir şey değil alıp kullanacağız mecburen.. 


Sensörün anladığım kadarı ile birkaç versiyonu mevcut.Benim elimdekinin sadece MH-Z16 olduğunu ve 5000ppm e kadar ölçüm yaptığını biliyorum.

NOT: Sensörü sipariş etmeden önce max. ölçüm aralığınızı bilmelisiniz fabrikasyon ayarlı max. sınırlı geliyor mesela 1000ppm e kadar ölçüm yapacaksanız siz yine 2000ppm felan alın derim benim max. 2000ppm gibi bir değer okumam gerekli ben ne olur ne olmaz diye 5000ppm aldım.

Sensörün besleme voltajı +5v.Üzerinde 1 adet PWM çıkışı ve Analog voltaj çıkışı ve USART serial haberleşme mevcut..

En basiti usart üzerinden direk değer okumak bana kalırsa.

NOT: resimdeki gibi V2.4 olan versiyonda Serial pinler TTL 5V.Ben elimdeki sensörün versiyonunu bilmediğim için araya çevirici yapmıştım.


Bu şekilde çalışıyor.Riski göze alıp rx tx pinlerini direk pic'in ayaklarına bağladığımda da çalıştığını gözlemledim.Sorun olmadı.



Pin bağlantısı yukarıdaki gibidir.Yeniliyorum.RX TX pinlerini ilk olarak TTL seviyesinde çalıştırmayın.En azından işlemcinin tx çıkışını gerilim bölücü direnç ile sensöre girin derim.

Evet yavaş yavaş en eylenceli yere doğru geliyoruz.. :P


Sensöre belirli komutları göndermemiz gerekiyor ve bununda bir sırası var.Yukarıdaki resim birazdan anlatacağım sıralamada BYTE2 ye verilen değerin karşılığında sensörün ne yapacağını anlatıyor.

Yani 0x86 gönderirseniz sensör co2 miktarını ölçüp serial olarak gönderiyor.Diğerlerini hiç denemedim.Kalibrasyon işlemlerine hiç kalkışmadım çünki elimde kalibrasyon yaparken kullanacağım doğruluğuna inandığım bir CO2 metre şuan için yok.


Tabi sensöre kafamıza göre veri gönderemiyoruz.Üretici firmanın belirlediği bir sıralama var sensör bu sıralamada beklediği dataları alırsa geri dönüş yapıyor.

Bunu kodda anlatmak gerekirse : 

  CO2_SENSOR_OKU:
  DelayMS 10
  HSerOut2 [$FF,$01,$86,$00,$00,$00,$00,$00,$79]
  Return

Yani yukarıdaki resimdeki gibi sırası ile sensöre okuma yaptırmak için 18F24K22 nin 2. usartından sensöre gönderiliyor.


Sonrasında sensörden geri yanıt geliyor.Bu o kadar hızlı ki arada bir zaman gecikmesi vs. koymamışlar.Bu adamı gıcık ediyor.Bundan dolayı ben okuma işlemini usart interrupt ile yaptırıyorum ki gelen bilgiyi kaçırmıyım.Bunu yaparken de döngü ve ana program içinde uzun süreli bekleme komutları kullanmamaya dikkat ediyorum.Malum basic'in en muhim olayıda bu :P



Yukarıdaki gibi sensör sırası ile 8 byte geri dönüş yapıyor bunlardan 2. ve 3. byte ölçüm sonucu..

Gerisini kod ile anlatmak gerek...:

  Device=18F24K22
  Xtal=20
  All_Digital=TRUE
  TRISA=0
  PORTA=0
 
  TRISB=%10000000
  PORTB=0
 
 
 
  '*****************/ 16X20 LCD /***************
   
  Declare Hserial_Baud  = 9600 ' Set baud rate to 9600
  Declare Hserial_RCSTA = %10010000 ' Enable continuous receive
  Declare Hserial_TXSTA = 100000 ' Enable transmit and asynchronous mode       ' LCD İÇİN KULLANILACAK
  Declare Hserial_Clear  = On ' Clear the buffer before receiving

  Declare Hserial2_Baud  = 9600
  Declare Hserial2_RCSTA = %10010000 ' Enable continuous receive
  Declare Hserial2_TXSTA = 100000 ' Enable transmit and asynchronous mode      ' DIGER HABERLEŞME İÇİN KULLANILACAK
  Declare Hserial2_Clear = On ' Clear the buffer before receiving
 
  RCSTA1.4 = 1    'Continuous Receive Enabled
  RCSTA2.4 = 1    'Continuous Receive Enabled

  'Symbol PEIE2 = INTCON2.6        'Peripheral(çevresel) interrupt enable bit usart kesmesi için
  'Symbol GIE2  = INTCON2.7        'global interrupt enable

  Symbol RCIE2 = PIE3.5          'Receiver interrupt enable bit
  Symbol RCIF2 = PIR3.5          'Receiver interrupt flag


  Symbol PEIE = INTCON.6         'Peripheral(çevresel) interrupt enable bit usart kesmesi için
  Symbol GIE  = INTCON.7         'global interrupt enable
  Symbol RCIE = PIE1.5           'Receiver interrupt enable bit
  Symbol RCIF = PIR1.5           'Receiver interrupt flag

 ' PIR1.5 ve PIR3.5


  On_Interrupt GoTo KESME       'Hardware Interrupt oluştuğunda int etiketine dallan
 
 
 
  GIE=0
  PEIE=0
 
'********************************
 
  Symbol CO2_ANALOG_INPUT        = PORTA.0
  Symbol BUZZER                  = PORTA.3
  Low BUZZER
 
  Symbol LED                     = PORTA.2
  Output LED
 
  Low LED
 
'******************/ DEGISKEN TANIMLAMALARI /**********************

  Dim USART2_DATA[15] As Byte
 
  Dim NEXTION_BILGI               As Byte
  NEXTION_BILGI=0

  Dim A           As Word
  Dim CO2         As Word

  Dim SAYAC       As Byte
 
 
  Dim BYTE_0  As Byte
  Dim BYTE_1  As Byte
  Dim BYTE_4  As Byte
  Dim BYTE_5  As Byte
  Dim BYTE_6  As Byte 
  Dim BYTE_7  As Byte
 
  Dim CHECKSUM As Byte

  CHECKSUM=0
 
  BYTE_0=0
  BYTE_1=0
  BYTE_4=0
  BYTE_5=0
  BYTE_6=0
  BYTE_7=0

  USART2_DATA=0

  SAYAC=0
  CO2=0
  A=0

 

'*************************/ ANA PROGRAM /*****************************
 
 
  GoSub MELODI
 
  ACILIS_BEKLE:
 
  For A=0 To 3500
  DelayMS 5
  Next
 
  GoSub MELODI
 
  RCIE2=1
  PEIE=1
  GIE=1
 
  BASLA:

  For A=0 To 500
  DelayMS 5
 
 ' Gas concentration= high level *256+low level
 ' CO2 = USART_DATA[3]* 256 + USART_DATA[2]
 
  If SAYAC>8 Then GoSub MELODI : SAYAC=0 : GoSub BUFFER_BOSALT  : GoSub  CO2_GONDER : USART2_DATA=0
 
 
  If NEXTION_BILGI=$10 Then GoSub MELODI : GoSub CAL_ON   :  NEXTION_BILGI=0
  If NEXTION_BILGI=$20 Then GoSub MELODI : GoSub CAL_OFF  :  NEXTION_BILGI=0
 

 
  Next
   
 
  GoSub CO2_SENSOR_OKU 
 
  GoTo BASLA

  '*****************/ KESME /**********************

  KESME:
 
  Context Save
 
  GIE=0
  PEIE=0
 
  If RCIF=1  And  RCIF2 =1  Then NEXTION_BILGI=0 : USART2_DATA=0 : GoTo  EXIT
  If RCIF=1                 Then EKRAN_INTERUPT
  If RCIF2=1                Then SENSOR_INTERUPT


  GoTo EXIT


'*************/yenı/**************************

  EKRAN_INTERUPT:
  NEXTION_BILGI = RCREG1   : GoTo EXIT

  SENSOR_INTERUPT:
  USART2_DATA[SAYAC] = RCREG2 : SAYAC=SAYAC+1 : NEXTION_BILGI=0 : GoTo EXIT
 
'******************************************

  EXIT:
 
  GIE=1
  PEIE=1
  RCIF2=0
  RCIF=0             'General interrupt enable bit

  Context Restore

  End
 
 '**********************/ MELODI /******************************* 

  MELODI:
  High BUZZER
  DelayMS 38
  Low BUZZER
  DelayMS 80
  High BUZZER
  DelayMS 14
  Low BUZZER
  DelayMS 50
  Return 
 
 '*************

  CO2_SENSOR_OKU:
  DelayMS 10
 
  HSerOut2 [$FF,$01,$86,$00,$00,$00,$00,$00,$79]
  Return
 
  CAL_OFF:
  DelayMS 10
  HSerOut2 [$FF,$01,$79,$00,$00,$00,$00,$00,$86]
  Return
 
  CAL_ON:
  DelayMS 10
  HSerOut2 [$FF,$01,$79,$A0,$00,$00,$00,$00,$E6]
  Return
 
  SET_2000PPM:
  DelayMS 10
 
  HSerOut2 [$FF,$01,$99,$00,$00,$00,$07,$D0,$8F]
  Return
 
  SET_10000PPM:
  DelayMS 10
  HSerOut2 [$FF,$01,$99,$00,$00,$00,$27,$10,$2F]
  Return
 

 

  CO2_GONDER:
  HSerOut ["n0.val=",Dec5 CO2,$ff,$ff,$ff]    'BURADA KALDIK
  Return
 
  '*************************************
 
  BUFFER_BOSALT:
 
  BYTE_0 = USART2_DATA[0]
  BYTE_1 = USART2_DATA[1]

  CO2.HighByte = USART2_DATA[2]
  CO2.LowByte  = USART2_DATA[3]
 
  BYTE_4 = USART2_DATA[4]
  BYTE_5 = USART2_DATA[5]
  BYTE_6 = USART2_DATA[6]
  BYTE_7 = USART2_DATA[7]
  CHECKSUM=USART2_DATA[8]
 
  Return
 

Programın kısaca özeti şu:
Giriş kısmında  2 usartı olan 18F24K22 nin usart ayarları kesme ayarları tanımlamalar vs. 

  1. Sonrasında kesmeleri açıp ana programda for next ile uzun beklemeler ile gecikmeli olarak sensöre okuma komutu gönderip geri dönüp tekrar ana programda gelen datayı interrupt  sayacını kontrol ederek sırası ile gelen byteları alıp nextion ekrana serial den göndermek.


Program devamlı bu şekilde dönüyor..

Dediim gibi gelen datalardan 2. ve 3. byte okunan co2 miktarı.Bunu da programda bir byte tanımlayıp düşük ve yüksek byteleri alıp bu word'e yerleştiriyorum sonrada yallah ekrana gönderiyorum.

Sensörün kullanımı  buraya kadar kolay gibi duruyor.Fakat datasheette anlatılmayan durumlar var.

Sensör ilk açıldığında 8byte veri gönderiyor daha açıldığı gibi hemde ve hemen ardından bir süre 4 kez bana gelen ölçüm değerine baktığımda 410 bilgisini 4 defa okuyorum sensör kendini kuruyor yada kalibre ediyor sonrasında normal ölçüm degerini gönderiyor.

Benim kodumda ilk enerji verdiğimde döngüm takılıyor.Kesme kilitleniyor ekranda 5 haneli bir data görüyorum.Bunun önüne geçebilmek için açılışta gecikme koyanlarda var serialden 410 datasını 4 kez okuyanlarda var..

Ben sensörü transistör ile enerjisini kesmekten yanayım.Bilmiyorum başka bir fonksiyonuda yok gibi bu durum için.

En basit okuduğum çözüm ise sensörün beslemesini kart açıldıktan sonra vermek ve işlemcinin kendini programdaki interrupt ayarlarını kurmasına müsade etmek gibi görünüyor.



Bunun için buna benzer bir şema kullanabilirsiniz sorunsuz bir kullanım olacağına kanat getirdiğim yöntem budur..


Bu arada bu tarz şeyler ile çalışırken elinizin altında USB to Serial modül olmalı ve sağlam fonsksiyonları olan bir serial terminal programı ile çalışınız.Ben ilk sensörde değer alamadığım için serial porttan  dinliyim bakım dedim pic ten sensöre dönderdiğim 8 byte dizideki  0X86 datasını program 0X3F olarak gördüğünden 2 günüm boşuna gitti.

Sonra bir abimizin tavsiyesi ve uyarı ile başka bir serail terminal programı ile denemeler yaptığımda aslında benim gönderdiğim veride sorun olmadığını alıcı kısımda sorun olduğunu farkettim..

Beni yanıltan serial terminal programı oldu yani.

Sonradan daha kallavi bir program indirip kurdum.

Kullandığım serial port programı : 





Son olarak eklemek istediğim bir husus data var.Sensörün yanında gelen kablosunu ben çok ince olduğu için 0.25mm lik papuç basarak 3.8mm lik klemens ile karta bağladım.kendi soketi kutudan 1 adet çıktığı içi tercih etmedim.Piyasadan da nereden bulunur yedek olarak bilmiyorum.

Size son görselim mutlu son ile biten Co2 ölçümünden:



Sağlıcakla kalın...



EDİT: 01.01.2019 Yani yazıyı yazdıktan tam bir yıl sonra ( ertesi gün yani ) programda ufak bir güncelleme ile sensörün açılıştaki verilerini görmezden gelip açılıştaki takılma olayını giderdim.

Yaptığım işlem işlemciye enerji verdiğimizde kesmeleri kapalı tutup sensörün açılması kendini toparlaması için yaklaşık 15sn kadar bekledikten sonra kesmeleri açıp sensörle haberleşmek..Şuan gayet iyi çalışıyor.

NOT: sensörün açılışta bağlı olup olmadığını gözlemlemek için bekleme süresini biraz kısıp yukarıda bahsettiğim 410 datasını 4 defa okuduktan sonra sensörün bağlı olup olmadığını teyit edebilirsiniz...




13 Kasım 2018 Salı

EPE RESİSTİVİTY

Merhabalar...

Başlamadan önce devamlı sorulan bir soru olan kaç metre çekiyor abi ? sorusuna hemen aşağıda cevap verelim vermeye çalışalım...

* Rezitive cihazlarda çubuk arası mesafenin yarısı kadar derinlik verdiği söylenir bu cihazların.Fakat bazı tasarımlarda gördüğüm kadarıyla ( burası çokomelli ) kolayına geldiği içinmidir yoksa ne amaçla bilmiyorum direk dc-dc converter kullanmışlar ve direk problara vermişler hatta bazı vatandaşlar stepup kullanmışlar daha büyük akü pil taşımamak için de bana çok saçma kalıyor..

* Daha önceden tuzluluk ölçer ile uğraştığımdan biliyorum ki kalsiyum iyonları dc akımda direk dumur olup kaldıkları için tuzluluğu ölçmek için suya ac akım yada modüle edilmiş kare akım verildiğinde kalsiyum iyonları birbilerine sarılıp elektron geçişine izin veriyorlar idi.

* Demek istiyorum ki çıkışta bu dc-dc konverter kullanan cihazların ( sonuçta toprak ta ölçütüğün özdirenç minerallerin özdirenci ) bu konuda eksikliği var.Bu da dc akım kullanımından kaynaklı bunun yerine epe de şemayı inceleyenler bilir +/- 5v civarı yani 10v'a tekamül eden bir kare dalga vermekte toprağa.Buda toprak taki mineralleri titreştirerek korkutarak birbirlerine sarılmasını ve elektrik akımının daha iyi iletilmesini sağlar.Bu da derinlik verir bize.

* Aynı şekilde bazı arkadaşlar beni arıyor direk kaç volt abi cihaz diye soruyorlar..9v kardeşim :P sormayın artık şu soruyu..

* cihazın voltajının pek anlamı yok.O tarz cihazlar 80 90 metre aşağı inen cihazlar ile su ararsın ancak.öyle bir cihaz arıyorsanız evet ozaman akımın voltajın önemi var.



Epe resistivity için yenilenmiş bir tasarım ile tekrardan merhabalar.Tasarım kısmına tamamen şema ile birebir aynı fakat kullanışlı olması açısından kutu tasarımı ve pc bağlantı kısmı tekrardan ele alındı.


 Görselden anlaşıldığı gibi üst kısımda 3D printer çıktısı truncu ve beyaz renklerde buton isimleri yazılı vs.

Pc balantısı USB balantısı eklendi.Rs232 kablosu çevirici vs ihtiyacı olmadan diz üstü pc nize direk balayarak direkt olarak data aktarımı yapabilirsiniz.
Aynı şekilde hemen yanında ON/OFF anahtarı ve Şarjlı pil kullanır ise şarj için şarj soketi bırakılmıştır. ( 2 adet 9v pil ile çalışmaktadır.)Normal 9v pil kullanırsanız pil değişimi için üst kapağın 4 vidasını sökmeniz gerekli.


Ön kısımda ise 4 Pin XLR jack kullandım. C1-C2 / P1-P2 kabloları bu soket üzerinden çıkıyor.


İç kısmını merak edenlere ufak bir görsel eklemek istiyorum.Hem kendi yapmak isteyenlere fikir olur diye düşünüyorum.Kutu içerisinde 9v piller için 2 adet printer çıktısı pil yuvası ve diğer bağlantılar  mevcuttur.



Dizilmiş karttan bir görsel.Kart ölçüleri 80x55.6mm'dir.
( pcb tasarımı bana ait olup smd ve çift taraflı pcb dir )

Fiyat aramanız yeterlidir.


16 Temmuz 2018 Pazartesi

METAL DEDEKTÖRLERİ İÇİN BOBİN SARMA MAKİNESİ

Merhabalar....

Metal dedektörleri ile epeydir ilgileniyorum.Sağ olsun  çevremdeki define meraklısı eş dost gaza getirip hadi yapta  makineyş parayı bulalım gömüyü çıkartalım zengin olalım hayalleri ile benide bu konularda teknik anlamda çalışmaya ittiler.

Toplarlayacak olursak uğraşanlar bilir.işin en sıkıntılı yanı bobin sarmak.Çünki 22cm den başlayıp 50cm e ulaşan değişik çaplarda bobinler yapılmakta yada ihtiyaç duyulmakta.

Hatta bazı arkadaşlar o kadar zahmet çekiyorki evdeki kap kacak ne varsa buna mı sarsam bunu kessem de mi sarsam gibi aslında çok gereksiz uğraşlara giriyorlar.

İlk başlarda bende çektim bu zahmetleri ama şuan elimin altında 3D printer olduğu için o günlerin acısını çıkartıyorum resmen.

Geçenlerde yine bir arkadaş bi makine istedi.Tamam dedim.Başlamadan ne alet edevat gerekli düşündüm taşındım ilk önce Bobin sarma işini halletmem lasım dedim.

Sağ üstte ki resim genel hatları ile mekanik kısmının olduğu hali hazırdaki bobin sarma mekanizması.Elektronik kısmına şuan yoğun bir çalışma yapmadığım için gerek duymuyorum ama elektronik kısmında tasarımı vs. herşeyi hazır bekliyor.

Aslında mekaniği inceleyecek olursak çok basit.2 adet yarım kasnak ve bir adette DC 12V rediktörlü motor mevcut.İlerlenyen dönemlerde bir de indüktif bero ve elektronik kart ilave edinde tam canavar olacak.

Kasnak tasarımı bana aittir.Başka yerde bulamazsınız.3D çizim yapabilen birileri çok rahatça çizebilir.Bu yüzden sadece STL dosyasını paylaşıyorum..

Dilimleyici prgoramdan çıktı almadan önce:

Doluluk                : 20-30 arası olursa daha iyi olur.
Dış duvar             : 2mm
Alt ve Üst Duvar : 2mm

Olursa daha uzun ömürlü ve dayanıklı olur.

Ayrıca kasnak illa otomatik makine vs. kullanımı için geçerli değildir.Yani hayal gücünüze kalmış.



Mesela benim makinenin 50cm başlık sarma kabiliyeti şimdilik yok fakat ilerleyen dönemlerde olacak.Ama manuel elle sarmak için evde daha önce ahşap zıpkın yapmak için aldığım tik ağacı dilimlerinden biri gözüme ilişince işte budur dedim.


Ortaya böyle birşey çıktı.Elle gayet güzel ve gergin bir şekilde sarabildim.Hemen yanında başlık kabının içinde yatıyor zaten bobinde ( sarma esnasında nasıl bir heycan yaptıysam resim çekmeyi unutmuşum )

Ayrıca şunuda belirtmek isterim.50cm çapında 2 adet 0.5mm telden 25 tur sardığımda kasnağın oyuklarından taşma olmadı.Ama isteyen olursa kasnağın oyukları derinleştirilebilinir.

Nasıl sarım yapıyoruz kısmına gelince.İlk olarak mesela şöyle tarif edeyim.Elimdeki 50cm başlık kabını alıp içine bir kaplı parçası ile dolanıp ölçü çıkartıyorum sonra bu kablonun iki ucunu kapatıp bu kabloyu kasnakların kanalına geçirip iki kasnağın arasını açıyorum.Sonrasın da kablonun en gergin olduğu noktada ahşap üzerinde kasnağın olduğu noktaya işaret koyuyorum bu 1 kereye mahsus bir durum yani her 50cm bobin saracağınızda bunu tekrarlamnıza gerek yok.Kasnakları olması gereken ölçüce bırakıp orta göbeklerinden ahşap'a 2 şer vida deliği delip tutturuyoruz ve sonraki adımda sarım işlemine geçiyoruz.Bu kadar basit.

Kasnak çizimlerini nerden bulurum diyorsanız : 

https://www.thingiverse.com/thing:2999621

Burayıda takipte kalabilirsiniz.Zaten 3D printeriniz varsa zaten burada bir hesabınız vardır.

Printeri olmayan arkadaşlarda bana mail yada telefon yolu ile ulaşırlar ise kasnağı makul bir fiyata çıktı alır göndererim..

Küp küp altın bulmanız dileği ile..... İyi çalışmalar...


MP135 AİR QUALİTY - HAVA KALİTESİ ÖLÇÜMÜ

Merhabalar...

Geçenlerde heves ederek aldığım Mp135 sensörü ile ilgili tecrübelerimden bahsedeceğim size..


İlk olarak söylemek gerekirse sensör çok hassas ve rezistans uçlarına enerjilendirdiğiniz de bir süre sonra dış kısım epey ısınıyor ( kutu vs. tasarlamak isteyenler buna dikkat etmek isteyebilir diye düşünüyorum) Genellikle anladığım kadarıyla sensörün datasheetin karbonmonoksit yani CO ölçebildiği için hava kalitesi ölçebileceği söylenmiş.yoksa bildiğiniz alkol metre sensörü 😂


Sensör data sheetinde yazdığına göre ; ISOBUTANE= Butan gazının hidrojenle daha fazla aşna fişna yapmış hali sanırım 😂 ALCOHOL= bildiğimiz alkol yabancımız değil..

H2= yine hidrojen abimiz iş başında Dihodrojen diye okunan 2 hidrojenden oluşan element

CO= karbonmonoksit,

Gibi gazları ölçebiliyor...Yani anlaşılan sensör "CO" ölçebildiği için hava kalitesi ölçer diye anılıyor..
Kaldıki zaten piyasada satılan oksijen ölçerlerin fiyatları neredeyse bu sensörün 7-8 katı..o yüzden çok birşey beklemeyin..alkol falan ölçecek iseniz yada alkolümsü şeyler işe yarar.. Ama hoşuma giden yani videoda görüldüğü üzere çok hızlı tepkime vermesi.Ben bu kadar hızlı tepkime vereceğini düşünmemiştim hiç.. Evde deneme yapmak isterseniz kolonya şişesini sensöre damlatmadan üstüne üflettirrirseniz yada videodaki gibi hızlı yapıştırıcı aktivatörü veyahutta japon ile denemeler yapabilirsiniz..Evde alkol varsa oda olur 😂 DİKKAT..!

Senssör üzerine kesinlikle yapışkan pudralı deodorant vs gibi özellikle slikon içerikli kimyasallar püskürtmeyin sensör birdaha ölçüm yapmayabilir.


ELEKTRONİK KISMI



Aslına bakarsanız gayet basit..LM358 ile basit bir ara opamplı kısım mevcut.

Ben 12F683 ün ADC girişi ile okuma yaptırdım fakat dasheetteki gibi gaz oranlarını ppm olarak değilde voltaj olarak okuttum..

Denemelerimde gözlemlediğim normal şartta ki sevide kaç volt okuyorsamve gaz algıladığında max kaç voltlara çıkıyorsa ledlerin ölçeklendirmesini o şekilde yaptım.


İlave olarak:

* Datshhetindeki ayak yapısına güvenip aldanmayın sensör ayaklarını ölçerek bulun.

ısıtıcı 85R civarı direnç göstermekte.
diğer iki ayak 100k civarlarında

* Datasheetinde derki eğer sensör uzun süre enerji verilmeden beklemiş ise;
Bekleme süresinin karşılığındaki süre kadar enerjili bekletilmeli.Buna galvanik yaşlandırma diyorlarmış.

* Sensör normal şartlarda (sıcaklığa görede değişebilir bu ) 0.670V çıkış veriyor. Sensör Gaz algıladığında çıkışın 2.5v'ları gördüğünü gözlemledim.

* Rezistans ac yada dc beslenebiliyor.

* Rezistans için ayrı bir 7805 kullanın derim.Sağlam olsun


Şimdilik bu kadar.Kalın sağlıcakla...

28 Mart 2018 Çarşamba

KULUÇKA MAKİNESİ KONTROL KARTI - DHT11 & DS18B20

Ne işe yarar? 

Kuluçka makinesi bilindiği üzere yumurtaların civciv olana kadarki süreçte uygun ortam şartlarının suni olarak yaratıldığı ve nem ısı değerlerinin kontrol altında tutulduğu ortamdır...

Piyasada bir çok kart ve home made toplama ürünler mevcuttur.Zamanlayıcısını ayrı ısı kontrol ünitesini ayrı ayrı alıp sistem kuranlarda mevcut..Fakat hepsinin bir arada olması hem maliyet açısından hemde sistemin dağınıklığını ortadan kaldırmaktadır..




Nasıl çalışır?
SICAKLIK VE NEM?

Menu üzerinden sıcaklık ve nem değerlerini ayarlayabiliyor ve ana ekranda ölçülen sıcaklık ve nem değerlerinin karşısında görebiliyoruz..Buda olası bir aksilikte gözle kontrolü kolaylaştırıyor.

Okunan sıcaklık ve nem değerleri Ayarlanan sıcaklık ve nem değerlerinin üzerine çıkar veya düşerse ısıtıcıyı veyahut nemi dengelemek için buhar üreticiyi açar yada kapar.

Nem sensörü olarak DHT11 kullanılmaktadır.Ölçüm aralığı olarka gayet yeterli olmaktadır.Fakat sıcaklık ölçümü için DHT11 üzerindeki NTC pek sağlıklı ölçüm yapmadığı için harici olarak DS18B20 kullanılmıştır.Buda sıcaklık ölçümünü doğru ve stabil halet getirmiş hata riskini düşürmüştür..


VİYOL HAREKETİ ?

Ayarlar kısmında motor zaman ayarına geldiğimiz de motorun yada motorların kaç Saatte bir çalışacağı ve kaç Dakika çalışacağını ayarladıktan sonra girilen zaman aralıklarında motorlar aktif olur ve belirlenen süre kadar çalışır..







Örnek olarak ifade etmek gerekirse:

Sistem saati : 10:00 olsun motor ayarlarından 1 saatte bir çalışsın 1dk çalışsın şeklinde ayarlama yaparsak motorlar saat 11:00 da devreye girecek ve 1dk çalışacak ve duracaktır.Ve girilen zaman aralığı 1 saat olduğu için motorlar tekrar saat 12 de devreye girecek ve 1dk çalışacaktır..Bu devamlı şekilde bir döngü halinde devam eder..

NOT: Motor çalışma zaman aralığı max. 4 SAAT.Motorların max. çalışma süresi 20 DAKİKA dır...

Viyol hareketini yaptıran motor 220v AC seçildiği ve devamlı çalıştığı durumda viyolleri sağa ve sola çevirdiği bir sistem tercih edildiği için zamanlama kısmı bu şekilde tasarlandı.(Ekstra değişiklikler için farklı motor tipleri için 1 adet limit switch girişi kart üzerinde mevcuttur.İstenildiğinde değişiklik yapılabilinir.)

Motor çalışma voltajı 220v veyahut 12v olarak seçilebilir.Kartın altındaki ufak bir jumper ile voltaj seçimi rahatça yapılabilmektedir.(farklı çalışma voltajları için bilgi alabilir yada değişiklik talep edebilirsiniz)







Öneriler ve Kısa Notlar: 

* Kartın montajı için ıp65 kart kutuları yada pano tercih edebilir şeffat pano kapaklarına montajını yapabilirsiniz.

* Pano yada extra bir kutulama için kullanımı daha pratik olması açısından kart üzerindeki butonlar için kart üzerinde klemens bırakılmıştır ve butonlar kartın dışına da taşınabilir.Bu pano kapağı vs. bir montaj için düşünülmüştür.

24 Aralık 2016 Cumartesi

DHT11 ile SERA HAVALANDIRMA OTOMASYONU

Merhabalar...

Yine öğrenci bir arkadaşımız için yapmış olduğum minik maket sera havalandırma otomasyonundan sizlere bahsedeceğim..



Projenin genel hatları şöyle; Kart üzerindeki DHT11 ısı ve nem değerlerini okuyup pic ile işledikten sonra tuşlar ile girilen ısı ve nem değerleri ile karşılaştırıp sera kapaklarının açılıp kapanması üzerine kuruludur.



Kapakların açılıp kapanmasını sağlayan sistem yandaki resimlerde görüldüğü üzere ufak rediktörlü bir motor kullandım ve mekanik aksamı makaralı olarak kullandım yani motor miline balı 2 adet makara varmış gibi düşünebilirsiniz.Bu tarz bir proje yapacak olan öğrenciler için maliyeti düşürmek adına güzel düşünülmüş bir sistemdir realde de uygulanabilirliği mevcuttur.Fakat doğru ekipmanlar seçilmek ve doğru koşullar altında çalışması şartı ile geçerli olacaktır...


Projenin çalışması ile ilgili video yukarıda mevcut olduğu için pek fazla açıklama yapma gereği duymuyorum.Ayrıntılı bilgi almak isteyenler irtibat kurabilirler...









7 Ocak 2015 Çarşamba

DHT11 ile NEM & SICAKLIK ÖLÇÜMÜ

Merhabalar..



Bu sefer sizlere kısaca protonda DHT11 sensörü ile yaptığım çalışmayı paylaşıyorum.Aslında sensörü havalandırma otomasyonunun içerisinde kullandığım için size sadece çalışmasını ve nasıl kullanıldığında bahsedeceğim.






Sensörün kullanımına geçmeden önce ilk olarak sensörün kullanımı esnasında size yardımcı olabilecek olan ayak yapısının gösterildiği örnek resmi paylaşmak istiyorum.Yandaki resimde gösterildiği gibi 1-vcc 2-data 3-nc (bağlantısı yok )   4- gnd olacak şekilde bağlantılarının yapılması gerekiyor.

Tabi bu bağlantıları yaparken 2 nolu data ucuna pull-up 2k2 direnç atmayı unutmayınız yoksa sensörden okuma yapamazsınız.



Resimde de görüldüğü üzere sensörü kullanabilmek için  sensöre belirli zaman aralıklarında pulsler göndererek ölçüm yap komutu veriyor ve ardından sensörün buna cevap verip vermediğinin kontorlünü mikro işlemci tarafından yapıyoruz.Şayet 80ms sornasında sensörden bir cevap gelirse peşi sıra sensörün gönderdiği diğer nem ve sıcaklık bilgilerini tek tek alıp byte'a yerleştiriyoruz.Sonrası bunu program içerisinde değerlendirmeye kalıyor.



Ekranda görüldüğü üzere sensörden okunan bilgi ısı ve nem olarak ayrı ayrı yansıtılmaktadır.

NOT: Devrede istenilen pic'i kullanabilirsiniz.Bu uygulayıcıya kaldığı için program satırlarında bu kısımları vermedim.Sensörün az çok çalışma mantığını anlatabildiysem kaldı ki sensör ile ilgili datasheet bilgilerini okuduğunuzda en azından kafanızda herşey pekişecektir diye umuyor ve iyi çalışmalar diliyorum.








26 Aralık 2014 Cuma

DS18B20 SICAKLIK ÖLÇÜMÜ VE FAN KONTROLÜ

Merhabalar..

Bu kez netten öğrenci bir arkadaş için alel acele yaptığım ( ödev amaçlı ) uygulamayı sizler ile paylaşıyorum.Uygulamamız basit bir DS18B20 sıcaklık sensörü ile program içerisine belirlenen ısı değerlerinde led yakan ve yine belirlenen bir ısı değerini aştığında fanı devreye sokarak tekrar belirlenen ısıya kadar ortamın ısısını düşürmek amaçlı tasarlanmış bir devredir.


Şemadan da görüldüğü üzere devremizde DS18B20 - LCD - 16F877A - BUZZER - LEDLER ve RÖLE kullanılmıştır.

Amaç yukarıda da özetlendiği üzere Sensörden okunana ham sıcaklık bilgisinin dereceye çevrilerek belirlenen sıcaklık değerlerinin arasında kontrol işleminin yapılmasıdır.

Bu işlemi yaparken ekranda mevcut okunan sıcaklığı 1sn aralıklar ile güncelleyip set edilen değerler ile karşılaştırıyoruz.Şayet belirlenen sıcaklık değerinin altında veyahutta üzerinde ise ölçülen sıcaklık değerine göre ledlerin durumunu değiştiriyoruz.Yani bir nevi kontrol işlemini yapıyoruz.

Bunun yanında arkaşımızın isteği üzerine program içerisinde 3 adet değer verildiği ve bu değerlerde ledlerin yanmasının yanında LCD ekranda "ideal değer" kritik değer" "ısı değeri aşıldı " gibi kullanıcıyı bilgilendiren görsellerde eklenmiştir.

4. aşama olarak ısı en yüksek belirlenen kritik seviyeninde üzerine çıkarsa fanı devreye sokarak ısının tekrardan "ideal değer" ile ilgili olarak verilen sıcaklık değerleri arasına indiğinde fanı durduruyor ve program bu şekilde bir akışta devam ediyor.Böylece ortam sıkcaklığı verilen değerler arasında stabil tutulmaya çalışılıyor.

NOT: Yapılan uygulama ticari amaçlı olmadığı gibi ticari amaçlı sahada çalışabilmesi için bazı eklentiler yapılması gerekiyor.Bu yüzden direkt kopyala yapıştır usulü ile devreden yapıp sahada denemeler yaparsanız sorunlar yaşayabilirsiniz.Tasarım öğrenci projesi amacında ve DS18B20 entegresinin kullanımını açıklamak olduğu için sahada çalışacak donanıma sahip değildir.

Kod kısmında ise kısaca protonda devamlı kullandığım ve net ölçüm yaptığım kısmı paylaşmam yeterli olacaktır sanırım.Gerisi sizin ne yapmak istediğinizle birlikte bilgi ve tecrübenize kalıyor..


Devreye sensör bağlamazsanız ekranda "0" değerini göreceksiniz.Ve ilk değer ölçümden önce bu alt programa 2-3 kez dallanıp okuma yaparsanız ilk okumada çıkan +85 derece sıkıntısı ortadan kalkıyor.

Bunun dışında devre için pcb çizmedim.Arkadaş kendisi board üzerine devresini kuracağı için gerek duymadım.Uygulamayı yapmak isteyenler olursa pcb konusunda yardımcı olabilirim..

İyi çalışmalar.



10 Aralık 2014 Çarşamba

MT8870 DTFM İLE KONTROL KARTI UYGULAMASI....

Merhabalar..!

Bu sefer MT8870 kod çözücü entegresi ile yapılmış olan DTMF ile kontrol kartı ve sonrasındaki cep telefonu üzerinden röle kontrol kartının yapımından bahsedeceğim..

DTMF kodlaması ile ilgili olarak kısaca alıntı yaparsak : 

DTMF kodlama sisteminde temel olarak dört adet iki çift ton kulanılır.  
Bu iki ton kombinasyonu ile 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, #, *, A, B, C, D rakam  
ve sembolleri ifade edilir.  


1209 Hz1336 Hz1477 Hz1633 Hz
697 Hz123A
770 Hz456B
852 Hz789C
941 Hz*0#D

Yukarıdaki DTMF Kod kombinasyon tablosundan görüleceği gibi dört adet
frekans satır için, dört adet freakansta kolon için tahsis edilmiştir.
Tablonun ortasındaki rakam ve semboller karşılarında bulunan satır ve
sütundaki frekans çiftiyle ifade edilirler. Bir örnek vermek gerekirse
4 rakamını 770 Hz ve 1209 Hz lik ton çiftiyle ifade ederiz. Bu ton çiftleri
16 adet ton kombinasyonuna olanak tanır. Bu tonlardan sıra için adanmış
olanlar 1 kHz 'in altında, kolon için tahsis edilmiş olanlar ise 1 kHz ile 2 kHz
arasındadır. Bu frekansların bu sınırlar dahilinde olmasının sebebi telefon ve
telsiz sistemlerinde band geçiren filtreler kullanılır ve bu filtreler
300 Hz ' 3000 Hz arasındaki konuşma aralığı dediğimiz aralıktaki frekansları
geçirirler. DTMF tonlarıda bozulma ve kesintilere uğramaması için bu frekans  
sınırları içinde kalacak şekilde tasarlanmışlardır. 

Buraya kadar tamamsak birazda MT8870 kod çözücü entegresinin çalışmasına biraz değinmek istiyorum:
Entegrenin resimde de görüldüğü gibi TON girişine DTFM sinyali uygulandıktan sonra gelen sinyalin binary karşılığı çıkışa aktarılır ve ardından STD ucu aktif edilir.
Biz mikro işlemci kullanırken dtmf kodunun geldiğini yani çözülüp çıkışa aktarıldığını devamlı bu STD ucunun bağlı olduğu pinin değişimine bakarak anlıyoruz.
Yani STD ucu şayet "1" olursa entegrenin girişindeki dtmf kodunun çözülüp çıkışa binary olarak verildiği manasına gelir.Daha sonra ise D0-D3 uçlarının durumlarını pic ile okuyarak bu pinlerin durumlarının karşılığını aşağıdaki tablodan çevirerek hangi tuşa basıldığını anlayabiliyoruz.


Tabloda verildiği gibi digit kısımdan baktığımızda şayet DTMF üretici kısmında "1" tuşuna basılmış ise kod MT8870 tarafından çözüldükten sonra çıkışa sadece Q1 = 1 olacaktır bunun karşılığı 1 nolu tuşa basılmış demektir.

Şayet 6 nolu tuşa basılmış ise Q3 ve Q2 çıkışları "1" olacaktır.

Entegrenin çalışması görüldüğü gibi çok kolay ve basit.Gerisi pic ile yapılan kontrol kartının yazılım tarafına kalıyor.


                          Olayı daha iyi pekiştirmek için ufak bir video faydalı olacaktır.:




 PİCLİ KONTROL KISMINA GELECEK OLURSAK: 

Şemada görüldüğü gibi 16F877A ve 16x2 LCD ile yapılmış ufak bir dtmf kontrol ile röle kontrol kartı gözükmektedir.

Kısaca çalışmasını anlatacak olursak: devreye ilk enerji verildiğinde arama beklenen menüye gelecektir.Bu esnada telefonun çaldığını algılaması için Opto couplerin girişine daha önceden girilen sayı kadar puls verildikten sonra kart üzerindeki 2 adet röle ile cep telefonu üzerindeki tuşları kontrol ederek gelen aramayı cevapladıktan sonra karşı taraftan tuşlanan tuşun karşılığını ekranda gösteriyor ve ayrıca tuşlara atanan görevler sayesinde 2 adet röleyi 1 yada 0 yapıyor.

Extradan olarak telefon hattının açık kalmasına karşı önlem almak için zaman aşımı süresi girilerek şayet belirlenen bu zaman aşımı süresinde herhangi bir tuşlama yapılmazsa sistem cep telefonunu kapatıyor ve hattın meşgul edilmesinin önüne geçiliyor.




Gecikme süresinin ekranda gösterimi.







Röle çıkışlarının durumlarını ekradan görebiliyoruz.









Basılan tuşun karşılığının ekranda gösterimi.




Devrenin genel çalışmasını daha iyi anlayabilmeniz için aşağıdaki videomuzu izleyebilirsiniz..



Devrenin yapımı ile ilgili ve proje amaçlı aynı tasarımdan yapmak isteyenler konu ile ilgili iletişim adresimdeki mail üzerinden ve telefonumdan bana ulaşabilirler.

İyi çalışmalar...