Hi, ich habe als Facharbeit ein Foucaultsches Pendel gebaut und es mittels eines Elektromagneten in der Mitte entdämpft, der es immer wieder anstößt. Da sich das Pendel nur sehr langsam dreht, etwa 1 mal alle 32,2 stunden (http://de.wikipedia.org/wiki/Foucaultsches_Pendel), wollte ich eine art Fortschrittsanzeige einbauen. Sie sollte aus 36 Sensoren und 36 LEDs bestehen die beim betätigen des Sensors immer aus- bzw. eingeschaltet werden. Sie sollen kreisförmig, mit jeweils 10° Abstand, auf dem Untergrund angeordnet werden. Als Sensoren wollte ich Reed-Kontakte verwenden da durch den "Antrieb" schon baubedingt ein Dauermagnet im Pendelkörper eingebaut ist. Leider kenne ich mich noch nicht so sonderlich gut mit Mikrocontrollern aus und arbeite mich gerade erst ein, aber ein Problem geht mir einfach nicht aus dem Kopf: Ich finde einfach keinen Controller der 72 Ein- und Ausgänge hat. Soweit ich gehört habe lassen sich auch mehrere Controller miteinander verbinden, da ich jedoch da keinen Durchblick habe wäre es nett wenn ihr mir dazu ein paar Tipps geben könntet. Ach ja ein anderes Problem wird wohl auch die Rechenleistung sein da alle Sensoren entprellt werden müssen und ich dies gern Softwaremäßig erledigen würde. Vielen Dank schonmal im Vorraus!! Phil
Phil schrieb: > Leider kenne ich mich noch nicht so sonderlich gut mit Mikrocontrollern > aus und arbeite mich gerade erst ein, aber ein Problem geht mir einfach > nicht aus dem Kopf: Ich finde einfach keinen Controller der 72 Ein- und > Ausgänge hat. Das ist auch Overkill. Mit Schieberegistern kann man sich beliebig viele Eingänge (na ja) zurechtzimmern. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister > Soweit ich gehört habe lassen sich auch mehrere Controller > miteinander verbinden, da ich jedoch da keinen Durchblick habe wäre es > nett wenn ihr mir dazu ein paar Tipps geben könntet. Das willst du mit Sicherheit noch nicht. Probleme werden meistens nicht einfacher, je mehr Prozessoren man auf das Problem ansetzt. > Ach ja ein anderes Problem wird wohl auch die Rechenleistung sein Ganz sicher nicht. Dein µC wird sich zu Tode langweilen.
Wie erwähnt Schiebe Register oder mehrere µCs Frage ist wie weit du gehen willst ;-) Für den Anfänger sehen mehrere µCs am anfang einfacher aus- aber Schiebe register helfen dir mehr
Ok also erst ma vielen Dank für die schnelle antwort (hätt gedacht ich muss bis morgen warten :)). Also wärs deiner Meinung nach am besten möglichst viele Eingänge an eine Controller zu zimmern oder? Was mir noch gekommen ist es müsste egtl. immer nur ein Eingang überprüft werden nämlich einfach der nächste der an der Reihe wäre. Denkst du ich könnte das schaffen (hab Zeit bis Dezember) oder ist es einfach so gut wie unmöglich? Phil
Hmm, bei 10° Genauigkeit bei einem Pendel brauch ich nur 18 Sensoren (die jeweils Gegenüberliegenden sind redundant zueinander, du brauchst also nur einen Halbkreis) "Entprellt" im herkömmlichen Sinne müssen die auch nicht werden. Der n*10Grad Zustand wird einfach mit dem ertsen Schließen desentsprechenden Reeds aktiv. Weitere Impulse (sowohl Preller als auch einfach durch die Pendelbewegung ausgelöste Wiederholungen) werden einfach ignoriert. Erst der erste Kontakt des nächsten Sensors löscht diesen Zustand und setzt den Nächsten. D.h. Prell-Impulse haben sowieso keine Wirkung.
Ah vielen Dank für den Tipp mit den 18 Sensoren :) wieso bin ich da nich draufgekommen xD. Naja dann könnte ich mir egtl ein Board mit einem Atmega 128 besorgen. Der hat ja soweit ich weiß 54 Anschlüsse die dann ja reichen würden. Das müsste dann die einfachste Möglichkeit sein denk ich mal (wenn auch nich Preisgünstigste aber das mal beiseite). Mfg Phil
Die übliche billiglösung wäre eine "Tastenmatrix" für die Reed-Schalter und eine LED Matrix für die Anzeige. Alles andere wäre eigenlich Verschwendung.
Viele LEDs, von denen jeweils nur eine Leuchten soll kann man gut als Matrix oder mit Charliepixeling anstuern. Da braucht man für 36 LEDs nur 12 bzw. 5 IO-Ports. Etwas ähnliches ist eventuell auch für die Sensoren möglich. Die Sensoren werden dann nacheinander abgefrage, schließlich geht das ganze ja realtiv langsam. Reed Relas könnten ein Problem werden, wegen der Rückwirkung auf das Pendel. Weniger Rückwirkung hätte man mit Hall Sensoren oder einfach Induktionsspulen (ohne Kern). Je nach Art des Sensors wäre es auch möglich mit weniger Sensoren auszukommen, weil man Zwischenwerte, wo 2 Sensoren ansprechen auch verwenden kann. Eine andere Alternative wären auch Reflexlichtschranken wie CNY70.
Naja, Herrn Buchegger nicht vergessen. Mit seinem Vorschlag brauchst du 2 Pins für jedes beliebige Ausgabemuster. Schieberegister in Reihe. Ein Signalausgang, einen Schiebetakt. Gleiches Prinzip lässt sich dann auch nochmal bei den Sensoren anwenden. du musst zu jedem Zeitpunkt immer nur einen beobachten, den Nächsten. Du kannst also in dem du einfach nur einen dieser Reeds "befeuerst" (Also je den nächsten den du erwartest, nur dran denken keine Kurzschlüsse zu verursachen) den Fortschritt auswerten. Sprich auch hier reicht ein die Ansteuerung eines Schieberegisters. Also nochmal 2 Ausgänge und einen (von allen Reeds angesteuerten) Eingang. Wenn du davon ausgehst, dass du die Anzeige immer an hast und immer nur eine An ist, dann kannst du das Anzeige-Schieberegister auch zur Versorgung des nächsten Reeds hernehmen. Brauchst dann ganze 2 Ausgangspins und einen Eingang für alles. Das dürfte deine uC wahl vereinfachen :-P
Maxx schrieb: > Brauchst dann ganze 2 > Ausgangspins und einen Eingang für alles. Dafür brauchst du aber auch Schieberegister und eine Menge Leitungen. Immer nur einen Reed-Schalter zu beobachten ist unsicher... was passiert, wenn jemand das Pendel von Hand anstösst ?
Ohforf Sake schrieb: > Maxx schrieb: >> Brauchst dann ganze 2 >> Ausgangspins und einen Eingang für alles. > > Dafür brauchst du aber auch Schieberegister und eine Menge Leitungen. Eine Menge Leitungen brauchst du sowieso. Egal wie du's machst. Da hab ich lieber rund um den 'Pendelkreis' regelmässig eine kleine Platine sitzen, die alle miteinander und mit dem µC mit einer 5-Draht-leitung verbunden sind. > Immer nur einen Reed-Schalter zu beobachten ist unsicher... was > passiert, wenn jemand das Pendel von Hand anstösst ? OK. Überzeugt. Dann eben 2 Schieberegister pro Platine. Eines für die Relais, eines für die LED. Und statt der 5-Draht Leitung dann eben eine mit 7
Eine Matrix würde ich nicht bauen. Das würde ja nur funktionieren, wenn immer nur ein Kontakt schließt. Es ist aber nicht sichergestellt, dass der Magnet in einer Zwischenposition am Kreis nicht zwei Schalter betätigt. Eine gewisse Überlappung der Schaltbereiche ist eventuell sogar sinnvoll. So ein großer Aufwand ist das mit den Schieberegistern jetzt nicht. Vielleicht kann man auch einfach ein Banking für die Ports bauen. Dabei werden über Buffer jeweils 8 Schalter an einen 8-bit-Port des Mikrocontrollers geschaltet. Wenn es 18 Eingänge sein sollen, reichen 3 Buffer aus. Über drei weitere Portpins selektiert man einen der Buffer, der die jeweiligen 8 Eingänge auf den Leseport durchschaltet. Grüße, Peter
Karl heinz Buchegger schrieb: > Eine Menge Leitungen brauchst du sowieso. Egal wie du's machst. Da hab > ich lieber rund um den 'Pendelkreis' regelmässig eine kleine Platine > sitzen, die alle miteinander und mit dem µC mit einer 5-Draht-leitung > verbunden sind. Hast du schon mal ausprobiert, wie lang die Leitungen sein dürfen ? Wenn ich dich richtig verstehe, kommen die Schieberegister in die Nähe der Reed-Schalter und der Controller wird einige Meter entfernt sein. Ich meine Signale mit TTL-Pegel (oder so) sind ziemlich störempfindlich.
Der Controller wird relativ nah an den Sensoren sein da alles in einem Kasten aus Plexiglas untergebracht wird. also maximal 40cm entfernt davon.
Erst mal Entschuldigung für Doppelpost. Soweit ich das mit den Schiberegistern mitbekommen habe Schieben diese die Signale einfach weiter und diese werden dann der Reihe nach vom Controller ausgewertet. Entsteht dabei nich das Problem, dass diese genau zum "flaschen" Zeitpunkt weiter geschoben werden wenn das Pendel sich schon wieder auserhalb des Einflussbereiches des Kontaktes befindet? oder ist die Abrufrate so hoch, dass dies keine Rolle spielt? Phil
Die Schalter werden mit einer höllischen Geschwindigkeit abgefragt. Wenn du zum beispiel einen aktuellen PIC16 Controller (20Mhz) benutzt, hast du immerhin 5 Millionen Befehle pro Sekunde. Billige Atmel AVRs sind bei gleicher Taktfrequenz sogar 4 mal so schnell. Hier ein guter Artikel über AVRs und Schieberegister : http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister
Ohforf Sake schrieb: > Hast du schon mal ausprobiert, wie lang die Leitungen sein dürfen ? Jep. Ich hatte so um die 50 cm zwischen den Platinen und von den Platinen 30 bis 40cm zu den jeweiligen LED. Gesamtlänge des Strangs mit 8 Stück 595 so um die 2 bis 2 1/2 Meter. Die Schieberegister mit Volldampf angesteuert, damit ich jede LED einzeln mit Software PWM dimmen kann.
Phil schrieb: > Entsteht dabei nich das Problem, dass diese genau zum "flaschen" > Zeitpunkt weiter geschoben werden wenn das Pendel sich schon wieder > auserhalb des Einflussbereiches des Kontaktes befindet? oder ist die > Abrufrate so hoch, dass dies keine Rolle spielt? Du unterschätzt massiv die Geschwindigkeit der Teile. Dein µC kann die Eingangsschieberegister so schnell abfragen, dass sich zwischen 2 Abfragen das Pendel um keinen ganzen Millimeter bewegen kann. Wahrscheinlich noch nicht einmal einen Zehntelmillimeter.
Peter Diener schrieb: > Eine Matrix würde ich nicht bauen. Das würde ja nur funktionieren, wenn > immer nur ein Kontakt schließt. Es ist aber nicht sichergestellt, dass > der Magnet in einer Zwischenposition am Kreis nicht zwei Schalter > betätigt. Eine gewisse Überlappung der Schaltbereiche ist eventuell > sogar sinnvoll. ZB um die Anzahl der Sensoren abermals zu halbieren: Ordnet man die Sensoren so an, daß bei entsprechender Position zwei oder ein Sensor ansprechen, kommt man mit der Hälfte+1 aus.
1 | -> Winkel |
2 | 222 444 666 8... |
3 | 1 333 555 777... |
Der µC empfängt nacheinander 1+2,2,2+3,3,3+4,4,4+5,5,... Problem wird sein, die Sensoren so zu platzieren, daß sich die Einzugsbereiche entsprechend überlappen. Eine weitere Reduzierung der Eingänge auf ganze 2 bringt eine Gray-Codierung der Sensoren: Alle geraden bzw. alle ungeraden Reed-Relais werden parallel geschaltet, was einem ODER entspricht. Die Auswertung funktioniert dann genau wie bei einem Drehgeber. Der Nachteil dabei ist, daß man die absolute Position nicht kennt bzw. erst einmal kennen muß, indem das Pendel immer an der gleichen Winkelposition gestartet wird.
Johann L. schrieb: > Ordnet man die Sensoren so an, daß bei entsprechender Position zwei oder > ein Sensor ansprechen, kommt man mit der Hälfte+1 aus. äh... das geht schon mit rund 1/3, also
1 | -> Winkel |
2 | A222 444 666 888 AA... |
3 | 11 333 555 777 9991... |
Das wären 10 Sensoren, die 18 unterschiedliche Positionen liefern. A überdeckt sich mit 1 weil sie fast diametral gegenüber liegen.
Wäre es jetzt overkill hier PCF8574 (oder die 16-Bit SMD-Variante PCF8575) vorzuschlagen? Sind I2C Expander und können aber auch einen Interrupt auslösen bei Änderung. Meine Idee: 3 PCF8574 in "Input mode" schalten, sprich die Ports auf H setzen. Über einen Vorwiderstand gegen +Vdd werden alle LED (mit der Kathode zum Port) versorgt, da immer nur eine leuchtet. Die Ports des I2C werden gleichzeitig über die Reed-Kontakte (mit X markiert) gegen masse geschaltet. Somit passiert folgendes: Im Einschaltzustand, wenn alle Ports auf H liegen, sind die LED aus. Wird nun ein Port durch den Reed auf 0 gezogen, löst der Chip einen Interrupt aus. Die Bausteine werden eingelesen und der entsprechende Port auf "L" gezogen und die anderen auf H. Damit löst dieser 1) keinen weiteren Interrupt aus und die LED leuchtet. Den aktiven Port muß man sich merken Wenn das Pendel nun einen anderen Reed-Kontakt aktiviert und einen INT auslöst, dann werden alle Ports bis auf den neuen(!) auf H gesetzt und das Spiel beginnt von neuem. Alternativ könnte man auch die letzten 2 aktivierten Ports auf L lassen,als Beispiel: Reed 0 (an IO 0) wird aktiviert -> LED 0 leuchtet, alle anderen aus. Reed 1 wird aktiviert -> LED 1 leuchtet zusätzlich. Reed 2 wird aktiviert -> LED 2 leuchtet, LED 0 geht aus. Reed 3 wird aktiviert -> LED 3 leuchtet, LED 1 geht aus. usw. damit würde man auch die überschneidungen in den Griff bekommen. Widerstände sind zwar nicht so teuer, aber man könnte jeweils alle LED an den ungeraden IO-Ports über einen Widerstand versorgen, und über einen zweiten die anderen LED (es würde ja - eigentlich - nur aus jedem Zweig eine LED leuchten). Ich hoffe da hat sich kein Denkfehler eingeschlichen :) Gruß Torsten
Wenn immer nur die LED leuchten soll über die der Pendel schwingt braucht man keinen µC. Jede LED kriegt eine kleine Nachlaufelektronik mit Reedschalter. Die Nachlaufzeit natürlich länger als die Schwingungsdauer. Beispiel: http://www.ferromel.de/tronic_1879.htm (Schaltung 4) Verdrahtung ist dann nur Versorgung. Aber warum einfach wenn es auch kompliziert geht ;) avr
Die LEDs sollen doch sicher eine ganze Weile an bleiben, um so etwas wie die Sandspur im Wikipedia-Beitrag zu emulieren, oder? Da würde ich CD4093 mit hochohmigen RC GLieder im Eingang und eben den Reed austatten und somit Leuchtzeitpunkt und -dauer und die Nachlaufzeit jeder einzelnen LED mit je einem Gatter lösen.
Ja genau es sollte so eine Art "Spur" ergeben. Ich dachte mir dass jeweils alle LEDs aktiviert und dann im 2. Umlauf nach und nach wieder deaktiviert werden und dann im 3. wieder angeschaltet usw. Natürlich sind andere Möglichkeiten auch willkommen es ist halt nur wichtig in etwa den Zeitverlauf zu erkenn dass auch Leute die nicht unbedingt ein paar Stunden daneben warten wollen erkennen können, dass sich das Pendel bewegt. Mfg phil
Darauf wollte ich hinaus... Also völlig neuer Ansatz und ist doch ein wenig mehr Logik drinnen, als nur mal eben die Letzte, vorletzte, und übernächste LED zu steuern, sach ich jetzt mal so ;) Läuft irgentwie auf Multiplexing hinaus mit Eingangsüberwachung in den Leuchtpausen der LED. habe ich leider iM keine Zeit, mir etwas dazu auszudenken, schade... Gruß Axelr.
Hallo, nur mal so als Gedanke am Rande ... Der Fragesteller ist neu im Gebiet, die Aufgabe aber (leicht) machbar. Er sollte lieber was mit viel statischen Signalen machen, und wenig dynamisch. Also finde ich einen Prozessor mit vielen IO wesentlich besser für ihn als Multiplexer, Matritzen oder sonstwas. Dynamisches Debugging mit einfachen Meßmitteln ist nicht immer einfach, und der Frust kann dann ganz schön wachsen. Ciao, Günter
Alles ist für einen Neuling besser als eine Unzahl an Controllern nur aus dem einen Grund miteinander verbinden zu wollen, um auf die benötigte Anzahl an Pins zu kommen. Es gibt viele Alternativen, wie man auch mit wenig vorhandenen Controller-Pins diese Menge an I/O Leitungen bekommen kann. Matrix ist sicherlich anspruchsvoller, Schieberegister sind eigentlich ziemlich banal. Aber egal wofür man sich entscheidet: Die Lösung, mehrere Controller zu benutzen wäre meine absolut letzte Wahl.
Hmm, soweit ich das sehe sind für die Position nur ganze 2 Eingänge plus evtl. noch einen dritten für eine Nullposition nötig, Schieberegister werden keine gebraucht. Warum? Ganz einfach: das Pendel dreht sich nur in eine bestimmte (vorher bekannte) Richtung weiter, und das auch noch mit grössenordnungsmässig bekannter Winkelgeschwindigkeit. Alle Sensoren (Schliesserkontakte in irgendeiner Form) an gerader Position werden parallel geschaltet an den einen Pin gehängt, alle ungeraden Positionen auch wieder parallel an den anderen. Nehmen wir an, die aktuelle (und bekannte) Position des Pendels ist gerade auf einem "geraden" Sensor n. Dann kann als nächstes nur der Sensor n+1 (ungerade) auslösen, sobald dies geschieht wird im Controller um eine Position weitergeschaltet. Anschliessend ist dann wieder ein Sensor an gerader Position an der Reihe. Jetzt ist es denkbar, dass das Pendel, wenn es sich genau auf der Grenze von zwei Sensorbereichen befindet, mal den einen und mal den anderen auslöst. Hier kommt die bekannte Drehgeschwindigkeit ins Spiel, es muss einfach z.B. via Timer verhindert werden, dass viel zu schnell schon wieder weitergeschaltet werden kann. "Entprellung" ist damit dann im Prinzip auch gleich erledigt. Selbst mit Hallsensoren, um auch Zwischenpositionen erkennen zu können, lässt sich das Prinzip anwenden, allerdings könnte es hier dann evtl. Probleme wegen den vielen parallel geschalteten Hallsensoren geben. Auch noch zu bedenken: es muss (bzw. sollte!) nur der halbe Kreis mit Sensoren ausgestattet werden. Das Pendel schlägt in beide Richtungen gleich aus, deshalb ist aus Sensorsicht bereits nach 180 Grad Drehung wieder der gleiche Zustand erreicht, nicht erst nach 360 Grad (zeitlich nach 16,1 Stunden, nicht nach 32,2). Für die Anzeige mit LEDs kann man dann Schieberegister, Matrixschaltung mit Multiplexing, etc. benutzen, um die Zahl der Controllerpins zu reduzieren. Andreas
Man muß ja nicht so extrem mit Pins sparen. Eine Matrixschaltung für die LEDs ist auch für einen Anfänger noch realtiv einfach. Für tests kann man das ganze einfach extrem langsam laufen lassen, dann ist auch ein Test an einem Dynamischen System nicht so schwer. Wenn man die Matrix fast entartet macht, z.B. als 18 x 2, hat man auch auch keine Problem alle LEDs an zu haben. Man kann dann die 18 Leitungen zusätzlich zur Steuerung des LEDs auch zum Abfragen der Sensoren nutzen. Wenn man die Sensoren passend auf die Gruppen aufteilt (sofern man mehr als 18 Sensoren braucht) , hat man auch kein Problem, wenn 2 benachbarte Sensoren gleichzeitig ansprechen. Man kommt dann auf 21 oder 22 IO Leitung, ein Bereich in dem sich gut lötbare µCs finden lassen.
Warum nicht Charlieplexing verwenden? Wurde weiter oben schon genannt. Geht auch mit Schaltern. Es reichen 5 Eingänge für max. 20 Schalter und 5 Ausgänge für max. 20 LED. Artikel gibt es hier an Bord oder auf Hoher See: http://en.wikipedia.org/wiki/Charlieplexing
Zur Positionsbestimmung würde ich mir überlegen, zwei Spulen im Zentrum mit 90-Grad-Versatz einzubauen, also eine Achse z.B. in Nord/Süd-Ausrichtung, die andere Ost/West. Der Verlauf der induzierten Spannung eines Magneten (ist der nicht eh schon vorhanden?) im Pendel ergibt die Pendelrichtung.
@ Eddy, so ähnlich dachte ich auch schon an analoge Hall-Sensoren. Da wäre aber zu klären, ob sich der Magnet am/mit Pendel verdrehen kann....
Mir auch. Dazu müsste Phil (erster Beitrag, erster Satz) näheres sagen. Da stellt sich mir gleich die Frage ob das Ganze nicht auch mit z.B. 3 oder mehr Lichtschranken im Pendelbereich machbar ist. Wenn ich die Lichtschranken als gleichseitiges Dreieck innerhalb des Pendelbereichs anordne und die Zeit zwischen dem Hin- und Rücklauf des Pendels (einer Seite) messe sollte sich das doch auch berechnen lassen oder?
Hmm interessante Fragestellung. Ich denke aber, dass sich daraus die aktuelle Schwingungsebene nicht eindeutig errechnen lässt. Begründung: Siehe Zeichnung. die beiden grün eingezeichneten Wege sind gleich lang und du misst daher identische Zeiten. Aber mit 2 gegeneinander verdrehten Dreiecksanordnungen könnte es gehen.
Das Charlieplexing ist gut, wenn man nur eine oder wenige LEDs gleichzeitig Leuchten lassen will, denn es brennt zu jeder Zeit nur eine LED. Wenn mehr als etwa 5 LEDs gleichzeitig hell sein sollen geht, reicht dann oft der Strom der IO Ports nicht mehr aus, und externe Treiber sind kaum praktikabel, weil man ja nicht nur H/L sondern auch einen Off Zustand braucht. Das Magnetfeld wird schon am Pendel nach unten zeige. Schon deshalb, damit von dem magenten kein Drehmement auf das Pendel wirkt und den Effekt verfälschen könnte. Die Methode mit der Spule in der Mitte könnte gehen, allerdings hat man im Zentrum auch die Spule für den Antrieb. Solange der Antrieb arbeitet wird man vermutlich zu viel Störungen bekommen. Wenn man Lichtschranken nehmen will, sollten Refelxlichschranken von unten einfacher sein. Mit der Auswertung der Zeiten und einer Menge Mathematik könnte man wohl auch Zwischenwerte herausbekommen.
>Elektromagneten in der Mitte entdämpft, der es immer wieder anstößt.
Ich denke das er durch diese Anordnung den Zeitpunkt des Nullpunktes
genau bestimmen kann. Wenn man den in die Rechnung einbezieht und die
kürzeste Zeit bis zur ersten Lichtschranke auswertet weiß man auch in
welchen Quadranten das Pendel ist.
Interssantes Thema :)
Karl heinz Buchegger schrieb: > Hmm interessante Fragestellung. > Ich denke aber, dass sich daraus die aktuelle Schwingungsebene nicht > eindeutig errechnen lässt. > > Begründung: Siehe Zeichnung. > die beiden grün eingezeichneten Wege sind gleich lang und du misst daher > identische Zeiten. > > Aber mit 2 gegeneinander verdrehten Dreiecksanordnungen könnte es gehen. hmmm, sollte gehen, wenn man nicht die Zeitdifferenzen hernimmt sondern den durch das Pendel erzeugten Zeitintervelle misst. Dann reichen sogar 2 Lichtschranken, die den Halbkreis überdecken. Von der AUswertung her wird das allerdings sportlicher als mit Reed-Relais :-)
Hmm, wenn wir schon bei gänzlich exotischen Ansätzen sind, hätte ich auch noch einen ;-) Im Pendel einen Ultraschallsender unterbringen, und mit zwei um 90% versetzten Empfängern die Dopplerverschiebung messen. Die Richtung ergibt sich aus relativer Amplitude und Phasenlage der beiden Signale nach Frequenz-Demodulation. Andreas
Ich hab auch noch einen exotischen Ansatz: Man baue einen digitalen Kompass in die Mitte des Kreises. Das Pendel hat einen senkrecht stehenden Magnet. Sobald der Magnet außerhalb des Zentrums ist, jedoch noch nahe daran, zeigt der Kompass die Richtung des Pendels an. Damit man das auch gut messen kann, muss man zum Zeitpunkt der Messung die Antriebsfeldspulen kurz abschalten. Grüße, Peter
Hi, ja genau der Magnet im Pendel ist ein Stabmagnet und zeigt nach unten. Anders wäre es auch schwer zu realisieren und bei diesem Pendel sollten die Störfaktoren möglichst klein gehalten werden. Vielen Dank schonmal für eure Ideen. Interessant finde ich auch die letzte mit dem Kompass^^ Mfg phil
Und warum nicht einfach für jede LED ein SR-Flip-Flop? Die Lösung kommt ohne Mikrocontroller aus und ist um längen einfacher. Der Reed-Kontakt kommt an das S und das R wird von einem Taster fest verdrahtet. mfg, Stefan.
Mir ist auch noch eine Messvariante eingefallen: Da diese Pendel meist einige kg haben, könnte man das Pendel an einem Biegestab aufhängen und die Kräfte mittels DMS in 2 Achsen messen. Daraus sollte man relativ einfach die Pendelebene berechnen können. Der Analogteil ist allerdings etwas aufwendig (wobei es davon abhängt, wie viel man selbst bauen möchte).
ich finde die Idee ohne µC nicht schlecht. Sie ist sehr gut erweiterbar auf eine beliebige genauigkeit. Ich würde es mit einfachen Flip-Flops machen. Der Reed kontakt setzt den Ausgang und resetet alle anderen FF. Wenn das setzen Vorrang hat dann bleibt dann immer eine LED an. man bräuchte dafür nur eine kleine Platine mit Reed, FF, LED und Widerstand, eventuell noch ein Tranistor für die LED. Die Platinen müssten nur mit 3 Leitungen verbunden sein( Masse, Spannung, Reset ). Oder überseh ich was?
Hallo! Ich schließe mich der Meinung von Ulrich an: Reed- Kontakte sind sehr problematisch. Hatte mal ein "normales" Pendel mit elektromagnetischem Antrieb gebaut. Zur Erkennung des Nulldurchganges kam ein Schlitzinitiator zum Einsatz und das Pendel funktionierte sehr gut. Dann hatte ich probeweise einen kleinen Magneten ans Pendel gebaut und mit einem Reedkontakt den Nulldurchgang gemessen. Die Ausschwingzeit des unangetriebenen Pendels hatte sich dadurch halbiert, auch der Antriebsstrom bei laufender Elektrik mußte verdoppelt werden. Für das Pendel hatte ich ca. 35 kg Bleigewicht verbaut, Pendellänge ca.2,25m. Beim Foucaultschen Pendel stelle ich mir den Einfluß der Reedkontakte als besonders problematisch vor, weil dann das Pendel in der Ebene eines Reedkontaktes "einrastet", d.h. die Kraft zwischen Magnet/ Reed kann das Pendel in einer Schwingungsebene festhalten. Die Wirkung läßt sich aber im Vorfeld gut testen, dazu reicht bereits eine Testanordnung der Reedkontakte mit Klebeband. Ein Foto bzw. ein paar Daten zum Pendel wären hier interessant... ulf.
Wenn der Einfluß so groß ist, dann könnte das Magnetfeld immer noch mit einer Spule, in welcher ein Strom induziert wird, oder mit einem Hall-Sensor detektiert werden. Der Hall-Sensor dürfte den geringsten Einfluß haben. mfg, Stefan
Schon mal an die WW des Permanentmagneten mit dem Erdmagnetfeld nachgedacht?
Die WW mit dem Erdmagnetfeld und andere Effekte sorgen sicher ein wenig dafür dass man aus so einem Pendel kein "Messgerät" bauen kann, jedoch lässt sich der Effekt auf jeden Fall nachweisen. Ich habe schon viele Pendel gesehen die mittels eines solchen Magneten und Spule angetrieben wurden. Auch habe ich schon ein Pendel gesehen das auch mit Reed-Kontakten LEDs schaltet. Jedoch gebe ich Ulf recht und werde das erst noch testen und einfach ein paar Reed-Kontakte aufstellen. Dann kann ich erkennen in wie weit diese Einfluss auf das Pendel haben. Ansonsten wären wohl Spulen oder Hall Sensoren eine weitere Lösung jedoch müsste ich da ein bischen auf die Kosten achten, da diese normalerweise etwas teurer sind. Mfg phil
Hab jetzt nicht alles genau durchgelesen, aber wie wärs mit folgender Anordnung: - Auf einen Schrittmotor kommt eine Scheibe (~10-20cm). Das Ganze steht unter dem Pendel. - In die Mitte der Scheibe kommt deine Entdämpfungsspule - Am Rand der Scheibe kommen zwei Laserpointer die zwei Referenzstrahlen mit einem Öffnungswinkel von ~ 5° oder so. Mit ihnen lässt sich das weiterdrehen der Pendelebene optisch sehr gut verfolgen. Die Pendelspitze läuft zwischen den Strahlen. - Ebenso sind 2 Hallsensoren jeweils in der Achse der Laserpointer angebracht. Mit ihnen wird die Entdämpfungsspule getriggert und die momentane Schwingungseben zwischen den Referenzstrahlen kann vom µP abgeschätzt werden. - Droht die Schwingungsebene aus dem Messbereich zu laufen wird die Scheibe durch den Schrittmotor entsprechend dem Öffnungswinkel weitergedreht. - Sind 360° voll wird die Scheibe um -360° Grad zurückgestellt damits keine Kabelstrangulation gibt. - Beim Einschalten wird mit einem Suchlauf solang weitergedreht, biss die aktuelle Schwingungsebene zwischen den Referenzstrahlen liegt. - Auf der Scheibe kann mit ein paar LEDs noch so Sachen wie Periodendauer, Drehgeschwindigkeit etc. angezeigt werden. - Natürlich kann statt 2 auch mehrere LPs angebracht werden und unter Programmkontrolle an und ausgeschaltetet werden um weitergehende Effekte zu erreichen.
> Das Charlieplexing ist gut, wenn man nur eine oder wenige > LEDs gleichzeitig Leuchten lassen will, denn es brennt zu > jeder Zeit nur eine LED. Das stimmt einfach nicht. Du kannst Problemlos alle LEDs brennen lassen. Es leuchten immer n-1 gleichzeitig. Ich denke auch an magnetische Sensoren, die KMZ51, KMZ52 oder die Drehwinkelsensor AS5040 oder AS5020, und zwar genau in der Mitte der Anordnung positioniert, so brauchst Du nur einen Sensor, und mit 0,3 Grad Auflösung siehst Du den Fortschritt alle 113,2 Sekunden. Allerdings muss man schauen, ob ihm die kurze Verweildauer im Mittelpunkt (höchste Geschwindigkeit) für eine Messung ausreicht. Außerdem muss für die volle Genauigkeit das IC genau in der Mitte "überflogen" werden und der Abstand (Temperaturausdehnung des Seils!) auch stimmen. Ähnlicher Ansatz: drei Spulen in der Mitte, aus deren unterschiedlich induzierter Spannung der Winkel berechnet wird. Drei deshalb, weil Du so die Veränderlichen (Abstand, "Unzentrität") herausrechnen kannst. Michis Vorschlag ist auch sehr interessant und kann mit den genannten kombiniert werden: Evtl. kannst Du die Entdämpfungsspule auch als "Empfänger / Detektor" verwenden, wenn man sie richtungsabhängig (länglich) baut. Ein paar Schwingungen messen (und dazwischen den Schrittmotor drehen (Winkelmessung über das Induktionsspannungs-Maximum)) und dann wieder antreiben. Viele Wege führen nach Paris (wo Foucault lebte).
Korrektur: > Es leuchten immer n-1 gleichzeitig. Bei "alle LEDs an" leuchten jeweils n-1 gleichzeitig. > Eine Matrix würde ich nicht bauen. Das würde ja nur funktionieren, > wenn immer nur ein Kontakt schließt. Stimmt genauso wenig, die Schalter kann man mit Dioden entkoppeln. Bei LEDs sind diese Dioden intrinsic.
Nachtrag: - Da man normalerweise keine Nebelmaschiene am laufen hat braucht man für dei LPs eine Projektionsfläche. Entweder am Umkehrkreis, oder man richtet die Strahlen auf die Kugel, dann muss man aber die LPs am Umkehrpunkt kurz ein/aus schalten weil man sonst keinen fixen Anhaltspunkt hat. - Es gibt auch sog. Linien Laser Pointer, die Projezieren statt eines Punktes einen Strich in die Landschaft. Diesen Strich kann man durch geeignete Neigung des Pointers entlang des Bodens bis zum Umkehrkreis laufen lassen um so eine sichtbare Referenzmarke zu haben. - Alternativ kann mann auch auf der Drehscheibe anstelle der LPs mittels eines Strichgitters und einer kleinen Projektionslinse ein Referenzmuster projezieren um mittels der Pendelspitze das Weiterdrehen zu beobachten. Das Prinzip der adaptiven Nachführung könnte man auch anders umsetzen: - Unter dem Umkehrkreis wird etwas Bewegliches mit Eigenantrieb und Stromzuführung installiert (z.B. kleine E-Lok auf Schienen, oder etwas anderes verrücktes/lustiges) - Darauf befindet sich die Anzeigen Show und wird wie bei der Drehscheibe stückweise nachgefahren. - als Drehebenen Anzeig kann dann wieder eine handvoll LEDs dienen - Alternativ kann man auch ein paar "Kegel" anbringen (wie beim Pendel im Münchner? Technikmuseum), die von der Pendelspitze umgehauen werden. - Als Kegel kann man einfache Blechstreifen nehmen die drehbar gelagert sind. Nachdem alle umgekippt sind richtet eine kleiner E-Motor mit Exzenter Nockenwelle durch eine 360° Drehung sie wieder auf.
Moin Phil, Dein Post ist zwar schon ein bisschen her, aber regelst du den Elektromagneten auch über einen Mikrocontroller? Ich habe eine Schaltung gelötet, aber leider ist diese sehr störanfällig. Ich versuche nun auf einen Mikrocontroller umzusteigen. Gruß Martin
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.