INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
SD Card und Stromversorgung/USB Anschluss
25.06.2016, 11:03 (Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2016 15:31 von Bitklopfer.)
Beitrag #1
SD Card und Stromversorgung/USB Anschluss
VHallo Kollegen,
bin ziemlicher Anfänger und völlig ratols HuhHuh
Ich habe vor ein Messgerät für Modellmotoren zu bauen und zwar Messung von Spannung Strom und Drehzahl und diese Werte sowohl am LCD Dispaly 20x4 auszugeben als auch auf SD Card in eine Datei zu schreiben.
Habe folgendes Problem. Wenn ich den Arduino am USB Bus anstecke funktioniert alles wunderbar (nur Spannung und Strom, Drehzahl habe ich noch nicht gemacht...).
Sobald ich aber den USB abstecke und die Spannungsversorgung über Vin anlege schreibt er nur noch Mist. Habe schon verschiedene Spannungsquellen probiert (9V Lion Batterie, 3S Lipo) immer dasselbe Ergebnis. Sieht so aus:

"Sannung;Strom;Mil¶Znl­n­ÌŒ­Á¡GÆFge¦ÆfFF恡Jl-ÍέÌçjnŽMí§i­-.l­n­ÌŒ­Á¡GÆFge¦ÆfF&æa¡Jl-ÍέÌçjnŽMí§i­-.l­n­ÌŒ­Á¡GÆFge¦ÆfF&æa¡GÆF'e¦ÆfffF¡GÆF'e¦Æf††ÆÁ¡GÆF'e¦Æf¦Æ&a¡"

hier mein Sketch:
//4-------------zu --------------10 Wechsel

/* SD card read/write
The circuit: SD card attached to SPI bus as follows:
** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 */



#include <LiquidCrystal.h>
#include <SPI.h>
#include <SD.h>

const int chipSelect = 4;

/* initialize the library with the numbers of the interface pins */
LiquidCrystal lcd(8, 7, 6, 5, 10, 3, 2);

File myFile;
int sensorPinSpannung = A0;
int sensorPinStrom = A2;
int sensorValueV = 0;
int sensorValueStrom = 0;
int sensorValueStrom1 = 0;
int stromPos = 0;
float messwV = 0;
float messwA = 0;


/* ****Programm****** */

void setup() {
delay(2000);
Serial.begin(9600); //Serielle Schnitstelle für Ausgabe öffnen

lcd.begin(20, 4); // set up the LCD's number of columns and rows:

/*Schreiben Überschriften auf SD Karte*/
while (!Serial) { // Open serial communications and wait for port to open
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.print("Initializing SD card...");

if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");

myFile = SD.open("Messung.txt", FILE_WRITE);
if (myFile) {
myFile.print("Sannung");
myFile.print(";");
myFile.print("Strom");
myFile.print(";");
myFile.println("Millisekunden");
myFile.close(); // close the file:
}
}

void loop() {

/*SPANNUNG*/
sensorValueV = analogRead(sensorPinSpannung); //Hole Wert Spannung digital
messwV = sensorValueV; //integer sensorValue in Fliesskomma messw umwandeln
messwV = (5 * messwV / 1024); //in Spannung umrechen, 5V durch 1024 teilen und mit Messwert multiplizieren
messwV = messwV + (messwV * 390 / 100); //Gesamtspannung berechnen U=U1+U1*R1/R2

/*STROM 1000 Messungen und Mittelwert ermitteln*/
sensorValueStrom1 = analogRead(sensorPinStrom);
for (int i = 0; i < 1000; i++) {
sensorValueStrom = analogRead(sensorPinStrom) - 512; //Hole Wert Strom digital, Mittelwert von 0 bis 1023 sind 1024 Werte da 0-Wert bei 2,5 V
sensorValueStrom += sensorValueStrom;
}
messwA = sensorValueStrom; //integer sensorValue in Fliesskomma messw umwandeln
messwA = 50 * messwA / 1024 / 1000 + 0.001; //beim 712 mit 20 A entsprechen 100 mV = 1A = 20,48 Digit


/*Ausgabe auf LCD Display*/
if ((messwA) < 0) { // die folgenden If´s dienen zur Positionierung der Stromanzeige
stromPos = 0;
}
if ((messwA) >= 0 && (messwA) < 10) {
stromPos = 1;
}
if ((messwA) >= 10) {
stromPos = 2;
}
lcd.setCursor(0, 0); //1. Spalte und 1. Zeile LCD Display
lcd.print("Spannung "); //Spann. anzeigen
lcd.print(messwV, 2);
lcd.print(" V ");

lcd.setCursor(0, 1); //1. Spalte und 2. Zeile LCD Display
lcd.print("Strom"); //Strom. anzeigen

switch (stromPos) {
case 0:
lcd.setCursor(9, 1); // 9. Spalte und 2. Zeile LCD Display
break;
case 1:
lcd.setCursor(10, 1); //10. Spalte und 2. Zeile LCD Display
break;
case 2:
lcd.setCursor(9, 1); // 9. Spalte und 2. Zeile LCD Display
break;
}
lcd.print(messwA, 1);
lcd.print(" A");
lcd.setCursor(0, 2);
lcd.print(millis() / 1000); // print the number of seconds since reset:

/*Ausgabe auf seriellen Monitor*/
Serial.print("Spannung ");
Serial.print(messwV);
Serial.println(" V");

Serial.print("Strom ");
Serial.print(messwA);
Serial.println(" A");

Serial.print("Zeit in Sekunden ");
Serial.println(millis() / 1000);

/*Schreiben Werte auf SD Karte*/
myFile = SD.open("Messung.txt", FILE_WRITE);
if (myFile) {
myFile.print(messwV);
myFile.print(";");
myFile.print(messwA);
myFile.print(";");
myFile.println(millis());
myFile.close(); // close the file:
}

delay(1000); //1-Sekunde warten

}

Heisst deshalb 4 zu 10 Wechsel weil ich zwischen SD und LCD 4 und 10 versuchsweise getauscht habe....leider erfolglosUndecidedUndecidedUndecided

Arduino ist ein ganz normaler Arduino Uno. Sd Card Modul ist ein SD Karten/Card Modul 3.3V/5V für Arduino ARM MCU cnt-002.

Bin völlig ratlos was zu tun ist. ExclamationExclamationExclamation
Please help

Art
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.06.2016, 14:01
Beitrag #2
RE: SD Crad und Stromversorgung/USB Anschluss
(25.06.2016 11:03)ARTUSWINGUS schrieb:  Bin völlig ratlos was zu tun ist.

Erst mal deinen Sketch in Code-Tags (Schaltfläche #) setzen.
Dann können wir den auch besser lesen.

Wo siehst du denn den von dir geposteten Text?
Sicher nicht im seriellen Monitor, der geht ja nicht mehr ohne USB.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.06.2016, 19:57 (Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2016 20:05 von ARTUSWINGUS.)
Beitrag #3
RE: SD Card und Stromversorgung/USB Anschluss
Lieber Hostsystems,
sorry bin Neuling werde ich das nächste mal versuchen richtig zu machen.

Zum Seriellen Monitor:
Solange USB angeschlossen sehe ich am seriellen Monitor was ich schreiben will und wenn ich dann die SD Karte am PC auslese sehe ich auch, dass alles richtig in die Datei geschrieben wurde.
Ohne USB kann ich natürlich nur hinterher die SD Karte auslesen und da sehe ich den geposteten Datensalat.
LG Art

Lieber Lötzinnerhitzer,
habe den Hinweis zu den Widerständen gelesen, mir aber gedacht für den Kurzzeitbetrieb haltet die SD auch die 5V aus. Steht auch so in dem Buch von Mattias Schlenker "Sensoren am Arduino". Außerdem sind das soweit ich sehe SMD Widerstände wo ich mich mit meinen tapsigen Wurstlötfingern sowieso nicht ran traue.
Aber unabhängig davon... warum klappt alles an der USB und sobald ich ihn abstecke und eigenversorge schreibt er nur noch Mist???
LG Art

P.S.: Übrigens Hostsystems und Lötzinnerhitzer,
erst mal Danke für die prompte Antwort
soviel Zeit muss sein...........
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.06.2016, 20:17 (Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2016 20:18 von hotsystems.)
Beitrag #4
RE: SD Card und Stromversorgung/USB Anschluss
Ja, ok und gerne.

Was die Spannung betrifft, kann es teilwese sehr kritisch sein.
Manche Teile gehen sehr schnell kaputt, wenn höhere Spannung als erlaubt anliegt.

Meine Vermutung geht jetzt dahin, dass deine Spannung nicht sauber ist.
Was für ein Netzteil verwendest du?

Oder fehlt da eine Masseverbindung?


Ja, und die Code-Tags im geposteten Sketch kannst du jetzt noch einfügen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.06.2016, 20:32
Beitrag #5
RE: SD Card und Stromversorgung/USB Anschluss
H[/quote]ier noch einmal der Code, ich hoffe jetzt richtig
Code:
//4-------------zu --------------10 Wechsel

/*  SD card read/write
    The circuit:   SD card attached to SPI bus as follows:
    ** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4  */



#include <LiquidCrystal.h>
#include <SPI.h>
#include <SD.h>

const int chipSelect = 4;

/* initialize the library with the numbers of the interface pins  */
LiquidCrystal lcd(8, 7, 6, 5, 10, 3, 2);

File myFile;
int sensorPinSpannung = A0;
int sensorPinStrom = A2;
int sensorValueV = 0;
int sensorValueStrom = 0;
int sensorValueStrom1 = 0;
int stromPos = 0;
float messwV = 0;
float messwA = 0;


/* ****Programm******  */

void setup() {
  delay(2000);
  Serial.begin(9600);          //Serielle Schnitstelle für Ausgabe öffnen

  lcd.begin(20, 4);            // set up the LCD's number of columns and rows:
  
/*Schreiben Überschriften auf SD Karte*/
  while (!Serial) {            // Open serial communications and wait for port to open
    ;                          // wait for serial port to connect. Needed for Leonardo only
  }
  Serial.print("Initializing SD card...");

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  myFile = SD.open("Messung.txt", FILE_WRITE);
  if (myFile) {
    myFile.print("Sannung");
    myFile.print(";");
    myFile.print("Strom");
    myFile.print(";");
    myFile.println("Millisekunden");
    myFile.close();  // close the file:
  }
}

void loop() {

  /*SPANNUNG*/
  sensorValueV = analogRead(sensorPinSpannung);   //Hole Wert Spannung digital
  messwV = sensorValueV; //integer sensorValue in Fliesskomma messw umwandeln
  messwV = (5 * messwV / 1024);   //in Spannung umrechen, 5V durch 1024 teilen und mit Messwert multiplizieren
  messwV = messwV + (messwV * 390 / 100); //Gesamtspannung berechnen U=U1+U1*R1/R2

  /*STROM 1000 Messungen und Mittelwert ermitteln*/
  sensorValueStrom1 = analogRead(sensorPinStrom);
  for (int i = 0; i < 1000; i++) {
    sensorValueStrom = analogRead(sensorPinStrom) - 512; //Hole Wert Strom digital, Mittelwert von 0 bis 1023 sind 1024 Werte da 0-Wert bei 2,5 V
    sensorValueStrom += sensorValueStrom;
  }
  messwA = sensorValueStrom; //integer sensorValue in Fliesskomma messw umwandeln
  messwA = 50 * messwA / 1024 / 1000 + 0.001; //beim 712 mit 20 A entsprechen 100 mV = 1A = 20,48 Digit

  
  /*Ausgabe auf LCD Display*/
  if ((messwA) < 0) { // die folgenden If´s dienen zur Positionierung der Stromanzeige
    stromPos = 0;
  }
  if ((messwA) >= 0 && (messwA) < 10) {
    stromPos = 1;
  }
  if ((messwA) >= 10) {
    stromPos = 2;
  }
  lcd.setCursor(0, 0);  //1. Spalte und 1. Zeile LCD Display
  lcd.print("Spannung  ");  //Spann. anzeigen
  lcd.print(messwV, 2);
  lcd.print(" V   ");

  lcd.setCursor(0, 1);  //1. Spalte und 2. Zeile LCD Display
  lcd.print("Strom");  //Strom. anzeigen

  switch (stromPos) {
    case 0:
      lcd.setCursor(9, 1);   // 9. Spalte und 2. Zeile LCD Display
      break;
    case 1:
      lcd.setCursor(10, 1);  //10. Spalte und 2. Zeile LCD Display
      break;
    case 2:
      lcd.setCursor(9, 1);   // 9. Spalte und 2. Zeile LCD Display
      break;
  }
  lcd.print(messwA, 1);
  lcd.print("  A");
  lcd.setCursor(0, 2);
  lcd.print(millis() / 1000); // print the number of seconds since reset:

  /*Ausgabe auf seriellen Monitor*/
  Serial.print("Spannung ");
  Serial.print(messwV);
  Serial.println(" V");

  Serial.print("Strom ");
  Serial.print(messwA);
  Serial.println(" A");

  Serial.print("Zeit in Sekunden   ");
  Serial.println(millis() / 1000);
  
  /*Schreiben Werte auf SD Karte*/
  myFile = SD.open("Messung.txt", FILE_WRITE);
  if (myFile) {
    myFile.print(messwV);
    myFile.print(";");
    myFile.print(messwA);
    myFile.print(";");
    myFile.println(millis());
    myFile.close();  // close the file:
  }

  delay(1000); //1-Sekunde warten

}

werde zudem ein Fritzing Bild von meiner Schaltung erstellen, braucht aber noch etwas.
Zur Stromversorgung habe ich kein Netzteil sondern eine 9V Lithium Batterie und versuchsweise einen 3s Lipo verwendet. Also die Stromversorgung müsste sauber sein.
Und es dürfte nichts kaputt sein, da alles sobald ich es an den USB anschließe wieder funktioniert.
Art
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.06.2016, 20:53
Beitrag #6
RE: SD Card und Stromversorgung/USB Anschluss
Ja, danke. Das mit dem Sketch ist jetzt ok. Nur als Anmerkung, du hättest auch den ersten Sketch noch so bearbeiten können.

Ja, mit den Batterien hatte ich überlesen.
Was hast du noch zusätzlich am Arduino angeschlossen?
Andere Verbraucher?

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.06.2016, 20:52
Beitrag #7
RE: SD Card und Stromversorgung/USB Anschluss
Hallo,
habe jetzt mein Bild von der Hardware erstellt. Ist eine Mischung aus Fritzing, 123 circuits und Corel, da einige Bauteile in den Bibliotheken nicht vorhanden sind.
Als Verbraucher, hängt aber nicht am Arduino habe ich einen Brushless angeschlossen, den ich messen will.
LG Art

   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.06.2016, 09:03
Beitrag #8
RE: SD Card und Stromversorgung/USB Anschluss
(26.06.2016 20:52)ARTUSWINGUS schrieb:  habe jetzt mein Bild von der Hardware erstellt. Ist eine Mischung aus Fritzing, 123 circuits und Corel, da einige Bauteile in den Bibliotheken nicht vorhanden sind.
Als Verbraucher, hängt aber nicht am Arduino habe ich einen Brushless angeschlossen, den ich messen will.

Ist leider sehr unübersichtlich.

Ich vermute, der Motor macht Störungen und bringt den Uno durcheinander.
Teste es mal ohne den Motor und ohne das Motor-Board. Das Board hängt ja dann direkt auf den 5 Volt des Unos, damit ist das sehr wahrscheinlich.

Andere Idee habe ich nicht.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino Nano und SD Card emjott 3 329 09.09.2016 12:15
Letzter Beitrag: Bitklopfer
  Arduino Nano. Externe Stromversorgung reimundko 1 611 26.06.2016 13:44
Letzter Beitrag: hotsystems
  Stromversorgung über Solarladeregler - Arduino funktioniert kurz und hängt sich auf Daniel Zorn 5 507 18.05.2016 13:57
Letzter Beitrag: hotsystems
  Arduino USB und 5V Stromversorgung tausday 3 1.801 29.03.2016 11:28
Letzter Beitrag: ArdHolger
  RS-232 Anschluss für Arduino Slash200 7 1.528 08.03.2016 21:58
Letzter Beitrag: ardu_arne
  Pinbelegung UNO und Mega für TFT Anschluss AchDuShrek 4 1.499 19.11.2015 21:40
Letzter Beitrag: Klaus(i)
  Stromversorgung Mathias 16 2.397 22.10.2015 12:11
Letzter Beitrag: Binatone
  Ethernet (ENC28J60) und SD Card piepsvo 5 1.500 11.10.2015 07:47
Letzter Beitrag: Bitklopfer
  Anschluss / Verkabelung LCD 1602 HaWe 5 2.111 22.07.2015 08:36
Letzter Beitrag: HaWe
  Arduino Mega - externe Stromversorgung hgranzer 6 2.221 19.07.2015 12:45
Letzter Beitrag: hgranzer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste