Der Eisvogel
25.06.2014, 12:37
Hallo,
vergangenes Jahr habe ich angefangen eine Steuerung für den Teach-Robot der Firma Kalms & Mürb zu basteln und eine entsprechende Steuerungssoftware zu schreiben. Das funktioniert auch schon alle bestens. Der Roboter bewegt sich entsprechend, die Software kann alles steuern.
Aber mir ist in den vergangenen Wochen ein unangenehmens Problem aufgefallen. Der Roboter verfügt über 6 Gleichstrommotoren mit Inkrementalgebern. Dafür ist an der Spindel der Motoren ein Reflektor für eine Lichtschranke angebracht, die über folgende Schaltung das Puls-Signal generiert:
28525
Die Lichschranke schaltet dabei den Transistor V3 auf Masse durch wodurch ich ein 0V-Signal am Puls anliegen habe. Wird die Lichtschranke nicht beleuchtet, sperrt V3 und es liegt ein 5V-Signal am Puls an.
Um diese Puls-Signale der 6 Motoren einzulesen verwende ich ein Schieberegister (IC4), welches die Signale parallel einließt und dann seriel an den Mikrocontroller weitergibt:
28526
An SV3 hängen zudem noch zwei weitere PISO-Schieberegister die vier L293B ansteuern um die Motoren-Richtung zu kontrollieren. Über einen weiteren Port des Controllers sind die Enable-Eingänge der L293Bs angeschlossen, damit ich die Geschwindigkeit der Motoren mit den PWM-Ausgängen des Controller regeln kann. Über SV4 wird der Roboter mit einem Flachbandkabel angeschlossen. Die Motoren arbeiten derzeit mit ca. 16V, der Controller mit 5V.
Das Problem an der Sache ist jetzt, dass ich Störungen auf den Puls-Leitungen habe, sobald die PWM-Steuerung aktiv ist. Das ist ja auch kein Wunder, da das Flachbandkabel auch überhaupt nicht abgeschirmt ist, genauso wenig wie die interne Verkabelung des Roboters. Daher ist eine Abschirmung der Kabel Leitungen keine Option um diese Störungen zu beheben, außer ich will die gesamte Verkabelung des Roboters neu machen, was mir schier unmöglich scheint, da ich dann auch die kleinen Platinen, die jeweils an den Motoren sitzen neu machen müsste.
Die Störungen auf den Puls-Leitungen machen sich dadurch bemerkbar, dass das Schieberegister plötzlich Flankenwechsel an den Controller gibt. Dies tritt aber auch nur auf, wenn auf der jeweiligen Puls-Leitung ein 0V-Signal liegt. Wenn 5V anliegen, dann sind keine Störungen bemerkbar.
Meine bisherigen Lösungsversuche bestanden darin mit 100kOhm bzw. 10kOhm die Puls-Leitungen gegen Masse zu ziehen. Das hatte jedoch leider keinen Effekt.
Leider habe ich kein Oszilloskop zur Verfügung, um die Störungen genauer zu untersuchen.
Hab ich bei meiner Verschaltung irgendetwas grob falsch gemacht? Wie könnte man diese Störungen eliminieren? Hat jemand eine Idee, oder muss ich mir irgendwie Zugang zu einem Oszilloskop verschaffen, um das ganze genauer untersuchen zu können? Alles verwendeten ICs haben einen Abblockkondensator von 100nF direkt neben ihnen im Platinnlayout (Lochraster). Zudem ist die Spannungsversorgung für die Motoren (16V) noch zusätzlich mit einem 100µF Elko entkoppelt.
Ich bin über jeden Vorschlag dankbar. Gibt es in Baden-Baden (Rebland?) und Umgebung vielleicht jemanden, der mir bei Bedarf mit einem Oszilloskop zur Seite stehen könnte?
MfG
Der Eisvogel
vergangenes Jahr habe ich angefangen eine Steuerung für den Teach-Robot der Firma Kalms & Mürb zu basteln und eine entsprechende Steuerungssoftware zu schreiben. Das funktioniert auch schon alle bestens. Der Roboter bewegt sich entsprechend, die Software kann alles steuern.
Aber mir ist in den vergangenen Wochen ein unangenehmens Problem aufgefallen. Der Roboter verfügt über 6 Gleichstrommotoren mit Inkrementalgebern. Dafür ist an der Spindel der Motoren ein Reflektor für eine Lichtschranke angebracht, die über folgende Schaltung das Puls-Signal generiert:
28525
Die Lichschranke schaltet dabei den Transistor V3 auf Masse durch wodurch ich ein 0V-Signal am Puls anliegen habe. Wird die Lichtschranke nicht beleuchtet, sperrt V3 und es liegt ein 5V-Signal am Puls an.
Um diese Puls-Signale der 6 Motoren einzulesen verwende ich ein Schieberegister (IC4), welches die Signale parallel einließt und dann seriel an den Mikrocontroller weitergibt:
28526
An SV3 hängen zudem noch zwei weitere PISO-Schieberegister die vier L293B ansteuern um die Motoren-Richtung zu kontrollieren. Über einen weiteren Port des Controllers sind die Enable-Eingänge der L293Bs angeschlossen, damit ich die Geschwindigkeit der Motoren mit den PWM-Ausgängen des Controller regeln kann. Über SV4 wird der Roboter mit einem Flachbandkabel angeschlossen. Die Motoren arbeiten derzeit mit ca. 16V, der Controller mit 5V.
Das Problem an der Sache ist jetzt, dass ich Störungen auf den Puls-Leitungen habe, sobald die PWM-Steuerung aktiv ist. Das ist ja auch kein Wunder, da das Flachbandkabel auch überhaupt nicht abgeschirmt ist, genauso wenig wie die interne Verkabelung des Roboters. Daher ist eine Abschirmung der Kabel Leitungen keine Option um diese Störungen zu beheben, außer ich will die gesamte Verkabelung des Roboters neu machen, was mir schier unmöglich scheint, da ich dann auch die kleinen Platinen, die jeweils an den Motoren sitzen neu machen müsste.
Die Störungen auf den Puls-Leitungen machen sich dadurch bemerkbar, dass das Schieberegister plötzlich Flankenwechsel an den Controller gibt. Dies tritt aber auch nur auf, wenn auf der jeweiligen Puls-Leitung ein 0V-Signal liegt. Wenn 5V anliegen, dann sind keine Störungen bemerkbar.
Meine bisherigen Lösungsversuche bestanden darin mit 100kOhm bzw. 10kOhm die Puls-Leitungen gegen Masse zu ziehen. Das hatte jedoch leider keinen Effekt.
Leider habe ich kein Oszilloskop zur Verfügung, um die Störungen genauer zu untersuchen.
Hab ich bei meiner Verschaltung irgendetwas grob falsch gemacht? Wie könnte man diese Störungen eliminieren? Hat jemand eine Idee, oder muss ich mir irgendwie Zugang zu einem Oszilloskop verschaffen, um das ganze genauer untersuchen zu können? Alles verwendeten ICs haben einen Abblockkondensator von 100nF direkt neben ihnen im Platinnlayout (Lochraster). Zudem ist die Spannungsversorgung für die Motoren (16V) noch zusätzlich mit einem 100µF Elko entkoppelt.
Ich bin über jeden Vorschlag dankbar. Gibt es in Baden-Baden (Rebland?) und Umgebung vielleicht jemanden, der mir bei Bedarf mit einem Oszilloskop zur Seite stehen könnte?
MfG
Der Eisvogel