Hallo Zusammen, ich würde gerne ein Arduino per 433 Mhz Fernbedienung einschalten, das Arduino ein paar Aktionen ausführen lassen und anschließend würde ich gerne das Arduino sich selbst abschalten lassen. Das Einschalten stellt erstmal kein Problem dar, per Funk-Einbauschalter ala http://www.conrad.de/ce/de/product/640302/Conrad-Funk-Einbauschalter-RSLU/SHOP_AREA_38084&promotionareaSearchDetail=005 . Nur wie kann ich diesen Schalter per Arduino dazubekommen abzuschalten. 1. Idee: In dem Einbauschalter den entsprechenden Code zum Abschalten per Arduino simulieren. Was recht gut möglich ist per http://code.google.com/p/rc-switch. Auslesen konnte ich den Code bereits. Bin aber von diesem Plan erstmal abgekommen, da ich mir dabei den Atmega dabei mit 230V zerschossen habe. Vermutlich wegen der verschiedenen Massen vom Netzteil des Arduino und dem Funk-Einbauschalter. Ich denke das ganze war keine gute Idee, bzw. ist nur eine gute Idee wenn ich die Stromversorgung (5V.) von Arduino und Funk-Einbauschalter irgendwie zu einer machen kann. 2. Idee: mit einem zweiten Sender am Arduino, ebenfalls per rc-switch den Funk-Einbauschalter abschalten. Etwas weniger elegant, aber würde funktionieren. Was denkt Ihr? Würde mich auch zu einer völlig anderen Idee hinreisen lassen. Wichtig ist das es stabil über einen Längern Zeitraum läuft. Freu mich über Vorschläge. Grüße, Alex.
Wie soll sich der Arduino überhaupt selbst abschalten? Geht es dir nur darum, dass du per Funk eine Aktion ausführen willst? Dann solltest du überlegen, ob du das nicht hinkriegst, ohne den arduino jedesmal komplett ein- und auszuschalten Oder geht es dir darum Strom zu sparen? Wahrscheinlich verbraucht die Funksteckdose mehr als der Arduino, wenn er durchgehend laufen würde. Mit den diversen Schlafmodi, solltest du auf jeden Fall in einen vernachläsigbar geringen Bereich kommen.
Wenn ich dich richtig verstanden habe willst du nur einen kleinen Prozessor an und ausschalten, warum dann einen Funkschalter für 2 KW? Auch der verbraucht standby Strom, warum dann nicht den uC sich selbst in den Sleep Modus schicken lassen, da verbraucht der auch nur einige wenige uA... Zum Wecken und Ausschalten also zum steuern einfach ein RFM12... www.mikrocontroller.net/topic/214238 Ist evtl auch noch günstiger als die Conrad Lösung... MfG, fer
hallo fer, danke für deine schnelle Antwort. 2KW weil ich neben dem Board auch noch 1,3 KW damit schalten will. Grüße, Alex
Ach so also hängt an dem Board noch was mit 1,3 KW... Muss das denn geschaltet werden, oder wird das erst "eingeschaltet" durch das Board? Sonst macht es evtl Sinn es mit dem uC über ein Relais oä zu schalten. Naja mein EinfallsReichtum wird gerade durch die Uhrzeit etwas getrübt ;-) MfG und gute Nacht, fer
die Verbraucher die von dem Board gesteuert werden sollen können Natürlich auch per Relais geschaltet werden, gesteuert werden sie eh zusätzlich per rs232. Das Ganze wird eine Installation die über mehrere Jahre wartungsfrei laufen soll. Die Idee das ganze Board von der Stromversorgung zutrennen hat in meinen Augen vor allem den Vorteil das der Atmega regelmäßig neugestartet wird und er sich so nicht weghängen kann. Ich muss aber auch sagen das ich keine Erfahrung mit µC haben und wie lange die Stabil laufen.
Alex schrieb: > Die Idee das ganze Board von der Stromversorgung zutrennen > hat in meinen Augen vor allem den Vorteil das der Atmega regelmäßig > neugestartet wird und er sich so nicht weghängen kann. Genau dafür gibt es den Watchdog.
Watchdog + sleepmode ist in meinen Augen auch der beste Weg, kommt allerdings auch ein bischen auf dein Gesamtprojekt drauf an. Damit läuft das ding dann auch ewig, vorausgesetzt man konfiguriert den controller richtig, das er sich nicht nach nem Spannungseinbruch in einem resetzustand versetzt oder ähnliches, aber da können dir die AVR leute bestimmt Tips und Beispielcode geben. Alternativ: Es gibt Spannungsregeler-ICs welche ein- und ausgeschaltet werden können, diese könntest du per Funk einschalten und per uC wieder ausschalten wenn er seine Arbeit erledig hat.z.B. http://de.farnell.com/maxim-integrated-products/max5024lasa/linear-reg-l-quiescent-strom-5024/dp/1379979?Ntt=max5024
Danke für eure Tipps, wenn ich den Spannungsregeler-IC per Funk ansteuern will, dann benötige ich doch auch schon wieder einen Controller der das Signal auswertet. zumindest wenn ich es z.B. mit diesem Modul lösen würde:http://www.conrad.de/ce/de/product/190276/AM-EMPF-433MHZ-5V-100DBM-LC-AC-RX/2401020&ref=list Das selbe Problem hätte ich auch um den Atmega aus dem sleep mode zuerwecken. Mir gehen die IDeen langsam aus...
Warum gehen dir die Ideen aus? Chris S. schrieb: > Watchdog + sleepmode ist in meinen Augen auch der beste Weg[...] Wie Chris und ich schon geschrieben haben, einfach den uC in den Sleep-Modus schicken und mit Funksignal aufwecken, siehe RFM12 Link den ich gepostet habe. Wenn du dann den Watchdog noch einsetzt brauchst du auch keine Angst vor einem Aufhängen haben... Wenn du dabei konkrete Probleme hast, kannst du gerne das fragen, ich denke viele andere und ich helfen dir gerne dann bei den fragen (also z.B. zum Watchdog). Weil wie geschrieben ist das sicher der beste Weg (auch weil der uC im power-down (power-save?) sicher weniger Strom braucht als der Funkschalter. Übrigens es muss ja nicht unbedingt RFM12 sein (sendet und empfängt) sondern ein einfaches RFM01 reicht für die uC Seite ja auch. Bezugsquellen und viele Infos findest du hier: http://www.mikrocontroller.net/articles/RFM12 MfG, fer_t EDIT: Falls du aber nicht davon abzubringen bist den Strom ganz zu schalten: http://www.pollin.de/shop/dt/MDYzOTQ0OTk-/Bausaetze_Module/Module/Funk_Fernschalter_Set_HD2RX.html Damit sollte das möglich sein, einschalten ganz normal per Funk, dann zum ausschalten muss der uC nur Spannung an den Reset / Endschalter-Pin des Boards anlegen und schon schaltet sich das ab... Wegen deinen 1,3 kW: Einfach Relais austauschen... Aber wie gesagt das ist auch nichts anders als das was ich oben beschrieben habe halt schon fertig aufgebaut... Wird auch sicher mehr verbrauchen aber dafür halt schon ein fertiges Modul.
Okay, ihr habt mich überzeugt, der sauberste weg wird der über ein watchdog sein, wobei mir bei dem Gefühl ein System über Jahre hinweg laufen zulassen immer noch etwas mulmig ist. Ich verwende das Arduino Board, das zieht 10 mA wenn der Atmega328 im Idel ist, ich denke das sich der sleepmode dann nicht lohnt, wobei ich mich, was das angeht auch eines besseren belehren lassen würde. Als Empfänger Modul habe ich das AC-RX von Aurel rausgesucht, die ASK-Modulation weil es in rauen Mengen Handsender zu günstigen Preisen gibt. Das AC-RX gibt für Low -0,4 und für Hight +0,4V raus, wenn ich das im Datenblatt richtig verstanden habe, damit wird mein Atmega nicht viel anfangen können. Sowie ich es bislang verstanden habe sind für den Atmega 2V und weniger Low und 3V und mehr hight. Wie bekomme ich die Spannungen nun konvertiert? Per OP? Danke für euere Hilfe, Alex
Ich weiß ja nicht was auf dem Board noch rum gurkt aber laut Datenblatt soll der im Idle max 2,7 mA ziehen... Ich würde aber wenn schon dann den Power-down nehmen der zieht bei aktiviertem WDT auch nur 3,9 uA. Der Power-Save nur 0,9 uA aber da weiß ich nicht ob der WDT an ist... Nacht. Fer
Alex schrieb: > wobei mir bei dem Gefühl ein System über Jahre hinweg > laufen zulassen immer noch etwas mulmig ist. Aber die Funksteckdose darf problemlos über Jahre ihren Strom ziehen? Das verstehe, wer will.
wie wärs mit nem efm32, im shut-off mode sinds noch 20nA (aufwachen per externer signale). Wenn der Watchdog noch laufen soll kommt man auch 900nA runter. ps.: dieser Post ist sinnfrei und beinhaltet ausschließlich Schleichwerbung Ich hab selber nie was mit den Arduinos gemacht, aber wenn jemand anders ein programm hat das zeit wie man den sleep-mode + watchdog richtig nutzt und konfiguriert, wäre das sicher hilfreich. Sollte es ja theoretisch wie Sand am Meer geben oder?
Mir geht es vor allem darum, dass das System Stabil läuft und das über ein paar Jahre, die Stromaufnahme spielt da schon eine untergeordnete rolle. Deswegen auch die Idee mit der Funkschaltdose, ich gehe einfach davon aus das diese Funkschaltdosen nach 5 Jahren noch das selbe tun wie am ersten Tag. Bei dem Arduino oder auch "µC-for-Dummies"-Lösung bin ich mir nicht so sicher was da nach 5 Jahren so passiert. Angeblich führt ohne Watchdog nach 49 Tagen ein überlaufender timer schon zum Crash. Von der Arduino Lösung werde ich aber leider aus Zeit und Wissensmangel nicht abkommen. Ich werde es jetzt per 433Mhz Receiver, Relais und Watchdog Lösen. Hoffe einfach mal das es stabil laufen wird. Den SleepMode würde ich dann noch optional integrieren. Über Tipps würde ich mich sehr freuen. (Ich hoffe die Frage zwei Posts drüber klärt sich auch noch.) Alex.
Chris S. schrieb: > wie wärs mit nem efm32, im shut-off mode sinds noch 20nA (aufwachen per > externer signale). Wenn der Watchdog noch laufen soll kommt man auch > 900nA runter. Wo ist der Vorteil, wie ich geschrieben habe verbraucht sein uC auch nur 0,9uA also 900nA... Mit WDT an. Edit: >Ich hoffe die Frage zwei Posts drüber klärt sich auch noch. Ich glaube das war eine rhetorische Frage von Jörg. Also ob die FunkSteckdose ihren Strom ziehen darf..
Alex schrieb: > Deswegen auch die Idee mit der Funkschaltdose, ich gehe einfach > davon aus das diese Funkschaltdosen nach 5 Jahren noch das selbe tun > wie am ersten Tag. Der würde ich (ohne eigene Inspektion des Inhalts) weniger über den Weg trauen als einem simplen Mikrocontroller. > Bei dem Arduino oder auch "µC-for-Dummies"-Lösung bin > ich mir nicht so sicher was da nach 5 Jahren so passiert. Warum denn nicht? > Angeblich > führt ohne Watchdog nach 49 Tagen ein überlaufender timer schon zum > Crash. Haben die da Windows drauf laufen? :-) [1] [1] http://support.microsoft.com/kb/216641 Ja, ein Millisekundentimer mit 32 bit Zählertiefe läuft nach 49,7 Tagen über. Aber: du hast doch ein externes Ereignis, das dich wieder aufweckt, damit musst du dich um einen überlaufenden Timer gar nicht kümmern.
ups, ich hatte mich verzählt und meinte nicht Jörgs Frage sondern meine. bzgl. der Spannungen. Was meine Skepsis dem Arduino gegenüber angeht: Das Ding wird über eine eigene IDE Programmiert, nicht sauber in c++ sondern über einen extrem einfach gehaltenen Java Dialekt. Wer Processing kennt, kann sich vorstellen was ich meine. Processing und Arduino sind für Kreativschaffende ohne technisch fundiertes Wissen entwickelt worden. Ich kann mir zu gut vorstellen das der Arduino-Kompiler da einiges erstellt was ein c++ einfach mal weglässt. Aber auch hier lasse ich mich gerne eines besseren belehren,ist schließlich auch nur ein Gefühl, kein Wissen das ich da habe. Aber das ganze soll auch kein pro/contra Arduino werden, mir geht es in den Thread eher um das drum herum, Physikalisch ist es auf meinem Arduino immer noch ein Atmega328.
Alex schrieb: > FUD Der Arduino "Dialekt" mag zwar nicht jedermans Sache sein, aber ein "einfach gehaltener Java Dialekt" ist das auf keinen Fall. Jeder der sowohl Java als auc C(++) kennt, erkennt auf dem ersten Blick, dass das näher an C ist als an Java. Und tatsächlich: http://arduino.cc/en/Main/FAQ > Can I program the Arduino board in C? > In fact, you already are; the Arduino language is merely a set of C/C++ > functions that can be called from your code. Your sketch undergoes minor > changes (e.g. automatic generation of function prototypes) and then is > passed directly to a C/C++ compiler (avr-g++). Für den Arduino zu Programmieren bedeutet eigentlich nur C zu programmieren mit einer umfangreichen Bibliothek an Hilfsfunktionen. Das ist natürlich teilweise langsamer (Portzugriffe) oder nicht ganz optimal (fixer milisekunden Timer), aber große Sorgen würde mir das nicht bereiten. > Processing und Arduino sind für Kreativschaffende ohne technisch > fundiertes Wissen entwickelt worden. Das mag zwar eine der Zielgruppen sein, aber ich kenn einige gute theoretische und praktische Informatiker, denen ich nicht das technische Grundwissen absprechen würde, die trotzdem gerne Arduinos benutzen. Ich seh den Arduino als gute Einstiegsmöglichkeit in Mikrocontroller Entwicklung und wenn man dann irgendwann an die Grenzen stößt, kann man sich mit anderen AVRs beschäftigen und die dann "roh" benutzen.
Alex schrieb: > Angeblich > führt ohne Watchdog nach 49 Tagen ein überlaufender timer schon zum > Crash. Ich habe mir mal die Referenz vom Arduino angesehen. Ja, es gibt einen Millisekundenzähler, der nach 49,7 Tagen naturgemäß überläuft. Aber das allein bewirkt natürlich keinen "Crash". Es gibt ja auch einen Mikrosekundenzähler, der bereits nach 70 Minuten überläuft, ohne dass es deshalb einen "Crash" gäbe. Schlecht programmierte Software kann natürlich nun daran scheitern, dass sie nicht in Betracht gezogen hat, dass die Millisekunden-Zeit mal irgendwann wieder über die 0 zurückspringt. So war's ja auch in dem bei Microsoft zitierten Fall (das wirklich gruselige daran war meiner Meinung nach, dass er erst im Jahr 2000 aufflog, d. h. etwa 5 Jahre lang hat es entweder niemand überhaupt geschafft, eine Windows-95-Maschine länger als 1,5 Monate laufen zu lassen, oder aber jeder hat es als völlig selbstverständlich hingenommen, dass man dann einfach mal den Reset-Knopf drücken muss). Nur: das wäre ja dann deine schlechte Software. Selbst das Tutorial bei Arduino: http://arduino.cc/en/Tutorial/BlinkWithoutDelay zeigt, wie man (unter Ausnutzung des definierten Überlaufverhaltens einer vorzeichenlosen Zahl bei C bzw. C++) mit dem Rollover der Zeit umgehen kann. Die im Tutorial blinkende LED wird auch nach 49 Tagen weiterblinken. Wenn du's nicht glaubst, dann ersetze einfach darin den Aufruf von "millis()" durch "micros()", mach' das Intervall entsprechend größer (damit du die LED auch blinken siehst und nicht mit 1 kHz "blinken hörst" :), und sieh' dir an, was nach 70 Minuten passiert, wenn micros() wieder auf 0 springt.
Danke das ihr ein paar Auffassungen von mir richtiggestellt habt, klingt sehr vernümftig. Es gibt da aber noch eine Frage die ich mir bislang noch nicht selbst beantworten konnte und auch nichts dazu finden konnte, ich zitiere mich mal selbst: Alex schrieb: > Das AC-RX gibt für Low -0,4 und für Hight +0,4V raus, wenn ich das im > Datenblatt richtig verstanden habe, damit wird mein Atmega nicht viel > anfangen können. Sowie ich es bislang verstanden habe sind für den > Atmega 2V und weniger Low und 3V und mehr hight. Wie bekomme ich die > Spannungen nun konvertiert? Per OP? es wird vermutlich nun zwar dieser 433Mhz Empfänger werden, http://www.google.de/products/catalog?hl=de&sugexp=frgbld&ds=pr&pq=velleman+433&cp=13&gs_id=21&xhr=t&q=velleman+433&rlz=1C1CHFX_deDE445DE445&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&ix=seb&ion=1&biw=1280&bih=866&um=1&ie=UTF-8&tbm=shop&cid=8321840063604705699&sa=X&ei=ZnN9T_KsGsbBtAbk5KiOCQ&sqi=2&ved=0CGgQ8wIwAQ der überträgt seine empfangenen Daten aber auch per -0,5V bzw. +0,3V (so wie ich es verstehe). Ist es richtig das der Atmega328 damit nichts anfangen kann? Muss ich die Spannungen noch anpassen um die Bits per Atmega interpretieren zu können? (*5+2,5) könnte in meinen Augen eine Lösung sein, aber wie läuft das elektrotechnisch? Auf http://www.mikrocontroller.net/articles/Pegelwandler war ich leider nicht fündig. Alex
Da steht "Vcc - 0,5 V", nicht "-0,5 V". Das scheint der High-Pegel zu sein, auch wenn zweimal "low" davor steht. Sind also ganz normale CMOS-Pegel. Ist halt das Billigste vom Billigen.
wenn du eine bessere Idee hast bin ich gerne für Vorschläge zuhaben. Versteht der Atmega denn die CMOS Pegel als Hight/Low oder müssen die elektrotechnisch angepasst werden? Und wenn ja, wie am sinnvollsten?
Alex schrieb: > wenn du eine bessere Idee hast bin ich gerne für Vorschläge zuhaben. Selbst ein billiger RFM12-Modul sollte schon mal einiges besser sein. Ich kann dir allerdings nicht sagen, inwiefern das zu deinem Funkschalter passt. > Versteht der Atmega denn die CMOS Pegel als Hight/Low Ja, der benutzt ja ebenfalls CMOS-Pegel.
Die Funkschalter verwenden gerne die ASK-Modulation, weil es einfacher aufzubauen ist, der RFM12 setzt aber wohl die FSK ein. Von daher gehe ich davon aus das RFM12 und Funkschalter nicht kompatibel sind. Einwände? Wenn es eine saubere Lösung gibt wie ich einen Handsender mit 2-7 Tasten per RFM01/02 aufbauen kann, inkl. Gehäuse usw. dann bin ich sofort dabei. Problem ist nur das ich nur noch knapp 10 Tage habe bis alles laufen soll, da ist die Funkschalter lösung mit den Fertig aufgebauten Sendern schon sehr verlockend. Die Funkschalter Lösung finde ich selbst auch nicht besonders schick. Wie gesagt, es geht darum 4 Geräte per rs232 zu steuern. die RS232 Schnittstellen habe ich auch soweit unter Kontrolle, nur die Fernbedienung nervt noch etwas.
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.