Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • main
  • latest
2 results

Target

Select target project
  • Lennard/messdatensilo
1 result
Select Git revision
  • main
  • latest
2 results
Show changes

Commits on Source 2

DataLogger: DataLogger:
backupCount: 70 # number of datalogs to keep backupCount: 350 # number of datalogs to keep
levels: # log level for outputting to file and to stdout respectivly levels: # log level for outputting to file and to stdout respectivly
- INFO - INFO
- WARNING - WARNING
......
...@@ -181,7 +181,7 @@ def main(config: Any) -> None: ...@@ -181,7 +181,7 @@ def main(config: Any) -> None:
if time.time() - last_write > delta_time: if time.time() - last_write > delta_time:
# write data # write data
data_logger.info(",".join([f"{(value/n) * factors[i] - offsets[i]:.5f}" for i, value in enumerate(data)]) + f",{n}") data_logger.info(",".join([f"{(value/n) * factors[i] + offsets[i]:.5f}" for i, value in enumerate(data)]) + f",{n}")
logger.debug("Wrote data") logger.debug("Wrote data")
n = 0 n = 0
data = np.zeros((8,)) data = np.zeros((8,))
......
#include <HX711_ADC.h> #include <HX711_ADC.h>
HX711_ADC LoadCell(2, 3); HX711_ADC loadCell[] = {HX711_ADC(2, 3), HX711_ADC(6, 7), HX711_ADC(8, 9), HX711_ADC(12, 13)};
HX711_ADC LoadCell2(6, 7); float measurement[4];
HX711_ADC LoadCell3(8, 9); float offset[4];
HX711_ADC LoadCell4(12, 13);
int count = 1000;
static float Offset = 0;
static float Offset2 = 0;
static float Offset3 = 0;
static float Offset4 = 0;
int anzahl = 1000;
int caltime = 2;
float calFac = 2500;
float calFac2 = 2500;
float calFac3 = 2500;
float calFac4 = 2500;
long stabilisation = 2000; long stabilisation = 2000;
boolean t_are = true;
float messwertges;
float messwertges2;
float messwertges3;
float messwertges4;
float messwert;
float messwert2;
float messwert3;
float messwert4;
void regelbetrieb(HX711_ADC zelle, HX711_ADC zelle2, HX711_ADC zelle3, HX711_ADC zelle4) {
float messwertAlt = messwert;
float messwertAlt2 = messwert2;
float messwertAlt3 = messwert3;
float messwertAlt4 = messwert4;
messwert = 0;
messwert2 = 0;
messwert3 = 0;
messwert4 = 0;
for (int i = 1; i <= anzahl; i++) {
zelle.update();
zelle2.update();
zelle3.update();
zelle4.update();
messwert = messwert + (getDaten(Offset, zelle));
messwert2 = messwert2 + (getDaten(Offset2, zelle2));
messwert3 = messwert3 + (getDaten(Offset3, zelle3));
messwert4 = messwert4 + (getDaten(Offset4, zelle4));
delay(1); void readData() {
for (int i = 0; i < 4; i++) {
measurements[i] = 0;
} }
messwert = messwert / anzahl; for (int i = 0; i < count; i++) {
messwert2 = messwert2 / anzahl; for (int j = 0; j < 4; j++) {
messwert3 = messwert3 / anzahl; loadCells[j].update();
messwert4 = messwert4 / anzahl;
messwert = messwert / calFac;
messwert2 = messwert2 / calFac2;
messwert3 = messwert3 / calFac3;
messwert4 = messwert4 / calFac4;
} }
float getDaten(float offset, HX711_ADC zelle) { for (int j = 0; j < 4; j++) {
float Offsetnew = offset; measurement[j] += loadCell[j].getRareData() - offset[j];
}
float data;
data = (float)zelle.getRareData() - Offsetnew; delay(1);
}
return data; for (int i = 0; i < 4; i++) {
measurements[i] /= count * 2500;
}
} }
void writeInData() { void loop() {
if (Serial.available()) { if (Serial.available()) {
Serial.read(); Serial.read();
delay(20); delay(20);
Serial.println(1); Serial.println(1); // for identification
regelbetrieb(LoadCell, LoadCell2, LoadCell3, LoadCell4);
Serial.println(messwert);
delay(20);
Serial.println(messwert2); readData();
delay(20);
Serial.println(messwert3); for (int i = 0; i < 4; i++) {
Serial.println(measurements[i]);
delay(20); delay(20);
Serial.println(messwert4);
} }
} }
float epsilonumgebung(float hierMesswert, float hierMesswertAlt) {
if (hierMesswert < hierMesswertAlt + 0.25 && hierMesswert > hierMesswertAlt - 0.25) {
hierMesswert = hierMesswertAlt;
}
return hierMesswert;
} }
void setup() { void setup() {
Serial.begin(9600); Serial.begin(9600);
LoadCell.begin(); for (int i = 0; i < 4; i++) {
LoadCell2.begin(); loadCell[i].begin();
LoadCell3.begin(); }
LoadCell4.begin();
LoadCell.start(stabilisation, t_are);
LoadCell2.start(stabilisation, t_are);
LoadCell3.start(stabilisation, t_are);
LoadCell4.start(stabilisation, t_are);
LoadCell.update(); for (int i = 0; i < 4; i++) {
LoadCell2.update(); loadCell[i].start(stabilisation, true);
LoadCell3.update(); }
LoadCell4.update();
Offset = getDaten(0, LoadCell); readData();
Offset2 = getDaten(0, LoadCell2);
Offset3 = getDaten(0, LoadCell3);
Offset4 = getDaten(0, LoadCell4);
delay(500); for (int i = 0; i < 4; i++) {
offset[i] = measurement[i];
} }
void loop() { delay(500);
writeInData();
} }
\ No newline at end of file