mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mittels Magnetfeld und Hallsensor ein paar Bits übertragen?


Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach,

gibt es eine möglichkeit mittels Magnetfeld und einem Hallsensor ein 
paar Bits auszutauschen??

Zwischen 2 µC?

Hat jemand schon mal sowas grobiert?

Es müssen nur ein paar cm überbrückt werden.


MfG

Lars

Autor: Meister Eder (edson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ausreichend lange Bitzeiten vereinbart sind sollte das 
Grundsätzlich machbar sein. Ist eine optische Lösung ausgeschlossen? In 
welchem Umfeld soll das stattfinden?

Gruss,
Edson

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lars,

glaube ich nicht - normalerweise gehen nur ein paar mm.

Otto

Autor: sechsmalzwei (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lars,
sicher geht das. RFID macht einige Meter, allerdings nicht mit 
Hallsensor, sondern mit einem Spule - Spule Setup.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>RFID macht einige Meter, allerdings nicht mit
>Hallsensor, sondern mit einem Spule - Spule Setup.

Sicher das, aber hast Du mal die Leistungsaufnahme von RFID bei mehreren 
Metern Reichweite in Betracht gezogen :-\ ?

Mit starkem Elekromagneten (aus einem passenden Relais z.B.) und einem 
empfindlichen, schnellen Hall-IC sind 1-2cm drin.

Autor: sechsmalzwei (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss es denn Spule - Hallsensor sein, oder geht Spule - Spule auch. Mit 
einem eisenstueck kommt das Hallelement auch auf das Signal. Waere ein 
Ferrit stab denn eine Moeglichkeit ? Dann waere Spule - Hallsensor, und 
Spule - Spule gleich gut moeglich. Um welche Bitraten geht es denn ?

Autor: lontano (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zwei ParallelSchwingkreise !

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will das für ein Faller Car System bauen, wie in Hamburg die 
scheinen das so zu machen...

Infrarot ist nicht so die lösung zu anfällig und zu strom intensiv..


Die Spule sitzt in der Strecke und der Sensor im Auto mit einem µC, so 
hab ich mir das erstmal gedacht..

Wenn das Auto über den Magnet fährt bekommt es Signale was es machen 
soll, Stoppen, langsamer Fahren usw.


So der gedanke..........


Nur wie am besten Realisieren...

MfG


Lars

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Garnicht. Halt mal 'n Hallsensor an den Zylinderkopf und guck dir das 
Signal an. Das bekommst du so schnell nicht rausgefiltert.
Weiter geht's mit allen rotierenden Teilen (Schwungscheibe, Felgen), die 
erzeugen mitunter auch lustige Felder.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@I_ H:
> Ich will das für ein Faller Car System bauen
es handelt sich um Modellautos. Da dürften Zylinderkopf, Schwungscheibe 
und Felgen weniger zum Problem werden. (auch der Abstand Magnet-Sensor 
ist daher relativ gering)

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder ist ein Reedkontakt schnell genug ein gepulstes Magnetfeld 
auszuwerten??

Pulslänge ~50msec....


Ich werd da morgen mal ein Versuchsaufbau machen...

Autor: Marcus W. (blizzi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RFID gibts doch nicht nur passiv, sondern auch aktiv, das müsste dann 
reichweitentechnisch kein Problem sein:
http://de.wikipedia.org/wiki/RFID#Energieversorgung

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich werd da morgen mal ein Versuchsaufbau machen...

Ich wuerde dir dringend Empfehlen das mit zwei Spulen zu machen. 
Fahrradtachos arbeiten auch so, und die schaffen immerhin 1-2Meter. 
Aehnliches duerfte wohl fuer diese Herz/Puls-Messer gelten die du dir in 
deinem Bodybilderstudio um den Bauch schnallen kannst...

Falls du jetzt auf der Suche nach schoen kleinen Spulen sein solltest 
die bereits eine ansprechende Form und gute Verarbeitung haben, mach 
doch mal eine kaputte Festplatte auf und schau dir den Antrieb des 
Kopfes an.

Olaf

Autor: nixcheck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auch zuerst gedacht: nimm doch Spulen. Allerdings hat das 
Konzept einen klaren Vorteil. Du hast unter der Fahrbahn ja Platz um 
auch einen großen Magneten unterzubringen (den du auch richtig mit Saft 
versorgen kannst – evtl. Haltemagnet von Pollin 1-2 Euro). Hall sensor 
IC's inkl. Hallplatte, comperator und Schmitt-trigger gibt es auch 
problemlos im SOT-Gehäuse und kommen mit recht wenig Strom aus (Bspl.: 
AH375-WL7  1,26$ @ Mouser) http://www.diodes.com/datasheets/dsAH375.pdf
Dadurch hast du halt minimalen Ressourcenbedarf im Modellauto. Ob das 
ganze zusammen arbeitet kann ich dir aber nicht sagen (wie viel Gaus 
erzeugt so ein Haltemagnet ?). Wäre interessant auszuprobieren. Klar ist 
allerdings mit mehreren Zentimeter würde ich nicht rechnen  - du wirst 
den Abstand schon möglichst knapp halten müssen.
Gruß

Autor: nixcheck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS zu Testen sollte es auch der TLE 4905L (Reichelt 60 cent) tun.

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich würde auch 2 Spulen verwenden. Denn das ist störsicherer. 
Beispielsweise kannst Du da ein 10kHz Signal verwenden, welches mit 100 
Hz moduliert ist. Das kann man einfach (auch analog) dekodieren und ist 
einfach herzustellen.
Einfache kurze Magnetfeldpulse treten in der "Natur" zu häufig auf. 
Stell Dir nur mal vor, das Auto fährt über ein Stomkabel.

Als Sendespule würde ich eine große Drossel mit Feritkern verwenden, als 
Empfängerspule eine "kleine" Induktivität welche möglichst nahe an der 
Fahrbahn ist. Du brauchst halt danach einen guten Verstärker.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die TLE-Teile kann ich auch empfehlen, sind sparsam und recht schnell, 
mußt Du aber einen unipolaren nehmen, die bipolaren speichern das letzte 
Signal.

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ja auch ein großes Problem ist der Stromverbrauch, der muss auf der 
Empfänger-Seite möglist klein sein.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die TLE Teile verbrauchen um 1,5mA.

Autor: Esko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lars: Geht es hier um Modellautos?
Warum ist dann ein geringer Stromverbrauch gefragt. Die Motoren ziehen 
doch enorme Leistungen.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ESKO
Warum ist dann ein geringer Stromverbrauch gefragt. Die Motoren ziehen
doch enorme Leistungen.


Also Spannungsquele sind meist zwei Akkus a' 1,2V üblich, in Reihe.

In einem Bus hab ich meist AAA 800mAh.

Morgen bau ich das mal auf.

Wie viel Strom zieht eigendlich ein µC?

Wie würde das denn mit 2 spulen gehne evt die Induzierte Freuqenz messen 
mit einem µC?

MfG


Lars

Autor: Esko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar das sind wirklich kleine Dinger.
Wenn du nur 2,0V (Akku leer) - 2,6V hast wirst du nicht um einen 
Schaltwandler zur Versorgung herumkommen.
siehe Versorgung aus einer Zelle

Die zwei Spulen senden bzw empfangen auf der gleichen Frequenz. Das 
Signal wird dann aufmoduliert. Je nach Modulationsart kann das auch ein 
µC erledigen.
Ein µC braucht im Betrieb einige mA. Wenn er im Standby ist 
vernachlässigbar wenig. Man muss ihn dann natürlich aufwecken was das 
ganze wieder komplizierter macht.
Im Forum gibts schon einige Beiträge dazu, einfach mal suchen.

Wieviele Bits sollen denn in welcher Zeit übertragen werden?

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mal bisschen geforscht und die in Hamburg übertragen 5bits + 
startbit und prüfbit. Pulslänge 50msec.

Mit den Akkus hab ich mal geguckt man könnte auch auf LiPos umsteigen 
3,6V.

Die komplette Zeit muss ich mal messen wie schnell das Auto fährt.

Ich will versuchen die Sache so einfach wie möglich zu gestallten, also 
werd ich erst mal testen ob ne Reedkontakt die schaltgeschwindigkeit 
hinbekommt...

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So hab mal einen Versuchsaufbau gemacht und siehe da Reed-kontakte 
machen das echt mit.

Hab noch mal bisschen überlegt und ich will jetzt 3 bits + prüf und 
Start senden, das müsste eigendlich voll ausreichen und ich spare 
sendezeit.

Zum Programm ich wollte in Bascom Programmiren.
Ich habe leider noch nicht viel erfahrung mit höheren 
Programmiersprachen hab bis jetzt immer nur in AWL/FUP (S7 SPS) 
programmiert.

Ich hoffe ihr könnt mir ein bisschen helfen.

Wie gehts man den am besten vor? Um eine Sende Routine zu erstellen?


MfG


Lars

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, das Hauptproblem ist wohl, dass Du Störungen und Zufallssignale 
rauskriegen möchtest. Ebenfalls hast Du potentielle Probleme mit der 
Synchronisierung.

Vielleicht währe folgendes Verfahren zweckmäßig.

Du kodierst Deine Bits als lange und kurze Impulse. Eine 0 ist 
beispielsweise ein kurzer Impuls, eine 1 ist ein langer Impuls. Im 
Empfänger schreibst Du einfach ein Stück Code welche die Impulslänge 
misst, und dann in die weiterführende Routine springt.
Da kannst Du eine Unterscheidung treffen wie
Pulslänge < 10 => Fehler
Pulslänge < 100 => 0
Pulslänge < 200 => 1
Pulslänge >= 200 => Fehler

In dieser weiterführenden Routine machst Du nun folgendes. Du schiebst 
dieses Bit in ein Schieberegister und siehst das ganze Schieberegister 
als Zahl.
Nehmen wir mal an, das Schieberegister hätte 8 Bit.

Zunächst überlegst Du dir mal, welche Botschaften Du übermitteln willst. 
Anscheinend sind das 8 Botschaften. Überlege Dir jetzt für jede 
Botschaft einen 8Bit Code welcher sich von den anderen Botschaften 
möglichst stark unterscheidet. Und welcher, wenn möglich, nicht durch 
Verschiebung aus einem anderen Code erstellt werden kann. Dann überlege 
dir, was Du bei den andern Bitsequenzen machen willst.

Nun zurück zum Code. Du hast jetzt in deinem Schieberegister eine 8 Bit 
Zahl. Diese schlägst Du nun in einer Tabelle nach, und findest den Code 
für die Botschaft welche Du übermitteln wolltest.

Beispiel: (für 4-Bit Schieberegister)

Codetabelle:
0000 ungültig
0001 ungültig
0010 links
0011 rechts
0100 ungültig
0101 ungültig
0110 ungültig
0111 ungültig
1000 ungültig
1001 ungültig
1010 ungültig
1011 ungültig
1100 ungültig
1101 ungültig
1110 ungültig
1111 ungültig

Jetzt nehmen wir mal an das Automobil empfängt ein paar Störungen, und 
dann den Befehl links.

Bit Register Code
Anf. 1111     ungültig
1    1111     ungültig
0    1110     ungültig
1    1101     ungültig
Ab hier Befehl links (0010)
0    1010     ungültig
0    0100     ungültig
1    1001     ungültig
0    0010     links

Du siehst das System in prinzipiell sehr störresistent. Mit breiteren 
Registern natürlich um so mehr. Das ist halt eine gewisse puzzelei.

Hast Du einen Befehl, oder einen zu kurzen oder zu langen Puls entdeckt, 
so kannst Du das Register auf einen Startwert (hier 1111) setzen.

Ich glaube das System ist einfacher als Start und Paritätsbits. 
Zumindest einfacher zu programmieren.

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh harter Stoff :-(

Mhr also meinst du ich soll mir 8 verschiedene 8Bit codes ausdenken.

Wenn ich den den fahrzeug etwas übermitteln möchte, sendet der sender 
ununterbrochen z.b 00000100=Stop.

Im Empfänger die Bits in ein Schieberegister und solange warten bis eine 
übereinstimmt stattfindet?

Das kann ja einige Zeit dauer bis die Richtige kombination angekommmen 
ist.

Die übermittling muss ja relativ schnell von statten gehn da sich das 
Fahrzeug ja bewegt.

Alles nicht so einfach...

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, es dauert genau 8 Bits. Aber bedenke mal folgende Situation. du 
schickst ständig Deinen Befehl, z.Bsp 0010, da Du ja nicht weißt, ob das 
Auto ihn wirklich im Moment empfangen kann.

00100010001000100010001000100010...

Mit der Methode, welche ich beschrieben habe kannst Du spätestens nach 8 
empfangenen Bits den Befehl dekodieren. Und das ohne dass Du den Anfang 
wissen musst.

Also wenn die Übermittlung schnell gehen muss brauchst Du eine 
deutlich höhere Datenrate. Mit Reed-Schaltern oder Hall-Sensoren 
kannst Du da wenig machen. Induktiv bekommst Du locker 100 Bits/sec.

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab jetzt mal gemessen 1sec hab ich aufjedenfall als Zeitfenster.
Der E-Magnet bekommt jetzt 12V, 16V kann er ab also vergrößert sich 
damit denn ja auch der Radius des Feldes.

Ich auf der suche nach einem Beispiel wie man kurze und lange Impulse 
erzeugt
kann und irgendwie anreihen kann...

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, also beim Erzeugen kannst du einfach eine Schleife nehmen, welche 
weiter oder weniger weit zählt. Oder es gibt in Deiner 
Entwicklungsumgebung schon fertige Unterprogramme für das.

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.