Liste der Anhänge anzeigen (Anzahl: 1)
Re: Induktionsschleife
Zitat:
Zitat von jguethe
Als nächstes werde ich mich mal um das Thema Ladestation kümmern. .... für Tipps wäre ich also dankbar.
Vor einiger Zeit habe ich mir mal die Schleifensignale beim Automower angeschaut.
Der erzeugt ein Hutförmiges Signal für die Begrenzungsschleife. Das kommt in etwa auf das gleiche heraus wie es hier schon kennen.
In der verklebten Bodenplatte der Ladestation sind zwei Schleifen eingebaut. Die an der Aufnahmespule gemessenen Signale sind etwa nur halb so breit wie das der Begrenzungsschleife kommen aber zu einem festen späteren Zeitpunkt. Damit kann die Auswertelektronik die Signale einwandfrei auseinander zu halten. Etwa vergleichbar mit einer Asynchronen Seriellen Schnittstelle.
Die innerste Schleife, das Nahsignal, hat die Form einer Acht. Das Signal ist in einem sehr schmalen Streifen der auf die Ladekontakte zielt neutral, recht Positiv, links Negativ.
Die zweite Schleife, das Fernsignal, kann der Mäher aus ca 7 Meter Entfernung festellen. Er ändert dann sein Suchverhalten in dem er zum Punkt der maximalen Signalamplitute fährt. Sobald er in den Bereich des Nahsignals kommt, richtet er sich nach dem aus um endgültig einzuparken.
Liste der Anhänge anzeigen (Anzahl: 1)
Induktionsschleife und Sensor
Hi,
an Michael M:
Die Relaisspule mit Ferritkern (r = ca. 900 OHm, Durchmesser des Ferritkerns ca. 4,5mm) bringt bei mir keine besseren Ergebnisse. Mit Eisenkern geht es eher noch besser. Die Vergleichsmessungen mache ich mit einem Osci.
Für alle die es interessiert, habe ich ein Oscillogramm vom Spulensignal geschossen (Sensorschaltung nach Christian H, Messpunkt ist der Ausgang des OP's). Beide peaks sind wunderbar zu sehen.
Frequenz ca. 37Hz
Abstand der Spule vom Begrenzungsdraht ca. 10-15cm
Volt div 0,02
Time div 2 msec
an Christian H
die Schmitt-Triggerstufe funktioniert bei mir nicht so wie von Dir angegeben. Zwar hatte ich auch hier den von Dir beschriebenen Effekt, nämlich das die LED z.B. innen im Takt der Frequenz blinkt (kurz an, lang aus, und aussen umgekehrt. Nur habe ich dem Frieden nicht getraut, und mir die Signale auf dem Osci angeschaut. Dabei hat sich herausgestellt, dass das Aussensignal bei mir ausschließlich durch Oscillation mit etwas über 4 kHz erzeugt wird. Diese Schwingungen verschwinden auch wieder, wenn die Spule genau über bzw. innerhalb der Schleife ist.
Ich habe es mit allen denkbaren Potieinstellungen probiert. Dabei habe auch einen Einstellungsbereich gefunden, in welchem keine Schwingungen mehr auftraten. Innerhalb dieses Bereiches war es dann durch Einstellung des Potis möglich, entweder nur den positiven o d e r den negativen peak ( als positives bzw. negatives Rechtecksignale am Ausgang) sichtbar zu machen.
an Vogon
danke für die Info.
Ich werde zunächst einfach mal versuchen, dem Signal der normalen Begrenzungsschleife zu folgen. Dann sehen wir weiter.
Gruss an alle
jguethe
[/u]
Liste der Anhänge anzeigen (Anzahl: 1)
Sensor für Induktionsschleife
Hi,
ausgehend von meinen Erfahrungen mit dem Solarmover von Husquarna (dieser hatte mehrfach die Schleife verlassen, so dass er auf öffentlichen Wegen mit laufendem Mähmotor „tätig“ war) ist für mich die sichere Begrenzung des Arbeitsbereiches zwingend erforderlich. Verläßt der RasenRobo seinen Bereich bzw. ist das Generatorsignal nicht vorhanden, muss eine Zwangsabschaltung erfolgen.
Die nachfolgend vorgestellte Erweiterung der Sensorschaltung nach Christian H dient diesem Zweck..
Annahmen und Voraussetzungen für die Beschreibung der Schaltung:
- Generatorfrequenz: 5 Hz, Impulsbreite 5 msec (eingestellt mit Atiny 2315)
- der positive peak tritt zuerst auf (Pin 14 geht zeitlich vor Pin 8 von 0 auf 1)
An den Ausgängen von IC1D und IC1C stehen wegen Übersteuerung der Komparatoren zeitlich versetzte Rechtecksignale (ca. 2,5 msec) zur Verfügung. Das durch IC2A invertierte Signal triggert einen monostabilen Multivibrator (eine Hälfte des Doppeltimers NE 556), welcher das Signal auf etwa 10 ms verlängert. Der verlängerte Impuls wird wieder invertiert und auf den Reset-Eingang (Pin 10) des zweiten monostabilen Multivibrators gegeben. Damit ist dieser für die Dauer des verlängerten Impulses gesperrt, d.h. der zeitlich nachfolgende negative peak gelangt nicht an den Ausgang „aussen“. Das ganze funktioniert umgekehrt, wenn der negative peak der erste ist.
Im Ergebnis blinkt bei mir entweder die grüne LED = LED3 (innerhalb der Schleife) oder die rote LED = LED 4 (ausserhalb der Schleife).
Allgemeine Anmerkungen und Messergebnisse:
LED1 und LED2 dienen vorwiegend dem Abgleich. Sie müssen beide im Takte der Generatorfrequenz blinken. Hierbei ergibt sich eine gewisse Abhängigkeit vom eingestellten Wert von R1 bzw. vom Spulenwiderstand.
Messwerte:
IC1A Pin 1 (Ausgang zum ADC): ca. 100 mV Signalamplitude bei > 50 cm Abstand zur Schleife
ca. 300 mV bei 10 cm Abstand (vertikal und horizontal)
Impulsbreite Generator: 5 msec
Impulsbreite IC1D Pin 14 / IC1C Pin 8 ca. 2,5 msec
Impulsbreite IC3 Pin 5 / Pin 9 ca. 10 msec
Durch entsprechende Dimensionierung der RC-Glieder (R11 und C4 bzw. R12 und C6) kann man die Impulsbreite noch weiter verlängern, jedoch muss diese bei einer Generatorfreqzenz von 5 Hz (entspicht 200 msec) natürlich unter 200 msec bleiben.
Die Schaltung ist zwar relativ aufwändig, jedoch habe ich mich von folgenden Überlegungen leiten lassen:
1.wie schon erwähnt, die Zwangsabschaltung muss sicher gewährleistet sein
2.Die Auswertung des Analog-Signals über ADC, Software usw. könnte insbesondere bei Störsignalen eher zu unerwünschten Zwangsabschaltungen führen.
3. Macht man das Ausgangssignal des monostabilen MV so lang wie möglich, werden zwischenzeitliche Störsignale weitestgehend unterdrückt.
Gruss
jguethe
Sensor für Induktionsschleife
Hi,
die kürzlich vorgestellte Schaltungsergänzung (Auswertung innerhalb / ausserhalb der Schleife) habe ich noch einmal im Garten getestet. Die Schaltung funktioniert prima, wenn nur die Antriebsmotoren nicht wären. Diese verursachen einen zu hohen Störpegel (Entfernung Empfangsspule Motor zur Zeit ca. 12 cm.).
Die Hauptfunktion der Empfangsschaltung (Schaltung von Christian H), nämlich die Richtungsänderung in unmittelbarer Nähe der Begrenzungsschleife funktioniert zwar, weil am Rand die Amplitude des Generatorsignals deutlich höher als der Störsignalpegel der Motoren ist.
Der Störpegel etwas weiter innerhalb der Schleife bringt jedoch meine Auswertungselektronik für innerhalb / ausserhalb durcheinander. Auch wenn ich den Robo ohne eingeschaltetes Generatorsignal laufen lasse, blinken beide LED’s im (unregelmäßigen) Takt der Störimpule. Im „Labor“ habe ich den Fahrbetrieb etc. simuliert und mir die Signale mit dem Osci angeschaut. Bei etwa 50 – 75 cm Abstand (Spule / Schleifendraht) ist das Störsignal im Mittel fast auf dem Pegel des Nutzsignals.
Ich habe dann testweise die Entfernung Sensor-Spule / Motor immer weiter erhöht. Etwa bei 30 cm Entfernung (d.h. die Spule befindet sich nicht mehr auf dem Chassis), war das Störsignal fast vollständig, aber eben nicht zu 100%, verschwunden. Die beiden LED’s in meiner Schlaltung zeigen dabei viel besser als der Osci Störimpulse an, was eben mit der Logik dieser Schaltung zu tun hat (auch extrem schmale Störimpulse werden in der Schaltung verlängert und lassen die LED’s aufleuchten).
Ich werden nun versuchen, die Motoren in Mu-Metall zu verpacken. Da dieses relativ teuer ist, würde ich gern wissen, wie viele Lagen man in etwa braucht, um eine wirksame Abschirmung zu erreichen.
@Christian H:
Du hast doch deinen Mähmotor in Mu-Metall eingewickelt. Wäre nett, wenn Du noch ein paar Details nennen könntest. Muss man den Motor sozusagen hermetisch einpacken? Was wäre sonst noch wichtig? Wie effektiv ist die Mu-Metall-Methode? Wenn ich Mu-Metall bestelle, werde ich gleich die erforderliche Menge für den Mähmotor mitbestellen. Was hast Du für den Mähmotor gebraucht?
Hast Du übrigens den Signalpegel Deiner Motoren einmal untersucht und Deine Software auch mal unter der Bedingung geprüft, dass der Generator nicht läuft? Wenn ich Deine geposteten Softwareschnitzel richtig in Erinnerung habe, hast Du diesen Fall ausgewertet und in Konsequenz den Robo wahrscheinlich abgeschaltet. Was macht Dein Robo, wenn Du den Generator abschaltest und der Robo sich weit weg vom Schleifenrand befindet?
Bei meinem Störsignalpegel kann ich diesen Zustand gar nicht erkennen.
Gruss
jguethe
Induktionsschleife und Sensor
Hi Christian, MichaelM, Sigo und alle, die mitlesen
besten Dank für die ausführlichen Infos zum Thema Störungen. Ich werde es wohl auch mit Mu-Metall versuchen, auch wenn es etwas teuerer ist. Es ist wohl die beste Methode.
Als ich meinen Solarmover (in 1997 gekauft) entsorgen wollte habe ich einige Teile aufbewahrt. Die Sensorspule habe ich leider entsorgt. Allerdings habe ich noch die Generatorplatine. Vor 2 Jahren hatte ich daraus sogar schon mal einen Schaltplan abgeleitet. Das ist möglich, weil die Bauteile damals noch nicht so miniaturisiert waren. Leider kann ich die Datei in meinem PC nicht wiederfinden; möglicherweise gelöscht. Ich bin dabei, den Schaltplan erneut zu rekonstruieren. Damals hatte ich auch schon mal etwas gemessen, jedoch ohne Osci. Ich erinnere nur, dass der Generator mit einer höheren Frequenz arbeitet. Die Funktionsweise muss aber wenigsten teilweise ähnlich sein, denn in der Installationsanweisung zum Generator war exakt vorgeschrieben, an welchen „Pol“ die Schleifenenden anzuschliessen waren. Das durfte nicht beliebig sein. Hierdurch wurde offenbar auch beim Solarmover bestimmt, ob der negative oder positive peak zuerst auftrat.
Ich werde demnächst mal versuchen, die Generatorplatine in Betrieb zu nehmen und ein bisschen messen.
Da ich nun erstmal Mu-Metall ordern muss, kann ich mich auch einer weiteren Baustelle, nämlich der softwareseitigen Regelung der Antriebsmotoren über PWM zuwenden. Meine Methode funktioniert prinzipiell. Ich meine nur, dass das noch nicht optimal ist. Möglicherweise mache ich das sehr umständlich, zu kompliziert oder stelle zu hohe Anforderungen an die Regelung. Für einige Hinweise wäre ich dankbar.
Mein Ansatz ist in Stichworten wie folgt:
Drehgeber: über Magnet auf Rotorachse und Hallsensor, je Rotorumdrehung 2 Impulse, die Getriebe-Untersetzung ist 90:1, so dass je Radumdrehung 180 Impulse anfallen, die durch INT0 und INT1 gezählt werden.
Software:
In der Timer0_isr vergleiche ich die gezählten Rotorimpulse mit einem empirisch ermittelten Sollwert und erhöhe oder vermindere dann den PWA-Wert für rechts und links getrennt. Ich habe dabei einige softwaremäßige Verrenkungen gemacht, um eine vernünftige „Auflösung“ und damit eine feinfühlige Regelung zu erreichen. Im Prinzip funktioniert es; ganz zufrieden war ich aber bisher nicht.
Ich hatte immer den unbestimmten Eindruck, dass ich einen falschen Ansatz habe. Insbesondere wenn ich daran denke, dass der Radencoder von Christian H nur etwa 20 Impulse je Radumdrehung liefert und offenbar auch eine vernünftige Regelung ermöglicht.
Just in diesem Moment (also beim Schreiben dieser Zeilen) kam mir folgende Erleuchtung - wenn sie denn eine ist - :
Timer0 mit niedrigem Prescale konfigurieren, so dass pro Zeiteinheit reichlich Aufrufe der Timer0_isr erfolgen. Die Anzahl dieser Aufrufe zwischen 2 Rad-/ Rotor-Impulsen zählen und in den INT0 und INT1-Service-Routinen mit einem Sollwert vergleichen usw.
Falls ich mit dieser Idee richtig liege, würde mir ein kurzes OK reichen; die Rest kriege ich dann - hoffentlich - schon hin.
Gruss an alle
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
so halbwegs steht der neue Rasenrobo. Die Verdrahtung ist etwas chaotisch, da ich alle Teile auf 2 Etagen neu arrangiert habe, ohne umzulöten. Überhaupt hat die Kisten nichts von der Präzision mit der andere hier arbeiten, z.B. Klington. Vorerst ist alles aus Plexiglas und Balsa. Ob die Räder auf Rasen durchdrehen werden, kann ich auch noch nicht sagen. Falls ja, werde ich erst die Räder mit Profil versehen (reinsägen oder mit Lötkolben). Ggf. weitere Plexiglasscheiben um die Räder breiter zu machen. Passende fertige, schmale Räder in der Größe habe ich nicht gefunden.
Anbei einige Bilder und 2 Videos. Die Monitorbilder zeigen einmal die Anzeige der Sensoren ohne Schleife, einmal mit angeschalteter Schleife. Auf den Bildern kann man erkennen wie das Mu-Metall um die GLocke vom RM-Motor gewickelt ist, sowie um den Antriebsakku. Dieser steht übrigens nicht einfach nur per Zufall hochkant, sondern weil hierdurch ebenfalls die Induktion in die Sensoren vermindert wird. Flach liegend wäre die Störung zu stark. Man sieht auch, dass die Sensoren in Höhe des RM-Motors angeordnet sind.
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
Bild hier
videos:
http://www.rasenrobo.de\IMGP2003.avi
http://www.rasenrobo.de\IMGP2006.avi
Grüsse
Christian
Liste der Anhänge anzeigen (Anzahl: 4)
Hallo,
die Elektronik ist komplett von mir, die Motoren sind von Pollin (wahrscheinlich Fensterheber), die Räder ebenso. Der Grundaufbau besteht aus 16mm Pressspan. Hinten wo die Lötzinnrollen liegen ist noch Platz für einen zweiten Akku 12V/7Ah. Die Räder sind natürlich für die Wiese ungeeignet, aber es geht ja nur um die Steuerung. Die Kollisionstaster sind die kleinsten im Baumarkt erhältlichen Schrankscharniere (Bänder) mit aufgeschraubtem Gartenschlauch. Darunter befinden sich Taster und Druckfedern (2 vorne, 2 in den Schrägen und je 2 an den Seiten). Die Platinen (100x160) haben 96pol. Steckverbinder und sind somit leicht auswechselbar, man will ja schließlich was ausprobieren. Für die Motoren sind immer 6 Pins parallel, für die Steuerstromversorgung immer 3 Pins, Signale einfach. In Fahrtrichtung von links nach rechts:
Leistungsplatine: Fahrtregler links, rechts, Mähmotor, Stromversorgung 5V und 9V
Antriebsplatine: PIC16F877 mit Treibern für die Mosfets, später noch Geberauswertung
Hauptrechner: PIC16F877 mit Kollisionstasterabfrage, 256Byte RAM, 256Byte EEPROM, das Ram fungiert als Server: alle schreiben ihre Daten dorthin und lesen von dort.
(frei)
(frei)
Kommunikationsplatine: PIC16F877 mit Display (2 x 16) für die 256 Parameter mit Parameterbeschreibung, Tasterabfrage, evtl. Drehencoder, RS232, vielleicht mal Funk.
Der Datenverkehr läuft per I2C im Multimasterbetriebimmer zum RAM, d.h. alle Controller sind Master, RAM ist einziger Slave. Ist zwar etwas aufwändiger aber man bleibt flexibel. Auf der linken Seite neben den Platinen befindet sich noch der Hauptschalterund die Sicherung, auf der rechten Seite der general-Reset, eine Buchse für den Programmer/Debugger (ICD2-Nachbau) sowie ien Drehschalter um die zu programmierende Platine auszuwählen (kein lästiges Umstecken). Die Motoren halten einen Dauerbetreib bei 12V nicht durch, nur etwa 10 bis 15 Minuten. Ich arbeite mit 8Bit PWM (19,5kHz) und gebe einen Wert von ca. 100 dez. vor, also ca. 40%. Bei etwa 8V dürfte ein Dauerbetrieb möglich sein. Die Motoren sind sehr stark, Wenn man ohne Rampe mit 12V anfährt geht das Modell vorne ca. 12cm hoch und die Räder berühren den Beden erst wieder nach ca. einer Fahrzeuglänge. Maximalgeschwindigkeit ca. 2,5km/h. In der Wiese habe ich den Stromverbrauch noch nicht gemessen, die 0,8A verstehen sich natürlich ohne Mähmotor (noch nicht montiert). Ob ich jemals einen Mäher montiere weiß ich noch nicht, ist ja nur ein Versuch. Vielleicht lasse ich das Ding im Hof mal einen Kreidestrich ziehen. Softwaremäßig funktionieren bei mir jetzt die Grundfunktionen, die Ausweich- und Fahralgorithmen müssen alle noch rein. Ach ja, der Multimasterbetreib (I2C) hat mich ein wenig Nerven gekostet, da bei Mikrochip rech bescheiden dokumentiert und im Hobbybereich nicht unbedingt verbreitet, funktioniert jetzt aber bestens.
(Ich möchte aufgrund der vielen Mikrocontroller nicht wieder die Debatte über die Effizienz entfachen.)
Gruß,
Michael
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
nachdem es immer noch regnet habe ich mal einen Plan gezeichnet. Die Schaltung wird vorne und hinten am Roboter bei den Motoren und Akkus angebracht. Ich habe dann ca. 10cm Abstand zu den Motoren und 5cm zum Bleiakku. An diesen Punkten messe ich eine Störspannung von ca. 1,2mVs, die Schaltung reagiert ab ca. 2mVs.
Zur Schaltung: OP1 verstärkt das Signalum den Faktor 13. R5 und R6 bilden eine virtuelle Masse, die Widerstände sind unsymmetreisch weil der OP nur etwa bis 4V aussteuern kann. R3 legt den Gleichstromarbeitspunkt für OP1 fest. Mit R7, R8 und OP2 ist ein Schmitt-Trigger aufgebaut, R8 legt die Empfindlichkeit fest (wahrscheinlich noch kein endgültiger Wert). R9 und C3 glätten das Ausgangssignal zu konstant High oder Low (innen oder außen). Die Pulse an K3 (Breite ca. 150µs) muss ich später noch auswerten um eine Funktionskontrolle zu erhalten. Meine Sendeschaltung gibt einen Impuls von 50V für 150µs auf die Schleife, der Strom steigt dabei auf ca. 15A an. Gepuffert wird die Spannung von einem 1mF Elko, im Mittel ergibt sich bei 10Hz eine Stromaufnahme von nur 20mA. Damit beide Spannungsspitzen der Spule verwendet werden können, befindet sich am Draht keine Freilaufdiode, Der Mosfet (IRF3705, gut und günstig) ist bereits durch seine eigene Schutzdiode geschützt und wird auch nicht warm. Ich werde den Garten evtl. in 2 Bereiche aufteilen damit die Schleife nicht so groß wird. Bei 3,2Ohm Schleifenwiderstand und 50m² habe ich in 1m Entfernung ca. 130mVs in der Spule. Der Puls von 150µs reicht hier vollkommen aus, längere Pulse bringen nichts außer höherem Stromverbrauch, es müssen nur die 15A erreicht werden. Den Verstärker mitzukoppeln lief bei mir nicht sicher genug, es gab bei zu schwacher Dämpfung des öfteren Schwingungen, bei stärkerer Dämpfung war die Verstärkung zu schwach.
Gruß,
Michael
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
der Dauerregen hat endlich aufgehört. :-)
Ich habe heute den DC-gekoppelten Empfänger zweimal aufgebaut und am Roboter getestet. Dazu im Hof auf einer Fläche von ca. 8m x 7m Klingeldraht ausgelegt, natürlich schön mit Ecken und Sackgassen. Der Draht hatte einen Widerstand von 2,4 Ohm, den Sender habe ich mit 8V gespeist, d. h. der Strom stieg auf etwa 3,3A an. Wenn der linke Sensor den Draht erreicht fährt der Roboter 1s zurück, dreht 1s nach rechts und fährt wieder vorwärts, beim rechten Sensor fährt er 1s zurück, dreht 2s nach links und fährt wieder vorwärts. Die Zeiten müssen unterschiedlich sein sonst fährt er sich fest. Selbst mit diesem einfachen Programm hat er jede Ecke erreicht und konnte sich auch wieder befreien. Das Ganze lief heute knapp 2h. Die kniffligste Stelle war eine "Keule" mit 2m Länge 80cm Breite und einem Eingang von 50cm. Jetzt müssen hinten noch 2 Sensoren ran, außerdem muss die Schleifenfunktion noch überwacht werden. Interessant wird dann noch der Test mit einer großen Schleife, werde dazu mal ein paar Kabeltrommeln suchen. Bei 1,5mm² und 250m hat man ca. 3 Ohm, dann kann man ja noch parallel schalten und kommt auf 1 Ohm. Hoffentlich wird die Induktivität nicht zu hoch.
Gruß,
Michael