PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe bei Kollisionserkennung



jonas
21.10.2005, 17:00
Hallo zusammen!
folgendes....
An meinem Roboter hab ich zwei SHARP-Entfernungssensoren angebracht, die mir jeweils eine Analogspannung auf meinen ATmega8 geben. Je nach Entfernung zum Hindernis ändert sich auch die Ausgangsspannung der Sensoren (dürfte ja bekannt sein).
Funktioniert alles wunderbar, doch jetzt mein problem:
ich hab mir gedacht, ich kann die zwei sensoren auswerten indem ich den einen wert von dem anderen wert subtrahier und dass dann der roboter auf das ergebnis reagiert; also so:



dim sharp_l as byte 'linker SHARP
dim sharp_r as byte 'rechter SHARP
dim sharp_b as integer 'Ergebnis der beiden SHARPs

Do
sharp_l = getadc(0)
sharp_r = getadc(1)

sharp_b = sharp_l - sharp_r

'hier dann die auswertung
Loop

wenn das ergebnis z.B. ins negative geht, dann fahr nach links.
wenn das ergebnis z.B. ins positive geht, dann fahr nach rechts.
der roboter soll quasi auf die differenz der beiden sensoren reagieren.

ist das irgendwie machbar, hat einer vielleicht eine viel bessere lösung, ist das da oben viel zu kompliziert und vor allem hat überhaupt einer verstanden was ich jetzt will....?
Für antworten, anregungen, hinweise, bemerkungen usw. wär ich sehr dankbar!

x-ryder
22.10.2005, 21:14
ja sicher iss das machbar, du musst dann ja nur noch jeweils ne abfrage machen, ob das ergebnis unter oder über 0 liegt, und dann ins passende unterprogramm für rechts oder links steuern, jetzt weiß ich nicht, wie du deine motoren steuerst, sag das doch mal, einfach nur an/aus oder stufenbare regelungen?

jonas
23.10.2005, 13:21
ich hab zwei schrittmotoren, die ich mit der L297 und L298-Schaltung steuer. Die ist ja auch hier im artikelforum. Also immer mit nem Clockpulse nen schritt weiter.

x-ryder
23.10.2005, 13:24
dann kannst du ja die höhe der differenz noch auswerten, und dementsprechend viele schritte in die passende richtung machen lassen, also je negativer, desto mehr schritte links/rechts und umgekehrt eben weniger schritte, wenn die zahl klein ist

jonas
23.10.2005, 13:28
ja gut, danke! ich werd mal mein glück versuchen; mal sehn, ob ich das net gebacken krich....

pebisoft
23.10.2005, 19:48
dann kannst du ja die höhe der differenz noch auswerten, und dementsprechend viele schritte in die passende richtung machen lassen, also je negativer, desto mehr schritte links/rechts und umgekehrt eben weniger schritte, wenn die zahl klein ist

ich sehe keinen sinn in dieser hindernisausweichung..............
die schrittzahl muss zum hindernis hin(hindernis zu weit) oder zurück gehen (hindernis zu nah) aber nicht links oder rechts.
mfg pebisoft

x-ryder
23.10.2005, 20:45
hallo pebi, ich wunderte mich schon, warum du mich so lange nicht mehr bemängelt hast... was meinst du denn mit hin und zurück, das iss nen anfänger mensch, da sagste doch nicht direkt, das der eine schneller laufen muss bzw. mehr schritte machen.....

pebisoft
23.10.2005, 20:52
war 9 tage in urlaub in irland(keltenland, ursprung des christentum in europa).
jetzt geht es wieder los.....aber ohne.........
mfg pebisoft