die Filterung des Ausgangssignals ist notwendig. Wenn sich der Roboter innerhalb der Schleife befindet erhalte ich zuerst ein positives Signal an der Spule, der Schmitt-Trigger schaltet am Ausgang nach Masse, 150µs später (das ist die am Sender eingestellte Impulsbreite) erhalte ich dann ein negatives Signal, der Trigger schaltet wieder nach +4V. Das Ganze wiederholt sich bei jedem Impuls und läuft außerhalb der Schleife genau entgegengesetzt ab. Wenn der Controller jetzt genau während dieser 150µs den Sensor abfragt intepretiert er das Signal "Innen" als "Außen", bzw. umgekehrt. Das RC-Glied glättet das Ausgangssignal, da die Zeitkonstante viel größer als die Impulsbreite des Senders ist. Das mit der Nulllinie würde ich so nicht ausdrücken. Der Schmitttriggerausgang liegt immer fest auf 0V oder auf +4V (rein digitales Signal), je nachdem ob sich der Sensor außerhalb oder innerhalb der Schleife befindet. Das Signal kehrt sich nur für 150µs um, bzw. gibt es beim Überfahren der Schleife einen Signalwechsel. Der Schmitt-Trigger speichert mir also quasi immer die letzte Halbwelle aus der Empfangsspule. Siehe auch das Bild, der Zeitbereich ist allerdings nicht maßstäblich und die 80ms nur ein Beispiel (ich habe glaube ich nur ca. 5Hz Wiederholfrequenz, werden aber später mal mehr).
Generell zur Erfassung der Sensoren und Taster: Ich lese zunächst alle Ports ein und speichere diese im RAM, danach habe ich alle Zeit der Welt um alles auszuwerten. Im Programm die Sensoren und Taster direkt abzufragen kann großen Blödsinn ergeben, wenn sich innerhalb der Bearbeitungszeit ein Zustand ändert. Die neuen Sollwerte werden auch im RAM abgespeichert und dann am Ende des Zyklus aus dem RAM geholt und ausgegeben. So arbeiten übrigens auch die Speicherprogrammierbaren Steuerungen (SPS) in der Industrie und das mit großem Erfolg.
Den direkten Ausgang des Schmitt-Triggers aller 4 Sensoren werde ich mit einem 555 als Monoflop auswerten, solange Signalwechsel anstehen wird vor Ablauf der Zeit immer nachgetriggert. Die Zeit muss nur etwas länger sein als die Periodendauer des Senders.
EDIT: Nochmal zum Problem mit den Störungen. Mu-Metall schirmt zwar das magn. Feld ab, nicht jedoch das elektrische. Dazu sollte man das Motorgehäuse und das Mu-Metall mit einer starken Aderleitung mit dem zentralen Massepunkt der Stromversorgung verbinden. Weiterhin sollte man die Motorleitungen (Hin- u. Rückleitung) möglichst parallel führen oder verdrillen. Ein dicker ELKO direkt an der Leistungsstufe vermindert die Störungen vom Akku und den Zuleitungen. Evtl. mal ein paar Bilder einstellen für konkretere Hinweise.
Lesezeichen