Forum: Mikrocontroller und Digitale Elektronik SD Modul im Batteriebetrieb


von Peter W. (imidin)


Lesenswert?

Hallo liebes Forum,

ich hab mir ein SD Modul für meinen ATMEGA besorgt.

https://www.amazon.de/gp/product/B06XH3FCN1/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1

Weiterhin habe ich noch ein MicroSD Modul vermutlich von einem anderen 
Hersteller.

Beide Module lassen sich beschreiben, was für meine Funktion als 
Datenlogger schon einmal ganz toll ist.

Mein Problem, wenn ich das SD Modul über SPI anschließe, habe ich ohne 
auf das Modul zuzugreifen (Tiefschlaf des ATMEGA) eine Erhöhung des 
Stroms um ca. 3mA und das obwohl der Controller im PowerDownMode ist. 
Verwende ich das Micro SD Modul, tritt dieser Effekt nicht auf.

Die 3mA für das SD Modul fließen immer wenn eine SD Karte 
(unterschiedliche Typen und Größen schon probiert) im SD Modul sitzt. 
Entferne ich diese, dann habe ich nur den Strom des Controllers im 
Tiefschlaf+ca. 0,4mA SD Modul.
Wenn ich die Versorgungsspannung während der Tiefschlafphase vom SD 
Modul (Karte eingesetzt) entferne, dann steigt mein Gesamtstrom trotzdem 
auf 3mA an.

Hat jemand eine Idee woran das liegen könnte bzw. wie ich das Problem 
löse?

Das MicroSD Modul hat leider keine Möglichkeit mit 3,3V zu operieren, 
weswegen ich es für den batteriebetriebenen Datenlogger nicht verwenden 
möchte.

von Jim M. (turboj)


Lesenswert?

Peter W. schrieb:
> Hat jemand eine Idee woran das liegen könnte bzw. wie ich das Problem
> löse?

SD Kartenhalter hat meistens auch ein "Card Detect" Signal (CD) - da 
wird ein Pullup nach Masse gezogen.

Wenn man das Signal nicht benötigt, kann man den einfach auslöten...

Alternative: Spannung vom SD Modul komplett mit P-Channel MOSFET 
abtrennen.

von Stefan F. (Gast)


Lesenswert?

Das SD Card Modul hat keine Pegelwandler, es ist nur für Mikrocontroller 
mit 3,3V Pegeln gedacht. Betreibst du deinen Mikrocontroller etwa mit 5V 
Signalen?

Der Spannungsregler und die SD Karte werden schon eine gewisse 
Stromaufnahme größer als Null haben. Ohne Versorgumngsspannung wird die 
SD Karte parasitär von den Datenleitungen versorgt - was übrigens den 
schnellen Tod der SD Karte verursachen kann.

Wenn du das Ding ganz abschalten willst, musst du das nicht nur mit der 
Stromversorgung machen, sondern auch mit den Daten-Leitungen. Schalte 
sie hochohmig.

von Peter W. (imidin)


Lesenswert?

Jim M. schrieb:
> Alternative: Spannung vom SD Modul komplett mit P-Channel MOSFET
> abtrennen.

Das wird wohl nicht funktionieren, da ich auf dem Breadboard die Vcc 
schon aufgetrennt habe und das nichts am Stromfluss verändert. Wenn ich 
GND und Vcc auftrenne, dann wird der Strom gesamthaft sogar größer.

Jim M. schrieb:
> SD Kartenhalter hat meistens auch ein "Card Detect" Signal (CD) - da
> wird ein Pullup nach Masse gezogen.

Laut Wiki müsste das der PIN 1 der Karte sein. Leider erkennt man auf 
dem Modul schlecht wie die Leitungen verlaufen und es ist alles SMD. Da 
bin ich nicht wirklich geübt. Ich könnte versuchen am SD Karten halter 
die Lötfahne für den Pin1 zu durchtrennen.
Bevor ich mein SD Modul so eventuell zerstöre, wie zuversichtlich bist 
du, dass der Strom dort her kommt? :)

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Wenn ich GND und Vcc auftrenne

Mööp.

Trenne niemals eine GND Leitung auf! Alle Signale beziehen sich darauf. 
Das Verhalten eines Mikrochips ohne GND aber mit Spannungen an anderen 
Pins ist 100% außerhalb seiner Spezifikation.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das SD Card Modul hat keine Pegelwandler, es ist nur für Mikrocontroller
> mit 3,3V Pegeln gedacht. Betreibst du deinen Mikrocontroller etwa mit 5V
> Signalen?

Nein ich betreibe den ATMEGA mit 3,3V. Es liegt allerdings immer an der 
eingesetzten Karte. Sobald diese entfernt wird, ist auch der Strom weg.

Stefan ⛄ F. schrieb:
> Wenn du das Ding ganz abschalten willst, musst du das nicht nur mit der
> Stromversorgung machen, sondern auch mit den Daten-Leitungen. Schalte
> sie hochohmig.

Bitte entschuldige die vielleicht dumme Frage, aber sind die 
Datenleitungen im PowerDownModus nicht automatisch hochohmig?

Stefan ⛄ F. schrieb:
> Trenne niemals eine GND Leitung auf! Alle Signale beziehen sich darauf.

Danke. Guter Hinweis.

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Bitte entschuldige die vielleicht dumme Frage, aber sind die
> Datenleitungen im PowerDownModus nicht automatisch hochohmig?

Nein. Ganz im Gegenteil, die bleiben in dem Zustand, den sie vorher 
hatten.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Nein. Ganz im Gegenteil, die bleiben in dem Zustand, den sie vorher
> hatten.

Habe ich probiert. Leider ohne Erfolg, sobald ich die Karte einsetze, 
gleiches Ergebnis. Wenn ich die Vcc von 3,3V entferne, bleibt der Strom 
unverändert.

Ich habe jetzt PB2-PB5 als Eingang hochohmig gesetzt. Ich verwende einen 
ATMEGA328P.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Leider ohne Erfolg, sobald ich die Karte einsetze,
> gleiches Ergebnis.

Wenn keine Spannungsversorgung vorhanden ist und alle Signal-Leitungen 
ebenfalls stromlos (hochohmig) sind, dann kann da kein Strom fließen.

Außer vielleicht an dem oben genannten Schaltkontakt. Aber da würde ich 
< 1mA erwarten.

Irgendwas läuft bei Dir nicht so, wie du denkst. Ergo: Schaltplan 
zeichnen, messen, Messprotokoll erstellen und dann schauen wir mal 
drüber.

von Manfred (Gast)


Lesenswert?

Peter W. schrieb:
> Das MicroSD Modul hat leider keine Möglichkeit mit 3,3V zu operieren,

Das bezweifele ich.

von Jim M. (turboj)


Lesenswert?

Peter W. schrieb:
> Habe ich probiert. Leider ohne Erfolg, sobald ich die Karte einsetze,
> gleiches Ergebnis. Wenn ich die Vcc von 3,3V entferne, bleibt der Strom
> unverändert.

Hast Du auch daran gedacht die ganzen anderen Pins auf GND zu setzen?

Ansonsten wird die Karte über CS (und eventuell Datenpins) querversorgt 
- da sind Dioden von den Pins nach VCC in der Karte drin.


Peter W. schrieb:
> Das MicroSD Modul hat leider keine Möglichkeit mit 3,3V zu operieren,

Doch: Einfach den LDO runterlöten. Der AMS1117 darf laut Datenblatt bis 
11mA ganz alleine verbraten.

von Peter W. (imidin)


Angehängte Dateien:

Lesenswert?

Stefan ⛄ F. schrieb:
> Irgendwas läuft bei Dir nicht so, wie du denkst. Ergo: Schaltplan
> zeichnen, messen, Messprotokoll erstellen und dann schauen wir mal
> drüber.

Bitte nicht aufregen. Ist nicht der schönste Plan und auch nur schnell 
auf Papier gekritzelt.

Jim M. schrieb:
> Doch: Einfach den LDO runterlöten. Der AMS1117 darf laut Datenblatt bis
> 11mA ganz alleine verbraten.

Wo sitzt bei meinem Modul denn der LD0 und was ist das? Der AMS1117 
scheint wohl eine Art Festspannungsregler auf 3,3V zu sein.

Jim M. schrieb:
> Ansonsten wird die Karte über CS (und eventuell Datenpins) querversorgt
> - da sind Dioden von den Pins nach VCC in der Karte drin.

Anscheinend nicht, sonst würde ja wie von Stefan schon beschrieben, sich 
beim Auftrennen der Versorgungsspannung zum SD Modul auch der Strom 
reduzieren. Demnach fließt wohl der Strom über die Datenleitungen.

Ich programmiere mit der Arduino IDE. Die internen Pullup Widerstände 
schalte ich in der Setup für die Datenleitungen ein. Vermutlich liegt 
hier der Fehler.
1
void setup()
2
  {
3
    Serial.begin(9600);
4
    // alle Pullup an
5
    pinMode(10, INPUT_PULLUP);
6
    pinMode(11, INPUT_PULLUP);
7
    pinMode(12, INPUT_PULLUP);
8
    pinMode(13, INPUT_PULLUP); 
9
10
    // Ausschalten ADC
11
    ADCSRA = 0; 
12
    
13
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
14
    
15
    /* Setup des Watchdog Timers */
16
    MCUSR &= ~(1<<WDRF);             /* WDT reset flag loeschen */
17
    WDTCSR |= (1<<WDCE) | (1<<WDE);  /* WDCE setzen, Zugriff auf Presclaler etc. */
18
    WDTCSR = 1<<WDP1 | 1<<WDP2;      /* Prescaler auf 1.0 s */
19
    WDTCSR |= 1<<WDIE;               /* WDT Interrupt freigeben */
20
  
21
    SD.begin(sd_CS);
22
    File dataFile = SD.open("datalog.csv", FILE_WRITE);
23
    dataFile.close();
24
    Serial.println("Leave setup");
25
  }

Ergänzung: Das Modul mit der Micro SD Karte ist das wo der Hersteller 
die 5V Versorgungsspannung angibt.

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Peter W. schrieb:
> Wo sitzt bei meinem Modul denn der LD0 und was ist das? Der AMS1117
> scheint wohl eine Art Festspannungsregler auf 3,3V zu sein.

LDO = Low DropOut. Eine bestimmte Sorte Festpannungsregler - wie z.B. 
AMS1117.

In dessen Datenblatt hätte man die 5mA gefunden, und die zieht er auch 
wenn +5V offen ist. Daher auslöten oder anders entschärfen.

Peter W. schrieb:
> Die internen Pullup Widerstände
> schalte ich in der Setup für die Datenleitungen ein.

Zum korrekten Betrieb der SD Karte wäre das OK, beim Abschalten der 
Versorgung müssen die aber alle auf Masse gezogen werden (oder 
offen/hochohmig beiben).

Der 328p bekommt vom UNO +5V auf der TX Leitung, das kann u.U. die 3,3V 
hoch ziehen. Mach da mal einen Spannungsteiler rein. Außerdem fehlern 
die Abblock-C am 328p VCC/GND und AVCC/GND Pärchen.

von Peter W. (imidin)


Angehängte Dateien:

Lesenswert?

Jim M. schrieb:
> Der 328p bekommt vom UNO +5V auf der TX Leitung, das kann u.U. die 3,3V
> hoch ziehen. Mach da mal einen Spannungsteiler rein. Außerdem fehlern
> die Abblock-C am 328p VCC/GND und AVCC/GND Pärchen.

Die Kondensatoren mit 100nF habe ich nachgerüstet. Direkt auf das 
Steckbrett zwischen VCC und GND sowie AVCC und GND.

Das mit der TX Leitung habe ich auch gerade erkannt. Spannungsteiler 
habe ich auch eingebaut. Ist eine gute Idee, daran hätte ich so gar 
nicht gedacht.

Jetzt funktioniert auch das Auftrennen der Spannungsversorgung am SD 
Modul.
Ich hätte jetzt noch einen IRF9622 MOS FET hier. Habe so etwas 
allerdings noch nie verbaut. Wie würde man hier denn den Vorwiderstand 
berechnen für ein SD Modul?

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Wo sitzt bei meinem Modul denn der LD0 und was ist das? Der AMS1117
> scheint wohl eine Art Festspannungsregler auf 3,3V zu sein.

Das ist der Chip mit den dicken Anschlussbeinen: drei auf der einen 
Seite und ein ganz breiter (zur Wärmeableitung) auf der anderen Seite.
1
    pinMode(10, INPUT_PULLUP);
2
    pinMode(11, INPUT_PULLUP);
3
    pinMode(12, INPUT_PULLUP);
4
    pinMode(13, INPUT_PULLUP);

Versuche mal INPUT (ohne PULLUP) oder OUTPUT und danach diese Pins auf 
LOW setzen.

> Ergänzung: Das Modul mit der Micro SD Karte ist das wo der Hersteller
> die 5V Versorgungsspannung angibt.

So wie ich das sehe können beide Module mit 5V versorgt werden, weil auf 
beiden ein 3,3V Regler drauf ist. Das Modul mit dem 3,3V Anschluss 
IMG_3990.JPG) hat auf jeden Fall 3,3V Signale. Bei diesem Modul kannst 
du versuchen, den Spannungsregler zu entfernen, um dessen Stromaufnahme 
einzusparen.

Das Modul ohne 3,3V Anschluss (IMG_3992.JPG) scheint einen Chip als 
Pegelkonverter zu enthalten, der möglicherweise unbedingt 5V Versorgung 
benötigt. Dessen Signale haben dann wohl auch 5V (dieses Produkt passt 
also nicht zu deiner Schaltung).

> Der 328p bekommt vom UNO +5V auf der TX Leitung, das kann u.U. die 3,3V
> hoch ziehen. Mach da mal einen Spannungsteiler rein. Außerdem fehlern
> die Abblock-C am 328p VCC/GND und AVCC/GND Pärchen.

Sehr guter Hinweis

von Peter W. (imidin)


Lesenswert?

Peter W. schrieb:
> Jetzt funktioniert auch das Auftrennen der Spannungsversorgung am SD
> Modul.

Irgendwie schon und dann leider doch nicht.

Ich setze ca. für 20sec den Controller den PowerDownModus. Mit dem SD 
Modul benötigt alles dann noch etwas mehr als 2mA.  Während des 
Tiefschlafes trenne ich die Vcc Verbindung zum SD Modul. Der Stromfluss 
geht auch entsprechend auf <1mA zurück. Wenn ich während des 
Tiefschlafes den Vcc wieder an das SD Modul anlege, dann hab ich sofort 
einen Strom von ca. 15mA.

Gut eigentlich möchte ich über einen MOS FET das SD Modul dann auch erst 
nach dem Verlassen des Tiefschlafes anschalten. Deswegen habe ich nach 
dem Aufwachen ein kurzes Delay von 3sec eingebaut und in dem Zeitraum 
die Vcc wieder angelegt. Gleiches Verhalten.

Jetzt habe ich parallel bei der seriellen Ausgabe gesehen, dass der 
Controller einen Reset macht. Warum tut er das?

Stefan ⛄ F. schrieb:
> Versuche mal INPUT (ohne PULLUP) oder OUTPUT und danach diese Pins auf
> LOW setzen.

Hier ist meine Funktion für den Tiefschlaf. Da
1
void pwrDown(int sekunden) {
2
  Serial.println("Enter pwrDown");
3
  delay(100);
4
5
  // SPI Pins als Eingang und pull-ups ausgeschaltet
6
  pinMode(11, INPUT);                  
7
  pinMode(12, INPUT);
8
  pinMode(13, INPUT);
9
  pinMode(10, INPUT);
10
  digitalWrite(10, LOW);
11
  digitalWrite(11, LOW);
12
  digitalWrite(12, LOW);
13
  digitalWrite(13, LOW) ; 
14
    
15
  for(int i=0; i < sekunden; i++) {
16
    
17
    sleep_enable(); // sleep mode einschalten
18
    
19
    // Alle Module ausschalten
20
    power_all_disable();
21
    
22
    sleep_mode();  // in den sleep mode gehen
23
    sleep_disable(); // sleep mode ausschalten nach dem Erwachen
24
    
25
  }
26
  
27
  power_all_enable();     // Komponenten wieder aktivieren 
28
29
  // SPI wieder in Grundstellung
30
  pinMode(11, OUTPUT);                  
31
  pinMode(12, INPUT);
32
  pinMode(13, OUTPUT);
33
  pinMode(10, OUTPUT);
34
  
35
  Serial.println("Leave pwrDown");
36
delay(3000);
37
}

von Stefan F. (Gast)


Lesenswert?

> Jetzt habe ich parallel bei der seriellen Ausgabe gesehen,
> dass der Controller einen Reset macht. Warum tut er das?

Ich weiß es nicht.

Mir ist aber aufgefallen, dass du den Sleep Modus nicht mit 
set_sleep_mode() konfiguriert hast. Siehe 
https://playground.arduino.cc/Learning/ArduinoSleepCode/

Prüfe mal, oder der Timer 0 dir dazwischen funkt und ein Aufwachen 
verursacht.

Wenn du die Stromversorgung der SD Karte hart einschaltest, ohne den 
Strom zu begrenzen, bricht in diesem Moment eventuell die 
Spannungsversorgung des AVR ein, was den Reset auslösen könnte.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Mir ist aber aufgefallen, dass du den Sleep Modus nicht mit
> set_sleep_mode() konfiguriert hast. Siehe

Doch das habe ich in der setup() Routine gemacht.
1
ISR(WDT_vect){
2
  /* Watchdog imer Interrupt Service Routine */
3
  }
4
5
void setup()
6
  {
7
    Serial.begin(9600);
8
9
    // Ausschalten ADC
10
    ADCSRA = 0; 
11
    
12
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
13
    
14
    /* Setup des Watchdog Timers */
15
    MCUSR &= ~(1<<WDRF);             /* WDT reset flag loeschen */
16
    WDTCSR |= (1<<WDCE) | (1<<WDE);  /* WDCE setzen, Zugriff auf Presclaler etc. */
17
    WDTCSR = 1<<WDP1 | 1<<WDP2;      /* Prescaler auf 1.0 s */
18
    WDTCSR |= 1<<WDIE;               /* WDT Interrupt freigeben */
19
  
20
    SD.begin(sd_CS);
21
    delay(100);
22
    Serial.println("Leave setup");
23
  }

Stefan ⛄ F. schrieb:
> Wenn du die Stromversorgung der SD Karte hart einschaltest, ohne den
> Strom zu begrenzen, bricht in diesem Moment eventuell die
> Spannungsversorgung des AVR ein, was den Reset auslösen könnte.

Das hört sich gut an. Das Problem hatte ich vorher mal, als mir nicht 
bewusst war, dass der 3,3V PIN vom Arduino Board nur max. 50mA liefert. 
Da hat der Controller permanent einen Reset gemacht. Wie kann ich das 
denn umgehen? Mit dem Einschalten über einen MOSFET?

von Stefan F. (Gast)


Lesenswert?

Ich glaube du musst Interrupts mit cli() sperren, während du den 
Watchdog abschaltest, weil da ein strammes Timing erforderlich ist.

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Wie kann ich das
> denn umgehen? Mit dem Einschalten über einen MOSFET?

Mit einem ein/aus schalbarem Spannungsregler anstelle des MOSFET, der 
genug Strom für die SD Karte liefert, aber nicht mehr zulässt, als das 
Netzteil liefern kann.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich glaube du musst Interrupts mit cli() sperren, während du den
> Watchdog abschaltest, weil da ein strammes Timing erforderlich ist.

Ich glaube du hast Recht :)
1
    cli();
2
    wdt_reset();                     // Reset Watchdog Timer

Habe ich in der Setup() vor der Watchdog Konfiguration ergänzt.

Stefan ⛄ F. schrieb:
> Mit einem ein/aus schalbarem Spannungsregler anstelle des MOSFET, der
> genug Strom für die SD Karte liefert, aber nicht mehr zulässt, als das
> Netzteil liefern kann.

Ich möchte den Datenlogger mit Batterien betreiben. Als 
Spannungsversorgung sollen dann zwei AA Batterien her. Deswegen schaue 
ich parallel immer etwas nach dem Stromverbrauch, sonst wäre der nicht 
so relevant.

Ich kenn mich mit den ganzen Bauteilen nicht so aus. Auf dem Breadboard 
nutze ich aktuell einen LF33CV, davon habe ich einen da.

Dann habe ich noch einen L78L33ACZ und einen MCP 1702-3302 LDO-Regler. 
Die sind wohl aber alle nicht schaltbar.

von Stefan F. (Gast)


Lesenswert?

Zur Not tut es ein P-MOSFET in Reihe zu einem Strombegrenzenden 
Spannungsregler.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Zur Not tut es ein P-MOSFET in Reihe zu einem Strombegrenzenden
> Spannungsregler.

Hast du hier eventuell eine Beispielschaltung bzw. passen die von mir 
benannten Bauteile?

IRF9622 MOS FET P Kanal
L78L33ACZ oder MCP 1702-3302 oder LF33CV.

Habe allerdings noch nie einen MOF FET berechnet mit den Widerständen. 
In meiner Recherche bin ich darauf gestoßen, dass so ein SD Modul im 
Schreibvorgang bis 100mA ziehen kann. Deswegen kann es nicht direkt vom 
Controller versorgt werden.

Kann ich nicht einfach einen Bipolar Transistor nehmen? Sorry wenn ein 
paar blöde Fragen dabei sind. Mir fehlt hier etwas die Erfahrung.

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Hast du hier eventuell eine Beispielschaltung

Nein

> Kann ich nicht einfach einen Bipolar Transistor nehmen?

Ja, dann aber vor den Spannungsregler damit der Spannungsabfall an 
seiner C-E Strecke nicht die 3,3V Versorgung der SD Karte 
beeinträchtigt.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Nein

Ich habe bislang nur eine LED über einen Transistor geschaltet und noch 
nie ein ganzes Modul.

Würde ich hier den Vcc des SD Modul an den Emitter, Vorwiderstand mit 
Controller an die Basis und direkt 3,3V an den Collector anschließen?

Dann habe ich doch allerdings immer einen Spannungsabfall Uce der mir 
meine 3,3V am SD Modul reduziert. Wenn das Modul jetzt exakt die 3,3V 
zum arbeiten brauch, dann bin ich wohl auf dem Holzweg.

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Würde ich hier den Vcc des SD Modul an den Emitter, Vorwiderstand mit
> Controller an die Basis und direkt 3,3V an den Collector anschließen?

> dann bin ich wohl auf dem Holzweg.

Mit deinem Ansatz: ja

Du musst einen PNP Transistor verwenden, mit Emitter an 5V. Der 
Kollektor ist dann sein Ausgang, da kommt der Spannungsregler dran.

Schau Dir die Grundlagen in Band 2 von 
http://stefanfrings.de/mikrocontroller_buch/index.html an.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Du musst einen PNP Transistor verwenden, mit Emitter an 5V. Der

Stefan, erstmal vielen Dank für deine Geduld und Hilfe. Weswegen 
allerdings 5V? Ich hatte doch gesagt, dass ich beabsichtige den 
kompletten Logger mit 3,3V über 2xAA zu betreiben.

Stefan ⛄ F. schrieb:
> Schau Dir die Grundlagen in Band 2 von
> http://stefanfrings.de/mikrocontroller_buch/index.html an.

Geht klar. Sieht nach einem interessanten Pdf aus. Ich nehme mal an, 
dass ich hiermit jetzt deinen Nachnamen kenne? :) Danke

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Weswegen allerdings 5V?

Weil der Spannungsregler, der den Strom begrenzt, an seinem Eingang 
deutlich mehr als 3,3V braucht. Steht im Datenblatt unter "Dropout 
Voltage".

> Ich nehme mal an, dass ich hiermit jetzt deinen Nachnamen kenne?

Psst, nicht weitersagen.

von Manfred (Gast)


Lesenswert?

Peter W. schrieb:
> Ich hatte doch gesagt, dass ich beabsichtige den
> kompletten Logger mit 3,3V über 2xAA zu betreiben.

Wie soll das gehen?

Es fehlt an allen Ecken Grundlagenwissen, Du hast keine Chance, nutze 
die.

von Peter W. (imidin)


Lesenswert?

Manfred schrieb:
> Wie soll das gehen?

Eventuell mit einem Stepup Regler, welcher aus den 3V die 3,3V macht?

Es gibt wohl auch Leute welche den Atmega328 aus einer einzigen Cr2032 
versorgt haben.

Das Gerät soll nicht verkauft werden und ich möchte damit keinen Preis 
gewinnen.

Manfred schrieb:
> Es fehlt an allen Ecken Grundlagenwissen, Du hast keine Chance, nutze
> die

Das mache ich. Du bist gern eingeladen,    mir dabei zu helfen.

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Es gibt wohl auch Leute welche den Atmega328 aus einer einzigen Cr2032
> versorgt haben.

Ja, den AVR, aber keine SD Karte.

>> Ich hatte doch gesagt, dass ich beabsichtige den
>> kompletten Logger mit 3,3V über 2xAA zu betreiben.

> Eventuell mit einem Stepup Regler, welcher aus den 3V die 3,3V macht?

Das kann klappen. Ich komme mit Step-Down Reglern (an 4 Zellen) 
allerdings besser zurecht. Bei geringem Schaltungsaufwand sind sie 
tendenziell effizienter und liefern eine glattere Ausgangsspannung.

Wenn die durchschnittliche Stromaufnahme im zweistellingen mA Bereich 
liegt, würde ich allerdings 4 Zellen und einen Linear-Regler verwenden 
(bzw. in deinem Fall zwei, den zweiten zur Strombegrenzung für die SD 
Karte).

Dein Modul hat ja schon einen drauf. Wenn du zwischen Batterie und 
diesem Regler deinen Transistor zur Unterbrechung schaltest, hast du es 
schon.

Ich hoffe, dir ist bewusst, dass du einen weiteren Transistor brauchst, 
wenn du den PNP and 5V mit einem 3,3V Mikrocontroller schalten willst. 
Entsprechende Schaltungsvorschläge wurden hier im Forum schon oft 
gezeigt, du findest auch welche in meinem Buch (1x mit MOSFET, 1x mit 
PNP).

von Peter W. (imidin)


Lesenswert?

Kann ich nicht die Schaltung von Nick Gammon verwenden?

http://www.gammon.com.au/forum/?id=12106

Er realisiert über eine P-Kanal MOSFET ein geschaltete 
Versorgungsspannung für seine externen Komponenten. Im Quellcode 
schaltet er das Gate als Ausgang einfach entsprechend an und wieder aus.
1
  // power MOSFET - initially off
2
  digitalWrite (POWER, HIGH);
3
  pinMode      (POWER, OUTPUT);

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Kann ich nicht die Schaltung von Nick Gammon verwenden?

Kannst du. Aber sei darauf vorbereitet, dass der Einschaltstrom 
eventuell deine Stromversorgung überfordert.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Kannst du. Aber sei darauf vorbereitet, dass der Einschaltstrom
> eventuell deine Stromversorgung überfordert.

Du meinst, die Spannung bricht zusammen und der Controller macht einen 
Reset?

In dem benannten Beispiel hängt an der geschalteten Versorgungsspannung 
neben den SD Modul, noch der RTC und ein LCD.

http://gammon.com.au/images/Arduino/HHS_Temperature_Logger1.png

Ich probier es morgen mal aus.

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Du meinst, die Spannung bricht zusammen und der Controller macht einen
> Reset?

Ja, oder er stürzt ab.

> Ich probier es morgen mal aus.

Tu das. Wenn es nicht geht, kannst du einen neuen Thread zum Thema 
Saft-Anlauf starten.

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Peter W. schrieb:
>> Du meinst, die Spannung bricht zusammen und der Controller macht einen
>> Reset?
>
> Ja, oder er stürzt ab.
>
>> Ich probier es morgen mal aus.
>
> Tu das. Wenn es nicht geht, kannst du einen neuen Thread zum Thema
> Saft-Anlauf starten.


Hallo Stefan,

es klappt tatsächlich. Allerdings nicht mit den 3,3V, sondern nur mit 
5V, da der P Kanal MOSFET laut Datenblatt erst bei 4,5V schaltet.

https://www.mouser.de/datasheet/2/308/FQP47P06-1300909.pdf

Hast du vielleicht einen P-MOSFET im Sinn der bei 3,3V schaltet und 
möglichst bei Conrad Electronics erhältlich wäre? Ich möchte ungern 
dafür Versandkosten zahlen.

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Hast du vielleicht einen P-MOSFET im Sinn der bei 3,3V schaltet und
> möglichst bei Conrad Electronics erhältlich wäre?

IRML6402

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Peter W. schrieb:
>> Hast du vielleicht einen P-MOSFET im Sinn der bei 3,3V schaltet und
>> möglichst bei Conrad Electronics erhältlich wäre?
>
> IRML6402

Vielen Dank, den schau ich mir mal an. Wobei ich wahrscheinlich das 
Löten noch vorher etwas üben werde. SMD ist nichts für meine Augen :)

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> Stefan ⛄ F. schrieb:
>> Peter W. schrieb:
>>> Hast du vielleicht einen P-MOSFET im Sinn der bei 3,3V schaltet und
>>> möglichst bei Conrad Electronics erhältlich wäre?
>>
>> IRML6402
>
> Vielen Dank, den schau ich mir mal an. Wobei ich wahrscheinlich das
> Löten noch vorher etwas üben werde. SMD ist nichts für meine Augen :)

Einen größeren für 3,3V habe ich nicht gefunden. Falls du einen findest, 
will ich auch haben!

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Einen größeren für 3,3V habe ich nicht gefunden. Falls du einen findest,
> will ich auch haben!

Leider nicht. Einen habe ich auch schon zerstört.

Funktioniert auch nicht wie mit dem MOSFET davor bei 5V. Eine LED 
bekomme ich mit dem Model zwar zum blinken, aber beim SD Modul gibt es 
immer wieder einen Reset.

Habe jetzt die folgende Schaltung probiert mit einem BC547, aber leider 
auch ohne Erfolg. Kann natürlich sein das der SMD MOSFET jetzt beim 
löten wieder einen mitbekommen hat.

https://www.arduinoforum.de/attachment.php?aid=3001

von Peter W. (imidin)


Lesenswert?

Stefan ⛄ F. schrieb:
> Einen größeren für 3,3V habe ich nicht gefunden. Falls du einen findest,
> will ich auch haben!

Hallo Stefan,

was hältst du denn von den NDP6020P?

Der müsste doch eigentlich auch für 3,3V gehen.

von Stefan F. (Gast)


Lesenswert?

Peter W. schrieb:
> was hältst du denn von den NDP6020P?

Sehr schön, den gibt es sogar bei Conrad. Vielen Dank

von Peter W. (imidin)


Lesenswert?

Funktioniert leider immer noch nicht. Kannst du mir bei der 
Arbeitspunkteinstellung helfen? Die Schaltung ist wie bei Nick Gammon.

http://gammon.com.au/images/Arduino/HHS_Temperature_Logger1.png

Die Widerstände habe ich jetzt erstmal gleich gewählt. Leider 
funktioniert es nicht. Wenn ich den Gatewiderstand bei 330Ohm habe, gibt 
es einen Reset des Controllers und bei 3,3kOhm schaltet er nicht durch.

von Manfred (Gast)


Lesenswert?

Peter W. schrieb:
> was hältst du denn von den NDP6020P?

Aufpassen: Das P am Ende steht für P-Kanal, der NDP6020 ist ein N-FET.

Beachten sollte man auch, dass der NDP6020P nur 8 Volt UGS verträgt.

von Peter W. (imidin)


Lesenswert?

Manfred schrieb:
> Das P am Ende steht für P-Kanal, der NDP6020 ist ein N-FET.

Hallo Manfred,

genau, laut Datenblatt

https://www.mouser.de/datasheet/2/308/NDP6020P-1306840.pdf

handelt es sich um einen P Kanal.

Das ist genau der Typ MOSFET den Nick Gammon in seinen Beispiel 
verwendet hat.

http://www.gammon.com.au/forum/?id=12106

Er hat nur ein Exemplar für 5V Vgs genommen, weil er mit 5V arbeitet. In 
meinem Fall sollen es 3,3V sein.

Leider bricht anscheinend nun immer die Spannung ein wenn ich das SD 
Modul an den Drain hänge. Bei einer LED funktioniert es ohne Probleme.

: Bearbeitet durch User
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.