Hallo, ich bin Hobbybastler und habe schon ein paar Projekte mit Arduino und Co umgesetzt. Ich habe nun eine kleine Steuerung mit dem Digispark (Attiny 85 mit USB-Platine) gebaut und wollte diese eigentlich mit 3AAA Batterien (Gehäuse mit 3AAA + USB-Ausgang) betreiben. Die Steuerung sollte so ca. 10 Tage laufen und einmal am Tag kurz eine Aktion durchführen (kleiner Servo) Nach längerem probieren und vielen Forenbeitragssuchen habe ich den Attiny mit Watchdog in den power-down mode geschickt aber (wie auch schon öfter gelesen) braucht er dennoch zu viel Strom und frisst die Batterie auch beim "Nichtstun" leer. Nun könnte ich ja eine RTC dranhängen und somit einen Interrupt zum täglichen aufwachen zu nutzen, eigentlich ist es mir aber zu viel Aufwand und ich habe den Bauraum nicht. Nun denke ich darüber nach einfach den Digispark-USB über ein "besseres Handyladegerät" und eine mechanische Zeitschaltuhr einfach einmal am Tag für 15min anzuschalten (einen Schleifendurchlauf und dann ein langes delay). Hier habe ich nur eine Frage: der Digispark und Servo sind zwar spritzwassergeschützt aber in nasser Umgebung (Nahe Aquarium bei den Filtern). Ich möchte nicht, dass mir etwas abfackelt :-) Wenn ich ein besseres Handyladegerät mit Kurzschlusssicherung nehme, sollte doch auch wenn es irgendwo auf der Platine durch Feuchtigkeit einen kurzen gibt, die Sicherung greifen und somit nicht das Ladegerät länger kurzschließen? (Natürlich ist die Funktion auch nicht gegeben, aber es wäre nur die Notsicherung) Da es eben unbeaufsichtigt läuft, wollte ich es kurz nachfragen, ob Ihr einen Tip habt oder Bedenken seht? Vielen Dank für die Mühe und frohes Entwickeln :-) Blue
Würde ich nicht machen, oft erkennt man nicht ob das Ladegerät wirklich sicher ist oder nur ein China Billigteil. LG Felix
Hänge einen isolierten DC-DC-Wandler mit kleiner Leistung (halt so viel wie unbedingt gebraucht wird) in die Stromversorgung. Der DC-DC-Wandler dient zum einen als Strombegrenzung, und zum anderen trennt er deine Versorgungsspannung sicher von allem anderen. Achte darauf, dass die Pins für Eingang und Ausgang möglichst weit voneinander entfernt sind. fchk
Blue J. schrieb: > Die Steuerung sollte so ca. 10 Tage laufen und einmal am Tag kurz eine > Aktion durchführen (kleiner Servo) Das sollte man aber mit einer brauchbaren Schaltung (z.B. logischerweise nicht das kleine Modellbauservo dauernd versorgen!) und dem passenden Sleepmode schon hinbekommen. > wenn es irgendwo auf der Platine durch Feuchtigkeit einen kurzen gibt Ich würde zum Test einfach mal so eine Lochstreifenplatine mit 5V versorgen, unter Aufsicht ins Wasser schmeißen und zusehen, was da dann so passiert. Und dann auch mal mit dem Strommesser gucken, ob da irgendeine Sicherung "greifen" würde.
:
Bearbeitet durch Moderator
Blue J. schrieb: > mit Kurzschlusssicherung Da steht: kurzschlussfest. Ob man sich darauf verlassen kann, ist eine andere Frage. https://www.reichelt.de/steckernetzteil-7-5-w-5-v-1-5-a-hnp-06-musbl6-p177067.html
Blue J. schrieb: > braucht er dennoch zu viel Strom Da müssen der 7805 und ggfs. die LED runter. Lothar M. schrieb: > und dem passenden Sleepmode schon hinbekommen. http://digistump.com/products/1 Auf dem Ding ist ein 7805 drauf, damit bringt der SleepMode des µC nur wenig Ersparnis. Und ich hoffe, dass die Schottkydiode D3 auf den realen Boards andersherum als im Stromlauf ist.
Vielen Dank für die schnellen Antworten! @Felix, genau das habe ich eben auch befürchtet! Ich habe jetzt einmal ein Bild angehängt, wie ich es eigentlich machen wollte. Auf dem Bild ist aber noch die alte Version (mit Schrittmotor statt servo) verbaut. Ich setze alle Pins auf LOW, sodass quasi nur Strom fliest, wenn ich es wieder auf High setze (Anm. von Lothar M). Einen Pin nutze ich als Abfrage ob er high oder low ist (mit Pullup) um die Ausgangsposition des Schrittmotors einstellen zu können. Ich habe einen Watchdog initiert der quasi alle 8sek aufweckt (maximal was softwaremäßig geht), und trotzdem läuft mir die Batterie eben weg (und neben bei bemerkt die Zeit ist sehr sehr ungenau, aber das wusste ich und hängt wohl auch mit der schnell sinkenden Spannung zusammen) Manfred, ich müsste also das Bauteil 1 (Bild) rauslöten und wenn möglich noch die Power LED. dann kann ich aber nicht mehr wie oben über den USB anschließen sondern müsste es über die PINS an der Seite direkt machen (was ja geht da zhwischen 3.5-5.5 V mit den 3AA Batterien) Verstehe ich das so richtig, eben dass dann der Spannungswandler weg ist und USB Stromversorgung nicht geht? Danke auch Georg M. , genau an so ein Netzteil hatte ich eben gedacht, in der Hoffnung es dann einfach zu lösen (eben ich habe dann das Zeitproblem sehr genau da Zeitschaltuhr mit Synchronmotor bzw. digital) und eben Stromversorgungsmäßig habe ich quasi unendlich zur Verfügung :-). Könnte es eben auch komplett mit Heißkleber "eingießen" aber dann kann ich dir Programmierung nicht mehr verändern. Seht ihr noch eine andere geschicktere Möglichkeit? Danke und beste Grüße! Blue
Das war die Digispark Programmierung für den Schrittmotor, da ich mittlerweile festgestellt habe, dass meine Servoübersetzung nicht klappt, muss ich wieder auf diesen zurückwelchseln! //Edit: Programmierung als Snipshot angehängt, wegen Formatierung ______________________________________________________________________ _ // Schreibe Motor alle LOW, damit kein Strom gezogen wird, wenn nicht läuft// digitalWrite(1, LOW) ; digitalWrite(2, LOW) ; digitalWrite(3, LOW) ; digitalWrite(4, LOW) ; // Ende WatchdogTimer = WatchdogTimer+1; if (digitalRead(0)== LOW) { delay(20); for (int i=0; i<100; i=i+1) { //Abfrage ob Pin aktiv in FOR SCHLEIFE, DAMIT einmal ohne watchdoy durchlaufen FUNKTIONIERT NICHT, GEHT ALLE 8SEK SCHLAFEN!! -> Wenn ja Motor macht kleine Drehung sukkzezive bis Ausschnitte übereinander liegen if (digitalRead(0)==LOW) { myStepper.step(10); } delay(100); } delay(50); //Notwendig, damit Controller genug Zeit hat } /* This is the event */ if (WatchdogTimer >= WatchdogEventInterval) { /* Event code */ Motormove(); delay(4000); digitalWrite(1, LOW) ; digitalWrite(2, LOW) ; digitalWrite(3, LOW) ; digitalWrite(4, LOW) ; /* Update the timing for the next time around */ WatchdogTimer=0; } sleep_enable(); sleep_cpu(); } // End of void loop() //Function Motor Move (Servobewegung) void Motormove() { myStepper.setSpeedHz(500); //500 Herz scheint geschickt zu sein, schafft der Motor (bei 1000 gab Probleme) myStepper.step(410); } // End Function Motor Move (Servobewegung) ISR (WDT_vect) { WDTCR |= _BV(WDIE); } _______________________________________________________ Wobei mir gerade erst auffällt, dass ich ja das Schrittmotor Treiber board dauerhaft am Strom vom Digispark anhängen habe, das kann ich in dem Fall nicht auf LOW ziehen (da über normale Ausgangspins verdrahtet). Könnte das auch viel Strom fressen, obwohl die Motorsteuerpins quasi alle auf LOW sind? Dann müsste ich irgendwie über einen PIN versorgen den ich eben auf LOW setzen kann, was aber eventuell zu wenig Stromstärke bring? Viel Grüße BLUE
Blue J. schrieb: > Manfred, ich müsste also das Bauteil 1 (Bild) rauslöten und wenn möglich > noch die Power LED. dann kann ich aber nicht mehr wie oben über den USB > anschließen sondern müsste es über die PINS an der Seite direkt machen > (was ja geht da zwischen 3.5-5.5 V mit den 3AA Batterien) Die Spannung von drei Alkalizellen rechnest Du noch einmal nach! Fabrikfrisch können die knapp 1,7V liefern, am Ende sind sie erst bei etwa 1 Volt. > Verstehe ich das so richtig, eben dass dann der Spannungswandler weg ist > und USB Stromversorgung nicht geht? Aua, willst Du nicht einfach mal den Schaltplan angucken, den ich von der Digispark-Webseite geholt habe? Und mal gucken, wie herum die Diode am USB im Board tatsächlich eingelötet ist - Dein Foto taugt nichts. Ich unterstelle Digispark, dass der Schaltplan mit Vorsatz schlampig ist. Der Spannungsregler wird nur benötigt, wenn an JP2-Pin1 eine Spannung größer 5V, mindestens 7,5V, eingespeist wird. Wenn Du den Wert von R4 ablesen kannst und über diesen die Spannung misst, kannst Du den Strom der LED ausrechen - den willst Du bei Batteriebetrieb nicht haben. Die LED an PB1(MISO) ist auch ein Kandidat für die Tonne. Blue J. schrieb: > Wobei mir gerade erst auffällt, dass ich ja das Schrittmotor Treiber > board dauerhaft am Strom vom Digispark anhängen habe Strom kann man messen. Ergebnis könnte auch werden, dass Dich Dein Projekt überfordert und Du mit zwei Transistoren (NPN+PFET) den Motorcontroller abschaltem musst.
ich habe ein "ähnliches" Feuchte-Problem. Bei mir ist das Ding im Gewächshaus, und da tritt Kondensation auf. Ich überlege ob es Sinn macht, das ganze mit Wachs einzusprühen, Schutzwachs aus dem kfz-Bereich.
Xaver M. schrieb: > ich habe ein "ähnliches" Feuchte-Problem. > Bei mir ist das Ding im Gewächshaus, und da tritt Kondensation auf. > Ich überlege ob es Sinn macht, das ganze mit Wachs einzusprühen, > Schutzwachs aus dem kfz-Bereich. Es gibt Urethan-Lack aus der Spraydose für sowas. https://www.pkelektronik.com/media/downloads/d/a/datenblatt%20crc%20kontakt%20chemie%20schutzlack%20urethan%2071.pdf fchk
Hallo zusammen, vielen Dank für die Bemerkungen und Hinweise! Ich habe mir den Schaltplan nochmal genauer angeschaut und die Pins am 78M05 und der PWR LED abgezwackt bzw die LED auch mit dünnem Seitenschneider weggeschnitten. Die PB1 led stört nicht, da diese nur bei der Motordrehung kurz aktiviert ist, und somit habe ich zumindest noch einen Hinweis auf Funktionsweise des Boards! Es scheint alles noch zu laufen und ich mache jetzt mal einen Testlauf. Ich habe zusätzlich noch die Frequenz des Attiny heruntergesetzt über void setup() { clock_prescale_set(clock_div_64); Hier hat es mich gewundert, obwohl ich die Dokumentation gefunden habe, ist es für mich nicht ganz verständlich, ich dachte erst der z.B. div_8 setzt den Clockspeed auf 16Mhz/8=2Mhz. Dem scheint aber nicht so zu sein, sondern der div_8 setzt den Clockspeed auf 8Mhz? Denn der Test bei mir mit div_64 ergibt, dass bei einem einfachen Blink LED Program mit 1000ms delay die LED 4-fach langsamer läuft (jedenfalls hat das (jeweils 4000ms an/ aus sichtbar). Interessanterweise ist der Watchdog timer trozt dieser Anpassung wohl bei 8sek (und nicht vor mir angenommen 8x4=64sek pro "Schlafzyklus") geblieben. Danke für den Hinweis mit dem Transitor für das Board, ich schaue jetzt einmal wo ich beim jetzigen Aufbau lande und was dabei rumkommt, behalte es aber im Hinterkopf! Bezüglich den Spraylacken: Finde ich eine gute Idee! ist die Frage ob ich danach trotzdem nach reinigen nochmal die Programmierung ändern kann oder ob das zu viel Sauerei ist. Dann wäre die Heißklebevariante die einfachste und sicher absolut dicht und robust! Danke und viele Grüße Blue
Blue J. schrieb: > Ich habe mir den Schaltplan nochmal genauer angeschaut und die Pins am > 78M05 und der PWR LED abgezwackt bzw die LED auch mit dünnem > Seitenschneider weggeschnitten. Wie groß ist nun die Stromaufnahme? > Interessanterweise ist der Watchdog timer trozt dieser Anpassung wohl > bei 8sek (und nicht vor mir angenommen 8x4=64sek pro "Schlafzyklus") > geblieben. Im sleep wird der Systemtakt abgeschaltet, also hat sleep einen eigenen Zeitgeber - der übrigens sehr ungenau ist.
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.