Forum: Mikrocontroller und Digitale Elektronik Implementierung von Neigungswinkelschalter


von Rubencz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo miteinander,

ich beschäftige mich jetzt seit knapp einem Monat mit meinem Attiny13 
und habe auch schon erste kleine Programme zum laufen gebracht (LED 
blinken, LED Lauflicht etc.)

Jetzt möchte ich zwei Neigungswinkelschalter anschließen um eine 
Drehrichtung zu bestimmen. Ich wollte mich erstmal damit befassen, da 
ich denke, dass digitale Gyroskope da deutlich komplexer sein werden.

Die Neigungswinkelschalter sind solche hier: 
http://www.voelkner.de/products/42221/Neigungsschalter-Hg-Frei.html?frm=reco__related

Die 0°-Lage beschreibt die Vertikale. Ausgerichtet habe ich sie in einem 
Winkel +-X zur 0°-Lage. Werden sie nun gedreht leitet einer der beiden 
Schalter zuerst den Strom. An meinem Attiny sind PB2 und PB3 als Eingang 
geschaltet. (Skizze ist angehängt)

Meine Frage: Wie kann ich das einigermaßen implementieren?

Ich dachte daran den Zustand, sobald ein erster Strom fließt in einem 
der Register zu speichern. Jetzt möchte ich die beiden Einträge nur noch 
miteinander vergleichen und schauen in welches Register zuerst 
geschrieben wurde. Vorher soll festgelegt werden wie die Drehrichtung 
definiert ist. Also wenn zuerst ein Signal an PB2 und dann an PB3 
ankommt handelt es sich um eine Rechtsdrehung. Bei der Linksdrehung 
genau andersherum.

Ich hoffe ihr versteht meine Problematik. Da ich noch absoluter Neuling 
in dem Gebiet bin habe ich noch nicht die Erfahrung das selbst zu lösen 
:p

Implementiert werden soll das ganze dann via AVRStudio in C.


Also danke schonmal vorab und guten Rutsch ;-)

Gruß Ruben

von Georg (Gast)


Lesenswert?

Hallo,

Schaltpunkt für die gewählten Schalter ist nicht die Vertikale, sondern 
die Horizontale. Für den Winkelbereich gibt es anscheinend keine 
Angaben.

Ich würde mir erst mal die Schalter z.B. mit Klett-Klebepads auf einem 
Brettchen montieren, je eine LED anschliessen und austesten, bei welcher 
Stellung die Sensoren schalten. Vermutlich müssen sie horizontal, aber 
leicht gegeneinander gekippt montiert werden.

Wie du das vorhast, kannst du die Drehrichtung nur einmal pro Umdrehung 
in einem kleinen Winkelbereich feststellen, aber mehr Information ist 
aus Neigungsschaltern halt nicht herauszubekommen.

Georg

von Schreiber (Gast)


Lesenswert?

Georg schrieb:
> Wie du das vorhast, kannst du die Drehrichtung nur einmal pro Umdrehung
> in einem kleinen Winkelbereich feststellen, aber mehr Information ist
> aus Neigungsschaltern halt nicht herauszubekommen.

...bei hohen Drehzahlen funktionierts auch nicht mehr.

Rubencz schrieb:
> da
> ich denke, dass digitale Gyroskope da deutlich komplexer sein werden.

irrtum. Wenn die einen analogen Ausgang haben, dann geht das sogar ohne 
µC, ein einfacher Komperator reicht dann zur Bestimmung der Drehrichtung

von Rubencz (Gast)


Lesenswert?

Danke schonmal für die schnellen Antworten. Für hohe Drehzahlen ist das 
ganze sowieso nicht vorgesehen. Es soll lediglich einmal festgestellt 
werden ob eben nach links oder rechts gedreht wurde.

Wie Georg schon richtig erkannt hat, ist die Schaltlage, ab der ein 
Stromfluss zu erwarten ist die Horizontale (also bei 90° ausgehend von 
der Vertikalen als 0°-Lage). Ich möchte nicht den Drehwinkel bestimmen, 
sondern lediglich die Richtung.

Ich habe die Schalter bereits auf meinem Steckbrett montiert und etwas 
mit rumgespielt. In einem Winkelbereich von 180° leitet der 
Neigungsschalter. Die Anordnung unter einem Winkel von +-X° habe ich nur 
getroffen, damit sie zu unterschiedlichen Zeitpunkten der Drehung den 
Strom leiten.

Hoffe das war verständlich :-)

Gruß Ruben

von Georg (Gast)


Lesenswert?

Rubencz schrieb:
> Es soll lediglich einmal festgestellt
> werden ob eben nach links oder rechts gedreht wurde.

Wenn es nicht andere Beschränkungen für die Winkellage gibt, läuft das 
darauf hinaus, dass du erst nach einer ganzen Umdrehung sicher sein 
kannst über die Drehrichtung. Frage ob das reicht.

Feststellen kannst du das ja: erst wenn beide Sensoren 1 x umgeschaltet 
haben, weisst du die Richtung.

Georg

von Rubencz (Gast)


Lesenswert?

Genau so ist es auch gedacht. Im ungünstigsten Fall erfolgt nur eine 
volle Umdrehung. Aber diese sollte dann ja reichen um die Drehrichtung 
zu bestimmen

Mein Problem ist vielmehr wie ich das ganze in C implementiere.
Ich habe bisher nur mit den LED's gearbeitet und diese sind ja immer als 
Ausgänge geschaltet. Mit einem Sensor der ein Signal an meinen µC 
schickt habe ich noch keinerlei Erfahrung.


Gruß Ruben

von Karl H. (kbuchegg)


Lesenswert?

Rubencz schrieb:
> Genau so ist es auch gedacht. Im ungünstigsten Fall erfolgt nur eine
> volle Umdrehung. Aber diese sollte dann ja reichen um die Drehrichtung
> zu bestimmen
>
> Mein Problem ist vielmehr wie ich das ganze in C implementiere.
> Ich habe bisher nur mit den LED's gearbeitet und diese sind ja immer als
> Ausgänge geschaltet. Mit einem Sensor der ein Signal an meinen µC
> schickt habe ich noch keinerlei Erfahrung.

Dann solltest du vielleicht in den Tutorien erst mal die Abschnitte 
ueber Eingaenge bzw. Taster durcharbeiten.
Deine Sensoren sind ja letzten Endes nichts anderes als Taster, wenn 
auch in anderer Bauform.

Das jetzt hier alles erneut aufzuwaermen ist nicht sinnvoll. Dazu gibt 
es ja die Tutorien.

>Sensor der ein Signal an meinen µC schickt

Der Sensor schickt ueberhaupt nichts. Den kannst du dir als 2 
Blechstreifen vorstellen, die bei einer bestimmten Lage elektrischen 
Kontakt kriegen. Mehr oder weniger ein einfacher Schalter bzw. Taster, 
auf den man eben nicht auf einen Knopf draufdrueckt um die Blechstreifen 
aneinander zu druecken, sondern den man dreht und dann fällt der eine 
Streifen auf den anderen drauf und schaltet so auf "ein".

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.