Hallo
Ich habe ein Problem: Ich habe eine Schaltung mit Mikrocontroller gebaut
die in einem Kart als Zündunterbrecher dienen soll. Dabei wird ganz
einfach die Primärspannung der Zündspule (ca. 300V) über ein Relais
kurzgeschlossen und somit die Zündung für eine definierte Zeit zwischen
20 und 80 msec unterbrochen sodass man ohne Kupplung schalten kann. Das
Relais wird durch den Mikrocontroller über die Dauer der
vorprogrammierten Zeit angesteuert.
Bis ca. 10000 U/min funktioniert das ganze auch hervorragend, darüber
macht sich der Controller aber selbständig. Will im Konkreten Fall
heißen: Das Relais wird mehrfach angesteuert ohne dass der Befehl
gegeben wird. Und zwar führt der Controller die Routine exakt aus,
unterbricht also immer wieder für eine exakte Zeitspanne. Das Resultat
ist ein stottern des Motors, es ist umso schlimmer je länger man die
Unterbrecherzeit einstellt.
Nun meine Frage: Wer kann sich eine Ursache dafür erklären? Vielleicht
noch ein paar Randinformationen:
- Platine sitzt in einem Aluminiumgehäuse was nicht mit der Masse der
Zündanlage verbunden ist
- Primärspannnung von 300 V wird in das Gehäuse auf die Platine geführt
(Signalform: steigt exponentiell innerhalb von ca. 6ms auf ca.300V und
fällt dann schlagartig wieder auf 0V (Zündung), Frequenz des Signal
entspricht Motordrehzahl, bei 10000min-1 also ca. 166Hz)
Wenn ich logisch denke muss es ja so sein, dass am
Mikrocontrollereingang eine Spannung abfällt und er dadurch das Signal
bekommt. Ich arbeite mit internem Pullup (ATTiny13) und frage die
abfallende Signalflanke ab, der Eingang muss also auf GND gelegt werden
damit der Befehl ausgeführt wird. Jetzt hätte ich zwei Ideen: Entweder
der Eingang wird wirklich auf GND gezogen (wie? woher?) oder die
Spannungsversorgung am uC steigt auf min 8V an (3V Differenz= High
Signal). Da der Eingang noch entprellt wird (25ms) ist das für mich
allerdings höchst seltsam.... wer kann es sich erklären?
Zu den Lösungen: Was für möglichkeiten habe ich um meine Schaltung immun
gegen Störungen von Außen zu machen? Ich kenne mich mit
Entstörungstechnik nicht sonderlich aus...
Eine Idee die ich habe ist einen externen, kleinen Pullup (1K) zu
schalten, sodass die Störquelle schon einen relativ geringen
Innenwiderstand haben muss um den Spannungsfall am Controller zu
bewirken. Rechnerisch liegt der aber schon unter 6K da es ja gelingt den
10K Pullup auf Logisch 0 (<3V) zu ziehen.
Eine andere Idee ist eine Kapazität parallel zwischen Eingang und +5V zu
schalten, sodass der Kondensator erst entladen werden muss bis ein
Low-Signal erkannt wird, was eine gewisse Energie des Signals
voraussetzt. Ist dieser Ansatz richtig? Wie groß muss der Kondensator
dann sein? Ich wollte es mal mit 4,7uF probieren... komme halt erst am
Montag zum Testen, daher hoffe ich kann mir jemand von euch ein paar
nützliche Infos geben, das würde mich sehr freuen.
Viele Grüße
Paul
@ Paul
>einfach die Primärspannung der Zündspule (ca. 300V) über ein Relais>kurzgeschlossen und somit die Zündung für eine definierte Zeit zwischen>20 und 80 msec unterbrochen sodass man ohne Kupplung schalten kann. Das
Klingt alles nicht so gut. Du erfindest die elektronische Zündung neu,
allerdings wesentlich schlechter. Warum UNTERBRICHST du nicht einfach
den Primärkreis der Zündspule, anstatt sie kurzzuschliessen. Da Relais
wird es dir danken.
Mikrocontroller in diesem EMV Umfeld ist nicht trivial. Warum muss es
für so ne einfache Sache überhaupt ein uC sein?
>- Primärspannnung von 300 V wird in das Gehäuse auf die Platine geführt>(Signalform: steigt exponentiell innerhalb von ca. 6ms auf ca.300V und>fällt dann schlagartig wieder auf 0V (Zündung), Frequenz des Signal>entspricht Motordrehzahl, bei 10000min-1 also ca. 166Hz)
Und was geschiet mit dem Signal? Legst du das einfach per
Spannungsteiler an den uC? Du bist mutig!
>Wenn ich logisch denke muss es ja so sein, dass am>Mikrocontrollereingang eine Spannung abfällt und er dadurch das Signal>bekommt. Ich arbeite mit internem Pullup (ATTiny13) und frage die>abfallende Signalflanke ab, der Eingang muss also auf GND gelegt werden>damit der Befehl ausgeführt wird. Jetzt hätte ich zwei Ideen: Entweder>der Eingang wird wirklich auf GND gezogen (wie? woher?) oder die>Spannungsversorgung am uC steigt auf min 8V an (3V Differenz= High>Signal). Da der Eingang noch entprellt wird (25ms) ist das für mich>allerdings höchst seltsam.... wer kann es sich erklären?
Wohl keiner, schon gar nicht ohne Schaltplan. Klingt so, als ob die
Schaltung nicht von dir ist.
MfG
Falk
Hallo Falk, Hallo Dietmar
Diese Zündanlagen (Hersteller PVL) sind extra mit einem sog.
Kurzschlusskabel ausgestattet das dazu dient die Zündung zu deaktivieren
wenn man dieses Signal auf Masse legt. Ich habe da mit dem Oszi das eben
beschriebene Signal gemessen (siehe Dateianhang, 20V/DIV, 1ms/DIV,
Leerlaufdrehzahl ca. 2000min-1 (Spannung steigt mit der Drehzahl noch
an))
Warum es ein uC sein muss? Nunja, die Unterbrecherzeit muss im bereich
von 20-60 ms relativ genau eingestellt werden damit das ganze optimal
funktioniert - da sehe ich einen uC als Einzige möglichkeit das ganze
noch kompakt aufbauen zu können.
Das Signal wird ja nicht an den uC gelegt. Wie gesagt, es geht nur auf
den Schließerkontakt eines Relais um im richigen Augenblick
kurzgeschlossen zu werden.
Der Schaltplan sieht wie folgt aus (leidlich simpel, und doch: er ist
von mir persönlich):
Versorgung: +9V Blockbatterie -> 1N4148 Verpolungsschutzdiode -> 78L05
mit 100nF auf Ein-und Ausgangsseite
uC: Vcc/GND ist klar, entstört mit 100nF, PB0 und PB1 Eingänge mit
internem Pullup und Abfrage auf fallende Flanke, liegen an je einem
Schließerkontakt (der eine startet das SUB zum einstellen der
Unterbrecherzeit, der andere löst den Unterbrechervorgang aus), PB2 und
PB3 Ausgang, PB2 geht auf BC549B mit 4K7 Vorwiderstand, welcher wiederum
das Relais schaltet, PB3 lässt eine LED zur Visualisierung aufleuchten.
Das wars schon... Funktioniert auch alles prima so wie ich das will...
nur wie gesagt, ab 10000 min-1 spielt es verrückt...
Grüße Paul
Hallo Paul,
1. die 9V-Blockbatterie hat für einen 78L05
eine grenzwertige Spannung.
2. Nimm einen "low-drop" Regler
3. Auch ist der Strom aus einer 9V - Batterie begrenzt.
4. Du solltest besser auf einen 12V-Akku ausweichen.
5. Wie sieht es denn mit Supressordiode, Elko und
einer Freilaufdiode am Relais aus?
Gruß Otto
Hallo Otto
Das mit dem low-drop-Regler werd ich mir mal zu Herzen nehmen. 12V Akku
geht leider nicht weil die Box sehr kompakt ist (und auch sein muss) da
ist ein 9V Block ideal. Das mit dem begrenzten Strom sehe ich als
unkritisch, das Relais ist Subminiatur und zieht nur wenige mA.
Freilaufdiode hab ich drin, vergessen zu erwähnen, Elko und
Suppressordiode allerdings nicht. Auch das werd ich mir zu Herzen
nehmen. Aber meinst du das sind die Gründe für das Verrücktspielen?
Das denk ich doch auch. Was für ein Relais hast du denn verbaut? Ein
normales? Kommt das denn überhaupt noch hinterher bei 10000 Umdrehungen?
Wär ein SSR oder ein Transistor/FET/sonstiges nicht besser geeignet?
gruß
Hallo paul,
eine Gefahr ist, daß die Spannung zusammenbricht, die andere
wie auch akw schreibt, daß ein Relais eine Grenzfrequenz hat
und davon abgesehen auch eine Anzug- und Abfallverzögerung.
Ein Relais ist sicher nicht das optimale Bauteil für diese
Frequenzen und weiterhin verschleißbehaftet.
Eine sichere Spannungsversorgung und ein geeignetes
Schaltelement werden Dein Problem sicher beseitigen.
Viele Grüße
Otto
Ui... ich glaube hier wird gerade etwas missverstanden: Es ist nicht das
Relais was mit 166 Hz schalten soll, es ging dabei nur um die
Motordrehzahl.
Das Relais wird nur für die voreingestellte Zeitspanne angesteuert -
zwischen 20 und 60msec - das geschieht etwa alle 1-2 sekunden ein mal.
Während diesen 20-60 msec werden dann n Zündungen des Motors nicht
ausgeführt, wobei sich n als Unterbrecherzeit in sec mal
Motorumdrehungsfrequenz in Hz errechnen lässt... aber das ist ja alles
nicht mehr das Thema um das es ging: Ich kann mir nicht erklären warum
der Mikrocontroller verrückt spielt :(
Hallo Paul,
so hatte ich es zuerst verstanden..
dann bleibt NUR die Stromversorgung oder Störimpulse,
die über 10.000 RPM eine Schwelle überschreiten und
dann Deinen Controller abschwirren lassen.
Ich denke, daß Du von der Batterie über eine (Schottky-)
Diode auf einen 100µF Elko, dann auf einen low-drop-Regler
(TLE4266 oder irgendwas dreibeinig)auf den Controller
gehen solltest. Spendiere jedem Pin einen 10nF Kerko
gegen GND.
Viele Grüße
Otto
Ich finde noch nichts an Erklärung, wie du mit den 300 V Primärspannung
auf den Controller gehst. An dem Punkt ist die Sache sehr kritisch. Über
diese Leitung kannst du dir jede Menge Müll einkoppeln. Da reichen schon
5 cm Kabel in deinem Alugehäuse, womit du kapazitiv oder induktiv
einkoppelst.
Ich hatte dazu hier mal was geschrieben:
http://www.wikidorf.de/reintechnisch/Inhalt/ElektronikWeblog#A015
@ Paul
>Diese Zündanlagen (Hersteller PVL) sind extra mit einem sog.>Kurzschlusskabel ausgestattet das dazu dient die Zündung zu deaktivieren>wenn man dieses Signal auf Masse legt. Ich habe da mit dem Oszi das eben
Das geht aber geanuso gut, nein besser!, wenn das Relais dien Primärkrei
unterbricht, anstatt die Zündspule kurzzuschliessen. Denn die Zündung
läuft ja weiter, nur ohne Spule. Was wohl der Unterbrecher bzw. bei
elektronischen Zündungen der Schalttransistor dazu sagt. Und die
Batterie bzw. der Dynamo vom Motor? (12V Bordspannung wird
kurzgeschlossen?)
>Versorgung: +9V Blockbatterie -> 1N4148 Verpolungsschutzdiode -> 78L05>mit 100nF auf Ein-und Ausgangsseite>uC: Vcc/GND ist klar, entstört mit 100nF, PB0 und PB1 Eingänge mit
Das nächste mal besser ne Schaltplan posten. Ein Bild sagt mehr als
tausend Worte. Ich nehme mal an, dass die Eingänge von Tastern gesteuert
werden?
>internem Pullup und Abfrage auf fallende Flanke, liegen an je einem>Schließerkontakt (der eine startet das SUB zum einstellen der>Unterbrecherzeit, der andere löst den Unterbrechervorgang aus), PB2 und>PB3 Ausgang, PB2 geht auf BC549B mit 4K7 Vorwiderstand, welcher wiederum>das Relais schaltet, PB3 lässt eine LED zur Visualisierung aufleuchten.>Das wars schon... Funktioniert auch alles prima so wie ich das will...>nur wie gesagt, ab 10000 min-1 spielt es verrückt...
Ich vermute, dass duch das martialische Kurzschliessen der Zündpule
massive Störpulse vom Schaltkontakt auf die Spule des Relais koppeln
(induktiv oder kapazitiv. Hast du einen 100nF DICHT am Reset vom
Controller? Ausserdem würde ich das mit dem Kurzschliessen nochmal
überdenken.
@ Otto
>1. die 9V-Blockbatterie hat für einen 78L05> eine grenzwertige Spannung.
78L05 hat ca. 1,5V dropout. Das passt.
>2. Nimm einen "low-drop" Regler
Unnötig. Ausserdem ist das Problem ein anderes.
>3. Auch ist der Strom aus einer 9V - Batterie begrenzt.
Welcher Strom aus welcher Batterie ist das nicht?
MFG
Falk
@Falk,
- die "drop" Spannung beträgt typisch 1,7V
- kann aber auch höher sein
- hinzu kommt die Verpolschutzdiode mit ca. 0,5V
- die Spannung einer 9V-Batterie sinkt relativ schnell
selbst wenn das Problem ein anderes ist, verlängert
jedes "gesparte" Volt die sichere Betriebsdauer
der Schaltung .
Gruß Otto
Richtig, einmal falsch drangehalten und schwupps... daher die Diode.
@Falk:
Also wie gesagt, die Zündanlagen sind extra vom Hersteller mit diesem
Kurzschlusskabel ausgestattet, daher dachte ich nutze ich es auch, sind
ja für diesen Zweck vorgesehen. Werde die Sache mit dem Öffner aber auch
mal versuchen, kein Thema, vielleichts klappts damit dann ja besser.
Einen 100nF habe ich bis jetzt noch nicht am Reset. Werd ich aber mal
versuchen.
Grüße Paul
Hallo Paul,
ich finde es gut, dass du die Zündung kurzschließt. Unterbrechen macht
man nicht. Viele Zündungen werden kurzgeschlossen.
Den 100nf am reset kannst du versuchen, glaub ich aber nicht. Wie ist
deine Spannungsversorgung aufgebaut?
Einen 4,7µ an nem eingang ist vieieiel zu groß. Eher 10nf oder so.
Schließlich willst du ja, dass dein GND level rechtzeitig erkannt wird.
Den Pullup würde ich im auto auf jeden fall verkleinern auf 1k oder so,
das kann nicht schaden, bei den Störungen die du hast.
@Basti
>ich finde es gut, dass du die Zündung kurzschließt.
Ob das der Unterbrecher auch so sieht? Weisst du überhaupt wie ein
Schaltplan einer Zündung aussieht?
> Unterbrechen macht man nicht.
Sagt wer? Und warum?
>Den 100nf am reset kannst du versuchen, glaub ich aber nicht.
Dein Bier. Ich hatte mal nen netten Effekt. Einen 2313 (alte Serie) auf
Lochraster, 100nF an VCC/GND. Externer 10k pull-up am Reset, aber KEIN
Kondensator. ISP verdahtet auf 10pol Wannenstecker. Mit einem Programm,
welches die Pins vom ISP-Interface als Ausgänge benutzt kam es zu
merkwürdigen Programmstörungen/Resets. Was war die Ursache? Wenn das
Kabel für ISP noch im Stecker steckte aber nicht am PC, gabs
Übersprechen von den ISP-Pins auf Reset (ca. 40pF Kopplekapazität). Das
reichte aus, um die Schaltschwelle vom Reset (ca. 0,85*VCC) zu
unterschreiten und den Controller immer wieder zu reseten. Ein kleines C
(1nF) am Reset und alles war im Lot. Der Effekt ist bekannt.
> Wie ist deine Spannungsversorgung aufgebaut?
Hat er geschrieben.
>Einen 4,7µ an nem eingang ist vieieiel zu groß. Eher 10nf oder so.>Schließlich willst du ja, dass dein GND level rechtzeitig erkannt wird.>Den Pullup würde ich im auto auf jeden fall verkleinern auf 1k oder so,>das kann nicht schaden, bei den Störungen die du hast.
Tut nix zu dem Problem hier.
MfG
Falk
ich denke es sind ganz einfach Störimpulse vom Zündfunken, Unterbrecher
etc.
die über die Signalleitung in die Schaltung brezeln.
der interne Pullup hat ~10 KR, ansonsten ist der µC recht hochohmig
gegen
GND. Die Signalleitung ist also ne prim Antenne.
Lösungsansätze währen z.B. den Eingang über Optokoppler entkoppeln,
abgeschirmtes Kabel für den Taster, dem Eingang noch nen KOndensator
verpassen und ohmsche Last gegen GND, Entstördrossel (also ne Spule)
in die Signalleitung.
@Falk: Ich habe mit 13 mein erstes Moped gehabt und du kannst mir
glauben, seit dem sehr viele Zündungen gesehen. NICHT EINE hat
unterbrochen, alle haben zum Ausschalten kurzgeschlossen.
>Tut nix zu dem Problem hier.
und BTW: OB ICH WEISS WIE EINE ZÜNDUNG AUFGEBAUT IST TUT AUCH NIX ZUM
PROBLEM
Basti hat schon recht: ob man jetzt einen Rasenmäher, 'ne Motorsäge oder
Stromaggregat nimmt, Motoren mit Magnetzündung werden abgestellt indem
man den Unterbrecherkontakt überbrückt bzw. kurzschließt.
@Dieter Werner
>Basti hat schon recht: ob man jetzt einen Rasenmäher, 'ne Motorsäge oder>Stromaggregat nimmt, Motoren mit Magnetzündung werden abgestellt indem>man den Unterbrecherkontakt überbrückt bzw. kurzschließt.
Das ist ja schön und gut und das will ich auch gar nicht bezweifeln!
Aber es geht hier um ein andere Anwendung. Es soll im Betrieb periodisch
alle paar Sekunden für einige 20..80ms kurzgeschlossen werden! Das macht
verdammt viele Kurzschlüsse pro Betriebsstunde. Ob das der Unterbrecher
mag?
MfG
Falk
> Ob das der Unterbrecher mag?
Dem Unterbrecher wird es ziemlich Schnurz sein wie oft er durch den
Abschaltkontakt überbrückt wird, aber es könnte durchaus sein, dass die
Primärspule durch den verlängerten Stromfluss zu warm wird.
@Dieter Werner
>Dem Unterbrecher wird es ziemlich Schnurz sein wie oft er durch den>Abschaltkontakt überbrückt wird, aber es könnte durchaus sein, dass die
Stimmt. Ich war in Gedanken noch bei einem Kurzschluss der Zünsspule,
wie es der OP geschrieben hat.Ist das möglicherweise das Problem? Dass
er fälschlicherweise die Zündspule kurgeschlossen hat und nicht den
Unterbrecher?
>Primärspule durch den verlängerten Stromfluss zu warm wird.
Genau. Aber zumindest wird ein Kurzschluss der Bordspannung für gewiss
Zeit durch die Induktivität der Zündspule verhindert bzw. verzögert.
MFG
Falk