Fórum témák

» Több friss téma
Fórum » Házilag építhető fémkereső
Lapozás: OK   278 / 278
(#) deexteer válasza mateatek hozzászólására (») Júl 12, 2026 /
 
Több mint három hetembe telt mire jittermentesen összehoztam a dacot és az adc-t, hiába vannak adatlapok, a kínai jóemberek mindent is máshogyan csinálnak.
Annyi hibába belefutottam hogy totál minimalista kapcsolást hoztam össze amíg írom a kódot, mert nem találtam a hibát.

Az eredmény viszont meglepő, esp32s3 n16r8 a főegység, van egy gmt-130 240x240 pixeles színes lcd, egy enkóder, egy pcm1808m 24 bites adc, egy max98357a mono 5 wattos dac erősítő, és egy ina118u az rx-nek 100-150x erősítéssel, egy kapcsoló a gb-nek és egy féltáp ic, kb. ennyi.

Per pillanat usb-ről megy ami nem az igazi, az 5v egy dc-dc tápról, másfél méterre a fejtől van egy jó nagy fém satupad, illetve egy méterre egy pc, ettől messzebbre nem tudtam vinni sajnos.

Az elve röviden annyi hogy a bejövő jelet pontról pontra megszorozzuk egy szinusz (I) és egy 90°-kal eltolt koszinusz(Q) referenciával, majd összegezzük, ez kinullázza a zajt, és két stabil számot adami mag és vdi, van egy 257 pontos lineárisan interpolált szinusz tábla, ez adja dacnak a szinuszt, van egy szoftveres dc blokkoló szűrő illetve gb ami gombnyomásra nem kioltja a jelet vagy kivonja hanem egyszerűen figyelmen kívül hagyja, illetve van egy szoftveres pár soros kálmán szűrő ami a vdi ugrálás miatt kellett.
Per pillanat első tesztnél kis érme 40 centi levegőben úgy hogy egyből erős stabil hangot ad, bármekkora vasat elutasít és semmi cicergés nincsen.
(#) mateatek válasza deexteer hozzászólására (») Júl 12, 2026 /
 
Szia!

Örömmel olvasom a sikereidet. Legalább valaki dolgozott is a gépén.
Én most nem nagyon értem rá. Illetve egy másik problémával foglalkozom, ami eddig elkerülte a figyelmemet. Mégpedig a fejkábel és annak helyes illesztése. Ez a dolog egy szinuszos gépnél nem gond. De egy négyszög jeles gépnél, aminél gyors felfutású négyszög jelek vannak, okoz egy-két problémát.
A múltkor olvastam itt a fórumon, talán Pucuka írásaiban, hogy miként vizsgálták az érpárok hibáit. Szakadást, vagy rövidzárat. Egy gyors felfutású négyszögjelet adtak az érpár egyik végére. A hibahelyre fénysebességgel ment a jel, majd visszajött és a visszaverődött jel polaritásából tudták, hogy szakadás, vagy zárlat.
Na, én most itt végzek tapasztalásokat. Meredek négyszögeknél ez a kábel már tápvonal, amit illeszteni kell, hogy ne legyenek reflexiók, amik mindenbe bezavarnak. Persze ekkor kiderült, hogy annyira értek a tápvonalakhoz, mint a kútásáshoz és a harangöntéshez.
Tehát most vissza az alapokhoz és kicsit kupálódok.
(#) deexteer válasza mateatek hozzászólására (») Júl 12, 2026 /
 
Azt majd én is ki akarom próbálni hogy mi van akkor ha négyszöggel hajtom meg a tekercset, van is itthon ir2104s félhíd meghajtóm hozzá meg pár fet, az órajel már megvan.

Nem tudsz véletlenül megbízható vdi értékeket fémekre? Sok helyen néztem de mindenhol mást írnak.
(#) mateatek válasza deexteer hozzászólására (») Júl 12, 2026 /
 
Ebben a kérdésben teljesen a saját értékrendszeremmel dolgozok.
De majd, ha földben lesz az érme, az elég rendesen megváltoztatja a mérést.
Elég annyit tenned, hogy levegő tesztnél az érmét egy fél tégla mögé rejted és úgy tesztelsz.
(#) nagym6 válasza mateatek hozzászólására (») Júl 12, 2026 /
 
Idézet:
„kábel már tápvonal, amit illeszteni kell, hogy ne legyenek reflexiók”
Tipikusan 50Ω forrásimpedancia, 50Ω kábelimpedancia (koax.), 50Ω lezáróimpedancia lenne a járható út. Kellő teljesítményű meghajtás is kell, gyakorlatilag 50Ω terheli a meghajtást. Itt nem lehetnek 50-100V jelek a fejtekercsen, mert nagy teljesítménnyel kellene meghajtani, sőt így csak fele feszültség lesz a fejtekercsen.
Gyanítom ez nem lesz jó út.
(#) mateatek válasza nagym6 hozzászólására (») Júl 12, 2026 /
 
Igazából nem is az adó, hanem a vevő tekercs a jelenlegi problémám. Kéteres árnyékolt vezeték. A két ér megy a tekercs végekre. Az árnyékoló harisnya pedig a tekercs árnyékolására megy. Illetve a tekercset ellenállással csillapítani is kell a berezgések ellen, hasonló módon, mint a PI gépek tekercsét.
(#) nagym6 válasza mateatek hozzászólására (») Júl 12, 2026 /
 
Ha az oszcilloszkóp beépített 50Ω lezáró ellenállását bekapcsolva adok rá 50Ω forrásimpedanciáról (generátor) gyors felfutású négyszögjelet, kapok a képernyőn egy jó jelalakot. Ha a szkóp belső ellenállása helyett a bemeneti BNC-re teszek külső 50Ω lezárást, már látszik kis reflexió a jelalaknál pedig csak pár centivel van odébb a lezárás, és fizikailag kissé más útvonalak a jelnek.
Lényeg, hogy ennyicske már okoz kis reflexiót.
(#) mateatek válasza nagym6 hozzászólására (») Júl 12, 2026 /
 
Igen. Mint írtam, ebben a témakörben még keveset tudok, de az, hogy a csillapító ellenállást megosztottam, egyik felét közvetlenül a tekercsre tettem, a másik felét pedig a vevőerősítő bemenetére, így már látható a javulás. De túl kicsi ellenállással nem dogozhatok, mert hátrányosan befolyásolja a vett jelet.
(#) mateatek válasza mateatek hozzászólására (») Júl 18, 2026 /
 
Lenne egy kérdésem valakihez, aki jobban ért a szerzői jogokhoz, mint én. Egy olyan művet, aminek az elején a következő sorok vannak, azt be lehet-e csatolni ide a fórumba?

Idézet:
„Az összes rajz és fénykép a szerzők tulajdonát képezi, kivéve a köszönetnyilvánításban
megjelölteket. Minden jog fenntartva. Személyes használat kivételével a könyv egyetlen része sem
reprodukálható semmilyen formában a kiadó írásbeli engedélye nélkül.”
(#) deexteer válasza mateatek hozzászólására (») Júl 18, 2026 /
 
"A magyar szerzői jog (szabad felhasználás esetei) alapján van néhány jogi kiskapu, amivel mégis hivatkozhatsz a könyvre:Idézés joga: Rövid, pár mondatos részletet kimásolhatsz, ha azt egy saját gondolatmeneted, kritikád vagy elemzésed alátámasztására használod. Fontos, hogy a forrást (szerző, cím) pontosan meg kell jelölni. A teljes fejezetek vagy hosszú oldalak bemásolása viszont már nem minősül jogszerű idézésnek.Saját szavas összefoglalás: A könyvben található információkat, gondolatokat, tényeket átfogalmazhatod a saját szavaiddal. A gondolatok és információk maguk nem állnak szerzői jogi védelem alatt, csak azok konkrét leírt formája (a szöveg).Fényképek és rajzok: A képek, illusztrációk másolása szinte soha nem fér bele a szabad idézés kategóriájába, ezeket semmiképp ne töltsd fel."
(#) mateatek válasza deexteer hozzászólására (») Júl 19, 2026 /
 
Most beindult a fejemben a zagy. Kettő adó tekercs, egy vevő. Mindkét adó más-más frekin. A vevő meg veszi mindkettőt.

tekercsek.png
    
(#) nagym6 válasza mateatek hozzászólására (») Júl 19, 2026 /
 
Kérdés, hogy kiegyenlíthető-e. Nem tudom. A DD fej alakja is azért olyan, mert így van nullhelyzet amiben az egész tekercsalak részt vesz.
(#) mateatek válasza nagym6 hozzászólására (») Júl 19, 2026 /
 
Én nem a kiegyenlíthetőségtől félek. Hanem attól, hogy kicsi lesz az érzékelési zóna. Kell kicsit kísérletezni.
(#) deexteer válasza mateatek hozzászólására (») Júl 19, 2026 /
 
Nem lenne egyszerűbb egyből 2 dróttal tekerni tx tekercset? Én is gondolkodtam nem szabványos tekercselésen, laposan tekert, magasan tekert, dupla nyolcas és 4 levelű lóhere alak is volt közöttük, párat ki is fogok tudni próbálni, van elég sok drótom illetve maradt nagyon régről letekert de nem ragasztott tgsl tekercsem.
(#) mateatek válasza deexteer hozzászólására (») Júl 19, 2026 /
 
Az úgy nem megy. Az gyakorlatilag egy tekercs lenne.
(#) deexteer válasza mateatek hozzászólására (») Hé, 20:28 /
 
pcm1808 adc-nél találtam egy nagy hibát, L és R bemenetén 10uf elkó van és a negatív fele van a csatlakozónál, szerintem eleve úgy gondolták hogy belső féltápja a pozitív a bemenethez képest, viszont kintről is 2,5 voltra ültetett jelet kap, ez bezavarhat vajon a mérésbe?
(#) mateatek válasza deexteer hozzászólására (») Hé, 20:38 /
 
Nem lehet, hogy rosszul nézed? A bemeneteken 1µF kerámia van az én nézetem szeirnt.
(#) deexteer válasza mateatek hozzászólására (») Hé, 20:48 /
 
Nem mert kimértem az útját, 2 nagy kondi van 3 lyuk mellett, a 3 lyuk a gnd L és R.
(#) mateatek válasza deexteer hozzászólására (») Kedd, 7:24 /
 
Az mindenképpen problémás, ha a váltakozó áramú jelútban polarizált kondi van. De ha így van, akkor azért az kicserélhető lenne fóliára.
(#) deexteer válasza mateatek hozzászólására (») Pé, 21:23 /
 
Kijavítottam az adc-n talált hibát, nagyon jó lett most, vdi maximum 1-2 számot változik találatkor, zaj, cicergés nulla, egyből erős hang van. Annyit még megcsináltam vele hogy adc mindkét csatornáját használom, egyik rx bemenet, másik tx bemenet, így csak felemelve lehet bekapcsolni mert pár század másodpercig mér és elforgatja tx-hez képest 90 fokkal rx-et. Gb csak utána nullázható.
(#) mateatek válasza deexteer hozzászólására (») Pé, 21:33 /
 
Akkor ezek szerint nálad a vevő tekercs egyáltalán nincsen rezonanciára hangolva.
Én ezt nem szeretem, mert ha rezonancián van a tekercs, akkor nagyságrenddel nagyobb a vett jel, így sokkal kisebb erősítés is elegendő és így az erősítő hibái is kisebbek lesznek.
De viszont, ha a vevő rezonancián van, akkor az alkatrészek dilatációja is jelentősen befolyásolja a fej fázistolását, amit viszonylag gyakran ellenőrizni kell.

BPphase.jpg
    
(#) mateatek válasza deexteer hozzászólására (») Pé, 21:37 /
 
Az majd érdekelni fog (ha publikus), hogy miként oldod meg a talaj jel gyakorlati kiszűrését. Mert ugye a talaj hasonlatos a találatokhoz. Mágnesezhető a vasoxid miatt. Mint a vas. és vezeti az áramot a vízben oldott sók és egyebek miatt. Mint a vas.
(#) deexteer válasza mateatek hozzászólására (») Pé, 23:47 /
 
Most hogy mondod az rx rezonanciát, találtam még egy hibát, ugyanis rx tekercset felharmónikusra hangoltam (32khz), pedig színusszal dolgozom, ferritre vasra meg sem nyikkan. Megnézem melyik verzió került bele, a gb szerintem a figyelmen kívűl hagyás illetve iir szűrő és kálmán szűrő talajhatás ellen, az pár soros kód.

Most jön az érdekes dolog az esp32s3 ban van egy Ai funkció ami szöveget illetve kamerát rákötve arcot is felismer, gyakorlatilag nagy macerával kell mintavételezni pl. 10db szeget söröskupakot érmét stb. külön külön, amit később rá lehet tölteni és egyből megmondja mit találtál. Ezt elég egyszer megcsinálni viszont laptop is kell hozzá.

A másik ötlet még egy beépített 6 tengelyes giroszkóp. Találatnál megnyomsz egy gombot ami nullázza, körbetapogatod a fejjel mivel miliméter pontosan tudja merre lengetsz és hol a találat valamit kirajzol.
(#) deexteer válasza mateatek hozzászólására (») Szo, 21:04 /
 
Goertzel/Kalman után 90°-kal elforgatom az I/Q-t, hogy a talajhatás egy tengelyre essen, gombnyomásra 10 blokkot (10x2304) átlagolok az elforgatott értékekből → ez lesz a zero_I / zero_Q, minden új mintánál kivonom ezt a vektort, vizes/vasas talajon a maradék lassú driftet a Motion mode HP-szűrője takarítja. (esp32s3 wroom n16r8)
(#) deexteer válasza deexteer hozzászólására (») Szo, 21:04 /
 
// === GB VALTOZOK ===
volatile float zero_I = 0.0f;
volatile float zero_Q = 0.0f;
volatile bool ground_balance_request = false;
const float HP_ALPHA = 0.992f; // motion modehoz

// Ezt hivd meg a Goertzel + Kalman szures utan:
// Bemenet: filtered_I, filtered_Q (Vrms szinten)
// Kimenet: out_I, out_Q (talajmentes)
void applyGroundBalance(float filtered_I, float filtered_Q,
float& out_I, float& out_Q,
bool motion_mode_active,
float& last_I_zeroed, float& last_Q_zeroed,
float& hp_filter_I, float& hp_filter_Q)
{
// 1. 90 fokos elforgatas (TX-hez kepest)
// Ezzel a talaj vektora nagyreszt az I tengelyre kerul
float rotated_I = filtered_Q;
float rotated_Q = -filtered_I;

// 2. Ground balance gyujtes (gombnyomasra)
static bool gb_collecting = false;
static float gb_sum_I = 0.0f;
static float gb_sum_Q = 0.0f;
static int gb_samples = 0;

if (ground_balance_request) {
gb_collecting = true;
gb_sum_I = 0.0f;
gb_sum_Q = 0.0f;
gb_samples = 0;
ground_balance_request = false;
Serial.println("[GB] Gyujtes indul...");
}

if (gb_collecting) {
gb_sum_I += rotated_I;
gb_sum_Q += rotated_Q;
gb_samples++;
if (gb_samples >= 10) { // 10 Goertzel blokk atlagolasa
zero_I = gb_sum_I / gb_samples;
zero_Q = gb_sum_Q / gb_samples;
gb_collecting = false;
Serial.printf("[GB] Kesz. zero_I=%.4f zero_Q=%.4f\n", zero_I, zero_Q);
}
}

// 3. Kivonas - a talaj allando vektorat eltavolitjuk
float I_zeroed = rotated_I - zero_I;
float Q_zeroed = rotated_Q - zero_Q;

// 4. Motion mode (vizes/vasas talaj lassu valtozasaihoz)
if (motion_mode_active) {
hp_filter_I = HP_ALPHA * (hp_filter_I + I_zeroed - last_I_zeroed);
hp_filter_Q = HP_ALPHA * (hp_filter_Q + Q_zeroed - last_Q_zeroed);
out_I = hp_filter_I;
out_Q = hp_filter_Q;
} else {
out_I = I_zeroed;
out_Q = Q_zeroed;
hp_filter_I = 0.0f;
hp_filter_Q = 0.0f;
}
last_I_zeroed = I_zeroed;
last_Q_zeroed = Q_zeroed;
}

// === GOMB KEZELES (loop-ban) ===
// #define GND_BALANCE_BTN 14

void handleGBButton() {
static uint32_t gb_btn_timer = 0;
static bool last_gb_btn = HIGH;
static uint32_t gb_lock = 0;

bool gb_btn = digitalRead(GND_BALANCE_BTN);

if (gb_btn == LOW && last_gb_btn == HIGH) {
gb_btn_timer = millis();
}
if (gb_btn == HIGH && last_gb_btn == LOW) {
uint32_t d = millis() - gb_btn_timer;
if (d > 20 && d < 2000 && (millis() - gb_lock > 500)) {
ground_balance_request = true;
gb_lock = millis();
}
}
last_gb_btn = gb_btn;
}
(#) deexteer válasza deexteer hozzászólására (») Szo, 21:05 /
 
// Goertzel szamitas utan megvan: volt_I_L, volt_Q_L
// Dejitter + Kalman utan: filtered_I, filtered_Q

float processed_I, processed_Q;
applyGroundBalance(filtered_I, filtered_Q,
processed_I, processed_Q,
motion_mode_active,
last_I_zeroed, last_Q_zeroed,
hp_filter_I, hp_filter_Q);

// Innentol processed_I/Q mar talajmentes
float mag = sqrtf(processed_I*processed_I + processed_Q*processed_Q);
Következő: »»   278 / 278
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem