data logning af tryk (Læst 11051x)

Offline steffenpoulsen

  • Modstanden
  • **
  • Indlæg: 18
  • Antal brugbare Indlæg: 0
    • Vis profil
data logning af tryk
« Dato: Maj 22, 2016, 17:35:07 »
Hej,  jeg mangler noget jeg kan bruge til at logge tryk med,  ( 6-7 bar  og ca i 2 min. )  nogen der har en ide til hvad man kan bygge ?  er helt grøn i elektronik, men prøver gerne at bygge noget ;D 

 

Offline microtec

  • Jordet Basic
  • **
  • Indlæg: 157
  • Antal brugbare Indlæg: 27
    • Vis profil
    • PicoScope PC-baserede oscilloskoper
Sv: data logning af tryk
« Svar #1 Dato: Maj 22, 2016, 17:58:32 »
Det kan løses med en standard tryktransmitter med 4-20mA ouput og denne lille Lascar EL-USB-4 datalogger:
http://www.microtec.dk/contents/da/p86_EL-USB-4_Current_Data_Logger.html
Dansk importør af PicoScope PC-baserede oscilloskoper og Lascar dataloggere.
http://www.microtec.dk

 

Offline steffenpoulsen

  • Modstanden
  • **
  • Indlæg: 18
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: data logning af tryk
« Svar #2 Dato: Maj 22, 2016, 18:04:54 »
okay, det var en mulighed,   men ville gerne have noget til 12v eller 9v batteri man kan tænde og slukke på og så sætte computeren til bagefter og se data.

 

Offline steffenpoulsen

  • Modstanden
  • **
  • Indlæg: 18
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: data logning af tryk
« Svar #3 Dato: Maj 22, 2016, 18:07:19 »
evt noget der logger på et sd kort,

 

Offline dani8303

  • Spændingsdeler
  • ****
  • Indlæg: 63
  • Antal brugbare Indlæg: 9
  • ESP8266, Linux server, PHP, JS, så spiller det.
    • Vis profil
    • Egen side til styring, energi mm. tag et kig :-)
Sv: data logning af tryk
« Svar #4 Dato: Maj 22, 2016, 18:19:41 »
Du kunne eventuelt bruge sådan en dims: http://www.ebay.com/itm/0-5-4-5-VDC-0-1-2-MPa-Pressure-Transducer-Sensor-Oil-Fuel-Diesel-Gas-Water-Air-/391182286568?hash=item5b1447fee8:g:XdoAAOSwHnFVi29h&vxp=mtr
Den kan klare tryk på op til 12bar. Den bruger 5volt, og giver et analogt output på 0.5 til 4.5volt. Udgangen kunne du så tilslutte til en af de 6 analoge pins på arduino uno. Arduinoen kunne så logge dataende til et SD-kort.

 

Offline steffenpoulsen

  • Modstanden
  • **
  • Indlæg: 18
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: data logning af tryk
« Svar #5 Dato: Maj 22, 2016, 18:55:48 »
okay,  det kunne jeg godt bruge,   er der en der kan hjælpe med hvad  jeg skal købe ? er helt grøn i det her, men det skal prøves  :D  hvis det er muligt vil jeg gerne kunne logge 2 x tryk, 

 

Offline dani8303

  • Spændingsdeler
  • ****
  • Indlæg: 63
  • Antal brugbare Indlæg: 9
  • ESP8266, Linux server, PHP, JS, så spiller det.
    • Vis profil
    • Egen side til styring, energi mm. tag et kig :-)
Sv: data logning af tryk
« Svar #6 Dato: Maj 22, 2016, 19:07:15 »
Du kan let koble to af disse sensorer på, da arduionen har 6 analoge indgange. Hvor meget udstyr har du? Vil du lave det på et breadborad, hulprint eller hvad tænker du?

 

Offline dani8303

  • Spændingsdeler
  • ****
  • Indlæg: 63
  • Antal brugbare Indlæg: 9
  • ESP8266, Linux server, PHP, JS, så spiller det.
    • Vis profil
    • Egen side til styring, energi mm. tag et kig :-)
Sv: data logning af tryk
« Svar #7 Dato: Maj 22, 2016, 19:30:29 »
Du skulle kunne nøjes med det her: http://www.ebay.com/cln/danne2169-azace0ay/def/301294419014. Husk hvis du køber 2 af disse sensorer, så skal du ikke købe dem samtidige. Vent en dag eller 2 med at købe stk nummer 2. Herved kommer du under de 80kr., hvorved du slipper for importgebyr mm.

 

Offline steffenpoulsen

  • Modstanden
  • **
  • Indlæg: 18
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: data logning af tryk
« Svar #8 Dato: Maj 22, 2016, 20:20:00 »
tusind tak, der er vel alt jeg skal bruge,?  men har lige 2 spørgsmål,  hvordan skal man starte logningen, programmere man den bare til at starte så snart den får strøm?   og  hvad for noget strøm skal den have?  kan den køre på 12-14v  ( batteri spænding - ladespændning )
« Senest Redigeret: Maj 22, 2016, 20:49:24 af steffenpoulsen »

 

Offline dani8303

  • Spændingsdeler
  • ****
  • Indlæg: 63
  • Antal brugbare Indlæg: 9
  • ESP8266, Linux server, PHP, JS, så spiller det.
    • Vis profil
    • Egen side til styring, energi mm. tag et kig :-)
Sv: data logning af tryk
« Svar #9 Dato: Maj 23, 2016, 00:50:24 »
Der skulle være alt du skulle bruge for at komme i gang  ;).

Du skal selvfølgelig programmere den. Det skal du gøre gennem arduino ide(link til download:https://www.arduino.cc/en/Main/Software).  Under Fil-->eksempler-->SD ligger der et eksempel der hedder Datalogger. Denne logger for 3 analoge indgang(A0, A1 og A2), hvilket dog let kan ændres. Dette eksempel starter med at logge næsten samtidigt med at der tilsluttes strøm. Den logger det så bare til en .txt fil på SD-kortet.

Du kan give arduino'en strøm på to måder:
- Gennem usb hvilket er lettest, dog kun 5v!
- Gennem det runde stik. Her kan der tages op til 20v, hvilket ikke kan anbefales. 12V skulle dog fungere fint  :). Husk at det midterste ben i det runde stik er til positiv, mens det ydre er negativt/grund.

 

Offline steffenpoulsen

  • Modstanden
  • **
  • Indlæg: 18
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: data logning af tryk
« Svar #10 Dato: Maj 23, 2016, 10:12:54 »
tusind tak for hjælpen, så skal der nørdes.  :D

 

Offline steffenpoulsen

  • Modstanden
  • **
  • Indlæg: 18
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: data logning af tryk
« Svar #11 Dato: Maj 23, 2016, 13:45:01 »
Bonus spørgsmål,  hvor mange trykføler kan jeg bygge på  ?  Der kan vel sættes 6 til ?

 

Offline dani8303

  • Spændingsdeler
  • ****
  • Indlæg: 63
  • Antal brugbare Indlæg: 9
  • ESP8266, Linux server, PHP, JS, så spiller det.
    • Vis profil
    • Egen side til styring, energi mm. tag et kig :-)
Sv: data logning af tryk
« Svar #12 Dato: Maj 23, 2016, 15:25:33 »
Der kan kobles 6 trykfølere til, da der er 6 analoge indgange på arduino uno'en.  ;D

 

Offline steffenpoulsen

  • Modstanden
  • **
  • Indlæg: 18
  • Antal brugbare Indlæg: 0
    • Vis profil
Sv: data logning af tryk
« Svar #13 Dato: Juni 14, 2016, 20:13:44 »
Nu har jeg brugt mange lange aftner (første gang jeg leger med arduino) og har fået det til at logge nogle data.  Men hvordan får jeg det til nogle data jeg kan bruge ?   har vedhæftet et billede af nogle de data jeg får, 
Har 100 ved atmosfærisk tryk er det = 1 bar eller ?   
Kan få den ned på 60 ved at suge i den ene føler.
https://www.dropbox.com/s/z6buad47na2vvw9/datalogger.jpg?dl=0

 

Offline dani8303

  • Spændingsdeler
  • ****
  • Indlæg: 63
  • Antal brugbare Indlæg: 9
  • ESP8266, Linux server, PHP, JS, så spiller det.
    • Vis profil
    • Egen side til styring, energi mm. tag et kig :-)
Sv: data logning af tryk
« Svar #14 Dato: Juni 15, 2016, 00:10:04 »
Den giver 100(102 ifølge mine beregninger  ;)) fordi der er 0,5 volt på indgangen, hvilket ifølge specifikationerne betyder ingen tryk  ;D. Du skal dog bruge lidt ekstra kode til at konventer fra int fra analogRead() til bar. Jeg skrev lidt kode, som du muligvis kan bruge til dette. Jeg ændrede også så den læser fra alle 6 analoge porte, hvilket du skrev du gerne ville.
Kode:
/*
  SD card datalogger - Ændret til at passe med tryksensor

 This example shows how to log data from three analog sensors
 to an SD card using the SD library.

 The circuit:
 * analog sensors on analog ins 0, 1, and 2
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 */

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

const int chipSelect = 4;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.print("Initializing SD card...");

  // 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() {
  // make a string for assembling the data to log:
  String dataString = "";

  // Læser data fra analog 0 til 5
  for (int analogPin = 0; analogPin < 7; analogPin++) {
    int sensor = analogRead(analogPin);//Her kommer dataende fra sensoren   
    // På Ebay siden står det OUTPUTTET fra sensoren er fra 0.5 til 4.5 volt, mens tryk intervallet er
    // 0 til 1.2Mpa. 1 Mpa er 10 bar, hvorved 1.2 Mpa må være 12 bar. 0.5Volt er så 0bar, mens 4.5 Volt
    // må være 12 bar. analogRead() giver integer på 0 ved 0 volt. Den giver tilgængæld en int på 1023,
    // hvis der er 5 volt.

    // Hvad giver analogRead(), så når der er 0.5 volt. Lad os regne os frem til dette.
    // 1023/5(volt maks)*0.5(volt givet) = 102
    // Denne er værdi er altså den samme som den du logger, når de ikke laver over undertruk på sensoren.
    // Det giver altså ganske god mening de resultetater du har fået. Lad os bare trække denne værdi fra inddata
    sensor = sensor - 102;
    // Nu er dataende centerede om nul. Nu mangler de bare at blive konverterede til bar.
    // Hvad data må variablen "sensor" give når der er 12bar?
    // Der vil altså være 4.5 volt. Nu ønskes det at finde den værdi som analogRead() giver
    // 1023/5(volt maks)*4.5(volt givet) = 920.7
    // Der skal dog lige trækkes 102 fra dette
    // Følgende kan nu opstilles: 818.7 * x(ukendt) = 12(bar)
    // Så byttes der lige lidt rundt, og løsningen findes
    // 12/818.7 = 0,014657384
    //Denne værdi kan nu bruges til at omregne til bar
    double bar = sensor * 0.014657384;
   
    dataString += String(bar);
    if (analogPin < 6) {
      dataString += ",";
    }
  }

  // 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.println(dataString);
    dataFile.close();
    // print to the serial port too:
    Serial.println("Skrevet til log: \""+dataString+"\"");
  }
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening datalog.txt");
  }
}