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


von Lars (Gast)


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

von Meister E. (edson)


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

von Otto (Gast)


Lesenswert?

Hallo Lars,

glaube ich nicht - normalerweise gehen nur ein paar mm.

Otto

von sechsmalzwei (Gast)


Lesenswert?

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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


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.

von sechsmalzwei (Gast)


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 ?

von lontano (Gast)


Lesenswert?

zwei ParallelSchwingkreise !

von Lars (Gast)


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

von I_ H. (i_h)


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.

von gast (Gast)


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)

von Lars (Gast)


Lesenswert?

Oder ist ein Reedkontakt schnell genug ein gepulstes Magnetfeld 
auszuwerten??

Pulslänge ~50msec....


Ich werd da morgen mal ein Versuchsaufbau machen...

von Marcus W. (blizzi)


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

von Olaf (Gast)


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

von nixcheck (Gast)


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ß

von nixcheck (Gast)


Lesenswert?

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

von Christian B. (casandro)


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.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


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.

von Lars (Gast)


Lesenswert?

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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Die TLE Teile verbrauchen um 1,5mA.

von Esko (Gast)


Lesenswert?

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

von Gast (Gast)


Lesenswert?


von Lars (Gast)


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

von Esko (Gast)


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?

von Lars (Gast)


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...

von Lars (Gast)


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

von Christian B. (casandro)


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.

von Lars (Gast)


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...

von Christian B. (casandro)


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.

von Lars (Gast)


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...

von Christian B. (casandro)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.