PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schnelle Liniensensoren



Andy11jj
30.04.2010, 21:09
Ich brauche für meinen roboter schnelle liniensensoren im µs bereich, gibts so schnelle sensoren überhaupt?
wenn ja welche könntet ihr mir vorschlagen?

Thomas$
30.04.2010, 21:20
hm maussensor bei dem man die kamera auswertet oder bei pollin gibts zeilenkameras vlt kann man mit denen was anfangen.

shedepe
30.04.2010, 22:09
eventuell fotodioden, die solln auch relativ schnell sein (ob im µs Bereich weis ich jedoch nicht)

EDIT: Grad noch mal nachgeschaut:
http://www.datasheetcatalog.com/datasheets_pdf/Q/6/2/7/Q62702-P947.shtml

5ns switching time sollte doch passen ?!

RP6conrad
30.04.2010, 22:11
Waw, ihre Robby muss superschnell sein !! So um die 100km/stunde ?
Dan schaft er gerade 0.36mm Abstand in eine µsekunde. Aber die Sensoren sind nicht das grosse Problem. Jeden fototransistor kan auf diese Zeit der Lichtstarke vermessen. Ich verwende eine IR BPW40. Bei Linien folgen ist es sehr wichtig das die genau weiss welche Abstand du von die Linie seit. Darum : fiele Sensoren auf die ganse Breite von robby . Und dan eine PID regelung.

Besserwessi
30.04.2010, 22:15
Fotodioden sind schon so schnell, das sollte reichen. Man braucht dann aber auch genug Licht, sonst hat man zu viel Rauschen bei der hohen Bandbreite. Die Kameras sind da langsamer, eher im Bereich ms.
Man muß die Schnelle Information aber auch weiterverarbeiten - mit nur einem Sensor ist es also nicht getan.

Andy11jj
30.04.2010, 22:19
Man muß die Schnelle Information aber auch weiterverarbeiten - mit nur einem Sensor ist es also nicht getan.
das ist mir schon klar
jedoch habe ich zb einen cny70, der im bereich ms reagiert, der roboter fährt schon, aber ich arbeite gerade an einem neuen konzept

Besserwessi
01.05.2010, 11:18
Die Geschwindigkeit von z.B. 1 ms die man leicht mit einem Fototransistor erreichen kann, sollte ausreichen. Damit man sich in der einen Millisekunde um einen Milimeter bewegt, muß der Bot schon 1 m/s fahren, und das ist schon recht schnell wenn man einer kleinen Linie folgt, bei der es auf Millimeter ankommt.

P.s. bei 100 km/h und 1 µs kommt man nur 0,036 mm.

Andy11jj
01.05.2010, 12:19
der cny70 arbeitet doch auch mit einem Phototransistor, wieso bracuht der dann 50ms Ansprechzeit`?

Besserwessi
01.05.2010, 14:33
Die Ansprechzeit hängt auch von der externen Beschaltung ab. Für eine hohe geschwindigkeit braucht man kleine Widerstände ( z.B. 1 K) und dann in der Regel eine Verstärkung dazu. Damit sollte der CNY70 bis etwa 20-50 µs kommen, auch wenn ich im Datenblatt keine Angabe finden kann. Wenn der Widerstand größer ist, so daß man direkt an den AD Eingang gehen kann, wird die Ansprechzeit etwas länger, bis inden Bereich von einigen Millisekunden. 50 ms kommen aber wohl erst durch den AD wandler im µC und die Software zustande.

Andy11jj
01.05.2010, 16:03
auch wenn ich im Datenblatt keine Angabe finden kann.
scheinbar hast du recht da steht wirklich nichts im Datenblatt, aber irgendwo habe ich das mal gelesen.



CNY70 bis etwa 20-50 µs kommen
das ist doch schon ziemlich gut find ich


Wenn der Widerstand größer ist, so daß man direkt an den AD Eingang gehen kann, wird die Ansprechzeit etwas länger, bis inden Bereich von einigen Millisekunden. 50 ms kommen aber wohl erst durch den AD wandler im µC und die Software zustande.

Wenn ich dies mit Schmitt Trigger realisiere, also ohne Software -sprich auf der Linie/ nicht auf der Linie - dann müsste das doch das ganze beschleunigen und in den us Bereich bleiben. Das wäre ideal. Die Widerstände werd ich aber nicht irgendwie verkleinern können, ich habe die Dimensionierung nach diesem Schema nachgebaut (siehe Bild). Ich weiß jedoch nicht was passiert wenn ich mit dem Pullup Widerstand runtergehe. Ich nehme mal an ich kann dann viel mehr Strom ziehen aber so sicher bin ich mir nicht in wie fern das schneller sein soll??

oberallgeier
01.05.2010, 16:27
... scheinbar hast du recht da steht wirklich nichts im Datenblatt ...Das ist auch der Grund, warum ich dem CNY 70 so misstrauisch gegenüberstehe *ggg* - - weil diese Schaltzeit im Datenblatt nicht genannt ist.


... aber irgendwo habe ich das mal gelesen ...Kann es sein, dass Du das im Datenblatt zum CNY 37 gelesen hattest? Dort sind nämlich für eine beispielhafte Beschaltung Schaltzeiten angegeben. Auf die Schnelle habe ich solche im Datenblatt von "C" gefunden, Artikel Nr. 184250 - 62 - turn-on time 10 µs, turn-off time 8 µs. So ähnliche Werte habe ich auch für andere Sensoren im Kopf. Aber ich will hier nicht Äpfel (CNY70) mit Birnen (andere Sensoren) vergleichen!

Besserwessi
01.05.2010, 16:30
Wenn man einen AD wandler Eingang nutzt, und nur 1 V als Ref. Spannung könnte man schon einen etwas kleineren Widerstand nehmen, z.B. 10 K. Wenn man den AD Wandler eher schnell laufen läßt, kommen nochmal etwa 50µs für die Wandlung dazu, für 2 Kanäle auch mal 100 µs.

Wenn man die Geschwindigkeit von andern, einfachen Optokopplern als vergleich nimmt, sollte die Zeitkonstante von der Größenordnung 5 nF * R sein, also bei den 47 K Ohm also rund 250 µs zusätzlich zu dem was der Phototransistor intern so hat. Auf 50 ms kommt man da bestimmt nicht.

Als Liniensensor habe ich den CNY70 noch nicht genutzt, aber soweit ich das getestet habe, kommt der mir nicht besonders geeigent dafür vor. Maximales Signal gibt es bei kleinem Abstand von etwa 1 mm. Dabei wird dann auch nur ein recht kleiner Bereich getestet, weit weniger als die Breite des Sensors. Wenn man mit dem optimalen abstand für viel Signal arbeite hat man also nur einen ziehmlich kleinen Messbereich von vielleicht 1 mm. Bei mehr Abstand kommt schon nicht mehr viel Signal zurück. Ich würde da lieber 1-2 IR LEDs und 2 seperate Phototransistoren nehmen. Damit sollte man einen Bereich von 5-20 mm Überdecken können, je nach Abstand. Mit der Auswertung über den AD Wandler hat man dann wenigstens im mittleren Bereich auch Zwischenwerte, nicht nur 2 Bit an digitaler Information.

Andy11jj
01.05.2010, 16:38
ich hatte mich geirrt, es sind 5ms

Quelle:
http://www.elv-downloads.de/service/manuals/MRL/53799-MINI-LICHTSCHRANKE_KM.PDF


Mit der Auswertung über den AD Wandler hat man dann wenigstens im mittleren Bereich auch Zwischenwerte, nicht nur 2 Bit an digitaler Information.

was für die Linienverfolgung eigentlich unnötig ist würde ich sagen. Wieso haut das deiner Meinung nach nicht hin wenn ich statt AD Wandler dazwischen einfach einen Schmitt Trigger schalte und dann den Pin abfrage?

Besserwessi
01.05.2010, 17:06
Der Linkt zu ELV zeigt schon mal, dass der CNY70 wenigstens bis 2 kHz noch problemlos mitmacht. Die 5 ms in der Schaltung kommen durch die Auswertung per Tondekoder.

So ganz stark wird der CNY70 nicht von anderen Fototransistoren abweichen. Da sind eigentlich keine so großen Unterschiede zwischen verschiedenen Typen.

Mit nur Schmidt trigger hat man nur eine Digitale Information hell/dunkel. Damit passiert es leicht das man eine feine Schlangenlinie um die eigentlich gewollte linie färt. Ohne die information wie weit man gerade von der Idealposition weg ist, kommt es nämlich fast zwangweise zu Überschwingern in der Regelung.

Mit der analogen Auswertung hat man mehr Information, und kommt ggf. auch mit einer deutlich langsameren Auswertung noch klar.

Andy11jj
01.05.2010, 17:13
Mit nur Schmidt trigger hat man nur eine Digitale Information hell/dunkel. Damit passiert es leicht das man eine feine Schlangenlinie um die eigentlich gewollte linie färt. Ohne die information wie weit man gerade von der Idealposition weg ist, kommt es nämlich fast zwangweise zu Überschwingern in der Regelung.

sry aber ich versteh nicht auf was du bei deiner erklärung hinaus willst

Besserwessi
01.05.2010, 21:49
Wenn man den Liniensensor (bzw. in der regel ja mehr als einen) nur digital per Schmidttrigger oder Komperator auswertet, hat die Regelung keine genaue information über die linie. Wenn man damit z.b. einer geraden linie folgen will, wird damit vermutlich eine Art Schlangenlinie herauskommen. Erst wenn man viele Sensoren hat, wird es etwas besser.
In den Zeiten in denen sich an den Sensoren nichts ändert fährt man sozusagen blind und verliert damit Zeit um auf eine Kruve zu reagieren.


Mit einer analogen Auswertung hat man auch zwischenwerte und man kann mit einer PID-regelung auch wirklich gerade fahren. Das geht dann auch schon mit 1 oder 2 Sensoren. Wenn man z.B. in einer engen Kurve dann etwas von der Ideallinie abkommt, hat man auch die Möglichkeit wieder behutsam, ohne überschwinger zurück zur Ideallinie zu finden.

Andy11jj
01.05.2010, 22:00
ich habe 3 cny70 auf der Unterseite meines ROboters,
Algorithmus: Wenn mittlerer Sensor anspricht, dann beide Motoren ein
Wenn rechter Sensor anspricht, dann linker Motor ein, rechter Motor aus
Wenn linker Sensor anspricht, dann rechter Motor ein und linkr aus


jetzt wundert mit aber trotzdem was du da schreibst:



...hat die Regelung keine genaue information über die linie. Wenn man damit z.b. einer geraden linie folgen will, wird damit vermutlich eine Art Schlangenlinie herauskommen.


ich habe nämlich beobachtet, dass bei geraden Linien er immer hin und her wackelt als ob der mittlere Sensor keine Bedeutung hätte, ich hab aber keine Ahnung warum das so ist, es ist mir einfach ein Rätsel.
Genügen in dem Fall nicht 3 Sensoren?
Wieso wackelt er hin und her?

Besserwessi
01.05.2010, 23:19
Mit den digitalen Sensoren ( egal ob nurn 2 oder 3) hat man nicht viel Möglichkeiten. Die Sensoren geben nur einen der zustände: zu weit links, etwa richtig, zu weit rechts. Viel anders als beschieben kann man da auch nicht reagieren. Wenn einer der äußeren Sensoren anspricht muß man relativ stark gegenlenken, und wenn nicht, kann man eigentlich nur gerade aus fahren. Das gibt dann das Wackeln bzw. die Zickzack oder Schlangenlinie.

Wenn man den Abstand der Sensoren genauer auf die Linienbreite abstimmt, kreigt man ein schnelleres Wackeln, aber weniger Amplitude. Wenn es dann aber zu eng wird, wird es wieder schelchter und man muß auch noch den Fall berücksichtigen das beide äußere Sensoren ansprechen.

Der mittlere Sensor hat in der Form auch kaum Bedeutung. Der Zeigt nur an, dass man noch auf der Linie ist, und nicht irgendwie in den Suchmodus wechseln muß.

Andy11jj
01.05.2010, 23:25
Der mittlere Sensor hat in der Form auch kaum Bedeutung. Der Zeigt nur an, dass man noch auf der Linie ist, und nicht irgendwie in den Suchmodus wechseln muß.

Naja, der mittlere Sensor sagt mir ob ich beide Motoren aufdrehen soll oder nicht, und das funktioniert auch bei den Kurven, da macht er es richtig wenn der mittlere anspricht, nur wenn es gerade wird dann macht er die schlange, was ich allerdings mit deiner neuen Erklärung immer noch nicht so ganz überrissen habe^^

aber danke für dein bisheriges Bemühen mir das zu erklären
lg andy

Andy11jj
05.05.2010, 14:34
Was für vorschläge gäbe es denn noch?
Mein Problem ist, dass ich keine Photodiode brauchen kann, da es wahrscheinlich zu viele Einflüsse geben kann, genau sowie Photowiderstände.
Kann man diese Einflüsse irgendwie kompensieren?

Besserwessi
05.05.2010, 16:42
Man kann die Einflüsse von außne ( Fremdlich) kompensiere, indem man jeweils 2 mal mißt: 1 mal ohne eigenes Licht und einmal mit den LEDs an.
Man kann Frendlicht natürlich auch einfach Abschirmen durch blenden usw.

Die CNY70 sind auch nichts anderes als ein IR LED und ein Fototransistor, die beide auf den gelichen Punkt ziehlen, etwa 1 mm vor dem Sensor.

Mit fotodioden wird da nicht viel anders als mit Fototransistoren, nur das man elektrisch nicht so empfindlich ist, weil das Signal schon verstärkt ist. Für die Optischen Störungen ist es egal ob man Fotodioden oder Fototransitoren nimmt.