Forum: Mikrocontroller und Digitale Elektronik Arduino Schaltung: Stromversorgung, Standby-Schaltung?


von Sven N. (altor)


Lesenswert?

Hallo,

ich habe ein kleines Projekt mit einem Arduino Pro Mini 3,3V 8Mhz und 
einem daran angeschlossenen Nokia 5110 LCD.

Die Idee ist dass man einen Kopf drückt, der Arduino wird mit Strom 
versorgt und zeigt dann etwas zufälliges auf dem LCD an. Das 
funktioniert soweit.

Mein Problem ist die Stromversorgung dafür. Es soll batteriebetrieben 
sein und natürlich soll die Batterie möglichst lange halten.

Als erstes ist die Frage was für Batterien man nimmt um den 3,3V Arduino 
zu versorgen. Ich brauche als Zielspannung ja ca. 3,3V. Oder verträgt 
ein 3,3V Atmega328p auch die 3,7-4,2V eines LiIon-Akkus? Und was ist mit 
dem Nokia 5110 LCD Modul?

Als zweites weiß ich nicht wie man etwas konstruiert was mit einem 
kleinen Taster angeschaltet wird und möglichst wenig Strom im Standby 
zieht. Ich bin in Sachen Elektronik nicht bewandert und bin zunächst auf 
klassische Timer-Schaltkreise mit dem NE555 gestoßen, aber wenn ich das 
richtig sehe verbraucht der Atmega328p im Standby ja noch weniger (wenn 
ich die LED des Pro Mini entferne).

Bin für eure Hinweise dankbar.

von Einer K. (Gast)


Lesenswert?

Sven N. schrieb:
> Oder verträgt
> ein 3,3V Atmega328p auch die 3,7-4,2V eines LiIon-Akkus?
Ja sicher....

Um Strom zu sparen, den Regler und die LED runter werfen.

Den AVR in den Tiefschlaf schicken.
Wecken geht über alle digitalen Pins.
Dann kannste den Mini dauernd am Akku lassen.

Sven N. schrieb:
> Und was ist mit
> dem Nokia 5110 LCD Modul?
KA!

von Joachim B. (jar)


Lesenswert?

der Atmel kann mit der vollen Spannung 3,3V-5,5V arbeiten, erst Recht 
bei 8MHz, also am LiIo perfekt(ich nehme ja bis jetzt immer 4x Mignon)

Bei den Nokia 5110 muss man unterscheiden, meine ersten mit blauer 
Platine mussten 5V - 3,3V Pegelumsetzer bekommen, abgesehen davon habe 
ich bei verschiedenen Lieferanten nur blaue Schrottplatinen bekommen.

Meine letzten Bestellungen da habe ich auf rote Platinen geachtet waren 
3,3-5V kompatibel und alle in gutem Zustand.

Es hat aber keinen Sinn wenn ich diese aus den verschiedensten Jahren 
aus China namentlich benenne, deswegen nur die vagen Andeutungen.

Es mag sein das es auch Schrott mit roten Plainen gibt sowie gut mit 
blaue Platinen.

von Einer K. (Gast)


Lesenswert?

Joachim B. schrieb:
> 3,3V-5,5V

1,8V - 5,5V

von Toxic (Gast)


Lesenswert?

Microchip Technology has uploaded AVR® Insights - Episode 4 - Sleep 
Modes

Einfache Zusammenfassung der Sleep Modes fuer die AVRler hier....

https://www.youtube.com/watch?v=Fyspr40KcMU&feature=em-uploademail

von Einer K. (Gast)


Lesenswert?

Und ich Idiot schau mir auch noch das Video an...
Flach!

von Joachim B. (jar)


Lesenswert?

Arduino F. schrieb:
> Joachim B. schrieb:
>> 3,3V-5,5V
>
> 1,8V - 5,5V

galten die 1,8 nicht nur für die pico Power?

ich war auch nicht sicher bei 8MHz

siehe:
Speed Grade:
̶0 - 4MHz@1.8V bis 5.5V !!!
0 - 10MHz@2.7 - 5.5.V

der TO schrieb ja 8 MHz

ergo gilt 2.7V-5.5V

von Sven N. (altor)


Lesenswert?

Danke für die Hinweise.
Es scheint dass ich mit dem Pro Mini 3,3V schon genau das richtige Board 
habe um auf sehr geringen Stromverbrauch zu kommen.
Aufwachen kann ich dann mit Hardware-Interrupt.

Jetzt muss ich demnach nur noch herausfinden ob mein Nokia 5110 LCD 
modul (rote Platine) auch mit 3,7-4,2V zurechtkommt. Kann ich das an den 
ICs auf der Platine erkennen?

von Joachim B. (jar)


Lesenswert?

die roten Platinen haben auf der Rückseite R zur "Anpassung"

http://i.ebayimg.com/images/g/y80AAOSwx6pYoZED/s-l1600.jpg


meine blauen nichts.


http://i.ebayimg.com/images/g/IQ4AAOSwud1W~yX4/s-l500.jpg

von Sven N. (altor)


Lesenswert?

OK, sieht demnach gut aus, habe mal die Bestellung von 2015 rausgesucht, 
AliExpress 1315125070. Sieht auf dem Foto genau aus wie das 5V Modul.
Ich werde das aber mal mit der Realität des gelieferten Moduls 
vergleichen...

Noch eine Frage zur Beleuchtung des LCD Moduls: Zieht das 80mA? Diese 
Zahl habe ich bei SparkFun gefunden.
Wenn ja, zieht es die 80mA am Light-Pin oder ist der nur für die 
Steuerung der Helligkeit (stand bei AdaFruit)?

Und wenn ich das Nokia direkt an die Stromquelle hängen muss (weil 80mA 
zu viel sind für einen Arduino-Pin), dann habe ich wieder das Problem 
dass das Nokia-Modul im Standby auch Strom zieht...

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Joachim B. schrieb:
> galten die 1,8 nicht nur für die pico Power?

Ja.
Ist auf dem Mini darauf.

Joachim B. schrieb:
> ergo gilt 2.7V-5.5V
OK.

Wobei die Umstellung auf 1MHz intern, noch etwas Strom sparen 
könnte/wird.

von Joachim B. (jar)


Lesenswert?

Sven N. schrieb:
> Noch eine Frage zur Beleuchtung des LCD Moduls: Zieht das 80mA?

80mA? never
ich speise das Display VCC und LED direkt aus Ports

in setup natürlich VCC und GND setzen

spart Verdrahtung und kann auf dem Breadboard direkt unterm nano328p 
gesteckt werden

beim proMINI weiss ich es grad nicht ob das auch klappt
für die PWM BL backlight musste ich einen anderen Timer wählen

1
 #if defined(__AVR_ATmega328P__)
2
#define COUNTER1
3
4
#ifdef COUNTER1
5
  #define   TIMSKx              TIMSK1
6
  #define   OCIExA              OCIE1A
7
  #define   TIMERx_COMPA_vect   TIMER1_COMPA_vect  // ATmega
8
  #define   TCCRxA              TCCR1A
9
  #define   COMxA0              COM1A0
10
  #define   OCRxA               OCR1A
11
  #define   TCCRxB              TCCR1B
12
  #define   WGMx2               WGM12
13
  #define   CSx0                CS10
14
#endif
15
16
#ifdef COUNTER0
17
  #define   TIMSKx              TIMSK0
18
  #define   OCIExA              OCIE0A
19
  #define   TIMERx_COMPA_vect   TIMER0_COMPA_vect  // ATmega
20
  #define   TCCRxA              TCCR0A
21
  #define   COMxA0              COM0A0
22
  #define   OCRxA               OCR0A
23
  #define   TCCRxB              TCCR0B
24
  #define   WGMx2               WGM02
25
  #define   CSx0                CS00
26
  #define   UBRRnL              UBRR0L
27
  #define   UBRRnH              UBRR0H
28
  #define   UCSRnA              UCSR0A
29
  #define   U2Xn                U2X0
30
#endif
31
32
#ifdef COUNTER2
33
  #define   TIMSKx              TIMSK2
34
  #define   OCIExA              OCIE2A
35
  #define   TIMERx_COMPA_vect   TIMER2_COMPA_vect  // ATmega
36
  #define   TCCRxA              TCCR2A
37
  #define   COMxA0              COM2A0
38
  #define   OCRxA               OCR2A
39
  #define   TCCRxB              TCCR2B
40
  #define   WGMx2               WGM22
41
  #define   CSx0                CS20
42
  #define   UBRRnL              UBRR0L
43
  #define   UBRRnH              UBRR0H
44
  #define   UCSRnA              UCSR0A
45
  #define   U2Xn                U2X0
46
#endif
47
48
  #define LED_ARDUINO           5
49
  #define LED_ARDUINO_DDR       DDRB
50
  #define LED_ARDUINO_PORT      PORTB
51
  #define LED_ARDUINO_ON        LED_ARDUINO_PORT|=(1<<LED_ARDUINO)
52
  #define LED_ARDUINO_OFF       LED_ARDUINO_PORT&=~(1<<LED_ARDUINO)
53
  #define LED_ARDUINO_START  7
54
  #define LED_ARDUINO_ONOFF_TIME  10 // x10ms
55
56
  // arduino nano v3
57
  // DIGITAL
58
  // (Reset)        PC6
59
  // D0 (Rx)        PD0
60
  // D1 (Tx)        PD1
61
  // D2 (Int0)      PD2
62
  // D3 (Int1)      PD3
63
//LCD5110 myGLCD(CLK,DIN,DC,RST,CE);
64
  // D4 (XCK/T0)    PD4
65
  // D5 (T1)        PD5
66
  #define RST 5
67
  // D6 (AIN0)      PD6
68
  #define CE  6
69
  // D7 (AIN1)      PD7  
70
  #define DC  7
71
  // D8 (ICP1)      PB0
72
  #define DIN 8
73
  // D9 (OC1A)      PB1 (PWM)
74
  #define CLK 9 // ehemals 2 (2 ist jetzt receive IRQ int0)
75
  // D10(SS/OC1B)   PB2 (PWM)
76
  #define VCC 10 // ehemals 2 (2 ist jetzt receive IRQ int0)
77
  // D11(MOSI/OC2)  PB3 (PWM)
78
  #define BL  11
79
  // D12(MISO)      PB4
80
  #define GND  12
81
  // D13(SCK)       PB5 (LED)
82
  
83
  // ANALOG
84
  // A0 (ADC0)      PC0
85
  // A1 (ADC1)      PC1
86
  // A2 (ADC2)      PC2
87
  #define                                         RTC_GND  A2
88
  // A3 (ADC3)      PC3
89
  #define                                         RTC_VCC  A3
90
  // ----------------- I2C -----------------
91
  // A4 (ADC4/SDAglb)  PC4
92
  #define PIN_SDA        4 //PC4 -> A4
93
  // A5 (ADC5/SCLgrn)  PC5
94
  #define PIN_SCL        5 //PC5 -> A5
95
  // A6 (ADC3)      PC3
96
  // A7 (ADC3)      PC3
97
98
 #else
99
  #error "board_wahl_falsch.h"
100
 #endif // defined(__AVR_ATmega328P__)

von Sven N. (altor)


Lesenswert?

Danke für die Info!

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
Noch kein Account? Hier anmelden.