Forum: Mikrocontroller und Digitale Elektronik Simple Servosteuerung mit wenig Strom


von Norbert S. (norberts)


Lesenswert?

Moin,

Ich habe folgende Anforderung: 2x am Tag möchte ich per Servo einen 
Drehknopf betätigen. Automatisch als "Zeitschaltuhr". Den 
Thermostatknopf einer Steuerung einer Fußbodenheizung.
Ein direkter Eingriff in die Steuerung ist ausgeschlossen.

Weitere Gegebenheiten:
Arduino Nano, allerdings eher als nackter Mega328 mit internem RC bei 
1MHz.
Ich habe an dem Thermostat etwa 6,5-7,5V, die ich aber kaum mit 2mA 
belasten kann. Ich schätze da sitzt irgendwo ein Kondensatornetzteil.
Der Nano nimmt sich im Idle 0,5mA. Weiter runter bringt angesichts der 
Servoproblematik nichts.

Der Plan:
Der M328 mit seinem internen RC wird erstmal manuell kalibriert.
Timer1 läuft mit Überlauf alle 4s. Das gleiche ich schrittweise ab, bis 
ich auf 1s/h komme. Das reicht an Genauigkeit.
Wenn mir die "Uhr" irgendwann zu falsch geht, stelle ich sie neu. Reset 
= 20Uhr. Wenn ich doch noch ein Wochenprogramm mache, dann eben nach 
Neustart So. 20Uhr.
Das ist soweit alles kein Problem. 5 Min. Abweichung wären dafür noch 
absolut Latte.
Gemessen habe ich die 4s jetzt so genau wie es mit dem Oszi geht, auf 
<1% passt das schon.

Zu den programmierten Schaltzeiten (fest in der Software) fährt das 
Servo die festen Positionen A (kalt) und B (warm) an.
Mit zwei Tasten kann ich jederzeit die aktuelle Position manuell in den 
Grenzen A und B ändern.
Dazu wird das Servo nur zum Verfahren mit Spannung versorgt.

Mein Problem ist nun die Versorgung des Servos. Das dürften einige 100mA 
sein, ev auch mal 1A.
Mit Elko komme ich da nicht weit, das brauche ich kaum nachrechnen.
Goldcaps 1F 5,5V hätte ich noch, die kacken bei 100mA aber auch ab.
NimH-AAA Zellen? (liegen hier rum) 3 Stück? Laden mit 1mAh könnte ich.
Das reicht aber ja kaum für die Selbstentladung.
Alternativ ein 9V-Block Lithium (Primär). Die habe ich auch rumliegen 
ohne Ende. Als die Jungs die Rauchmelder im Haus gegen 10-Jahresdinger 
ausgetauscht haben, habe ich gefragt, was sie denn mit den 9v-Blocks 
machen - Zack hatte ich >100 Stück von den Dingern, vielleicht 1 Jahr im 
Einsatz.
Da sich das Servo nur ein paar s am Tag bewegt, dürfte das auch ewig 
halten. Ich bräuchte aber einen separaten 7805 oder sowas.

Hmm, viele Fragen zu diesem Bastelprojekt habe ich mir beim Schreiben 
schon selbst beantwortet. Bleibt die Frage wie ich das Servo versorge.

Auch bzgl. des gesamten Konzeptz bin ich für konstruktive Kritik 
dankbar.

Das Ganze ist wie gesagt ein Bastelkram, der am WE mit vorhandenem Zeugs 
realisiert werden soll.
RTC, DCF77 oder sowas kommt nicht in Frage.

Gruß,
Norbert

von Stefan F. (Gast)


Lesenswert?

Verwende einen Mikrocontroller mit RTC, der die meiste Zeit schläft. Zum 
Beispiel einen STM32F103C8T6, der fällt mir dazu gerade ein weil er 
derzeit sehr billig mitsamt Quarz zu haben ist.

Was die Stromversorgung des Motors angeht, würde ich Einwegbatterien 
verwenden. Akkus halten nämlich auch nicht ewig, vor allem wenn sie kein 
ordentliches Ladegerät haben.

Spannungsregler mit Enable-Eingang könnten hilfreich sein.

von Klaus (Gast)


Lesenswert?

Norbert S. schrieb:
> NimH-AAA Zellen? (liegen hier rum) 3 Stück? Laden mit 1mAh könnte ich.
> Das reicht aber ja kaum für die Selbstentladung.

Servos sind mal für den Betrieb an vier NiCads erfunden worden. Heute 
würd ich das mit vier enelopes machen. Die haben eine sehr geringe 
Selbstentladung, halten sogar Jahre.

MfG Klaus

von Norbert S. (norberts)


Lesenswert?

Stefanus F. schrieb:
> Verwende einen Mikrocontroller mit RTC, der die meiste Zeit schläft. Zum
> Beispiel einen STM32F103C8T6, der fällt mir dazu gerade ein weil er
> derzeit sehr billig mitsamt Quarz zu haben ist.
>
> Was die Stromversorgung des Motors angeht, würde ich Einwegbatterien
> verwenden. Akkus halten nämlich auch nicht ewig, vor allem wenn sie kein
> ordentliches Ladegerät haben.
>
> Spannungsregler mit Enable-Eingang könnten hilfreich sein.

Klar, ich bewerfe das Pipifax-Zeug mit einem 32-Bitter.
Die Uhr ist kein Problem, hast Du das überlesen?

Gruß,
Norbert

von Stefan F. (Gast)


Lesenswert?

Norbert S. schrieb:
> klar, ich bewerfe das Pipifax-Zeug mit einem 32-Bitter.

Sagt jemand, der ein Poti mit einem Servo antreiben will.

Die 32bit sind doch egal, das Board kostet samt (integrierter) RTC keine 
2 Euro.

Eine Uhr auf Basis des R/C Oszillators kannst du vergessen. 5 Minuten 
Abweichung (pro Tag) erreichst du damit nie im Leben, nicht einmal 
Ansatzweise. Das klappt bestenfalls ein paar Tage lang, bis sich das 
Wetter ändert.

von Norbert S. (norberts)


Lesenswert?

Moin,

Bastelprojekt mit Arduino-Nano.
RTC brauche ich nicht.
Bitte lesen.
DU würdest es vielleicht mit dem STM32 machen aber danach habe ich nicht 
gefragt.
Da beschreibt man es ausführlich und dann kommt immer einer...
Mein Golf springt nicht an, was soll ich tun. Zündung, Sprit?
"Kauf Dir einen Opel!"
Super.

Gruß,
Norbert

von Stefan F. (Gast)


Lesenswert?

Beklage Dich nicht. Ich habe Dir eine bessere Alternative genannt, die 
musst du ja nicht annehmen. Auf die Stromversorgung bin ich auch 
eingegangen.

von Norbert S. (norberts)


Lesenswert?

Moin,

Alles gut, kein Gezanke.
Der µC ist nicht das Problem. Ob ich mit dem RC leben kann, werde ich ja 
sehen.
Ganz stumpf Trockenbatterien nehmen ist natürlich auch eine Variante. 
Hält auch ewig.

Gruß,
Norbert

von Norbert S. (norberts)


Angehängte Dateien:

Lesenswert?

Moin,

So, bin etwas weiter aber so richtig super ist das noch nicht...

Der RC reicht nicht, das habe ich jetzt eingesehen. Zuerst war ich bei 
einer Sekunde auf 20 Minuten. Das wäre hochgerechnet ok gewesen.
Nächsten Tag waren es 5s auf 20 Min.. Nee, das ist zuviel, 6 Min am Tag.
Also Quarz auf dem Nano, div8 Fuse gesetzt.
Das waren jetzt nach einem Tag ca. 15s. Das ist wirklich ok. Mit bis zu 
einer Minute pro Tag könnte ich noch leben.

Versorgt wird jetzt mit einem LP2950 (100µA bei ein paar mA Output). Der 
LM1117 auf dem Nano lutscht 7mA, wenn er am Ausgang 5V sieht und am 
Eingang nix. Also runter.
Der CH340 auf dem Board nimmt max 0,2mA laut DB.

Der M328 auf dem Nano läuft also am Quartz 16MHz / 8 mit 2MHz.
Er schläft Idle 125ms (0,1XmA) und ist dann vielleicht ein paar Dutzend 
Takte wach. Also vielleicht 50-100µs, also nix.
BOD ist an (30µA).
Die Power-LED vom Nano ist natürlich raus.

Trotzdem verbraucht das Moped noch so 2,7mA. Für meine Anwendung nur 
grenzwertig aber theoretisch viel zu viel.

Ist das etwa der Quartz, der mit "Full Swing" aktiv ist?

Stelle ich auf internen RC mit Div8 um, also 1MHz, sind es immer noch 
0,9mA.
Was verbraucht denn da noch so viel Strom? Spätestens hier würde ich 
vielleicht 400µA erwarten.

Ich hab den Schaltplan mal angehängt. Der FT232 ist allerdings ein 
CH340, der LM1117 ein LP2950, Vorwiderstand der Power-LED-ist raus.

Gruß,
Norbert

von wendelsberg (Gast)


Lesenswert?

Norbert S. schrieb:
> Also Quarz auf dem Nano, div8 Fuse gesetzt.
> Das waren jetzt nach einem Tag ca. 15s. Das ist wirklich ok. Mit bis zu
> einer Minute pro Tag könnte ich noch leben.

Die Abweichung kann man kompensieren, Stabilitaet ist wichtiger.
Siehe 
https://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC

wendelsberg

von Norbert S. (norberts)


Lesenswert?

wendelsberg schrieb:
> Die Abweichung kann man kompensieren, Stabilitaet ist wichtiger.

Das ist klar, wenn es bei den 15s bleibt kommt da ein Fummelfaktor pro 
Tag (oder was auch immer) rein und fertig.
Ich glaube ich bin mit dem Timer sogar schon daneben. Ich zähle 2s, die 
rein rechnerisch nicht ganz genau sind.

Das war aber jetzt überhaupt nicht die Frage.

Ich kann ja jetzt mit allem leben, es wundert mich nur der eigentlich 
immer noch zu hohe Stromverbrauch.
Ach ja, alle unbenutzen Pins haben den internen Pullup eingeschaltet. 
Ein einziger offener Pin lutscht sonst gerne mal 0,5mA.

Gruß,
Norbert

von Tim (Gast)


Lesenswert?

Norbert S. schrieb:
> Trotzdem verbraucht das Moped noch so 2,7mA. Für meine Anwendung nur
Klappt das mit dem IDLE vielleicht nicht?
Die 2 mA passen zur Verbrauchskurve im Datenblatt.

Wie erfolgt die Versorgung jetzt genau? Geht vielleicht noch was über 
die "+5V Auto Selector"-Diode?

von Norbert S. (norberts)


Angehängte Dateien:

Lesenswert?

Moin,

Verdammt, das käme wirklich gut hin, wenn er nicht in Idle geht.
Gut aufgepasst, hätte ich auch selbst drauf kommen können.
Ich habe jetzt doch mal den Quellcode (Achtung, Bascom) angehängt.
Da frage ich mich doch, warum das nicht gehen sollte.
Am Anfang der Do... Loop geht er in Idle, wacht auf wenn Timer0 kommt 
und beim 16. Mal arbeitet er die "If T0counter = 16 Then" ab.
Hmmm, in der Hilfe steht "You should use the new CONFIG POWERMODE 
statement."
Das probiere ich mal aus aber eigentlich sollte das simple IDLE auch 
gehen.
Ich kann auch direkt nach IDLE mal ne LED toggeln lassen. Wenn IDLE 
funktioniert muss die sichtbar mit 4Hz flackern.

Die Versorgung erfolgt von Vin über einen LP2950 statt des originalen 
LM1117. An USB ist nichts dran.

Gruß,
Norbert

von Norbert S. (norberts)


Lesenswert?

Moin,

Led flackert mit 4Hz und mit "Powermode" ändert sich auch nichts.
Der geht in Idle, das war es nicht.

Ich habe auch nochmal mit dem Oszi gemessen: 2,7mA normal, geht alle 
125ms für ca. 80µs auf 4,2mA, alle 2s für etwa 120µs.
Passt alles mit 1,5mA mehr wenn aktiv, nur sind da immer ca. 2mA zuviel.

Ich habe noch den CH340 ausgelötet - keine messbare Änderung.

Jetzt gehen mir langsam die Ideen aus.
Was soll denn das jetzt noch sein?

Gruß,
Norbert

von Tim (Gast)


Lesenswert?

Da kann ja fast nur noch mit dem LP2950 was nicht stimmen. Wie ist die 
Stromaufnahme, wenn der raus ist und die Schaltung aus dem Labornetzteil 
versorgt wird?

von Johannes S. (Gast)


Lesenswert?

Norbert S. schrieb:
> Ich habe folgende Anforderung: 2x am Tag möchte ich per Servo einen
> Drehknopf betätigen. Automatisch als "Zeitschaltuhr". Den
> Thermostatknopf einer Steuerung einer Fußbodenheizung.

hast du mal geprüft ob das überhaupt etwas bringt? Nachtabsenkung bei 
FBH macht i.A. kaum Sinn, siehe z.B. hier:
https://heizung.de/heizung/frag-den-heizung-de-experten/frag-den-heizung-de-experten-ist-die-nachtabsenkung-bei-einer-fussbodenheizung-sinnvoll/

Für die Heizungsventile gibt es elektrischen Ersatz, die brauchen 
üblicherweise 230 V oder 24 V und etwa 2-3 W (Heimeier wäre ein 
Hersteller). Oder man nimmt die billigen elektronischen 
Heizungsthermostate, die laufen mit 2x AA Batterien.

von Norbert S. (norberts)


Lesenswert?

Moin,

Jo, der LP2950 vielleicht noch. Wird ausprobiert.

Absenkung:
Es geht nur um einen Raum und so träge ist das hier nicht. Braucht 
vielleicht 1h und es wird spürbar warm.

In die eigentliche Heizung greife ich sicher nicht ein.

Gruß,
Norbert

von Ratgeber (Gast)


Lesenswert?

Da guck doch mal die Fusebits an, ob der Quarz im Fullswing Modus 
angesteuert wird. Dadurch nimmt der Kollege auch einen höheren Strom 
auf.
Wenn Du nicht gerade in einer Werkhalle den Fußboden heizt und neben Dir 
Einer mit der Funkenerodiermaschine herumfuhrwerkt, dann reicht auch der 
"normale" Modus für den Quarz.

von Norbert S. (norberts)


Lesenswert?

Moin,

Jo, nachdem der LP2950 jetzt auch ausgeschlossen ist (getestet) kam mir 
auch noch diese Idee.
Natürlich war der im Fullswing, mit Absicht. Also habe ich mal low Power 
eingestellt und Zack - mein erster verfuster AVR ever nach fast 20 
Jahren mit den Dingern.
Mit einem FG (kann nur 10kHz) habe ich den auch mit -B 1000 mit AVRDude 
nicht mehr zum Leben erwecken können. Naja, vielleicht irgendwie beim 
Löten oder mit dem Testaufbau (=Drahtverhau) gehimmelt.
Ok, nächster Nano, hab ja genug.
DOA - also noch einer...
Der macht jetzt wieder genau das Gleiche, ob mit LP, direkt am Netzteil 
- der Fullswing dürfte diese 2mA ausmachen.
Tja, kann ich jetzt mit leben, muss man nur wissen.
Vielleicht probiere ich das nochmal mit einem 4MHz Resonator und low 
Power, hab ich jetzt nur nicht hier.

Für so einen Scheiß sind die Nanos echt klasse. Wenn man was zersemmelt 
- weg damit und nächste Tüte aufreissen. Wenn die auf den Rest gehen, 
gleich mal wieder 5 Stück für < 10€ vom Chinamann bestellen.

Gruß,
Norbert

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.