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
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
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
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.