Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Prosty wykrywacz metali na AT89C2051

maciej_333 10 Wrz 2012 00:56 19683 15
  • Prosty wykrywacz metali na AT89C2051

    Urządzenie jakie chciałbym dziś zaprezentować jest naprawdę trywialne, jednak być może ktoś na tym skorzysta.
    Przejdźmy jednak do rzeczy. Schemat układu znajduje się poniżej.
    Prosty wykrywacz metali na AT89C2051
    Niestety sporządziłem tylko odręczny szkic. T1 i T2 pracują tu w układzie oscylatora. Wymyśliłem ten układ kiedyś, na poczekaniu. Prawdopodobnie jest to oscylator Butlera. T3 i T4 to przerzutnik Schmitt'a dla zaformowania drgań sinusoidalnych z kolektora T2. Jako tranzystory zastosowałem 2SC1815Y. Tylko dlatego, że mam ich mnóstwo na płytach od TV. Mikrokontroler pracuje tu jako miernik częstotliwości dużych - tzn. zlicza impulsy sygnału mierzonego w trakcie trwania impulsu wzorcowego. Przerwanie zewnętrzne INT1 i wejście licznika T0 są zewnętrznie zwarte. Jest to niezbędna synchronizacja cyklu pomiarowego z przebiegiem mierzonym. Pozwala to wyeliminować niestabilności pomiaru związane z asynchronicznym pojawianiem się pierwszego impulsu mierzonego względem cyklu pomiarowego. Wciśnięcie K1 wywołuje rozpoczęcie kalibracji przyrządu. Obliczana jest wówczas średnia z czterech kolejnych pomiarów częstotliwości. Właśnie ta wartość jest potem brana za odniesienie. W kolejnych pomiarach mikrokontroler bada, czy częstotliwość generatora pomiarowego wzrosła, czy zwiększyła się względem częstotliwości odniesienia. Na podstawie tego sterowany jest buzer (z generatorem) i stosowne diody. Diody wskazują wzrost (D1), lub spadek częstotliwości (D2). Zatem odpowiednio wskazywane jest tu wykrycie ferromagnetyku, lub pozostałych metali. Częstotliwość migania właściwej diody oraz pisków buzera jest proporcjonalna do odstrojenia oscylatora. Wykrycie odstrojenia jest wskazywane dopiero wówczas, gdy jest ono większe od nastawionej czułości. Czułość nastawia się za pomocą P1. Im wyższe napięcie na jego ślizgaczu, tym niższa czułość. Wykonany tu układ można teoretycznie nazwać najprostszym przetwornikiem AC z pojedynczym całkowaniem. Wykorzystuje on wewnętrzny komparator mikrokontrolera AT89C2051. Jednak w rzeczywistości jest on mało stabilny i nieliniowy. Liniowość poprawiłem wykorzystując jedynie 0,2 stałej czasowej obwodu R12, C10. Obliczyłem, że po czasie 440µs napięcie na C10 wyniesie 0,9063V. Zatem dla takiego napięcia obliczyłem R11. Timer T1 wyznacza czas impulsu wzorcowego - czas bramkowania. Jego przerwanie jest zgłaszane co 62ms. Przy okazji jest to też okres próbkowania przetwornika AC. Jednak czas bramkowania wyznaczają zwory Z2, Z3 i Z4. Czas bramkowania obliczymy następująco:





    MSB LSB
    czas bramkowania = (Z2 Z3 Z4 + 3) * 62ms

    Jeżeli dana zwora jest założona, to oznacza to 0, zdjęta 1. Zatem maksymalny czas bramkowania wynosi 620ms. Taki właśnie czas nastawiłem w swoim układzie. Dla poprawy stabilności wartości z AC również i tu obliczana jest średnia z pomiarów wyznaczonych, których liczbę wyznacza mnożnik podany dla czasu bramkowania. Założenie Z5 załącza tryb serwisowy. Zworę tą należy zakładać przy wyłączonym zasilaniu. W trybie tym założenie Z2 powoduje wyświetlanie wartości przetwornika AC (bez uśrednienia) za pomocą diod D1 i D2. Natomiast zdjęcie Z2 to wyświetlanie częstoltiwości generatora pomiarowego z rozdzielczością 1kHz (dla wygody odczytu). Częstotliwość obliczymy następująco:

    częstotliwość [kHz] = (liczba mignięć D1) + (liczba mignięć D2) * 10


    Natomiast dla wartości przerwornika AC jest to:
    wartość AC = (liczba mignięć D1) + (liczba mignięć D2 - 1) * 100

    Początek wyświetlania każdego z pomiarów sygnalizowany jest piskiem buzera. Kolejno miga D1, potem D2. Zakres pomiaru częstotliwości wynosi 255kHz. Przy jego przekroczeniu otrzymamy trzy piski buzera i brak wyświetlenia pomiaru. Jeżeli oscylator się nie wzbudzi, to otrzymamy tylko jeden pisk w trakcie załączania zasilania. Założenie Z1 przełącza wykrywacz w tryb dynamiczny (auto dostrojenie). W trybie tym strojenie wykrywacza nie jest wymagane.

    Zastosowałem tu cewkę cylindryczną, ekranowaną. Indukcyjność wynosi ok. 0,9mH. Natomiast częstotliwość drgań generatora to aktualnie ok. 54kHz. Włącznik zasilania W1 sprzęgnięty jest z potencjometrem P1. Zasilanie układu wykonane jest poprzez stabilizator 78L05 z baterii 9V.

    Poniżej przedstawiam wygląd wykrywacza. Obudowę wykonałem z paneli podłogowych, sklejonych klejem polimerowym. Połączenia wzmocniłem dodatkowo kołkami z wykałaczek. Pokrywę stanowi tu tworzywo sztuczne, odzyskane ze starej drukarki. Całość zmontowałem na płytce uniwersalnej.

    Prosty wykrywacz metali na AT89C2051 Prosty wykrywacz metali na AT89C2051 Prosty wykrywacz metali na AT89C2051

    Jak widać można coś zrobić bez AVR i Arduino. Oprogramowanie zajmuje 640 bajtów, napisałem je w asemblerze mikrokontrolera 8051. Główny problem przy pisaniu softu to brak przerwania od komparatora i tylko dwa Timery.

    Poniżej opis wykonania sondy. Sonda jest dość prosta. Bardzo istotna jest tu sztywność mechaniczna. Już minimalna (niezauważalna) deformacja zostanie wykryta jako odstrojenie. W moim wykonaniu wyciąłem otwornicą z kawałka panelu podłogowego krążek o średnicy ok. 3cm. Grubość takiego panelu wynosiła 7mm. Kolejno zrobiłem otwornicą dwa większe koła z tworzywa sztucznego, odzyskanego z obudowy jakiejś drukarki. Po zmatowieniu skleiłem centrycznie wszystkie dyski klejem polimerowym. Na czas klejenia skręciłem wszystko śrubą M4. Następnie wykleiłem równo wnętrze takiego karkasu folią aluminiową. Jest to ekran. Trzeba pamiętać, by zostawić ok. 1cm przy wyprowadzeniach bez ekranu. Ekran musi być szczelny, ponadto nie może mieć dodatkowych dziur. Następnie wkleiłem izolację z papieru. Ostatecznie nawinąłem uzwojenie i zabezpieczyłem je ciasnymi obwojami sznurka. Kolejno nakleiłem jeszcze warstwę papieru i zawinąłem do środka wystający nadmiar folii aluminiowej. Końcowo dodałem jeszcze pas folii dla poprawy ekranu. Na koniec wyprowadzenie ekranu za pomocą odcinka drutu dociśniętego do ekranu sznurkiem, potem papier i zewnętrzny czerwony pas tworzywa sztucznego wklejony Poxipolem. Wykonując cewkę niezmiernie istotna jest ta przerwa w ekranie. Z sondą wzorować się można na szkicach z tego artykułu: Link. Dochodzi tylko karkas.

    Orientacyjne zasięgi (w powietrzu):
    2 grosze (współczesne) - 3,5cm
    1 grosz (współczesny) - 3cm
    5zł (współczesne) - 4cm
    10zł (PRL) - 3,5cm
    20zł (PRL) - 4,5cm
    łuska Mauser - 5cm
    łuska Szwak (kaliber 20mm) - 8cm

    W załączniku skompilowany soft + źródło.

    Załączniki:

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz pendrive 32GB.
  • #2 10 Wrz 2012 12:14
    Klima
    Poziom 30  

    Gdy robiłem coś podobnego, dużym wyzwaniem była stabilność częstotliwości odniesienia. Stanęło na tym, że użyłem kwarcu, gdyż jakiekolwiek układy RC w tym wbudowane w mikrokontroler (używałem ATtiny) nie były wystarczająco stabilne.

  • #3 10 Wrz 2012 15:00
    maciej_333
    Poziom 34  

    Klima napisał:
    Gdy robiłem coś podobnego, dużym wyzwaniem była stabilność częstotliwości odniesienia. Stanęło na tym, że użyłem kwarcu, gdyż jakiekolwiek układy RC w tym wbudowane w mikrokontroler (używałem ATtiny) nie były wystarczająco stabilne.

    To jasne. Zapomniałem narysować kwarcu. Już wstawiłem poprawiony schemat. W AT89C2051 i tak nie ma wewnętrznego oscylatora RC. Zastosowałem zatem typowy, jak dla 8051 kwarc 12MHz. Zrobić taki układ na AVR to byłby luksus. Mamy tu tak potrzebne przerwanie od komparatora, a nawet ADC i więcej Timerów. Jednak AVR jest za drogi w porównaniu z tym co oferuje, więc z niego zrezygnowałem.

  • #4 10 Wrz 2012 18:14
    phanick
    Poziom 28  

    Kiedyś widziałem prostszy wykrywacz, opublikowany na elektrodzie, składający się z dwóch tranzystorów w układzie Darlingtona z wiszącą bazą, która pełniła rolę anteny, przykładanej do ściany celem wykrycia przewodów pod napięciem.

  • #5 10 Wrz 2012 20:07
    maciej_333
    Poziom 34  

    phanick napisał:
    Kiedyś widziałem prostszy wykrywacz, opublikowany na elektrodzie, składający się z dwóch tranzystorów w układzie Darlingtona z wiszącą bazą, która pełniła rolę anteny, przykładanej do ściany celem wykrycia przewodów pod napięciem.

    Tak, ale ten prosty układ nie ma z tym nic wspólnego. Tutaj mierzona jest częstotliwość generatora LC.

  • #6 10 Wrz 2012 20:16
    Klima
    Poziom 30  

    A próbowałeś z sondami o innych rozmiarach? Nie wiem, do czego potrzebujesz ten wykrywacz, ale zasięgi są słabe. Nie żebym w moim wykrywaczu osiągał dużo lepsze...

  • #7 10 Wrz 2012 20:23
    maciej_333
    Poziom 34  

    Klima napisał:
    A próbowałeś z sondami o innych rozmiarach? Nie wiem, do czego potrzebujesz ten wykrywacz, ale zasięgi są słabe. Nie żebym w moim wykrywaczu osiągał dużo lepsze...


    Większe sondy = większe problemy. Dodatkowo spadnie zasięg na małe przedmioty. Trudniej uzyskać dostatecznie dobrą stabilność mechaniczną. Cewka ma też za małą indukcyjność. Ekran cewki, który jest niezbędny też mocno ograniczył czułość. U mnie częstotliwośc generatora wynosi 54kHz. Ile wynosiło to u Ciebie ? Osiągi byłyby znakomite, gdybym np. zastosował częstotliwość 150kHz. Jednak tłumienie takiego sygnału w ziemii jest zbyt duże. Moim zdaniem te osiągi są dobre. W końcu to taki "pinpointer" - mały wykrywacz.

    Przykładowo bez zaekranowania cewki i przy częstotliwości 70kHz 2 grosze dało się wykryć z odległości 5cm.

  • #8 10 Wrz 2012 20:46
    Tomasz Gumny
    Poziom 27  

    maciej_333 napisał:
    Przykładowo bez zaekranowania cewki i przy częstotliwości 70kHz 2 grosze dało się wykryć z odległości 5cm.
    W powietrzu czy w gruncie? Sondy nie jesteś w stanie prowadzić idealnie na tej samej wysokości nad ziemią - jak to wpływa na częstotliwość?
    Podobny projekt zrobił Zbyszek Raabe w EP: Link

  • #9 10 Wrz 2012 21:45
    maciej_333
    Poziom 34  

    Tomasz Gumny napisał:
    maciej_333 napisał:
    Przykładowo bez zaekranowania cewki i przy częstotliwości 70kHz 2 grosze dało się wykryć z odległości 5cm.
    W powietrzu czy w gruncie? ...

    Oczywiście w powietrzu. Zbliżenie cewki do ziemi bez ekranu , albo dotknięcie jej ręką odstraja generator.

    Tomasz Gumny napisał:
    ... Sondy nie jesteś w stanie prowadzić idealnie na tej samej wysokości nad ziemią - jak to wpływa na częstotliwość? ...

    Cewka ma ekran, więc odstrojenie generatora przez ziemię nie występuje.

    Tomasz Gumny napisał:
    ... Podobny projekt zrobił Zbyszek Raabe w EP: Link

    Widziałem kiedyś ten projekt. To urządzenie wydaje się być nieco "naciągane". Ten prosty generator i układ formujący nie spiszą się dobrze. W takim wykrywaczu dużym problemem są straty, powstające w szukanym metalu. Zmniejszają one amplitudę drgań generatora, przez co układ formujący może błędnie ukształtować sygnał. W takiej sytuacji mikrokontroler błędnie interpretował zmiany częstotliwości. W dużym stopniu rozwiązała to histereza przerzutnika Schmitt'a w moim rozwiązaniu. Na cewce ze zdjęcia jakoś też nie widzę przerwy w ekranie. Podane zasięgi są raczej mało prawdopodobne. Ponadto brak tu synchronizacji cyklu pomiarowego z sygnałem mierzonym. W moim przypadku coś takiego poprawiło stabilność wykrywacza.

  • #10 10 Wrz 2012 21:50
    Supermodurator
    Poziom 13  

    Napociłeś się, a wystarczyło skopiować mój projekt opracowany 11 lat temu
    i udostępniony przed laty na exploracji
    http://www.exploracja.cyberdusk.pl/phpbb2/viewtopic.php?f=45&t=11074

    dlaczego użyłeś tak archaicznego mikrokontrolera do nowego projektu?
    Śrubując zasięg użyłeś zbyt dużej częstotliwości pracy wykrywacza!
    Tłumienie gruntu będzie olbrzymie.
    Regulacja czułości w urządzeniu które ma 3 cm zasięgu - po jaką ch..ę!
    Od strony mechanicznej, cóż.. drewniana obudowa?!?
    Taka szczelina przy pokrętle w sprzęcie, który pracować ma w piachu?
    A ta dziwaczna sonda to już w ogóle jakieś nieporozumienie - jak czymś
    takim grzebać w ziemi?
    Żeby zmienić tryb pracy trzeba rozkręcać obudowę i przekładać zworkę?
    Ciekawe jak to zrobić w terenie? Wspaniałe rozwiązanie..

  • #11 10 Wrz 2012 22:05
    maciej_333
    Poziom 34  

    Supermodurator napisał:
    Napociłeś się, a wystarczyło skopiować mój projekt opracowany 11 lat temu
    i udostępniony przed laty na exploracji
    http://www.exploracja.cyberdusk.pl/phpbb2/viewtopic.php?f=45&t=11074 ...

    Wypowiedziałem się w tym temacie odnośnie tego urządzenia. Ponadto ja staram się zawsze opracowywać coś samodzielnie. Jeżeli mam jakiś pomysł, to staram się coś zrobić lepiej od innych.

    Supermodurator napisał:
    ... Śrubując zasięg użyłeś zbyt dużej częstotliwości pracy wykrywacza! Tłumienie gruntu będzie olbrzymie. ...

    Ostatecznie i tak zmniejszyłem częstotliwość względem pierwotnych założeń z tego powodu. Pomyśl jak dasz 30kHz to będzie dużo lepiej ? Warto to robić ?

    Supermodurator napisał:
    ... Od strony mechanicznej, cóż.. drewniana obudowa?!?
    Taka szczelina przy pokrętle w sprzęcie, który pracować ma w piachu?
    A ta dziwaczna sonda to już w ogóle jakieś nieporozumienie - jak czymś
    takim grzebać w ziemi?
    Żeby zmienić tryb pracy trzeba rozkręcać obudowę i przekładać zworkę?
    Ciekawe jak to zrobić w terenie? Wspaniałe rozwiązanie..

    Co złego jest w obudowie drewno-podobnej (oprócz masy) ? Zakup obudowy uniwersalnej nie wchodził w grę, bo urządzenie miało kosztować 0zł. Szczelina też nie przeszkadza, bo raczej uważam na zabrudzenia. Ponadto bardzo rzadko mam okazję na wyjazd w teren. Te wszystkie tryby (w tym serwisowe) i nastawa czasu bramkowania są dla uzyskania uniwersalności programu. Każdy może dopasować to do swoich potrzeb i dodać odpowiednie przełączniki. Ja nie potrzebuję innych trybów. Sonda jest dobra, można tym grzebać w ziemi. Jej zamocowanie mechaniczne jest solidne.

  • #12 11 Wrz 2012 20:20
    maciej_333
    Poziom 34  

    kostuha napisał:
    Widać ze sporo pracy w to włożyłeś, choć ja bym wolał coś innego.

    Trochę się nakombinowałem z programem i tyle. To jest tak proste urządzenie, że nawet wstydziłem się trochę to prezentować. Jeśli wolno spytać czego kolega by oczekiwał ?

    Supermodurator :arrow: zastosowałem stary mikrokontroler, bo jest bardzo tani. Ponadto to bardzo miły mikrokontroler. Regulacja czułości jest zastosowana, bo jest konieczna. Różne generatory mają różną stabilność. Dzięki temu możesz sobie dobrać czułość względem własnego generatora. Przez to nie trzeba wciskać kalibracji co chwilę. Ponadto regulacja czułości wykonana w taki sposób wygląda bardzo dobrze.

  • #13 11 Wrz 2012 21:23
    kostuha
    Poziom 12  

    Mam na myśli zwykłe wykrywacze a nie Pinpointery ponieważ z takim to nie da się polatać po polach itp. Fajnie by było gdybyś coś takiego zrobił :)

    Pozdrawiam

  • #14 11 Wrz 2012 21:42
    maciej_333
    Poziom 34  

    kostuha napisał:
    Mam na myśli zwykłe wykrywacze a nie Pinpointery ponieważ z takim to nie da się polatać po polach itp. Fajnie by było gdybyś coś takiego zrobił :)

    Pozdrawiam

    Jak będę miał kiedyś czas zrobię porządne PI na mikrokontrolerze, albo może nawet VLF z DSP. Zawsze możesz tu wstawić cewkę większej średnicy i będzie "duży" wykrywacz. Urządzenie jest na tyle proste i tanie, że można sobie tak eksperymentować.

  • #15 12 Wrz 2012 11:07
    Klima
    Poziom 30  

    maciej_333 napisał:
    U mnie częstotliwośc generatora wynosi 54kHz. Ile wynosiło to u Ciebie ?


    Niestety nie pamiętam.
    Ale większa cewka = większa indukcyjność, więc i niższa częstotliwość.
    Moje eksperymenty w każdym razie zniechęciły mnie do wykrywaczy opartych o tą metodę. Może czołg by się tym dało wywąchać, ale nic mniejszego...

  • #16 12 Wrz 2012 11:35
    tplewa
    Poziom 38  

    maciej_333 napisał:
    kostuha napisał:
    Mam na myśli zwykłe wykrywacze a nie Pinpointery ponieważ z takim to nie da się polatać po polach itp. Fajnie by było gdybyś coś takiego zrobił :)

    Pozdrawiam

    Jak będę miał kiedyś czas zrobię porządne PI na mikrokontrolerze, albo może nawet VLF z DSP. Zawsze możesz tu wstawić cewkę większej średnicy i będzie "duży" wykrywacz. Urządzenie jest na tyle proste i tanie, że można sobie tak eksperymentować.


    W sumie nie wiem czy te DSP jest konieczne. Zerknij na polskie detektory Rutus, one z tego co kiedys rozmawialem z konstruktorem smigaja na AVR-ach :) nawet swojego czasu o ile dobrze pamietam chyba byl avr bez przetwornika A/C... i byl on realizowany za pomoca software i ... (przynajmniej z tego co pamietam takie info dostalem od autora). Calosc nawet chyba pisana w Bascomie (ale tutaj moge sie mylic) bo dyskusja na ten temat byla juz sporo czasu temu.

    Choc mozna i na DSP robic VLF-a, na pewno mozna wiele wtedy usprawnic...

    Natomiast akurat PI robilem na AVR-ku i smigal bardzo przyzwoicie... Chyba jest to najciekawsze wyjscie jesli chodzi o zbudowanie jakiegos wmiare funkcjonalnego i prostego detektora. Tego typu uklady co zaprezentowany tutaj nie sa najszczesliwsze jesli chodzi o ich stabilnosc i komfort uzytkowania... ot uklad bardziej do zabawy...