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
@Paul: Kannst du mal einen Schaltplan oder Schaltungsauszug posten? Gruß Dietmar
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?
Ob ein Relais eine technisch gute Lösung ist, ist eine andere Frage.
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
Außerdem könnte ein Relais auch ganz einfach mechanisch in Resonanz geraten und dann einen wüsten Eiertanz provozieren...
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
@ Otto
>- hinzu kommt die Verpolschutzdiode mit ca. 0,5V
Braucht er nicht in ner Batterieanwendung. Die Clipse sind schon ein
Verpolschutz.
MfG
Falk
Die hindern einen aber nicht daran, die Batterie mal falsch rum dranzuhalten.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.