OpenXSensor für Telemetriesensoren

onki

User
Das mit dem ACS758 ist nur die halbe Miete. Danach wird es interessant. ein ACS758 050B misst 50A bidirektional.
Der gibt dann bei 0A Strom und 5V Betriebsspannung 2,5V am Signalpin aus. Das kannst du bei deinem Sensor einfach messen.
Der Offset wird benötigt und die mV/A.

Gruß
Onki
 

Erdie

User
Oh, da hatte ich wohl eine Übersetzungproblem. Ich habe nicht sofort erkannt, dass "quiescent" sowas wie: still, bewegunglos, untätig, unbewegt heißt. Das bedeutet also, die bidirektionalen Sensoren müssen Vcc/2 und die unidirektionalen 0,6V als Offset haben. Guter Punkt, danke.
 

onki

User
Nimm doch einfach den Spannungshub (mV/A) aus dem Datenblatt und mess den Offset am Sensor selber.
Dann hast du einen praxisgerechten Nullwert.

Gruß
Onki
 

Erdie

User
Danke erstmal, und schon zur nächsten Frage:

Wenn ich RPM messen möchte, z. b. bei einem Elektomotor, dann ist die einzige Variable, die der python Konfigurator anbietet: "Pulse per rotation".
Das ist schon mal gut und läßt sich leicht ausrechnen, wenn man z. B. die Spannung einer Motorzuleitung abgreift.
Für mich offen bleiben folgende Punkte:
  1. Wo kann ich definieren, welcher (vermutlich analog-) Pin am Arduino für diese Messung in Frage kommt
  2. Welche Spannung muß das Pulse haben. Vermutlich irgendwas <=3,3V oder <= 5V
In den Header Dateien habe ich das nicht gefunden bisher. Kann aber sein, dass ich es übersehen habe ..

Danke
Erdie
 
Der pin ist fest vorgegeben. Steht in der Doku vom oxs, weis ich nicht auswendig. Zwischen 3,3 und 5v kommt ganz gut hin. Im Datenblatt des atmega 328 steht das genauer, ich würde vcc mittels pullup widerstnad vom arduino nehmen und über einen hallsensor oä auf gnd ziehen lassen
 

kalle123

User
Beide an oXs betrieben. Der eine Sensor 'gebastelt', der andere Sensor gekauft.

Der DIY mit 3.3V betrieben, der andere lt. 'Datenblatt' 3.5 .. 8.4V Betriebsspannung, Pegel müsste man sich mal mit nem Oszi anschauen.

Wenn du selber mal 'basteln' willst, häng ich noch den Plan mit an. ;)

Gruß KH

20221128_164628.jpgbldc_rpm_sensor.gif
 

Erdie

User
Danke!

Das mit den Spannungen ist jetzt klar. Ich habe den ACS758KCB-150B-PFF-T d. h. ist bidirektional und hat eine Ruhespannung von Vcc/2. Wenn ich den mit 3,3V ansteuere, wären das also 1,65V. Die mV/A sind bem dem Typ 13,3. Mit 3,3V Vcc kann ich dann maximal 124A messen. Mein Flieger zieht knapp 120A mit einer Zange gemessen. Das ist etwas grenzwertig, sollte aber gehen. Oder ich muß auf 5V Vcc gehen, denke noch drüber nach.
Bei dem Current Sensor stehen noch "R to ground" und "R to current sensor". Wenn ich gar keine Widerstände brauche, was muß ich dann für "R to ground" eingeben? Wird eine 0 als Unendlich interpretiert und muß ich da eine quasi unendlich große Zahl eintragen?



Bei dem RPM Pin bin ich mir noch nicht ganz sicher. Im Github habe ich folgende Stelle im Code gefunden in der Datei:

oXs_general.cpp:

Code:
#ifdef MEASURE_RPM
    DDRB &= ~0x01 ;    // Pin PB0 is input in order to allow PCINT0
    PORTB |= 1 ;         // With pullup
    sbi( TIMSK1, ICIE1 ) ; // allow change interrupt
#endif // MEASURE_RPM

Das würde bedeuten, dass der Pin D8 der richtige ist (PB0 ist D8). Kann das sein?

Weiter oben steht noch:

Code:
#ifdef MEASURE_RPM
ISR( TIMER1_CAPT_vect, ISR_NOBLOCK )
{
    uint16_t elapsed ;
    uint32_t eventTime ;
    uint32_t difference ;

    if ( ++RpmCounter > 3 )
    {
        uint8_t oReg = SREG ; // save status register
        cli() ;
        uint16_t time = ICR1 ;    // Read capture register on timer 1
        SREG = oReg ; // restore status register
        elapsed = time - lastTimerValue ;
  #if F_CPU == 20000000L   // 20MHz clock
   #error Unsupported clock speed
  #elif F_CPU == 16000000L  // 16MHz clock                                               
            eventTime = TotalMicros + ( elapsed >> 4 ) ;
  #elif F_CPU == 8000000L   // 8MHz clock
          eventTime = TotalMicros + ( elapsed >> 3 ) ;
    #else
    #error Unsupported clock speed
  #endif


Aber ich kann da keinen Pin rauslesen. In der Doku steht über rpm gar nicht, sondern nur die Überschrift "RPM sensor"
 
1. Strom oder rpm, nicht vermsichen: der ACS hat nix mit rpm zu tun. was hast du da mit 3,3V vor? ich hoffe du hast einen 5v arduino genommen?
2. dokumentation ist in oXs_config_description.h schau da mal rein
 

Erdie

User
1. Strom oder rpm, nicht vermsichen: der ACS hat nix mit rpm zu tun. was hast du da mit 3,3V vor? ich hoffe du hast einen 5v arduino genommen?
2. dokumentation ist in oXs_config_description.h schau da mal rein

Es geht um Strom UND Rpm. Sieht meinen post weiter oben. Ich habe nur 2 Fragen auf einmal gestellt.

Ich geht nach diesem Schema vor:
sensor-diagram-Arduino-nano-scaled.jpg


Hier sieht man, das der ACS758 mit 3,3V versorgt wird. Wenn ich 5V nehme, muß dann der ARE - Pin trotzdem angeschlossen werden? Wofür ist der überhaupt da?

GPS und Spannungsmessungen laufen schon bei mehreren Modellen.

Jetzt versuche ich das durch Strom und rpm zu ergänzen.

In die Header Datei schau ich noch rein, allerdings habe ich nicht global über Suche im Github gefunden
 
ah, ok. von den 3,3V für den ACS würde ich abstand nehmen. Das kommt vmtl aus einer falsch verstandenen Haltung dem ACS eine saubere Versorgungsspannung zur Verfügung stellen zu wollen. Problem ist nur: auf dem arduino Nano werden die 3,3V nicht etwa von einem guten LDO erzeugt sondern vom USB to Serial chip und das mit sehr fragwürdiger Spannungsstabilität. Also ein paar Hintergrundinfos:
AREF Pin: Referenzspannung für den ADC falls als Referenz "External" gewält ist. Ich würde entweder die interne 1,1V Referenz nutzen und mit entsprechenden Spannungsteilern arbeiten, oder den Pin auf 5V ziehen (macht das board glaube ich von haus aus wenn unbeschaltet? musste mal messen). Problem bei 5V: hast du denn wirklich 5V? dein Pluskabel kommt vom Empfänger und geht an VIN. Von daaus geht es über einen LDO (AMS1117 5.0) auf die 5V schiene. kommen nun vom Empfänger weniger als 6.1 V bewegst du dich schon außerhalb der Spezifikation des AMS1117 und saubere 5V am ausgang (5V Schine des Arduino) werden nicht mehr garantiert. Erfahrungsgemäß macht das nix und du kannst sogar noch mit 4,5V an VIN deinen Sensor versorgen, aber die 5V als Spannungsreferenz sind halt beim Teufel. Ich empfehle daher wärmstens mit Spannungsteilern und der internen 1,1V Referenz zu arbeiten (Habe ich bei allen gut 20 oXs die ich schon gebaut habe so gemacht). Alternativ bist du dir sicher, dass deine Empfängerspannung sauber ist und dauerhaft über 6V hat. (Und daran denkst du auch noch, wenn der Sensor mal in einem anderen Modell platz findet ;)
 

Erdie

User
ah, ok. von den 3,3V für den ACS würde ich abstand nehmen. Das kommt vmtl aus einer falsch verstandenen Haltung dem ACS eine saubere Versorgungsspannung zur Verfügung stellen zu wollen. Problem ist nur: auf dem arduino Nano werden die 3,3V nicht etwa von einem guten LDO erzeugt sondern vom USB to Serial chip und das mit sehr fragwürdiger Spannungsstabilität. Also ein paar Hintergrundinfos:
AREF Pin: Referenzspannung für den ADC falls als Referenz "External" gewält ist. Ich würde entweder die interne 1,1V Referenz nutzen und mit entsprechenden Spannungsteilern arbeiten, oder den Pin auf 5V ziehen (macht das board glaube ich von haus aus wenn unbeschaltet? musste mal messen). Problem bei 5V: hast du denn wirklich 5V? dein Pluskabel kommt vom Empfänger und geht an VIN. Von daaus geht es über einen LDO (AMS1117 5.0) auf die 5V schiene. kommen nun vom Empfänger weniger als 6.1 V bewegst du dich schon außerhalb der Spezifikation des AMS1117 und saubere 5V am ausgang (5V Schine des Arduino) werden nicht mehr garantiert. Erfahrungsgemäß macht das nix und du kannst sogar noch mit 4,5V an VIN deinen Sensor versorgen, aber die 5V als Spannungsreferenz sind halt beim Teufel. Ich empfehle daher wärmstens mit Spannungsteilern und der internen 1,1V Referenz zu arbeiten (Habe ich bei allen gut 20 oXs die ich schon gebaut habe so gemacht). Alternativ bist du dir sicher, dass deine Empfängerspannung sauber ist und dauerhaft über 6V hat. (Und daran denkst du auch noch, wenn der Sensor mal in einem anderen Modell platz findet ;)
Die Spannungsmessung funktioniert einwandfrei, der Sensor wird für Hochvolt System verwendet und am Vin kommt 8V rein.

Als Referenz habe ich Vcc gewählt. das ist auch stabil, ich habe die Messung am Sender mit einem Multimeter verglichen, sofern Vin größer als 6V ist. Sollte ich also den AREF ganz frei lassen? Die Spannungen hab ich nämlich schon kalibriert und da was der AREF noch gar nicht angeschlossen. Ich hab Dich so verstanden, dass die Antwort JA ist.

Danke schonmal
Grüße
Erdie
 
Zuletzt bearbeitet:
Sollte ich also den AREF ganz frei lassen?
ja. ich hab jetzt nochmal das datasheet zum 328 angeguckt weil ichs auch nimmer wusste:
Internal reference voltages of nominally 1.1V or AVCC are provided on-chip. The voltage reference may be externally
decoupled at the AREF pin by a capacitor for better noise performance.
Also am AREF nix anschließen, er dient nur mit dem damit verbundenen Kondesator auf der Platiene als Spannungsstabilisierung. nimm die 5.0V vom AMS und hoffe, dass die schön konstant bleiben und sich nicht durch erwärmen oä langsam verändern ;)
 
der ACS785 hat im Datenblatt eine empfohlene beschltung mit ein paar Kondensatoren. Kannste durchaus mitverbauen, wird die Ergebnisse vmtl verbessern. Musste aber nicht
 
Außerdem wie immer der Hinweis weil ichs gerade an deiner Grafik da oben sehe: NIEMALS den Minus vom Akku über den Sensor zum Empfänger verbinden. Du schaffst damit einen 2ten Weg für den Strom vom Akku zum Regler (nämlich über den Empfänger) Dieser kann dabei gegrillt werden! als GND reicht der vom Empfänger auch für die Akku Spannungsmessung völlig aus. Alternativ den GND vom Empfänger zum oxs weglassen, das macht aber weniger Sinn. Anderes gilt für opto regler, da macht eine Spannungsmessung via oXs aber eh nur bedingt Sinn.
 

Erdie

User
... Anderes gilt für opto regler, da macht eine Spannungsmessung via oXs aber eh nur bedingt Sinn.

Wieso ist das Deiner Meinung nach denn der Fall? Ich habe das nämlich schon in einem anderen Flieger seit 1 Jahr am laufen mit der Masse direkt am Akku. Steckt da jetzt eine Zeitbombe drin? Der oXs mißt dort die Akkuspannung + GPS. Der Empfänger wird über ein Chargery Super BEC versorgt.

BTW: Ich hatte allerdings auch vor, in das Telemetriekabel eine 500mA Sicherung einzubauen, damit nix passiert, falls in der Konstruktion irgendwo mal ein Kurzschluss entstehen sollte. Die 500mA steckt der Empfänger ja locker weg. Nach dem was Du sagst, wäre es auch sinnvoll das in beide Leitungen einzuschliefen.
 
Steckt da jetzt eine Zeitbombe drin?
Jain: Eine potentielle Bombe, die aber nicht hochgehen muss. Fakt ist: einige Milliampere deines Motorstroms flißen jetzt schon über den Empfänger. Bestimmt nicht viel, aber es kann da zu Problemen kommen. Es macht einfach überhaupt keinen Sinn den - Vom akku zum oxs zu führen: den - für die Spannungsmessung bekommt er ja schon über den Empfänger. Du gewinnst einfach nix damit. Da reicht ein kabel vom + zum oxs bzw vom Spannungsteiler zum oXs. Ausgenommen opto regler: hier wird der Akku - nicht zum Empänger durchgeschleift (zumindest nicht bei echten optos). Ob hier eine Spannungsmessung Sinn macht, musst du selber entscheiden: Der Sinn von opto ist ja gerade keine galvanische Verbindung zwischen Empfänger und Antrieb zu haben. Es gibt ja auch möglichkeiten eine Spannungsmessung per opto auszuführen (siehe die diversen opto telemetrie regler) ist aber mit dem oXs je nach Telemetrieprotokoll nicht ganz trivial umzusetzen.

Sicherung macht keinen Sinn: bis die auslösen ist dein Empfänger schon lang durchgebrannt. Die machen nur Sinn um Leistungsteile zu schützen (BEC, Servos etc.) Für Signaltechnik sind die klassichen Sicherungen (Feinsicherungen und EFuses) ungeeignet
 

Erdie

User
Sicherung macht keinen Sinn: bis die auslösen ist dein Empfänger schon lang durchgebrannt. Die machen nur Sinn um Leistungsteile zu schützen (BEC, Servos etc.) Für Signaltechnik sind die klassichen Sicherungen (Feinsicherungen und EFuses) ungeeignet
Graupner gibt für jeden Anschluss am Empfänger, soweit ich ich erinnern kann, 15A Dauerstrom für die Powereingänge und alle anderen 5A an. Wenn da jetzt maximal 500mA durch die Masse läuft bis die Sicherung auslöst, leuchtet mir jetzt nicht ein, warum da was durchbrennen soll. Allerdings hatte ich die als Kurzschlusssicherung gedacht und nicht wegen irgendwelcher Masseströme.

Aber wie dem auch sei, ich habe ja einen Opto Regler.
 

Aschi

User
Hi zusammen,

Und wie schaut es dann bei der Sensorik von SM aus ?

Uni- Sens hat je nach Stecker das "Schwarze Schwanzerl" dran , Opto Koppler ist da keiner drin .

LG Thomas
 
Ansicht hell / dunkel umschalten
Oben Unten