www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Foucaultsches Pendel


Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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-Tutori...


> 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.

Autor: raketenfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Maxx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ohforf Sake (ohforf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Maxx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ohforf Sake (ohforf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ohforf Sake (ohforf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Controller wird relativ nah an den Sensoren sein da alles in einem 
Kasten aus Plexiglas untergebracht wird. also maximal 40cm entfernt 
davon.

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ohforf Sake (ohforf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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-Tutori...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.
-> Winkel
222 444 666 8...
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.

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
-> Winkel
A222 444 666 888 AA...
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.

Autor: Ago (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Günter (dl4mea) (dl4mea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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....

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Achse des Magneten senkrecht steht, wäre es mir wurst.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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 :)

Autor: Johann L. (gjlayde) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan May (smay4finger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Whitespace (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Ulf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan May (smay4finger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: dvh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal an die WW des Permanentmagneten mit dem Erdmagnetfeld 
nachgedacht?

Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Kupfer Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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).

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kupfer Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.