PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeitschaltuhr und Servo steuern



xxrider
24.04.2011, 08:14
Hallo,
ich suche eine Möglichkeit eine Klappe automatisch zu steuern mit einem
ATmega16 oder 32 und mit einem Servo.
Das Ganze soll zeitgesteuert sein (Zeitschaltuhr) und netzunabhängig (Akkus)
Bei der Zeitschaltuhr hab ich gelesen, wird ein Uhrenquarz mit 32.XXX Hz benötigt wird.
Doch für das Servo braucht man wohl eine möglichst hohe Frequenz zur Ansteuerung.
Wie kann ich beide Funktionen (Servosteuerung und genaue Uhrzeit) kombinieren?
Wo gibt es einen Quellcode für eine einfache Zeitschaltuhr, Tagesprogramm mit 2 Ein/Ausschaltzeiten genügt?

Danke, Holger

TobiKa
24.04.2011, 09:49
Bei der Zeitschaltuhr hab ich gelesen, wird ein Uhrenquarz mit 32.XXX Hz benötigt wird.
Nein, nicht zwingend nötig, aber vereinfacht manches.


Doch für das Servo braucht man wohl eine möglichst hohe Frequenz zur Ansteuerung.
Wie kommst du zu dieser Annahme?


Wie kann ich beide Funktionen (Servosteuerung und genaue Uhrzeit) kombinieren?
Entsprechend Programmieren?!


Wo gibt es einen Quellcode für eine einfache Zeitschaltuhr, Tagesprogramm mit 2 Ein/Ausschaltzeiten genügt?
Auch hier wieder selbst programmieren! Zur Servoansteuerung liess dir mal das hier durch: http://www.rn-wissen.de/index.php/Servoansteuerung

Die Frage ist jetzt, willst du programmieren lernen oder dir einmalig was zusammen basteln?

Sauerbruch
24.04.2011, 09:55
Doch für das Servo braucht man wohl eine möglichst hohe Frequenz zur Ansteuerung.

Das ist nicht ganz falsch, würde ich mal sagen. ich selber habe in all meinen Modellbau-Anwendungen die Servos zwar immer mit PWM angesteuert, aber bei vereinzelten Experimente mit dem "Servo"-Befehl war die Genauigkeit unterhalb von 8MHz oft ziemlich dürftig.

Zum Thema 32kHZ-Quarz bieten ATMega 16 und 32 die interessante Option, den Timer 2 "asynchron" zu betreiben, d.h. abgekoppelt vom internen Prozessortakt. Einfach einen Quarz (z.B. 32,768 kHz) an die Anschlüsse TOSC1 und 2 anschließen, noch zwei Anschwingkondensatoren dazu - und fertig!

Bascom bietet m.W. auch einige komfortable Uhren-Befehle; mit denen habe ich aber noch nie gearbeitet. Am besten schaust Du Dir mal die Hilfe im Programm selber an - dort ist eigentlich immer alles sehr gut erklärt, und vor allem sind dort auch immer informative Beispiel-Codes dabei.

xxrider
24.04.2011, 14:43
Also ich möchte das nur für ein einmaliges Projekt, bin also weniger an einer Lehrstunde interessiert!

Den Quellcode zum Servo ansteuern habe ich ausprobiert und er geht, auch mit 1 MHz.
Geht er auch mit dem Uhrenquarz?

Gibt es einen Quellcode für eine (Zeitschalt-)Uhr in Bascom?

Können diese beiden kombiniert werden ohne zeitliche Konflikte?

Meine zweites Anliegen wäre, das ganze muss sehr stromsparsam gehen (mit Akkus, Laufzeit am besten 1 Jahr oder ich muss eine Solarspeisung bauen...).
Wie ist dann die Planung am besten?

Sauerbruch
24.04.2011, 16:22
das ganze muss sehr stromsparsam gehen

...und wo soll das Servo seinen Strom herbekommen? :confused:

TobiKa
24.04.2011, 17:13
Meine zweites Anliegen wäre, das ganze muss sehr stromsparsam gehen (mit Akkus, Laufzeit am besten 1 Jahr oder ich muss eine Solarspeisung bauen...).
Wie ist dann die Planung am besten?
Klar geht das, ist nur ne Frage des Akkus :D

xxrider
24.04.2011, 20:36
Ich wollte das ganze betreiben mit 3 x 2500 mAh Eneloop Zellen (= 4 V, 2500 mAh)
Das Servo muss nur 2 x am Tag für je eine Minute betrieben werden.

Also wie ist das zu machen, mit welchen Timern, welchen Quarzen am besten, kann ich auch Sleep Modus usw. verwenden?

xxrider
25.04.2011, 21:45
Hallo,
keiner mehr einen Tipp?
Wie soll ich das nun am besten machen?
Welche(n) Quarz(e) soll ich nehmen?
Nur den Uhrenquarz oder zusätzlich den Uhrenquarz?
Wie meintest du das mit den 2 Anschwingkondensatoren (wie ist die Beschaltung, Größe)?

Sauerbruch
25.04.2011, 23:12
Ich fürchte, ganz so einfach wird die Lösung nicht werden. Ich habe Die Software-Uhr unter Bascom zwar noch nie genutzt, bin mir aber ziemlich sicher, dass sie in den gängigen Sleep-Modi nicht läuft.

Wenn Du mit 2500 mAh ein Jahr auskommen möchtest, kann man überschlagen, dass die ganze Schaltung einen mittleren Stromverbrauch von ca. 280 µA haben darf.

Die einzige Lösung die mir im Moment einfällt, sind externe Uhr-Bausteine, die man für wenig Geld bekommt und die eine ausreichend niedrige Stromaufnahme haben. Der PCF8583 benötigt z.B. zwischen 10 und 50 µA, hat einen Oszillator eingebaut und besitzt eine Alarmfunktion, d.h. er kann den Controller zu bestimmten Zeiten "aufwecken". Der Controller muss dann nur noch die Servo-Funktion übernehmen und den Uhren-Baustein über I2C mit den nötigen Informationen versorgen, so dass es gar nicht so ein Flaggschiff wie ein Mega16 oder Mega32 sein müsste.

Wie sehen denn die sonstigen Rahmenbedingungen aus? Sind die Zeiten, zu denen sich das Servo bewegt, fest einprogrammiert, oder sollen sie variabel sein? Wenn ja, wie soll die Eingabe und Anzeige gestaltet werden?

Und lastet auch tatsächlich nur eine minimale Kraft auf der Klappe? Servos werden nämlich "butterweich", wenn man sie von der Versorgungsspannung und dem Impuls trennt und lassen sich mit sehr wenig Kraft passiv verstellen...

xxrider
26.04.2011, 06:59
Ich fürchte, ganz so einfach wird die Lösung nicht werden. Ich habe Die Software-Uhr unter Bascom zwar noch nie genutzt, bin mir aber ziemlich sicher, dass sie in den gängigen Sleep-Modi nicht läuft.

Wenn Du mit 2500 mAh ein Jahr auskommen möchtest, kann man überschlagen, dass die ganze Schaltung einen mittleren Stromverbrauch von ca. 280 µA haben darf.

Die einzige Lösung die mir im Moment einfällt, sind externe Uhr-Bausteine, die man für wenig Geld bekommt und die eine ausreichend niedrige Stromaufnahme haben. Der PCF8583 benötigt z.B. zwischen 10 und 50 µA, hat einen Oszillator eingebaut und besitzt eine Alarmfunktion, d.h. er kann den Controller zu bestimmten Zeiten "aufwecken". Der Controller muss dann nur noch die Servo-Funktion übernehmen und den Uhren-Baustein über I2C mit den nötigen Informationen versorgen, so dass es gar nicht so ein Flaggschiff wie ein Mega16 oder Mega32 sein müsste.

Wie sehen denn die sonstigen Rahmenbedingungen aus? Sind die Zeiten, zu denen sich das Servo bewegt, fest einprogrammiert, oder sollen sie variabel sein? Wenn ja, wie soll die Eingabe und Anzeige gestaltet werden?


Ich fürchte da hast du recht. Aber ich könnte mich auch auf ca. 1mA, also 3 x im Jahr nachladen, hochhandeln lassen je weniger desto besser halt. Aber ich kann wie gesagt auch eine kleine Solarspeisung einbauen. Allein das Servo dürfte mich auch schon ca. die ganzen 2500 mah in Jahr verbrauchen. Also ich komme wohl eh nicht um eine Solarspeisung umhin.
Da ich mich weder elektronisch noch mit der Programmierung gut auskenne, will ich hier am besten eine einfache Lösung, vielleicht ohne externes Uhrenmodul.

Die Klappe hat praktisch feste Zeiten, man müsste das im Jahr vielleicht auch ca. 3 x umstellen und an die Lichtverhältnisse anpassen, vielleicht wäre hier auch ein Lichtsensor noch sinnvoll, oder ein programmierter Jahresgang (vielleicht gar einfacher?).
Display brauche ich übrigens außer zur Ein- und Umstellung keines. Das könnte sonst immer "schlafen".


Und lastet auch tatsächlich nur eine minimale Kraft auf der Klappe? Servos werden nämlich "butterweich", wenn man sie von der Versorgungsspannung und dem Impuls trennt und lassen sich mit sehr wenig Kraft passiv verstellen...

Das geht definitiv, da hab ich ein gutes (im stromlosen ZUstand schwergängiges) Servo, zudem kann die Klappe ganz senkrecht gestellt werden, sodass keine (schwer-) Kräfte wirken.

Noch eine Frage zum Uhrenquarz:
Brauche ich unbedingt Anschwingkondensatoren?
Ich habe gelesen, der ATmega hat selber welche verbaut.
Wenn ja welche und wie beschaltet?

Ruey
26.04.2011, 09:09
Rein vom mechanischen Aufbau her würde mich interessieren welchem Zweck das ganze dienen soll. Habe nämlich festgestellt, sobald nur ein wenig "Druck" auf ein Servo ausgeübt wird fangen die Dinger an Strom zuziehen.

Nur um Auszuloten ob ein Servo tatsächlich das Ding der Dinge für deine Anwendung ist.

Um Klappen zu öffnen gibt es auch noch die Möglichkeit eines "Magnetverschlusses", der nur in dem Moment der Öffnung Strom benötigt um den Magnet umzupolen und den Rest der Zeit fristet er sein Dasein stromlos.

xxrider
27.04.2011, 08:16
Es ist für eine Hühnerklappe. Das Servo braucht nur für die Bewegung (Öfnen und SChließen) Strom, ansonsten kann es stromlos sein.
Ich bin "alter" Modellbauer und kenne die Servos bestens. Das funktioniert und ist daran wohl das kleinste Problem.

Ruey
27.04.2011, 08:35
Okay ;)
sollte ja garkeine Kritik sein,
viel Erfolg weiterhin.

Vitis
27.04.2011, 09:44
Zum Uhrenquarz ...

das Ding wird einfach an den µC angeschlossen und gut ist, hab das selber schon öfter gemacht, kein Problem.
Mit dem Uhrenquarz gibts dann im Timer nen sekündlichen Interrupt,der den AVR auch aus dem Sleepmode
holt, sprich nach Aktualisierung der Zeit kann man den dann wieder in den Tiefschlaf schicken.
Die Kondensatoren brauchts beim Kern-Quarz, also der Takterzeugung für den "Hauptprozessor". Dieser
kann im Sleepmode auch deaktiviert werden. Läuft dann eben sekündlich kurz an, aktualisiert die Zeit
und zurück in den Sleepmode.
Ich meine mich zu erinnern, dass die Bascom Uhrfunktion auch so arbeiten kann.
Dann gibts da noch die spezielle Unterfunktion "sectic", die bei der Uhrenfunktion integriert werden kann,
mal in der Hilfe von Bascom nachlesen.

xxrider
27.04.2011, 12:58
Ich werde wohl eine Autobatterie nehmen müssen.

Als nächstes werde ich mal schauen ob ich eine einfache Uhr hinbekomme, die ich mit 2 Tastern stellen kann.
Das müsste es doch auch fertige Programmschnipsel geben, hat velleicht jemand sowas gerade parat?

Den Uhrenquarz kann ich aus einer alten Platine ausbauen, gut dass man alles aufhebt :)