Show Posts
Pages: [1]
1  Using Arduino / Networking, Protocols, and Devices / Communication problem Arduino Mega 2560 - PC on: April 18, 2014, 03:53:49 am
we have a project where we use an Arduino Mega 2560 for datalogging. The
arduino sends
periodically (2s cycle) a string containing different sensor values.

Our problem is that logview hangs up from time to time. The serial
logging stops can't open the COM-Port anymore but the UART from the Atmega2560 to the Atmerga16U2 is still sending.
The only solution is to unplug and reconnect the USB-cable. Unfortunately, this isn't an acceptable solution for us.

What we have tried so far:

- We removed all sensors/actors from the Arduino Mega 2560 and sent only
dummy strings over USB -> log still hangs up
- We reduced the baudrate --> still hangs up
- We used shorter USB-cables --> still hangs up
- We used on the PC a simple PC-program writing serial data to a file
(instead of logview) --> also hangs up
- We connected an additional arduino USART/USB converter to the second
USART from the Arduino and sent the same strings over both UARTS. On PC
we watched both ports with logview and putty -> both hanged up
- We tested this also with different PC's.
Our OS Debian.


You have any idea? We think that it could be

- problem with ground

Best regards
2  International / Deutsch / Re: SD Card Problem on: December 05, 2012, 11:37:59 am
dtostrf()

Problem wurde gelöst -> Versorgungsspannung hat das Problem verursacht. Durch Zufall entdeckt.Strombegrenzung(durch anderes Gerät verursacht)......

Danke an eure Hilfen.
3  International / Deutsch / Re: SD Card Problem on: November 30, 2012, 06:01:17 am
Hast du meinen Post (Reply #2) schon umgesetzt? Was waren denn da die Resultate?

Ja alles gemachjt nur da gibt es Probleme mit  der cast von double zu String. und auch wieder der Abbruch
4  International / Deutsch / Re: SD Card Problem on: November 28, 2012, 03:04:05 pm
30 Testversuche:
17x  120kb oder 3819 Zeilen
4x 473kb
restlichen 9x Durcheinander.

Verstehe.
Also " immer nach 120kb oder 3819 Zeilen" heißt soviel wie "meistens, manchmal aber auch anders".

Vielleicht genauer Testaufbau: Arduino Versorgung mittel USB und zum Testen konstante Spannungsquellen an den ADC-Eingängen.
Ja die Testreihe wurde nach dem ersten Post gemacht.

Versorgung durch Netzgerät und sdramps Modul
5  International / Deutsch / Re: SD Card Problem on: November 28, 2012, 01:19:28 pm
Nur habe ich das Problem ,dass die Messung immer nach 120kb oder 3819 Zeilen abbricht

Definiere bitte mal Dein exaktes Verständnis des Begriffs "immer"!

Meint das "immer mit derselben SD-Karte" oder "mit immer anderen SD-Karten"?

Könnte ja auch eine SD-Karte mit defekten Sektoren sein, wenn es "immer" nur mit derselben SD-Karte an derselben Stelle passiert.

1 Sd karte Class4 Kingston


UPDATE:

2te Sd Karte probiert Auch wieder Class 4 Hersteller Samsung.

30 Testversuche:
17x  120kb oder 3819 Zeilen
4x 473kb
restlichen 9x Durcheinander.

Vielleicht genauer Testaufbau: Arduino Versorgung mittel USB und zum Testen konstante Spannungsquellen an den ADC-Eingängen.
6  International / Deutsch / SD Card Problem on: November 28, 2012, 08:09:55 am
Hallo,
Es geht um einen einfachen SD Datelogger. Nur habe ich das Problem ,dass die Messung immer nach 120kb oder 3819 Zeilen abbricht bzw. nicht mehr Datenloggt.
In der Suchfunze habe ich nichts gefunden. Bzw. Memory Overflow ??

Danke schon mal im Voraus

Code:
#include <SD.h>

#define chipSelect  53
#define led 13
#define Temperatur A14
#define Input1  A2
#define Input2 A3
#define Input3 A4

char charTmp[10]="",charWert1[10]="",charWert2[10]="",charWert3[10]="",charWert4[10]="";
double constant=0;
const double ref = 0.004888,Tempkoeff=50.400,V=0.3333;  
unsigned long timeStart;

File dataFile;

void setup()
{
   // Serial.begin(115200);
    constant=ref*Tempkoeff*V;
    pinMode(led,OUTPUT);
    digitalWrite(led,LOW);
    SDInit();
    if(!SD.begin(chipSelect)) digitalWrite(led,HIGH);
    timeStart=millis();
 
 }

void loop()
{  
//if (millis()-timeStart>3000){
 // timeStart=millis();
double IstTemp=analogRead(Temperatur)*constant-19.3;  
 Logging(millis()*0.001,IstTemp,analogRead(Input1)*ref,analogRead(Input2)*ref,analogRead(Input3)*ref);
}




//}
  
 void Logging (unsigned long time,double tmp,double Wert1,double Wert2,double Wert3){
 char dataString[100] = "";
 dtostrf(tmp,6,3,charTmp);
 dtostrf(Wert1,6,3,charWert1);
 dtostrf(Wert2,6,3,charWert2);
 dtostrf(Wert3,6,3,charWert3);

sprintf(dataString,"%lu:%s:%s:%s:%s",time,charTmp,charWert1,charWert2,charWert3);    
  dataFile = SD.open("Test.txt", FILE_WRITE);

 if (dataFile) {
 dataFile.println(dataString);
 dataFile.close();
  //Serial.println(dataString);
  }  

      }

void SDInit(){
   pinMode(chipSelect, OUTPUT);
    pinMode(48, OUTPUT);  
    digitalWrite(48,HIGH);
}

Pages: [1]