- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 90

Thema: Zeitschalter

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.707
    Zitat Zitat von Holomino Beitrag anzeigen
    Oh Backe.
    Ich dachte eigentlich, so'n Arduino sollte die Arbeit erleichtern und sich nicht selbst im Weg stehen..
    So´n Arduino erleichterte mir die Arbeit als ich mal einen nano-Clone versuchsweise beschaffte. Schicke Miniplatine mit Stromversorgung, einem UART-USB-Wandler, /RES-Taster und ein paar LEDchen für ne Handvoll Euro. Damit war in kurzer Zeit mit ein bisschen Peripheriesteckern auf nem kleinen Gesamtboad ein sauberer Servotester mit Poti-ADC-Einstellbarkeit und LCD zur Ausgabe der Pulslänge in Ticks oder µs zusammengestellt. Saubere kleine Hardwarelösung, schnelle Softwarelösung - in C. Einziger Nachteil ist der Arduinoticker mit 16 MHz, während meine StandardAVRs mit 20 MHz zwitschern.

    Von API hab ich keine Ahnung (sagn wa so: nicht wirklich), "makefile-Krempel" hatte mir AVRStudio abgenommen, pefekt wie immer im Hintergrund und die übliche C-Umgebung erlaubte mir den Zugriff auf jedes controller-interne Detail und Pinfunktionalität gemäß Datenblatt. Im Weg wäre mir allenfalls die Arduino-IDE gestanden - weil ich sie nicht kenne. Es geht also eher um Ansicht oder Ablehnung zweier IDEs - das darf jeder wie er will.
    Ciao sagt der JoeamBerg

  2. #2
    HaWe
    Gast
    021aet04:
    der Sleepmode funktoniert, na klar, selber schon gemacht - aber man brauchte dafür einen externen "Aufwecker" (z.B. ein serielles Signal).
    Ich habe noch nirgends gelesen, dass man ihn auch intern per internem Timer aufwecken könnte, denn für Timer auslesen muss er ja bereits wach sein (CMIIW) - wenn es auch anders geht, zeig mir den Sketch!

    PeterToo:
    Natürlich weiß ich auch, dass der NE556 doppelt so viele Timer / MOSFETS hat wie der 555, aber genau deshalb könnte man das ja vielleicht nutzen: den einen für die lange Wartezeit, den anderen für den kürzeren Schaltimpuls - klar?
    Was cpus angeht - da arbeite ich aber nunmal nur mit Arduinos, damit bin ich vertraut, wenn auch eher mit dem ARM Cortex M3 (Arduino Due, 84MHz, 92kB RAM) als den einfachen AVRs.
    Dennoch sind ja die Arduino-API Befehle für alle Board-Plattformen die gleichen (bis auf low-level-CPU-Zugriff, aber das krieg ich auch noch hin). Eine andere, völlig neue Hardware- und IDE-Architektur tue ich mir für dieses Schaltproblem aber nicht mehr an:

    Wenn also cpu, dann Arduino,
    andernfalls einfach zu beschaltende Timer-Chips, wo ich aber schon wenigstens größenordnungsmäßig die Daten für die Widerstände und Kondensatoren zur Beschaltung bräuchte, also konkrete Lösungen.
    So ein Bauteile-Rechner wäre also schon genial, aber eben mit Schaltzeiten als Input und Bauteil-Dimensionierung als Output - oder verlässliche Erfahrungswerte.

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Sketch kann ich nicht anbieten, da ich nicht mit der Arduino IDE programmiere (ich verwende AVR Studio). Aber laut Datenblatt kann man aus jedem Sleepmode mit dem Watchdog Timer aufwachen und mit Timer 2 aus Idle und Powersave bzw wenn der Timer im asynchron Modus läuft auch aus dem ADC Noise Reduction Mode. Gelesen im Datenblatt des Atmega168 (der sollte auf dem Arduino Nano verbaut sein, wenn ich das richtig gefunden habe).

    Das sollte die IDE unterstützen, ansonsten ist die der reinste Mist.

    Ansonsten könntest du, wie schon geschrieben wurde, mit RTC arbeiten. Man stellt den RTC so ein wie man es will (wann geweckt werden soll) und legt den uC dann schlafen. Wenn die Zeit abgelaufen ist weckt der RTC den uC auf. Dieser führt das Programm dann von dieser Stelle, wo er in den Sleepmode gegangen ist, fort.

    Wenn du mit dem NE55x arbeiten willst musst du einen AMV und einen MMV verwenden. Der AMV wird auf die lange Zeit eingestellt, dieser triggert den MMV. Der MMV gibt einen kurzen Impuls ab (z.B. 1s). Wenn man lange Zeiten braucht geht man mit der Kapazität hinauf, damit man mit dem Widerstand herunterkommt. Das man nicht eine Kapazität im nF Bereich wählt und einen Widerstand im MOhm Bereich braucht. Man nimmt üblicherweise Widerstandswerte von ca. 1k bis 500k (niedriger ist besser). Das ist etwas Spielerei mit den Werten. Du kannst als Anhaltspunkt die Schaltungen in diesem Thread nehmen https://www.roboternetz.de/community...-leise-tmc2100

    MfG Hannes
    Geändert von 021aet04 (19.11.2015 um 09:49 Uhr)

  4. #4
    HaWe
    Gast
    Ja, du hast wschl Recht, vllt finde ich ja wirklich einen brauchbaren Watchdog-Timer-Code.
    Andere Plattformen als Arduino AVRs kommen aber definitiv nicht in Frage, und auch keine zusätzliche RTC da zu viel Aufwand. Wenn also Code, dann bitte nur Arduino-Sketche.
    Über den Umfang der Arduino Libs kann ich aber keine umfassende Aussage treffen, und ob sie Mist ist oder nicht, steht auch gar nicht zur Debatte.

    Nach wie vor halte ich aber eine AVR cpu für die Aufgabe grundsätzlich für Overkill, wie bereits ganz zu Anfang im TOP geschrieben. Für so eine primitive Schaltaufgabe zu festen 5-Min.-Zeit-Takten müsste es eine simplere Lösung mit simplen Timer-Chips geben - allerdings dann wie verschalten mit welchen Bauteilen genau?

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    908
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Im Weg wäre mir allenfalls die Arduino-IDE gestanden - weil ich sie nicht kenne. Es geht also eher um Ansicht oder Ablehnung zweier IDEs - das darf jeder wie er will.
    Wenn wir alle das Gleiche wüssten, wären wir Borg.

    HaWe:
    Ich hab mein altes Projekt mal kurz überflogen und festgestellt, dass der Uhrenquarz an die XTAL-Anschlüsse kommt. Damit wäre Arduino mit seiner USB-Prog-Schnittstelle wohl schon hardwaretechnisch raus.

    Die Aufgabe, eine PORT 5 Minuten auf low zu halten, danach "ein paar Sekunden" auf high zu schalten, schreit ja eigentlich nach etwas noch Kleinerem (vielleicht ein ATTiny 12/13/25).
    "So wenig Strom, wie möglich" frage ich jetzt mal zurück: "wieviel Sparen ist denn nötig?". Der Tiny25 z.B. liegt mit dem internen 128kHz RC-Oszillator im Bereich 200uA. Das ist sicherlich zu viel für den Betrieb mit einer Knopfzelle, aber muss das überhaupt sein?


    Wenn's um 'nen Einzelstück geht, findest Du sicherlich jemanden (mich), der Dir so 'nen Achtbeiner fertig programmiert gegen Porto und Chip-Kosten durch die Republik schickt. Wenn Du das Teil öfter brauchst, kannst Du Dir immer noch überlegen, ob Du Dir 'nen AVR-ISP und Minimalkenntnisse über die Bedienung des GCC/AVRStudio aneignest und Deinen Horizont etwas gen C-Erleuchtung verschiebst.

    Apropos "C-Erleuchtung": Bei mir ist das genau andersherum mit dem Arduino. Seit Jahren denke ich: "da musst Du mal was mit machen!". Das ist also nicht abwertend gemeint.

    Nachtrag: "Overkill" bezogen auf was? Ein gesockelter Tiny mit 8 Beinen benötigt NULL externe Bauteile (nicht mal mehr den Reset-Pullup). Für solchen Hardware-Luxus lasse ich mittlerweile gerne die analogen Bauteilgräber links liegen.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Holomino Beitrag anzeigen
    Nachtrag: "Overkill" bezogen auf was? Ein gesockelter Tiny mit 8 Beinen benötigt NULL externe Bauteile (nicht mal mehr den Reset-Pullup). Für solchen Hardware-Luxus lasse ich mittlerweile gerne die analogen Bauteilgräber links liegen.
    Geht mir genauso, nur sind es bei mir 8 Pin PICs. 3 Signale sowie Vcc und GND zum PICKIT, ein paar Zeilen C voll debugbar im Source, und fertig ist ein Timer, ein Pulse Generator für Stepper etc. Noch ein Poti dazu und ein einstellbarer Rechteckgenerator, eine LED-PWM oder ein Servotester ist fertig.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  7. #7
    HaWe
    Gast
    über eine echte u/mA Zahl, was den Stromverbrauch angeht, kann ich noch gar nichts sagen, Knopfzellen-Level über ein paar Monate wäre schon gut - aber in der Tat vllt noch nicht mal nötig. "So wenig wie möglich" ist daher mehr als schwammig, aber zumindest sollte es deutlich weniger sein als ein AVR Arduino, wenn er (ohne sleep) im Normalbetrieb einfach zwischen 2 delay() Zyklen umschaltet
    Code:
    while(1) {
      digitalWrite(pin, LOW);
      delay(5*60*1000);
      digitalWrite(pin, HIGH);
      delay(10*1000);
    }
    ich "dachte" halt, dass ein analog-Timer wie NE555/6 da etwas sparsamer ist im Verbrauch, kA, ob das überhaupt stimmt...

  8. #8
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    Ein Atmega im Power Down Mode braucht 0.1µA bei 1.8V. Es gibt auch den Standby Mode wo der Oscilator weiter läuft. Im Power-Save Mode läuft der Oscillator und der Timer weiter. Die CPU ist nach 6 Takten wieder voll da. Damit kann man sicher auf Knopfzellen Niveau kommen

    Quelle: ATmega48/88/168 Dokumentation

Ähnliche Themen

  1. Zeitschalter
    Von kuzman im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 10.04.2010, 19:16
  2. Zeitschalter mit NE555
    Von markus1990 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 01.03.2006, 12:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress