Go Down

Topic: Beginner die datalogger wil op zijn circuitmotorfiets (Read 3 times) previous topic - next topic

BenjaminDG

Goedeavond

Mijn naam is Benjamin De Graef en werk graag met motorfietsen

Ik ben momenteel bezig met een circuitmotorfiets en heb verschillende toestellen voor bepaalde waardes te kunnen meten welke zijn:

Lambda sonde: dit is om te bepalen of het mengsel goed is (niet te arm of te rijk)
TPS: 'throttlepositionsensor' of gasstandpositiesensor zodat ik de gasstand (hoeveel gas ik geef) kan aflezen en vergelijking met lambda waarde/toerentallen voor afstellen
Regelbareontsteking: vooronsteking en curve zijn regelbaar
Zowel toerenteller en snelheidsmeter zullen digitaal zijn
Pingelsensor: om detoneren (ongecontroleerd verbranden van het mengsel) te detecteren
Temperatuurmeter voor koelwater en olie
Drukmeter voor olie

Nu kan voor lambda sonde/tps en pingelsensor wel aparte meters gebruiken maar dat wordt nogal omslachtig
Ontsteking kan ik programmeren maar niet tijdens het rijden op de motorfiets

Is het mogelijk om met arduino deze toestellen te kunnen data loggen zodat ik achter een testrit alle waardes kan aflezen en vergelijken met elkaar?

Wat zijn de voorwaarden om een bepaalt apparaat kunnen data loggen?

Hoe kun je alles mooi in een grafiek krijgen (op youtube zag ik een filmpje waar iemand dat deed in excell maar kan dat ook anders)?

Groeten,
Benjamin


Jantje

Dag Benjamin
Welkom op het Nederlandstalige gedeelte van het Arduino forum.


Is het mogelijk om met arduino deze toestellen te kunnen data loggen zodat ik achter een testrit alle waardes kan aflezen en vergelijken met elkaar?

Deze specifieke toestellen weet ik niet maar met een toestel dat je kan aansluiten op de arduino kan dat zeker wel.


Wat zijn de voorwaarden om een bepaalt apparaat kunnen data loggen?

Er zijn eigenlijk 2 voorwaarden.
1) Je moet de meetwaarden van je toestel naar de arduino kunnen doorsturen. Met andere woorden je meter en de arduino moeten hetzelfde protocol kunnen spreken. Het ene protocol is al makkelijker dan het andere.
2) De Arduino moet sneller kunnen werken dan de meter want anders gaan waarden verloren. Het protocol kan de snelheid van de arduino beperken. Bijvoorbeeld is analog read trager dan digital read.


Hoe kun je alles mooi in een grafiek krijgen (op youtube zag ik een filmpje waar iemand dat deed in excell maar kan dat ook anders)?

Omdat je toch wel wat wilt rijden zal je je data in een externe opslag moeten steken. De meest voor de hand liggende oplossing is een sd kaartje rechtstreeks op je arduino. Dit betekent dat je een bestand krijgt. De inhoud en vorm van dat bestand bepal je zelf. Eens je een bestand hebt is de visualisatie met verschillende tools mogelijk. Sommige zijn freeware en andere te betalen.
Ik persoonlijk gebruik excell.
Veel plezier met je project.
Met vriendelijke groet
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

BenjaminDG

#2
Dec 29, 2012, 09:30 pm Last Edit: Dec 29, 2012, 09:34 pm by BenjaminDG Reason: 1
Staan de verschillende codo's en programmeer zinnen ergens in een bestand want het aansluiten lijkt mij niet zo moeilijk.

Het is vooral moeilijk lijkt me om al die signalen van de toestellen goed te kunnen omzetten naar de SD kaart voor weergave in excell (met de juiste schaal).

Maar kan elk 12V digitaal signaal gebruikt zodat arduino het kan data loggen op de SD kaart?

Ik dacht ook te lezen dat het 12V signaal omgezet moest worden naar 5V?

Ik heb een voorbeeld gevonden in het arduino bestand van een datalogger met SD kaart.

/*
  SD card datalogger

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

created  24 Nov 2010
modified 9 Apr 2012
by Tom Igoe

This example code is in the public domain.
   
*/

#include <SD.h>

// 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 = 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 Leonardo only
  }


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

  // read three sensors and append to the string:
  for (int analogPin = 0; analogPin < 3; analogPin++) {
    int sensor = analogRead(analogPin);
    dataString += String(sensor);
    if (analogPin < 2) {
      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(dataString);
  } 
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening datalog.txt");
  }
}

Is dat alles dat je nodig hebt om een signaal van bv een sensor te schrijven op de SD kaart, hoe zit het dan met de waardes?

Groeten,
Benjamin

Jantje

Quote
Ik dacht ook te lezen dat het 12V signaal omgezet moest worden naar 5V?

Dat klopt. Ik weet geen enkel protocol op de Arduino dat met meer dan 5Volt om kan.
Voor een enkel lezen spannings-signaal kan je best met een spannings-deler en een analoge pin werken.

Voor de juiste schaal zou ik rekenen op je virtualisatie software. Daar heb je veel meer rekenkracht.
Voor men logging maak ik altijd een csv file. Das makkelijk. In je loop zet je een log commando die dan alle variabelen die je wil loggen op 1 lijn op je sd zet.
omdat SD en serial eigenlijk hetzelfde zijn kan je makkelijk debuggen en testen met de serial monitor. En daar heb ik een 10 kanaals scope voor :-)
Met vriendelijke groet
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

BenjaminDG

Weet je toevallig welke onderdelen van arduino ik juist nodig heb?

Dat proto bord wordt gebruikt voor te testen maar zijn er ook kleinere beschikbaar voor permanente verbindingen?

Welk type borden zou ik moeten gebruiken?

De starterkit ga ik wel al kopen om het programmeer en basis tests onder de knie te krijgen.

Staat er hier ook ergens een uitleg met de betekenis van welke programmeercode?


Go Up