Forum: Mikrocontroller und Digitale Elektronik Sensorfrage zu ATtiny26


von Andreas Keber (Gast)


Lesenswert?

Hallo,

bin gerade dabei, eine kleine Steuerung zu entwickeln, die abhängig von
einer bestimmten Position des Objektes Antriebe ein- oder ausschalten
soll.
Nun bleibt die Frage: Welche Sensorlösung ist die otimalste?
Ursprünglich dachte ich an induktive Näherungssensoren, pro Objekt drei
Stück, jeweils einen für "Objekt oben, Objekt Mitte, Objekt unten".
Diese drei Punkte sind nämlich von Interesse.
Und weil ich zwei Objekte habe mit zwei Antrieben, bräuchte ich sechs
ind. Sensoren. War für meinen zur Verwendung kommenden ATtiny26 etwas
viel!
Deshalb dann die evtl. Lösung mit Sharp Distanzsensoren. Pro Objekt
einer.
Werte in AD-Wandler des Tiny hinein, dann über Software abfragen.
Heute kam mir der Gedanke, eine Lichtschranke zu nehmen.
Da der Antrieb ein Getriebe besitzt, das eine Seilscheibe antreibt, die
über ein Seil das Objekt hochzieht, fiel mir folgende Besonderheit auf:
Die Seilscheibe macht nur eine knappe Umdrehung, dann schaltet der
Antrieb ab! Dies wiederholt sich, nachdem das Objekt und die
Seilscheibe wieder am Ausgangspunkt angelangt sind.
Nun könnte ich in die Seilscheibe drei Löcher bohren,
Gabellichtschranke mit entsprechender Gabelweite dazwischen, fertig.
Die drei Löcher befinden sich jeweils dort, wo die Scheibe eine solche
Position hat, die "Objekt oben, Mitte, unten" bedeutet.
Wie aber bekomme ich das softwaremäßig in C "reingehackt"?
Bei bestimmten Programmpunkten fragen, was die Lichtschranke macht und
warten bis ein Impuls kommt?
Kann ich eine normale Lichtschranke direkt anschließen?
Habt Ihr eine andere, bessere Lösung, um die drei Positionen zu messen
und in den Proz zu bekommen?
Für ein paar Tipps etc. bin ich dankbar!

Gruß,
Andreas

von ...HanneS... (Gast)


Lesenswert?

Poti an die Seilscheibe?? (über ADC einlesen)
Evtl. über eigene Riemenscheibe als Über/Untersetzung?

Drehimpulsgeber? (Impulse zählen)

...

von Abuze (Gast)


Lesenswert?

Hallo,

@Andreas
wenn ich mir das mit das richtig vorstelle, dann gefällt mir deine
Variante mit den drei Löchern in der Scheibe ganz gut.
Ist relativ einfach zu realisiern.
- Bräuchtest dann auch keinen ADC benutzen
- Könntest die LS direkt an einen freien Port anschließen

Nachteil: Wenn die Löcher nicht richtig sitzen, musst du sie wieder
kitten. Oder du baust dir eine Art mechan. Stellvorrichtung für die
Löcher (sowas wie ein langloch und eine art verschiebbbarer
Aufkleber??? - keine Ahnung - wahrscheinlich zu aufwendig)


Vorschlag/Anregung:
Machs wie die Maus :-)

Wie wäre es mit einem Drehimpulsgeber ?
(aber mit 2 Scheiben, - leicht versetzt zueinander - gibts garantiert
im Handel - wird oft als Eingabe-drehknopf verwendet)

Der kommt dann irgendwie übersetzt an die Seilscheibe ran.
Schnapp dir nen freinen Interrupt-Pin der eine xor verknüpfg. der
beiden Dreh-Impuls Signale kriegt,
In der ISR wertest du aus, wer zuerst da war (Drehrichtung)
und incrementierst dann einen zähler für die Entsprechende Richtung
Einen kleinen Nachteil hat das ganze: du musst den Nullpunkt
einstellen! - kann man aber am start (objekt unten) machen. Oder
optisch mit einer Lichtschranke (mitte oder so) wenn die Auslöst ist
Null auf def. Höhe - besser so mit ständiger Nullung !

Könntest dann zu jeder Zeit sagen, wo sich die Seillänge gerade
befindet und hättest bloß 2 Portpins (3 mit LS) und einen Interrupt-Pin
verbaut. Außerdem ist bloß ein relativ billiger Sensor notwendig.

Schönes langes WE an alle! und Prost im Vorfeld :-)
Poste mal bitte , wenn du dich für was entschieden hast - gibt
sicherlich noch andere Lösungen

von Abuze (Gast)


Lesenswert?

Achso, die Poti-Lösung funzt garantiert wenn der Winkel < 360 ° ist,
ABER: Die Dinger gehen schnell kaputt !
Impulsgeber sind mechanisch belastbarer - gibt bestimmt auch
berührungs-(Büsten-) lose Geber.

In diesem Sinne...

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.