PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anordnung der CNY70 Sensoren?



strunz
13.04.2005, 15:25
Hallo an alle da draußen,
ich möchte für den Einstieg gerne mal einen Roboter bauen der einer schwarzen Linie nachfahren kann (also nix besonderes).
Hier im Forum habe ich mich etwas umgesehen und herrausgefunden, dass dafür wohl die CNY70 Sensoren geeignet sind.
Erste tests am Steckbrett sind auch schon erfolgreich verlaufen.

Jetzt zu meiner eigentlichen Frage:
Welch anordnung und welch Anzahl an Sensoren haltet ihr für sinnvoll?
Abzweigungen müssen nicht unbedingt erkannt werden, es kommt mir nur drauf an, dass er stabil der Linie entlang fahren kann.

Elektronik Kentnisse sind vorhanden.

Die Bauform meines Roboters ist rund, mit zwei Rädern in der mitte und einem Stützrad hinten (das Standartmodell eben).

Bitte teilt mir eure Erfahrungen mit.

Danke.

Achja, die Sensoren sollen von einem µC ausgewertet werden und dieser steuert dann (über eine entsprechende Schaltung) die Getriebemotoren. [/flipv]

Florian
13.04.2005, 16:49
Hi strunz! *lol -> flasche leer*

Scherz beiseite:
Also, wenn es wirklich nur ohne Abzweigungen sein soll, dann entweder 1 oder 2 Sensoren direkt nebeneinander.

Der ideale Aufbau wäre folgender:


|-----| ||| |-----|
| O | ||| | O |
| O | ||| | O |
|-----| ||| |-----|


In der Mitte, zwischen den beiden CNY70-Sensoren ist die schwarze Linie.

strunz
13.04.2005, 16:55
Aha,
danke erstmal für die Antwort,

heißt das, das die STärke der noch zu erkennenden Linie abhängig vom Abstand der zwei sensoren sind? oder Kann die Linie ruhig breiter sein?

Wie dünn darf die linie denn eigentlich sein?

Florian
13.04.2005, 17:03
Naja, ich würde die beiden so dicht, wie möglich nebeneinander setzen.
Meine Sensoren erkennen sogar eine Linie eines schwarzen Feinliners (0,1mm)!

uwegw
13.04.2005, 17:11
ich nehme 8 sensoren, die auf einer linie von etwa 8cm angeordnet sind. damit lassen sich linein etwas intelligenter verfolgen als mit nur zwei sensoren weil man sehen kann wie weit man gerade von der ideallinie abweicht und nicht immer zwischen linkskurve und rechtskurve umschalten muss, sondern die geschwindigkeiten ändern kann bis die linie genau in der mitte der sensoren verläuft... 8 stück weils halt so ein kompletter port am controlelr ist...

strunz
13.04.2005, 17:12
Wow, nicht schlecht.
Habe hier im Forum irgendwo gelesen, dass die Strichstärze 5mm nicht unterschreiten darf, dass kamm mir auch gleich etwas unrealistisch vor.

Aber ich denke, dass man die Sensoren möglischst gegen Fremdlicht bzw. Sonnenlich von aussen abschirmen sollte.
Also in etwa ein schwarzes Gehäuse um die Sensoren, das fast bis zum Boden reicht zu bauen.
Damit man bei Tageslicht und bei Dämmerund oder sogar Nachts die Sensoren nicht neu Abgleichen muss.

Oder? Korrigiert mich bitte wenn ich mit meiner Überlegung daneben liege.

uwegw
13.04.2005, 17:21
abschirmen ist pflicht...
ichb habe einen streifen aus pappe (1,5cm hoch) zu einem rechteck gefaltet und um meine sensoren herumgebaut. dann zusätztlich noch zwischenwände eingezogen, um gegenseitige beeinflussung zu vermeinden... und alles schwarz ausgemalt, sonst hatte ich zuviel reflexionen von der pappe...

Florian
13.04.2005, 17:23
Hi strunz!
Die Sensoren müssen knapp über der Linie sitzen/fahren, dann stört das Fremdlicht nicht mehr allzu stark, also kaum merklich!
Maximal 1-2mm über dem Boden ginge noch!
Mein neuer Liniensensor bekommt 16 CNY70, aber es ist die Frage, wann ich ihn endlich mal fertig stellen werde! ;o)
Er hat dann eine Keilähnliche Form, wobei ich auch schon von Rundbögen/Halbkreisen gelesen habe.

pebisoft
13.04.2005, 17:38
hallo uwegw, baust du fertigen platinen mit 8 sensoren auch für andere.
mfg pebisoft

strunz
14.04.2005, 11:50
Hallo pebisoft,

schau dir mal folgenden Link an:


http://www.kreatives-chaos.com/index.php?seite=liniensensor


Ziemlich weit unten.

Man kann die Schaltung mit nur ein paar Bauteilen und einer Lochrasterplattine leicht selber bauen, da würden sich die Versandkosten meiner Meinung nach nicht mal lohnen.

MfG Strunz

techboy
14.04.2005, 13:51
Wie schaut den das Bascom Programm für so einen Liniensensor aus???>CNY70

Mfg.Attila Földes

pebisoft
15.04.2005, 09:48
wer kann mir cny70 8x nebeneinander auf einer platine für den avr anfertigen. natürlich nicht umsonst. ich habe keien lötkenntnisse.
mail: pebisoft@web.de
mfg pebisoft

uwegw
15.04.2005, 10:00
dann würd ich doch an deiner stelle eher in einen lötkolben investieren und löten lernen...
so eine sensorplatine ist wohl nicht allzuschwer und gut zum einstieg geeignet...
wenn du nicht zufällig das ganze ätzen lassen kannst mach es wie ich mit ner lochrasterplatine... ich könnte dir mal fotos und pläne von meinem sensor schicken...

strunz
15.04.2005, 12:02
ja, die pläne würde ich gerne auch mal sehen. Könntest du sie hier vielleicht mal posten? das wäre nett.

uwegw
15.04.2005, 22:23
ich hab leider den bot gerade nicht da, denn ich hab ihn mit nem kumpel zusammen gebaut und der hat ihn zur zeit bei sich weil er seine facharbeit drüber geschrieben hat...

ich hab noch nen paar fotos da, aber so optimal sieht man den sensor darauf nicht gerade...

die schaltung ist diese hier:
http://www.robotmaker.de/linie.html
einfach achtmal aufgebaut... und die ausgänge dann an den avr...

Roboter n00b
17.04.2005, 15:49
Hi strunz! *lol -> flasche leer*

Scherz beiseite:
Also, wenn es wirklich nur ohne Abzweigungen sein soll, dann entweder 1 oder 2 Sensoren direkt nebeneinander.

Der ideale Aufbau wäre folgender:


|-----| ||| |-----|
| O | ||| | O |
| O | ||| | O |
|-----| ||| |-----|


In der Mitte, zwischen den beiden CNY70-Sensoren ist die schwarze Linie.

schnell eine frage: Wieso sollte die Linie ZWISCHEN den beiden Sensoren und nicht direkt darunter sein? Ich weiss jetzt nicht genau, wie ich die Sensoren anordnen soll, um 90° Winkel fahren zu können

danke

Serge

cauboy
17.04.2005, 16:18
Ich denke mir, dass die Linie dazwischen laufen soll, damit man erkennt in welche Richtung der Roboter sich von der Linie entfernt.
Bei drei Sensoren würde der mittlere dann auf der Linie sein.

Roboter n00b
17.04.2005, 16:51
und wie soll ich sie anordnen, wenn er 90° Kurven erkennen soll?

Toastbrot
17.04.2005, 17:33
ich nehme mal an im Kreis bzw. Halbkreis. Habe das aber auch noch nicht ausprobiert.

Wie ist das eigentlich mit Verzweigungen? Da muss das ganze vermutlich auch komplexer sein...

Und noch was "ganz" anderes: Dürfen die Sensoren echt nur wenige mm überm Boden sein? Weil wenn man sich den Bot so baut, dass er z.B. Teppichkanten problemlos überfahren kann, dann hat man in dem Moment an den Sensoren ja ein Problemchen...

michaelb
17.04.2005, 17:44
ich würde die CNY70 in einer Linie anordnen!
Bei einer 90° Kurve(kann man eigentlich nicht Kurve nennen) sehen dann bei z.B. 8 nur 4 die Linie, sind das die rechten 4 geht's nach rechts und so weiter!

Roboter n00b
17.04.2005, 17:48
also ich hab 6 CNY70 zur verfügung. Dann soll ich sie also so Anordnen? (2 mal 3 reihen)


|-----| ||| |-----|
| O | ||| | O |
| O | ||| | O |
|-----| ||| |-----|
|||
|-----| ||| |-----|
| O | ||| | O |
| O | ||| | O |
|-----| ||| |-----|
|||
|-----| ||| |-----|
| O | ||| | O |
| O | ||| | O |
|-----| ||| |-----|

Also so, dass das klebeband zwischen den sensoren ist?

thx

Toastbrot
17.04.2005, 18:07
ich würde die CNY70 in einer Linie anordnen!
Bei einer 90° Kurve(kann man eigentlich nicht Kurve nennen) sehen dann bei z.B. 8 nur 4 die Linie, sind das die rechten 4 geht's nach rechts und so weiter!

Ja, wenn das denn so hinhaut, ist ja alles OK. Dann muss man aber auch immer dafür sorgen, dass das Teil genau mittig über der Linie fährt. Aber das kann man ja hinbekommen.

strunz
17.04.2005, 19:24
ich glaube das das anders gemeint war.
Ich würds so machen:





|-----||-----||-----| ||| |-----||-----||-----|
| O || O || O | ||| | O || O || O |
| O || O || O | ||| | O || O || O |
|-----||-----||-----| ||| |-----||-----||-----|


Oder? Was meint ihr?

Florian
17.04.2005, 19:56
Hi strunz!
Genau so wars gemeint, aber da wo die Linie langläuft braucht ihr den Abstand nicht allzu groß machen bzw. nicht größer als zwischen den Anderen!

RCO
17.04.2005, 22:28
Ich denke, auch, dass es sinnvollwäre, einen Sensor in die Mitte zu machen, oder sie zumindest dichter aneinander zu machen, damit man Kreuzungen oder das Ende einer Linie besser oder überhaupt erkennt.

Florian
18.04.2005, 05:51
Hi Moritz!
Ich glaube so habe ich das auch gemacht, ist nur schon etwas länger her mit dem Liniensensor, deswegen bin ich mir nicht mehr sicher! ;o)
Klingt aber logisch und besser!
Also muss man sich da, wo die Linie auf den ASCII-Zeichnungen ist, noch einen Sensor in der Mitte denken! ;o)

RCO
18.04.2005, 10:36
Genau, ich will mich demnächst auch mal an die Linienverfolgung rangeben und habe auch schon überlegt, wie man die Sensoren am besten Anordnet um jede! Art von Abzweigungen zu erkennen. Das Ergebniss war eigentlich, desto mehr sensoren, desto besser! Was mich natürlich nicht wirklich weiter bringt und außerdem eine zu große Datenflut erzeugt. Ich werde vermutlich 5 oder 7 Sensoren verwenden. Dabei ist der Abstand so gewählt, dass entweder 1 oder 2 Sensoren eine Rückmeldung kriegen, also der Klebestreifen ist etwas größer aals der ABstand zwischen den Sensoren. So kann man noch feinere Unterscheidungen machen und die Auflösung erhöhen.



||||||||||
||||||||||
|-----||-----||-----||-----||-----|
| O || O || x || O || O |
| O || O || x || O || O |
|-----||-----||-----||-----||-----|
||||||||||
||||||||||




||||||||||
||||||||||
|-----||-----||-----||-----||-----|
| O || O || x || x || O |
| O || O || x || x || O |
|-----||-----||-----||-----||-----|
||||||||||
||||||||||


Eine andere Idee war noch, einen Sensor, genau unter dem Drehpunkt des Roboters anzubringen.

uwegw
25.04.2005, 14:04
ich hab den bot jetzt wieder bei mir um eine neue motorsteuerung und einen schltegler einzubauen. bei der gelegenheit hab ich neue fotos vom liniensensor gemacht...

09.05.2005, 13:11
Wie muss man die Sensoren eigentlich anordnen um die Mitte eines Ringes zu bestimmen (so genau wie möglich)? (Der Ring besteht aus einer schwarzen Linie mit 6mm Dicke --> Wieviele Sensoeren braucht man da und wie muss man sie anordnen)

strunz
09.05.2005, 13:13
Was für einen Durchmesser hat der ring?

09.05.2005, 13:31
106mm Aussendurchmesser (bzw. 94mm Innendurchmesser ;) )

strunz
09.05.2005, 14:12
Tja, ne möglichkeit wäre es die sensoren kreuzförmig + anzuordnen, und zwar so, dass die aüßeren derade noch den ringrand berühren. Dann müsstest du es nur noch so geschickt programmieren dass der bot sich genau auf die mitte ausrichtet. Wird aber nicht einfach, kann ich mir vorstellen.

RCO
09.05.2005, 19:20
Dann wäre es sinnvoll, wenn der Bot sich frei in jede Richtung bewegen könnte, also z.B. so wie der Bot von nestler:
http://tyranno.robterus.com/gallery.php#the-second-version

strunz
09.05.2005, 20:13
Ja, das stimmt. Er müsste ziemlich wendig sein. zumindest auf der Stelle drehen sollte er sich können. Sprich: Runde Bauform mit Antriebsrädern auf der Mittelachse.

ähM_Key
23.07.2005, 09:01
Hi!

Ich bin auch schon ne ganze Weile am Knobeln, wie man die Sensoren am besten anordnet, und bin noch zu keiner zufriedenstellenden Programmierung für mehrere auf einer Linie liegende Sensoren gekommen.
Die Motoren so anzusteuern, dass der jeweilige kurveninnere Motor umso langsammer dreht, je weiter die Linie von der Mitte abweichend erkannt wird, funktioniert nicht, da bei zu kleiner 'Skalierung' die Kiste in einer Kurve immer am äußersten Sensor festhängt, und somit das ganze gefährt einen zu langen Weg fährt. Wenn die Skalierung zu groß ist, dann pendelt das ganze immer nur zwischen den mittleren beiden Sensoren rum, und man könnte sich die anderen auch sparen. Das größte Problem ist allerdings, dass sich das System schon nach kurzer Zeit aufschwingt.
Eine weitere Möglichkeit wäre die steuerung über einen PID-Regler, was ich aber auch noch nicht zufriedenstellend implementieren konnte.
Die meisten Erfolge hatte ich mit 2 innenliegenden Sensoren, wobei die Ansteuerung weich erfolgt. Das ist schnell, fehlertollerant und einfach. (Natürlich nur bei Linien ohne Abzweigungen)

Im Anhang mal die Version mit 2 Sensoren, simuliert in RoboSim.

Mich würden mal fertige, funktionierende Projekte interessieren (v.A. ihr Quelltext *mampf* ;) ), denn so trivial, wie ich es vorher auchdachte, ist das Problem nicht, besonders wenn man so ein Perfektionist ist, wie ich.

Was sagt ihr dazu?

Grüße; MK

ähM_Key
30.07.2005, 15:41
*push*
Hat niemand eine Idee dazu?

Gruß; MK

am_i_jesus?
10.12.2005, 18:10
Weil hier alle von sehr vielen Sensoren auf ihren Linienfolgern reden:
Einer reicht doch!

Siehe Anhang.

mafa
18.12.2005, 12:41
Hi

Ich habe mir auch einen Liniensensor aus drei CNY 70 gebaut und laut der RS 232 Auslesungunterscheidet er auch sehr gut zwischen den Farben, aber Ich weiß nicht, wie ich ihn nun programieren soll, ich kenn zwar das system aber leider kenn ich mich noch nicht mit bascom aus.

mfg

mafa