logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega8 i 32] Czytnik RFID na EM4095

Hopen 08 Lis 2010 18:59 6714 14
REKLAMA
  • #1 8718785
    Hopen
    Poziom 12  
    Witam,
    jakiś czas temu zakupiłem czytnik MP01610 i transpondery UNIQUE, układ zamontowałem na atmedze 8 jak i próbowałem na 32, kwarc 8 i 16MHz lecz po podłączeniu nic się nie dzieje, połączenia są ok, sprawdzałem wielokrotnie i zasilanie jest z jednego zasilacza 5V 620mA, kod jaki użyłem był juz na forum elektrody. Poniżej przedstawiam:

    $regfile = "m8def.dat"
    $crystal = 8000000
    $baud = 1200
    $hwstack = 64
    $swstack = 64
    $framesize = 64
    
    Dim Tags(5) As Byte
    Dim J As Byte
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5
    Config Lcd = 16 * 2
    Config Hitag = 64 , Type = Em4095 , Demod = Pind.3 , Int = @int1
    
    Config Portd.0 = Output
    Portd.0 = 0
    Config Portd.1 = Output
    Portd.1 = 0
    
    Cls
    Lcd "Test EM4095"
    Wait 5
    
    On Int1 Checkints Nosave
    Config Int1 = Change
    Enable Interrupts
    
    Cls
    Do
    Upperline
    Lcd "Check..."
    If Readhitag(tags(1)) = 1 Then
    For J = 1 To 5
    Cls
    Lcd Hex(tags(j)) ; ",";
    Wait 2
    Next
    
    Else
    Lowerline
    Lcd "Nothing"
    End If
    Waitms 500
    Loop
    
    Checkints:
    Call _checkhitag
    Return
    


    Czy jest inny sposób na przetestowanie czytnika czy działa?
    Czy ktoś wie może dlaczego nic się nie dzieje?
  • REKLAMA
  • #2 8719239
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 8719424
    Hopen
    Poziom 12  
    jest wolna, nie podpięta.
  • #4 8719934
    maniex
    Poziom 10  
    Hopen napisał:
    jest wolna, nie podpięta.


    Nie programuję w bascomie i nie wiem dokładnie jakich sygnałów wymaga w nim procedura obsługi rfid,ale raczej należałoby podłączyć rdy/clk, bo rzeczywista częstotliwość z jaką taktuje em4095 może się znacząco różnić od standardowej i transmisja się rozjedzie, dlatego potrzebny jest sygnał synchronizujący.
  • #5 8720668
    Hopen
    Poziom 12  
    komunikacja interfejsu z mikrokontrolerem odbywa się za pomocą 3-przewodowego interfejsu, w którym linia MOD służy do synchronizacji, a linia DEMOD_OUT to wyjście sygnału po detekcji, a Linia SHD nie wiem :D, ale jest podłączona i w programie również uwzględniona :), ale nie pytajcie dlaczego, bo nie wiem.
  • REKLAMA
  • #6 8721942
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #7 8723175
    Hopen
    Poziom 12  
    Racja, zapomniałem o tym.
    Dzięki bardzo.
    A jeszcze jak wygenerować tą częstotliwość, bo ja dopiero od niedawna bawię się w programowanie i ciągle się uczę :)
  • #8 8724417
    maniex
    Poziom 10  
    Hopen napisał:
    a Linia SHD nie wiem


    ta linia odpowiada za wprowadzanie ukladu w stan uspienia, tzn. jest to wejscie, na którym jeśli pojawi się 1, to układ 4095 wprowadzany jest w sleep mode.

    układ em4095 sam generuje falę nośną, a z jej częstotliwością jest sygnał na wyjściu RDY/CLK. Wydaje mi się, że wszystkie układy scalone dedykowane do rfid generują falę nośną.
  • #9 8724720
    Hopen
    Poziom 12  
    W takim razie RDY/CLK zostawiam nie podłączoną, ale w takim razie dalej nie wiem czemu nie chce działać. Czy jest ktoś może z Wrocławia lub z Krakowa kto by mógł mi pomóc, oczywiście nie za darmo :)

    Dziękuję za wszelką pomoc.
  • #10 8726091
    Konto nie istnieje
    Poziom 1  
  • #11 8726734
    maniex
    Poziom 10  
    Oprócz dokumentacji polecam archiwalne artykuły z elektroniki praktycznej. Był jeden o układzie (chyba) zamka bezstykowego opartego na układzie em4095 i atmedze8, programowanego w bascomie. Czytałem go niedawno, wydaje mi się, że był z 2004r. Poszukaj w wyszukiwarce na portalu elektroniki pratkycznej haseł: 'rfid', 'unique'.
  • #12 8772721
    Hopen
    Poziom 12  
    Temat zamknięty.

    Układ działa i nie trzeba podłączać RDY/CLK. Wielokrotna modyfikacja programu jak i zmiana podłączenia czytnika RFID. Ostatecznie podłączony został pod PD3,4,5. Znajdę czas to sprawdzę wcześniejsze piny.

    Pozdrawiam i dziękuję za wszelką pomoc. :)

    Dodano po 53 [minuty]:

    Jedno pytanie mam jeszcze w sprawie programu.
    po naciśnięciu przycisku zaczyna odczytywać transponder, i czyta go co 5 sekundy, po chwili zwalniam przycisk i pozostaje w "nic nie robieniu". Chciałbym mianowicie żeby transponder został przeczytały raz podczas włączonego przycisku.
    Nie wiem jaką funkcją to zrobić. Ktoś ma pomysł.
    Poniżej pętla główna programu:

    Do
    If Czyt = 0 Then
    Toggle Ledr
    If Readhitag(tags(1)) = 1 Then 'odczyt karty
    M = Spr_kart(tags(1))
    Lcd ; M
    Reset Ledr
    Set Ledg
    Wait 5
    Cls
    End If
    End If
    Reset Ledg
    Waitms 100
    End If
    Loop

    Dodano po 4 [godziny] 9 [minuty]:

    Sprawa załatwiona :)

    Zamiast Wait 5 wstawiłem :
    Do
    Loop Until Prog = 1

    Teraz będę walczył z zapisałem nr transpondera do pamięci i odczytywania danych z eeprom 24Cxx przy pomocy USB. A może już ktoś to robił???
    Jak tam niech podrzuci cenne uwagi i może kodzik :)
  • #13 8780475
    piotrva
    VIP Zasłużony dla elektroda
    zrób sobie coś takiego:
    1. przejściówka usb-rs232
    2. procesor (najlepiej ten który obsługuje czytnik) ma linię uart (rs232) którą łączysz się z PC poprzez przejściówkę
    3. programowo załatwiasz sobie odczyt i zapis do pamięci (albo piszesz program na PC, albo robisz tekstowo w terminalu rs232)
  • #14 8782216
    Hopen
    Poziom 12  
    Do pamięci zapisywać będę nr transponderów + dodatkowe dane dla danego transpondera a następnie po podpięciu się przez UART-a odczyt danych z pamięci. Lepiej podpiąć się bezpośrednio do pamięci i odczytywać dane czy poprzez atmege?
    Przejściówka USB - RS232 będzie podpinana tylko do odczytu danych i zapisaniu ich na PC.
  • #15 9153461
    kamild
    Poziom 11  
    Wątek stary ale może odpowiedź się komuś przyda.
    Nie można się podpiąć liniami SHD i MOD z EM4095 do procesora do pinów d0 i d1 ponieważ w kodzie zadeklarowana jest zmienna $baud = 1200, co powoduje że powyższe linie w atmega8 służą komunikacji przez rs232 i nie będzie na nich występować niski stan.
    Rozwiązanie:
    1. Usunąć $baud = 1200 z kodu
    lub
    2. podpiąć się pod inne piny tak jak sugerował Hopen.
REKLAMA