Hallenser für 1 wire bus

OP #5484094
Lesenswert?

Hallo zusammen .
Ich würde gerne auf meinen Rennkart ein Telemetriesystem einbauen .
Ja ja ich weis gibt es fertig  zu kaufen. Will ich aber nicht.

Plan : Arduino plus SD card zum loggen und 1 wire bus für die Sensoren 
wie tempfühler Geschwindigkeit Drehzahl/IR für reifentemp./uws
Später dann 1Sheeld   (https://1sheeld.com ) für Arduino um mein 
Smartphone als Display zu verwenden.


Für Drehzahl und Geschwindigkeit wären Hallensenoren optimal.
Wäre es möglich eine Standard Hallsensor mit einen DS 2406 zu 
kombinieren
 ( siehe Bild, quasi statt den eingezeichneten Schalter den Hallsensor 
einsetzen) und so auf den 1 wire bus zu kommen.

LG wranox
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #5484594
Lesenswert?

Wraneschitz A. schrieb:
> Wäre es möglich eine Standard Hallsensor mit einen DS 2406 zu
> kombinieren
>  ( siehe Bild, quasi statt den eingezeichneten Schalter den Hallsensor
> einsetzen) und so auf den 1 wire bus zu kommen.
Wie "schnell" sind denn die Signale vom Hallsensor und wie schnell die 
Übertragung auf dem Bus? Passt das zusammen?
OP #5484621
Lesenswert?

1-Wire bzw. One-Wire oder Eindraht-Bus beschreibt eine serielle 
Schnittstelle der Firma Dallas Semiconductor Corp., die mit einer 
Datenader (DQ) auskommt, die sowohl als Stromversorgung als auch als 
Sende- und Empfangsleitung genutzt wird. Der Begriff 1-Wire ist 
irreführend, weil zudem noch eine Masse-Verbindung (GND) erforderlich 
ist.

Da der 1-Wire-Bus im Gegensatz zu vielen anderen Bussystemen keine 
separate Leitung für das Taktsignal besitzt, muss ein vorgegebenes 
Timing eingehalten werden. Die Synchronisation erfolgt bei jedem Bit mit 
der vom Master erzeugten fallenden Flanke. Um eine logische 1 zu 
schreiben, wird der Bus vom Master für 1 bis 15 μs auf Low-Pegel 
gezogen, bei einer logischen 0 für 60 bis 120 μs. Zum Lesen zieht der 
Master wie beim „Write 1“ Signal den Bus für 1 bis 15 μs auf Low-Pegel 
und der Slave hält für die Übertragung einer logischen 0 den Bus darüber 
hinaus auf Low. Für einen Reset sendet der Master ein Low-Pegel mit 
einer Dauer von 480 μs. Ein Slave zeigt seine Anwesenheit an, indem er 
innerhalb von 60 μs danach den Bus für mindestens 60 μs auf Low zieht.

Die 1-Wire-Geräte besitzen zusätzlich noch einen Overdrive-Modus, der es 
ermöglicht, weitaus höhere Übertragungsraten zu erzielen. Um im 
Overdrive-Modus eine logische 1 zu erzeugen, muss nur noch lediglich für 
1–2 μs ein Low-Pegel anliegen, für eine logische 0 sind im 
Overdrive-Modus schon 6μs ausreichend. Um einen Reset zu erzeugen, 
reichen schon 48 μs aus. Ist das Reset-Signal länger als 80 μs, so gehen 
die 1-Wire-Geräte in den regulären Betriebsmodus, ansonsten bleiben sie 
im Overdrive-Modus.

Im regulären Betriebsmodus sind durch die oben aufgeführten 
Timingbedingungen Datenraten von bis zu 16,3 KBit/s möglich. Der 
Overdrive-Modus beschleunigt dies auf bis zu 142 KBit/s.
OP #5484656
Lesenswert?

Hallsensorgeschwindikeit  für Speed

11" reifen= 26,95mm Durchmesser

26,95x3,14=84,62mm  Umfang = 0,8462 m

V Mav 160kmh  = 160000m/h

160000:60 = 2666,6 meter/min

2666,6x0,8462= 2256,5

2256,5:60= 37,6 U/sek

Also knapp 38 pulse pro sek.

Drehzahl motor
RPM MAX 13500 U/min

13500:60= 225 u/sek

Also 225 pulse pro sek.
Gast #5485501
Lesenswert?

Wraneschitz A. schrieb:
> Im regulären Betriebsmodus sind durch die oben aufgeführten
> Timingbedingungen Datenraten von bis zu 16,3 KBit/s möglich. Der
> Overdrive-Modus beschleunigt dies auf bis zu 142 KBit/s.

Wraneschitz A. schrieb:
> 13500:60= 225 u/sek
>
> Also 225 pulse pro sek.

Soweit ich das sehen kann, wird das aber schon etwas eng mit der 
Datenübertragung bei 16,3 KBit/s (im Datenblatt des DS2406 steht 
übrigens 15,4 KBit/s drinnen)...

Du müsstest zum Abfragen des Sensors folgende Daten senden:
- 8 Bytes: 64-Bit Adresse des 1-Wire-Bausteins
- 1 Byte : Eines der ROM-Kommandos
- 1 Byte : Status Lesebefehl
- 2 Bytes: Addressierung des Memory
- 1 Byte : Rückantwort Statusregister 7 (enthält wohl den Status der 
Pins)
- 2 Bytes: Rückantwort CRC-Info
=> 15 Bytes Gesamt, macht 120 Bits insgesamt

Bei den 15,4 KBit/s wird damit 15400 / 120 = 128,3 Abfragen pro Sekunde

Wird für die 225 Pulse pro Sekunde etwas wenig sein. Und Die 
1-Wire-Geräte benötigen auch etwas Zeit um den internen Kondensator 
wieder aufzuladen. Daher wirden wohl deutlich weniger Abfragen pro 
Sekunde möglich sein.

Wenn du schon einen Arduino verbaust, was spricht denn dagegen, die 
Taktsignale direkt mit einem der Portpins abzufragen?

Die Leitungslänge sollte sich ja in Grenzen halten und mehr Kabel zum 
Sensor müssen auch nicht gelegt werden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren