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.
Super!Geomane schrieb:Selbstverständlichwaste1 schrieb:Kann man das neue Feature auf dem nächsten Stammtisch bewundern?![]()
Ja, so hatte ich mir das eigentlich gedacht.thomas_st schrieb:Also so etwas:
wobei die Nordpole oder die Südpole beider Magneten zueinander weisen. Jep, das konnte funktionieren.Code:+---+-----------+---+ |N S| Stab |S N| +---+-----------+---+
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.
![]()
Dann vorsichtshalber eine 5,6V Zenerdiode parallel zum Elko.Beim schnellen Schütteln liegt Vcc bei knapp über 6Vps: :dead: .
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.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?
Bist ja richtig fix!Millhouse schrieb:Habe direkt mal eine experimentelle Lochrasterplatine auf Basis des ATtiny84 entsprechend modifiziert um es mal auszuprobieren. Funktioniert prima!
Mit verschiedenen Federn wollte ich auch noch experimentieren. Mein erster Versuch war zwar schon brauchbar, aber sicher nicht optimal.Millhouse schrieb:Die Feder mit dem Kontakt sieht man im Bild unten rechts.
Nöp. Das geht vermutlich nicht: ... ähm. <-das wollte ich gerade schreiben.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).
Ich gestehe, dass ich den Code mir noch nicht angesehen habe, daher de Frage: Aufwecken über INT0?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 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 nichtsMillhouse schrieb:Mit Low-Current LEDs und entsprechend angepassten Vorwiderständen kann man aber auch da kräftig Strom sparen.
Wie groß ist der Code? Meiner umfaßt 2022Byte, so dass ich nur noch 26Byte im 2313 frei habeMillhouse schrieb:Außer auf dem von mir verwendeten ATtiny84 müsste sich der Code auch für die billigeren ATtiny44 und ATtiny24 kompilieren lassen.
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:
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 schlimmerGeomane 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.
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.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:
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 gestehe, dass ich den Code mir noch nicht angesehen habe, daher de Frage: Aufwecken über INT0?
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: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![]()
thomas_st schrieb:Wie groß ist der Code? Meiner umfaßt 2022Byte, so dass ich nur noch 26Byte im 2313 frei habeps:
Device: attiny24
Program: 1262 bytes (61.6% Full)
(.text + .data + .bootloader)
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...thomas_st schrieb:*Mmm* und keiner will Spulen wickeln
![]()
Nee, das mit der Feder ist schon deutlich einfacher!
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 ...Millhouse schrieb:Nein. Ich benutze den Pin Change Interrupt. INT0 kann zum Aufwachen nur im "Level-Mode" arbeiten.
Da ich ein PullDown brauchte, habe ich das extern gemacht ...Millhouse schrieb:Der Pin ist als Pull-Up programmiert, so das im Power-Down-Mode keine Querströme wegen eines floatenden Pins fließen.
Ok, das konnte ich nicht machen: ADC hat der 2313 nicht und die Timer brauche ich ja ...Millhouse schrieb:Den Rest der internen Hardware (ADC, Timer,...) habe ich abgeschaltet.
Du glücklicherMillhouse 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:
Stimmt.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...![]()
siehe Conrad Art.-Nr.: 185271 - 62 oder Art.-Nr.: 700444 - 62friskee schrieb:so einen Kugel-Schalter habe ich leider noch nirgends gefunden...