• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

P.O.V. in der Praxis - Die Lösung des Spiegelschriftproblems

radioscout

Geoking
In einer der letzten Elektor-Ausgaben wurde die Bauanleitung für einen POV-Kreisel veröffentlicht. Dort wurde die Position durch die Auswertung der durch das Erdmagnetfeld in einer Spule induzierten Spannung erkannt.
 

waste1

Geocacher
Geomane schrieb:
waste1 schrieb:
Kann man das neue Feature auf dem nächsten Stammtisch bewundern?
Selbstverständlich :)
Super!

thomas_st schrieb:
Also so etwas:
Code:
+---+-----------+---+
|N S|    Stab   |S N|
+---+-----------+---+
wobei die Nordpole oder die Südpole beider Magneten zueinander weisen. Jep, das konnte funktionieren. :) Würde das Ganze etwas einfacher machen, da mann dann nur eine Spule braucht. Man müsste dann beide Spulenenden als Sensoreingänge nutzen ... mal überlegen, das könnte klappen. :)
Ja, so hatte ich mir das eigentlich gedacht.
Aber ich habe mir das nochmal genauer überlegt und bin zu dem Schluss gekommen, dass eine Spule und ein Magnet ausreicht. Der Magnet darf nur nicht durch die Spule hindurch auf der anderen Seite wieder heraus, sondern darf nur auf einer Seite bis maximal in die Mitte der Spule schwingen (also einseitig). Dann gibt es beim Hineinschieben einen Impuls (z.B. positiv) und beim Herausziehen einen entgegengesetzten Impuls (z.B. negativ). Die Sensorleitungen jeweils an ein Ende der Spule. Dann hat man einen Interrupt für das Hineinschieben und einen auf der anderen Leitung für das Herausziehen. Für eine gute Leistungsausbeute sollte der Stabmagnet ungefähr die Länge der Spule haben.

Ich weiß, das ist etwas kompliziert zu verstehen. Ich hab da selber so meine Schwierigkeiten. Aber wenn ich mich nicht total verhauen habe, dann wäre das vom Aufbau her sehr einfach.

Beim schnellen Schütteln liegt Vcc bei knapp über 6V :eek:ps: :dead: .
Dann vorsichtshalber eine 5,6V Zenerdiode parallel zum Elko.
 

Geomane

Geocacher
thomas_st schrieb:
Wenn ich das Programm und Deine Beschreibung richtig verstanden habe, dann schreibst Du nur in einer Bewegungsrichtung und auf dem Rückweg ist die POV-Stage dann dunkel?
Ja, stimmt. Zuerst habe ich auch daran gedacht, die Zeichen hin und zurück auszugeben (und habe deshalb die Feder gleich mit zwei Kontakten aufgebaut), aber beim ersten Versuch mit der einseitigen Lösung erschien mir das schon brauchbar genug. Der Aufwand, den ganzen Text nochmals deckungsgleich rückwärts auszugeben, erschien mir dann im Vergleich zum Nutzen zu hoch.

Übrigens passe ich die Schriftbreite auch nicht an die Schwenkdauer an. Ich finde es beim Betrachten nicht störend, wenn die Schrift - abhängig von der Geschwindigkeit - breiter oder schmäler wird. Soweit ich das mit meinen wenigen Versuchspersonen beobachtet habe, schwenkt sowieso jeder intuitiv schneller, wenn die Schriftbreite zu groß für die verfügbare Schwenkweite wird.

Millhouse schrieb:
Habe direkt mal eine experimentelle Lochrasterplatine auf Basis des ATtiny84 entsprechend modifiziert um es mal auszuprobieren. Funktioniert prima!
Bist ja richtig fix! ;)

Millhouse schrieb:
Die Feder mit dem Kontakt sieht man im Bild unten rechts.
Mit verschiedenen Federn wollte ich auch noch experimentieren. Mein erster Versuch war zwar schon brauchbar, aber sicher nicht optimal.
 
OP
T

thomas_st

Geowizard
waste1 schrieb:
Aber ich habe mir das nochmal genauer überlegt und bin zu dem Schluss gekommen, dass eine Spule und ein Magnet ausreicht. Der Magnet darf nur nicht durch die Spule hindurch auf der anderen Seite wieder heraus, sondern darf nur auf einer Seite bis maximal in die Mitte der Spule schwingen (also einseitig). Dann gibt es beim Hineinschieben einen Impuls (z.B. positiv) und beim Herausziehen einen entgegengesetzten Impuls (z.B. negativ).
Nöp. Das geht vermutlich nicht: ... ähm. <-das wollte ich gerade schreiben.
Aber, nee, Du hast Recht, das müsste funktionieren! Beim Reinbewegen (jetzt nur noch von der einen Seite) hätten wir immer z.B. ein positiven Impuls und beim Rausbewegen, jetzt immer in die andere Richtung, immer einen negativen ... klasse ... :D

Viele Grüße,
Thomas(_st)
 

waste1

Geocacher
Jep, und die Sensorsignale sind auch eindeutiger.

Nur die Leistungsausbeute ist nicht mehr so groß, weil nur noch eine Spule. Aber da hattest Du eh schon genügend.

Viele Grüße
Waste1
 

radioscout

Geoking
Wer sich das Wickeln der zweiten Spule sparen will, kann einen oder zwei Reedkontakte, Hall-Sensoren (Motor aus altem FDD, HDD usw. schlachten) oder Sensorspulen verwenden.
Entweder die stromerzeugende Spule als Sensor und dazu ein anderer Sensor. Oder die Spule nur zum stromerzeugen verwenden und zwei Sensoren für die Richtung verwenden.
 

Millhouse

Geocacher
Ich habe jetzt bei meiner Variante den Sleepmode eingebaut. Jetzt verbraucht die Schaltung im Ruhezustand (keine Bewegung) laut Datenblatt bei 25°C < 0.2 µA Strom. Mein Messgerät kann dies aber nicht mehr messen und zeigt 0.000mA an ...

Damit braucht man keinen Ausschalter mehr und die Lebensdauer der Batterien hängt nur noch davon ab, wie oft die Schaltung geschüttelt wird. Dann fließt aber kurzzeitig, wenn alle 8 LEDs an sind, theoretisch ca. 96mA durch die Schaltung, Im Mittel messe ich aber 15mA.

Mit Low-Current LEDs und entsprechend angepassten Vorwiderständen kann man aber auch da kräftig Strom sparen.

Im angehängten, von Editier Leichen gesäuberten, Quellcode ist auch ein ASCII Schaltplan enthalten.

Außer auf dem von mir verwendeten ATtiny84 müsste sich der Code auch für die billigeren ATtiny44 und ATtiny24 kompilieren lassen.

Millhouse.
 

Anhänge

  • POV_ATtiny24_44_84_V101.zip
    10 KB · Aufrufe: 78

Geomane

Geocacher
Inzwischen habe ich mit verschiedenen Federn für meinen POV-Beschleunigungssensor experimentiert. Zuerst habe ich sowas mit einer Feder aus einem ausgedienten Kugelschreiber aufgebaut:

POV-Feder1.jpg


Das funktioniert zwar einwandfrei, aber mir war der Aufbau noch ein wenig zu umständlich, weil man den Kontaktdruck durch Verbiegen der Haltestifte einstellen muss. Dann habe ich sowas probiert, das auf der Kompliziertheitsskala wohl im unteren Segment angesiedelt sein dürfte:

POV-Sensor1.jpg


(Weil es mir hier um den Beschleunigungssensor geht, habe ich nur eine einzelne LED eingebaut, durch die man beim Schwenken leicht erkennt, wann der Kontakt schließt und öffnet. An den herausstehenden abgewinkelten Pfostenleisten habe ich die Batterie angeschlossen.)

Statt einer Feder habe ich hier nur ein ca. 17mm langes Stück isolierter Litze verwendet!. Die Beschleunigungsmasse ist nur ein Stück rund gewickelter und mit Lötzinn gefüllter Draht. Als Kontakte habe ich ein Stück Pfostenleiste eingelötet und den Träger ganz nach oben geschoben:

POV-Sensor2.jpg


Die Litze ist durch die Isolation steif genug, um die Beschleunigungsmasse zwischen den Kontakten zu halten. Beim Schütteln stellt sie der Beschleunigungsmasse aber so gut wie keinen Widerstand entgegen. Diese "lapprige Feder" muss nicht justiert werden, hat aber den Nachteil, dass man die Kontaktstellung im Ruhezustand nicht genau vorhersagen kann. Es ist also möglich, dass im Ruhezustand ständig Strom fließt, weil der Kontakt geschlossen ist. Wenn die Litze kurz und steif genug ist, hält sie den Kontakt aber trotzdem gut offen - zumindest ist das bei meinem Versuchsaufbau so.

Noch ein paar Gedanken zu den LEDs habe ich mir gemacht: Die Breite der Leuchtspur wird von der Einschaltdauer und der LED-Breite bestimmt:

l = t * v + b

l : visuelle Breite der Leuchtspur
t : Einschaltdauer
v : Geschwindigkeit
b : Breite der LED

Damit das Schriftbild klar bleibt, soll die LED-Breite (bei runden LEDs also der Durchmesser) klein gegenüber t * v bleiben. Je breiter (dicker) die LEDs sind, umso mehr überlappen sich die Zeilen:

Image1.jpg


Man sieht, dass die einzelnen Striche mit wachsender LED-Breite immer mehr zusammenwachsen. Rechteckige LEDs geben ein recht gutes Schriftbild.
 
OP
T

thomas_st

Geowizard
Millhouse schrieb:
Ich habe jetzt bei meiner Variante den Sleepmode eingebaut. Jetzt verbraucht die Schaltung im Ruhezustand (keine Bewegung) laut Datenblatt bei 25°C < 0.2 µA Strom. Mein Messgerät kann dies aber nicht mehr messen und zeigt 0.000mA an ...
Ich gestehe, dass ich den Code mir noch nicht angesehen habe, daher de Frage: Aufwecken über INT0?

Millhouse schrieb:
Mit Low-Current LEDs und entsprechend angepassten Vorwiderständen kann man aber auch da kräftig Strom sparen.
Ich habe einfach die "handelsüblichen" Hochleistungs-LEDs mit > 4000mcd genommen und dann den Strom auf <1mA begrenzt: damit sind sie noch schön hell, ziehen aber so gut wie nichts ;)

Millhouse schrieb:
Außer auf dem von mir verwendeten ATtiny84 müsste sich der Code auch für die billigeren ATtiny44 und ATtiny24 kompilieren lassen.
Wie groß ist der Code? Meiner umfaßt 2022Byte, so dass ich nur noch 26Byte im 2313 frei habe :eek:ps:


Geomane schrieb:
Inzwischen habe ich mit verschiedenen Federn für meinen POV-Beschleunigungssensor experimentiert. Zuerst habe ich sowas mit einer Feder aus einem ausgedienten Kugelschreiber aufgebaut:
:???: *Mmm* und keiner will Spulen wickeln ;)

Nee, das mit der Feder ist schon deutlich einfacher!

Geomane schrieb:
Diese "lapprige Feder" muss nicht justiert werden, hat aber den Nachteil, dass man die Kontaktstellung im Ruhezustand nicht genau vorhersagen kann. Es ist also möglich, dass im Ruhezustand ständig Strom fließt, weil der Kontakt geschlossen ist.
Na ja, so schlimm ist das auch nicht! Der Kontakt ist ja in der fertigen POV-Stage mit einem der Eingänge des Tinys verbunden und der hat Leckströme im unteren µA-Bereich (habe jetzt kein Datenblatt hier - müsste man mal nachschlagen). Ehrlich gesagt, ist ein offener Eingang schlimmer ;)

Geomane schrieb:
Damit das Schriftbild klar bleibt, soll die LED-Breite (bei runden LEDs also der Durchmesser) klein gegenüber t * v bleiben. Je breiter (dicker) die LEDs sind, umso mehr überlappen sich die Zeilen:
Jep. Für die entgültige Schaltung würde ich auch zu SMD-LEDs oder zumindest 3mm LEDs greifen - die von mir verwendeten 5mm LEDs sind suboptimal aber harmonieren deutlich besser mit der Lochrasterplatine im 2,54mm Raster: so kann man die LEDs direkt aneinanderanliegend verbauen und hat keinen Spalt zwischen ihnen.

Viele Grüße,
Thomas(_st)
 

Millhouse

Geocacher
thomas_st schrieb:
Ich gestehe, dass ich den Code mir noch nicht angesehen habe, daher de Frage: Aufwecken über INT0?
Nein. Ich benutze den Pin Change Interrupt. INT0 kann zum Aufwachen nur im "Level-Mode" arbeiten. Das ist mir zum Aufwachen zu unsicher. Die Tiny24/44/84 haben im Gegensatz zum Tiny2313 auf allen I/O Pins die Möglichkeit einen Pin Change Interrupt auszulösen. Der Pin ist als Pull-Up programmiert, so das im Power-Down-Mode keine Querströme wegen eines floatenden Pins fließen. Den Rest der internen Hardware (ADC, Timer,...) habe ich abgeschaltet.

thomas_st schrieb:
Ich habe einfach die "handelsüblichen" Hochleistungs-LEDs mit > 4000mcd genommen und dann den Strom auf <1mA begrenzt: damit sind sie noch schön hell, ziehen aber so gut wie nichts ;)
Ich habe mal einen 1000+ Beutel mit normalen LEDs geerbt. Die verwende ich immer wenn ich viele LEDs in einer Schaltung brauche. Sind aber leider etwas stromhungrig, aber zu schade zum wegwerfen. Für meine reaktiven Blinker habe ich mir auch die ultra-bright Typen gekauft.

thomas_st schrieb:
Wie groß ist der Code? Meiner umfaßt 2022Byte, so dass ich nur noch 26Byte im 2313 frei habe :eek:ps:

Wenn ich es für einen ATtiny24 compiliere ...
Code:
Device: attiny24

Program:    1262 bytes (61.6% Full)
(.text + .data + .bootloader)

Ist also noch genügend Platz übrig ... :xmas2_mrgreen:

Millhouse.
 

Geomane

Geocacher
thomas_st schrieb:
:???: *Mmm* und keiner will Spulen wickeln ;)

Nee, das mit der Feder ist schon deutlich einfacher!
Man darf aber dabei nie vergessen, dass man dann eine Spannungsquelle dazu braucht, während bei der Spulenlösung der Strom sozusagen aus dem Ärmel geschüttelt wird... ;)
 
OP
T

thomas_st

Geowizard
Millhouse schrieb:
Nein. Ich benutze den Pin Change Interrupt. INT0 kann zum Aufwachen nur im "Level-Mode" arbeiten.
Stimmt ja, der PC-IRQ kann den µC ja auch wecken. Dass bei INTx nur ein Level-IRQ geht, hatte ich registriert und das wohl gleich dahingehend gedanklich erweitert, dass PC-IRQ nicht funktioniert ... :eek:ps:

Millhouse schrieb:
Der Pin ist als Pull-Up programmiert, so das im Power-Down-Mode keine Querströme wegen eines floatenden Pins fließen.
Da ich ein PullDown brauchte, habe ich das extern gemacht ...

Millhouse schrieb:
Den Rest der internen Hardware (ADC, Timer,...) habe ich abgeschaltet.
Ok, das konnte ich nicht machen: ADC hat der 2313 nicht und die Timer brauche ich ja ...

Millhouse schrieb:
Wenn ich es für einen ATtiny24 compiliere ...
Code:
Device: attiny24

Program:    1262 bytes (61.6% Full)
(.text + .data + .bootloader)

Ist also noch genügend Platz übrig ... :xmas2_mrgreen:
Du glücklicher ;)

Geomane schrieb:
Man darf aber dabei nie vergessen, dass man dann eine Spannungsquelle dazu braucht, während bei der Spulenlösung der Strom sozusagen aus dem Ärmel geschüttelt wird... ;)
Stimmt. :) Die fertige Stage (bisher ist es ja nur ein Prototyp) würde dann in Gießharz eingegossen und wäre dann (hoffentlich) absolut wartungsfrei.

Viele Grüße,
Thomas(_st)
 

Geomane

Geocacher
... oder bei Segor (http://www.segor.de, nach "CW 1300-1" suchen) oder hier oder hier oder hier. Aber die Preise - wesentlich teurer als der Controller!

@friskee: Schaltet man mit dem Taster SW1 ein, oder schaltet man damit z. B. den angezeigten Text um? Was wird eigentlich angezeigt?
 

friskee

Geocacher
Da schaltet man den Text um. Es gibt einige vorprogrammierte sachen (STOP, I LOVE U, ...)
Und dann kann man noch einen Text programmieren. Leider startet er immer mit STOP und dann muss man sich durchschalten. Hab jetzt ein POV aus diesem Artikel nachgebaut und werde es in das Gehäuse einbauen.
 

jekejaerfi

Geocacher
Hallo P.O.V.-Experten.

wir haben ein Modul bei einem unserer Caches eingesetzt. Dabei haben wir die Schaltung von Milhouse (Seite 3 dieses Threads V101) verwendet. D.h. anstatt der Lösung mittels Feder haben wir ein Reedschalter eingebaut. Als "Schalterauslöser" haben wir einen Neodym-Magnet-Würfel in einer kleinen Kunststoffhülse so angebracht, dass der Schalter bei Endlage links den Kontakt schließt. Funktionierte für die Anzeige soweit ganz gut.
Als LED-Leiste haben wir http://www1.conrad.de/ Artikel-Nr.: 152854 - 62 eingesetzt.

Erfahrungsbericht:
1. Textausgabe hat bei uns nur mit Veränderung der Parameter für
// delays in ms
#define PIXEL_DELAY 1
#define PRE_DELAY 50
#define POST_DELAY 50
// text switch timing
#define TIMECOUNT 15 // elapsed loops before switching to next text

geklappt. Ist für mich nicht ganz unkompliziert gewesen, da ich ehrlich gesagt bei dem Programm ersteinmal meinen Verstand hier ausschalte und stur nach Schema "Wo könnte ich was finden" vorgegangen bin. So sind meine verwendeten Parameter sicher auch nicht das Op(t)i(m)um. ;)

2. Selbst ich hatte Schwierigkeiten die Zahlen (nicht den Text) gut erkennen zu können. Dabei weiss ich momentan nicht, ob es an der verwendeten LED-Leiste liegt! Hinzu kommt, dass die Koordinatenausgabe in der 3. und 4. Zeile (3. bzw. 4. Wechsel) ausgegeben wird. Irgendetwas - und hier kommt der Programmierlaie wieder ins Spiel - führt dazu, dass die Zeilen dann kürzer angezeigt werden, als die ersten beiden. Ausserdem werden sie teilweise verschluckt und manchmal setzte das Modul sogar total aus.

3. meine konstruktive Ausführung war wohl nicht cachergeeignet (musste zum Thema passend eine Stabform verwenden, was wir durch Verwendung zweier inneinander gesteckter Kabelschutzrohre realisiert haben, um die Batterien unterzubringen und alles möglichst anwenderfreundlich zu gestalten - Bild leider nicht vorhanden!). und so müssen wir das Ganze nun noch einmal aufbauen. diesmal werden wir versuchen, das mit einem Neigungsschalter hinzubekommen. Ausserdem werden wir wohl auf Zahlen verzichten und nur Buchstaben ausgeben. Scheint leichter zu erkennen zu sein.

schöne Grüße

Jens
 

friskee

Geocacher
Hallo,

Ich habe die gleiche LED-Leiste verwendet.Und nen Neigungsschalter von Conrad (Artikel-Nr.: 185271 - 62).
Um die Baterien zu schonen habe ich nen Reed-Kontakt zwischen den Pluspol der Baterie und die Platine gehängt. Den Magnet findet der Cacher in der Nähe und das Rohr ist farblich markiert (gleiche Farbe wie der Magnet). Habe auch Probleme wenn der Text zu lang ist, aber wenn man den "Schwung" "richtig" macht ist alles zu lesen. Habe schon andere LED´s getestet und muss sagen das die LED-Leiste im Vergleich sehr gut abschneidet.

Gruß

Mathias
 

_joker_

Geocacher
Nach langem Training, ewigen generve und perfekter Unterstützung von thomas_st, ist das von eine Anfänger herausgekommen. Klein, handlich und für mich optimal. Gehäuse vom blauen C, Artikel-Nr.: 523127 - 62. Vielleicht hilft es dem einen oder anderen!
 

Anhänge

  • compIMG_5567_0001.jpg
    compIMG_5567_0001.jpg
    25,3 KB · Aufrufe: 687
  • compIMG_5568_0001.jpg
    compIMG_5568_0001.jpg
    20,2 KB · Aufrufe: 687
  • compIMG_5569_0001.jpg
    compIMG_5569_0001.jpg
    28,4 KB · Aufrufe: 687
Oben