ATMEGA ohne Arduinoboard nutzen / Laufzeit bei Batteriebetrieb

Hallo allerseits,

ich arbeite gerade an einem kleinen Projekt und habe dazu zwei Fragen. Grundsätzlich geht es darum, das ich einen Klingeldraht (von der Hausklingel aus) habe, und an diesen (neben der "echten" Klingel), das Signal noch an einen Arduino weiterleiten möchte, der wiederum an einen PC angeschlossen ist.
An der Klingel brauche ich also eine möglichst einfache und günstige Variante das Singal weiter zu leiten. Dafür habe ich mir schon ein paar 433 MHz Sender und Empfänger gekauft und mit 2 Arduino Boards getestet. Dafür ein ganzes Arduino Board zu verschwenden wäre mir aber zu teuer. Also meine erste Frage:

  1. Kann ich einen solchen (http://www.watterott.com/de/ATmega328-Arduino-Bootloader) Atmega einfach in meinen Arduino Uno einsetzen und dort programmieren? Danach würde ich ihn dann wieder raus nehmen und mit einer einfachen Stromversorgung an an dem Sender nutzen um das Signal vom Klingeldraht weiter zu leiten.

  2. Das ganze würde über eine 9V Batterie betrieben werden. Diese soll möglichst lange halten. Der Mikrocontroller macht nichts anderes außer auf ein Signal über den Klingeldraht zu warten und (falls dieses kommt) kurz über das Sendemodul zu senden. Dazwischen könnte er also "schlafen". Ich habe dazu noch nichts konkretes finden können. Kann man des Kontroller zwischendurch schlafen legen? Wie viel Strom verbraucht er überhaupt / bzw. wie lange hält eine 9V Batterie?

Ich würde mich über jede hilfreiche Antwort freuen!

  1. Kann ich einen solchen (http://www.watterott.com/de/ATmega328-Arduino-Bootloader) Atmega einfach in meinen Arduino Uno einsetzen und dort programmieren? Danach würde ich ihn dann wieder raus nehmen und mit einer einfachen Stromversorgung an an dem Sender nutzen um das Signal vom Klingeldraht weiter zu leiten.

Das müsste eigentlich gehen, aber möglicherweise musst du das bei der Arduino- Software auch so einstellen, es sei denn das UNO benutzt genau diesen ATmega328, was glaub ich so ist.

  1. Das ganze würde über eine 9V Batterie betrieben werden. Diese soll möglichst lange halten. Der Mikrocontroller macht nichts anderes außer auf ein Signal über den Klingeldraht zu warten und (falls dieses kommt) kurz über das Sendemodul zu senden. Dazwischen könnte er also "schlafen". Ich habe dazu noch nichts konkretes finden können. Kann man des Kontroller zwischendurch schlafen legen? Wie viel Strom verbraucht er überhaupt / bzw. wie lange hält eine 9V Batterie?

Ich würde einen 7805 Spannungsregler benutzen, und einen kleinen Widerstand benutzen, um nicht zu viel Strom durchzulassen, zumal aus so einem Teil 1- 1,5 A raus-sprießen, wenn ich das so sagen darf (das soll man zwar nicht machen, aber meine Arduino Projekte lassen sich ohne Probleme mit 4,5V (3x1,5V) betreiben, und wenn du den ATmega rausnimmst braucht er sowieso einen Spannungsregler oder ein Netzgerät oder so, denn wenn du ihn mit 9 V anschliesst, wird er wahrscheinlich nur noch zu heizt Zwecken taugen, wenn er nicht aufplatzt und rauch aufsteigt :astonished:( ich habs nicht ausprobiert, aber Elkos und Batterien platzen schon, und aus einem 8-Eingang CMOS gatter hatts auch schon mal geraucht, auch wenn ich damit nicht mein Essen räuchern würde).

ALLERDINGS würde ich keinen Atmega nehmen, weil ein ATtiny für dein Projekt genug Anschlüsse hat, es sei denn du willst noch viel mehr Anschließen, aber das weiß ich ja nicht.
Du kannst nämlich dein Programm auch auf ein sollches Teil mit 8 Anschlüssen laden, dass hab ich zwar nie gemacht, aber es soll einfach sein.

Dasichbinich:
Ich würde einen 7805 Spannungsregler benutzen, und einen kleinen Widerstand benutzen, um nicht zu viel Strom durchzulassen, zumal aus so einem Teil 1- 1,5 A raus-sprießen, wenn ich das so sagen darf (das soll man zwar nicht machen, aber meine Arduino Projekte lassen sich ohne Probleme mit 4,5V (3x1,5V) betreiben, und wenn du den ATmega rausnimmst braucht er sowieso einen Spannungsregler oder ein Netzgerät oder so, denn wenn du ihn mit 9 V anschliesst, wird er wahrscheinlich nur noch zu heizt Zwecken taugen, wenn er nicht aufplatzt und rauch aufsteigt :astonished:( ich habs nicht ausprobiert, aber Elkos und Batterien platzen schon, und aus einem 8-Eingang CMOS gatter hatts auch schon mal geraucht, auch wenn ich damit nicht mein Essen räuchern würde).

Entschuldige, aber deine Erklärungen helfen hier wohl nicht weiter - weil du selbst vieles durcheinanderwürfelst. Einen Festspannungsregler wie den 7805 zu benutzen führt zwar auch zum Ziel, wenn man eine 5V-Versorgungsspannung aus einem 9V-Block erzeugen will. Da aber hier Augenmerk auf eine lange Batterielaufzeit gelegt wird, sollte man davon Abstand nehmen, hier bieten sich dann eher Schaltregler an, die einen höheren Wirkungsgrad haben.
Was der kleine Widerstand bringen soll kann ich mir nicht erklären, zumal Strom auch nicht "raussprießt". Da fehlen dann doch die nötigen Grundlagen, um effektiv helfen zu können.
Mit welcher Versorgungsspannung ein Atmega betrieben werden kann steht auch im Datenblatt, das sollte in dem Fall erste Anlaufstelle sein. Richtig ist, dass dem Mikrocontroller direkt angelegte 9V nicht bekommen.

LastSamurai:

  1. Kann ich einen solchen (http://www.watterott.com/de/ATmega328-Arduino-Bootloader) Atmega einfach in meinen Arduino Uno einsetzen und dort programmieren? Danach würde ich ihn dann wieder raus nehmen und mit einer einfachen Stromversorgung an an dem Sender nutzen um das Signal vom Klingeldraht weiter zu leiten.

Ganz so einfach ist es noch nicht, du brauchst zusätzlich zu diesem Mikrocontroller noch eine Taktquelle, bspw. einen 16 MHz-Quarz und zwei Kondensatoren mit je 22 pF. Dazu kommt noch eine einfache Reset-Beschaltung. Anleitungen gibt es viele zum Thema, man braucht auch nur nach "Arduino stadalone" googeln. Hier auf der Hauptseite gibt es diese Tutorial:
http://arduino.cc/en/Tutorial/ArduinoToBreadboard

Der Uno (R3) hat einen Atmega328P-PU laut Aufschrift eingebaut. Aber ich kann es ja dann einfach mal testen.
Klar brauche ich dazu noch einen passenden Quarz, das hatte ich jetzt nicht noch explizit dazu geschrieben (obwohl, .. was würde eigentlich passieren, wenn ich den eingebauten nutze?).

Von dem ATtiny hatte ich noch nichts gehört, das sieht aber klasse aus! Ich hab mir zum testen erst mal einen bestellt.

@sth77 Könntest du das mit der Spannungsversorgung noch genauer erläutern? Ich weiß natürlich, das ich das nicht mit den 9V nutzen kann, ich hätte allerdings auch die genannten Spannungswandler genutzt. Schaltregler habe ich bisher nicht benutzt. Inwiefern sind die Energiesparender? Was könnte ich da für einen nehmen?

LastSamurai:
Der Uno (R3) hat einen Atmega328P-PU laut Aufschrift eingebaut. Aber ich kann es ja dann einfach mal testen.
Klar brauche ich dazu noch einen passenden Quarz, das hatte ich jetzt nicht noch explizit dazu geschrieben (obwohl, .. was würde eigentlich passieren, wenn ich den eingebauten nutze?).

Damit kommst du in Wissensbereiche, die für Einsteiger eher ausgeblendet werden. :wink: Du musst für den internen Takt (nur bis 8 MHz!) die sogenannten Fuse-Bits ändern, am elegantesten geht das mit einem In-System-Programmer. Entsprechend ändert man dann in der boards.txt die Eintragung bzw. ergänzt sein selbstkreiertes Board.

@sth77 Könntest du das mit der Spannungsversorgung noch genauer erläutern? Ich weiß natürlich, das ich das nicht mit den 9V nutzen kann, ich hätte allerdings auch die genannten Spannungswandler genutzt. Schaltregler habe ich bisher nicht benutzt. Inwiefern sind die Energiesparender? Was könnte ich da für einen nehmen?

Ein Festspannungsregler, der aus 9V 5V macht, verbrutzelt die restliche Spannung einfach, setzt sie also in Wärme um. Annahme: Deine Schaltung verbraucht bei 5V 100 mA, dann errechnet sich die Leistung zu 0,5 Watt (P=U*I). Die Heizleistung am Festspannungsregler beträgt (9V-5V)*0,1A=0,4W - du siehst dass die Verlustleistung relativ hoch zum Nutzen steht, das saugt die deine Batterie schnell leer.
Schaltregler arbeiten nach einem anderen Prinzip und erreichen wie dieser hier (KLICK!) einen Wirkungsgrad von 80-90%, also nur 10-20% Wandlungsverluste.

Oder evtl. sowas http://www.voelkner.de/products/82214/DC-DC-Wandler-Innoline-R-785.0-0.5-Sip3.html

den innoline kriegst Du beim conrad sehr günstig, vielleicht sogar in Deiner nähe...

gruß stefan

  1. Das ganze würde über eine 9V Batterie betrieben werden. Diese soll möglichst lange halten. Der Mikrocontroller macht nichts anderes außer auf ein Signal über den Klingeldraht zu warten und (falls dieses kommt) kurz über das Sendemodul zu senden. Dazwischen könnte er also "schlafen". Ich habe dazu noch nichts konkretes finden können. Kann man des Kontroller zwischendurch schlafen legen? Wie viel Strom verbraucht er überhaupt / bzw. wie lange hält eine 9V Batterie?

Genau das habe ich hier Arduino (ATmega) mit Bewegungsmelder aufwecken | Glaskugelsehen Blog beschrieben.
(siehe auch Foreneintrag dazu Näherungsschalter soll Arduino aufwecken - #11 by erni-berni - Deutsch - Arduino Forum.
9V Batterien haben zwischen 190 und 330 mAh. Wenn man mal einen Wirkungsgrad des DC/DC Wandlers von 95% zugrunde legt und der ATmega fast nichts zu tun hat, reicht die Batterie bestimmt >500 Stunden. Der ATtiny hat einen noch geringeren Ruhestrom Wenn du es dir leisten kannst, dass du den Chip mit einem Reset aufweckst (bedingt dann evtl die Ablage von Zuständen im EEPROM), kannst du ihn noch tiefer schlafen legen und noch mehr Strom sparen. Ich habe eine Zeitraffersteuerung für Canon gebaut mit einem ATtiny84, die schläft mit <10uA, die hat deshalb gar keinen Ausschalter mehr und wird mit einer CR2032 Knopfzelle betrieben. Warum also mit 9V betreiben, wenn man sonst gar keine 9V benötigt? Wie wär es, wenn du mit dem Strom aus dem Klingeldraht einen Goldcap auflädst, der dann soviel Ladung hat, dass der ATmega gerade seine Aufgaben erledigen kann?

Gruß
Reinhard

zumal Strom auch nicht "raussprießt".

Schon klar.

bspw. einen 16 MHz-Quarz und zwei Kondensatoren mit je 22 pF.

Ich habe vorausgesetzt, dass sowas schon vorhanden ist.

Von dem ATtiny hatte ich noch nichts gehört, das sieht aber klasse aus! Ich hab mir zum testen erst mal einen bestellt.

Da BIN ich ja froh, dass ich meinen Teil zur Merkwirtschaft beitragen konnte, indem ich andere zum Kauf bewege! :wink:

Schaltregler arbeiten nach einem anderen Prinzip und erreichen wie dieser hier (KLICK!) einen Wirkungsgrad von 80-90%, also nur 10-20% Wandlungsverluste.

Oder evtl. sowas http://www.voelkner.de/products/82214/DC-DC-Wandler-Innoline-R-785.0-0.5-Sip3.html

Wobei diese Varianten teurer sind.

den innoline kriegst Du beim conrad sehr günstig, vielleicht sogar in Deiner nähe...

Conrad? Günstig? Wirklich? Für mich sind "Conrad" und "günstig" Gegenteile.

hi,

Conrad? Günstig? Wirklich? Für mich sind "Conrad" und "günstig" Gegenteile.

sieh Dir den preis bei conrad an, sieh Dir den preis bei anderen an, und dann diskutieren wir das aus...

gruß stefan

Erstaunlich! http://www.conrad.de/ce/de/product/157954/DCDC-Wandler-Innoline-R-78E50-05-Recom-International-R-78E50-05-Gehaeuseart-SIP-3-Ausgangsspannung-5-VDC-Ausgangs, Conrad steigt in meiner Achtung.
Schaltregler sind zwar effizient, die Angaben zum Wirkungsgrad gelten aber nur bei Volllast. Wenn der ATmega schläft braucht der fast keinen Strom, der Schaltregler braucht aber weiterhin Strom, z.B. 2mA der von Pololu. Da ist die Batterie eben auch schnell leer. Im Datenblatt von Innoline ist erst gar kein Ruhestrom angegeben, dafür aber ein Betriebsbereich von 5mA - 500mA, das macht nachdenklich. Vielleicht kann jemand, der den in der Bastelkiste hat mal nachmessen.

OK, also für Conrad ist das wirklich billig. Normalerweise ist reichelt oder Pollin viel vielvielvielvielvielviel billiger.

Ich bin jetzt in der nächsten Bauphase, aber stolpere gerade über ein anderes Problem. Ich habe jetzt einen ATtiny 85 und den 433er Sender. Der Sender funktioniert mit einer Baudrate von 2400. Für den ATtiny (den ich über einen Arduino Uno Programmiere) habe ich folgende Bibliothek heruntergeladen: Google Code Archive - Long-term storage for Google Code Project Hosting.
Der Unterstützt aber nur Baudraten ab 9600. Gibt es irgendwo passenden Code für 2400? Ist wahrscheinlich eine simple Angelegenheit, aber ich komme hier gerade nicht weiter.
Hilfe!?

Ich habe jetzt noch die manchester Bibliothek ausprobiert, aber irgendwie bekomme ich nichts mit meinem ATtiny 85 in Verbindung mit dem RF Link (433Mhz) zum laufen.
Kann mir jemand eine gute (funktionierende!) Anleitung zur Benutzung der beiden empfehlen?

Beim ATtiny ist das doch die Baudrate für die serielle Schnittstelle, beim 433Mhz Sender für die Übertragungsrate oder nicht? Dürfte doch nichts miteinander zu tun haben. Die ATtiny Library sollte passen, die nutze ich auch.
Ich nutze den 433Mhz Sender nur für die Ansteuerung einer Funksteckdose mit folgender Library GitHub - sui77/rc-switch: Arduino lib to operate 433/315Mhz devices like power outlet sockets., weiss aber nicht ob du die auch für den Empfänger verwenden kannst.

Bei Watterott sind auch noch Tutorials verlinkt, kann dir aber nicht sagen ob die auch mit dem ATtiny funktionieren http://www.watterott.com/de/RF-Link-2400bps-Empfaenger-434MHz

Danke :wink:

Ignoriert meinen letzten Kommentar. Serial wird in dem Beispiel eigentlich nur zum debuggen gebraucht. Ich habe es inzwischen zum Funktionieren gebracht.
Für alle die mal an ähnlichem Arbeiten wollen, so funktionierts bei mir:

  • Arduino IDE 1.0.3 (1.5.2 funktioniert nicht mit den ATtinys bei mir)
  • Arduino-Tiny für die Hardwareunterstützung
  • VirtualWire 1.15

Wichtig ist noch die ATtiny (85) zuerst mit einem neuen Bootloader mit 8MHz zu versehen. Standardmäßig waren die bei mir im 1MHz Betrieb. Ich bin mir nicht sicher ob es damit auch funktioniert.