Strommessender Schaltaktor

Fragen und Diskussionen zur Entwicklung von neuen Geräten. Sowohl Hardware als auch Software. English is welcome.
Florian
Beiträge: 151
Registriert: 8. Aug 2015, 23:25
Wohnort: Paderborn

Re: Strommessender Schaltaktor

Beitrag von Florian »

Ein Nachtrag: November 2020 hatte ich eine Änderung bei github eingecheckt, damit das Projekt bei mir wieder übersetzt werden konnte. Meine (neuere) mcuxpresso-Version hatte auf einmal Probleme mit mehrfach definierten Mathematikfunktionen. Siehe auch:
https://github.com/selfbus/software-arm ... 170c7d8d7f

Tags:
Darthyson
Beiträge: 55
Registriert: 3. Sep 2020, 14:03

Re: Strommessender Schaltaktor

Beitrag von Darthyson »

Hallo Florian,

ich glaub dir ist da in Zeile 296 ein TS_ARM_2CH durch die Lappen gegangen.

Code: Alles auswählen

diff --git a/actuators/outputs/out-cs-bim112/inc/config.h b/actuators/outputs/out-cs-bim112/inc/config.h
index d66e124..5a1b338 100644
--- a/actuators/outputs/out-cs-bim112/inc/config.h
+++ b/actuators/outputs/out-cs-bim112/inc/config.h
@@ -293,7 +293,7 @@
 
 #if CHANNELCNT <= 2
 
-#ifndef TS_ARM_2CH
+#ifndef HW_2CH_WO_CS
 // mit Strommessung
 #define DEVICETYPE 0xA05B // SA/S2.16.6.1
 #define SPIRELDRIVERBYTES 1
Viele Grüße
Denis
ETS 5.7.4 (Build 1093), Gira IP-Router 103000, MCUXpresso IDE v11.4.1 [Build 6260], Windows 10 Version 21H1
3x in16-bim112 ARM | 2x rol-jal-bim112 ARM | 8x Kombisensor LPC | 1x out8 LPC | 2x 2in2out LPC | 2x 8IN LPC
Florian
Beiträge: 151
Registriert: 8. Aug 2015, 23:25
Wohnort: Paderborn

Re: Strommessender Schaltaktor

Beitrag von Florian »

Gut erkannt. Ich habe das übernommen, danke für den Hinweis.
Darthyson
Beiträge: 55
Registriert: 3. Sep 2020, 14:03

Re: Strommessender Schaltaktor

Beitrag von Darthyson »

Hallo Florian,

beim Versuch die delayMicroseconds() zu optimieren, bin ich darauf gestoßen (Dank geht an Mirko), dass es sehr leicht passieren kann, dass vom Compiler/Linker double-Operations eingebunden werden, die sehr viel Speicherplatz verbrauchen.
Das sind allein rund 6,1kB für die Funktionen __aeabi_dsub (1,79kB), __aeabi_dadd (1,62kB), __aeabi_ddiv (1,48kB) und __aeabi_dmul (1,21kB). Selbst mit -O3 oder -Os werden die nicht wirklich kleiner.

Unter anderem bindet der out-cs-bim112 diese ein. Schön zu sehen im Vergleich zwischen HW_2CH_WO_CS und HW_2CH.

Über die Compiler Warnings (-Wconversion) und die Image-Info konnte ich rausfinden, dass allein der Aufruf von sqrt() mit double alle 4 __aeabi_d* benötigt.

In Adclsr.cpp:

Code: Alles auswählen

void AdcIsrCurrFilt(void)
wird die double Version von sqrt() aufgerufen.

In Appl.cpp:

Code: Alles auswählen

void Appl::OneCurrThresholdFct(int chno, float IMeas, int fctno) und
void Appl::CurrentFunctions(unsigned referenceTime)
wird __aeabi_dmul verwendet.

Hier mal die ungetestete patch-Datei, welche die double Operations als float ausführt.
000-double_in_float.zip
(1017 Bytes) 39-mal heruntergeladen
Beinhaltet auch ein -O3 für den ADC_IRQHandler (ob das reicht kann ich leider nicht sagen).

Code: Alles auswählen

 extern "C" __attribute__((optimize("O3"))) void ADC_IRQHandler (void)
Alles ungetestet da ich keinen out-cs habe.

Viele Grüße
Denis

edit: richtige Datei angehängt
ETS 5.7.4 (Build 1093), Gira IP-Router 103000, MCUXpresso IDE v11.4.1 [Build 6260], Windows 10 Version 21H1
3x in16-bim112 ARM | 2x rol-jal-bim112 ARM | 8x Kombisensor LPC | 1x out8 LPC | 2x 2in2out LPC | 2x 8IN LPC
Florian
Beiträge: 151
Registriert: 8. Aug 2015, 23:25
Wohnort: Paderborn

Re: Strommessender Schaltaktor

Beitrag von Florian »

Hallo Denis,

danke für's rausfinden.

Ja, die Segnungen des C-Standards... Da wollte ich extra floats verwenden um zu sparen, und es werden doch double Berechnungen verwendet, weil die Konstanten automatisch doubles sind, wenn man kein f-Postfix dranhängt.

Mit den kleinen Änderungen schrumpft das Programm um 5,6kB.

Gruß,
Florian
Klamm
Beiträge: 72
Registriert: 19. Jul 2013, 11:30

Re: Strommessender Schaltaktor

Beitrag von Klamm »

Hallo!
Ich habe den Aktor nachgebaut. Selbstverständlich habe ich die Anleitung für den Zusammenbau vorher NICHT vollständig durchgelesen. Jetzt habe ich gesehen, dass die Stromwandler alle in eine Richtung verbaut werden sollten. Was für ein Problem habe ich wenn das nicht so ist? Bei einem Aktor ist es nur ein Stromwandler, den könnte ich also drehen. Bei den anderen beiden sind es aber genau 3 :oops:
Florian
Beiträge: 151
Registriert: 8. Aug 2015, 23:25
Wohnort: Paderborn

Re: Strommessender Schaltaktor

Beitrag von Florian »

Hallo,

das sollte keine Probleme machen. Es sieht halt nicht ordentlich aus :lol:

Und sonst, hast Du dem Aktor schon Lebenszeichen entlocken können?

Gruß,
Florian
Klamm
Beiträge: 72
Registriert: 19. Jul 2013, 11:30

Re: Strommessender Schaltaktor

Beitrag von Klamm »

Morgen!
Habe einen Aktor eingebaut und der scheint auch gut zu funktionieren. Bisher nutze ich nur einen Ausgang. Die anderen muss ich erst noch vedrahten.
Antworten