Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe mir nochmal den rn-Artikel angesehen.
Bei der Senderschaltung würde ich die Freilaufdiode weglassen. Außerdem würde ich einen Widerstand (z. B. 10 Ohm) zwischen Netzteil und Kondensator einfügen um das Netzteil zu schonen. Den 10k Widerstand am Gate des Mosfets (R4) würde ich auf 100 Ohm verkleinern damit der Mosfet schnell genug angesteuert wird. Beim Empfänger hat die Methode mit einem Kondensator bei mir gänzlich versagt, man bekommt einen wunderbaren Schwingkreis, diesen kann man natürlich bedämpfen aber dann bleibt kein Signal mehr übrig. Der ideale Lastwiderstand für die Spule (24V Omron-Relais von Pollin) war bei mir im Bereich von 33k bis 68k. Den invertierenden Verstärker kann ich auch nur bedingt empfehlen da sich leicht eine Schwingung aufbaut, nichtinvertierende Verstärker sind hier meiner Erkenntnis nach im Vorteil. Wenn man einen Schmitt-Trigger verwendet (so wie ich jetzt auch) muss man das Ausgangssignal filtern da man sonst genau zum falschen Zeitpunkt abfragen könnte (passiert öfter als man denkt), ein einfaches RC-Glied reicht. Noch ein Tipp zur Messtechnik: billige Digitalmessgeräte können evtl. Mist anzeigen, wenn man mit dem Ostilloskop misst nur im DC-Bereich. Im AC-Bereich kann das gleiche Problem wie in meinem Empfänger mit AC-Kopplung entstehen. Weiterhin muss man den Eingangswiderstand des Tastkopfes berücksichtigen, auch bei 1:10 muss man wissen wo wie man misst, schnell hat man mal den Triggerpunkt des Schmitt-Triggers beim Empfänger verschoben. Außerdem darf man mit den Messleitungen bzw. den Netzkabeln keine Schleife bilden. Da mein Oszi an Masse hängt habe ich die Empfängerschaltung nur aus Akkus + 7805 versorgt. Den Massebezug für das Oszilloskop sollte man nur mit der Leitung am Tastkopf herstellen (nicht über separate Leiteung, auch wenns bequemer ist). Soweit mal meine Anregungen.
Zu meinem Sender: Der Widerstand R5 muss schon etwas Leistung verkraften können, ein 4W-Typ erwärmte sich bei mir nicht, bei einem 0,25W hätte ich aber bedenken. Mit P1 kann man die Impulsbreite einstellen, R3 bestimmt die Wiederholfrequenz. Für C3 sollte man einen LowESR Elko nehmen (oder einen mit höherer Nennspannung) damit er die Stromimpulse liefern kann.
Ich möchte mich an dieser Stelle nochmal herzlich bei allen bedanken, die sich an diesem Thread beteiligt haben. Nach vielen Diskussionen und noch mehr Versuchen (ausgedruckt fast 70 Seiten) haben wir denke ich ein ganz passables und einfaches System auf die Beine gestellt, welches sich anscheinend recht großem Interesse erfreut. Ich bin mal gespannt ob es in nächster Zeit hier ein paar Rasenmäher zu sehen gibt.
Gruß,
Michael
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
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.
Gruß,
Michael
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
nochmal zu meiner Empfängerschaltung:
R4 und R5 bilden eine virtuelle Masse (+2V). Der Rückkopplungszweig (Spannungsgegenkopplung) besteht aus P1 und R3, maximal beträgt daher die Verstärkung (100k+10k)/10k = 11. R2 ist der Lastwiderstand für die Spule. R1 dient lediglich der Offsetkompensationd des OPs (ist ja in Wald- und Wiesen-OP). Meine Schaltung verstärkt also die Spanung die sich an R2 ergibt.
Empfänger von Christian: Diese Schaltng arbeitet mit einem invertierenden Verstärker. Diese Schaltungsart benutzt eine Stromgegenkopplung. Die Spannung an der Spule bleibt immer null, der Ausgang wird soweit aufgesteuert dass der Strom duch den Rückkopplungswiederstand genau so groß ist wie der Strom durch die Spule.
Ich habe heute meine Schleifenüberwachung fertiggestelt: Dazu führe ich die Impulse von allen Empfängern auf ein Monoflop. Der 555 ist leider von Haus aus nicht nachtriggerbar, mit einem externen Transistor (T2) ist es aber möglich. Die Impulszeit des 555 (R1 und C1) muss etwas größer eingestellt sein als die Periodendauer der Sendeschaltung. Die linke Seite der Schaltung arbeitet nur das Triggersignal auf, man kann auch mehr oder weniger Sensoren anschließen. Zur Funktion: Solange die Schleife funktioniert stehen an K3 Imulse an. Befindet sich der Sensor innerhalb ist das Tastverhältnis groß, befindet er sich außerhalb ist es klein. Zum Triggern wird nur die pos. Flanke benötigt. Befindet sich nun ein Sensor (oder 2) direkt über der Schleife und geben nur noch ein Dauersignal ab wird die Schaltung immernoch von den anderen Sensoren getriggert. Erst wenn kein Sensor mehr Pulse abgibt fällt die Triggerung aus und der Pegel an K7 wechselt nach 0V (LOW). Der Controller fragt (im noch zu schreibenden Programm) immer erst das Signal von K7 ab, ist dieses HIGH funktioniert die Schleife, ist es LOW bleibt das Fahrzeug stehen. Erst wenn die Funktion festgestellt wurde geht es an die Bestimmung der Position (innerhalb / außerhalb).
EDIT: Programm läuft, habe noch einen Kreidehalter angebaut und fahre die Garage ab.
Gruß,
Michael
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,
hier ein paar Bilder. Die Schrauben sind nur provisorisch, deren Kopf ist nämlich noch zu dick und wird noch flachgedreht. Die Nuten sind 20mm breit und an der Außenkante der Scheibe 1mm tief. Die Klingen sind von OBI für einen Teppichschneider, nur diese haben so praktische Löcher. Wenn die Klingen stumpf sind kann man sie einmal wenden. In der Scheibe ist ein Gewinde M10, in den Flansch kommt sicherheitshalber noch ein Gewindestift oder Splint.
Gruß,
Michael