Ignition system 1/2 zylinder advance programmabele nano v3

Hallo ich bin der Neue und habe keine Ahnung. Meine Hauptaufgabe ist eigentlich die Mechanik. Verbrennungsmotoren umbauen, z.b. Ural 650 älteren Baujahrs. Hoffentlich möchte mir jemand helfen??? Ich habe einen Sketch für einen Nano v3. für einen 1 Zylinder Motor. Es funktioniert auch bei mir, aber: ich brauche einen zweiten Ausgang mit einem Versatz von 180°( Boxermotor). als Sensor habe ich entweder einen optischen oder einen Hall-effect Latch Sensor. die könnten schon die 180° eingeben. Oder 2 Eingänge. Ich wollte es nicht mit 2 getrennten Nano´s machen, wegen der Synchronität.

#define pulser_angle 90
#define E_0 0
#define E_250 0
#define E_500 0
#define E_750 5
#define E_1000 5
#define E_1250 5
#define E_1500 10
#define E_1750 15
#define E_2000 20
#define E_2250 23
#define E_2500 27
#define E_2750 29
#define E_3000 30
#define E_3250 32
#define E_3500 33
#define E_3750 34
#define E_4000 35
#define E_4250 35
#define E_4500 35

int main()
{
uint8_t map1 [19] = { E_0, E_250, E_500, E_750, E_1000, E_1250, E_1500, E_1750, E_2000, E_2250, E_2500, E_2750, E_3000, E_3250, E_3500, E_3750, E_4000, E_4250, E_4500 };
uint8_t led = 0;
uint32_t pulse_delay,curve_select;
PORTB = 0x00;
DDRB = 0x22;
TCCR1B = 0x03;

while (true)
{
while ((PINB&0x01)==0x00);
while ((PINB&0x01)==0x01);
pulse_delay = TCNT1;
TCNT1 = 0;
curve_select = 30000/pulse_delay;
pulse_delay *= pulser_angle - map1[curve_select];
pulse_delay /= 360;
led++;
if(led==1)
{
PORTB = 0x20;
led = 0;
}
if(curve_select<10)
{
while(TCNT1<pulse_delay);
PORTB = 0x02;
while(TCNT1<pulse_delay+25);
PORTB = 0x00;
}
}
}

Glaube ich nicht!

  1. Es sind 360°
  2. Das "Wasted Spark" Prinzip sollte doch bei dem Motor problemlos Anwendung finden können.

-------------------

Disclaimer:

  • Dieses ist ein typisches Combieposting.
  • Es kann Irritationen, Ungenauigkeiten und Irrtümer enthalten.
  • Es wird dringendst dazu aufgefordert, die gegebenen Information vor der Verwendung pingelig zu überprüfen.
  • Es enthält keinerlei Zwang, den Vorschlägen/Gedanken zu folgen. Wenn es nicht schmeckt, einfach im Regal liegenlassen.
  • Es gibt keine Gewähr für die Funktion der evtl. gegebenen Tipps und/oder den Erhalt der geistigen Gesundheit.

Vielen Dank für die schnelle Antwort. Ich weiß, aber das kann ich absolut nicht leiden. Ein Zylinder bekommt nur im Arbeitstakt einen Zündfunken (single Fire). Die Sensoren sind an der Nockenwelle und es gibt nur einen Kickstarter. Daher der Aufwand.

Im Prinzip ist es möglich, bei bekannter Drehzahl jeden Winkel-Versatz zu programmieren. Die Dauer einer Umdrehung kennt man ja nach jeder Umdrehung.

Wo greifst Du das Signal ab? Am Unterbrecher oder Zündverteiler kommt ja eine andere Frequenz heraus als an der Kurbelwelle.

Direkt auf der Nockenwelle. Original ist 1 Unterbrecher und Nockenwelle mit 2 Nocken. Früh-Spätzündung mit Hebel am Lenker. Kurbelwelle ist nicht zugänglich. Kurbelwelle 2 Umdrehung - Nockenwelle 1 Umdrehung pro Arbeitstakt. Motorprinzip BMW r71 .

Das heißt 1 Impuls für 4 Takte? Dann wäre der Versatz bei 2 Zylindern 180° bzw. halbe Zykluszeit.

ja, ich habe den Motor als Profilbild eingestellt.


Das ist die Situation an der Nockenwelle. Die Unterbrecher werden die Sensoren. Mit 2 Zündspulen aber nur 2 Zündkerzen. Der Zündfunke wird über einen Zündschalter 2 Kanal Bosch 0227100200 Für den optimalen Funke zur Doppelzündspule übertragen.