Haberler:

[move]Türkiye'nin Elektronik ve Metal Dedektörlerini Buluşturan İlk Sitesi Teknoloji Ekibi'ne Hoş Geldiniz.[/move]

Ana Menü

PI dedektör tasarımı.

Başlatan Uykusuz, 27 Ocak 2008, 20:44:29

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Uykusuz


gurdal

tebrikler güzel yapmışsınız başarılar diliyorum
Amatör

Uykusuz

Teşekkürler sayın gürdal, inşallah hep beraber...

okantex

MErhabalar   Uykusuz Hocam ,

Onceklle tebrik ederim.
aklima takılan birseyi sormak isterim.
islencinin hızı ne , sunun sunun icin merak ediyorum .bir tane atmelde dahil ADC nin cevrim suresi  atmaga 644 un mesela 65-260us  surmekte
yani tek bir sinyal numunesini ortalama 200us de  digital veriye ceviriyor

abi sen
"Bu da benim makinanın son hali arkadaşlar, kendisi dahili adc ile 6-7uS içersinde 24 örnek alabilmektedir"
demissin

aklım karıstı dogrusu.
ama bir her cycle da   grafigin farkli bir zamanda orneklemesini alıyorsan , kabul  olay islemci hizina baglı.
fakat o durum icinde soyle bir sorum var.
bi arkadas geotech te yazılımda sayacıin her bir artımını ortalama 37us gibi bir deger demisti diye hatırılyorum.

ornekleme suresini biraz acıklarsan sevinirim.
saygılar

Uykusuz

#84
Merhaba, şöyle açıklayayım;

PIC 5MIPS hızda çalışıyor. Yani 1 Saniyede 5 Milyon komut işleyebiliyor. Bu da bir komutun 200nS (nano saniye) işlenebileceği anlamına geliyor. (Her komut 200nS de işlenmeyebilir bazılar 400nS sürebilmektedir) Bir INCF komutunu (arttırma komutu) pic 200nS de halledebilmektedir. arka arkaya 24 defa INCF komutu yazarsam 24*200nS = 4,8uS (mikrosaniye yapar). Görüldüğü gibi 5uS içinde 24 adet örneği hold devrelerime almış bulunmaktayım. Artık bir sonraki palse çok uzuuuun bir zaman olduğuna göre elimdeki sütçü beygiri gibi adc ile hold devrelerimde saklı olan voltajlarımı yavaş yavaş dijitale çevirme ve ram lere kaydetme işlemini yapabilirim.  Picte bir adc çevrimi 10-15uS sürüyor ama görüldüğü gibi ne önemi var... Örnekleri yakaladıktan sonra gerisi pek önemli değil, hold devrelerimin sızıntı akımlarının derecesine göre ense yaparak yavaş yavaş okursun aldığın örnekleri.

okantex

#85
Baba bir dakika,
bu pic aynı anda kactane  ornekleme yapabiliyorki .kac tane  hold cap ı var bunun boyle .

okantex

abi  biraz yabanci sitelerde gezdim  pic icin 4mhz = 1 MIPS  ,atmellerde ise  1Mhz= 1 MIPS  diyor
atmega8  le yapılan birsey  8  veya  16 mhz de oldugunda  5 MIPS in ustunde calısması gerekmez mi?
ama asagıdaki yazıya bakınca  sayacın bir adimini3,7us  diyor ?
neden boyle bir ikilem var?

bu yazı sisco nun sanırım.
--------------------------------------------------------------------------------

Max , your idea about timing , I want first make new device for test your

idea but think and decide first test this timing on my minipuls.

so erase minipuls ATMEGA8 and programmed by new program (1KHz ,100us

PW ,15us , 45us first delay , 200us interdelay and 45us second delay) and

test , what you think ?

YES this work and I can detect GOLD with this timing.

this is my programm writed on ATMEAG8.

evrey step =3.75us for example A = 27 mean this time is 101.25 us (IN THIS TIME MOS-FET IS ON)

$regfile = "m8def.dat"
$crystal = 8000000
Config Timer1 = Timer , Prescale = 1
Stop Timer1
Config Portb = Output
Config Portd = Output
Portb.1 = 0
Portd.6 = 0
Portd.7 = 0
Dim A As Word

Startline1:
Start Timer1
A = 0
Portb.1 = 1
Do
A = A + 1
Loop Until A = 27
Portb.1 = 0
A = 0
Do
A = A + 1
Loop Until A = 4
A = 0
Portd.6 = 1
Do
A = A + 1
Loop Until A = 12
A = 0
Portd.6 = 0
Do
A = A + 1
Loop Until A = 53
A = 0
Portd.7 = 1
Do
A = A + 1
Loop Until A = 12
A = 0
Portd.7 = 0
Do
A = A + 1
Loop Until A = 158
Stop Timer1
Goto Startline1


TIMING:
Frequncy = 1001.5 Hz
PW(ON PULSE) = 101.25us
delay= 15us
first delay = 45us
interdelay = 198.75us
second delay = 45us
OFF PULSE = 592.5us

FOR 1000HZ:ON Pulse is 100us so OFF pulse must 900us calculate = (15us+45us+198.75us+45us)-900us =~595us
by sisco

Uykusuz

Pıc de bir adet hold kapasitesi var. Benim bahsettiğim sample and hold devrelerindeki kapasiteler...
Verdiğiniz program örneği farklı. Pals göndermek ve iki örnek almak için yazılmış bir program bu.
Evet atmega pic16f serisinden 5 kat hızlıdır.
Pıc te 200nS de bir komut işlenir. Porttaki bir bitlik veri değişimini 200nS de halledersiniz. Atmelde bu 50nS dir. Kolay gelsin.

okantex

Hocam ,
anlamadıgım da zaten o ,
programın bir arttirma adımı icin  A=1  den  A=2  ye gecmesi  3,75us  diyor.
"evrey step =3.75us for example A = 27 mean this time is 101.25 us "
ama sen atmega 5 kat hızlı diyorsun .50ns de gecmesi gerekmez mi.
senin  devrede bu sekil  her arttırmada multipleks  anahtarla  farkli kapasitelere  sinyali yonlendiriyon.
sen yavas olan islemci ile 200ns de bu arttırma islemini yaparken bu adam  niye 3,75 hesaplıyor?

yanlıs anlasılma nerde

acıklarsan sevinirim.

saygılar.

Uykusuz

Elemanın kullandığı dil asm değil. ASM dilinde yani en temel programlama dilinde PIC için bir INCF komutu 200nS sürmektedir. ATMEGA için ise bir arttırma komutu olan INC komutu 50nS zaman almaktadır.

LORD_EX

Bu başlık altında göremedim. Bobinin doyuma ulaşması ile ilgili konuşulmuş ama bobinin üzerindeki enerji bırakması ile ilgili bir başlangıç yapılmış. Peki bu süre minimum kaç olmalı. Osilaskopumuz yok. Elimizdeki bobine uygun sönümleme direncini nasıl hesaplayacağız. Tutup çok küçük bir direnç kullanırsak örneklemeden önce bobin üzerindeki enerjiyi bırakırsa doğru olmaz sanırım.

erolunall

selam

Okanın   verdiği  sisconun   program  örneği  tam  bir  pogrammıdır  yoksa  programın  bir  parçasımı


iyi  günler
Erol


Uykusuz

Merhaba, malesef tam bir dedektör programı değil. Sadece ufak bir parçası.

rafi

Merhaba Erol,
Tam bir program örneği istiyorsan basit iki örnek:

Pulsdetektor.de sitesindeki ATtiny-1 için
int main() {
WDTCR = 0x1F;
WDTCR = 0x17;
DDRB = 0x1A;
TCCR1 = 0xE8; // OC1A CK/8
OCR1A = 0x19;
for(;;) {
do {
PORTB = 0x00;
} while(bit_is_clear(PINB,PINB0)); // OC1A
loop_until_bit_is_clear(PINB,PINB0);
d(5 + sample_delay);
PORTB = 0x10;
d(2);
PORTB = 0x00;
d(1E);
PORTB = 0x08;
d(4);
PORTB = 0x00;
sample_delay = read_adc(PB2) / 2;
OCR1A = power;
}
}


Ayni dedektör için http://www.pulsdetektor.de/apboard/thread.php?id=296&BoardID=4 adresinde pawol'un eklediği hex kodu

int main() {
WDTCR = 0x1F;
WDTCR = 0x17;
MCUCR = 0x40;
DDRB = 0x1A;
PORTB = 0x00;
OSCCAL = eeprom_read_byte(0); // 0x77 / (119) - OSCCAL value,fine tuning for internal CLK=1,6MHz or for PULSE freq. = 500Hz
pulse1 =  eeprom_read_byte(1); // 0x09 / (9) - PULSE width value1 = 5us+(byte1*5us) = 50us
pulse2 =  eeprom_read_byte(2); // 0x13 / (19) - PULSE width value2 = 5us+(byte2*5us) = 100us
pre_delay1 =  eeprom_read_byte(3); // 0x04 / (4) - PRE-DELAY1 value = 5us+(byte3*2.5us) = 15us
delay2 =  eeprom_read_byte(4); // 0x0B / (11) - DELAY2 value = 5us+(byte4*5us) = 60us
sample_width =  eeprom_read_byte(5); // 0x01 / (1) - SAMPLEs width value = 5us+(byte5*5us) = 10us

for(;;) {
pulse_width = PB0 ? pulse1 : pulse2; // Switchable pulse width

PB1 = 1;
d(pulse_width);
PB1 = 0;

d(pre_delay1 + r21)

PB4 = 1;
d(sample_width);
PB4 = 0;

d(delay2);

PB3 = 1;
d(sample_width);
PB3 = 0;

r21 = read_adc() / 8;
d(0xFF - pre_delay1 - r21);
d(0xFF - pulse_width - sample_width - delay2 - sample_width);
d(8);
}
}

erolunall

Selam 

Rafi  bey  orda  sade  hex  codeları  var  .   Bu  programa  sizmi  çevirdiniz  .Hangi  programla  çevirdiniz.
hexi  asm  ye  çevireni  bulmuştumda  bo  galiba  basic  hexi buna  hangi  programla  çeviebiliriz .

İyi  Günler
Erol

rafi

Merhaba Erol,
Ben çevirdim, çeviren bir program yok.
Ben de re-avr ile önce asm'ye çeviriyorum. Hex'ler çok küçük olduğu için asm'ye bakarak ne olduğunu anlamak zor olmuyor.
Kodlar basic değil C kodu.
Selamlar,
Rafi

elohab2000

Merhaba arkadaşlar. Metaller acaba kendi özelliğine göre gönderilen frekansta faz kayması meydana getirirmi. Yani gönderilen frekansla alınan frekansın fazı aynımı olur yoksa çarpan metalin özelliğine göre değişik değerlerde kayarmı. Böylece metalin ne olduğu saptana bilirmi?

Benimkiside bi fikir ne dersiniz  ;)

huseyin05

Uykusuz Hocam tebrik ediyorum. Bende şöyle bir öneride bulunmak istiyorum bu alan tarama cihazların da mantık iki ayrı cihaz birisi verici birdiğeri ise alıcı peki bu cihazlardaki mantığa en yakın bir devreyi diyorum çünkü böyle bir devre ile uğraşma'dım. Şeması da yok zaten elimde..ama senin çalışmanda ortaya çıkarmış olduğun ayırt etme özelliği delta pulse'ye 8038 entegresi ile kazandıralamazmı..Yani bir anahtar yardımı ile üç ayrı sinyal "kare-üçgen-sinüs" sen anlarsın ve alan tarama ile igili bir döküman varsa eklermisin...Rica etsem.... :'(

Uykusuz

Merhaba,

Malesef şimdiye kadar alantaramalarla ilgilenmedim. Ben PI sistem cihazlarla ilgileniyorum. Forumda PI sistem cihazların çalışma mantığnı anlatan bir çok döküman mevcut onlara gözatabilirsiniz. Takıldığınız yerlerde her zaman bildiğimiz kadarınca yardımcı oluruz. Saygılar.

Uykusuz

Uzun bir aradan sonra tekrar merhaba arkadaşlar. Konuyu biraz güncelleştirelim. Ufak bir tekrark yapacak olursak,

Pulse süresinin bobinin endüktansıyla ilgili olduğundan bahsetmiştik. İlk sayfada verdiğim formüle göre farklı bobin değerlerinde şarj akımının ne zaman doyuma gideceğiyle ilgili bir similasyon yaptım.

Bobin değeri 100uH'den 800uH'ye kadar 100uH aralıklarla arttırılarak şarj akımlarının zamana göre değişimi incelenmiştir. Kullanılan şema budur:


Soldan sağa doğrru 100uH'den 800uH ye gitmektedir. Görüldüğü üzere küçük değerli bobinleri doyuma götürmek için kısa pulseler yeterli olurken büyük endüktanslı bobinlerde neredeyse pulse süresi 1mS'ye yaklaşmaktadır.


Devamı gelecek


Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious