mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RFID - China-Reader ohne Spezial-IC


Autor: Uwe Felgentreu (ufe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir mal die Zutrittskontrolle SMQ-303 aus Hong-Kong für 15 Euro 
schicken lassen.
Darin ist ein 8051-Derivat als uC, 3 LEDs, eine 3x4-Matrix als Keypad, 
ein Tür-Relais, die Stromversorgung (7805) und ein RFID-Leser.
Das alles in einem Plastegehäuse mit einem WAF nahe 100%.

Nun zur Aufgabe:

Der eingebaute uC ist pinkompatibel mit dem atmega8515. Also im 
Idealfall nix löten, sondern nur neuen uC und programmieren.
Die Belegung aller Anschlüsse inkl. Tastaturmatrix ist gut zu erkennen.

Mein Problem: Der RFID-Leser ist nicht mit einem EM4095 oder U2270B o.ä. 
aufgebaut, sondern mit 2 CMOS-IC und einer Handvoll Hühnerfutter.
Es gibt 4 Anschlüsse: +5V, Masse, den "fast"-Digital-Ausgang DR-OUT mit 
den RFID-Daten zum uC und einem Eingang CFE. CFE=LOW gibt den RFID-Leser 
frei, CFE>1V sperrt den Transponder.
Im Original laüft das bis ca. 15cm Abstand 1A!

Nun dachte ich mir, das sieht aus wie der U2270B. Im Prinzip macht der 
lt. Blockschaltbild nichts anderes. Also DR-OUT an den Pind.3 der 
Pollin-Platte. Da passiert aber nichts. Im Display steht weiter 
"Check...", Nichts wird erkannt. Der parallel angeschlossene 
Originalreader geht aber.

Ich hab das Signal auch schon mit 2x 4093-Schmitt-Trigger etwas Steiler 
gemacht, invertiert usw. Auf dem Oszi sieht schon so aus wie die 
Pollin-Signale.

1. frage: Ist die Polarität der Manchester-Signale am DR-OUT wichtig? 
Eigentlich ja nicht...
2. frage: Wie manuell Dekodieren. Mit der em4095.lib im Bascom geht es 
ja anscheinend nicht.

Mache ich nun mit dem vorhandenen ID-Modul weiter oder löt ich mir mit 
dem EM4095 was zusammen und nehm BASCOM? Hat schon mal wer sowas zu Fuß 
dekodiert? (Möglichst mit BASCOM)

Uwe

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>1. frage: Ist die Polarität der Manchester-Signale am DR-OUT wichtig?
>Eigentlich ja nicht...
Je nachdem wie die Software gestrickt ist.

>Mache ich nun mit dem vorhandenen ID-Modul weiter oder löt ich mir mit
>dem EM4095 was zusammen und nehm BASCOM
Wieso baust du ihn denn nicht 1:1 nach? Irgendwie versteht ich noch 
nicht so recht um was es dir geht.

Autor: Uwe Felgentreu (ufe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, nachbauen will ich eigentlich gar nichts. Der Reader wie in den 2 
Zeichnungen abgebildet liegt bei mir auf dem Schreibtisch. Mein Problem 
ist, das das Signal aus dem ID-Modul offensichtlich nich völlig 
identisch mit den Signalen vom U2270/EM4095 ist. Im Prinzip kommt bei 
den beiden IC-Typen am Ausgang das gefilterte und "digitalisierte" 
RFID-Signal raus.

Nichts anderes macht diese diskret aufgebaute Schaltung. Ich hatte nun 
die Hoffnung, dass ich mit der Bascom-Lib em4095.lib die Hitag-Funktion 
nutzen kann und das Signal einfach einlesen kann. Dann brauch ich 
hardwaretechnisch nichts zu verändern.

Geht das nicht, muß ich das ID-Modul rauslöten und durch ein kleines 
em4095-Modul ersetzen. Die Große Spule im Gehäuse kann ich ja 
weiterverwenden.

Schön wäre eben, wenn jemand sagt "kenn ich, hab ich schon so mal 
gemacht"

Wenn das klappt, will ich 9 Stück davon vernetzen. Da ist 
Hardware-Aufwandsminimierung schon sinnvoll.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht lässt du ja dann mal die Restriktion "muss alles mit
BASCOM gehen" fallen?  Beispielsweise ist hier vorletztes Jahr

http://www.mikrocontroller.net/articles/RFID_T%C3%BCrmodul

eine RFID-Reader-Implementierung beschrieben worden, bei der die
Software komplett mit dabei liegt.  Da kannst du ggf. an der
Software feilen, bis sie deinen Datenstrom versteht.

Autor: Zorc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ist die Polarität der Manchester-Signale am DR-OUT wichtig?
Eigentlich ja nicht...


Das Empfangene ist ja synchron zum Sender. Daher kann der Empfaenger die 
Polaritaet einschraenken.

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann jemand erklären wie die Schaltung oben (ID-Modul.gif) funktioniert? 
Also der Teil bis zur Gegentaktendstufe ist klar, aber das danach nicht 
mehr so ganz.

Ich möchte mir einen RFID-Reader aufbauen und überlege noch ob diskret 
oder als fertiges IC (EM4095). Welche Version (diskret/IC) ist 
zuverlässiger, flexibler und Leistungsfähiger (größere "Reichweite") 
wenn sie ordentlich aufgebaut wurde?

Autor: Uwe Felgentreu (ufe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich kann die Funktion nachvollziehen, immerhin liegt das Teil bei 
mir auf dem Tisch und funktioniert. Die Messungen mit dem Oszi zeigen 
dabei auch sehr schön, an welcher Stelle in etwa was passiert.

Der obere Teil ist sicherlich klar. Es werden 125kHz erzeugt und auf die 
Spule gegeben. Resonanzfrequenz spielt hier nur eine untergeordnete 
Rolle, da die 125kHz ja per Quarz feststehen. Stimmt die Resonanzfreq. 
nicht, sinkt nur die Reichweite. An der Spule mißt der Oszi etwa 90V 
(Spitze-Spitze).

An der Diode D1 steht das Amplituden(de)modulierte Signal zur weiteren 
Verarbeitung zur Verfügung. Der 4069 beinhaltet 6 Inverter, welche sich 
als Analog-Verstärker missbrauchen lassen. Die ersten 4 Stufen sind 
Tiefpass und Bandpass. Die letzte Stufe verstärkt das Signal derart, 
dass auf dem Oszi Rechtecke zu erkennen sind. Damit kommt der 
Ursprünglch verwendete uC zurecht. Dieses Signal an einem AVR (2313 oder 
m8) und der Bascom-Funktion CONFIG HITAG / Readhitag() geht leider 
nicht. Daher meine oben gestartete Anfrage bzgl. Dekodierung.

Ich hab nun einen U2270B nur als Dekoder dahintergeschaltet und 
dekodiere wie gehabt mit einem AVR (2313 oder m8) und der 
Bascom-Funktion CONFIG HITAG / Readhitag().

Warum der ganze Zirkus mit dem ID-Modul und nicht einfach der U2270 
allein?

Die Reichweite der U2270-Lösung ist bei mir nie weiter als 5cm, egal 
welche Antenne ich verwende. In dem China-Teil ist eine Antenne ca. 
11x11cm gewickelt. (Innenkante gehäuse 11,5x11,5cm)

Damit komme ich zuverlässig auf 15cm !!! Außerdem brauche ich mechanisch 
fast nichts umbauen. der SMD-U2270 ist einfach mit CuL-Draht auf den 
ATtiny2313 draufgepappt. fertig...


Wer die Funktion der 4069-Schaltung verstehen will, sollte sich mal das 
Blockschaltbild des U2270 anschauen. Der untere Teil ist in Etwa das, 
was hier zu Fuß gemacht wird.

Uwe

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Erklärung. Und warum 4069 als Verstärker und keine 
OPs? Weils billiger ist?

Aus deiner Erläuterung schließe ich, dass die Entfernung eher vom Sender 
als vom Empfänger profitiert, richtig?

Warum nimmst du nicht wie von Jörg vorgeschlagen den Code vom Türmodul 
(zumindest als Grundlage für eine Portierung in BASCOM)?

Autor: Uwe Felgentreu (ufe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Micha schrieb:
> Vielen Dank für die Erklärung. Und warum 4069 als Verstärker und keine
> OPs? Weils billiger ist?
>
vermutlich richtig. Ich hab nur die Schaltung abgezeichnet...

> Aus deiner Erläuterung schließe ich, dass die Entfernung eher vom Sender
> als vom Empfänger profitiert, richtig?
>
so ist auch mein Eindruck...

> Warum nimmst du nicht wie von Jörg vorgeschlagen den Code vom Türmodul
> (zumindest als Grundlage für eine Portierung in BASCOM)?

Weil ich faul bin. Ich muß/will am und im Einfamilienhaus alle 
relevanten Türen mit so einem Modul ausrüsten und habe dazu etwas 
gesucht, was mechanisch bereits fertig ist und mit wenigen Handgriffen 
auf meine Bedürfnisse anzupassen ist. Diese China-Teile in der iBucht 
für 13-15 Euro sehen ganz gut aus und haben alles dran was ich brauche.
Meine Anforderungen Sind:
- Tastatur und RFID als Eingabemöglichkeit (per V24 zur Zentrale)
- LEDs, evtl. LCD und Beeper als Ausgabe (per V24 von Zentrale)
- Relais für Türöffner (per V24 von Zentrale)
Zentrale bewertet die RFID und Codeeingaben von den 9-10 Terminals im 
Haus und öffnet ggf. die Türen. Datenhaltung per MS-SQL-Server 2005. 
Ggf. werden Infos per LED und/oder LCD am Terminal ausgegeben.

Uwe

Autor: Hendrik Müller (kennichdich)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich weiß es passt zwar nicht so richtig zum Thema aber ich es vielleicht 
möglich das mir jemand eine Anleitung für das smq-303 schickt oder mir 
einen Link geben kann zum download...

Da ich diese nirgens gefunden habe und deshalt das Codeschloss nicht 
nutzen kann...


vielen Dank

Hendrik

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese RFID Antennen haben alle eine Reichweite, die dem Durchmesser der 
antenne entspricht.

Autor: xfred343 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde mich interessieren, was aus dem Projekt geworden ist,
habe gerade auch von Conrad ein Codeschloss mit RFID (AEI DK-9206) vor 
mir,
verbaut ist die gleiche Schaltung (HC74393 und CD4069, nur 4 Mhz Quarz) 
und ich kann in einer Schleife mit Bascom 0 und 1 auslesen, die 
RFID-Routine von Bascom geht nicht.

Auf einer Huckepackplatine befindet sich ein Atmega8 und ein serielles 
EEprom 24C64, auf der Tastatur eine sehr eigenartige Matrix (6 
Anschlüsse für 12 Tasten, dabei sind die Tasten 0, * und Raute zwischen 
den Spaltenanschlüssen geschaltet..)

Hat es jemand geschafft, den Rohdatenstrom in Bascom zu dekodieren?

Diese Codeschlösser sind superfertig mit Gehäuse und Tastatur, 
allerdings völlig unbrauchbar: wenn ich es aufschraube, kann ich die 
Relaiskontakte kurzschließen und "einbrechen" - ein Codeschloss ist nur 
sinnvoll mit Außen- und Innen/Decodierstation, in meinem Fall soll noch 
ein Logging dazukommen.

Autor: Jörg Droß (jojo150272)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe seit längerem auch so ein RFID Teil und wollte es schon immer mal 
mit einen AtMega 162 umrüsten. Hat jemand von euch schon was erreicht 
oder wie weit seit Ihr??? Man könnte ja auch versuchen zusammen zum Ziel 
zu kommen.

Wollte wenn möglich die Software mit Bascom machen.

Gruß JOJO

Autor: Sebastian Pech (eslavator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mir das RFID Teil auch von Ebay besorgt. 11€ mit Versand - nicht 
schlecht.

Meine Frage: Kann man daran einfach eine andere Antenne dranhängen, 
welche vielleicht wie im Projekt "RFID Türöffner" in einen Lichtschalter 
(Unterputzdose) passt? Und wo bekomme ich die?


Danke!
Sebastian

Autor: immer diese Probleme! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat mir jemand etwas zum aneignen warum die ersten vier Stufen ein 
Filter sein sollen?

Wie funktioniert der Filter?

Autor: tomgr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg Droß schrieb:
> Hallo,
>
> habe seit längerem auch so ein RFID Teil und wollte es schon immer mal
> mit einen AtMega 162 umrüsten. Hat jemand von euch schon was erreicht
> oder wie weit seit Ihr??? Man könnte ja auch versuchen zusammen zum Ziel
> zu kommen.
>
> Wollte wenn möglich die Software mit Bascom machen.
>
> Gruß JOJO

Hallo,

bei mir läuft das Teil mit Bascom auf einem Mega32.
Die Reichweite ist sehr gut.

gruss thomas

Autor: ufe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@tomgr
Hast Du den Mega32 mit Bascom in der unveränderten Hardware des 
RFID-Readers laufen? D.h. alten IC raus und neuen rein, Bascom-Code rauf 
und fertig?

Wenn ja, wie hast Du die Dekodierung des RFID-Signals in Bascom gelöst?

Kannst Du was zur Nachnutzung anbieten...

Gruß
Uwe

Autor: tomgr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uwe,
der Mega32 ist nicht Pinkompatibel, hängt im Moment extern dran.

Der AtMega 162 sollte aber gehen, ist Pinkompatibel zum orginal.

Ich habe meine Routine vom Pollin Board mal wieder rausgekrammt, und 
eigendlich nur _cfe (_cfe=0) im Code umgedreht.
Der Reader liest die Tag's und ich setzte die ID's ins LCN Format um, um 
den Transpondercode im LCN auszuwerten, um da, die verschiedenen 
Aktionen auszulösen.
Codeauszug :
 
Dim Tags(5) As Byte                                      '"Tags" als Array mit 5 Bytes definieren
   Dim Zaehler As Byte                                      '"Zähler" als Byte definieren
'   Config Portb = Output                                    'Port B als Ausgang definieren
   Config Hitag = 64 , Type = Em4095 , Demod = Pind.3 , Int = @int1       'konfiguriert den Timer und die Variablen für HITAG
   _cfe Alias Portd.4                                       '_cfe wird dem Portd.2 zugewiesen
   Config _cfe = Output                                     '_cfe wird als Ausgand definiert
'   _cfe = 1                                                 '_cfe wird high
      _cfe = 0
   On Int1 Checkints Nosave                                 'Int1 wird als Eingang für HITAG verwendet
'   Mcucr.isc10 = 1                                          ' entspricht: config INT1 = changing ( der Befehl wird vom MC unterstützt,
'   Mcucr.isc11 = 0                                          ' beim 2313 aber nicht von Bascom)
    Config Int1 = Change
zum testen reicht auch jeder andere Mega, aus dem Schaltplan oben, 
müssen nur die beiden Leitungen der Antennenschaltung auf einen IRQ und 
einen Ausgang gelegt werden.

gruss thomas - der erstmal, einige atmega162 besorgen muss.

Autor: ufe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

ich habe vor mehr als 1 Jahr mal mit dem mega8515 probiert, weil der 
nahezu unverändert einsetzbar ist. Allerdings wollte der die 
RFID-Signale nicht dekodieren. Siehe mein Beitrag vom 19.2.2010...
'****************************************************************************
' RFID mit dem SMQ303
' Buzzer ansteuern: Vom PC aus und/oder bei Tastendruck (abschaltbar)
' LCD Blinkende Zeichen
' Sabotagekontakt / Spontanmeldung und Abfrage
'
'****************************************************************************
Const Sim = 1

#if Sim = 1
  $sim
#endif

$regfile = "m8515.dat"                  ' ATmega8515-Deklarationen

Const Quarz = 8000000                   ' Quarz: 8 MHz
$crystal = Quarz

$hwstack = 128
$swstack = 128
$framesize = 128

$baud = 1200                            ' Baudrate der UART: 1200 Baud

On Urxc Ser_inp                         ' Interrupt-Routine setzen
Enable Urxc                             ' Interrupt URXC einschalten

#if Sim = 0
  Config Watchdog = 2048                ' 2 Sekunden Watchdog
  Start Watchdog                        ' Start watchdog timer
#endif

Const Pre = 8

Config Timer0 = Timer , Prescale = Pre
On Ovf0 Tim0_isr                        ' Define the ISR handler
Enable Timer0

Const Reload = Int(quarz /((256 * Pre) * 10))
                                         ' Teiler um mit Timer0 auf 100ms-INT zu kommen

Config Hitag = 64 , Type = Em4095 , Demod = Pind.3 , Int = @int1       'konfiguriert den Timer und die Variablen für HITAG
Config Int1 = Change
On Int1 Checkints Nosave                'Int1 wird als Eingang für HITAG verwendet


Enable Interrupts                       ' Interrupts freigeben


Const Lstring = ""                      ' Leerstring
Const Cr = 13                           ' Carrige Return
Const Lf = 10                           ' LineFeed
Const Null = 0                          ' Null

Const Aus = 0                           ' Wert für aus
Const Ein = 1                           ' Wert für ein


'****************************************************************************
'Pins / Zuweisung der Ports

Led_power Alias Portb.1                 ' Led oben rot "POWER"
Led_ok Alias Portb.2                    ' Led mitte grün "OK"
Led_mode Alias Portb.3                  ' Led unten gelb "MODE"

Relais Alias Portb.4                    ' Relais H zieht an
Signal Alias Portd.4                    ' L = Beep
Cfe Alias Portd.6                       ' /CFE L=Transponder arbeitet

Sabotage Alias Pind.2                   ' Sabotagekontakt L=OK

'Tastatur PortC

Jumper Alias Pinc.7

Zeile123 Alias Pinc.0                   ' 4 Zeilen mit PullUP-R
Zeile456 Alias Pinc.1
Zeile789 Alias Pinc.2
Zeile000 Alias Pinc.3

Spalte147 Alias Portc.4                 ' 3 Spaltenausgänge
Spalte258 Alias Portc.5
Spalte369 Alias Portc.6

Beep Alias Pinb.0                       ' Klingeltaste als Enter

'****************************************************************************
Startup:
'****************************************************************************

Ddra = &B0000_0000                      ' EEEE_EEEE
Ddrb = &B1111_1110                      ' AAAA_AAAE
Ddrc = &B0111_0000                      ' EAAA_EEEE
Ddrd = &B1101_0010                      ' AAEA_EEAE
Ddre = &B000                            ' EEE

Porta = &B0000_0000                     '
Portb = &B0000_1111                     '
Portc = &B1111_1111                     '
Portd = &B1111_1111                     '
Porte = &B000                           '


'****************************************************************************
'
Const Kennung = "Terminal 01"           ' Startmeldung (20 Byte lang)
'                12345678901234567890
'****************************************************************************
'Variablen
Dim Bl As Byte                          ' Überwachung der Stringlänge im Buffer
Dim C As Byte
Dim Buffer As String * 16               ' Zeichenpuffer für serielle Eingaben
Dim Lb As Byte                          ' Pufferlänge
Dim Cmd As String * 5

Dim Scounter As Word                    ' zählt für 100 ms
Dim Sekunde As Byte                     ' Sekundenzähler
Dim Relaistimer As Byte

Dim Tastenklicks As Bit                 ' Tastenklicks ein/aus
Dim Sperre As Bit                       ' Terminal gesperrt
Dim Waiting As Bit                      ' Wartebit für gelbe LED
Dim Led As Bit                          ' Zustand der Status-LED
Dim Takt As Bit                         ' Takt-LED
Dim Takt1s As Bit                       ' 1s-Takt
Dim Takt100ms As Bit                    ' 100ms-Takt
Dim Tmp_takt As Bit                     ' aktueller Takt für LED

Dim Code As Byte                        ' Zustandscode der aktuellen LED
Dim M As Byte                           ' Zählvariable
Dim N As Byte

Dim Puffer(17) As Byte                  ' LED-Array

Dim Signalcounter As Byte
Dim Keycounter As Byte
Dim Keyzeile As Byte
Dim Keyspalte As Byte
Dim Keytemp As Byte
Dim Keychr As String * 5

Dim Tags(5) As Byte                     ' "Tags" als Array mit 5 Bytes definieren bytes
Dim Zaehler As Byte                     ' "Zähler" als Byte definieren
Dim Wert As String * 10                 ' "Wert" als String mit 5 Hexwerten definieren

'****************************************************************************

  'Variablen setzen----------------------------
   Cfe = 0                              ' cfe wird 0 = Spule ein
   Set Spalte147
   Set Spalte258
   Set Spalte369

   Reset Sperre
   Reset Waiting
   Reset Relais
   Set Tastenklicks
   Set Signal

   Reset Led_power
   Reset Led_ok
   Reset Led_mode


   Buffer = Lstring                     ' Buffer leer
   Bl = Null                            ' Bufferlänge = 0
   C = Null                             ' ser.Puffer leer

   Scounter = Reload                    ' 100 ms-Zähler auf Startwert
   Sekunde = 0                          ' Sekundenteiler auf 0
   Keycounter = 0

   Set Takt

Do                                      ' Do-Schleife

  If Sperre = 1 Then Goto Ohne_rfid

  If Readhitag(tags(1)) = 1 Then        ' INT1 wird enabled
    Cfe = 1
    Reset Led_power                     ' rote LED aus

    For Zaehler = 5 To 1 Step -1        ' For-Schleife beginnend von 5 nach 1; rückwärts zählend
      Wert = Wert + Hex(tags(zaehler))  ' "Wert" = bestehender inhalt in der Variable + gerade gelesenen Tag an Position vom Zähler
    Next                                ' Ende For-Schleife
    Cfe = 0

    Disable Int0                        ' damit kein Tastendruck dazwischenrutscht
    Print "rfid:";
    Print Wert
    Enable Int0

    Set Led_power                       ' rote LED ein

  End If                                ' Ende der If-Abfrage

Ohne_rfid:

  If Sperre = 1 Then Cfe = 1 Else Cfe = 0
  Waitms 500                            ' Warte 500 ms

Loop                                    ' Sprunganweisung zum Anfang Do-Schleife

End

'****************************************************************************
Ser_inp:
'****************************************************************************

  C = Udr                               'Byte aus der UART auslesen
  ' ##### Print Chr(c);
  ' auf Zeichen prüfen und ggf. verarbeiten
  '--------------------------------------------------------------------------
  If C > 32 And C < 128 And Bl < 50 Then
                              ' wenn ASCII Zeichen und kürzer als 15 Zeichen..
    Buffer = Buffer + Chr(c)            ' ...dann an Puffer anhängen
    Bl = Bl + 1                         ' Counter++
  Else
    If C = Cr Then Gosub Handlebuffer   ' sonst auswerten
  End If
  '--------------------------------------------------------------------------
Return

'****************************************************************************
Handlebuffer:
'****************************************************************************

  Lb = Len(buffer)
  Cmd = Left(buffer , 2)
'............................................................................

      Select Case Lb                    ' welches Kommando
        Case 2 : If Cmd = "::" Then
                    Print Kennung       ' Kennung abfragen
                  End If
                  If Cmd = ":." Then
                    Print "."           ' Ping antworten
                  End If
                  If Cmd = ":!" Then
                    Print ">Reset Terminal"
                    Print ">Warte auf Reboot..."
                    Wait 1
                    Disable Interrupts
                  End If
                  If Cmd = ":p" Then Reset Led_power
                  If Cmd = ":P" Then Set Led_power
                  If Cmd = ":o" Then Reset Led_ok
                  If Cmd = ":O" Then Set Led_ok
                  If Cmd = ":m" Then Reset Led_mode
                  If Cmd = ":M" Then Set Led_mode
                  If Cmd = ":w" Then Reset Waiting
                  If Cmd = ":W" Then Set Waiting
                  If Cmd = ":s" Then Reset Sperre
                  If Cmd = ":S" Then Set Sperre
                  If Cmd = ":k" Then Reset Tastenklicks
                  If Cmd = ":K" Then Set Tastenklicks

        Case 4 : If Lcase(cmd) = ":r" Then
                    Cmd = Mid(buffer , 3 , 2)
                    N = Val(cmd)
                    If N > 0 And N < 100 Then
                      Set Led_ok
                      Relaistimer = N
                      Set Relais
                    End If
                  End If
                  If Lcase(cmd) = ":b" Then
                    Cmd = Mid(buffer , 3 , 2)
                    N = Val(cmd)
                    If N > 0 And N < 100 Then Signalcounter = N
                  End If
        Case Else :
      End Select
'............................................................................

  Buffer = Lstring                      ' Buffer leeren
  Bl = Null                             ' Bufferlänge = 0

Return

'-------------------------------------------------------------------------------
Checkints:                              ' Unterroutine "Checkints:"
'-------------------------------------------------------------------------------

  Call _checkhitag                      ' Eine ausgelagerte Unterroutine aufrufen

Return                                  ' Sprunganweisung in die Hauptschleife

'****************************************************************************
Tim0_isr:                               ' Timer0-ISR
'****************************************************************************

  If Scounter > Null Then               ' Per Zählvariable eine 100ms-Funktion machen
    Scounter = Scounter - 1
  Else
    Scounter = Reload                   ' Reloadwert für 100ms
    Gosub 100ms                         ' Funktion 100ms
  End If

'************* Keypad *****************************************************
' 0   alles aus
' 10  spalte1 ein
' 20  zeile1-3 lesen und spalte1 aus
' 30  spalte2 ein
' 40  zeile1-3 lesen und spalte2 aus
' 50  spalte3 ein
' 60  zeile1-3 lesen und spalte3 aus

  If Keycounter < 60 Then
    Keycounter = Keycounter + 1
  Else
    Keycounter = 0
  End If

  If Keycounter = 10 Then Reset Spalte147
  If Keycounter = 30 Then Reset Spalte258
  If Keycounter = 50 Then Reset Spalte369

  If Keycounter = 20 Then
    Keyzeile = 0
    Keyzeile = Pinc And &B0000_1111
    If Keyzeile > 0 Then
      Keycounter = 0
      Keytemp = Keyzeile + &H10
    End If
    Set Spalte147
  End If

  If Keycounter = 40 Then
    Keyzeile = 0
    Keyzeile = Pinc And &B0000_1111
    If Keyzeile > 0 Then
      Keycounter = 0
      Keyzeile = Keyzeile + &H20
    End If
    Set Spalte258
  End If

  If Keycounter = 20 Then
    Keyzeile = 0
    Keyzeile = Pinc And &B0000_1111
    If Keyzeile > 0 Then
      Keycounter = 0
      Keyzeile = Keyzeile + &H30
    End If
    Set Spalte369
  End If

  If Keycounter = 0 And Keytemp > 0 Then

    If Keyzeile = &H11 Then Keychr = "1"
    If Keyzeile = &H21 Then Keychr = "2"
    If Keyzeile = &H31 Then Keychr = "3"
    If Keyzeile = &H12 Then Keychr = "4"
    If Keyzeile = &H22 Then Keychr = "5"
    If Keyzeile = &H32 Then Keychr = "6"
    If Keyzeile = &H14 Then Keychr = "7"
    If Keyzeile = &H24 Then Keychr = "8"
    If Keyzeile = &H34 Then Keychr = "9"
    If Keyzeile = &H18 Then Keychr = "*"
    If Keyzeile = &H28 Then Keychr = "0"
    If Keyzeile = &H38 Then Keychr = "#"

    Print Keychr;

  End If

  If Beep = 0 Then Print Chr(lf) ; Chr(cr)

  If Tastenklicks = 1 Then
    Reset Signal
    Waitms 50
    Set Signal
  End If

  If Keycounter = 0 Then Keytemp = 0

Return

'****************************************************************************
100ms:                                  ' 100Milli-Sekunden-Interrupt
'****************************************************************************

  If Sperre = 1 Then Led_ok = Takt Else Reset Led_power

  Takt = Takt Xor 1                     ' LED = NOT LED
  Takt100ms = Takt

  If Waiting = 0 Then Reset Led_power Else Led_power = Takt
  If Sperre = 1 Then Led_power = Takt

#if Sim = 0
  Reset Watchdog
#endif

  If Sekunde > Null Then
    Sekunde = Sekunde - 1
  Else
    Gosub 1s
    Sekunde = 10
  End If

  If Relaistimer > Null Then
    Relaistimer = Relaistimer - 1
  Else
    Reset Relais
    Reset Led_ok
  End If

  If Signalcounter > Null Then
    Signalcounter = Signalcounter - 1
    Reset Signal
  Else
    Set Signal
  End If

Return

'****************************************************************************
1s:                                     ' Sekundenroutine
'****************************************************************************

   Led = Led Xor 1
   Takt1s = Led
   If Waiting = 1 Then Reset Led_mode Else Led_mode = Led       ' gelbe LED blinkt
                                      ' dauerlicht, wenn auf etwas gewartet wird
Return

'****************************************************************************
Mir ist noch nicht recht klar, warum es nicht geht. Int1 ist auf Change, 
auch sonst habe ich alles von Pollin nachgestrickt. Ich hatte beide 
Varianten (Pollin mit 2313 und SMQ303 mit m8515) nebeneinander auf dem 
Tisch und konnte mit dem Oszi vergleichsmessungen machen. Es hätte gehen 
sollen...
Bestimt habe ich eine Kleinigkeit in der Programmierung übersehen.

Vielleicht siehst Du ja einen Fehler.

Übrigens sind die Portzuweisungen Psaaend zur China-Hardware.

Gruß
Uwe

Autor: tomgr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uwe,

ich schaue mir das mal an, und specke meinen Code mal ab, da sind einige 
Dinge drin, die ich nicht posten kann.

gruss thomas

Autor: tomgr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uwe,

hab auf die schnelle mal den Code bei mir, auf einem Mega16 mit 16 MHz 
Quarz getestet.
Port's vom IC-Sockel abgegriffen.

Die ID's zeige ich in dem Display an, es geht.

Den LCN Code habe ich hier rausgeworfen.
$regfile = "m16def.dat"

$crystal = 16000000
$hwstack = 40
$swstack = 32
$framesize = 128

$baud = 9600
Config Com1 = Dummy , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 7 , Clockpol = 0

   Config Lcdpin = Pin , Rs = Porta.1 , E = Porta.2 , Db4 = Porta.3 , Db5 = Porta.4 , Db6 = Porta.5 , Db7 = Porta.6
   Config Lcd = 16 * 2                                      'konfiguriert die Displaygröße
   Config Lcdbus = 4
   Cursor Off
   Cls

' LED Ports
      Config Pinb.4 = Output                                'LED
      Config Pinb.5 = Output                                'LED
      P_sende_led Alias Portb.4
      P_empfang_led Alias Portb.5
      Config Pind.5 = Output                                'LED
      Config Pind.6 = Output                                'LED
      Config Pind.7 = Output                                'LED
      P_ok_led Alias Portd.5
      P_mode_led Alias Portd.6
      P_power_led Alias Portd.7
      Config Pinc.3 = Output                                'LED
      P_sound Alias Portc.3
      P_sound = 1

'------------------------------------------------------------------------------------------------------------------
'    Variablen Allgemein
      Dim B_sec_zaehler As Byte
      Dim B_minuten_zaehler As Byte
      Dim B_i As Byte
      Dim B_j As Byte

' Var für I-Port senden
      Dim B_ix_w_byte(6) As Byte                            ' 6 Sendebytes zum I-Port
      Dim B_ix_anzahl_byte As Byte                          ' für for Schleife                           '
      Dim Bi_ix_pegel As Byte                               'Bit                                ' letzter Pegel
      Dim B_ix_bit As Byte                                  ' für for Schleife
      Dim B_ix_bit_high_low As Byte                         ' Ist das Bit high oder low
      Dim Bi_ix_timer_flag As Byte                          'Bit                           ' Timer Flag zum senden
      Dim B_ix_var As Byte                                  ' tvar,r1var oder r2var
      Dim B_ix_segment As Byte                              ' Segment
      Dim B_ix_ls As Byte                                   ' als LS senden
      Dim B_ix_sendet As Byte

'------------------------------------------------------------------------------------------------------------------
   'Timer1, Einstellungen für 8MHz
    Dim B_timer As Byte
    Const Timervorgabe1 = 61536                             ' Timer isr 16 MHZ
    Config Timer1 = Timer , Prescale = 1                    ' Irq alle 250µs
    On Timer1 Ix_sende_timer
    Timer1 = Timervorgabe1
    Enable Timer1
'------------------------------------------------------------------------------------------------------------------
   Dim Tags(5) As Byte                                      '"Tags" als Array mit 5 Bytes definieren
   Dim Zaehler As Byte                                      '"Zähler" als Byte definieren
'   Config Portb = Output                                    'Port B als Ausgang definieren
   Config Hitag = 64 , Type = Em4095 , Demod = Pind.3 , Int = @int1       'konfiguriert den Timer und die Variablen für HITAG
   _cfe Alias Portd.4                                       '_cfe wird dem Portd.2 zugewiesen
   Config _cfe = Output                                     '_cfe wird als Ausgand definiert
'   _cfe = 1                                                 '_cfe wird high
      _cfe = 0
   On Int1 Checkints Nosave                                 'Int1 wird als Eingang für HITAG verwendet
'   Mcucr.isc10 = 1                                          ' entspricht: config INT1 = changing ( der Befehl wird vom MC unterstützt,
'   Mcucr.isc11 = 0                                          ' beim 2313 aber nicht von Bascom)
    Config Int1 = Change

'------------------------------------------------------------------------------------------------------------------------------------------------------------------

   Enable Interrupts                                        'Enable all interrupts
'------------------------------------------------------------------------------------------------------------------

   Dim Wert As String * 5                                   '"Wert" als String mit 5 Hexwerten definieren

      Locate 1 , 1                                          'Cursor am Display in Zeile 1, ganz links
      Lcd "RFID"                                            ' Text schreiben
      Locate 2 , 1                                          'Cursor am Display in Zeile 1, ganz links
      Lcd "LCN-Modul"                                       ' Text schreiben

   '------------------------------------------------------------------------------------------------------------------
Main:                                                       ' ab hier beginnt das Hauptprogramm
   Do                                                       ' Do-Schleife
      If Readhitag(tags(1)) = 1 Then                        ' INT1 wird enabled
      Set P_ok_led                                          ' Led 1 Zustand wechseln

      _cfe = 1
      P_sound = 1
      For Zaehler = 5 To 1 Step -1                          ' For-Schleife beginnend von 5 nach 1; rückwärts zählend
         If Zaehler = 5 Then                                ' ab hier werden die Tagbytes in I-Portbytes gesetzt
            B_ix_w_byte(2) = Tags(4)
            Wert = Wert + Hex(tags(5))
         End If
         If Zaehler = 4 Then
            B_ix_w_byte(3) = Tags(3)
            Wert = Wert + Hex(tags(4))
         End If
         If Zaehler = 3 Then
            B_ix_w_byte(4) = Tags(2)
            Wert = Wert + Hex(tags(3))
         End If
         If Zaehler = 2 Then
            B_ix_w_byte(5) = Tags(1)
            Wert = Wert + Hex(tags(2))
         End If
         If Zaehler = 1 Then
            B_ix_w_byte(6) = 03                             'Typ 3
            Wert = Wert + + Hex(tags(1))  
         End If
      Next                                                  ' Ende For-Schleife

      Cls                                                   ' Display löschen
      Locate 1 , 1                                          ' Cursor in Zeile 1, Position 1
      Lcd "send..."                                         ' Text schreiben
      Locate 2 , 1                                          ' Cursor in Zeile 2, Position1
      Lcd Wert                                              ' Variable "Wert" schreiben
      Wert = ""                                             ' Inhalt von Variable "Wert" = ""
      Gosub Lcn_senden                                      ' I-Port senden
'      Waitms 200                                            ' Warte 500 ms
      Reset P_ok_led                                        ' Led 1 Zustand wechseln

      _cfe = 0
      P_sound = 1
      End If
   Loop                                                     ' Sprunganweisung zum Anfang Do-Schleife
'-----------------------------------------------------------------------------------------------------------
'-----------------------------------------------------------------------------------------------------------
Checkints:                                                  ' Unterroutine "Checkints:"
      Call _checkhitag                                      ' Eine ausgelagerte Unterroutine aufrufen
   Return                                                   ' Sprunganweisung in die Hauptschleife

'-----------------------------------------------------------------------------------------------------------
'ISR
Ix_sende_timer:                                             ' Timer Sendelänge vom Signal = 250µs
   Timer1 = Timervorgabe1
   Incr B_timer                                             'Sendeflag setzen
Return

Lcn_senden:
Return
'------------------------------------------------------------------------------------------------------------------------------------------------------------------

End                                                         'Programmende


gruss thomas - ich hoffe, es hilft dir weiter.

Autor: tomgr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uwe,

Atmega162 ist drin, und läuft.
Umbau, Reset R hängt an Masse, muss auf +5V !
Out ist an PIN15, muss an PIN13 (INT1).

Dann klappt das auch.

gruss tomgr

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe mir die Schaltung nachgebaut, jedoch gibt es keine Information 
welche Transistoren verwendet wurden.

Könnt Ihr mir da bitte weiterhelfen?


Vielen Dank schonmal!

Gruß
Michael

Autor: ufe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinst Du die Treiberstufe für die Spule?
Da geht fast alles was min. 100V aushält, 1xnpn 1xpnp z.B. aus der 
Bastelkiste. Die Schaltung arbeitet im Schaltbetrieb, also kaum 
Verlustleistung bei 125kHz. Allerdings können durch den Schwingkreis 
erhebliche Spannungen entstehen.

Uwe

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super Danke!

Am Ende der Treiberstufe kommt laut Oszi ein wunderbares Signal raus.
Schließe ich dann allerdings die Spule an (~ 1,6mH + 1,2nf) zieht mir 
die ganze Schaltung gut 500mA, was deutlich zu viel ist ...

Ich habe die Schaltung 1:1 nach dem Schaltplan aufgebaut aber irgendwo 
ist der Wurm drin.


Meine bisherigen RFID Reader mit U2270B und EM4095 laufen wunderbar mit 
der gleichen Spule (gekauft, nicht selbst gewickelt).


Gruß
Michael

Autor: ufe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Schaltung ohne Spule sauber arbeitet (also Rechteck 125kHz mit 
Amplitude 0V..Betriebsspannung), dann sollte alles ok sein. Ich kann mir 
nur vorstellen dass der Kondensator vom Reihenschwingkreis Feinschluss 
hat und damit die ohmsche Last der Spule alles kurzschließt. 500mA in 
der Speiseleitung ist zuviel. Allerdings kann man 500mA <im> 
Schwingkreis im Rahmen einer Fehlmessung durchaus messen.
merke: Wer viel misst, misst viel Mist...

Gruß
Uwe

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank nochmal für die Hilfe!


Nun scheint alles zu passen ...

ca. 110V an der Spule
mein AVR liest brav mit ReadHitag

An was es nun lag kann ich leider nicht sagen, hauptsache es funzt :)


Gruß
Michael

Autor: Michael M. (mikmik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
was macht denn der IC1D? Wird der als rectifier gebraucht?
Würde das nämlich gerne nachbauen -nur mit 13.56 MHz und mit einem 
FUGenerator (weil ich grad einen da hab) statt Quartz.
Da würd ich dann eben ICD1 und Frequenzteiler weglassen und direkt das 
Rechtecksignal auf die Transistor-Endstufe geben.

Autor: ufe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
IC1D wird als Inverter genommen, macht 180° Phasendrehung, der Quarz 
samt Beschaltung macht die anderen 180°. Zusammen 360° ergeben eine 
Mitkopplung und fertig ist der Oszillator für die 8MHz...

Wenn Du einen fertigen Taktgenerator hast, kannst Du den IC1D totlegen.

Autor: Michael M. (mikmik)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
muss den Thread nochmal ausgraben. Versuche gerade eine 13.56MHz version 
des obigen Readers zu basteln. Das Rechtecksignal kommt bei mir aus 
einem Frequenzgenerator und die Schaltung hab ich erstmal so 
zusammengebaut wie im Bild.
Wenn ich aber nun die Versorgungsspannung für die Transen abschalte, 
bleibt mein Signal trotzdem an der Spule. Und egal mit oder ohne 
Versorgungsspannung es hat immer die Amplitude wie es der FrequGen 
ausspuckt.
Dachte mir eigentlich, dass diese Transistor-Endstufe die Spannung 
erhöht? Oder ist sie nur zur Stromerhöhung? Oder hab ich da dem Hund 
drinn?
Jedenfalls soll es natürlich nicht so sein, dass ich mit der 500mV 
Amplitude vom FrequGen auf die Spule gehe.

Kann mir da jemand einen Tipp geben wie ich das hinbekomm, eine höhre 
Spannung auf die Spule zu bekommen? Bei einem Reader den ich mal 
ausgemessen hab, warens +-5 V.

Autor: L.C. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die abgebildete Transistorschaltung ist ein reiner Folger im Push-Pull 
Betrieb, also Stromverstärker. Er verliert natürlich 2 mal die 
Basis-Emitterspannung am Ausgang. D.h. bei 3V Eingang kommt nur noch 
etwa die Hälfte hinten heraus. Der nachfolgende Schwingkreis muss exakt 
auf die verwendete Frequenz abgestimmt sein, um die gewünschte 
Spannungsüberhöhung an der Spule zu erreichen.

Autor: Michael M. (mikmik)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Erklärung. Habe das probiert, und konnte durch das 
Abgleichen des Schwingkreises mittels Drehkondensator die Amplitude auf 
+-1,5V heben.

Habe auch im Elektor diese Schaltung mit DMOS Gegentakt-Verstärker 
gefunden.
Werde die auch mal aisprobieren und erwarte mir damit die gewünschte +- 
5V Amplitude. Oder seht ihr da ein Problem?
Ich meine mal wo gelesen zu haben, dass Gegentaktverstärker nur mit 
bipolaren Transistoren funktionieren und nicht mit MOS-FETs?

Und weil wir schon dabei sind? Warum wird der Ausgang des NAND-Gatters 
(für die ASK Modultion) nochmal ins Gatter geführt und dann erst auf die 
Verstärkerstufe?

Autor: Hope (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael M. schrieb:
> Ich meine mal wo gelesen zu haben, dass Gegentaktverstärker nur mit
> bipolaren Transistoren funktionieren und nicht mit MOS-FETs?

wieso denn das? die Art der Schaltung hat doch nichts mit den 
verwendeten Transistortypen zu tun.

Michael M. schrieb:
> Warum wird der Ausgang des NAND-Gatters
> (für die ASK Modultion) nochmal ins Gatter geführt und dann erst auf die
> Verstärkerstufe?

weil hier Gatter C und D als MOSFET Treiber verwendet werden.

Gatter A ist der Oszillator, Gatter B der Modulator, Gatter C der 
Treiber für den oberen MOSFET und Gatter D der Treiber für den unteren 
MOSFET.

D.h. mit dem Modulator Gatter B lässt sich die Endstufe ein- und 
ausschalten oder modulieren.

Autor: Michael M. (mikmik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, danke erstmal.
Ein bisschen steh ich aber noch auf der Leitung.
Wenn ich eine einfache Logiktabelle erstelle:

Mod-Bit   clk     B     C=D
0          0      0      0
0          1      1      0
1          0      1      0
1          1      0      0

...dann frag ich mich wie ich mit dem Modulatios-bit die Modulation 
(=Signal am Ausgang von B) ein und aus schalte? Ist doch nie unabhängig 
von clk 0 wenn zB das Modulations-bit 0 oder 1 ist.

Und wie da übehaupt jemals ein Signal bei C oder D rauskommen kann ist 
mir auch rätselhaft. Das sind doch NAND-Gatter oder? Wenn da am Eingang 
von zB Gatter C der selbe pegel anliegt ist doch dass Ergebnis immer 0, 
oder?

Danke für jeden Tipp.

Autor: Hope (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael M. schrieb:
> Ein bisschen steh ich aber noch auf der Leitung.

Nicht nur ein bisschen !!!!

Schreib dir mal die Wahrheitstabelle eines AND Gatters und eines NAND 
Gatters auf. Dann siehst du es sofort

CLK     MOD     AND     NAND (Ausgang von Gatter B)
 0       0       0       1
 1       0       0       1
 0       1       0       1
 1       1       1       0

D.h. der Ausgang von Gatter B ist 1 wenn MOD 0 ist.

Gatter C und D sind NANDs mit kurzgeschlossenen Eingängen also Inverter!

damit die MOSFETS genug Gate-Ladestrom bekommen, sind beide Gatter 
parallel geschaltet.
Durch die Invertierung liegt jetzt also eine 0 an den Gates.

Legt man nun MOD auf 1, so ist am Ausgang von Gatter B der invertierte 
Takt zu sehen und am Ausgang der Treiber (Gatter C und D) wieder der 
Takt.

Autor: Michael M. (mikmik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja alles klar!

bei mir war 0 AND 0 auch 1

grmpf...

Autor: Hope (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hope schrieb:
> Gatter C der
> Treiber für den oberen MOSFET und Gatter D der Treiber für den unteren
> MOSFET

ohne die Brücke zwischen den Gates wäre es so.
Die hatte ich da glatt übersehen. Mit der Brücke treiben eben beide 
Gatter gemeinsam beide MOSFETs.

Autor: Michael M. (mikmik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hope schrieb:
> Michael M. schrieb:
>> Ich meine mal wo gelesen zu haben, dass Gegentaktverstärker nur mit
>> bipolaren Transistoren funktionieren und nicht mit MOS-FETs?
>
> wieso denn das? die Art der Schaltung hat doch nichts mit den
> verwendeten Transistortypen zu tun.

Falls es noch wen interessiert, hier stand das:
Beitrag "MOSFET-Gegentaktendstufe"
4tes Post.

Aber anscheinend geht's doch wie obige Schaltung aus dem Elektor zeigt.

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Eine Frage, laut Bedienungsanleitung muss das Netzteil 1,2 A bringen.
Kann das sein ??

Ich betreib das Gerät mit 800mA Netzteil, und es kommt öfters vor, dass 
nachdem erfolgreichen türöffnen, das Teil rumpiepst, oder sich aufhängt.

Autor: Peter Gast (mashpeak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo guten abend,
hat jemand für mich eine Anleitung für das Codeschloss SMQ-303?
Über eine Antwort würde ich mich freuen.

Viele Grüße mashpeak

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.