Graupner HoTT Telemetrie-Sensoren Eigenbau DIY | Telemetrie-Protokoll entschlüsselt

Habt ihr eure Sensoren auch mal am GR-18 3xg 3a vario Empfänger getestet? Dieser Empfänger hat wohl einen anderen Chip drin, der anders kommuniziert.
Erstens fragt er nur innerhalb der ersten paar Sekunden (ich glaube es waren so zwischen 3-5) die Sensoren ab. Wer sich bis dahin nicht gemeldet hat, wird auch nicht mehr angefragt. Die anderen Empfänger fragen dauerhaft alle Sensoren ab und warten dann auf Antwort.
Ich habe bei meinem Sensor das Problem, dass die Daten nicht sauber eingelesen werden, sobald der Empfänger über die Servo-Eingänge mit Spannung versorgt wird.
Erfolgt die Spannungsversorgung des Empfängers über den Telemetrie-Eingang (z.B. weil der Arduino noch über USB am PC hängt) geht alles wunderbar. Sobald jedoch am über die Servo-Anschlüsse die Spannung anliegt, bekomme ich nur noch Müll gelesen. Die Verbindung zwischen Sensor und Telemetrie ist: Arduino Pin D3 --> 1,8kOhm--> Telemtrie-Eingang (parallel dazu noch 3,3V Z-Diode an GND).
Das funktioniert mit allen Empfängern ohne Probleme bis auf den GR-18 3xg 3a Vario.
 

Ay3.14

User
... Die anderen Empfänger fragen dauerhaft alle Sensoren ab und warten dann auf Antwort. ...
Also das ist bei meinen Empfängern anders:
a) Nach dem Einschalten und kein Sensor ist angeschlossen:
=> Es werden für ein paar Sekunden alle Sensoren abgefragt, und das im Zyklus von 200 ms pro Binary-Request. Da kein Sensor antwortet stellt der Empfänger die zyklische Abfrage ein. (Danach folgt dann nur noch alle 800 ms ein Text-Request.)
b) Nach dem Einschalten und mindestens ein Sensor ist angeschlossen:
=> Es werden für ein paar Sekunden alle Sensoren abgefragt, und das im Zyklus von 200 ms pro Binary-Request. Da mindestens ein Sensor antwortet werden diese auch weiterhin zyklisch abgefragt (die anderen nicht mehr).


Ich habe bei meinem Sensor das Problem, dass die Daten nicht sauber eingelesen werden, sobald der Empfänger über die Servo-Eingänge mit Spannung versorgt wird.
Erfolgt die Spannungsversorgung des Empfängers über den Telemetrie-Eingang (z.B. weil der Arduino noch über USB am PC hängt) geht alles wunderbar. Sobald jedoch am über die Servo-Anschlüsse die Spannung anliegt, bekomme ich nur noch Müll gelesen. Die Verbindung zwischen Sensor und Telemetrie ist: Arduino Pin D3 --> 1,8kOhm--> Telemtrie-Eingang (parallel dazu noch 3,3V Z-Diode an GND).
Das funktioniert mit allen Empfängern ohne Probleme bis auf den GR-18 3xg 3a Vario.

Das hatte so bei mir auch nicht sauber funktioniert. Ich hatte dann nur noch mit einer Spannungsversorgung (beim Testen) gearbeitet.
Vielleicht ist dein VIN (VCC) nicht ausreichend groß genug (vermutlich "nur" 5 V) um von Arduino-Spannungsregler auf die internen +5,0 V geregelt zu werden.
 
Moin
Versorgst du den Arduino vom Empfänger aus über Vin ?
Da hängt ein Spannungsregler dazwischen, der noch ein bissl Spannung schluckt (ähnlich wie eine Diode).
Wenn du saubere 5V hast (z.B. vom BEC), dann kannst du am Arduino auf direkt auf den 5V Pin gehen.
 
Ob die Sensorabfrage irgendwann endet kann sein, ich weiß nur, dass der GR-18 das bereits nach 2-3 Sekunden macht während alle anderen Empfänger weiter anfragen. Ich hatte Anfangs eine Hochlaufzeit von 4 Sekunden drin, deswegen bin ich mir da recht sicher.
Die Spannungsversorgung geht beim Arduino an den RAW-Eingang, da ich das Modul über den Empfänger / Telemetrieanschluss versorge. Beim GR12-L z.B. kann die Spannung auch schon mal 8,4V betragen wenn HV-Servos genutzt werden. Deswegen RAW. Es macht allerdings keinen Unterschied ob ich die Spannungsversorgung am Telemtrieausgang oder an der Servoseite abgreife. Gleiches Phänomen.
 

Ay3.14

User
...ich ärgere mich auch gerade mit dem Pegel der HoTT-Telemetrie Schnittstelle rum. :mad:
Was bisher beim GR-16 mit einem einfachen Spannungsteiler 1k8 und 3k3 (um von 5,0V auf 3,3V beim Senden zu kommen und dennoch ausreichend Pegel beim Empfang zu haben) wunderbar funktionierte, geht beim GR-12L überhaupt nicht. Bin noch beim Suchen nach der Problemquelle...
 
Moin Moin
Das Problem mit der GR12L-Zicke ist hier inkl. der Lösung beschreibselt: https://fpv-community.de/showthread.php?57659-Strom2HoTT&p=899561&viewfull=1#post899561

Hat bei meinem ganzen GR-12L mit 3,3V Z-Diodo dann perfekt funktioniert :)
Liegt wohl an einem fehlendem Pullup-R intern im Empfänger, oder so ähnlich.

attachment.php
 

Ay3.14

User
Hallo Holger,

vielen Dank für den Tipp! :)
Werde ich so ausprobieren. Die Zenerdioden sind schon bestellt.

Grüße aus dem sonnigen Schwabenländle
Albert
 

Ay3.14

User
Keine 24 Stunden später waren schon die zehn Zehnerdioden 3,3 V im Briefkasten.
Nun funktioniert es auch mit dem GR-12L. :)
 
TNC Temperatursensor für Graupner General Engine-Modul zum Schrauben

TNC Temperatursensor für Graupner General Engine-Modul zum Schrauben

Hallo zusammen,

hat einer schon mal die Thermistor NTC mit Öse M703 10K an einem Graupner General Engine-Module betrieben. Dieser wären aus meiner Sicht eigentlich perfekt geeignet um ihn z.B. mit einer kleinen Schraube und Temperaturleitpaste an einer Kühlrippe zu befestigen.

Gruß
Reiner
 

Ay3.14

User
Z-Diode als Pegelanpassung

Z-Diode als Pegelanpassung

Prima das es damit funktioniert. :)

Vielleicht hätte bereits eine Änderung des 1k8 Vorwiderstandes auf 1k0 auch funktioniert?
Siehe Kennlinie der 3,3 V Z-Diode:
Z-Diode 3V3 Kennlinie.jpg
a) Bei U=5V und Rv=1k8 ist Imax=2,8mA und Uz=3,0V
b) Bei U=5V und Rv=1k0 ist Imax=5,0mA und Uz=3,2V

Aber vermutlich ist es nicht nur der High-Pegel sondern auch der Low-Pegel welcher beim Empfang das Problem verursacht.
(Laut BZX79C3V3-Datenblatt ist bei I=5mA der Rz=95 Ohm.)
 
Moin Freunde der Bits und Bytes

Die Tage gab es Updates bei Graupner, recht interessant, beim GR-12 und GR-16 (und einigen anderen auch) kann man nun direkt am K6 Spannung bis 25,5V (6s) per Spannungsteiler messen, zwei Widerstände und ein Kondensator kommen dann da drann, genaueres ist in der Anleitung beschrieben.

Widerstand oben 22K
Widerstand unten 2K7
ergibt für die 25,5V dann 2,787V

Nun mal eine fixe Idee, warum dort nicht einen ACS-Stromsensor anschliesen ? Etwas über die Widerstände angepasst, selbst wenn die Werte mit etwas "Phantasie" wäre, könnte man mit leben.
50% Ub sind ja beim ACS 0A wenn ich das richtig verstanden habe. Hat einer ne Idee für das richtige Widerstandsnetzwerk ?
So angeschlossen wäre ja 2,5V (bei 5V BEC) = 0A, und steigender Strom mit sinkender Spannung (in die entsprechende Richtung bestromt), dann würde bei Überstrom (wodurch Spannung-X unterschritten wäre) Alarm auslösen.
Richtig ?

Parallel für für die Spannung das günstige Voltage-Modul dazu, das überwacht die ersten 4Zellen.
 
Hallo Holger,
prinzipiell würde das gehen, wenn man den bi-direktionalen Sensor "falsch" herum in den Stromfluss reinhängt. Aber du hättest dann eben nur eine Überstromwarnung, und den Überstrom könntest du auch schon vorher am Boden durch die richtige Luftschrauben/ Motorkombi ausschließen. Fehlt auch noch die Kapa-Messung, was mir persönlich wichtig wäre...
 
Moin Rocco, darum ja "fixe Idee" einer "poor mans telemetrie", so ein 30A ACS712 kostet ja nur 3€, und für die Leute ohne Arduinokentnisse (ich hab da nen Attiny85 zwischen)

Hab gerade mit dem Update gespielt, leider zeigt er die Spannung nicht zusätzlich sondern statt der Empfängerspannung im Display an.
Hast Recht, Überstrom braucht es nicht wirklich.
Mit einem OP-Amp könnte man die Werte evtl. auf "plausibel" invertieren, aber dann wird es wieder aufwendig. Schade das diese Sensoren nicht bei 0V anfangen, oder gibt es solche auch ?


EDIT
Die ACS770 gibt es in unidirektional
50A > 80mV/A
100A > 40mV/A
150A > 26,66mV/A
200A > 20mV/A

Verstehe ich das richtig aus dem Datenblatt, das die nicht bei 0V sondern bei 0,5V Offset anfangen ?

https://www.google.de/url?sa=t&rct=...D9B6EF&usg=AFQjCNEdWXk4fHbycndULD6lP6gzra_4Aw

EDIT2
http://ecksteinimg.de/Datasheet/Pololu/PO1186.pdf
30A Sensor, directional, 0,5V Offset, 133mV/A
Wenn man da nun ganz grobschlächtig ne schottky diode in reihe davorsetzt, um den Offset zu nullen, Lastfrei (nahezu) fallen da ja 0,5V ab ? :D ?
 
...und für die Leute ohne Arduinokentnisse...

...also für mich :D

Hab gerade mit dem Update gespielt, leider zeigt er die Spannung nicht zusätzlich sondern statt der Empfängerspannung im Display an.

ja, aber man kann doch glaube ich trotzdem einen Alarm setzen. Bei den ganz kleinen GR-12 (SH) ging das mit dem Spannungsteiler ja schon eher. Hatte ich dort auch mal genutzt.

Und ja, die 0,5V bei 0A Strom siehst du richtig. Aber warum willst du auf 0V?
 
Parity

Parity

Hallo zusammen,

kann mir jemand ein Codebeispiel schicken, wie das letzte Byte einer Nachricht an den Hott Empfänger, das parity Byte, gebildet werden muss?

Gruß Chris
 
Hallo Holger,
genau das meine ich.

Dein Code ist ja Klasse. Damit ist mir jetzt klar, wie bei Hott dieses Prüf Byte berechnet wird (dachte das ist ein CRC8 Check). Danke :)

Was auch toll ist, das auch mein Problem damit gelöst ist, den Empfänger anzuschließen :)

Aus den Empfänger kommt ein Kabel für Kommunikation. Softwareserial aus den Arduino braucht aber zwei Kabel für die serielle Kommunikation. Ich habe versucht TX und RX im Arduino zur Laufzeit umzuschreiben, um auch nur ein Kabel zu brauchen. Das klappt aber nicht. Und die Lib wollte ich nicht umschreiben. Also habe ich nun beide Leitungen (TX über ne Diode) an den Empfänger geklemmt. Hat zwar funktioniert, ist aber Aufwand.

Du scheinst eine Lösung gefunden zu haben, indem du TX = RX setzt und im Code über OUTPUT und INPUT_PULLUP steuerst :) Werde ich heute Nachmittag gleich mal testen.

Diese Lösung würde auch in einigen anderen Projekten diese Diode bzw. Pull-Up Wiederstände ersetzen (Cleanflight, openxsensor, Strom2Hott, ...). Oder gibt es da Einschränkungen?

Gruß Chris
 
Ansicht hell / dunkel umschalten
Oben Unten