Pages: [1]   Go Down
Author Topic: Sharp Sensoren bauen mist!  (Read 719 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 2
Posts: 77
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
an meinem Roboter habe ich jetzt zwei GP2Y0A21YK0F Sharp Sensoren.
Sie sind nebeneinander im Abstand von 7 cm Senkrecht (Beide Linsen übereinander)
vorne anbgeracht.

Wieso bekomme ich manchmal absolute Fehlmessungen?
Die Sensoren melden machmal oder manchmal sogar
ziemlich oft (fast permanent) einen geringen Abstand obwohl sich nichts
in der Nähe befindet. Ich bin langsam völlig überfragt...


Hier der Code

Code:
if (cntMode == 2)
  {
    optSens1 = analogRead(2);

    if (optSens1 > 400)
    {
      tone(signal,1000,50);
      block = 1;
      blocked(1);
    }

    optSens2 = analogRead(7);

    if (optSens2 > 400)
    {
      tone(signal,1000,50);
      block = 1;
      blocked(2);
    }

    if (block == 0)
      forward(0, 40);

  }
« Last Edit: July 13, 2012, 12:30:22 pm by MindCode » Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Werden die Sensoren über einen eigenen Spannungsregler mit Strom versorgt, z.B. L7805, oder über den Arduino ?
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Jr. Member
**
Karma: 2
Posts: 77
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Über Arduino, beide an +5v

EDIT: Auch ein einzelner Sharp, macht manchmal fehlmessungen,
total willkürlich!
« Last Edit: July 13, 2012, 01:16:37 pm by MindCode » Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Versorge mal beide Sensoren über eine separate 5V Stromversorgung, überprüfe dann ob sich was geändert hat !

Welchen Arduino benutzt Du ?
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Jr. Member
**
Karma: 2
Posts: 77
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Einen Arduino Mega 2560.
Werde das mit der externen Spannungsversorgung mal eben probieren!
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich benutze für meine Sensoren immer diese Routine:
Code:
int IRpin = 1; // IR-Signalleitung des GP2Y0A21YK0F an ANALOG 1

void setup() {
  pinMode (IRpin,INPUT);                         
  Serial.begin(9600);
  delay(100); // Warten auf Infrarotsensor bis bereit !
}

void loop() {
  float x = analogRead(IRpin);
  float distance = 5100/(x-30);
  if (distance<=80)
  {
  Serial.print(distance);
  Serial.print("cm");
  }
  else Serial.print("Ausserhalb der Reichweite !");
  Serial.println();
  delay(250); // Messungen dürfen nur im Abstand von 50 ms erfolgen !
}
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Jr. Member
**
Karma: 2
Posts: 77
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Kann es sein dass die Shaprs GENAU 5v brauchen, damit sie überhaupt funktionieren?

Allerdings ist mir jetzt etwas aufgefallen da ich gerade per PC die Werte mitlogge:

- Wenn etwas Relativ nah ist, c.a bis zu 1 Meter, bleiben die Werte im berreich von 100-200
- Wenn aber etwas viel weiter weg ist... ab 2 Meter dann steigen die Werte plötzlich
auf über 300 manchmal in gewissen Poisitonen sogar dauerhaft über 400!

Wie kann das alles sein?
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bei mehr als 80cm liefert der Sensor keine vernüftigen Werte, deshalb:
Code:
[  if (distance<=80)
  {
  Serial.print(distance);
  Serial.print("cm");
  }
  else Serial.print("Ausserhalb der Reichweite !");
/code]
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Offline Offline
Jr. Member
**
Karma: 2
Posts: 77
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oh man -.-
Wer viel misst, misst viel mist!
Danke!
« Last Edit: July 13, 2012, 04:01:34 pm by MindCode » Logged

Offline Offline
Jr. Member
**
Karma: 2
Posts: 77
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So funktioniert das!
Ausserdem hätte man einfach auch ins Datenblatt sehen müssen.
Dort wird ein 10uF Kondensator empfohlen. Das hat
gleich die Fehlmessungen drastisch Reduziert!



Man beachte am Schluss das Rad smiley-grin
Die beste Programmierung bringt nichts,
wenn die Mechanik versagt, haha!
« Last Edit: July 13, 2012, 07:34:29 pm by MindCode » Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bravo !
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Pages: [1]   Go Up
Jump to: