Guten Abend, ich sende mit einem ATtiny45 Daten über ein 433Mhz-Modul. Zum einen Sende ich Daten beim Einschalten des Mikrocontroller und zum anderen möchte ich beim Ausschalten Daten Senden. Hier komme ich allerdings nicht weiter. Habe von der Spannung eine Verbindung zum INT0 und bei einer Fallenden Flanke rufe ich die ISR auf um die Daten zu senden. Allerdings funktioniert das ganze nicht. Ist auch klar, da wenn die Spannung wegfällt und die ISR aufgerufen wird, hat der Mikrocontroller und das Sendemodul natürlich auch keine Spannung mehr. Gibt es eine Möglichkeit, eine Art Speicher zu erstellen, der so lange hält, bis die Daten gesendet worden sind?`Das Senden dauert ca. 0,5 Sekunden. Habe schon gedacht (und auch probiert) einen Elko (100uF) zwischen Vcc und Gnd zu stecken, aber dadurch würde die ISR einfach auch nur später aufgerufen werden und es funktioniert immer noch nicht. Frnak
Diode von Spannungsversorgung zum Stütz-Kondensator. Spannungsversorgung (über hochohmigen Widerstand) an den Eingang. (Ggf. über Transistor).
Frank schrieb: > Gibt es eine Möglichkeit, eine Art Speicher zu erstellen, > der so lange hält, bis die Daten gesendet worden sind? Klar. > Das Senden dauert ca. 0,5 Sekunden. Habe schon gedacht > (und auch probiert) einen Elko (100uF) zwischen Vcc und > Gnd zu stecken, Guter Ansatz. > aber dadurch würde die ISR einfach auch nur später > aufgerufen werden und es funktioniert immer noch nicht. Du musst natuerlich das Triggersignal fuer die ISR extra erzeugen. Dazu fuehrst Du die Betriebsspannung zuerst an den Interrupteingang und von dort aus ueber eine Schottky-Diode an Vcc und den Elko. Ggf. ist am Interrupteingang ein Pull-down-Widerstand sinnvoll.
Possetitjel schrieb: > Ggf. ist am Interrupteingang ein Pull-down-Widerstand sinnvoll Das ist auf jeden Fall sinnvoll, denn eine Schottky hat einen nicht unerheblichen Leckstrom.
Erst einmal danke für eure Antworten. Ist die Schaltung so richtig aufgebaut? Beim Ausschalten funktioniert es nämlich noch nicht. Evtl müsste ich einen größeren Kondensator nehmen? Wie viel Kapazität müsste dieser ungefähr haben? Frank
Wenn der Kondensator 2V einbrechen darf, dann etwa 1mF pro mA Stromverbrauch.
Frank schrieb: > Beim Ausschalten funktioniert es nämlich noch nicht. Wo hängt denn das 433 MHz Modul dran? Das braucht ja auch noch Saft...
> Wie viel Kapazität müsste dieser ungefähr haben?
Bei 1 Farad und 1 Ampere sinkt die Spannung um 1 Volt pro Sekunde.
Du musst zunächst heraussuchen, wie weit die Spannung absinken darf.
Dann musst du herausfinden, wie viel Strom deine Teile brauchen.
Wahrscheinlich ergibt die Berechnung irrsinnig grosse Kondensatoren und
du musst dir was anderes ausdenken. Z.B. ein 12V Netzteil und die
Kondensatoren vor dem 5V Spannungsregler. Oder ein Step-Up/Down
Spannungsregler, der auch noch 5V liefert, wenn die Kondensatoren auf 1V
entladen sind.
Noch einer schrieb: > Du musst zunächst heraussuchen, wie weit die Spannung absinken darf. > Dann musst du herausfinden, wie viel Strom deine Teile brauchen. Wieviel Strom die Teile brauchen, ist ziemlich egal. Entscheidend ist die Ladung, die benötigt wird, um die Ausschaltmeldung noch abzusetzen.
"Mikrocontroller bei abgesteckter Spannung zu ende arbeiten lassen" Das Wort dafür lautet übrigens "Nachlauf".
Meinst Du Ausschalten oder Stromausfall ? Im ersten Fall genügt ein Taster, der die Senderoutine aufruft sendet und danach die Stromversorgung abschaltet. Der zweite Fall ist ein anderer Strumpf.
Frank schrieb: > Evtl müsste ich > einen größeren Kondensator nehmen? Wie viel Kapazität müsste dieser > ungefähr haben? Vermutlich einen viel grösseren. Schau doch mal nach, was der controller und v.a. was das HF-Modul braucht, dann kann man dir weiterhelfen. Die brauchen relativ viel Strom, und 0,5 s ist auch eine lange Zeit. Die üblichen Sachen wie wegspeichern von Daten brauchen nur ms. Georg
Frank schrieb: > ich sende mit einem ATtiny45 Daten über ein 433Mhz-Modul. Zum einen > Sende ich Daten beim Einschalten des Mikrocontroller und zum anderen > möchte ich beim Ausschalten Daten Senden. Selbst wenn es dir gelingt, die Daten noch zu senden, gibt dir das keine Sicherheit. Bei Funk und gerade im 433MHz SRD-Bereich weisst du nicht, ob der Empfänger eine blind gesendete Ausschaltmeldung überhaupt zur Kenntnis nimmt. Bei einem Funkthermometer ist es egal, ob der Messwert mal nicht aktualisiert wird und bei der Funkfernbedienung drückt man eben noch mal. Aber für eine einmalig Ausschaltmeldung sieht das anders aus.
Frank schrieb: > Ist die Schaltung so richtig aufgebaut? Unabhängig von der schon angesprochenen Dimensionierung des Kondensators: Du solltest noch einen Widerstand vor den I/O einbauen. Andernfalls kann der Strom über die Schutzdiode des I/O diesen Eingang zerstören. Achim S. hatte diesen Widerstand aber auch schon erwähnt.
Wolfgang schrieb: > Wieviel Strom die Teile brauchen, ist ziemlich egal. Entscheidend ist > die Ladung, die benötigt wird, um die Ausschaltmeldung noch abzusetzen. Naja, und die Ladung muss so groß sein, dass bei gegebenenm Strom und Zeit (0,5s) die Spannung nicht zu weit einbricht. Und die Formeln hierfür ergeben halt die 1000µF pro mA I bei 2V Delta U.
Achim S. schrieb: > Naja, und die Ladung muss so groß sein, dass bei gegebenenm Strom und > Zeit (0,5s) die Spannung nicht zu weit einbricht. Und die Formeln > hierfür ergeben halt die 1000µF pro mA I bei 2V Delta U. Ich komme auf 250µF: C = Q / U = (I * t) / U = (0,001A * 0,5s) / 2V = 250µF
Probiere es doch einfach aus mit verschiedenen C wielange die Schaltung läuft. Muss man doch jetzt keine Wissenschaft draus machen. So ein Funkmodul braucht wenige 10ma, sagen wir mal mit Prozessor 30mA. Sagen wir es überträgt noch 50 Bytes mit 1.200 Baud, das sind 0,05 Sekunden. Nehmen wir an die Schaltung läuft mit 5V und geht auch noch mit 4V. Nach der genannten Formel 1mF pro mA pro Sekunde und V brauchen wir 30x0,05 = 1500uF. Evtl kann man auch den Spannungsabfall schon früher feststellen und schon während des abfallens senden, dann kann der C auch noch etwas kleiner sein. Da müsste man einen Komparator oder Opamp und eine Spannungsreferenz/Spannungsteiler nutzen, den Abfall bei 4,5V bereits feststellen. Damit nutzt man die C des Netzteil dann mit. Aber vermutlich ist es billiger und einfacher einen oder mehrere Cs einzubauen, 2x 1000uF oder 4x 470 oder so.
Achim S. schrieb: > Naja, und die Ladung muss so groß sein, dass bei gegebenenm Strom und > Zeit (0,5s) die Spannung nicht zu weit einbricht. Und die Formeln > hierfür ergeben halt die 1000µF pro mA I bei 2V Delta U. Eben, dafür musst du die mittlere Stromaufnahme erstmal wissen, d.h. das komplette Stromprofil für die Nachlaufzeit bestimmem. Und wie bestimmt diesen Strommittelwert? Man integriert über die Zeit und teil durch eben die Integrationszeit. Genau die Integration kann ein Kondensator bestens übernehmen. Man lädt einen großzügig dimensionierten Kondensator auf und guckt an, wie weit er sich entladen hat, bis die Daten raus sind. Ohne sich dann überhaupt um die Zeit zu kümmern und irgend welche Mittelwertschätzereien über das Stromprofil zu veranstalten, ergibt sich die Ladung aus Kapazität und Spannungsabnahme. Wenn man nun die Ladung weiss, kann man den endgültigen Kondensator so dimensionieren, dass am Ende der Aussendung noch ausreichen Betriebsspannung vorhanden ist. Bei Verwendung eines Senders, dessen Leistung von der Betriebsspannung abhängt, ist es, wie schon vorgeschlagen, eventuell sogar günstig, den Kondensator vor einem Spannungsregler zu plazieren, damit die Sendeleistung über die Dauer des Datentelegramms nicht absackt.
Ihr macht da alle eine Riesenwissenschaft draus. Der soll mal 2000uF dranhängen und fertig.
> Ihr macht da alle eine Riesenwissenschaft draus. > Der soll mal 2000uF dranhängen und fertig. L.O.L. JA! Ich haette aber eher zu 10 mF tendiert. Die gibt es ja fuer 6.3V auch in sehr handlich.
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag #4985141: > L.O.L. > JA! > > Ich haette aber eher zu 10 mF tendiert. > Die gibt es ja fuer 6.3V auch in sehr handlich. Im postfaktischen Zeitalter wird gemacht und nicht gedacht
> Im postfaktischen Zeitalter wird gemacht und nicht gedacht
Umgekehrt.
Isaak Newton sagte - das Experiment hat immer recht. Wenn du was anderes
denkst, sind deine Überlegungen falsch.
Damit begann das Zeitalter der Fakten.
Noch einer schrieb: > Isaak Newton sagte - das Experiment hat immer recht. Und wer bestreitet das? Nur jemand der jegliche Fakten ignoriert. Auch mit einem beliebig überdimensionierten Kondensator wird es natürlich immer funktionieren. Die Frage an das Experiment ist hier aber eine andere. Ein Punkt war die Frage nach der Mindestgröße eines Kondensators, damit die Aussendung noch funktioniert und ob man mit den genannten 100µF hoffnungslos daneben liegt.
Noch einer schrieb: > Isaak Newton sagte - das Experiment hat immer recht. Wenn du was anderes > denkst, sind deine Überlegungen falsch. Das Experiment kann auch falsch sein, also nicht zu den Überlegungen passen. Und schon haben wir das Grundproblem der Wissenschaft, zu wenige Gleichungen mit zu vielen Unbekannten.
> ob man mit den genannten 100µF hoffnungslos daneben liegt.
Davon kann Mann wohl ausgehen.
Joe F. schrieb: > Wo hängt denn das 433 MHz Modul dran? Das braucht ja auch noch Saft... Den hatte ich ebenfalls am Kondensator drangehängt. THOR schrieb: > "Mikrocontroller bei abgesteckter Spannung zu ende arbeiten lassen" > > Das Wort dafür lautet übrigens "Nachlauf". Super, Danke. Ich habe jetzt 1000uF dran gehangen und es funktioniert ganz gut. Sogar eine LED während des Sendens kann ich noch aufleuchten lassen. Ich danke euch für eure hilfe.
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag
#4985202:
> Davon kann Mann wohl ausgehen.
Mann hat das Problem aber gar nicht, der diskutiert hier nicht mit.
Und natürlich kommt es auch auf die Übertragungsgeschwindigkeit, das
Übertragungsprotokoll, die Datenmenge und die Latenz des Programms drauf
an. Die Parameter kennt hier aber keiner. Also müssen die Tips
naturgemäß allgemeiner Natur bleiben.
Das Grundkonzept lässt sich relativ einfach umreißen: Zwei Versorgungszweige a) Nur die CPU und der Sender b) Alles andere. Dabei unterstelle ich mal, dass Deine Schaltung irgend etwas macht;) Messsensoren; Die beliebten LEDs; usw. - Die zwei Zweige müssen getrennt sein. Am Besten durch eine Diode mit geringem Durchlasswiderstand (Schottky oder so). - Die Größe des Stützkondensators oder besser HiCap hängt natürlich vom Verbrauch des Senders und der CPU ab. Weshalb Dir hier auch keiner in diesem Punkt helfen kann. - Eine "Erkennung" wann die Spannung ausgefallen ist. Ist nicht ganz einfach, da man ja nicht erst den "halben" Stützkondensator leersaugen will, bevor man auf die sichere Seite wechselt. Allerdings soll natürlich auch Sichergestellt sein, dass die Peripherie oder die CPU schon Amok laufen. Darüber hinaus sollte bei unruhigen Verhältnissen nicht zweimal Schluss gemacht werden. Schön wäre es auch, wenn beim Einschalten nicht schon in den Notmodus gegangen würde. Der Stützkondensator (bzw. die Spannung in diesem Zweig) führt zu diesem Zeit ein interessantes Eigenleben.
Warum nicht ein anderes Konzept? Warum muss das Gerät eigentlich etwas Senden, wenn es ausfällt? Hätte man das nicht schon früher machen können? Etwas bei Änderungen, oder zyklisch alle n Sekunden. Dann weiss die Gegenstelle nach n+1 Sekunden: das Gerät ist aus, hat aber trotzdem vorher schon alle Daten übertragen. So ein Konzept ist vielleicht einfacher als die ganze Kondensator-Geschichte.
Nachtrag: Ich sichere wichtige Daten beim Herunterfahren im EEprom. Das geht schneller. Danach kann man die Daten beim Neustart verschicken.
Frank schrieb: > > > Ich habe jetzt 1000uF dran gehangen und es funktioniert ganz gut. Sogar > eine LED während des Sendens kann ich noch aufleuchten lassen. > Ich danke euch für eure hilfe. So ist es recht.
"Viel hilft viel" stimmt dann doch ab und zu mal... ;-) Als Alternative wollte ich noch vorschlagen einfach im Betrieb regelmäßig (z.B. alle 5-10 Sek) zu senden. Wenn das Signal dann länger als sagen wir mal 2 Perioden ausbleibt, kann der Empfänger davon ausgehen, dass der Sender ausgeschaltet wurde. Kommt halt auf die Anwendung an, ob das praktikabel ist.
Ich halte den Ansatz mit dem Pufferelko für äußerst fragwürdig. In diversen Threads wurde schon mehrfach der AVR-Transistortester erwähnt, der sich seine Versorgung selbst abschaltet, wenn er fertig ist. Anstatt eines Schalters gibt es dann eben zwei Taster für Ein und Aus, der µC sendet seine Daten und klemmt sich dann selbst ab.
Wenn von den 1000uF nur noch 500 übrig bleiben, dann reicht es nicht mehr für die komplette Sendung...
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.