SD datalogger RTC probléma?
SD datalogger RTC probléma?
Hello
Elakadtam a következő témában szeretnék segítséget kérni.
SD logger shield és egy AVR-Duino (uno) 8 168 328.
Arduino 1.0.1
Segítségével szeretnék egy hőmérséklet és fény adatgyűjtőt készíteni 2 db dallas 18b20 érzékelővel és 1 fotoellenállással.
Miután feltöltöm a programot és az USB-n van teljesen jól működik, minden adatot ment a kártyára.
Ezután megpróbálom elemről működtetni ekkor is jó még kb. 1-3 percig majd a normál idő helyett kiírja,hogy:
165 165:165:85. Mindent elolvastam de nem tudtam rájönni mi lehet a baj. Már megpróbáltam szenzorok nélkül csak az időt eltároltatni, de ott is ez a hiba.
Ez a program ami egy ideig jó:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SD.h>
#include <Wire.h>
#include "RTClib.h"
#define ONE_WIRE_BUS 2
RTC_DS1307 RTC;
// On the Ethernet Shield, CS is pin 4. Note that even if it's not
// used as the CS pin, the hardware CS pin (10 on most Arduino boards,
// 53 on the Mega) must be left as an output or the SD library
// functions will not work.
const int chipSelect = 10;
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
long value1 = 1;
void setup(void)
{
Wire.begin();
RTC.begin();
Serial.begin(9600);
Serial.print("Initializing SD card...");
// make sure that the default chip select pin is set to
// output, even if you don't use it:
pinMode(10, OUTPUT);
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
return;
}
Serial.println("card initialized.");
}
void loop(void)
{
DateTime now = RTC.now();
// make a string for assembling the data to log:
String dataString = "";
int sensorValue = analogRead(A1);
// read three sensors and append to the string:
sensors.requestTemperatures();
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// if the file is available, write to it:
if (dataFile) {
dataFile.print(sensors.getTempCByIndex(0));
dataFile.print(" ");
dataFile.print(sensors.getTempCByIndex(1));
dataFile.print(" ");
dataFile.print(sensorValue/3);
dataFile.print(" ");
dataFile.print(now.day(), DEC);
dataFile.print(" ");
dataFile.print(now.hour(), DEC);
dataFile.print(':');
dataFile.print(now.minute(), DEC);
dataFile.print(':');
dataFile.println(now.second(), DEC);
delay(1000);
dataFile.close();
// print to the serial port too:
Serial.println(now.second(), DEC);
}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening datalog.txt");
}
}
Köszönöm:
Pető Á.
Elakadtam a következő témában szeretnék segítséget kérni.
SD logger shield és egy AVR-Duino (uno) 8 168 328.
Arduino 1.0.1
Segítségével szeretnék egy hőmérséklet és fény adatgyűjtőt készíteni 2 db dallas 18b20 érzékelővel és 1 fotoellenállással.
Miután feltöltöm a programot és az USB-n van teljesen jól működik, minden adatot ment a kártyára.
Ezután megpróbálom elemről működtetni ekkor is jó még kb. 1-3 percig majd a normál idő helyett kiírja,hogy:
165 165:165:85. Mindent elolvastam de nem tudtam rájönni mi lehet a baj. Már megpróbáltam szenzorok nélkül csak az időt eltároltatni, de ott is ez a hiba.
Ez a program ami egy ideig jó:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SD.h>
#include <Wire.h>
#include "RTClib.h"
#define ONE_WIRE_BUS 2
RTC_DS1307 RTC;
// On the Ethernet Shield, CS is pin 4. Note that even if it's not
// used as the CS pin, the hardware CS pin (10 on most Arduino boards,
// 53 on the Mega) must be left as an output or the SD library
// functions will not work.
const int chipSelect = 10;
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
long value1 = 1;
void setup(void)
{
Wire.begin();
RTC.begin();
Serial.begin(9600);
Serial.print("Initializing SD card...");
// make sure that the default chip select pin is set to
// output, even if you don't use it:
pinMode(10, OUTPUT);
// see if the card is present and can be initialized:
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
return;
}
Serial.println("card initialized.");
}
void loop(void)
{
DateTime now = RTC.now();
// make a string for assembling the data to log:
String dataString = "";
int sensorValue = analogRead(A1);
// read three sensors and append to the string:
sensors.requestTemperatures();
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// if the file is available, write to it:
if (dataFile) {
dataFile.print(sensors.getTempCByIndex(0));
dataFile.print(" ");
dataFile.print(sensors.getTempCByIndex(1));
dataFile.print(" ");
dataFile.print(sensorValue/3);
dataFile.print(" ");
dataFile.print(now.day(), DEC);
dataFile.print(" ");
dataFile.print(now.hour(), DEC);
dataFile.print(':');
dataFile.print(now.minute(), DEC);
dataFile.print(':');
dataFile.println(now.second(), DEC);
delay(1000);
dataFile.close();
// print to the serial port too:
Serial.println(now.second(), DEC);
}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening datalog.txt");
}
}
Köszönöm:
Pető Á.
Re: SD datalogger RTC probléma?
Az elem milyen feszültségű?
Valószínű, hogy az 5V rendszerfeszültséged lett túl alacsony v. magasabb és az órachipre / mellette supercapra van valami kavar. (Az óraIC battery/supercap feszültsége 2.7...3.6V közt kell legyen, a rendszertápfesz 4.3...5.2V, a külső táp >7.5V)
Valószínű, hogy az 5V rendszerfeszültséged lett túl alacsony v. magasabb és az órachipre / mellette supercapra van valami kavar. (Az óraIC battery/supercap feszültsége 2.7...3.6V közt kell legyen, a rendszertápfesz 4.3...5.2V, a külső táp >7.5V)
Re: SD datalogger RTC probléma?
Köszönöm a választ!
Én idáig mindig egy 9V -os elemről tápláltam.
Most meg fogom próbálni kevesebbel.
üdv
Én idáig mindig egy 9V -os elemről tápláltam.
Most meg fogom próbálni kevesebbel.
üdv
Re: SD datalogger RTC probléma?
A 9V-s elem nem bírja ha nagyon terhelik. A kapocsfeszültsége leesik 5-7 V-ra. A bemeneten levő 7805-s chipen 1.8..2.5V eshet. Így marad a rendszerre már 4V sem:(.
Re: SD datalogger RTC probléma?
Most megpróbáltam 5 darab AA 1.2 V-os akkuval, egy ideig jó volt aztán megint nem.
Az óra IC-n mértem 4.9 V-ot és mégsem működött.
Most tesztelem 5 darab AA 1.5V-os elemmel.
Eddig úgy tűnik ezzel jó.
Most már csak az a kérdés, hogy ezt az adatgyűjtőt hogy lehet hálózattól függetlenül sokáig üzemeltetni.
Van erre valami jó megoldás?
Mivel ezt én a szántóföldön szeretném letelepíteni és 1-2 naponként kiolvasni az értékeket.
Esetleg napelemes töltő rendszer?
köszönöm
Az óra IC-n mértem 4.9 V-ot és mégsem működött.
Most tesztelem 5 darab AA 1.5V-os elemmel.
Eddig úgy tűnik ezzel jó.
Most már csak az a kérdés, hogy ezt az adatgyűjtőt hogy lehet hálózattól függetlenül sokáig üzemeltetni.
Van erre valami jó megoldás?
Mivel ezt én a szántóföldön szeretném letelepíteni és 1-2 naponként kiolvasni az értékeket.
Esetleg napelemes töltő rendszer?
köszönöm
Re: SD datalogger RTC probléma?
Jelentem ez a teszt is rossz eredményt hozott kb. 4 órán át volt működőképes 5 db AA-s duracel elemmel.
Amikor már nem jó az órajel a rendszerfeszültség 4,8 V.
Mit próbáljak még ki?
Ez az áramkör tényleg ilyen sokat fogyaszt?
Köszi!
Amikor már nem jó az órajel a rendszerfeszültség 4,8 V.
Mit próbáljak még ki?
Ez az áramkör tényleg ilyen sokat fogyaszt?
Köszi!
Re: SD datalogger RTC probléma?
A 9V elemes tesztet kipróbáltam.
~400 mAh a töltés benne...
6 óra után dobta be a kulcsot...
Utánamérve: Arduino evett: 25-35mA, SD kártya kb.15-20 mA.
Az SD kártyás panelen az óra IC az, ami háklis a világra. Ennek áttervezése a sok 10 fórum átolvasása + adatlap után a 7végén megtörténik + teszt a 7 végén...
Amint van eredmény, jelentkezem!
~400 mAh a töltés benne...
6 óra után dobta be a kulcsot...
Utánamérve: Arduino evett: 25-35mA, SD kártya kb.15-20 mA.
Az SD kártyás panelen az óra IC az, ami háklis a világra. Ennek áttervezése a sok 10 fórum átolvasása + adatlap után a 7végén megtörténik + teszt a 7 végén...
Amint van eredmény, jelentkezem!
Re: SD datalogger RTC probléma?
A tesztet folytattam.
6 db AA-s új duracell elemmel már 27 orán keresztül bírta, ez után ment el a RTC IC kedve.
Róbert kíváncsian várom az eredményeket?
Köszönettel
6 db AA-s új duracell elemmel már 27 orán keresztül bírta, ez után ment el a RTC IC kedve.
Róbert kíváncsian várom az eredményeket?
Köszönettel
Re: SD datalogger RTC probléma?
Nálam teszt:
- Supercap kirakva az óra mellől és gombelem berak. Most megy kb. 20-22 órája. Remélem még pár napig működik....
Kedden küldöm az áramkört (csütörtökön érkezik postával)....
Ha 1 másodpercenként mintázom, akkor kb. 18 óra alatt 65535 minta esik be.
Egy tippet megér, hogy az I2C buszról esik le vagy pedig a kiolvasása száll el....
- Supercap kirakva az óra mellől és gombelem berak. Most megy kb. 20-22 órája. Remélem még pár napig működik....
Kedden küldöm az áramkört (csütörtökön érkezik postával)....
Ha 1 másodpercenként mintázom, akkor kb. 18 óra alatt 65535 minta esik be.
Egy tippet megér, hogy az I2C buszról esik le vagy pedig a kiolvasása száll el....
