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
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
>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.
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 ?
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
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.
@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)
Oder ist ein Reedkontakt schnell genug ein gepulstes Magnetfeld
auszuwerten??
Pulslänge ~50msec....
Ich werd da morgen mal ein Versuchsaufbau machen...
> 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
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ß
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.
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.
@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
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?
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...
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
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.
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...
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.
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...
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.