PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sharp 2D120X mit Servo und Bascom



JeyBee
17.10.2008, 20:47
Moin Moin,

Ich brauche (dringend) euere Hilfe. Ich habe heute meinen Sharp 2D120X IR-Sensor erhalten. Ich habe das Ding gleich mal am MyAVR Board erfolgreich getestet.

Nun möchte ich das Ding auf meinen Roboter Schrauben, später soll es als Kollisionsschutz dienen. Es ist auf einem Servo montiert, welches (logischwe weise) sich hin und her bewegt, um den Blickwinkel zu erhöhen. Als ersten test möchte ich, dass wenn sich etwas dem Sensor näher, sich das Servo dreht, sonst soll es still stehen.
Das servo ist am Portb.2 eines ATmega16 und der Sensor habe ich am portA.6 (ADC6) angeschlossen. Jedoch funktioniert garnichts.
Ja, das Servo funktioniert und auch der Sensor wurde mehrmalig überprüft, er kriegt auch seins stabielen 5V.

Hier nun mal mein Code:

$regfile = "m16def.dat"
$crystal = 16000000



Dim W As Word

Config Portb.2 = Output
Config Servos = 1 , Servo1 = Portb.3 , Reload = 10
Config Porta = Output
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Enable Interrupts

Do


W = Getadc(6)
If W > 500 Then
Servo(1) = 50
Wait 1
Servo(1) = 150
Wait 1
End If

Waitms 1
Loop

End

Könnt ihr mir mal bitte helfen?
Danke schon einmal im voraus.

Mfg JeyBee

oberallgeier
17.10.2008, 23:58
... Sharp 2D120X IR-Sensor erhalten... auf einem Servo montiert ... Jedoch funktioniert garnichts. ...Vermutlich wird dieser Sharp-Typ elektrisch ähnlich ausgelegt sein wie der GP2D120. Dessen Störungsneigung (https://www.roboternetz.de/phpBB2/viewtopic.php?t=37624)ist nicht ganz unbekannt. Und die 5V sind meist nur am Voltmeter stabile 5V. Am Oskar nicht immer *gggg*.

Beim Servo könnten Störungen daher kommen, dass die Zuleitung nicht reicht - der kann beim Anfahrstrom schon ziemlichen Energiehunger zeigen. Servo und Sharp sind also schon zwei sprichwörtliche Netzbeschmutzer *gggg*. Andererseits können Sharp und Servo sich auch gut vertragen (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390196#390196) , siehe Strohhalmversion. Dort gibts aber Vorsichtsmassnahmen (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390565#390565) gegen ihre Unarten.

Trotz allem viel Erfolg für Dein Projekt

JeyBee
18.10.2008, 00:39
Wow, besitzt du hier das halbe Forum? *gg*

Zum Servo: Das löüft mit der Hardware, das muss wohl wirklich an der Stromversorgung legen, ich werde morgen mal versuchen, erst das Servo, dann den Sensor einzuschalten.

Zu dem Störsignal: Das ist bei meiner "einfachen" anwendung recht unrelevant. Ob das ding jetzt auf 1mm, oder 1cm genau misst, ist mir zur Zeit egal...

Kannst du mir einen besseren Sensor empfehlen? Einen, wo man nicht noch lange umbauen muss^^


Mfg JeyBee

oberallgeier
18.10.2008, 10:12
Hallo JeyBee,

hatte schon fast ausgeloggt - und hätt Dich beinah vergessen. Na ja, die Sonne ruft mich.


... das halbe Forum? ...Also das waren jetzt mal grad drei Links, oder?


... muss wohl wirklich an der Stromversorgung legen ...Das Problem ist weniger, dass Servo und Sharp nicht funktionieren, sondern dass sie die restliche Stromversorgung stören. Der Sharp zieht mit seiner LED 230 mA (zumindest mein GP2D120 - laut Datenblatt). Das tut er zwar nur kurzzeitig, jeweils 64µs lang, aber mit 1kHz. Und dieser Strombedarf kann mit Kondensatoren abgepuffert werden. Auch der Servo zieht immer wieder, selbst bei "Stillstand" - da regelt er manchmal ein bisschen hin und her.


... Zu dem Störsignal: Das ist bei meiner "einfachen" anwendung recht unrelevant. Ob das ding jetzt auf 1mm, oder 1cm genau misst, ist mir zur Zeit egal ...Wie gesagt, die Störung kann Deine Versorgung stören - und damit Deine restliche Schaltung.


... Kannst du mir einen besseren Sensor empfehlen? Einen, wo man nicht noch lange umbauen muss ...Der Sharp ist doch prima. Du musst eben nur mit den Störungen fertig werden.

JeyBee
18.10.2008, 10:40
Hallo Oberallgeier,

Aber ich hab mich hier im Forum schon oft rumgetrieben, du bist echt Guru für alles^^

Also das Problen, dass die Schlatung nicht funktioniert, hat sich jetzt gelöst. Ich habe einfach den Stecker des Sharp's verkehrt herum aufgesteckt.....Ich I*d*i*o*t...(Wieso wird das Wort zensiert)
Ich habe auf meiner Platine nämlich solche drei Poligen Stiftleisten drauf, wo ich Servos, Sensoren etc. anstecken kann, über einen DIP-Schalter kan ich übrigens zwischen 5V oder 12V hin und her schalten, also Motoren 12V, Servos etc. 5V ;)

Aber trotzdem behälst du recht, das Servo zuckt wie Sau und der Sharp misst wirklich nicht sehr genau :-s
Ich werde da wohl Kondensatoren rein hauen müssen.

Danke sehr, oberallgeier


Edit: kannst du mir trotzdem einen anderen Empfelen? ich muss mir einen neuen kaufen....hab 10Volt drüber gejagen 8-[
Ich glaub ich werd mir gleich drei solcher kaufen.....

RP6conrad
18.10.2008, 13:04
In diese Preisklasse sind die Sharp Sensoren das beste was forhanden ist !! Du muss einfach eincalculieren das die nicht auf den mm genau sein. Auch darfen 2 Sharp Sensoren einander storen wan die eine gleiche Richtung haben. Softwaremassing kan da auch noch was getan werden (mittelwert, filteren). Riesenforteil von den Sharp ist das die Farbe von Hinderniss fast keine Einfluss hat auf die Messergebnis. Daneben messen die auch in eine gans schmalle bundel. Messgeschwindigkeit ist mit 50 mS auch OK. So ein ding auf eine Servo, und die kann gans gutt die Umgebung scannen !! Siehe mal mein video an von RP6 "Can Hunting"
http://video.google.nl/videoplay?docid=-2147991936793688895&ei=eND5SPvPF4muiAKwjtjsDg&q=rp6+can

JeyBee
18.10.2008, 15:38
Ah danke, neue hoffnung^^

Jedoch musste ich wirklich ein mangel an Strom feststellen. Bessere Idee als 9V Batteier?^^

oberallgeier
18.10.2008, 16:55
... Guru ...Nein, ich bin bloß ein paar Wochen früher über die gleichen Probleme gestolpert wie Du jetzt.


... Bessere Idee als 9V Batteier ...Wenn das blos nicht ein handelsüblicher 9V-Block ist. Vermutlich wird ein 9V-Block nicht genügend Stromstärke entwicklen, um diese hungrigen Dinger wie Sensor und Sharp satt zu bekommen.

JeyBee
18.10.2008, 18:14
Das IST eine handelsübliche 9V-Block Batterie.......

oberallgeier
18.10.2008, 18:46
Das IST eine handelsübliche 9V-Block Batterie.......Klar, hatte ich auch mal genommen *gggg*. Wie wärs, wenn Du Dir für Deine Experimente ein altes Gleichstrom- (Taschenrechner-) Netzteil oder ein Notebook-Netzteil besorgst, und mit einem oder mehren 7805 eine oder mehrer Spannungsquellen machst. Siehe weiter oben unter "Vorsichtsmassnahmen". Die verschiedenen Baugruppen könnten dann getrennt versorgt werden; sie bekommen einen gemeinsamen GND.

JeyBee
18.10.2008, 18:53
Gute Idee,

Ich habe hier von einem alten Roboter Bausatzt noch ein Batterie fach, wo 8AA-Batterien Platz haben, also 12V raus kommt. Denkst du, dass das reichen wird?
Wohl eher nicht: 2x Motoren, 2Servors, x Milionen Sensoren, 1-2Microcontroller.

RP6conrad
18.10.2008, 19:04
Ich steure 3 servos + 4 Sharp GPD120 + 2 µ an mit 6 AA NiMh 1800 mAh. Geht problemlos. Nur die Spannungsversorgung von Servos trennen von µ und Sharp. Bei mir geht das mit eine extra Spannungsregler 7805 für die Servos (Ground gemeinsam). Spannung miss dan min 7 Volt sein, dort der Regler eine dropout hat von 2Volt .

oberallgeier
18.10.2008, 22:33
... Batterie fach, wo 8AA-Batterien Platz haben .... Denkst du, dass das reichen wird ...Es kommt halt auf den Stromhunger Deiner Bauteile an - den kenne ich nicht. Aber versuchs mal. 8AA können schon ne Menge Strom bieten - und spezielle AA können ja sehr hohe Ströme abgeben. Da musst Du dir ja auch fast schon was "dickeres" als einen 7805 nehmen. Der kann ja wohl maximal 1A. Vielleicht reicht auch einer für die µC, einer für die Sharps und die Sensoren und die Servos. Dann siehst Du es ja - und Du solltest den Stromhunger so gut es geht wenigstens einmal beispielhaft messen. Wenn die Motoren an einem IC mit getrennter Motorspannungsversorgung hängen, dann hast Du dieses Problem schon mal nicht mehr. Dann könntest Du da schon mit dem ungeregelten Akkusaft dran gehen.

JeyBee
18.10.2008, 23:28
Also, empfiehlst du mier jetzt drei Sensoren, oder nur einen auf einem Servo?

oberallgeier
19.10.2008, 09:50
Also, empfiehlst du mier jetzt drei Sensoren, oder nur einen auf einem Servo?
Es kommt halt auf den Stromhunger Deiner Bauteile an - den kenne ich nicht ...
Optimal ist es . . . . entschuldige die doofe Antwort: wenn es optimiert ist. Also wenn bei der Auslegung Rücksicht darauf genommen wird, dass das alles gut zusammenpasst. Da kann (und will) ich eben nur allgemeine Ratschläge geben. Du stellst Dir ja Dein Projekt selbst zusammen. Ich kann nur raten mit dem, was ich bei meinen Projekten an Erfahrung gesammelt hatte.

Viel Erfolg.

JeyBee
19.10.2008, 10:54
Optimal ist es . . . . entschuldige die doofe Antwort: wenn es optimiert ist.

Das ist ja mal schön :)

Aber du hast recht. Erfehrungen sammeln.
Das soll eigentlich auch kein riesen Projekt werden, die Grundplatte besteht aus einer 3mm Dicken Holzplatte. 18mm x 18mm.
Es soll einfach mehr ein "Lehrinstrument" sein.

Mfg JeyBee

JeyBee
19.10.2008, 22:31
Sry wegen doppelpost, aber:

wenn ich zwei Spannungsregler brauche, kann ich einen für den Microcontroller verwenden und mit dem anderen die Sensoren speisen? oder würde das störungen bei der Messung verursachen?

oberallgeier
20.10.2008, 07:58
Hallo JeyBee,


... wenn ich zwei Spannungsregler ... würde das störungen bei der Messung verursachen?Nach meiner Erfahrung gibt es keine Störungen. Genau so eine Schaltung finde ich sehr gut, an meinem Dottie habe ich das so gemacht. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=390565#390565) Dort sind die 6xAAA mit GND zu Spannungsreglern, Controller und Servo/Motor geführt. Die VBAT der 6xAAA geht zum Hauptschalter. Von Hauptschalter zum Eingang der beiden Spannungsregler. Die beiden geregelten 5V gehen dann getrennt zum Controller und zur Servo/Motorversorgung. In einem anderen Aufbau hatte ich getestet, ob sich die Messergebnisse bei getrennter Versorgung der Sharp-Sensoren (ich habe nur GP2D120) verändern. Da ich keine Veränderung ausserhalb meines Messrauschens festgestellt hatte, wurde die Platine bei Dottie auch unverändert beibehalten.

Die Sharps reagieren unfreundlich auf Veränderungen der zugeführten Spannung - klar, sie geben ein analoges Signal aus, das irgendeinen Bezug braucht. Und der Controller reagiert auch auf Veränderungen der zugeführten Spannung, weil ich dieses Potential als Referenz für den ADC hernehme (hernehmen muss - ich habe keine Referenzspannungsquelle). Wichtig ist bei dieser Lösung ein gemeinsames GND-Potential.

JeyBee
20.10.2008, 11:30
Vielen Dank, oberallgeier, du hast mir sehr geholfen. Bis auf weiteres sollte diese Sache nun einmal geklärt sein. Dennoch hoffe ich, dass ich mich noch einmal bei komplikationen melden darf :D

Ich werde euch je nach dem das Ergebniss vorstellen.