Forum: Mikrocontroller und Digitale Elektronik Induktiver Positionssensor - Fragen dazu


von Manfred P. (pruckelfred)


Lesenswert?

Andreas S. schrieb:
>>
1
Der Sketch verwendet 12674 Bytes (41%) des Programmspeicherplatzes. Das
2
>> Maximum sind 30720 Bytes.
3
>> Globale Variablen verwenden 1669 Bytes (81%) des dynamischen Speichers,
4
>> 379 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
5
>>
>
> Nur keine Sorge - das ist die Grafik-Lib, die so viel Appetit
> auf Deinen Flash und Dein RAM hat.

Oh doch Sorge, der dynamische Bereich ist eher geschätzt denn real und 
hat mich heftig gekniffen. Spannungsmessung läuft, OLED spielt. Dann 
SD-Karte dazu (erprobtes Programm) und der Kram stürzte ab, obwohl die 
A*-IDE noch immer eine erträgliche Auslastung zeigte.

Ich habe stundenlang verschiedene Dinge auskommentiert, im Endeffekt war 
es so, dass der dynamische Speicher crasht. OLED am Nano oder Uno fasse 
ich so bald nicht wieder an, wenn es mehr als ein simples Thermometer 
werden soll.

Andreas S. schrieb:
> Davon würde ich Dir dringend abraten, sonst verzetteln wir uns hier.

Hatten wir das nicht schon?

> Ich würde immer nur eine Funktionalität in den Nano einbauen (z.B. nur
> Strommessen oder nur Oszillatorfrequenz messen) und erst am Ende den
> gesamten Code aller einzelnen Funktionalitäten in einem Code
> zusammenführen.

Genau so! Ich war so mutig und habe ein Komplettgebilde geschrieben, 
beim Start funktionierte so ziemlich nichts. Also Rolle rückwärts, erste 
Funktion lauffähig, dann die nächste dazu gepackt und so weiter.

Erfahrene Programmierer mögen das anders sehen, ich bin dafür nicht 
erfahren genug und muß stückweise arbeiten.

von Frank O. (frank_o)


Lesenswert?

Sensor ist fertig!

https://1drv.ms/v/s!Alr_JhxJHaJihpI1kTWLQkaeJrzTXA?e=HzuHxj
(das Gezappel vom Sensor liegt definitiv am Steckbrett)

Manfred P. schrieb:
> Genau so!

> Erfahrene Programmierer mögen das anders sehen,

Ich bin nicht einmal ein Programmierer. :-)

Hier wäre der Thread nun zu Ende.

Wer will, kann ja noch ein bisschen schauen. Ich werde hier weiter 
posten.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> Genau so! Ich war so mutig und habe ein Komplettgebilde geschrieben,
> beim Start funktionierte so ziemlich nichts. Also Rolle rückwärts, erste
> Funktion lauffähig, dann die nächste dazu gepackt und so weiter.

Ich schrieb ja schon, dann kommt ein zweites Board hinzu.
So ein Mini Pro kaufe ich schon mal für knapp über einen Euro.
Das macht den Kohl nicht mehr fett.
Dann kommt die ganze Ausgabe und der Sensor auf einen eigenen 
Controller.
Ist auch billiger als einen größeren zu nehmen.

von Andreas S. (igel1)


Lesenswert?

Ich habe inzwischen die Pulsmessung "pulseIn()" aus den 
Arduino-Bibibliotheken durch eine eigene Pulsmessung ersetzt.
Dadurch beträgt die Auflösung jetzt nicht mehr 1us, sondern 1/16us.

So konnte ich die Bestimmung der Riegel-Position um einen Faktor von 
mehr als 10 steigern. Jetzt kann man vermutlich sogar millimetergenau 
die Riegel-Position bestimmen - jedenfalls fühlt es sich so an, wenn ich 
meinen Ferrit-Kern in die Spule hineinschiebe bzw. herausziehe.

Leider fallen jetzt auch andere Effekte auf, die vorher verborgen waren: 
der Oszillatorpuls variiert um bis zu 3%. Ob das an meinem "windigen" 
Aufbau liegt, oder prinzipbedingt ist, weiß ich nicht. Für Deine 
Anwendung, Frank O., ist das natürlich irrelevant, aber für andere 
Anwendungen wäre das schon etwas ärgerlich.

Habe aktuell noch keine Idee, woran das liegen könnte - die Tage werde 
ich den Oszillator einmal aus einer separaten Batteriespannung betreiben 
- evtl. wird's dann ja besser / stabiler.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Sensor ist fertig!

Supi - sieht doch gut aus und erfüllt den Zweck.

Meine "Hochauflösung" ist, zugegeben, nur "Schmuck am Nachthemd" - aber 
ich mag halt Schmuck am Nachthemd :-)

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Moin Andreas!
Man muss auch immer die Ausgangslage betrachten.
Wenn du die Anforderungen an die Genauigkeit hoch schraubst, dann wirst 
du auch einen anderen Schwingkreis bauen müssen.
Vielleicht einfach einen Komparator am Ausgang davor schalten?
Würde ich jetzt als einfachsten Versuch so machen.
Oder einfach die Zeit um die Hälfte verlängern?
Koppelkondensator?

von Andreas S. (igel1)


Lesenswert?

@Frank O.:

Mich würden nochmals die minimale und die maximale Induktivität Deines 
Sensors interessieren. Könntest Du den netterweise nochmals vermessen?

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

An zwei TT gemessen.
Ohne Kern: 5.1mH; 5.2mH
Mit Kern: 8.5mH; 8.6mH

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Meine "Hochauflösung" ist, zugegeben, nur "Schmuck am Nachthemd"

Vielleicht nicht!

Ich habe heute den Bremsmagneten mit nach Hause geschleppt. Nebenbei 
bemerkt, an meinem neuen Labornetzteil, mit 60V/5A zuckt der nicht 
einmal.

Jedenfalls hat der einen Weg von ~6,5mm. Angeblich soll der einen 
Millimeter im Sensor stecken. Das muss aber mehr sein. Ich kann mich 
erinnern, dass der Sensor deutlich tiefer im Gehäuse saß und nicht 
wirklich viel Abstand zum Bremsmagneten war. Der Hub ist aber eindeutig 
messbar und man kann es auch auf dem Diagramm, im Bild des Eingangsposts 
sehen.

: Bearbeitet durch User
von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Okay, dann gibt's hier schon mal meinen 
"Quick-and-Dirty-Alpha-Pre-Version"-Code.

Der Code ist noch nicht wieder in die ursprüngliche Version mit dem 
Fortschrittsbalken eingebaut. Hier ging es mir erst einmal darum, die 
Pulslänge, so genau wie mit einem Nano möglich, zu vermessen.

Ich nutze hier also nicht die pulseIn() Funktion der Arduino-Libs, 
sondern eine eigene ISR-Routine, welche die Hardware Input Capture 
Möglichkeiten vom Timer1 des Atmega328p voll ausschöpft.

(Disclaimer: "eigene ISR-Routine" ist hier ziemlich "relativ" - Falk und 
andere haben mir in dem weiter oben zitierten Thread massiv unter die 
Arme gegriffen, um diese Routine in die Gänge zu bringen.)

Zusätzlich mittle ich die Pulslängenmessungen über 80 Pulse - das bringt 
viel mehr Ruhe in das Ergebnis als es bei nur einer Pulsmessung der Fall 
wäre.

Den gesamten Code findest Du im Anhang - inklusive Doku zum Anschluss 
meines SPI-basierten, SSD1309-controllergesteuerten Display sowie zum 
Anschluss des Oszillators.

Viele Grüße

Igel1


PS:  Code ohne Doku:
1
#include <Arduino.h>
2
#include <U8g2lib.h>
3
#include <SPI.h>
4
#include <Wire.h>
5
#include <avr/io.h>
6
#include <util/delay.h>
7
#include <util/atomic.h>
8
#include <avr/interrupt.h>
9
10
// Set pinout
11
int pin = 8;                 // pin for puls input from oscillator
12
int pout = 3;                // pin for PWM output (just a reference-signal for testing) - must be a "pwm-capeable" pin.
13
14
// Constructor - for OLED display library - see u8g2 documentation
15
U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 7);
16
17
volatile uint16_t pulse_width;
18
volatile bool isFinished;
19
char buffer[32];
20
uint16_t min;
21
uint16_t max;
22
uint8_t noOfPulses = 80;            // number of pulses to use for a measurement.  Do not choose
23
                                    // to large values as sum of all pulseLength must fit in a uint16_t variable
24
                                    // i.e.:   noOfPulses x pulseLenth < 65536
25
26
void setup() {
27
  pinMode(pin, INPUT);
28
  pinMode(pout, OUTPUT);
29
30
  u8g2.begin();                // start the u8g2 library
31
  u8g2.setBitmapMode(1);
32
  u8g2.setFont(u8g2_font_helvB08_tr);
33
34
  analogWrite(pout, 6);      // just for testing: set up a 50% PWM at pout pin
35
36
  TCCR1A  = 0;
37
  TCCR1B  = (1<<ICNC1) | (1<<ICES1) | (1<<CS10);
38
  TIMSK1 |= (1<<ICIE1);
39
  
40
  min = 800;
41
  max = 200;
42
}
43
44
void loop() {
45
    
46
    uint16_t pulseLength;
47
48
    pulseLength = measurePulseLength();
49
50
    if(pulseLength > max) {
51
      max = max + (pulseLength - max) / 2 + 1;
52
    } 
53
    if(pulseLength < min) {
54
      min = min - (min - pulseLength) / 2 - 1;
55
    }
56
    u8g2.clearBuffer();
57
    u8g2.setFont(u8g2_font_helvB08_tr);
58
    sprintf(buffer, "Pulse: %u x 1/16us", pulseLength);
59
    u8g2.drawStr(15, 64, buffer);
60
    sprintf(buffer,"min: %u", min);
61
    u8g2.drawStr(0, 10, buffer);
62
    sprintf(buffer,"max: %u", max);
63
    u8g2.drawStr(80, 10, buffer);
64
65
    u8g2.sendBuffer();
66
67
    delay(100);
68
}
69
70
// function to query the pulse length ISR
71
uint16_t measurePulseLength() {
72
    uint16_t sum = 0;
73
    uint16_t pulseLength;
74
75
    for(byte i=0; i<noOfPulses; i++) {
76
      isFinished = false;
77
78
      while(!isFinished);
79
80
      ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
81
          pulseLength = pulse_width;
82
      }
83
    sum += pulseLength;
84
    }
85
    return sum/noOfPulses;
86
}
87
88
// ISR to capture time for falling/rising edge and calculate pulse length
89
ISR(TIMER1_CAPT_vect)
90
{
91
    static uint16_t tr;
92
    uint16_t tf;
93
94
    if (TCCR1B & (1<<ICES1) ) {             // rising edge
95
        tr = ICR1;                          // tr: time of rising edge
96
        TCCR1B  = (1<<ICNC1) | (1<<CS10);   // next trigger on falling edge
97
    } else {                                // falling edge
98
        tf = ICR1;                          // tf: time of falling edge
99
        TCCR1B  = (1<<ICNC1) | (1<<ICES1) | (1<<CS10);  // next trigger on rising edge
100
        pulse_width = tf-tr;                // calculate pulse_width
101
        isFinished = true;                  // flag marks end of pulse measurement
102
    }
103
    TIFR1 = (1<<ICF1);                      // just to fullfill datasheet requirement (required when edge detection is changed (rising <-> falling) )
104
}

von Frank O. (frank_o)


Lesenswert?

Wenn man zwei Controller nutzt, dann kann man vielleicht besser SPI fürs 
Display nehmen (die größeren sind SPI) und IIC für den Austausch unter 
den Controllern verwenden.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Wenn man zwei Controller nutzt, dann kann man vielleicht besser SPI fürs
> Display nehmen (die größeren sind SPI) und IIC für den Austausch unter
> den Controllern verwenden.

Das Programm von SPI auf I2C umzurüsten ist kein Ding, weil Oliver Kraus 
seine u8g2-Bibliothek praktisch Protokoll-neutral konstruiert hat.

Einfach den SPI-Constructor im Code aus meinem letzten Posting ...
1
// Constructor (SPI) - for OLED display library - see u8g2 documentation
2
// U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI(rotation, cs, dc [, reset]) [full framebuffer, size = 1024 bytes]
3
U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 7);

... ersetzen durch den korrespondierenden I2C-Constructor:
1
// Constructor (I2C) - for OLED display library - see u8g2 documentation
2
// U8G2_SSD1309_128X64_NONAME0_F_HW_I2C(rotation, [reset [, clock, data]]) [full framebuffer, size = 1024 bytes]
3
U8G2_SSD1309_128X64_NONAME0_F_HW_I2C u8g2(U8G2_R0, 7,  19, 18);
4
// Maybe this works also:
5
// U8G2_SSD1309_128X64_NONAME0_F_HW_I2C u8g2(U8G2_R0, 7);

Natürlich müssen dann die Kabel für I2C-Betrieb ebenfalls leicht 
umgesteckt werden. Folgende Änderungen sind m.M.n. nötig (testen kann 
ich es wg. fehlendem I2C-Display ja nicht - ich müsste sonst an meinem 
Display rumlöten, um es umzurüsten):
1
SSD1309                     Nano
2
---------------------------------
3
CS                          -
4
DC                          -
5
RES                         7
6
SDA   (serial data)         18
7
SCLK  (clock)               19
8
VDD                         +5V
9
VSS                         GND

Referenzen:
- https://github.com/olikraus/u8g2/wiki/u8g2setupcpp
- https://devboards.info/boards/arduino-nano

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Natürlich müssen dann die Kabel für I2C-Betrieb ebenfalls leicht
> umgesteckt werden. Folgende Änderungen sind m.M.n. nötig (testen kann
> ich es wg. fehlendem I2C-Display ja nicht - ich müsste sonst an meinem
> Display rumlöten, um es umzurüsten):

Ja ich weiß, aber danke!
Die ganzen 2.42" Displays muss man erstmal "umstricken", damit die I2C 
können.
Derweil habe ich heute Abend noch ein wenig geschaut, wie das mit der 
Datenübertragung zwischen zwei µCs ist.
Dabei bin ich über JSON gestolpert.
Natürlich geht das auch anders relativ einfach (na ja, zumindest solange 
man nur zuschauen muss).
Das ganze Konstrukt wächst sich hier wohl noch ziemlich aus. Nur um zwei 
Magnete anzusteuern. Eigentlich völlig krank.
Habe gerade über zusätzlichen Speicher gelesen. Das scheint dann aber 
auch erstmal mit einem zusätzlichen Lernaufwand verbunden zu sein.

Ich weiß auch noch nicht wie ich eine Kurzschlussmessung machen muss.
Hier wurde anfangs über die Stromanstiegszeit gesprochen. Aber ich habe 
noch keinen Plan wie man das umsetzt und gefunden habe ich auch noch 
nichts dazu.
Nun könnte ich vielleicht messen, wie schnell die Spannung des 
gemessenen Stromes ansteigt. Der Transistortester misst sehr genau, ob 
bei einem Drehstrommotor eine Spule durch ist. Viel einfacher und 
schneller als das unser sündhaft teures Metrahit mit Coilmessung kann. 
Das benutze ich auch gar nicht. Habe immer noch mein altes Metrahit.
Da es jetzt ruhiger wird, werde ich irgendwann ein Fahrzeug raus ziehen 
und einmal die Messungen am eingebauten Sensor machen, mit dem 
Peda-Oszillator.
Jetzt habe ich erstmal den Magneten hier. Ich hoffe ich bekomme noch 
einen 12V-Magneten. Habe einen Kollegen in der Werkstatt angehauen, der 
soll mal die Augen aufhalten. Ich habe nur ein Fahrzeug mit 12V und das 
geht jetzt auch wieder weg.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:

> Ja ich weiß, aber danke!

Ah - sorry, dann habe ich Eulen nach Athen getragen.

> Die ganzen 2.42" Displays muss man erstmal "umstricken", damit die I2C
> können.

Jein - der Aliexpress-Händler, von dem ich mein Display bezogen hatte, 
bot beide Versionen an.

> Derweil habe ich heute Abend noch ein wenig geschaut, wie das mit der
> Datenübertragung zwischen zwei µCs ist.
> Dabei bin ich über JSON gestolpert.

JSON ist einfach nur ein Daten(austausch)format, das ich eigentlich mehr 
aus dem Umfeld REST-Services kenne. Bevor Du Dich um 
Daten-Austauschformate kümmerst, müsstest Du Dich m.M.n. erst einmal um 
die OSI-Ebenen darunter kümmern -  z.B. ob Du I2C, oder Seriell oder CAN 
oder, oder, oder als unterliegende Protokolle nimmst.

> Natürlich geht das auch anders relativ einfach (na ja, zumindest solange
> man nur zuschauen muss).
> Das ganze Konstrukt wächst sich hier wohl noch ziemlich aus. Nur um zwei
> Magnete anzusteuern. Eigentlich völlig krank.

Bei allem Respekt: so interessant das mit mehreren Arduinos auch sein 
mag - das übersteigt ganz eindeutig das Einsteigerniveau, auf dem wir 
hier aktuell diskutieren. Mein Rat: verwirf die Idee bitte - sonst 
fliegen wir nicht nur über Berlin von Köln nach Bonn sondern über den 
Mond von Köln nach Bonn.

> Habe gerade über zusätzlichen Speicher gelesen. Das scheint dann aber
> auch erstmal mit einem zusätzlichen Lernaufwand verbunden zu sein.

Ich verstehe Deine Speichersorgen nicht. Wenn der Nano "fertig" ist, so 
nimm doch einfach das nächstgrößere Arduino-Board - Du hast ja sogar ein 
Mega2560 bei Dir rumfliegen - damit sind doch alle Sorgen verflogen, 
oder?

Ansonsten schau Dir diese Tabelle einmal mit Blick auf Flash- und 
RAM-Größe an: https://de.wikipedia.org/wiki/Liste_von_Arduino-Boards

> Ich weiß auch noch nicht wie ich eine Kurzschlussmessung machen muss.
> Hier wurde anfangs über die Stromanstiegszeit gesprochen. Aber ich habe
> noch keinen Plan wie man das umsetzt und gefunden habe ich auch noch
> nichts dazu.

Hmmm - Starkstrom ist leider nicht so mein Gebiet, da gibt es hier 
berufenere Leute in diesem Forum (oder in meiner Verwandschaft ...). 
Wenn Du genau beschreiben kannst, was Dein Ziel ist und was Du da messen 
musst (ich konnte es Deinen bisherigen Beschreibungen nicht entnehmen - 
oder alternativ - hab's schon wieder vergessen), so würde ich dazu einen 
separaten Thread aufmachen. Hier - nach >600 Posts - lesen ja nur noch 
die ganz Hartgesottenen (wie ich :-) mit.

Dann aber bitte gaaanz viel Liebe und Mühe in die Problem- und 
Zielbeschreibung investieren, sonst fährst Du direkt mit einem "Finger 
weg vom Starkstrom"-Ticket wieder nach Hause.

> Nun könnte ich vielleicht messen, wie schnell die Spannung des
> gemessenen Stromes ansteigt. Der Transistortester misst sehr genau, ob
> bei einem Drehstrommotor eine Spule durch ist. Viel einfacher und
> schneller als das unser sündhaft teures Metrahit mit Coilmessung kann.

Ach so - geht's nur darum den Innenwiderstand und die Induktivität 
Deines Motors zu vermessen?  Das wiederum könnten wir hinbekommen, indem 
wir das Messprinzip des Transistor-Testers übernehmen.

> Das benutze ich auch gar nicht. Habe immer noch mein altes Metrahit.

Ich liebe mein erstes Metrahit (24S) auch heiß und innig.
Hatte ich vor 20 Jahren für 100€ (oder waren's gar noch D-Mark?) mal 
total verschmiert ersteigert.

> Da es jetzt ruhiger wird, werde ich irgendwann ein Fahrzeug raus ziehen
> und einmal die Messungen am eingebauten Sensor machen, mit dem
> Peda-Oszillator.

Au ja - das wird spannend. Bitte vermesse den eingebauten Sensor 
zusätzlich auch mit Deinem Transistor-Tester.

> Jetzt habe ich erstmal den Magneten hier. Ich hoffe ich bekomme noch
> einen 12V-Magneten. Habe einen Kollegen in der Werkstatt angehauen, der
> soll mal die Augen aufhalten. Ich habe nur ein Fahrzeug mit 12V und das
> geht jetzt auch wieder weg.

Der aktuelle Magnet benötigt 60V und ?? Ampere?

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ach so - geht's nur darum den Innenwiderstand und die Induktivität
> Deines Motors zu vermessen?

Es geht immer nur um den großen Magneten. Der kleine Magnet und der 
Sensor sind von außen austauschbar. Dagegen ist der große Magnet in der 
Achse verbaut, man kann ihn nicht sehen, nur hören, wenn er anzieht und 
die Bremse frei gibt.
Der Magnet hat einen Widerstand von ca. 2 Ohm, was einen Strom von 
ungefähr 42A entsprechen würde. Tatsächlich wird er (ich habe schon 
Anderes gehört) mit 10A angesteuert, um dann nach kurzer Zeit auf 5A 
(Haltestrom) runter geregelt zu werden.
Darum geht es überhaupt bei der ganzen Sache. Ich muss zweifelsfrei 
feststellen, das dieser Magnet in Ordnung ist. Sowohl elektrisch als 
auch mechanisch.
Ob dieser Magnet, wenn die elektrische Prüfung abgeschlossen ist 
(Kurzschluss, Windungsschluss oder kein Durchgang), auch mechanisch 
richtig funktioniert, dafür muss der zweite Magnet den großen Magneten 
im angezogenen Zustand verriegeln.
Das wird über den Sensor festgestellt. Ist der große Magnet verriegelt, 
so wird dieser stromlos. Die Bremse ist jetzt frei. Danach wird der 
kleine Magnet stromlos.
Dann muss der große Magnet noch einmal anziehen und die Verrieglung löst 
sich, was wiederum über den Sensor angezeigt wird.
Danach wird der große Magnet wieder stromlos. Die Bremse ist jetzt 
angezogen.
Diesen Vorgang will ich nachbilden. Dazu aber schon vorher elektrisch 
feststellen, ob die beiden Magnete und der Sensor elektrisch in Ordnung 
sind. Der Funktionstest ist auch sehr wichtig.
Wenn ich mit dem Speicher nicht hinkommen würde, könnte ich auch ganz 
auf ein Display verzichten. Dann würden mir auch sogar Leds reichen.
Es geht nicht darum, dass das besonders toll aussieht (schön wäre es 
schon), sondern darum, dass die Bremse geprüft wird und das Ergebnis 
frei von jedem Zweifel ist.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Au ja - das wird spannend. Bitte vermesse den eingebauten Sensor
> zusätzlich auch mit Deinem Transistor-Tester.

Ich vermesse den Sensor mit allem was ich habe. :-)

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Frank O. schrieb:
> An zwei TT gemessen.
> Ohne Kern: 5.1mH; 5.2mH
> Mit Kern: 8.5mH; 8.6mH

Heute habe ich einen neuen Sensor mit dem TT gemessen.
Die Werte sind gleich. Also schon mal gut, dass es hier keine 
Streubreite gibt.

von Andreas S. (igel1)


Lesenswert?

Danke für die ausführliche Beschreibung der Verriegelungsfolge - das 
hilft sehr, den Test zu verstehen!

Hast Du denn inzwischen schon eine Idee, wie Du die Spule des großen 
Magneten durchmessen willst?

Verstehe ich Dich richtig, dass Du im Test die Anschlüsse beider Spulen 
quasi "in der Hand" hast - will sagen: dass Du die ohne Rücksicht auf 
die restliche Fahrzeugelektronik bestromen kannst?

Viele Grüße

Igel1

PS: Ich habe inzwischen die ISR-gesteuerte feine Pulslängenmessung in 
meine ehemalige Software (die mit dem Balken) eingebaut und einige 
weitere Verbesserungen vorgenommen. Die Tage kommt dann mal ein Video 
dazu.

von Enrico E. (pussy_brauser)


Lesenswert?

Frank O. schrieb:
> Der Magnet hat einen Widerstand von ca. 2 Ohm, was einen Strom von
> ungefähr 42A entsprechen würde. Tatsächlich wird er (ich habe schon
> Anderes gehört) mit 10A angesteuert, um dann nach kurzer Zeit auf 5A
> (Haltestrom) runter geregelt zu werden.

Über 3500 Watt Leistung aufbringen zu müssen, nur um mit gelöster Bremse 
fahren zu können, erscheint mir sowieso zuviel! Selbst 400 Watt müssen 
erst einmal 8 Stunden lang ohne zu überhitzen, am Magneten in Wärme 
verheizt werden können!

von Frank O. (frank_o)


Lesenswert?

Hallo Enrico!
Nein, das hat man vielleicht früher so gemacht.
Dann hast du meinen Text nicht richtig verstanden.
In kurzen Worten:
Um die Bremse zu lösen, muss der große Magnet anziehen. Wenn der Magnet 
gelöst ist, wird dieser verriegelt, sodass er anschließend stromlos 
geöffnet bleibt.
Das ganze Verfahren ist etwas komplexer. Kann ich hier aber nicht nennen 
und ist für den Test irrelevant.
Wenn wir die 10A zu Grunde legen, das ist bei uns "ein kleines Bisschen" 
Strom.
Bei uns gibt es Spitzenströme um die 1000A.

Als ich mit Mikrocontrollern anfing und dieses Forum entdeckte, da war 1 
Ampere gar kein Strom für mich und hier im Forum war es schon nahezu 
Starkstrom.
Im Mittel haben die Batterien 600Ah.
Wir haben auch Batterien in den Fahrzeugen mit über 1000Ah.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Verstehe ich Dich richtig, dass Du im Test die Anschlüsse beider Spulen
> quasi "in der Hand" hast - will sagen: dass Du die ohne Rücksicht auf
> die restliche Fahrzeugelektronik bestromen kannst?

Hallo Andreas.
Die Batterie wird komplett vom Fahrzeug getrennt.
Sie versorgt dann nur den Tester und die Bremsanlage.
Am Ende werde ich über einen Stecker, der mit den beiden Magneten 
verbunden ist und eine extra Stecker (Leider nicht der selbe Kabelbaum) 
zum Sensor auf die vorhandenen Kabel gehen.
Die ganze Ansteuerung der Magnete ist ziemlich trivial. Erst Recht, seit 
ich die Stromaufnahme der kleineren Magneten kenne.
Also nur einmal PWM für den großen Magneten, an und aus, für den kleinen 
Magneten.
Theoretisch bräuchte ich nicht einmal Strom messen und könnte das über 
Sicherungsautomaten gegen Kurzschluss absichern. Dann wüsste ich 
indirekt, ob ein Kurzschluss vorliegt.
Das was ich vorhabe, das ist quasi die high end Lösung.
Ursprünglich hatte ich das so geplant.
Das kann ich alles mit verfügbaren Teilen machen. Die ich auch sogar 
gekauft habe.
Aber ich will es so machen, zumindest fast so, wie das Steuergerät es 
tut.
Für die Messung der Magnete werde ich vermutlich das Verfahren aus dem 
Transistortester nehmen, obwohl ich es lieber am Strom "erkennen" 
möchte, in welchem Zustand sich die beiden Magnete befinden.
Unterbrechung kann ich schon über den Strom erkennen (lach).
Im Moment hatte ich erst "deinen Sensor" weiter gemacht.
Wenn ich den ADC und die Timer richtig benutzen kann,Timer hatte ich 
damals auch gerade erst angefangen, dann denke ich, kann ich den 
Kurzschluss über den Stromanstieg messen und danach entscheiden, ab wann 
es ein Kurzschluss ist und ob die Bremse dann noch anziehen darf. Im 
schlimmsten Fall kommt die Sicherung.
Beim kleinen Magneten werde ich den Strom so begrenzen, dass die 
Strombegrenzung höher liegt, als der Magnet maximal an Strom braucht.
Also da kann ich jetzt schon einen Kurzschluss messen.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Frank O. schrieb:
> sodass er anschließend stromlos
> geöffnet bleibt.

Geöffnet bleibt die Bremse, der Magnet ist geschlossen und durch die 
Verriegelung bleibt der Magnet in der angezogenen Position, auch wenn er 
stromlos ist.

von Andreas S. (igel1)


Lesenswert?

Hmmm - könnte man den großen Magneten vielleicht auch mit der 
Oszillator-Methode vermessen?  Denn auch der wird eine charakteristische 
Induktivität haben, die sich ändert wenn die Spule einen Kurzschluss 
hat.

Wie erfasst denn das Steuergerät solche Kurzschlüsse?

Für Strom-Anstiegsmessungen benötigst Du übrigens keinen ADC - Du willst 
ja schließlich keine Kurve aufnehmen, sondern nur wissen, nach wieviel 
us die Spannung an Deinem Vorwiderstand auf x Volt angestiegen ist.

Für solche Dinge gibt's in den MC's Komparatoren, die bei 
Spannungsüberschreitung etwas auslösen können: in jedem Falle einen 
Interrupt - da bin ich sicher. Und wenn's gut läuft kann der ATmega 
vielleicht sogar auch seinen Timer1 Zählerstand absichern (müsste man 
nochmals genauer im Datenblatt nachschauen - ich meine, bei den STM32 
z.B. geht das).

Soweit meine Gedanken dazu.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Hmmm - könnte man den großen Magneten vielleicht auch mit der
> Oszillator-Methode vermessen?  Denn auch der wird eine charakteristische
> Induktivität haben, die sich ändert wenn die Spule einen Kurzschluss
> hat.

Klar, das wird gehen, aber das will ich nicht. Da ich den Strom sowieso 
messe, muss ich auch daraus Rückschlüsse ziehen können.
Bei allen Ladegeräten wird Unterbrechung und Kurzschluss erkannt und die 
messen auch nur über einen Shunt.
Deshalb will ich das mit dem ADC vom ATMega328 auch genau wissen, 
wenngleich der höchstwahrscheinlich nicht verwendet werden wird.
Ich habe mir noch verschiedene Sachen bestellt. Zwei verschiedene ADCs 
und zwei verschiedene Instrumentenverstärker. Die ADCs funktionieren 
ähnlich, nur hat der eine 18Bit und nur einen ADC-Kanal, während der 
andere 16Bit und vier ADC-Kanäle hat. Die ADCs laufen über I2C. Leider 
schon eine Weile auf diese Sachen.

Ich möchte eigentlich am liebsten über einen Shunt messen, weil das für 
spätere, eigene Entwicklungen, von Vorteil ist.
Damals habe ich über eine Ladetechnik geschrieben, die ich für möglich 
hielt. Ob nun dieser Hersteller das von mir hat, kann ich nicht sagen, 
aber ich weiß, dass es schon einige Produkte aus meinen Ideen gegeben 
hat, an denen ich leider nichts verdient habe und ein 
jetzt-nicht-mehr-Freund, hat an zwei Ideen reichlich verdient.
Das soll mir nicht mehr passieren.

Ich denke dieses Wochenende werde ich ein wenig Zeit haben und mich 
wieder mehr dem Strom widmen.

Andreas S. schrieb:
> Wie erfasst denn das Steuergerät solche Kurzschlüsse?

Wie das geschieht, steht nirgends. Könnte ich aber sowieso nichts drüber 
schreiben.
Nur so viel ist klar, das funktioniert grundsätzlich einwandfrei, aber 
wie ich darauf Zugriff habe, damit bin ich nicht zufrieden. Deshalb gibt 
es diesen Beitrag überhaupt erst.

von Andreas S. (igel1)



Lesenswert?

Vor der Heia hier noch schnell ein paar Impressionen des aktuellen 
Software-Standes in Bildern und auch ein etwas ausführlicheres Filmchen, 
das vermutlich den besten Eindruck vermittelt:
https://www.dropbox.com/scl/fo/6g3v3mv2zimqnfrmt8hx0/AO6VsmFIx9dbvI5imT7_GrQ?rlkey=vuuyt5zt2ukk0z2z1urlhfo64&st=dkm1sths&dl=0
(Datei: OLED_2_42 ....)

Hier die neuen Features der Software:

- Auflösung durch Einsatz der Timer-Capture-Methode
  von ca. 12 auf >120 (!) Schritte hochgedreht

- Anzeige zittert nicht mehr - steht wie festgenagelt.
  Erreicht habe ich das in der Hauptsache durch 2 Maßnahmen:

    * Mittelung über N=200 Werte (N ist frei konfigurierbar)
    * Hysterese von H=1 (H ist ebenfalls frei konfigurierbar)

- Kalibrierungsroutine ist inzwischen deutlich eleganter
  und benutzerfreundlicher gelöst.
  Routine kann per Knopfdruck gestartet werden und kalibriert
  dann die jeweilige Endposition auf 0% oder 100%.

- 2 Triggerlevel für offen/geschlossenen Zustand eingebaut
  (Toffen=20%,  Tgeschlossen=80% - beide frei konfigurierbar)

- Symbole zeigen bei Über-/Unterschreiten der Triggerlevel
  den Zustand (geschlossen/indifferent/offen) an.

Ich denke, so langsam habe ich einen Stand erreicht, der mir schon fast 
genügt - ich will ja schließlich nicht in die Serienfertigung 
einsteigen.

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Sehr schönes Video.
Darf ich Kritik üben und verträgst du diese auch?
Rein technisch ist das wirklich toll gemacht!

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Sehr schönes Video.
> Darf ich Kritik üben und verträgst du diese auch?

In homöopathischen Dosen schon.

> Rein technisch ist das wirklich toll gemacht!

Danke
Denn mal los mit die Kritik ...

von Frank O. (frank_o)


Lesenswert?

Also dann los.
Vorweg: Technisch toll gelöst!

Punkt 1.
Der Sensor wird nur ein einziges Mal kalibriert. Zum Glück scheinen die 
ziemlich genau zu sein. Alle zwei, drei Steps oben und unten müssen als 
Null oder Hundert erkannt werden.
Du misst den ja nicht für ein neues Fahrzeug ein, denn dann wäre es 
vollkommen richtig. Du kommst zu einem defekten Fahrzeug. Mit zur 
Prüfung gehört der Sensor. Wenn der außerhalb dieser Messung liegt, ist 
der Sensor defekt und auszutauschen. Das wird ein Diagnosegerät und das 
muss anhand der Werte entscheiden was kaputt oder intakt ist.

Punkt 2.
Leider würde das die meisten Techniker verwirren, wenn da unten noch so 
kryptische Werte angezeigt werden, außerdem können viele gar kein 
Englisch oder nur schlecht. Das muss da in Deutsch stehen.

Punkt 3.
Eigentlich ist das keine Kritik, denn den Ansatz finde ich gut und da 
kann man was draus machen. Der Verrieglungs- und Entrieglungsbereich mit 
den Strichen wäre schöner auf dem Balken gewesen. man könnte da auch den 
Balken verändern, aber es wäre schon ok, wenn die Striche im Balken 
stehen würden.

Das werde ich dann auch überlegen.

Punkt 4.
Lockstateanzeige. Ich habe das auch noch drin, muss aber für das fertige 
Gerät raus. Da reicht der Balken und die Anzeige "Verriegelt" oder eben 
"Entriegelt"
Für den Test ist das ok so, aber für ein fertiges Gerät, welches 
vielleicht einige Techniker nutzen sollen, ist das zu viel.
Und eigentlich, das ist jetzt Selbstkritik, ist die Bremse dann noch gar 
nicht verriegelt. Das kann natürlich nur kommen, wenn die Verrieglung 
aktiv ist.
Die "Entriegelt"-Anzeige ist richtig. Wenn der Sensor dort steht, ist er 
entweder defekt oder der Magnet ist tatsächlich entriegelt.
/Ende Kritik

: Bearbeitet durch User
von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Frank O. schrieb:
> Also dann los.
> Vorweg: Technisch toll gelöst!

Danke.

> Punkt 1.
> Der Sensor wird nur ein einziges Mal kalibriert.

Und dann stellen sich folgende Szenarien ein:
- Dein Diagnosegerät altert und der Oszillator verändert seine
  Frequenz mit der Zeit um 10%
- Es gibt neue Sensoren, deren Induktivitäten doch leicht anders sind.
- Das alles passiert, wenn Du schon lange nicht mehr weißt, wie
  Deine Schaltung und Deine Software funktioniert und Du hast keine
  Ahnung mehr, wo Du diese dusseligen Max/Min-Werte damals in Deiner
  Software irgendwo hinterlegt hast - geschweige denn, dass Du weißt,
  wie Du die Software noch wieder in Deinen Arduino gebrannt bekommst.
- Oder noch schlimmer: Deine Nachfolger stehen vor dem Gerät und
  kratzen sich am Kopf.

Genau dann kommt der eine Kalibrierungsknopf gaaaanz groß raus und Du 
klopfst Dir auf die Schulter, dass Du damals so vorausschauend 
entwickelt hast :-)

Daher finde ich den Kalibrier-Knopf schon recht charmant.
Und es wird ja niemand gezwungen, den zu drücken ...

Ansonsten: Jeweils einmal Riegel auf und Riegel zu an einem 
bekanntermaßen funktionierenden Sensor machen und dann jeweils auf den 
Kalibriert-Knopf drücken und schon werden die Eckwerte abgespeichert 
(inzwischen sogar dauerhaft im EEPROM - habe ich gerade eingebaut).

> Zum Glück scheinen die
> ziemlich genau zu sein. Alle zwei, drei Steps oben und unten müssen als
> Null oder Hundert erkannt werden.

Das wäre super einfach in die Software einzubauen (hatte ich 
ursprünglich auch schon drin), widerstrebt mir aber etwas, weil man dann 
"echte Fehler" nicht mehr sehen würde:

Stell Dir z.B. vor, die Spule hätte eine Macke und die Werte bei 
geöffnetem/geschlossenem Riegel wären weit unter/über dem 
Minimum/Maximum, so würde man das nicht sehen, weil all diese Werte auf 
0% bzw. 100% gekappt werden.

Nichts desto trotz - wenn's so sein soll, kann ich das trotzdem gerne 
einbauen und die Werte bei Unterschreitung/Überschreitung auf 0% / 100% 
kappen. So recht gefallen täte mir das aber nicht.

Akuell erlaube ich dem Balken tatsächlich aus seinem umgebenden Kasten 
nach links oder rechts herauszufahren, wenn die gemessenen Werte die 
Min/Max-Endwerte unter- bzw. überschreiten. Zudem erscheint der Hinweis 
"Ggf. Kalibrieren". Trotzdem kann man den Hinweis ignorieren und 
ungehindert weitermessen.

> Du misst den ja nicht für ein neues Fahrzeug ein, denn dann wäre es
> vollkommen richtig. Du kommst zu einem defekten Fahrzeug. Mit zur
> Prüfung gehört der Sensor. Wenn der außerhalb dieser Messung liegt, ist
> der Sensor defekt und auszutauschen. Das wird ein Diagnosegerät und das
> muss anhand der Werte entscheiden was kaputt oder intakt ist.

In diesem Fall wäre es vermutlich gut, wenn ich bei 
Überschreitung/Unterschreitung statt "Ggf. Kalibrieren" lieber eine 
"Sensor defekt"-Meldung ausgebe, oder?

> Punkt 2.
> Leider würde das die meisten Techniker verwirren, wenn da unten noch so
> kryptische Werte angezeigt werden, außerdem können viele gar kein
> Englisch oder nur schlecht. Das muss da in Deutsch stehen.

Kleinigkeit - ist schon geändert.

> Punkt 3.
> Eigentlich ist das keine Kritik, denn den Ansatz finde ich gut und da
> kann man was draus machen. Der Verrieglungs- und Entrieglungsbereich mit
> den Strichen wäre schöner auf dem Balken gewesen. man könnte da auch den
> Balken verändern, aber es wäre schon ok, wenn die Striche im Balken
> stehen würden.

Dazu hatte ich eine nette Idee - ist bereits umgesetzt, sieht gut aus 
und wird im nächsten Video zu sehen sein: ich zeichne die bisherigen 
weißen "Triggerschwellen"-Linien jetzt mit "schwarzer Tinte" und erhalte 
dadurch 2 Schwarze Striche im Fortschrittsbalken und im Rahmen drum 
herum.
Sieht gut aus und ist tatsächlich visuell einfacher zu erfassen.

> Das werde ich dann auch überlegen.
>
> Punkt 4.
> Lockstateanzeige. Ich habe das auch noch drin, muss aber für das fertige
> Gerät raus. Da reicht der Balken und die Anzeige "Verriegelt" oder eben
> "Entriegelt"
> Für den Test ist das ok so, aber für ein fertiges Gerät, welches
> vielleicht einige Techniker nutzen sollen, ist das zu viel.

Kleinigkeit - kein Problem, habe ich schon gemacht.

> Und eigentlich, das ist jetzt Selbstkritik, ist die Bremse dann noch gar
> nicht verriegelt. Das kann natürlich nur kommen, wenn die Verrieglung
> aktiv ist.
> Die "Entriegelt"-Anzeige ist richtig. Wenn der Sensor dort steht, ist er
> entweder defekt oder der Magnet ist tatsächlich entriegelt.
> /Ende Kritik

Öhm - habe ich nicht 100%ig verstanden. Schau Dir einfach die neue 
Version auf den anliegenden Fotos an und schreibe, was Du noch geändert 
haben möchtest.

Für ein Video samt Konvertierung ist es mir jetzt schon ein wenig spät, 
dann das dauert dann doch immer 20-30 Minuten, bis alles im Kasten bzw. 
auf der Dropbox ist.

Viele Grüße

Andreas

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

> aber ich weiß, dass es schon einige Produkte aus meinen Ideen gegeben
> hat, an denen ich leider nichts verdient habe und ein
> jetzt-nicht-mehr-Freund, hat an zwei Ideen reichlich verdient.
> Das soll mir nicht mehr passieren.

Das ist natürlich gemein. Aber ich halte Dich für so fair, dass Du das 
mit mir nicht machen würdest und mich im Falle einer Vergütung 
angemessen beteiligen würdest :-)

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Leider hat meine Software noch einen großen Haken:

Wenn keine Pulse reinkommen, so hängt die Software, weil dann die 
Messroutine einfach unendlich lang wartet, bis sie ihre 200 Messungen 
zusammengesammelt hat. Während dieser Zeit "hängt" die Software in einem 
Unterfunktionsaufruf.

Ich benötige also noch eine - wie auch immer geartete - "Sensor 
fehlt"-Erkennung. Das wird gar nicht so einfach ...  Das muss ich 
wirklich nochmals genau durchdenken.

von Andreas S. (igel1)


Lesenswert?

Ach ja - und dann hatte ich noch 2 glorreiche Ideen. Kannst ja mal 
sagen, was Du davon hältst:

1.) Wenn ich messe, so habe ich oftmals meine liebe Not, gleichzeitig am
    Messobjekt herumzufummeln  und auf mein Messgerät zu schauen.
    Da wünscht man sich manchmal eine akustische Anzeige.

    So vielleicht auch bei dieser Riegel-Sensor Software.

    Was hältst Du davon, wenn das Teil bei Unter-/Überschreiten der
    Schwellen jeweils einen Piepton via Piezo-Summer ausgibt:

    Verriegelt (440Hz):   " ===  ===  === "
    Entriegelt  (880Hz):  " =  =  =  =  = "

    Kein Dauerton - das nervt - nur dieses "Morsesignal"

    Man könnte sich natürlich auch jede andere Tonfolge und Morsefolge
    für weitere Zustände überlegen (z.B. auch ein Sensor-Defekt-Signal).

2.) Manchmal ist so eine kleine LED-Ampel (grün-gelb-rot) schneller
    aus den Augenwinkeln erkannt als ein OLED-Display.

    Weil mein Händler, von dem  ich den ADS1115 gekauft habe, mir
    netterweise noch 6 Neopixel-LEDs beigelegt hat, könnte ich so
    eine Ampel ebenfalls dazubauen.

Interesse an 1.) oder 2.) ?

Oder lieber erst einmal Strommessung?

Viele Grüße

Igel1

von Rainer W. (rawi)


Lesenswert?

Was für ein Aufriss.
Über 630 Postings für einen dämlichen induktiven Positionssensor.

Was haben Freundschaften oder irgendwelche schickimicki Anzeigen, die 
man genauso gut mit einem 2x16 LDC und ein paar benutzerdefinierten 
Zeichen erledigen kann, mit dem Thema des Threads zu tun?
Da ging es um Starthilfe für das Auslesen eines Sensors mit einem µC - 
schon vergessen in dem ganzen Aufruhr?

Divide et impera - dann bleibt das Thema auch überschaubar.

von Andreas S. (igel1)


Lesenswert?

Rainer W. schrieb:
> Was für ein Aufriss.
> Über 630 Postings für einen dämlichen induktiven Positionssensor.

Na ja  - jetzt, wo Du die 630 Postings schon mal gelesen hast, da kannst 
Du ja auch gerne mitmachen ;-)

Aber Scherz beiseite:

Ist halt eher ein kleines Projektchen geworden, das wir aus Spaß an der 
Freude weiter vorantreiben. Ich denke, dass passiert hier in so einigen 
Threads.

Ich persönlich finde das nicht schlimm und freue mich immer, wenn bei 
solchen Threads auch einmal längere Austausche, ja vielleicht sogar 
Hobby-Freundschaften entstehen - warum auch nicht? Jeder Jeck ist da 
anders gestrickt.

Wenn es Spezialthemen gibt - wie z.B. die ISR-Routine zur Pulserfassung 
oder die Bestromung und Ansteuerung des SSD1309-Displays, so machen wir 
(in diesem Falle: ich) dann auch ab und an kleinere separate Threads 
auf, die wir dann hier lediglich verlinken.

Ansonsten: einfach den Thread hier ignorieren, wenn wir Dir zu 
umständlich/aufwändig/ausschweifend an die Sache rangehen - wir sind da 
ganz tolerant :-)

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Daher finde ich den Kalibrier-Knopf schon recht charmant.
> Und es wird ja niemand gezwungen, den zu drücken ...

Ok, im Gerät macht das einen Sinn.
Aber es hörte sich für mich so an, als gingest du davon aus jedes Mal zu 
kalibriern.

Andreas S. schrieb:
> (inzwischen sogar dauerhaft im EEPROM - habe ich gerade eingebaut).

Sehr gut!

Andreas S. schrieb:
> Dazu hatte ich eine nette Idee - ist bereits umgesetzt, sieht gut aus
> und wird im nächsten Video zu sehen sein: ich zeichne die bisherigen
> weißen "Triggerschwellen"-Linien jetzt mit "schwarzer Tinte" und erhalte
> dadurch 2 Schwarze Striche im Fortschrittsbalken und im Rahmen drum
> herum.

Das sieht sehr gut aus. Du hast dich mit der Lib. schon richtig 
auseinander gesetzt.

Andreas S. schrieb:
> widerstrebt mir aber etwas, weil man dann
> "echte Fehler" nicht mehr sehen würde:

Glaube mir, das macht keinen Unterschied.
Ich habe gestern übrigens auch noch ein bisschen mit dem Sensor 
"gespielt".
Warum das funktioniert weiß ich nicht, denn Pulsln braucht, soweit ich 
weiß einen Timer. Ich habe direkt vor der Messung die Interupts 
abgeschaltet und danach wieder ein. Schon wird das ruhiger.
Die Prozentanzeige habe ich noch nicht auskommentiert, wird aber 
gemacht.
Das mit den Linien, mal sehen ob ich es raus finde, werde ich dann auch 
noch einbauen. Aber im Moment zeigt der Sensor oben und unten das ruhig 
an.
Das brauche ich und außer uns, weiß keiner, dass das ein Software-Trick 
ist. Der Anwender (bin ich zwar selbst) sieht das nicht.

Andreas S. schrieb:
> Stell Dir z.B. vor, die Spule hätte eine Macke und die Werte bei
> geöffnetem/geschlossenem Riegel wären weit unter/über dem
> Minimum/Maximum, so würde man das nicht sehen, weil all diese Werte auf
> 0% bzw. 100% gekappt werden.

Jetzt fällt mir gerade ein, mein Kollege hatte sicher etwas Ähnliches, 
denn das wurde auch nicht angezeigt.
Aber man könnte das "unsichtbar" in die Software einbauen und dann die 
Meldung ausgeben: "Sensor außer Toleranz - Sensor tauschen!"

Andreas S. schrieb:
> Öhm - habe ich nicht 100%ig verstanden. Schau Dir einfach die neue
> Version auf den anliegenden Fotos an und schreibe, was Du noch geändert
> haben möchtest.
Hahaha! "Was ich geändert haben möchte ..." Es ist dein Sensor, meiner 
ist hier und wird etwas anders funktionieren.
Du hast das Prima gelöst. Bei mir steht dann dort: "1Y45 verriegelt!"

Andreas S. schrieb:
> Aber ich halte Dich für so fair, dass Du das
> mit mir nicht machen würdest und mich im Falle einer Vergütung
> angemessen beteiligen würdest :-)
Wenn wir das gemeinsam machen würden (ich kann dich leider nicht in 
alles einweihen, Betriebsgeheimnisse) und es würde Geld dafür geben, 
natürlich.
Ich teile immer Halbe/Halbe und egal wer nun mehr Arbeit hatte oder die 
Grundidee.

Andreas S. schrieb:
> und dann hatte ich noch 2 glorreiche Ideen.

Grundidee ist gut, aber der Sensor ist wirklich nachrangig. Die Ohren 
des Kollegen sind entscheidend. :-).
Aber trotzdem hast du mich damit auf eine Idee gebracht. Da ich mir den 
Strom für den Tester vor der dicken Sicherung abzweigen werde, wären 
zwei Leds noch ganz gut. Eine dafür, dass die Stromversorgung 
angeschlossen ist und eine Led für den Hauptstrom.

von Frank O. (frank_o)


Lesenswert?

Rainer W. schrieb:
> Divide et impera

Irgendwie passt das nicht ganz zu deinem Textinhalt, aber sehr gut zum 
Thema.
Genau das mache ich doch, ich teile das (und auch Sachen am Rande, die 
dich so stören) und ich herrsche über das Projekt.
Wie du erkennen kannst, ist es nicht nur mehr der Sensor.
Der ist für mich eigentlich durch. Da aber Andreas mich quasi 
herausgefordert hat (ein nettes Herausfordern), ist der Sensor immer 
noch Thema.
Insgesamt geht es jetzt aber um das Testgerät oder vielmehr auch darum, 
wieder den Einstieg an dem und mit dem Projekt hinzubekommen.

Lieber Rainer, natürlich hast du recht, es ist lang geworden und die 
Anekdoten am Rande sind vielleicht "dem alten Mann" geschuldet.
Doch jeder hat seine Art sich mitzuteilen, wie auch du das Recht hast, 
das erst gar nicht zu lesen.
Wie du unschwer erkennen kannst, ist hauptsächlich noch Andreas und ich 
selbst hier anwesend.
Aber es macht sich immer gut, mal eben in einen Thread reinzukotzen.

Im Übrigen:

Frank O. schrieb:
> Hier wäre der Thread nun zu Ende.
>
> Wer will, kann ja noch ein bisschen schauen. Ich werde hier weiter
> posten.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

So, heute ist (ganz schnell sogar) ein 1.5" Display, full color, 
angekommen.
Ein 1.3" hatte ich vorher schon bestellt, aber das 1.5" ist schneller 
hier.
Ebenso die MCP3421, Messverfahren ist Delta-Sigma.

Ist SPI in Hinblick auf zukünftige Projekte sinnvoller, weil schneller 
und andere Vorteile (z.B. CS)?

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> So, heute ist (ganz schnell sogar) ein 1.5" Display, full color,
> angekommen.
> Ein 1.3" hatte ich vorher schon bestellt, aber das 1.5" ist schneller
> hier.
> Ebenso die MCP3421, Messverfahren ist Delta-Sigma.

Mann-oh-Mann - das kann ich gar nicht alles kaufen, sonst gehe ich hier 
langsam pleite.

> Ist SPI in Hinblick auf zukünftige Projekte sinnvoller, weil schneller
> und andere Vorteile (z.B. CS)?

SPI soll tatsächlich etwas schneller sein (schau einfach die max. 
Taktfrequenzen selber nach), aber Du hast halt mehr Hantier, wenn Du 
mehrere Geräte an einen SPI-Bus klemmen willst: 
https://en.wikipedia.org/wiki/Serial_Peripheral_Interface#Bus_topologies
I2C ist in dieser Hinsicht einfach unschlagbar.

Ansonsten würde ich sagen: für das bisschen Mini-Anzeigen, die wir hier 
steuern reicht auch I2C allemal.

Ich habe mein Display eher per Zufall in der SPI-Variante gekauft (hatte 
beim Kauf nicht so genau hingeschaut). Das hat im Nachhinein aber den 
Vorteil, dass mein SPI-Display durch Umlöten und Entfernen von ein paar 
(bereits auf dem Board vorhandenen) Widerständen in I2C verwandelt 
werden kann - umgekehrt fehlen Dir genau diese Widerstände.

Soweit meine 10 Cent zu Deiner Frage.

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

So - hier das versprochene Video meiner aktuellsten Softwareversion zur 
Riegel-Positionsanzeige:

https://www.dropbox.com/scl/fo/6g3v3mv2zimqnfrmt8hx0/AO6VsmFIx9dbvI5imT7_GrQ?rlkey=vuuyt5zt2ukk0z2z1urlhfo64&st=z20d2ddz&dl=0
(Video: OLED_2_42_SSD1309_test_igel1_v006e.001.mp4)


Folgende Dinge/Features sind neu hinzugekommen:

- eine LED-Ampel aus Neopixels zeigt zusätzlich
  den Riegel-Zustand an

- Die Anzeigen sind nun noch etwas logischer und hoffentlich
  auch übersichtlicher geworden

- Ein komplett defekter Sensor oder eine unterbrochene Leitung
  zum Sensor führt nun nicht mehr zum Einfrieren der Anzeige/Software,
  sondern zu einer "? Sensor defekt ?" und "... kein Sensor
  erkannt ..."-Anzeige.

Kurzum: aus meiner Sicht bin ich so langsam am Ziel angelangt.
Jetzt vielleicht noch ein bisschen im Code Dokumentieren und das war's 
dann. Wärst Du, Frank O., am Code interessiert?

Viel Grüße

Igel1

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> I2C ist in dieser Hinsicht einfach unschlagbar.

Moin Andreas!
Ich habe mich da heute schon drin eingelesen. Das einzige was mich 
überlegen ließ, dass I2C für die Kommunikation zwischen Platinen gedacht 
war und es damit bei größeren Leitungslängen Probleme geben soll. Die 
Längen erreiche ich sowieso nicht, die hier möglich sind und alles was 
weiter weg ist, würde ich sowieso per Funk oder onewire machen.

Am Rande bemerkt, auch wenn es Rainer stören wird, ich bin an ATTiny10 
Fan.
Mich fasziniert, dass das kleine Ding richtig programmiert werden kann.
Jedenfalls wollte oder will ich noch, einmal etwas für die 
KFZ-Elektronik bauen. Mit ganz vielen Tinys. Da bekommt dann jede Lampe 
einen eigenen Controller. Dafür will ich dann auch einen Minimal-Bus 
entwickeln. µBus, wenn es die Bezeichnung noch nicht gibt.
Der hat dann wirklich nur einen Draht.


Andreas S. schrieb:
> umgekehrt fehlen Dir genau diese Widerstände.

Das stimmt, habe ich aber hier. Ich muss vielleicht auch noch die 
gängigen SMD in kleiner kaufen. Aber im Moment kriege ich die noch so 
gerade überall drauf gelötet.
Das Video ist toll!
Die Ampel ist schön, aber eine rote Led, für den unsicheren Zustand, 
würde reichen. Was mir aber sehr gut gefällt, statt des Balkens, die 
Anzeige "Sensorfehler".
Ich habe, bis auf die Striche, leider nichts gemacht. Habe selten 
Kopfschmerzen und so wie heute, vielleicht alle 5 Jahre.
Aber die Striche haben mich Nerven gekostet.
In meinem dunen Schädel wollte ich "schwarze" Striche haben, so wie du.
Man, man, man ...

Andreas S. schrieb:
> Mann-oh-Mann - das kann ich gar nicht alles kaufen, sonst gehe ich hier
> langsam pleite.
Musst du doch gar nicht. Das war auch wirklich teuer.
Und die Fets, die ich verwende, sende ich dir zu.
Einiges werde ich mit dir per Mail austauschen.

Andreas S. schrieb:
> Die Anzeigen sind nun noch etwas logischer und hoffentlich
>   auch übersichtlicher geworden

Sieht wirklich richtig gut aus!

Andreas S. schrieb:
> Ein komplett defekter Sensor oder eine unterbrochene Leitung
>   zum Sensor führt nun nicht mehr zum Einfrieren der Anzeige/Software,
>   sondern zu einer "? Sensor defekt ?" und "... kein Sensor
>   erkannt ..."-Anzeige.

Defekte Leitungen gibt es immer wieder, wenn die irgendwo vor fahren. 
Das würde man spätestens dann sehen, wenn man den Sensor an das 
Diagnosegerät anschließen würde.
Ein Defekt im Sensor halte ich für sehr unwahrscheinlich, aber ein nicht 
sichtbarer Kabelfehler, sprich eine Unterbrechung, das ist sicher der 
häufigste Zustand, wenn der Sensor nicht funktionieren sollte.
Deshalb ist es auch so gut, dass du das mit dem Text im 
Fortschrittsbalken hast. Das würde man sofort sehen. Das muss ich auch 
noch einbauen.
Übrigens, fällt mir gerade so ein, dann sollte das Programm zum Ende 
springen und die Anzeige Sensorfehler sollte bestehen bleiben.
Denn schaut man gerade nicht hin, bei einem Wackelkontakt, dann 
übersieht man das schnell. Oder aber zumindest sollte es deutlich länger 
als der Fehler zu sehen sein.
Eine Led ist eigentlich nicht nötig. Du musst dir vorstellen, wenn er 
das Gerät in die Hand nimmt und den Start bestätigt, dann dauert die 
Messung vielleicht, wenn überhaupt, ein paar Sekunden. Dann kommt schon 
der Funktionstest. Der dauert auch sicher nicht länger als 1 Minute.
Hängt vom Techniker ab, der das testet. Beim ersten Mal braucht er 
vielleicht 3 Minuten (weil er noch ein Rad drehen muss).
Es soll ja gerade auf schnelle und einfache Weise diese 
Feststellbremsanlage prüfen. Das Anklemmen und Stapler aufbocken, das 
wird die meiste Zeit in Anspruch nehmen. Die Kabel kann man am besten 
unterm Fahrzeug erreichen.

Andreas S. schrieb:
> Kurzum: aus meiner Sicht bin ich so langsam am Ziel angelangt.
> Jetzt vielleicht noch ein bisschen im Code Dokumentieren und das war's
> dann. Wärst Du, Frank O., am Code interessiert?

Weit über den Vorgaben, aber besser ist immer schöner als schlechter.
Dokumentiert habe ich gerade.
So sehr es mich reizt, aber gerade das nachzubilden, was der andere 
gemacht hat, mit eigenen Ideen, das macht doch gerade den Reiz aus. Oder 
findest du nicht?
Hatte schon ansatzweise versucht etwas auszulagern. Aber das kann ich im 
Moment noch nicht. Es war auch immer zu spät oder ich hatte keinen Kopf 
dafür.
Jetzt werde ich mich aber die nächste Zeit an den Strom machen. Da ich 
jetzt gesehen habe, wie viel es ausmacht, die Interrupts auszustellen, 
werde ich mich zunächst noch mit dem eingebauten ADC auseinander setzen.

Ich muss mir aber auch über den Ablauf noch Gedanken machen. Das Display 
ist längst nicht abgeschlossen. Denn ich muss ja immer wieder die 
Anzeigen wechseln.
Da kommen Fragen, die beantwortet werden müssen und Meldungen. Wenn 
einmal alles Durchgemessen worden ist, dann kommt die Frage, ob der 
Funktionstest jetzt starten soll.
Während des Funktionstest kommt wieder eine Frage und bei "Ok!", wird 
dann weiter gemacht. Ansonsten kommen Anweisungen. Das muss dann alles 
auch abwechselnd auf dem Display ausgegeben werden.
Kann man die Referenz von u8g2 als PDF bekommen? Ich habe leider nichts 
gefunden.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Dass ich so viele Sachen bestelle, das ist nicht für dieses Projekt 
allein.
Ich will doch wieder richtig anfangen. Diese Displays werden meine 
zukünftigen Anzeigeelemente werden.
Auch alles um Strom zu messen, das brauche ich vor allem für Ladegeräte.
Ich werde mir dann ein Batterieladegerät mit meinem Ladeverfahren bauen.
Wie ich schon schrieb, so ähnlich macht es ein führender Hersteller 
schon.
Bleibatterien kenne ich wirklich sehr gut und ich habe schon früher viel 
getestet und ich habe schon einige Batterien wiederbelebt, die andere 
schon lange aufgegeben hatten. Das wird dann mein nächstes Projekt 
werden.

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Frank O. schrieb:
>> I2C ist in dieser Hinsicht einfach unschlagbar.
> Ich habe mich da heute schon drin eingelesen. Das einzige was mich
> überlegen ließ, dass I2C für die Kommunikation zwischen Platinen gedacht
> war und es damit bei größeren Leitungslängen Probleme geben soll.

I2C war primär Kommunikation innerhalb einer Platine. Ich habe 
Aufbauten mit China-Platinchen innerhalb eines Gehäuses und den China 
"DuPont-Kabeln", da kommen maximal 30cm zusammen und der Kram spielt 
problemlos.

Im Ursprung redest Du von einem Testgerät, da wird das kaum länger 
werden müssen. Im Anhang wird das OLED per I2C bedient, der ADS1115 ist 
auf der Lochrasterkarte. Die SD ist per SPI angebunden, alles auf 3,3 
Volt mit einem ProMini-8MHz.

Frank O. schrieb:
> Dass ich so viele Sachen bestelle, das ist nicht für dieses Projekt
> allein.
> Ich will doch wieder richtig anfangen. Diese Displays werden meine
> zukünftigen Anzeigeelemente werden.
> Auch alles um Strom zu messen, das brauche ich vor allem für Ladegeräte.

Du verzettelst Dich schon wieder. Bringe erstmal Deine 
Induktivitätsmessung zu einer stabilen Funktion, anstatt mit stylischem 
OLED einfach per serieller Ausgabe zum PC. Dieser Wettstreit, wer den 
schönsten Balken anzeigt, ist albern oder sollte Euch peinlich sein.

Bei alledem, was er sonst so ablässt, fällt es mir extrem schwer, (rawi) 
zuzustimmen. Hier gibt es keinen Weg dran vorbei, er trifft den Kern:

Rainer W. schrieb:
> Was für ein Aufriss.
> Über 630 Postings für einen dämlichen induktiven Positionssensor.
>
> Was haben Freundschaften oder irgendwelche schickimicki Anzeigen, die
> man genauso gut mit einem 2x16 LDC und ein paar benutzerdefinierten
> Zeichen erledigen kann, mit dem Thema des Threads zu tun?

von Frank O. (frank_o)


Lesenswert?

Manfred P. schrieb:
> I2C war primär Kommunikation innerhalb einer Platine.

Hallo Manfred!
Das schrieb ich doch schon und das Display bleibt sicher auch für diese 
Anwendung, so wie es jetzt ist.
Außerdem schrieb ich weiter oben, dass der Sensor, samt Anzeige, fertig 
ist.

Manfred P. schrieb:
> Dieser Wettstreit, wer den
> schönsten Balken anzeigt, ist albern oder sollte Euch peinlich sein.
Auch dazu schrieb ich, dass das weit übers Ziel hinaus ist, aber deshalb 
muss uns das auf keinen Fall peinlich sein.
Ich muss das nicht bauen, aber ich baue das, weil es nützlich ist, mir 
Spaß macht und ich wieder in die Thematik einsteigen will.
Natürlich hatte ich nicht vor das mit dem Sensor so weit zu treiben.
Aber was ist schlimm daran?
Ich habe keinen Abgabetermin. Ich muss das nicht einmal zu Ende bauen. 
Aber wenn ich mich an irgendeinem Punkt festhalte, was macht das?
Schadet es irgendwem? Vor allem hier im Forum.
Halten wir einmal fest was ich schon hinbekommen habe. Natürlich mit 
Hilfe beim Sensor.
Ich habe den Oszillator von Peter gebaut und er funktioniert mit dem 
Sensor.
Den Sensor kann ich mit dem Mikrocontroller messen.
Außerdem habe ich erfolgreich das OLed am laufen und kann die 
Sensordaten ausgeben.
Dafür, dass ich damals erst angefangen hatte zu lernen und jetzt gerade 
einmal seit Februar, bei wirklich wenig investierter Zeit, jetzt schon 
etwas auf dem Bildschirm sehen kann, das auch noch so funktioniert, wie 
ich es brauche und wie ich es sehen will, das ist mir nicht peinlich.
Ganz im Gegenteil, ich bin darauf stolz.
Wie viele die du von der Straße holst, hätten das geschafft?
Meine Kollegen haben nur große Augen gemacht. Von denen kann das keiner 
und da sind auch ne Menge Elektrotechniker drunter.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Ganz im Gegenteil, ich bin darauf stolz.

Richtig so!

Wir feiern unsere Erfolge - auch wenn sie in Euren Augen vielleicht 
klein sind. Kleine Schritte führen ebenfalls zum Ziel. Und der Weg dahin 
ist ja bekanntlich oftmals wichtiger als das Ziel selbst - so auch in 
diesem Fall hier.

> Was für ein Aufriss.
> Über 630 Postings für einen dämlichen induktiven Positionssensor.

Und was ist eigentlich Eure Motivation, uns diese Erfolge madig zu 
reden? Denkt einmal gaaanz lang darüber nach und dann schreibt uns Eure 
Antwort. Ich bin sehr gespannt.

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Und der Weg dahin
> ist ja bekanntlich oftmals wichtiger als das Ziel selbst

Moin Andreas!

Das ist ein sehr guter Punkt!
Es heißt beim Motorradfahren: "Der Weg ist das Ziel!"
Ich fahre selbst Motorrad. Es ist für die meisten kein 
Fortbewegungsmittel, sondern etwas, um Spaß zu haben.

Und zum verzetteln beim Display. Schade, leider habe ich mir die Stunden 
zu allen Sachen nicht aufgeschrieben.
Das Lesen und die Informationsbeschaffung außen vor gelassen, bin ich 
seit Beginn des Projektes vielleicht etwas über zehn Stunden da dran. 
Das Display hat davon, zugegebenermaßen ungefähr 2 Stunden gebraucht.
Ich habe noch einen Job, mein Training, soziale Kontakte (ich bin sicher 
nicht so ein Kellerkind, wie so mancher hier), Haushalt, diverse andere 
Verpflichtungen und (!) manchmal habe ich auch schlicht keinen Bock, 
abends um 22:00 Uhr noch anzufangen. Und dann gibt es noch die Tage, da 
geht es mir einfach mal nicht so gut.
Weder sehe ich mich als Entwickler, Programmierer und auch nicht als 
Elektroniker. Und ich muss auch nicht davon leben, was das Beste an der 
Sache ist.
Aber es macht mir Spaß und ich habe seit Februar auch bestimmt, mit 
Labornetzgerät und Oszilloskop (das Owon) für dieses Hobby 1000 oder 
mehr Euro ausgegeben. Es ist nämlich das, was ich machen werde, wenn ich 
vielleicht doch bald nicht mehr kann und im besten Fall werde ich das 
als Rentner in ein paar Jahren viel intensiver ausüben, dieses Hobby.
Ich bin mir sicher, dass es den einen oder anderen nervt, dass da jemand 
ist, der so gar keine Ahnung hat, aber so viel mehr für sein Hobby 
ausgibt, wie sie es selbst vielleicht nicht können. Aber diese Leute 
sollten erstmal schauen, ob da nicht eine Packung Zigaretten oder ein 
alkoholisches Getränk neben ihnen steht.
Das einzige was ich sonst neben meiner Arbeit gemacht habe, war das 
Bodybuilding. Ich war seit Corona nicht mal mehr zu Skifahren.
Natürlich muss ich mich hier nicht rechtfertigen, aber ich finde, dass 
ich dann ruhig mal etwas mehr ausgeben darf und noch ein Display kaufen 
kann oder einen weiteren Stromsensor.

von Frank O. (frank_o)


Lesenswert?

Jetzt wieder zurück zum Thema.
Gestern habe ich mir noch das Messverfahren von Kübi, zur Messung von 
Induktivitäten angeschaut.
Logarithmusrechnung hatte ich nicht in der Schule. Da muss ich mich noch 
einlesen. Aber das ist auch gar nicht der Punkt, es bestätigt mir genau 
das, was ich selbst vor habe, das über den Strom zu messen.
Also wird mein nächstes Thema ADC, Timer, Strommessung und das berechnen 
von Induktivitäten sein.
Ich werde sicher etwas weniger schreiben, weil ich erstmal viel lesen 
muss und noch mehr ausprobieren muss.
Damit dann hier auch wieder etwas Ruhe einkehrt.
Und jetzt muss ich erstmal zum Training.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Das Lesen und die Informationsbeschaffung außen vor gelassen, bin ich
> seit Beginn des Projektes vielleicht etwas über zehn Stunden da dran.

Dann bist Du ein Effizienzwunder - ich habe hier schon sicherlich mehr 
als 100h investiert. Allein das Schreiben der vielen Posts frisst schon 
sehr viel Zeit.

> Das Display hat davon, zugegebenermaßen ungefähr 2 Stunden gebraucht.

... mich ca. 8-10h.

> Aber es macht mir Spaß und ich habe seit Februar auch bestimmt, mit
> Labornetzgerät und Oszilloskop (das Owon) für dieses Hobby 1000 oder
> mehr Euro ausgegeben. Es ist nämlich das, was ich machen werde, wenn ich
> vielleicht doch bald nicht mehr kann und im besten Fall werde ich das
> als Rentner in ein paar Jahren viel intensiver ausüben, dieses Hobby.

Na das ist doch was, worauf Du Dich freuen kannst.

> Ich bin mir sicher, dass es den einen oder anderen nervt, dass da jemand
> ist, der so gar keine Ahnung hat, aber so viel mehr für sein Hobby
> ausgibt, wie sie es selbst vielleicht nicht können.

Ist ja Dein hart verdientest Geld.
Und auch ich darf gar nicht daran denken, wieviel Geld ich schon für 
Elektronik/Bauteile ausgegeben habe, die ich am Ende dann doch nicht 
verbaut/eingesetzt habe.

> Das einzige was ich sonst neben meiner Arbeit gemacht habe, war das
> Bodybuilding. Ich war seit Corona nicht mal mehr zu Skifahren.

Du Umwelt dankt es Dir. Hier ein schönes Video von Sven Plöger dazu:
https://www.youtube.com/watch?v=sA8Wz_loTf4

> Natürlich muss ich mich hier nicht rechtfertigen, aber ich finde, dass
> ich dann ruhig mal etwas mehr ausgeben darf und noch ein Display kaufen
> kann oder einen weiteren Stromsensor.

Daran wird die Welt nicht zugrunde gehen - übertreiben sollten wir's mit 
dem "Horten" natürlich auch nicht. Wenn nicht das "Haben-Wollen" immer 
so stark wäre :-)

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Jetzt wieder zurück zum Thema.

Gute Idee ...

> Gestern habe ich mir noch das Messverfahren von Kübi, zur Messung von
> Induktivitäten angeschaut.

Och Frank - bitte verlinke doch mal Deine Quellen (!).
Ich kenne Hr. Kübi nicht - googeln brachte mich auch nicht zu ihm.

> Logarithmusrechnung hatte ich nicht in der Schule. Da muss ich mich noch
> einlesen. Aber das ist auch gar nicht der Punkt, es bestätigt mir genau
> das, was ich selbst vor habe, das über den Strom zu messen.

Ja schon - aber wie genau willst Du das über den Strom messen?
Beschreibe bitte einmal genau das Verfahren, das Dir vorschwebt oder - 
noch besser - sende einen Link, wo dieses Verfahren genau beschrieben 
wird - dann können wir weiterdiskutieren, ansonsten wird das hier wilde 
Spekulation.

Ich spekuliere z.B., dass Du über die Zeit und Anstieg des Stroms bei 
vorgegebener Spannung die Induktivität bestimmen möchtest:

> Also wird mein nächstes Thema ADC, Timer, Strommessung und das berechnen
> von Induktivitäten sein.

Prima, da freue ich mich drauf.

> Ich werde sicher etwas weniger schreiben, weil ich erstmal viel lesen
> muss und noch mehr ausprobieren muss.

Vermutlich wirst Du Dich etwas mit den Lade-/Entladekurven von 
Kondensatoren - und noch mehr - von Spulen beschäftigen wollen.

Wenn Du keine Potenzrechnung (und das Gegenteil davon, nämlich den 
Logarithmus) in der Schule hattest, so wirst Du Dir das vorab erst 
einmal draufschaufeln müssen. Das ist wirklich essentiell (und macht 
zudem noch Spaß, wenn man es dann endlich richtig verstanden hat).

Wenn Du Literatur oder Link-Empfehlungen dazu haben möchtest, sag' 
Bescheid - ich suche nämlich auch für mich bzw. meine Robotics AG immer 
Quellen, die solche Sachverhalte didaktisch besonders gut rüberbringen.

> Damit dann hier auch wieder etwas Ruhe einkehrt.
> Und jetzt muss ich erstmal zum Training.

Dann tu mal was für die Muckis :-)

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Allein das Schreiben der vielen Posts frisst schon
> sehr viel Zeit.

Die habe ich nicht mitgezählt, sondern nur die Schaltung von Peter 
bauen, das Probieren verschiedener Sachen und die Progammiererei.
Ich meinte wirklich nur die reine Arbeit am Projekt.

Andreas S. schrieb:
> Und auch ich darf gar nicht daran denken, wieviel Geld ich schon für
> Elektronik/Bauteile ausgegeben habe, die ich am Ende dann doch nicht
> verbaut/eingesetzt habe.

Da wäre der sündhaft teure J-Link (zumindest war der damals sehr teuer), 
den ich noch nie benutzt habe.
Bestimmte Bauteile reichen für zwei oder drei Leben.
Aber da gibt es hier bestimmt mehrere, die das ähnlich haben.

Andreas S. schrieb:
> Du Umwelt dankt es Dir. Hier ein schönes Video von Sven Plöger dazu:
> https://www.youtube.com/watch?v=sA8Wz_loTf4

Den habe ich schon gesehen. Was die für eine Energie verbraten, mit den 
Schneekanonen, das habe ich immer selbst gesehen. Man darf aber nicht 
dabei vergessen, bevor die Touristik dort hin kam, waren die Menschen 
dort bettelarm und hatte selbst kaum zum Essen.
Das künstlich hoch zu halten, das halte ich auch für falsch. Um es mit 
James Brown zu sagen. How will you stop a runaway train?

Andreas S. schrieb:
> Daran wird die Welt nicht zugrunde gehen - übertreiben sollten wir's mit
> dem "Horten" natürlich auch nicht.

Man kann ja leider nie voraussehen was alles passiert. Wäre das mit 
Richard nicht passiert, gäbe es diesen Beitrag nicht und selbst die 
größeren Bestände wären weniger als die Hälfte. Denn dann wäre ich viel 
weiter. Wenn du extrapolierst wo ich heute wäre, wenn ich die 10 Jahre 
genutzt hätte.
Aber zu unserem Bisschen, das wir vielleicht zu viel haben, sehe ich 
auch heute noch in der Industrie, wie fertige Teile weggeworfen werden.
Nur das Wenige, das ich mit eigenen Augen gesehen habe, würde auf meinen 
überflüssigen Verbrauch wohl mehr als 100 Leben ausmachen.

Andreas S. schrieb:
> Och Frank - bitte verlinke doch mal Deine Quellen (!).
> Ich kenne Hr. Kübi nicht - googeln brachte mich auch nicht zu ihm.

Der Transistortester sagt dir doch auch etwas. K-H. Kübbler (liebevoll 
hier oft Kübi genannt).
https://www.mikrocontroller.net/attachment/200645/ttester_ger109k.pdf
War hier schon verlinkt. Von Rainer. Danke dafür!

Andreas S. schrieb:
> Ich spekuliere z.B., dass Du über die Zeit und Anstieg des Stroms bei
> vorgegebener Spannung die Induktivität bestimmen möchtest:

Da habe ich noch nichts gefunden was mir weiter hilft.
Das muss ich evtl. noch entwickeln.
Ich will auch gar nicht die Induktivität in diesem Sinne messen, sondern 
nur feststellen, ob mit der Induktivität etwas nicht stimmt. Also, ob 
ein Kurzschluss oder Windungsschluss vorliegt.
Ideen habe ich schon, aber die will ich hier noch nicht sagen. Wegen der 
Unkenrufer. Dazu werde ich noch viele Tests machen.
Der Grundgedanke ist, da eine Induktivität den Strom "bremst", müsste 
man das über den Strom/Zeitverlauf sehen können. Gerne über PWM, auch 
wenn überall steht, dass man Induktivitäten damit nicht messen kann. Was 
ich aber sicher messen kann, ist der Spannungsabfall. In meinem Fall 
hätte ich damit schon den Fehler gefunden.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Da habe ich noch nichts gefunden was mir weiter hilft.
> Das muss ich evtl. noch entwickeln.

Lies Dir das evtl. einmal durch:
https://www.leifiphysik.de/elektrizitaetslehre/elektromagnetische-induktion/grundwissen/ein-und-ausschalten-von-rl-kreisen

Das hilft, das Prinzip der L-Messung über den Stromanstieg zu verstehen 
und die Formel zu kennen.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Das hilft, das Prinzip der L-Messung über den Stromanstieg zu verstehen
> und die Formel zu kennen.

Super!
Das beantwortet meine Fragen, die mir im Kopf rum schweben schon fast 
vollständig.
Ich hatte nämlich vor, den Fet für den großen Magneten kurz anzustellen 
und dann den maximalen Strom zu vergleichen. Wäre natürlich besser, wenn 
ich das vorher berechnen kann, aber dafür gibt es ja auch LtSpice.
Wenn also der Strom in dieser Zeit (die muss ich noch herausfinden, da 
ich nicht bis zum Auslösen der Sicherung kommen möchte) mehr als 50% des 
zu erwartenden Stromes ansteigt, dann kommt die Meldung: "1Y45" ist 
defekt.
Beim kleinen Magneten (der Strom liegt unter 1A), lass ich den Strom bis 
zum Anschlag ansteigen, wobei der Anschlag ein entsprechender Widerstand 
ist.

Andreas S. schrieb:
> Dann tu mal was für die Muckis :-)

Dringend nötig, ich habe in der Krankheit 3 Kilo Gewicht verloren, da 
ich nicht so viel essen konnte.
Die meisten freuen sich, wenn sie Gewicht verlieren. Weißt du was der 
Bodybuilder antwortet, wenn du ihn fragst wie viel er wiegt?

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Das hilft, das Prinzip der L-Messung über den Stromanstieg zu verstehen
> und die Formel zu kennen.

Super!
Das beantwortet meine Fragen, die mir im Kopf rum schweben schon fast 
vollständig.
Ich hatte nämlich vor, den Fet für den großen Magneten kurz anzustellen 
und dann den maximalen Strom zu vergleichen. Wäre natürlich besser, wenn 
ich das vorher berechnen kann, aber dafür gibt es ja auch LtSpice.
Wenn also der Strom in dieser Zeit (die muss ich noch herausfinden, da 
ich nicht bis zum Auslösen der Sicherung kommen möchte) mehr als 50% des 
zu erwartenden Stromes ansteigt, dann kommt die Meldung: "1Y45" ist 
defekt.
Beim kleinen Magneten (der Strom liegt unter 1A), lass ich den Strom bis 
zum Anschlag ansteigen, wobei der Anschlag ein entsprechender Widerstand 
ist.

Andreas S. schrieb:
> Dann tu mal was für die Muckis :-)

Dringend nötig, ich habe in der Krankheit 3 Kilo Gewicht verloren, da 
ich nicht so viel essen konnte.
Die meisten freuen sich, wenn sie Gewicht verlieren. Weißt du was der 
Bodybuilder antwortet, wenn du ihn fragst wie viel er wiegt?
So viel kann ich dir verraten, er antwortet das gleiche, wenn du fragst 
wie  viel Gewicht er auf der Hantel hat.

von Andreas S. (igel1)


Lesenswert?

Huch - ich glaube, ich habe heute Abend doch einen über den Durst 
getrunken - ich sehe plötzlich Beiträge doppelt - hicks ...

Ich antworte trotzdem nur 1x, wenn das okay ist :-)

Frank O. schrieb:
> Andreas S. schrieb:
>> Das hilft, das Prinzip der L-Messung über den Stromanstieg zu verstehen
>> und die Formel zu kennen.
>
> Super!

Gelle, ist ganz gut dargestellt auf der Seite.

> Das beantwortet meine Fragen, die mir im Kopf rum schweben schon fast
> vollständig.
> Ich hatte nämlich vor, den Fet für den großen Magneten kurz anzustellen
> und dann den maximalen Strom zu vergleichen.

Yep - der Strom wird genauso ansteigen, wie in den Kennlinien meiner 
verlinkten Seite aufgezeigt.

> Wäre natürlich besser, wenn
> ich das vorher berechnen kann, aber dafür gibt es ja auch LtSpice.
> Wenn also der Strom in dieser Zeit (die muss ich noch herausfinden, da
> ich nicht bis zum Auslösen der Sicherung kommen möchte) mehr als 50% des
> zu erwartenden Stromes ansteigt, dann kommt die Meldung: "1Y45" ist
> defekt.

Klingt plausibel.
Du solltest Dir dann allerdings noch überlegen, wie der FET einen 
deutlich erhöhten Stromanstieg überlebt (eben den besagten 
Kurzschlussfall).

Der umgekehrte Fall gilt allerdings auch: nämlich wenn der Stromanstieg 
in der Zeit deutlich unter Deinen Erwartungen bleibt - auch dann wird 
der Magnet oder die Zuleitungen zum Magneten irgendwo fratze sein.

Besonders einfach wird es, wenn Du die Zeit tau misst, bis der Strom auf 
63% von I0 angestiegen ist (z.B. mit dem Komparator des ATmega).
Dann gilt nämlich:

Einziges Problem: Änderungen von R_vorwiderstand (z.B. in den 
Zuleitungen oder in den Verbindungen der Zuleitungen zur Spule) wirken 
sich natürlich massiv auf die Formel und somit auf die gemessene Zeit 
tau aus.

> Beim kleinen Magneten (der Strom liegt unter 1A), lass ich den Strom bis
> zum Anschlag ansteigen, wobei der Anschlag ein entsprechender Widerstand
> ist.
>
> Andreas S. schrieb:
>> Dann tu mal was für die Muckis :-)
>
> Dringend nötig, ich habe in der Krankheit 3 Kilo Gewicht verloren, da
> ich nicht so viel essen konnte.
> Die meisten freuen sich, wenn sie Gewicht verlieren. Weißt du was der
> Bodybuilder antwortet, wenn du ihn fragst wie viel er wiegt?
> So viel kann ich dir verraten, er antwortet das gleiche, wenn du fragst
> wie  viel Gewicht er auf der Hantel hat.

??? jetzt bin ich echt überfordert/überfragt ???

Viele Grüße

Igel1

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

So Andreas, ich habe mal ein wenig mit LTSpice simuliert. Sicher sind 
die Einstellungen nicht ganz richtig. Beim Einschalten des Mosfets gehen 
die Ampere ins Minus. Ich habe aber auch einfach einen 100V-Type 
genommen. Da muss ich noch einmal das Tutorial lesen.
Der Transitortester eignet sich nicht so gut für die Messung des 
Magneten.
Ich habe dann noch mit meinem LCR-Messgerät gemessen (Peaktech 2170) 
damit komme ich dann auf 24,09mH/1,354R, bei 1kHz.  Der TT zeigt leider 
immer unterschiedliche Werte an und um die 55mH. Denke das Peaktech ist 
mit den Kelvinklemmen da doch die bessere Wahl.
Dennoch kann man das gut über den Strom messen. Wenn ich den Fet für 3ms 
einschalte, dann messe ich ~6A, bei einem intakten Magneten kommen.
Den Maximalstrom erreicht der Magnet nach ~75ms, mit etwas über 59A.
Bei einem Kurzschluss messe ich nach 3ms aber schon ~20A
Wenn die Simulation einigermaßen stimmt.

Auch wenn der Strom vielleicht bei einem Windungsschluss nicht ganz so 
schnell und hoch ansteigen würde, müsste sich das aber auch deutlich von 
einem intakten Magneten zu unterscheiden sein.
Mein Plan ist daher, den Fet einschalten, Strom messen und bei 20A den 
Fet abschalten. Die Zeit, die für das Erreichen der 20A gebraucht wird, 
mit der Vorgabe zu vergleichen und danach die Meldung, ob der Magnet 
defekt ist oder aber, ob es weiter im Programm geht.

LtSpice ist echt ein tolles Programm. Da lohnt es sich, sich dort 
einzuarbeiten.

Mist schon fast 2 Uhr. Ich muss ins Bett.

von Frank O. (frank_o)


Lesenswert?

Frank O. schrieb:
> 24,09mH/1,354R, bei 1kHz.

Mit Brille, Licht und morgens sieht man besser.
1.345kHz nicht Ohm, das Gerät war auf "Auto" eingestellt.
Nun bin ich aber etwas unsicher bei welcher Frequenz man messen sollte.
bei 100Hz und 120Hz komme ich in die Nähe der Werte, die auch der TT 
misst.
Ich würde mich zwar eher auf den Peaktech verlassen, aber etwas stutzig 
macht mich das schon.
Bei dem Sensor komme ich mit dem Peaktech auch auf andere Werte.
5.9mH ohne Kern und 19.5mH mit Kern. Allerdings misst das Peaktech den 
unteren Wert mit einer Frequenz von ~800Hz ohne Kern und mit Kern 
1957Hz.
Vielleicht kann mal jemand dazu etwas sagen?
Offensichtlich (hab gerade gelesen) machen die LCR Messgeräte das alle 
so.
bisher habe ich das noch nie anders benutzt, als auf "Auto".
Auch neue Batterien haben das Ergebnis nicht beeinflusst.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> So Andreas, ich habe mal ein wenig mit LTSpice simuliert. Sicher sind
> die Einstellungen nicht ganz richtig. Beim Einschalten des Mosfets gehen
> die Ampere ins Minus. Ich habe aber auch einfach einen 100V-Type
> genommen. Da muss ich noch einmal das Tutorial lesen.

Ohne LTspice-Datei kann selbst meine Glaskugel hier nicht weiterhelfen.
Die sagt mir nur, dass sich die Strom-Zählrichtung von LTspice an 
Transistorbeinchen manchmal etwas von dem unterscheidet, was man 
erwarten würde und man dann tatsächlich negative Ströme angezeigt 
bekommt.
Und? Hat die Glaskugel wieder recht?

> Der Transitortester eignet sich nicht so gut für die Messung des
> Magneten.
> Ich habe dann noch mit meinem LCR-Messgerät gemessen (Peaktech 2170)
> damit komme ich dann auf 24,09mH/1,354R, bei 1kHz.  Der TT zeigt leider
> immer unterschiedliche Werte an und um die 55mH. Denke das Peaktech ist
> mit den Kelvinklemmen da doch die bessere Wahl.

Nicht unbedingt - ich glaube tatsächlich, dass beide Messgeräte recht 
haben.

Die Induktivität einer Spule kann tatsächlich frequenzabhängig sein:
Beitrag "Ist die Induktivität frequenzabhängig?"
https://de.wikipedia.org/wiki/Magnetkern
https://de.wikipedia.org/wiki/Magnetische_Permeabilit%C3%A4t#Abh%C3%A4ngigkeit_von_der_Frequenz:_Komplexe_Permeabilit%C3%A4t,_Permeabilit%C3%A4tszahl

Allerdings fehlt mir die praktische Erfahrung, um einschätzen zu können, 
ob dies bei einer Frequenzsteigerung von 100Hz -> 1,3 KHz tatsächlich 
schon zu einer Halbierung der Induktivität führen kann.

Hört sich für mich im ersten Moment aber auch nicht völlig unrealistisch 
an - insbesondere da ja Deine große Spule auf(?) oder in(?) der Achse 
sitzt und so (wie ich Dich verstanden hatte) einen puren Eisenkern hat.

> Dennoch kann man das gut über den Strom messen. Wenn ich den Fet für 3ms
> einschalte, dann messe ich ~6A,

Du meinst, Du simulierst ~6A, oder?

> bei einem intakten Magneten kommen.
> Den Maximalstrom erreicht der Magnet nach ~75ms, mit etwas über 59A.
> Bei einem Kurzschluss messe ich nach 3ms aber schon ~20A
> Wenn die Simulation einigermaßen stimmt.

Ohne die Simulation zu sehen, kann ich nichts dazu sagen.

> Auch wenn der Strom vielleicht bei einem Windungsschluss nicht ganz so
> schnell und hoch ansteigen würde,

Eher umgekehrt: er steigt noch schneller an, weil Dir ja Teile der 
Windungen Deiner Spule durch den Kurzschluss verloren gehen und somit 
die Spule eine kleinere Induktivität hat, was wiederum zu einem 
schnelleren Stromanstieg führt.

> müsste sich das aber auch deutlich von
> einem intakten Magneten zu unterscheiden sein.

Wäre auch meine Überlegung.
Aber hier wären Starkstromleute sicherlich die besseren Berater.

> Mein Plan ist daher, den Fet einschalten, Strom messen und bei 20A den
> Fet abschalten. Die Zeit, die für das Erreichen der 20A gebraucht wird,
> mit der Vorgabe zu vergleichen und danach die Meldung, ob der Magnet
> defekt ist oder aber, ob es weiter im Programm geht.

Scheint mir stimmig, aber ich bin in einigen Punkten unsicher, ob das 
wirklich reproduzierbare, plausible Ergebnisse liefert.
Insbesondere spielt der Schleifenwiderstand bei so einer Konstellation 
eine erhebliche Rolle - bitte denke an tau = L/R.

Wenn also Dein Schleifenwiderstand wg. einer nicht perfekt angezogenen 
Klemme vielleicht statt 0,1 Ohm mal 0,2 Ohm beträgt, so hast Du direkt 
100% Abweichung bei der tau-Messung, was Dich dazu verleiten könnte, die 
Spule als "defekt" zu markieren.  Wenn Du also den Vorwiderstand nicht 
hinreichend genau festlegen kannst (z.B. indem Du einen 100 Ohm 
Widerstand zusätzlich vorschaltest und dann die 0,1 Ohm Differenz keine 
Geige mehr spielt), so wird das mit der Zeitmessung m.M.n. ein 
Zufallsspiel werden.

Da ist so eine Messung per Schwingkreis m.M.n. die bessere Wahl - zumal 
bei einem Reihenschwingkreis der Widerstand in der Formel der zur 
Berechnung der Resonanzfrequenz nicht auftaucht (im Gegensatz zu dem von 
uns verwendeten Parallelschwingkreis).

> LtSpice ist echt ein tolles Programm. Da lohnt es sich, sich dort
> einzuarbeiten.

Sach' ich ja ...

> Mist schon fast 2 Uhr. Ich muss ins Bett.

Yep - wir schlagen uns hier die Nächte ganz schön um die Ohren - nix gut 
für Gesundheit. Aber die Technik-Leidenschaft interessiert das leider 
nicht, was die Gesundheit dazu meint ...

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Frank O. schrieb:
> 1.345kHz nicht Ohm, das Gerät war auf "Auto" eingestellt.

Wieder falsch. Die 1.345 sind der "Qualitätsfaktor". Was auch immer das 
für die Bewertung des Bauteiles bedeutet.
Entschuldigung an alle Leser. Das war heute Morgen, vor der Arbeit; also 
unter Zeitdruck.

Jetzt habe ich das Gerät kalibriert und nochmal gemessen.
Etwas verstehe ich nicht so ganz. Im "Auto Rs" Modus wird ein Widerstand 
von 111.65 Ohm angezeigt. Ist das der Gesamtwiderstand, der sich durch 
den ohmschen Widerstand + Blindwiderstand ergibt?
In der DCR-Messung zeigt das Gerät 2.24 Ohm an. Das zeigt auch das 
Metrahit oder mein Tischmultimeter an.
Leider steht nichts Näheres im winzig kleinen Handbuch dazu.

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Und? Hat die Glaskugel wieder recht?

Volle Punktzahl.
Ich hoffe das klappt mit der LtSpice-Datei.
Geht beim Einschalten des Fet ganz kurz in den negativen Bereich.
Allerdings hatte ich auch keinen Anspruch auf absolute Genauigkeit, da 
ich nur sehen wollte, ob überhaupt eine Messung über den Strom möglich 
ist und wie das aussehen würde. Und ob ich damit arbeiten kann.

Andreas S. schrieb:
> Eher umgekehrt: er steigt noch schneller an,
Klar! Völlig verkehrt ausgedrückt.

Andreas S. schrieb:
> Scheint mir stimmig, aber ich bin in einigen Punkten unsicher, ob das
> wirklich reproduzierbare, plausible Ergebnisse liefert.

Habe ich heute drüber nachgedacht. Den Fet für eine Kurze Zeit 
einschalten (ich weiß, die Umladung des Gates und die Anstiegs und 
Abfallzeiten vom Fet kommen hinzu), und dann wieder ausschalten und den 
gemessenen Strom vergleichen. Das sollte mit den 18-Bit-ADC machbar 
sein.
Muss ich alles noch ausgiebig testen.

Andreas S. schrieb:
> so wird das mit der Zeitmessung m.M.n. ein
> Zufallsspiel werden.
Deshalb jetzt feste Zeit und den Spitzenstrom vergleichen.
Alles in meinem Bereich, auch die Sicherheitsabschaltungen funktionieren 
irgendwie über den Strom. Da gibt es keine zusätzlichen Messkreise. Das 
wird alles in Software erledigt.
Wenn das alle hinbekommen, die Ladegeräte bauen und Antriebstechnik, 
werde ich das auch können. Wenn vielleicht auch nicht so schnell.

Andreas S. schrieb:
> nix gut
> für Gesundheit.
Ich glaube durchwachte Nächte sind da mein kleinstes Problem.
Zum Glück bin ich heute nicht mehr ganz so exzessiv. Da gab es ganz 
andere Zeiten.

So Andreas, jetzt habe ich aber eine ganz einfache Frage, die dir und 
den meisten hier sicher banal vorkommen mag.
Du hast so eine schöne Spule in deinen Videos.
Ich scheitere schon am Suchbegriff. Auch konnte ich nichts finden, wie 
man die Spulen unterscheidet. Drosselspule, da kommen zig Bilder.
Ich würde mir gerne eine Spule, mit den Henry-Werten des Magneten 
bestellen. Natürlich für weniger Strom und Spannung, sodass ich das hier 
im kleinen Format testen kann.
Wo bekomme ich das?

von Andreas S. (igel1)



Lesenswert?

Die LTspice-Schaltung ist schon ganz gut - Du wirst langsam warm damit.
Nur beim Gate-Pulse hat Du die Dinge vertauscht (bewusst?):

Statt das Gate kurz einzuschalten hast Du es dauerhaft durchgeschaltet 
und nur einmal kurz abgeschaltet - also genau umgekehrt, wie Du es 
eigentlich beschrieben hattest.

Ich habe daher jetzt alles etwas angepasst und ins Gegenteil verdreht - 
sprich: den MOSFET 3ms durchgeschaltet.

Außerdem habe ich noch eine Schottky-Diode + Widerstand zum "Löschen" 
des Induktionsstromes hinzugefügt und einen MOSFET ausgesucht, der die 
richtige Spannungsfestigkeit hat.

- grün:  Strom durch die Spule
- blau:  Spannung an Drain des MOSFETS

War's das, was Du testen wolltest?

Viele Grüße

Igel1

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Scheint mir stimmig, aber ich bin in einigen Punkten unsicher, ob das
>> wirklich reproduzierbare, plausible Ergebnisse liefert.
>
> Habe ich heute drüber nachgedacht. Den Fet für eine Kurze Zeit
> einschalten (ich weiß, die Umladung des Gates und die Anstiegs und
> Abfallzeiten vom Fet kommen hinzu), und dann wieder ausschalten und den
> gemessenen Strom vergleichen. Das sollte mit den 18-Bit-ADC machbar
> sein.
> Muss ich alles noch ausgiebig testen.

Wie gesagt: ich meine, dass das andere Verfahren einfacher (und 
sicherer) ist:

- MOSFET einschalten und per Komparator des Mikrocontrollers an einem 
Shunt prüfen, wann der Strom 63% seines Maximallevels erreicht. Genau 
diese Stromanstiegszeit mit dem MC messen und dann mit der Formel tau = 
L/R die Induktivität berechnen.

Wenn Dir 63% zu viel Strom sind, kannst Du das Level auch niedriger 
setzen - mit den Formeln aus der von mir zitierten Webseite kannst Du 
dann trotzdem auf L zurückrechnen - ist halt dann etwas komplizierter - 
immer vorausgesetzt, Du kennst R.

>
> Andreas S. schrieb:
>> so wird das mit der Zeitmessung m.M.n. ein
>> Zufallsspiel werden.
> Deshalb jetzt feste Zeit und den Spitzenstrom vergleichen.

Neee - das Problem bleibt das gleiche, nur wird dann halt der 
Spitzenstrom mit dem Widerstand variieren statt vormals die Zeit.

> Alles in meinem Bereich, auch die Sicherheitsabschaltungen funktionieren
> irgendwie über den Strom. Da gibt es keine zusätzlichen Messkreise. Das
> wird alles in Software erledigt.
> Wenn das alle hinbekommen, die Ladegeräte bauen und Antriebstechnik,
> werde ich das auch können. Wenn vielleicht auch nicht so schnell.

Vergiss nicht: da werden auch Meister ihres Fachs dahinterstecken und 
wir sind nur Freizeitkapitäne.

> Andreas S. schrieb:
>> nix gut
>> für Gesundheit.
> Ich glaube durchwachte Nächte sind da mein kleinstes Problem.
> Zum Glück bin ich heute nicht mehr ganz so exzessiv. Da gab es ganz
> andere Zeiten.
>
> So Andreas, jetzt habe ich aber eine ganz einfache Frage, die dir und
> den meisten hier sicher banal vorkommen mag.
> Du hast so eine schöne Spule in deinen Videos.
> Ich scheitere schon am Suchbegriff. Auch konnte ich nichts finden, wie
> man die Spulen unterscheidet. Drosselspule, da kommen zig Bilder.
> Ich würde mir gerne eine Spule, mit den Henry-Werten des Magneten
> bestellen. Natürlich für weniger Strom und Spannung, sodass ich das hier
> im kleinen Format testen kann.
> Wo bekomme ich das?

Nimm doch einfach Deine Sensorspule und teste damit "im Kleinen" ein 
wenig herum. Die Strom-Anstiegszeiten solltest Du auch damit 
ausprobieren können.

Ansonsten: es dürfte schwierig werden, genau Deine große Spule durch ein 
äquivalentes Bauteil zu ersetzen, denn wie Du selbst festgestellt hast, 
ändert sich deren Induktivität mit der Frequenz - das ist kaum 
nachzustellen.

Ansonsten: einfach die große Spule mit dem Transistortester durchmessen 
und eine Spule mit ähnlicher Henry-Zahl und R <= R_spule bestellen - auf 
die max. Strombelastbarkeit achten.

Ansonsten: hier lesen
Beitrag "Drossel, Speicherspule, Induktivitäten was ist der unterschied?"

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Du die Dinge vertauscht (bewusst?):

Ne, es war spät und ich habe einfach rum probiert.

Andreas S. schrieb:
> MOSFET ausgesucht, der die
> richtige Spannungsfestigkeit hat.

Ich hatte einen 100V-Typen dort ausgesucht oder nicht?

Kann man überhaupt so kurz den Pin einschalten? Wenn ich den Pin für 
100ns einschalte, bin ich bei ungefähr 40A Kurzschlussstrom. 100ns sind 
10MHz.
Kann man das so kurz einschalten?
Ich muss das einmal ausprobieren und den Pin HIGH schalten und sofort 
wieder LOW, dann mal messen wie lange der on ist.

Lieben Dank Andreas, für die richtige Simulation!

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Du die Dinge vertauscht (bewusst?):
>
> Ne, es war spät und ich habe einfach rum probiert.

... und mir dann die Kraut und Rüben LTspice-Datei zugesandt ... na 
danke ... grummel.

> Andreas S. schrieb:
>> MOSFET ausgesucht, der die
>> richtige Spannungsfestigkeit hat.
>
> Ich hatte einen 100V-Typen dort ausgesucht oder nicht?

Yep - und 100V sind in meiner Schaltung tatsächlich zu wenig (bei Deiner 
Schaltung hätte auch 100kV-MOSFET nicht ausgereicht :-) - schau Dir die 
Simulation einmal ganz genau an und versuche zu verstehen, warum die 
Spannung am MOSFET über 100V ansteigt.

> Kann man überhaupt so kurz den Pin einschalten? Wenn ich den Pin für
> 100ns einschalte, bin ich bei ungefähr 40A Kurzschlussstrom. 100ns sind
> 10MHz.

Wo nimmst Du diese Zahlen her?
Ich habe mit Deinen Werten simuliert und komme bei 3ms (nicht ns!) 
Einschaltzeit auf Ströme unter 10A.

> Kann man das so kurz einschalten?

Profis schon, wir nicht.
Ich bin dann jedenfalls raus.

> Ich muss das einmal ausprobieren und den Pin HIGH schalten und sofort
> wieder LOW, dann mal messen wie lange der on ist.

Hmmm - verstehe nicht ganz, was Du meinst, aber Du wirst mir ja das 
Ergebnis zeigen, vielleicht verstehe ich es dann.

>
> Lieben Dank Andreas, für die richtige Simulation!

You are welcome.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Wo nimmst Du diese Zahlen her?
> Ich habe mit Deinen Werten simuliert und komme bei 3ms (nicht ns!)
> Einschaltzeit auf Ströme unter 10A.

Wenn ich einen Kurzschluss in der Induktivität erzeuge (die Induktivität 
auf einen kleinen Wert einstelle)

Andreas S. schrieb:
> Hmmm - verstehe nicht ganz, was Du meinst, aber Du wirst mir ja das
> Ergebnis zeigen, vielleicht verstehe ich es dann.

Im Moment benutze ich doch noch Arduino.
1
void loop() {
2
  digitalWrite(13, HIGH); // Setzt den Digitalpin 13 auf HIGH = "Ein"
3
  delay(1000);            // Wartet eine Sekunde
4
  digitalWrite(13, LOW);  // Setzt den Digitalpin 13 auf LOW = "Aus"
5
  delay(1000);            // Wartet eine Sekunde

Nur dass ich sofort wieder LOW schalten will.
Das werde ich einmal am Oszi anschauen. Mal sehen, ob ich das darstellen 
kann.
Wenn ich tatsächlich einen Kurzschluss habe, fliegt bei 50A die 
Sicherung.
Ob es den Fet weg haut, werde ich beim ersten Test sehen.
Ich werde mal "ganz dünne Leitungen" benutzen, um den Kurzschluss zu 
simulieren.

Andreas S. schrieb:
> und mir dann die Kraut und Rüben LTspice-Datei zugesandt ... na
> danke ... grummel.
Tut mir leid! Aber wenn ich alles erstmal durchlesen muss, bevor ich 
einen Handschlag tue, dann komme ich nicht vorwärts. Und bei LtSpice 
gibt es zumindest keinen Rauch.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Wo nimmst Du diese Zahlen her?
>> Ich habe mit Deinen Werten simuliert und komme bei 3ms (nicht ns!)
>> Einschaltzeit auf Ströme unter 10A.
>
> Wenn ich einen Kurzschluss in der Induktivität erzeuge (die Induktivität
> auf einen kleinen Wert einstelle)

Ah sooo - na dann claro.
Könntest Du nicht bei Deinen Tests einen 2-10 Ohm Widerstand vor Deinen 
MOSFET schalten?  Der würde dann auch im Falle eines Kurzschluss 
überleben. Und die Anstiegszeit mit Spule wäre dann auch etwas langsamer 
und könnte besser vermessen werden. Außerdem würden minimale Änderungen 
des Schleifenwiderstandes (z.B. durch nicht bombenfest festgezogene 
Klemmen) Dir die Messung nicht verhageln.

> Andreas S. schrieb:
>> Hmmm - verstehe nicht ganz, was Du meinst, aber Du wirst mir ja das
>> Ergebnis zeigen, vielleicht verstehe ich es dann.
>
> Im Moment benutze ich doch noch Arduino.
>
1
> void loop() {
2
>   digitalWrite(13, HIGH); // Setzt den Digitalpin 13 auf HIGH = "Ein"
3
>   delay(1000);            // Wartet eine Sekunde
4
>   digitalWrite(13, LOW);  // Setzt den Digitalpin 13 auf LOW = "Aus"
5
>   delay(1000);            // Wartet eine Sekunde
6
>
>
> Nur dass ich sofort wieder LOW schalten will.
> Das werde ich einmal am Oszi anschauen. Mal sehen, ob ich das darstellen
> kann.

Ja klar, kannst Du. Du kannst es auch ausrechnen, denn jeder 
Maschinenbefehl dauert eine definierte Anzahl von Zyklen.

> Wenn ich tatsächlich einen Kurzschluss habe, fliegt bei 50A die
> Sicherung.
> Ob es den Fet weg haut, werde ich beim ersten Test sehen.

Wirst Du evtl. nicht sehen, weil der FET auch "vorgeschädigt" werden 
kann - als nicht sofort kaputt geht.

> Ich werde mal "ganz dünne Leitungen" benutzen, um den Kurzschluss zu
> simulieren.

Aha, soso - wie gesagt: ich bin kein Starkstrommann und habe wenig 
Ahnung in diesen Stromstärken.

> Andreas S. schrieb:
>> und mir dann die Kraut und Rüben LTspice-Datei zugesandt ... na
>> danke ... grummel.
> Tut mir leid! Aber wenn ich alles erstmal durchlesen muss, bevor ich
> einen Handschlag tue, dann komme ich nicht vorwärts. Und bei LtSpice
> gibt es zumindest keinen Rauch.

Ja, stimmt, aber man muss sich auch bei LTspice (und sogar gerade dort) 
genügend Zeit nehmen um zu verstehen/zu interpretieren, warum die Kurven 
genau so verlaufen, wie sie halt verlaufen: z.B. warum Du über 100V am 
MOSFET bekommen wirst oder warum in Deiner Simulation >100kV am MOSFET 
ankam, oder, oder, oder ...

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Und die Anstiegszeit mit Spule wäre dann auch etwas langsamer
> und könnte besser vermessen werden. Außerdem würden minimale Änderungen
> des Schleifenwiderstandes (z.B. durch nicht bombenfest festgezogene
> Klemmen) Dir die Messung nicht verhageln.

Ungerne, denn dann müsste ich den Test "umleiten".
Aber da steckt insgesamt noch ein Denkfehler zwischen Simulation und dem 
was passieren wird.
Mist, habe gerade mit meinem Kollegen zusammen gearbeitet. Der sollte 
mir noch ein Schütz da lassen.

Andreas S. schrieb:
> Ja klar, kannst Du. Du kannst es auch ausrechnen, denn jeder
> Maschinenbefehl dauert eine definierte Anzahl von Zyklen.

Ich habe noch etwas von 4 Takten im Kopf, aber ich weiß nicht mehr 
worauf sich die 4 Takte bezogen.
Ich werde es einfach ausprobieren. Einmal als Kurzschluss. Da werde ich 
wohl eine kleine Batterie nehmen, um Ähnlichkeiten zur großen Batterie 
herzustellen. Aber zuerst mit dem Labornetzgerät.
Dann über die Spule.

Andreas S. schrieb:
> Aha, soso - wie gesagt: ich bin kein Starkstrommann und habe wenig
> Ahnung in diesen Stromstärken.

Verbrannte Kabel sind nicht so schlimm, als würde ich eine Batterie für 
ungefähr 10K in die Luft jagen.
Kurzschlussstrom so ca. 30000A. Ich habe früher einmal zwei kleine 
Batterien (45Ah) abgeschossen, die sich gegenüberstanden und in Reihe 
waren. Konnte eine Woche kaum etwas hören.
Früher hatten die Zellen noch Verbinder aus Blei. Natürlich nicht 
isoliert. Batteriewechsel mit Ketten wurde auch oft gemacht. Ich habe es 
noch nie selbst erlebt (kann ich auch gut drauf verzichten), aber oft 
genug die Resultate gesehen. Feine Arbeit; wenig Arbeit, aber viel 
Umsatz.

Andreas S. schrieb:
> Ja, stimmt, aber man muss sich auch bei LTspice (und sogar gerade dort)
> genügend Zeit nehmen um zu verstehen/zu interpretieren, warum die Kurven
> genau so verlaufen, wie sie halt verlaufen: z.B. warum Du über 100V am
> MOSFET bekommen wirst oder warum in Deiner Simulation >100kV am MOSFET
> ankam, oder, oder, oder ...
Wenn ich das hier fertig habe, dann fange ich richtig von vorne an. Ich 
habe auch wieder richtig Bock auf die Tiny10. Assembler würde ich auch 
gerne noch lernen. Dann könnte ich hinterher deutlich mehr mit dem 
Tiny10 machen.
Ich werde übrigens das jetzt alles auf den ATMega2560 übertragen.
Die globalen Variablen (kann ich sicher später noch optimieren) fressen 
ihren Speicher auf.
Dann kann ich den anderen Kempel (PedaOsc, Stromsensoren und Fets) auf 
ein Shield bauen.
Hatte gestern noch ein wenig in der Referenz zur u8g2 gelesen. Da kann 
man auch Pins direkt ansprechen.
Ich habe nirgends ein PDF mit der Referenz gesehen. Würde mir das gerne 
ausdrucken.
Auch seitenweise etwas auf das Display zu übertragen, das kommt sowieso 
der Anwendung entgegen. Das muss ich in der Referenz noch genau lesen. 
Vielleicht reicht der Speicher dann doch so gerade. Globale Variablen 
müssen da auch nicht mehr viele sein.
Ist halt ein Nachteil an Arduino.
Die Unkenrufer haben schon recht. Wenn es anfängt richtig zur Sache zu 
gehen, kommst du damit schnell an die Grenzen.

von Frank O. (frank_o)


Lesenswert?

Irgendwie kommt "der Artikel der Woche" gerade passend. :-)
https://www.mikrocontroller.net/articles/High-Speed_capture_mit_ATmega_Timer

von Andreas S. (igel1)


Angehängte Dateien:

Lesenswert?

Anbei meine Schaltung zur Messung der Anstiegszeit.
Kann man bestimmt noch deutlich optimieren, aber auf die Schnelle fiel 
mir nix Besseres ein (Schutzschaltung fehlt auch noch komplett):

- blau:   Gatespannung
- rot:    Stromverlauf an R1  (1 Ohm)
- grün:   Ausgangssignal OpAmp

Das Ausgangssignal des OpAmps kann man per Spannungsteiler an den 
Eingang des ATmega legen und dann quasi dasselbe Programm zur 
Pulslängenmessung verwenden wie zurvor beim Peda-Oszillator.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Du Eule! :-)

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Du Eule! :-)

Au Mann - war Vollmond heute Nacht - irgendetwas passiert da immmer.
Heute Nacht gegen 3 Uhr hat mein Feuermelder einfach mal von sich aus 
beschlossen, sich ein wenig auszutesten: 3 Sekunden Alarm, danach nichts 
mehr - gaaaanz toll.

Mit dem werde ich heute mal ein gewichtiges Wörtchen sprechen ...

Viele Grüße

Igel1

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Das Ausgangssignal des OpAmps kann man per Spannungsteiler an den
> Eingang des ATmega legen und dann quasi dasselbe Programm zur
> Pulslängenmessung verwenden wie zurvor beim Peda-Oszillator.

Moin Andreas!
Erstmal danke für deine Arbeit!

Ich hatte zuletzt geschrieben, dass ich für eine definierte Zeit den Pin 
einschalten will und dann den Strom messen.
Zuvor hatte ich auch schon einmal geschrieben, dass  ich das am liebsten 
über einen Shunt machen möchte, weil im Grunde alle Ladegeräte, auch 
sehr moderne Ladegeräte, noch immer über einen Shunt messen.
Die Teile sind gestern gekommen, Shunt hatte ich schon vorher.
Was spricht aus deiner Sicht dagegen den Widerstand im Strompfad zu 
haben?
Messung starten
Pin HIGH
(evtl. eine Zeit dazwischen)
Pin LOW
Messwert in einer Variablen speichern.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Hatte gestern noch ein wenig in der Referenz zur u8g2 gelesen. Da kann
> man auch Pins direkt ansprechen.

Wofür willst Du das verwenden?
Mir fällt gerade kein Anwendungsfall ein.
Ich bin eigentlich heilfroh, dass ich genau das - nämlich Pins einzeln 
ansprechen - nicht machen muss und dass Olivers Lib das für mich 
erledigt.

> Ich habe nirgends ein PDF mit der Referenz gesehen. Würde mir das gerne
> ausdrucken.

Die Referenz findest Du ja im Wiki unter u8g2reference:
https://github.com/olikraus/u8g2/wiki/u8g2reference

Oliver Kraus hat geschickterweise die gesamte Referenz auf einer 
Webseite in seinem Wiki abgelegt (mit Intra-Page-Links am Anfang der 
Seite).
Das hat den Vorteil, dass Du genau das tun kannst, was Du machen 
möchtest - nämlich Dir die Referenz als PDF ausdrucken.

Voraussetzung: Du hast den Acrobat PDF Reader auf Deinem PC installiert 
(PDF-Browser-Plugins werden dann zumeist automatisch mitinstalliert).

Dann öffnest Du die Seite in Deinem Browser und versuchst sie 
auszudrucken - als Drucker verwendest Du dabei nicht Deinen "echten" 
Drucker, sondern wählst "Save as PDF". Und schwupps, schon kannst Du die 
u8g2reference-Seite als PDF-File "ausdrucken".

Die Seitenumbrüche sind dabei vielleicht nicht ganz so optimal gesetzt 
wie bei einem richtigen Buch, aber zum Offline-Lesen reicht's allemal.

> Auch seitenweise etwas auf das Display zu übertragen, das kommt sowieso
> der Anwendung entgegen. Das muss ich in der Referenz noch genau lesen.

Hmmm - ich schreibe einfach alles in den Buffer und lasse den Buffer am 
Ende jedes Loop-Durchgangs auf das Display ausgeben.

Das entsprechende Beispiel dazu findest Du hier:
https://github.com/olikraus/u8g2/wiki/setup_tutorial#full-screen-buffer-mode

> Vielleicht reicht der Speicher dann doch so gerade. Globale Variablen
> müssen da auch nicht mehr viele sein.

Ich komme bislang noch mit dem Nano hin und bin mir ziemlich sicher, 
dass ich die Vermessung des großen Magneten über die Stromanstiegszeit 
da auch noch reinbekommen.

Ansonsten: einfach den nächstgrößeren Hobel nehmen (z.B. Deinen 
Mega2560) und aus die Maus. Darauf würde ich wirklich keine Zeit 
verwenden.

> Ist halt ein Nachteil an Arduino.

Jetzt, wo ich weiß, dass man in Arduino-Programmen auch die volle avrgcc 
lib verwenden kann, stehen einem eigentlich alle Wege offen. Du kannst 
ganz tief die Register des ATmega einzeln setzen und ganz MC-nahen Code 
schreiben oder schlicht die Arduino-Libs mit ihren fertig 
konfektionierten Funktionen verwenden. Alles ist möglich.

> Die Unkenrufer haben schon recht. Wenn es anfängt richtig zur Sache zu
> gehen, kommst du damit schnell an die Grenzen.

Wenn Du nur die Funktionen aus den Arduino-Libs verwendest, dann ja.
Wenn Du allerdings - wie z.B. in meinem Code zur genauen Vermessung der 
Pulslänge gezeigt 
(Beitrag "Re: Induktiver Positionssensor - Fragen dazu") - 
einfach selber auf die Register des MC zugreifst, so kannst Du 
eigentlich alles machen, was Du willst.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Anbei meine Schaltung zur Messung der Anstiegszeit.

Ich müsste mich jetzt mehr mit LtSpice auseinander setzen, aber nicht zu 
diesem Zeitpunkt.
Andreas, der Strom, der durch den Magneten fließt, der interessiert mich 
eigentlich kaum. Den messe ich einmal und damit weiß ich was ich zu 
erwarten habe.
Wenn ich jetzt deine Simulation nehme und die Werte des Magneten gleich 
Null setze, dann bleiben immer nur noch ~7A als Spitzenstrom. Auch wenn 
ich die Schottky-Diode raus nehme, ändert sich nichts am Wert. Woran 
liegt das?

Nachtrag:
Habe jetzt doch noch im Tutorial geguckt und deine Schaltung komplett 
kastriert, sodass nur noch der Fet, der Magnet oder der Kurzschluss über 
blieb.
Was für ein Unterschied so ein Fet ausmacht!
Ich habe extrem kurze Schaltzeiten genommen (so wie bei dem von dir 
gewählten IPB065N15N3 ungefähr ist; etwas länger) und dann habe ich den 
Fet einmal gegen einen mit einem sehr niedrigen RDSon und einmal mit 
einem sehr hohen RDSon genommen. Irre was das bei den kurzen 
Schaltzeiten ausmacht.
So, mit LtSpice, kann man auch eine Menge lernen.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Das Ausgangssignal des OpAmps kann man per Spannungsteiler an den
>> Eingang des ATmega legen und dann quasi dasselbe Programm zur
>> Pulslängenmessung verwenden wie zurvor beim Peda-Oszillator.
>
> Moin Andreas!
> Erstmal danke für deine Arbeit!
>
> Ich hatte zuletzt geschrieben, dass ich für eine definierte Zeit den Pin
> einschalten will und dann den Strom messen.

Yep - das ist Dein Ansatz. Ich finde die andere Methode allerdings 
eleganter und vermutlich sogar auch genauer:  Miss die Zeit, bis ein 
bestimmter Strom erreicht ist und berechne daraus unter Verwendung des 
bekannten Widerstands rückwärts die Induktivität.

> Zuvor hatte ich auch schon einmal geschrieben, dass  ich das am liebsten
> über einen Shunt machen möchte, weil im Grunde alle Ladegeräte, auch
> sehr moderne Ladegeräte, noch immer über einen Shunt messen.

Genau das macht die Simulation - der Shunt ist hier R2.
An ihm steigt die Spannung proportional zum Strom an.

Meine Simulation funktioniert dann wie folgt:

Beim Einschalten der Gate-Spannung auf 12V wird der nicht-invertierende 
Eingang des OpAmps über den Spannungsteiler R3-R4 auf ca. 6V gezogen (R6 
vernachlässigen wir hier gerade erst einmal).

Da im Moment des Durchschaltens des MOSFETs noch quasi kein Strom 
fließt, ist die Spannung am Shunt R2 ganz niedrig und somit führt der 
Spannungsteiler aus R7 und R5 auch nur 1,2V an den invertierenden 
Eingang des OpAmps.

Und weil gilt 6V > 1,2V, so geht der OpAmp an seinem Ausgang in diesem 
Moment auf "High".

Steigt nun der Strom am Shunt R2, so zieht das auch das Potential am 
invertierenden Eingang des OpAmps hoch, der dann irgendwann (nämlich bei 
ca. 6V an seinem Eingang) auf "Low" kippt.  R6 stellt dabei nur eine 
Mitkopplung da, die den Kippeffekt noch etwas beschleunigt.

Den Spannungsteiler aus R7 und R5 benötige ich eigentlich nur deshalb, 
damit der OpAmp auf "Low" bleibt, wenn die Gatespannung auf 0V liegt und 
somit der nicht-invertierende Eingang ebenfalls auf ca. 0V liegt. Sonst 
könnte der OpAmp in dieser Phase ggf. unbeabsichtig auf "High" gehen, 
wenn seine beiden Eingänge auf 0V liegen.

> Die Teile sind gestern gekommen, Shunt hatte ich schon vorher.

Bitte schreibe mir nochmals als Text, was für Teile das sind - das Bild 
ist dafür nicht gut genug belichtet:

- welchen Widerstand hat der Shunt?   (75mV bei 100A = 0,75 Milliohm 
??!!)
- welche Boards sind auf dem Bild zu sehen?  (genaue Bezeichnungen?)

> Was spricht aus deiner Sicht dagegen den Widerstand im Strompfad zu
> haben?

Nichts - wenn er denn deutlich größer ist als mögliche 
Widerstands-Änderungen, die durch "Randeffekte" entstehen können (z.B. 
durch nicht fest angezogene Verbinder oder durch Variationen des 
Widerstandes der Magnetspule, oder, oder, oder ...).

Denn es gilt ja für einen Stromanstieg bis 63%:
tau = L/R    =>     L = tau * R

... und R ist nun mal die Summe aller Widerstände in Deiner 
Stromschleife. Wenn also z.B. eine nicht bombenfest angezogene 
Verbindung den Gesamtwiderstand um 30% erhöht, so erscheint es Dir bei 
der Messung so, als ob L einen um 30% größeren Wert hat (das ergibt sich 
direkt aus der Formel).

Da bei ist es völlig Wurscht, ob Du nun die Zeit misst, in der der Strom 
auf ein bestimmtes Level ansteigt (z.B. auf 63%) oder ob Du die Zeit 
fest definierst und dafür misst, um wieviel der Strom in dieser Zeit 
ansteigt (wobei ich erstere Messmethode für einfacher und genauer 
halte).
Bei jeder Messmethode verderben Dir große Variationen von R den Brei.

Daher würde ich einen Shunt nehmen, der deutlich größer ist als alle 
möglichen Widerstandsvariationen, die sich sonst noch so im Stromkreis 
einschleichen können. Dann hast Du ein definiertes R in Deiner Formel 
und alles ist gut.

Ich glaube daher, dass Dein 0,00075 Ohm Shunt für diesen Zweck nicht gut 
geeignet ist. Im Dauerbetrieb, wenn möglichst wenig Spannung an einem 
Shunt "verbraten" werden soll, mag der Shunt evtl. passen, aber im 
Messbetrieb, halte ich ihn aus den zuvor genannten Gründen für viel zu 
gering.

> Messung starten
> Pin HIGH
> (evtl. eine Zeit dazwischen)
> Pin LOW
> Messwert in einer Variablen speichern.

Kann man so machen, doch - wie gesagt - halte ich die andere Methode für 
einfacher (braucht keinen AD-Wandler) und sogar auch genauer 
(Messergebnis verfälschende Verzögerungen durch Wandler und Interrupts 
entfallen):

Messung starten
Pin HIGH (=Gate des MOSFETS wird durchgestartet)
  Zeitgleich eine Stopuhr starten
Warten bis Strom einen bestimmten Wert X erreicht
  In diesem Moment die Stopuhr stoppen
Pin LOW  (=Gate des MOSFETS wird abgebunden)

Dann kannst Du über die Formeln 
(https://www.leifiphysik.de/elektrizitaetslehre/elektromagnetische-induktion/grundwissen/ein-und-ausschalten-von-rl-kreisen) 
die Induktivität Deiner Spule bestimmen.

Allerdings musst Du die Formeln dafür nach L auflösen.
Wenn Du dafür Hilfe benötigst (weil Du ja keine 
Potenz/Logarithmen-Rechnungen in der Schule hattest), so melde Dich 
nochmals.
Ist kein Hexenwerk, braucht aber halt etwas Einarbeitung in die 
Mathematik von Potenzen und Logarithmen - und ich will Dir ja auch nicht 
sämlichen Ehrgeiz nehmen :-)   (hoffe dabei natürlich, dass jetzt nicht 
wieder irgendein Schlaukopf hier im Forum daherkommt und Dir die 
Musterlösung hinpinselt).

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Bitte schreibe mir nochmals als Text, was für Teile das sind - das Bild
> ist dafür nicht gut genug belichtet:
>
> - welchen Widerstand hat der Shunt?   (75mV bei 100A = 0,75 Milliohm
> ??!!)
Jau!
> - welche Boards sind auf dem Bild zu sehen?  (genaue Bezeichnungen?)

MCP3421 I2C SOT23-6 delta-sigma ADC (das lila Board) 18-Bit-ADC.

AD620 Microvolt Millivolt uV mV Small Signal Instrumentation Amplifier 
Board
(Das mit den zwei Potis)
Shunt, wie du schon richtig gesehen hast 100A/75mV.

Der ist jetzt nicht auf dem Bild:
INA219 Bi-directional DC Current Power Supply Sensor Breakout Module
Damit messe ich dann den kleinen Magneten. Als Strombegrenzung bekommt 
der Magnet einen Vorwiderstand, der in etwa des doppelten Stromes 
entspricht.
Der kleinere Magnet ist damit komplett. Den INA219 hatte ich schon 
ausprobiert und das ist für den kleinen Magneten perfekt.

Andreas S. schrieb:
> "Randeffekte" entstehen können (z.B.
> durch nicht fest angezogene Verbinder oder durch Variationen des
> Widerstandes der Magnetspule, oder, oder, oder ...).

Solche "Randeffekte" siehst oder fühlst du sehr schnell in meinem 
Gewerbe.
Da ich das ja alle anziehen werde, die Stecker dafür ausgelegt sind 
(denn ich benutze extern natürlich den Kabelbaum, der an die ganzen 
Elemente der Bremse geht.

Andreas S. schrieb:
> Ich glaube daher, dass Dein 0,00075 Ohm Shunt für diesen Zweck nicht gut
> geeignet ist.

Wird in über 80% aller Ladegeräte eingesetzt. Die "erkennen" am Strom, 
ob du den Stecker ziehst. Auch Kurzschluss sollen sie erkennen. Habe ich 
aber nie ausprobiert.
Theoretisch sollst du ein Kabel durchtrennen können, in dem Moment würde 
zuerst ein Kurzschluss entstehen und die sollen rechtzeitig abschalten.
Wie gesagt, nie getestet und möchte ich auch nicht testen.

Danke für den Link!
Ist interessant. Aber ich möchte gar nicht so die Induktion so genau 
messen.
Man sieht bei uns beiden mittlerweile einen deutlichen Unterschied. Ich 
sehe es aus den Augen des Praktikers (im Übrigen mein Kollege auch, was 
den Sensor anbetrifft) und du eher wie ein Entwickler. Das bestätigt 
sich darin, dass der Sensor auch in der Diagnose sehr genau ausgewertet 
wird.
Habe ich schon bei ausgebautem Sensor ausprobiert. So wie bei uns, über 
den ganzen Weg verfolgbar, aber am Laptop, in der Diagnosesoftware.
Dabei reicht eigentlich die Anfang- und die Endstellung.
So auch bei den Magneten. Du willst eher genau bestimmen, ob da eine 
Abweichung besteht. Ich will nur wissen, ob der Magnet keinen 
Kurzschluss oder Windungsschluss hat. Und auch nur, damit ich den 
Funktionstest durchführen kann, ohne das ein zu hoher Strom fließen 
wird.
Und es geht eigentlich um den Funktionstest.
Andreas, ich sag das nicht gerne und viele hier halten mich für ziemlich 
blöd, aber ich bin auf diesem Sektor, also der Elektronik, von allen 
Technikern die ich so kenne, da bin ich die Spitze des Eisberges.
Du kannst denen nicht mit Henry kommen. Bei Millihenry denken die, das 
ist der Sohn vom Henry. Sicher etwas übertrieben, aber da muss eine 
grüne Lampe kommen wenn alles ok ist, wenn nicht, muss die rot leuchten 
und am besten steht genau eine Anleitung, was der Techniker jetzt zu tun 
hat.
Wenn das alles zuverlässig klappt, dann bist du bei den Jungs der Held 
im Erdbeerfeld.
Es ist auch wirklich schön und lieb von dir, dass du mich zum lernen von 
Grundlagen verleiten willst. Das mache ich auch noch, aber nicht bei 
diesem Projekt. Da geht es in erster Linie um Funktionalität.
Wenn die Jungs auf den Taster drücken und die Bremse, die vorher keinen 
Mucks von sich gab, macht auf einmal Klack, Klack, Klack, Klack, Klack. 
Und wenn sie danach noch den Magneten verriegelt und alles funktioniert, 
dann wirst du in sehr glückliche Gesichter schauen, denn dann wissen 
sie, dass die die Achse nicht auseinander bauen müssen.
Und nur darum geht es bei diesem Projekt. Es gibt auch andere mögliche 
Fehler vor der Bremse. Aber um zweifelsfrei ausschließen zu können, dass 
es nicht an der Bremse in der Achse liegt (oder im Umkehrschluss eben 
doch), muss eine Funktion her, die diese Bremse ansteuern kann.
Stell dir vor du bist dir sicher, dass es an der Bremse in der Achse 
liegt!
Jetzt baust du sie aus, die neue ein und dann funktioniert es immer noch 
nicht. Von den Kosten will ich erst gar nicht reden (der Kunde oder die 
Fullservice-Abteilung wird dich umbringen), aber stell dir deinen 
Gesichtsausdruck vor, wenn du nach drei Tagen harter Arbeit, dann kein 
Klacken der Bremse hörst.
Verstehst du das jetzt vielleicht etwas besser?
Wenn der Magnet 20 oder 20 mH hat, dann jage ich da Strom drauf. Macht 
der sein Klacken, ist die Achse erstmal außen vor (denn alles andere 
kann man von außen wechseln). Selbst wenn das Steuergerät hinterher doch 
meint, dass 20mH zu wenig sind oder 30mH zu viel sind. So ein 
Steuergerät ist vergleichsweise in nullkommanix gewechselt und wenn es 
nicht dran lag, entstehen keine Kosten, außer die für die Arbeit. Wenn 
du den Magneten aus der Achse ausgebaut hast, der nicht kaputt war, den 
ausgebauten wirst du nicht wieder einbauen.
Der Fall, der eine Fall, dass mein Fenster der Messung zu groß ist, 
wird, wenn überhaupt, nur einmal vorkommen. Diese Bremsen gehen nicht 
ständig kaputt. Sie funktionieren sogar sehr zuverlässig, wie das ganze 
Fahrzeug.
(Ich glaube wir hatten noch nie so gute Fahrzeuge, wie sie heute sind; 
schon fast geschäftsschädigend, so selten geht was kaputt).
Nur hatte ich einen Fall, und das war mein erster und einziger Fall, da 
hätte ich mit meinem Diagnosegerät sofort und sicher gewusst, was defekt 
ist. Es soll helfen die Unsicherheit zu nehmen.
Vor einiger Zeit habe ich einen Generator getauscht. Der kostet ca. 11K. 
Da musst du dir schon sicher sein. Transport, Ersatzteil, vier Tage 
Arbeit für zwei Mann. Da will man hinterher nicht sagen: "Tut mir leid, 
das war eine Fehldiagnose!".

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Anbei meine Schaltung zur Messung der Anstiegszeit.
>
> Ich müsste mich jetzt mehr mit LtSpice auseinander setzen, aber nicht zu
> diesem Zeitpunkt.
> Andreas, der Strom, der durch den Magneten fließt, der interessiert mich
> eigentlich kaum. Den messe ich einmal und damit weiß ich was ich zu
> erwarten habe.

Hmmm - dann verstehe ich jetzt langsam nicht mehr, was Du überhaupt 
machen/messe/untersuchen willst.

Ich hatte Dich bislang so verstanden (bitte korrigiere, wenn ich falsch 
liege):

- Du willst messen, ob die große Magnetspule in Ordnung ist

- Es sind folgende Fälle möglich:

1.) Leitungsbruch auf dem Weg zur Spule -> Kein Strom fließt -> easy

2.) Leitung zu hochohmig auf dem Weg zur Spule -> Ohmmessung -> easy

3.) Kurzschluss auf dem Weg zur Spule

4.) Spule hat einen totalen oder teilweisen Windungsschluss

Im Fall 3.) und 4.) wird sich jeweils die von außen gemessene 
Induktivität der Spule massiv verändern.  Und genau das möchtest Du über 
den Anstieg des Stromes während eines Spannungspulses auswerten.

Dazu hast Du die Anschlüsse, die zur Spule führen, frei verfügbar zur 
Messung vor Dir liegen - kannst also damit machen, was Du willst.

Habe ich das korrekt verstanden/wiedergegeben?


> Wenn ich jetzt deine Simulation nehme und die Werte des Magneten gleich
> Null setze, dann bleiben immer nur noch ~7A als Spitzenstrom. Auch wenn
> ich die Schottky-Diode raus nehme, ändert sich nichts am Wert. Woran
> liegt das?

Das liegt am Shunt R2 und  der begrenzten Einschaltzeit des MOSFETs ...
Schaltest Du den MOSFET länger ein, so steigt der Strom so lange an, bis 
er nur noch vom Shunt begrenzt wird - also bis 84A.

> Nachtrag:
> Habe jetzt doch noch im Tutorial geguckt und deine Schaltung komplett
> kastriert, sodass nur noch der Fet, der Magnet oder der Kurzschluss über
> blieb.
> Was für ein Unterschied so ein Fet ausmacht!
> Ich habe extrem kurze Schaltzeiten genommen (so wie bei dem von dir
> gewählten IPB065N15N3 ungefähr ist; etwas länger) und dann habe ich den
> Fet einmal gegen einen mit einem sehr niedrigen RDSon und einmal mit
> einem sehr hohen RDSon genommen. Irre was das bei den kurzen
> Schaltzeiten ausmacht.

Na ja, bei 0 Ohm Widerstand im gesamten Kreis gilt folgende Formel:
Und wenn Du das ein bisschen integrierst, um die Gleichung nach I 
aufzulösen erhälst Du:
Und das wiederum wird, wenn Du u(t) konstant auf dem Wert Uss hälst zu:
Und genau das wirst Du beobachten:
I wird linear mit der Zeit ansteigen - je kleiner L, desto krasser der 
Anstieg von I. Und bei einer Spule von 24mH und einer Spannung von 84V 
wird das
Der Strom nimmt also um 3500A pro Sekunde zu.
Entsprechend kurz darfst Du die Spule nur an Deine 84V legen, damit Dir 
das Teil nicht um die Ohren fliegt.

> So, mit LtSpice, kann man auch eine Menge lernen.

... ist aber auch gefährlich, weil trügerisch.

Hier eine kleine Analogie:

Du wirst niemals aus LTspice das "Newton'sche Gesetz (F = m * a)" 
lernen, sondern immer nur beobachten, dass der Apfel vom Baum auf die 
Erde (oder eben auf Deinen Kopf :-) fällt.

Warum das so ist, wird Dir LTspice nicht verraten. Du kannst also nicht 
voraussehen, was passiert, wenn Du das Experiment in 2000m Höhe auf 
einem Berg wiederholst und dass Du dann eine minimal höhere Chance hast, 
dem fallenden Apfel auszuweichen.

Zwar könntest Du auch das simulieren, wüsstest dann aber immer noch 
nicht um das tatsächliche Ursache-Wirkungsprinzip, was Dir nur Newtons 
Formel offenlegt.

Die oben von mir verwendeten einfachen Formeln rund um Induktivitäten 
wirst Du ebenfalls nicht aus LTspice lernen. Das wiederum halte ich 
persönlich für wichtig, um Schaltungen zu entwerfen. LTspice wird Dir 
keine Schaltung entwerfen - dafür braucht's eben genau das Wissen über 
Ursache-Wirkungsprinzipien - kurzum Formeln wie das Ohmsche Gesetz oder 
die Induktionsgesetze.

Mit LTspice kannst Du dann lediglich überprüfen, ob Deine Gedanken und 
die Anwendung der Ursache-Wirkungsprinzipien richtig waren.
So jedenfalls meine 10 Cent zu diesem Thema.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Frank O. schrieb:
> 20 oder 20 mH

Sollte natürlich 20 oder 30mH heißen.

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> 1.) Leitungsbruch auf dem Weg zur Spule -> Kein Strom fließt -> easy
>
> 2.) Leitung zu hochohmig auf dem Weg zur Spule -> Ohmmessung -> easy
>
> 3.) Kurzschluss auf dem Weg zur Spule
>
> 4.) Spule hat einen totalen oder teilweisen Windungsschluss
>
> Im Fall 3.) und 4.) wird sich jeweils die von außen gemessene
> Induktivität der Spule massiv verändern.  Und genau das möchtest Du über
> den Anstieg des Stromes während eines Spannungspulses auswerten.
>
> Dazu hast Du die Anschlüsse, die zur Spule führen, frei verfügbar zur
> Messung vor Dir liegen - kannst also damit machen, was Du willst.
>
> Habe ich das korrekt verstanden/wiedergegeben?

Klar will ich natürlich auch wissen, ob die Spule Durchgang hat.
Das ist die Bedingung für den Funktionstest.
Die Kabel werden natürlich nach außen geführt.
Aber ich will nicht so genau dabei sein.

Kein Durchgang oder Kurzschluss lässt sich ziemlich leicht ermitteln. 
Richtig?

Sollte die Magnetspule einen teilweise Windungsschluss haben (was 
eigentlich nur theoretisch möglich ist), dann würde der Strom ansteigen, 
aber der Magnet nicht oder nur schlecht anziehen.
In dem Fall würde ich das auch am Strom sehen und der Monteur hören.

Ist ein Teil der Magnetspule verbrannt (das kommt schon vor; bei 
ähnlichen Magneten ist das in all den Jahren schon passiert. Liegt aber 
nicht am Magneten, sondern ist ein Folgefehler), dann fließt ein 
geringer Strom. Der Magnet zieht nicht an oder sehr schwach. Auch das 
hört wiederum der Monteur. Und der Magnet lässt sich ebenfalls nicht 
verriegeln.
Gleichfalls habe ich einen geringeren Strom gemessen. Angenommen ich 
soll ca. 10A Strom dort messen, es sind aber maximal 3A. Dann ist auch 
klar, dass der Magnet defekt ist.
Das messe ich aber dann beim Funktionstest.
Zuvor will ich nur wissen, kann ich den Magneten gefahrlos einschalten. 
Also nur schauen, ob ein Kurzschluss vorliegt (oder eben kein Strom 
fließt).
Es ist quasi der Eingangstest für den Magneten.

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Na ja, bei 0 Ohm Widerstand im gesamten Kreis gilt folgende
> Formel:u(t)=L∗di(t)/dt
> u(t) = L * di(t)/dt
> Und wenn Du das ein bisschen integrierst, um die Gleichung nach I
> aufzulösen erhälst Du:i(t)=1/L∫u(t)dt
> i(t) = 1/L \int u(t) dt
> Und das wiederum wird, wenn Du u(t) konstant auf dem Wert Uss hälst
> zu:i(t)=1/L∗Uss∗t
> i(t) = 1/L * U_{ss} * t
> Und genau das wirst Du beobachten:
> I wird linear mit der Zeit ansteigen - je kleiner L, desto krasser der
> Anstieg von I. Und bei einer Spule von 24mH und einer Spannung von 84V
> wird dasi(t)/t=1/L∗Uss=10,024A/Vs∗84V=3500A/s

Herzlichen Dank für die Formel und die Berechnung! Das habe ich 
eigentlich die ganze Zeit gesucht.

Bei 50A kommt die Sicherung.
Hattes du eigentlich meine Mail gelesen?

Bei dem Rest gebe ich dir natürlich zu 100% Recht und ich hasse es, wenn 
ich was nicht weiß.
Im Grunde mag ich auch nicht, was ich da gerade mache. Nur will ich 
nicht bis zur Rente an dem Gerät sitzen. Wenn ich erstmal alles genau 
lernen muss.
Es gibt viele Menschen, die fahren Auto. Die können meistens nicht 
einmal die Flüssigkeiten, außer Kraftstoff, ergänzen. Sie wissen auch 
nicht was genau der Motor dort macht. Es reicht ihnen. Im Moment ist es 
bei mir ein bisschen so, wie bei diesen Autofahrern.
Einzig beim Strom, da schaue ich jetzt schon genauer hin. Deshalb habe 
ich ganz bewusst einen 100A Shunt gewählt.
Deine Bedenken wegen möglicher Verluste, die teile ich nicht. Wenn ich 
die tatsächlich haben sollte, dann kenne ich auch den Schuldigen. Der 
sitzt hier gerade und tippt den Text.
Wie du schon sagst, Starkstrom ist nicht dein Bereich. Meiner seit 36 
Jahren.

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Bei 50A kommt die Sicherung.
> Hattes du eigentlich meine Mail gelesen?

Nein, sorry, hatte ich bislang übersehen.
Werde ich heute im Verlauf des Tages machen - muss erst einmal ein 
bisschen arbeiten ...

von Frank O. (frank_o)


Lesenswert?

Gerade habe ich ein interessantes Skript gefunden.
https://ei.uni-paderborn.de/fileadmin-eim/elektrotechnik/fg/lea/Lehre/GDA/Dokumente/Geregelte_Drehstromantriebe_DE.pdf

"Pulssperre" oder "Impulssperre" ist das Zauberwort.
https://publikationen.dguv.de/widgets/pdf/download/article/3500

Das werde ich dann auch so umsetzen müssen.
Bezieht sich zwar mehr auf Frequenzumrichter, aber das habe ich auch 
schon überlegt.
Ich habe noch viele Stunden Arbeit vor mir.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

Könntest Du noch schreiben, welche Bauteile auf Deinem vorletzten Foto 
(Beitrag "Re: Induktiver Positionssensor - Fragen dazu") zu 
sehen waren (inkl. Kennwerte des Shunts)?

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Kein Durchgang oder Kurzschluss lässt sich ziemlich leicht ermitteln.
> Richtig?

Jetzt geht's gerade etwas durcheinander und ich bin mehr als verwirrt 
(trotz Studium Deiner Email):

Diese obige Frage hätte ich eher an Dich, als dass Du sie mir stellen 
solltest.

Ich hatte Dich so verstanden, dass Du schnell erfassen kannst, ob kein 
Durchgang ist (weil dann ja kein Strom fließt) oder ob Kurzschluss 
herrscht (weil dann sofort Dein Sicherungsautomat auslöst).

> Sollte die Magnetspule einen teilweise Windungsschluss haben (was
> eigentlich nur theoretisch möglich ist), dann würde der Strom ansteigen,
> aber der Magnet nicht oder nur schlecht anziehen.
> In dem Fall würde ich das auch am Strom sehen und der Monteur hören.

Okay, dann ist auch das geklärt.

> Ist ein Teil der Magnetspule verbrannt (das kommt schon vor; bei
> ähnlichen Magneten ist das in all den Jahren schon passiert. Liegt aber
> nicht am Magneten, sondern ist ein Folgefehler), dann fließt ein
> geringer Strom. Der Magnet zieht nicht an oder sehr schwach. Auch das
> hört wiederum der Monteur. Und der Magnet lässt sich ebenfalls nicht
> verriegeln.

Okay, dann ist auch das geklärt.

> Gleichfalls habe ich einen geringeren Strom gemessen. Angenommen ich
> soll ca. 10A Strom dort messen, es sind aber maximal 3A. Dann ist auch
> klar, dass der Magnet defekt ist.
> Das messe ich aber dann beim Funktionstest.

Okay, dann ist auch das geklärt.

> Zuvor will ich nur wissen, kann ich den Magneten gefahrlos einschalten.
> Also nur schauen, ob ein Kurzschluss vorliegt (oder eben kein Strom
> fließt).
> Es ist quasi der Eingangstest für den Magneten.

Jetzt siehst Du mich mehr als verwirrt.
Ich habe Dich oben so verstanden, dass Du diesen Kurzschluss ganz 
einfach mit einem Sicherungsautomaten ausprobierst.

Sorry - vielleicht bin ich gerade etwas begriffsstutzig, aber irgendwie 
verstehe ich nicht ganz, was hier das genaue Ziel ist.

Könntest Du das in wenigen, aber möglichst klaren Worten nochmals für 
ganz Dumme beschreiben?

Viele Grüße

Igel1

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

Andreas S. schrieb:
> Jetzt siehst Du mich mehr als verwirrt.

Vielleicht kann ich das auch nicht so aufbereiten, wie ich es im Kopf 
habe.

Nochmal anders.
Anfangs messe ich den Sensor und schaue, ob ein grundsätzlich plausibler 
Wert vorliegt.
Damit ist der Eingangstest vom Sensor abgehakt.

Dann lasse ich den kleinen Magneten anziehen (auch wenn jetzt keine 
Verrieglung statt finden kann) und das mit dem doppelten Strom. Nimmt 
dieser nur die den Strom auf, den er aufnehmen kann, dann ist der Magnet 
zumindest elektrisch in Ordnung.
Damit ist der Eingangstest vom kleinen Magneten abgehakt.

Jetzt kommt der große Magnet. Erst bekommt dieser eine kurze Zeit Strom, 
in der Zeit messe ich den Strom.
Ist kein Strom messbar - Unterbrechung, Kabel oder Magnet defekt.
Ist der Strom sehr hoch, höher als er im Mittel bei einem intakten 
Magneten sein darf, dann liegt ein Windungs- oder Kurzschluss vor.
Damit ist der Eingangstest vom großen Magneten abgehakt. Aber mit dem 
Unterschied, dass bei einem Kurzschluss oder Windungsschluss kein 
Funktionstest mehr stattfinden darf.
Ich hoffe, dass ich das jetzt genau genug erklärt habe.

Heute habe ich das Programm auf den Mega2560 portiert (siehe Bild).
1
Sketch uses 13404 bytes (5%) of program storage space. Maximum is 261632 bytes.
2
Global variables use 1627 bytes (19%) of dynamic memory, leaving 6565 bytes for local variables. Maximum is 8192 bytes.
Erst war mir das gar nicht recht, aber jetzt bin ich ein Freund dieser 
Idee geworden, denn nun kann ich den Rest oben als Shield drauf bauen.
Der Stromsensor ist auch die Tage angekommen.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ich habe Dich oben so verstanden, dass Du diesen Kurzschluss ganz
> einfach mit einem Sicherungsautomaten ausprobierst.
Der Sicherungsautomat ist nur für die Testphase.
Nur, falls was schief gehen sollte. Im Falle, dass das alles zuverlässig 
klappt, kommt eine Sicherung 50A-Streifensicherung in den Tester, statt 
des Sicherungsautomaten. Die Sicherung soll eigentlich nie auslösen 
müssen.

: Bearbeitet durch User
von Andreas S. (igel1)


Lesenswert?

So da'le - ich glaube ich setze mal ein bisschen aus.
Scheine eine kleine "Blockade" im Kopf zu haben vor lauter ToDo's, die 
sich vor mir auftürmen. Mein MC-Forum Escapismus bringt mich sonst noch 
an den Abgrund ...

Heute Nacht daher keine große Email von mir - statt dessen lieber etwas 
mehr Bubu machen, auch nicht schlecht.

Bin die nächste Zeit leider absehbar beruflich ziemlich busy, wird also 
vermutlich etwas stiller um mich werden. Werde versuchen, Deinen 
Fortschritt trotzdem etwas zu verfolgen - bin gespannt, wie Du weiter 
voranschreiten wirst.

Wenn Du Dringendes von mir benötigst, so melde Dich, ich versuche Dir 
dann zu helfen (wobei es ja auch viele andere nette Helfer hier gibt).

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> wobei es ja auch viele andere nette Helfer hier gibt

Hallo Andreas!

Ich muss jetzt auch ins Bett.
Die Helfer sind bestimmt schon raus.
Klar, Job geht immer vor.
Jetzt stehen sowieso viele Tests an. Ich muss die ganze Hardware testen 
und das einbauen, was ich später verwenden will. Dann werde ich ein 
Shield bauen. mit allem drauf, was ich brauche.
Wenn ich die Teilaufgaben der Programmierung gelöst habe, kommt wohl der 
schwerste Teil für mich, dann muss ich das alles irgendwie zu einem 
lauffähigen Programm zusammen fügen.
Also, gute Nacht!

von Frank O. (frank_o)


Lesenswert?

Da der Sensor nun mehr als fertig ist und deutlich über den 
Anforderungen liegt, möchte ich euch auch nicht weiter belästigen.
Den Rest dieses Projektes schaffe ich auch ohne weitere Unterstützung.

Da ich sowieso keine Einzelheiten sagen darf und kann, macht es auch 
keinen Sinn mehr, hier weiter zu posten und euch hier voll zu müllen.
Insgesamt ist diese Bremse viel komplexer, als ich hier angegeben habe.

Daher noch einmal meinen Dank an alle die hier geholfen haben und 
insbesondere an Peter Dannegger, für den Oszillator und Andreas S., vor 
allem dafür, dass du mich dazu gebracht hast, mich ein wenig mehr 
anzustrengen.

Aber auch die anderen hier, die mich auch mal ausgebremst haben. Das 
brauche ich sicher auch ab und zu.
Entschuldigt, dass ich mich anfangs so blöd angestellt habe. Auch wenn 
ich euer Ingenieur-Wissen nicht aufholen kann, so bin ich aber wieder 
einigermaßen im Thema.
Es hat mir sehr viel Spaß gemacht (macht es noch) und ich ziehe den Hut 
symbolisch, so tief ich kann, vor eurem Wissen.

Liebe Grüße
Frank

von Spess53 .. (hardygroeger)


Lesenswert?

Hi

Der Mohr hat seine Arbeit getan, der Mohr kann gehen

MfG Spess

von Andreas S. (igel1)


Lesenswert?

Spess53 .. schrieb:
> Hi
>
> Der Mohr hat seine Arbeit getan, der Mohr kann gehen
>
> MfG Spess

Du möchtest uns sicherlich noch erläutern, wen Du hier für den Mohren 
hältst und wen für denjenigen, der die Erlaubnis zum Abtreten erteilt?

von Frank O. (frank_o)


Lesenswert?

Spess53 .. schrieb:
> Der Mohr hat seine Arbeit getan, der Mohr kann gehen

Ich denke ich habe hier alle mit dem nötigen Respekt behandelt und 
bedankt habe ich mich sicher auch genug.

Ich habe mir noch einmal den gesamten Thread angesehen, außer Bedenken 
zu äußern, hast du hier nichts beigetragen.
Du hast bis jetzt immer noch einen bei mir gut gehabt, weil du mir 
damals deine Layouts für den AVR-Dragons gegeben hast.
Deshalb will ich mal nicht so sein ...

Beitrag #7654784 wurde vom Autor gelöscht.
von Andreas S. (igel1)



Lesenswert?

Hallo Frank,

Du wolltest ja gerne Deine Spule über die Strom-Anstiegsmethode 
vermessen.

Dein Ansatz war es, den Strom nach einer Zeit X zu messen und dann via 
Formeln auf L zurückzuschließen.

Mein Ansatz ist es, die Zeit tx zu messen, die benötigt wird, bis der 
Strom eine ganz bestimmte Stromstärke Ix erreicht hat und dann ebenfalls 
über Formeln auf L zurückzuschließen.

Der Vorteil meiner Methode ist, dass ich dafür keinen ADC benötige.
Wenn es mir zusätzlich gelingt, eine Schaltung zu bauen, die einen 
hübschen Puls ausgibt, welcher genau die Länge der Zeit tx repräsentiert 
- also der Zeit in der der Strom von 0 bis zum festgelegten Wert Ix 
ansteigt, so kann ich sogar das vorhandene Pulslängen-Messprogramm zur 
Auswertung benutzen und muss keine neue Software schreiben.

Und genau so eine Schaltung habe ich inzwischen entwickelt:
Sie gibt einen 5V-Puls aus der die Dauer tx des Stromanstiegs bis zu 
einem gewissen Level Ix in der Spule repräsentiert. Funktioniert in der 
Simulation erstaunlich gut - die Realitätscheck steht allerdings noch 
aus.

- rot:    PWM-Eingangssignal (vom Arduino) zum Öffnen/Schließen des 
MOSFETS
- grün:   Strom durch die Spule L1
- blau:   Spannungsanstieg am oberen Punkt von R2
- türkis: Ausgangssignal am Punkt "Out"

Die einzelnen Funktionsblöcke sind:

- linker gestrichelter Kasten:     Puls-Bestromung der Spule
- mittlerer gestrichelter Kasten:  Komparator
- rechter gestrichelter Kasten:    Ausgangsstufe/Level-Shifter

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Und genau so eine Schaltung habe ich inzwischen entwickelt:

Lässt dich ja doch nicht los.
Ich habe inzwischen auch ein bisschen was gemacht. Den ADC habe ich 
jetzt im Griff. Mit dem Sleep Modus, ADC Noise Reduction, ist der ADC 
absolut brauchbar. Aber trotzdem mag ich die fertigen Platinen lieber. 
Alles schön über I2C. Gerade habe ich den MCP3421 im Test. Sehr schön 
funktioniert das auch dabei mit dem Shunt. Runter bis 20mA und rauf ohne 
Zappeln. Probiert mit dem 100A/75mV Shunt. Aber ich habe noch einen 
anderen, der ist adressierbar über Software und hat vier Kanäle. Macht 
das alles kompakter.
Mein neuer Ansatz war, den Spannungsabfall am Magneten zu messen, wenn 
ich eine kleine Spannung und einen geringen Strom auf den Magneten gebe. 
Leider ist das beim 12V Magneten nicht mehr so einfach zu messen. Den 
habe ich mittlerweile auch und damit ist klar, ich muss mir erstmal alle 
Werkstatthandbücher durchlesen. Es las sich so, als könnte man auf die 
anderen Systeme Rückschlüsse ableiten. Aber da funktioniert doch einiges 
anders. Da der Tester aber für alle Systeme sein soll, ist noch etwas 
Arbeit nötig.
Dennoch bin ich auf einem guten Wege.
Zwischendurch lenke ich mich jetzt mit dem ESP32 ab (um mal auf andere 
Gedanken zu kommen) und mit Phyton. Das ist für die weitere Zukunft 
interessant.
Das war jetzt aber wirklich das Schlusswort.
Liebe Grüße
Frank

von Andreas S. (igel1)


Lesenswert?

Frank O. schrieb:
> Andreas S. schrieb:
>> Und genau so eine Schaltung habe ich inzwischen entwickelt:
>
> Lässt dich ja doch nicht los.

Yep - macht einfach Spaß. Und wenn ich etwas Zeit habe oder etwas gute 
Laune benötige, so bastle ich halt ein wenig.

> Das war jetzt aber wirklich das Schlusswort.
> Liebe Grüße
> Frank

Och - das wäre aber zu schade.
Lass doch einfach weiterlaufen. Wer immer Zeit und Lust hat, kann ja 
seine neuesten Erkenntnisse/Bastelleien hier um Besten geben.

Ich bin schon noch interessiert, wie es bei Dir weitergeht.

Habe halt nur nicht mehr so viel Zeit wie vorher - aber "auf kleinerer 
Flamme" würde ich schon gerne noch ein wenig weiterbrutzeln.

Viele Grüße

Igel1

von Frank O. (frank_o)


Lesenswert?

Andreas S. schrieb:
> Ich bin schon noch interessiert, wie es bei Dir weitergeht.

Wenn es fertig ist, gibt es Bilder von dem Gerät im Einsatz.
Auch wenn es scheint, dass ich hier ziemlich klar beschrieben habe, wie 
diese Bremse funktioniert, war es doch sehr rudimentär.
Ich kann, darf und möchte auch nicht genau hier darauf eingehen.
Das wird jeder verstehen, der seinen Arbeitsplatz behalten will.
Hinterher kommt noch jemand auf die Idee so ein Gerät zu bauen und will 
das womöglich an meinen Arbeitgeber verkaufen.
Da würde sich natürlich jeder Arbeitgeber gleich die Frage stellen, 
woher jemand so viele und richtige Informationen hat.
Außerdem, wenn tatsächlich Interesse bestehen würde (ich kann jetzt 
schon versichern, dass das eher zu Unmut führen wird und sich diverse 
Leute auf den Schlips getreten fühlen werden), möchte ich das Geschäft 
alleine machen.

von Andreas S. (igel1)



Lesenswert?

Ich habe die Schaltung zur Stromanstiegs-Messung inzwischen aufgebaut 
und die Bauteile in der Simulation den real vorhandenen Bauteilen meiner 
Bastelkiste angepasst.

Dabei war ich Dir, Frank, echt dankbar für die Transistorspende - ohne 
die hätte ich neue Transistoren bestellen und wieder ewig warten müssen.

Hier also die Beschreibung der Bilder aus dem Anhang:

Bild1 (1Y45_STrommessung.igel1.v005b.png):

  Simulation der aktuellen Schaltung:

         - gelb/braun:    Spannung an R2 (repräsentiert Strom durch L1
                             in der Anstiegsphase, danach nicht mehr)

         - rot       :    Spannung am Ausgang "Out"

         - blau      :    PWM zur Gatesteuerung des MOSFETS
                          (100Hz, Duty-Cycle: 4% entsprechend 400us 
Puls)

Bild 2 (Gesamtaufbau.jpeg):

  Gesamtaufbau - mein Drahtverhau mit der 12V Speisung, dem 
Signalgenerator
  und dem Oszi. Aktuell kümmere ich mich erst einmal darum, dass der 
reine
  Analogteil der Schaltung funktioniert - also derjenige Teil, der den
  Stromanstieg in der Spule in einen Ausgangspuls variabler Länge (je 
nach
  Induktivität der Spule) umsetzt.

Das Steckbrett zur Auswertung mit dem ATmega und dem Display, auf dem 
später ein Balken die Pulslänge repräsentieren soll, liegt bereits 
rechts außerhalb des Bildes bereit. Wenn ich es angeschlossen habe, so 
werde ich hier nochmals einen Post dazu schreiben.

Bild 3 (Nahaufnahme.jpg):

Nahaufnahme vom Drahtverhau.

Bild 4 (Oszi_Stoessel_draussen.100us_Aufloesung.jpg):

Signale bei ausgefahrenem Stößel und 100us/cm Oszi-Auflösung
(mit L1: 1,2mH). Die untere Bildhälfte ist wegen Flimmern meiner
CRT-Röhre etwas unterbelichtet.

Bild 5 (Oszi_Stoessel_draussen.10us_Aufloesung.jpg):

Signale bei ausgefahrenem Stößel und 10us/cm Oszi-Auflösung
(mit L1: 1,2mH).  Die untere Bildhälfte ist etwas unterbelichtet.

Bild 6 (Schaltung_Stoessel_drin.jpg)

Schaltungsaufbau mit eingefahrenem Stößel.

Bild 7 (Oszi_Stoessel_drin.10us_Aufloesung.jpg)

Signale bei eingefahrenem Stößel und 10us/cm Oszi-Auflösung.
(L1: 4,2mH)

Folgende 2 Dinge kann man wunderbar auf den Oszi-Bildern beobachten:

1.) Man sieht gut, wie sich die Pulslänge des Ausgangssignals
    mit der Position des Stößels verändert:

      Stößel draußen (Spule 1,2mH) -> ca. 25us Pulsdauer
      Stößel drinnen (Spule 4,2mH) -> ca. 77us Pulsdauer

2.) Man sieht gut, dass der Ausgangspuls stets dann endet, wenn
    der Strom durch L1 (bzw. die Spannung an R2) ein gewisses
    Level erreicht hat (markiert durch die gestrichelte 7,1V-Linie)
    auf dem Oszilloskop).

Die Spule selbst hat ca. Rl1 = 3 Ohm Innenwiderstand.
Wenn man dann alle Werte (Rl1=3Ohm, R2=47Ohm, Vcc=12V, Vtrigger=7,1V) in 
die entsprechend angepassten Formeln (z.B. von  hier: 
https://www.elektroniktutor.de/analogtechnik/l_gleich.html) hineinwirft, 
so stellt man fest, dass die 7,1V Triggerspannung lustigerweise ziemlich 
genau der 63%-Wert ist, bei dem gilt:


L1 = tx * Rges

mit tx = Ausgangspulslänge und
mit Rges = 3 Ohm + 47 Ohm = 50 Ohm.

Unter Nutzung dieser Super-Simpel-Formel hier also die Berechnung der 
Induktivität aus den gemessenen Pulslängen:

a)  Stößel draußen:

    L1 = 25us * 50 Ohm = 1,3mH     (mein Transistortester maß: 1,2mH)

b)  Stößel drin:

    L1 = 77us * 50 Ohm = 3,9mH     (mein Transistortester maß: 4,2mH)

Keine Frage, dass ein ATmega diese Berechnung im Handumdrehen erledigen 
kann - da braucht es noch nicht einmal Fließkommaarithmetik.

Kurzum: ich bin recht zufrieden mit dem Experiment, die Induktivität 
über die Zeitlänge zu bestimmen. Trotz windigem Netzverhau und der 
Vernachlässigung einige Störeffekte (z.B. dürfte der Rds des 2N7000'er 
MOSFETS bei Strömen um die 150mA nicht mehr völlig vernachlässigbar 
sein), passen die Ergebnisse halbwegs zur Theorie.

Mit dieser Schaltung wäre man also prinzipiell ebenfalls in der Lage, 
die Induktivität einer Spule grob zu vermessen.

Viele Grüße

Igel1

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.