Beginner: Aansturen electronische kilometerteller

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 4
Geregistreerd: 12 Okt 2015, 22:26

Beginner: Aansturen electronische kilometerteller

Berichtdoor ScareMercy » 12 Okt 2015, 23:06

Hallo,

Voor mijn Mercedes W124 heb ik een elektronische kilometerteller gekocht. Origineel is deze voorzien van een mechanische teller, maar omdat ik een andere motor en een ander differentieel heb geplaatst geeft deze teller een grote afwijking. Vandaar de ombouw naar een elektronische teller welke ik zelf in zou moeten kunnen stellen.

Deze teller heeft 3 aansluitingen, de massa, v+ (12v) en een aansluiting voor de sensor.

Ik heb geprobeerd deze via PWM aan te sturen door middel van het standaard fade programma voor een led, maar er gebeurd niet veel meer als een springende beweging.

Weet iemand waar ik moet gaan zoeken om de teller een vaste waarde aan te laten houden? Zodat ik uiteindelijk mijn huidige snelheid weer kan geven aan de hand van een ABS sensor.

Hieronder het huidige programma:

Code: Alles selecteren
/*
 Fading

 This example shows how to fade an LED using the analogWrite() function.

 The circuit:
 * LED attached from digital pin 9 to ground.

 Created 1 Nov 2008
 By David A. Mellis
 modified 30 Aug 2011
 By Tom Igoe

 http://arduino.cc/en/Tutorial/Fading

 This example code is in the public domain.

 */


int ledPin = 9;    // LED connected to digital pin 9

void setup() {
  // nothing happens in setup
}

void loop() {
  // fade in from min to max in increments of 5 points:
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
  }

  // fade out from max to min in increments of 5 points:
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
  }
}



En een link naar een filmpje van het resultaat: https://youtu.be/-r7nsuyTDN0

Advertisement

Berichten: 4
Geregistreerd: 12 Okt 2015, 22:26

Re: Beginner: Aansturen electronische kilometerteller

Berichtdoor ScareMercy » 13 Okt 2015, 17:55

Ik ben weer iets verder gekomen.

Met behulp van de tone functie heb ik een beter verloop gekregen en kan ik de teller nu ook laten staan op een vast punt. Helaas reageert de teller alleen binnen het bereik 30hz en 181hz. Eronder of erboven geeft geen resultaat. Hierdoor slaat de meter alleen uit van ongeveer 30 tot ongeveer 140 km/h.

Heeft er iemand een advies over hoe ik het verder aan kan pakken?

Resultaat tot nu: https://youtu.be/ADA43aocZEc

Code: Alles selecteren
int ledPin = 9;    // LED connected to digital pin 9

void setup() {
  // nothing happens in setup
}

void loop() {
  // fade in from min to max in increments of 5 points:
  for (int fadeValue = 30 ; fadeValue <= 181; fadeValue += 1) {
    // sets the value (range from 0 to 255):
    tone(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(10);
  }

  // fade out from max to min in increments of 5 points:
  for (int fadeValue = 181 ; fadeValue >= 30; fadeValue -= 1) {
    // sets the value (range from 0 to 255):
    tone(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(10);
  }
}


Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Beginner: Aansturen electronische kilometerteller

Berichtdoor shooter » 13 Okt 2015, 21:55

als je een scope hebt op de sensor aansluitwn, want ik heb geen idee wat er uitkomt, dat kan een puls , een pwm analoog of iets ingewikkelts zijn.
en moet het 12 of 5 volt zijn.
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 12 Okt 2015, 22:26

Re: Beginner: Aansturen electronische kilometerteller

Berichtdoor ScareMercy » 14 Okt 2015, 21:08

Bedankt voor je reactie.

Helaas heb ik de originele sensor niet. Het signaal moet 5 volt zijn, en is eigenlijk een sinus. Maar met een square wave moet het aansturen ook lukken. Wel heb ik van iemand wie het voor elkaar heeft gekregen zijn stuk code gekregen.
Helaas kan ik het niet compileren, en gaat mijn kennis van arduino niet ver genoeg om dit stuk te begrijpen.

Hier het stuk code dat ik heb gekregen.

Code: Alles selecteren
 int Hz = 0;
long HzLong = 0;
int prevHz;
int Speed = 100;

void setup() {
}

void loop() {
HzLong = (Speed * 20) / 10;
Hz = HzLong;
if( Hz < 2 ){ Hz = 2; }
if( Hz > 350 ) { Hz = 350;}
 
      if ( abs (Hz - prevHz) > 1 )
        {
        myTone (Hz);
        }

}






void myTone (unsigned int wantedHz)
  {
  // allow for prescaler of 64, and it takes two toggles for one "cycle"
  unsigned int ocr = F_CPU / wantedHz / 64 / 2;
 
  // stop timer
  TCCR5A = 0;
  TCCR5B = 0;
 
  // reset counter
  TCNT5H = 0;
  TCNT5L = 0;
 
  // what to count up to
  OCR5AH = highByte (ocr);
}



En hier een stuk over het testen van de eigenlijke sensor en kilometerteller:

Testwaarden.PNG
Testwaarden.PNG (58.4 KiB) 4691 keer bekeken

Berichten: 4
Geregistreerd: 12 Okt 2015, 22:26

Re: Beginner: Aansturen electronische kilometerteller

Berichtdoor ScareMercy » 16 Mrt 2016, 13:35

Hallo,

Ondertussen ben ik weer iets wijzer geworden.
De sensor is een VR-sensor. deze leest de snelheid af door middel van 4 nokken in mijn versnellingsbak.
Ik ben dus op zoek naar een manier om een signaal van een VR-sensor met mijn arduino te reproduceren. Nu ben ik er al achter gekomen dat een square wave niet helpt omdat de timing op een gegeven moment niet meer klopt. Wie kan mij hier verder mee helpen? Heb er helaas weinig kaas van gegeten.

Groeten,
Maikel

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Beginner: Aansturen electronische kilometerteller

Berichtdoor shooter » 16 Mrt 2016, 21:09

Tja, is niet zo makkelijk als het lijkt hoor.
Zul je toch vrees ik even een scoop op moeten zetten om het signaal van de sensor te meten.
Hoe werkt een VR sensor:
er wordt een sinus van een paar kHz naar de sensor gestuurd.
Hierdoor wordt het spoeltje en de magneet in de sensor steeds wat magnetisch
als er een stukje ijzer in de buurt komt dan gaat er wat meer stroom lopen, omdat het geheel wat meer te magnetiseren is.
die toename wordt gemeten in de meter(en niet in de sensor)

Omdat je dus een verhouding nodig hebt zul je niet ontkomen aan een soort omzetter. (of het moet toevallig met een nokje erbij of eraf kunnen.
In de meter zit er natuurlijk wel een, maar ik denk niet dat je die kunt instellen.

Een oplossing is wel mogelijk, maar vraagt wel een behoorlijk stuk elektronica, want je moet dan zelf een meter bouwen, dan omzetten naar de juiste frequentie en dat dan weer geschikt maken voor de ingang van de meter zelf. dat vraagt nogal veel.

Vraag eerst eens aan de garage of de meter in te stellen is, wellicht kan dat want als je een andere bandmaat monteert verandert dit ook.

Een andere oplossing is door een andere opnemer op de bak te monteren, die je wel eenvoudig kunt detecteren, en dan als uitgang een DC motortje waar je dan de originele sensor een plaatje laat zien.
paul deelen
shooter@home.nl

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 47 gasten