Hallo, ich habe eine kleine Bastelei, die eine Zange automatisch betätigt. Die Schaltung läuft mit einem ATTiny13A, einem kleinen DC Motor, einem L293D Motortreiber, einem Taster und zwei Endschaltern. Wird der Taster betätigt, fährt der Motor los, bis der erste Endschalter erreicht ist. Dann fährt er in die andere Richtung zurück, bis der andere Endschalter erreicht ist. Wenn der Motor nicht stark belastet wird, funktioniert das auch. Aber bei größerer Last steigt der Strom auf ca. 700mA und es kommt manchmal vor, dass die Endschalter erkannt werden, obwohl sie nicht erreicht werden. Ich habe mal 100nF zwischen die Motorpins gelötet und nochmal jeweils 100nF von den Motorpins zum Motorgehäuse. Das hat das Problem verbessert aber nicht gelöst. Hat jemand einen Tipp, wie ich das ganze entstört bekomme?
Georg schrieb: > Hat jemand einen Tipp, wie ich das ganze entstört bekomme? Wenn du es analog (Kabelführung, Filterung) nicht gelöst bekommst, dann solltest du über eine brauchbare Software-Entprellung/Filterung nachdenken. Genaueres kann man nur mit genaueren Angaben (Schaltplan, Layout, Aufbau, Programm) sagen.
:
Bearbeitet durch Moderator
Georg schrieb: > Die Schaltung läuft mit einem ATTiny13A, einem kleinen DC Motor, einem > L293D Motortreiber, einem Taster und zwei Endschaltern. Wird der Taster > betätigt, fährt der Motor los, bis der erste Endschalter erreicht ist. > Dann fährt er in die andere Richtung zurück, bis der andere Endschalter > erreicht ist. Wie ist der Endschalter entprellt? https://www.mikrocontroller.net/articles/Entprellung hilft natürlich auch bei EMV-Störungen wenn es sauber programmiert ist. Wie sind die Endschalter elektronisch angelegt? Pullup/Pulldown wenn ja wie groß. In der Mechatronik mit Motoren und Frequenzumrichtern nimmt man oft Stromschleifen (Analoge Stromschnittstelle) oder Optokoppler. So kann man Kabelbrüche erkennen und stromgeregelte sind störunempfindlicher als spannungsgeregelte. Georg schrieb: > Ich habe mal 100nF zwischen die Motorpins gelötet und nochmal > jeweils 100nF von den Motorpins zum Motorgehäuse. Das hat das Problem > verbessert aber nicht gelöst. Hat jemand einen Tipp, wie ich das ganze > entstört bekomme? Sind die 100nF einfach mal blind probiert? Wenn müsste man das mit einem schnellen Oszi bewerten ob das überhaupt was bringt. Neben der Entstörung des Motors könntest du mit einem einfachen RC-Glied versuchen die Endschalter zu entstören. Was sind das für Endschalter (mechanisch / induktiv)?
Georg schrieb: > Ich habe mal 100nF zwischen die Motorpins gelötet und nochmal > jeweils 100nF von den Motorpins zum Motorgehäuse. Die kommen erst dann richtig zur Wirkung, wenn du den Motor noch über Drosseln führst.
Georg schrieb: > Wenn der Motor nicht stark belastet wird, funktioniert das auch. Aber > bei größerer Last steigt der Strom auf ca. 700mA und es kommt manchmal > vor, dass die Endschalter erkannt werden, obwohl sie nicht erreicht > werden. Ich habe mal 100nF zwischen die Motorpins gelötet und nochmal > jeweils 100nF von den Motorpins zum Motorgehäuse. Das hat das Problem > verbessert aber nicht gelöst. Hat jemand einen Tipp, wie ich das ganze > entstört bekomme?
Hallo, > Georg schrieb: > Wenn der Motor nicht stark belastet wird, funktioniert das auch. Aber > bei größerer Last steigt der Strom auf ca. 700mA und es kommt manchmal > vor, dass die Endschalter erkannt werden, obwohl sie nicht erreicht > werden. Der Motorstrom mit seinen Zuleitungen ist natürlich eine Störquelle. Es kann aber auch noch andere Störungen von außen geben. Diese Störungen solltest du schon versuchen zu reduzieren, aber das ist nur ein Teil der Lösung. Die Endschalter haben wohl ein Stück zuleitung, die als Antenne due Störspannungen einfangen. > Ich habe mal 100nF zwischen die Motorpins gelötet und nochmal > jeweils 100nF von den Motorpins zum Motorgehäuse. Das hat das Problem > verbessert aber nicht gelöst. Hat jemand einen Tipp, wie ich das ganze > entstört bekomme? Um das Verhältnis Signal-Störspannung (SNR) ist bei dir offenbar zu klein. Um es zu vergößern, kannst du folgende Sacghen machen: 1) Signalleistung erhöhen, z.B. indem du einen kleineren Pullup-R einsetzt. 2) Transiente Störungen (Spikes) mit einem RC-Tiefpass ausfiltern 3) Leitungen verdrillen https://de.wikipedia.org/wiki/Twisted-Pair-Kabel 4) Schirmung verwenden 5) Software störsicherer machen (z.B. auch um Spikes zu unterdrücken) Gruß Öletronika
Vielen Dank für die ganzen Tipps. Leider komme ich immer noch auf keinen grünen Zweig. Im Anhang ist der Schaltplan und der mechanische Aufbau zu sehen. Was ich zwischenzeitlich versucht habe: - Verdrillen der Leitungen - Tiefpass aus 10k und 100nF auf die µC Eingänge geschaltet (Habe SMD Bauteile auf die Unterseite der Platine gelötet, möglichst nah am µC. Im Schaltplan noch nicht eingezeichnet) - Verringerung der Pulldowns von 12k auf 2k2 Ich möchte die Endschalter ja möglichst schnell erkennen. Um das Problem per Software zu lösen, müsste ich das Signal aber eine Weile beobachten, bis es dauerhaft eindeutig ist. Könnte ich trotzdem nochmal versuchen, aber irgendwie hätte ich das ganze gerne stabiler... Wie kann das Ganze denn nur so empfindlich sein!? Selbst mit Filter auf den Eingängen... Sieht vielleicht jemand einen offensichtlichen Fehler, den ich gemacht habe?
Ich sehe auf den Bildern nicht daß du pro IC 100nf keramisch als Abblockkondensator für die Versorgung hast. Als zweites wie ist deine Masse? Hier wichtig: Getrennte Stromversorgung und vor allem Masseführung für den Motorstromkreis (incl L293) und den µC Teil direkt von der Stromversorgung aus. Ansonsten können kleine Spikes auf der Masse dafür sorgen daß dein µC ein High an den Eingängen erkennt.
Oh man bin ich doof! Der µC hatte 100nF drin (der blaue Bobbel über dem 8-Pin IC) aber für den L293D habe ich den C vergessen. Jetzt habe ich den ergänzt und alles funktioniert! VIELEN VIELEN DANK!
Georg schrieb: > aber für den L293D habe ich den C vergessen. > Jetzt habe ich den ergänzt und alles funktioniert! Ich würde trotzdem vorschlagen, noch zusätzlich einen Pufferelko im Bereich um 100µF mit rein zu bauen und die Software ein wenig störumempfindlicher zu machen. So einen externen Schalter würde ich niemals einfach so direkt abfragen, sondern immer entprellen/filtern.
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.