Forum: Mikrocontroller und Digitale Elektronik Drehzahlmesser Digital Simson s51 an Zündanlage (Vape)


von Peter K. (pker)


Angehängte Dateien:

Lesenswert?

Hallo Leute!
Bräuchte mal wieder eure Hilfe.
Ich Möchte mir ein DZM für meine Simson bauen.
Drehzahlbereich 500-10000 U/min.
Ich habe mir überlegt das ich das Signal von der Zündung (am Zündkabel) 
abnehmen möchte.
Das müsste ja mit Induktion möglich sein.
Nur weis ich nicht wie ich das realisieren soll.
Bin in diesem Gebiet Blutiger Anfänger.
ein Mega 8 soll die Signale messen und an einen LED Bargraph ausgeben.
das Programm sollte kein Problem sein.
mir fehlt nur der Ansatz wie ich das Signal Kontaktlos am Zündkabel 
messen soll. Das heißt mir fehlt auch die Schaltung. Währe cool wenn mir 
da jemand helfen könnte.

Ach ja ich habe eine VAPE und somit eine 12V Zündung.
Wenn jemand die Vape kennt und evtl. eine andere Idee hat bin ich dafür 
gerne offen.

Das weiße kabel was vom Zündgeber zur Zündspule geht da könnte mann doch 
auch abzwacken oder sollte man das lieber lassen der Zündanlage zuliebe.

von c-hater (Gast)


Lesenswert?

Peter K. schrieb:

> Ich habe mir überlegt das ich das Signal von der Zündung (am Zündkabel)
> abnehmen möchte.

Das kann man machen.

> Das müsste ja mit Induktion möglich sein.

Besser ist kapazitiv. Einfach 'ne Blechlasche um's Zündkabel, da ein 
Draht dran und über einen Widerstand und eine Z-Diode passender Spannung 
(etwas kleiner als die Betriebsspannung deines Controllers) nach Masse. 
Der Zählanschluß des Controllers an den Punkt, wo sich Z-Diode und 
Widerstand berühren.

Allerdings sind die so erzeugten Pulse ziemlich schmal. Auswertung also 
besser mit Interrupt statt mit Polling.

von H.Joachim S. (crazyhorse)


Lesenswert?

Meist einfacher auf der Primärseite der Zündspule bzw am Geber.
Welche Zündung? Kontakt, Transistor oder HKZ?

von Peter K. (pker)


Angehängte Dateien:

Lesenswert?

c-hater schrieb:
> Besser ist kapazitiv. Einfach 'ne Blechlasche um's Zündkabel, da ein
> Draht dran und über einen Widerstand und eine Z-Diode passender Spannung
> (etwas kleiner als die Betriebsspannung deines Controllers) nach Masse.
> Der Zählanschluß des Controllers an den Punkt, wo sich Z-Diode und
> Widerstand berühren.

Meinst du in etwa so wie in der schaltung?
muss ich außerdem noch etwas beachten damit ich den controller nicht 
schrotte?

H.Joachim Seifert schrieb:
> Welche Zündung? Kontakt, Transistor oder HKZ?

Das kann ich dir nicht sagen.
aber es ist keine mit Unterbrecher bzw. Kontakt.
wenn ich den Geber gegen Masse messe habe ich einen Wiederstand von 70 
Ohm.
also könnte es Transistor sein oder?
Siehe Bild vom Stator!

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Peter K. schrieb:

> Meinst du in etwa so wie in der schaltung?

Genau so.

> muss ich außerdem noch etwas beachten damit ich den controller nicht
> schrotte?

Genau dafür sind die zwei Bauelemente da. Mehr brauchst du nicht. Der 
Widerstand darf nur nicht zu klein sein. Ich würde mit irgendwas bei 
470k anfangen. Wenn der µC bei geringer Drehzahl zu viele Impulse sieht, 
dann Widerstand erhöhen. Wenn er hingegen garnichts sieht oder bei hoher 
Drehzahl nicht mehr alle Impulse mitbekommt, dann Widerstand verringern.

Für ersteres gibt es keine kritische Grenze, für letzteres setzt der 
maximale Impulsstrom durch die Z-Diode die Grenze. Siehe deren 
Datenblatt.

von Peter K. (pker)


Angehängte Dateien:

Lesenswert?

Also hier mein Bascom Code und die Schaltung

Kann man das so machen ja?
1
$regfile = "m16def.dat"
2
$crystal = 8000000
3
4
Config Adc = Single , Prescaler = Auto , Reference = Avcc
5
Start Adc
6
7
Config Timer1 = Timer , Prescale = 256
8
Enable Timer1
9
On Timer1 Isr_von_timer1
10
Timer1 = 34285
11
12
On Int0 Isr_von_int0
13
Config Int0 = Rising                                        'Reagiert auf steigung (von low auf high)
14
Enable Int0
15
16
Enable Interrupts
17
18
19
Dim A As Word
20
Dim B As Integer
21
22
Config Portc = Output
23
Config Portd.5 = Output
24
Config Portd.6 = Output
25
Config Portd.7 = Output
26
27
Portd.5 = 1
28
29
Do
30
31
If A > 10000 Then
32
   Portc = &B11111111
33
   Portd.6 = 1
34
   Portd.7 = 1
35
Elseif A > 9000 Then
36
   Portc = &B11111111
37
   Portd.6 = 1
38
   Portd.7 = 0
39
Elseif A > 8000 Then
40
   Ddrc = &B11111111
41
   Portd.6 = 0
42
   Portd.7 = 0
43
Elseif A > 7000 Then
44
   Portc = &B01111111
45
   Portd.6 = 0
46
   Portd.7 = 0
47
Elseif A > 6000 Then
48
   Portc = &B00111111
49
   Portd.6 = 0
50
   Portd.7 = 0
51
Elseif A > 5000 Then
52
   Portc = &B00011111
53
   Portd.6 = 0
54
   Portd.7 = 0
55
Elseif A > 4000 Then
56
   Portc = &B00001111
57
   Portd.6 = 0
58
   Portd.7 = 0
59
Elseif A > 3000 Then
60
   Portc = &B00000111
61
   Portd.6 = 0
62
   Portd.7 = 0
63
Elseif A > 2000 Then
64
   Portc = &B00000011
65
   Portd.6 = 0
66
   Portd.7 = 0
67
Elseif A > 1000 Then
68
   Portc = &B00000001
69
   Portd.6 = 0
70
   Portd.7 = 0
71
Elseif A < 1000 Then
72
   Portc = &B00000000
73
   Portd.6 = 0
74
   Portd.7 = 0
75
End If
76
77
Loop
78
End
79
80
81
Isr_von_timer1:
82
Timer1 = 34285                                              '
83
A = B * 60
84
B = 0
85
Toggle Portd.5
86
Return
87
88
89
Isr_von_int0:
90
B = B + 1
91
Return

von Thomas (Gast)


Lesenswert?

H.Joachim Seifert schrieb:
> Welche Zündung? Kontakt, Transistor oder HKZ?

Das müsste eine Kondensatorzündung sein. Imho ist das bei Zweitaktern 
auch das Sinnvollste, weil die Anstiegszeit der Zündspannung kleiner ist 
als bei anderen Systemen.

Zur Signalerzeugung werfe ich mal folgende Idee in den Raum: Einen 
kleinen Hallsensor zusätzlich an der Gundplatte anbringen. Spart dir 
zumindest Probleme durch Hochspannung und die Signale müssten auch 
einwandfrei und ohne zusätzlichen Filteraufwand zu verarbeiten sein.

Der Code, na ja, da müsste doch was mit shiften gehen..

von Peter K. (pker)


Angehängte Dateien:

Lesenswert?

Thomas schrieb:
> Zur Signalerzeugung werfe ich mal folgende Idee in den Raum: Einen
> kleinen Hallsensor zusätzlich an der Gundplatte anbringen. Spart dir
> zumindest Probleme durch Hochspannung und die Signale müssten auch
> einwandfrei und ohne zusätzlichen Filteraufwand zu verarbeiten sein.

Ein Hallsensor ist ein Magnetfeld Sensor oder?
Ich weis es zwar nicht 100% aber der Rotor hat doch rund herum Magneten.
Wie soll der Sensor das erfassen?
Aber irgend wie muss der Impulsgeber das ja auch checken wa?

habe mal das mit der kapazitiv Methode gemacht.
siehe bild und video bei youtube.
http://www.youtube.com/watch?v=wEElCyaDLl0&feature=youtu.be

von Dödel (Gast)


Lesenswert?

Peter K. schrieb:
> habe mal das mit der kapazitiv Methode gemacht.
> siehe bild und video bei youtube.

Ausser ein Bisschen Blinken kann ich da beim besten Willen nicht 
erkennen.
Die Anzeige hat mit der (akustisch gehörten) Drehzahl keinen 
Zusammenhang...

von Peter K. (pker)


Lesenswert?

Dödel schrieb:
> Die Anzeige hat mit der (akustisch gehörten) Drehzahl keinen
> Zusammenhang...

????

Nein ist noch ein bisschen träge! aber das ist schon behoben.
Das akustische kann nicht überein stimmen der Motor dreht nur langsam 
ab. Wenn ich Gas weg nehme dauert es nun mal 2-4 sekunden bis er wieder 
unten ist obwohl man es nicht hört.
das einzige was wirklich stört sind die Aussetzer die im video zu sehen 
sind.
Aber ich bin ja noch am testen mit den Widerständen.
Ich nehme die Messung jetzt aller 1/8 sekunde vor.
und somit ist die anzeige acht mal schneller (nicht mehr so träge).

die grünen leds kommen auch weg.
die zeigen mir ja nur das der controller arbeitet.

: Bearbeitet durch User
von Peter K. (pker)


Lesenswert?

Peter K. schrieb:
> Ich nehme die Messung jetzt aller 1/8 sekunde vor.
> und somit ist die anzeige acht mal schneller (nicht mehr so träge).

Nein doch lieber 1/4 Sekunde. da ich sonst bei 1000 Umdrehungen nur 2 
Interupts pro 1/8 Sekunde habe.

wenn nicht sogar 1/2 Sekunde. Das sind bei 1000 Umdrehungen ca. 8 
Interupts.

von c-hater (Gast)


Lesenswert?

Peter K. schrieb:

> Also hier mein Bascom Code und die Schaltung

Ohoh, die Schaltung ist falsch, das ist der maximale Härtetest für die 
Z-Diode. Der Widerstand gehört zwischen die Z-Diode und die Blechlasche. 
In deiner ursprünglichen Schaltung war der Widerstand noch an der 
richtigen Stelle.

von pepper (Gast)


Lesenswert?

Hallo,
wofür ist die Z-Diode denn genau gut? Würde man nicht bessere Signale 
bekommen, wenn man direkt an die Primärseite der Zündspule geht?

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.