PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verschiedene Muster für die Odometriescheiben



Hans Z
24.01.2007, 00:37
Angeregt von dem Vorschlag von Sternthaler (Danke!) habe ich einige Entwürfe für die Odometriescheiben gezeichnet (siehe Anlage). Sternthalers Vorschlag basiert auf der Tatsache, dass die Reflexlichtschranke ca. 3 mm oberhalb der Achse liegt und die Farbübergänge bei den originalen Scheiben so nicht optimal erkannt werden können.


Edit: Habe gerade gesehen, dass die sichelförmoge 24er und 12er Scheiben leider nicht gespiegelt abgebildet sind. Kann ich gerne bei Bedarf nachholen. Ich habe übrigens die richtigen Scheiben bei mir eingebaut.

Edit2: So, jetzt müsste die richtige Version der Bilddatei hochgeladen sein.



Grüße, Hans

Hans Z
24.01.2007, 00:47
Ich habe mal die geschwungene 24er Scheibe gemessen.
Habe dem Asuro Daten in Abständen von 1/1000 und 2/1000 Sekunden sammeln lassen und dann an den PC gesendet.
Die Daten habe ich nach Excel (sh. Anlage )importiert und dann graphisch dargestellt (Die Idee dazu stammt nicht von mir - habe ich irgendwo im Forum gelesen).
3 Tabellenblätter!

OdoLi und ODORe bedeutet linke bzw. rechte Odoscheibe. An der Y-Achse sind die ODO-Werte abzulesen. Die X-Achse ist die Zeitachse. Warum meine beiden Scheiben unterschiedliche Werte liefern ist mir noch nicht ganz klar.
Nichts desto trotz sieht man die steilen Flankenanstiege. Meiner Ansicht nach prima zum Auswerten.

Hans.

Hans Z
24.01.2007, 00:50
Hier noch mal ein Diagramm.

m.a.r.v.i.n
24.01.2007, 12:40
Hallo Hans,

das sieht ja sehr vielversprechend aus. Echt Klasse.
Das probier ich heut abend auch mal aus. Man könnte auch mal verschiedene Druckmaterialien verwenden (Transparentfolie, Silberfolie)
Wäre schön wenn du die 24er Scheibe noch spiegeln könntest. Danke.

Für die Unterschiede zwischen links und rechts kann es verschiedene Ursachen geben. Auch bei meinem Asuro gibt es deutliche Unterschiede zwischen links und rechts.

* Bauteiletoleranzen,
* unterschiedliche Abstände der Encoderscheiben von den Fototransistoren
* Fremdlichteinstreuung von einer Seite

waste
24.01.2007, 21:56
Interessant wäre ein Vergleich original zu neuer Scheibe.

Waste

radbruch
24.01.2007, 22:31
Unterschiede zwischen links und rechts fangen schon beim Aufbau an: Diode/Transistor sind unterschiedlich eingebaut.

Hans Z
24.01.2007, 22:38
Nun habe ich im 1. Beitrag die neue Bilddatei mit den richtigen Scheiben hochgeladen.

Hans

Hans Z
24.01.2007, 22:59
Ich stelle mal mein Datenlogger Programm rein. Dann könnt Ihr bei Bedarf etwas experimentieren.

Grüße, Hans.


//* -------- Programm zum Loggen der Odometriedaten ----*/
/* Vorgehenweise:
Dem Asuro etwas Auslauf gönnen, bis er die Daten gesammelt hat.
Dann mittels Taste 1 drücken und Hyperterminal die Daten in z.B. "Capture.txt" speichern
und diese Daten dann in Excel importieren. Excell interpretiert das Trennzeichen ";"
als Feldende. Danach die Graphik zeichnen lassen.
Ein Wert größer iMax = 50 führt sehr schnell dazu, dass der Ram-Speicher des Atmel nicht
mehr ausreicht und mindestens wirres Zeug ausgegeben wird.
Das Programm ist eigentlich ein Abfallprodukt eines größeren Proggies,
also bitte nicht am Programmierstil stören.
*/
#include "asuro.h"

int main(void)
{
int iMax = 50;
long Zeitmarke[iMax]; // Arry für laufende Zeit
unsigned int OdoLinks [iMax];
unsigned int OdoRechts [iMax];
int Zeiger = 0;
unsigned int OdoDat[2]; // Ododaten für linke und rechte Scheibe

unsigned int long tmpZeit, tmpRegelZeit;
unsigned int Ta; // Intervall für Logger in Millisekunden
Init();


Ta = 1; //20L; // Tickzeit in msec
MotorDir(FWD,FWD);

tmpRegelZeit = Gettime();

MotorSpeed(200,200);
Msleep(500); // warte, bis Motoren laufen
while (Zeiger < iMax)
{
tmpZeit = Gettime();
if (tmpZeit >= (tmpRegelZeit + (unsigned int long)Ta)) //dann ist Tickzeit verstrichen ************!!!!!
{
OdometrieData(OdoDat); // Odo-Daten lesen
if (Zeiger < iMax)
{

// Daten mit loggen
Zeitmarke[Zeiger] = Gettime();
OdoLinks[Zeiger]= OdoDat[0];
OdoRechts[Zeiger]= OdoDat[1];
Zeiger++;
}
tmpRegelZeit = tmpZeit;

}

}


MotorSpeed(0,0); // alle Maschinen stop!
SerWrite("\n\r ==== Daten gesammelt! ====",29);
int i;
char taste;
SerWrite("\n\r",2); PrintInt(Zeiger--); SerWrite(" Datensaetze gesammelt.",23);
SerWrite("\n\r Zum Schreiben Taste 1 druecken",33);
do
{
taste = PollSwitch(); taste = PollSwitch();taste = PollSwitch();
}
while (taste != 1);


SerWrite("\n\r Schreibe Daten..... ",23);
SerWrite("\n\r lfd Zeit, OdoLinks, OdoRechts",32);
SerWrite("\n\r =============================",32);
SerWrite("\n\r",2);
for(i = 0; i < Zeiger; i++)
{
PrintInt(i); SerWrite("; ",2); // die ";" helfen Excel die Daten zu importieren
PrintInt((int)Zeitmarke[i]); SerWrite("; ",2);
PrintInt(OdoLinks[i]); SerWrite("; ",2);
PrintInt(OdoRechts[i]); SerWrite("\n\r",2);
}
SerWrite("\n\r ... bin fertig! ",23);

while(1);
}

radbruch
26.01.2007, 14:50
Prima, danke. Ein nützliches Tool. Erschreckend welchen "Müll" der asuro einliest. In meiner rechten Datenreihe ist immer der 17. und 18. Wert total daneben, vielleicht erste Anzeichen von zu häufigem Flashen?

Die Vorlagen für die Codescheiben sind auch klasse, immerhin weis ich jetzt sicher, dass mein Drucker nichts taugt. Bei der Gelegenheit habe ich jetzt die orginalen 6er-Scheiben eingebaut weil die 4er die Versuche mit den selbstgedruckten Scheiben nicht überlebt haben. *heul* Gibts eigentlich orginale Scheiben zum Nachkaufen?

damaltor
26.01.2007, 21:42
schick mal ne mail an arexx... irgendwie geht da bestimmt was. und sonst: selbst malen =)

radbruch
27.01.2007, 01:22
Erst mal abwarten, ich habe jetzt Zugriff auf einen recht neuen Tintenspritzer, der scheint das ganz gut zu können. Und beim Scheibenbasteln hatte ich eine klasse Idee für meine nächsten asuro-Experimente. Es gibt viel zu erforschen.

Gruß

mic

[Edit]
Das ist nun aus dieser Idee geworden:

https://www.roboternetz.de/phpBB2/viewtopic.php?t=32143

damaltor
27.01.2007, 11:59
na das klingt doch schonmla sehr vielversprechend. erzähl mal von deinen erfahrungen mit den neuen scheiben!

Sternthaler
22.05.2007, 02:02
Jetzt muss ich doch auch mal mitmachen, wenn ich schon erwähnt werde. (Boh man, ich fasse es nicht)

In dem Thread von dorothea (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=254640#254640) hab ich erzählt, warum ich meine Test eingestellt habe.

@Hans Z
Ich bin hier jetzt richtig neugierig, mit was für einem Drucker / Tinte / Papier du die guten Ergebnisse erreicht hast.
Bei mir sprudelt noch ein locker 10 Jahre alter 'EPSON Stylus Color 640' Tinte von Pelikan auf stinknormales Kopiererpapier.
In dem oben angegeben Eintrag hatte ich davon berichtet, dass ich erst zu 'harten Bandagen' (Edding-Stift) greifen musste um Kontrast für den Asuro zu bekommen.

Volley
22.05.2007, 12:07
Ich habe schon ein wenig mit selbstgedruckten Encoderscheiben, auch mit anderen Roboterprojekten experimentiert bzw experimentieren lassen.
Ergebnis:
- sehr schlecht mit meinem Tintenstrahldrucken (Canon Pixma IP4000)
- sehr gut mit meinem Laserdrucker
- auch unser Schulkopierer liefert brauchbare Encoderscheiben

Sternthaler
22.05.2007, 23:40
Toll, danke für die Alternativen.
- Laserdrucker steht in der Firma.
- Kopierer in der Firma ist auch nicht von schlechten Eltern. (Da kann man sogar vom PC aus drauf drucken)

Das muss ich auch mal probieren. (Kann aber wieder etwas dauern)
Jetzt nehme ich natürlich deinen schönen Musterbogen :-)

mausi_mick
25.07.2007, 07:52
danke für die superschnelle Antwort, werde sie gleich testen

inka
21.10.2007, 18:19
Ich stelle mal mein Datenlogger Programm rein. Dann könnt Ihr bei Bedarf etwas experimentieren.

und diese Daten dann in Excel importieren. Excell interpretiert das Trennzeichen ";" als Feldende. Danach die Graphik zeichnen lassen.


hier habe ich die daten:

Schreibe Daten.....
lfd Zeit, OdoLinks, OdoRechts
=============================
0; 1584; 21; 22
1; 1585; 24; 27
2; 1586; 739; 22
3; 1587; 761; 588
4; 1588; 774; 850
5; 1589; 700; 865
6; 1590; 24; 135
7; 1591; 22; 21
8; 1592; 28; 20
9; 1593; 773; 21
10; 1594; 765; 25
11; 1595; 756; 751
12; 1596; 783; 835
13; 1597; 77; 843
14; 1598; 28; 72
15; 1599; 253; 22
16; 1600; 784; 20
17; 1601; 764; 21
18; 1602; 768; 28
19; 1603; 796; 24112
20; 1604; 799; 4520
21; 1605; 785; 21
22; 23451; 791; 22
23; 23451; 447; 28
24; 23452; 26; 396
25; 23453; 22; 838
26; 23454; 34; 854
27; 23455; 799; 655
28; 23456; 779; 24
29; 23457; 778; 21
30; 23458; 770; 20
31; 23459; 35; 23
32; 23460; 31; 274
33; 23461; 53; 833
34; 23462; 792; 844
35; 23463; 777; 770
36; 23464; 789; 35
37; 23465; 590; 27
38; 23466; 23; 23
39; 23467; 22; 23
40; 23468; 30; 40
41; 23469; 795; 829
42; 23470; 775; 845
43; 23471; 780; 737
44; 23472; 312; 26
45; 23473; 23; 20
46; 23474; 24; 21
47; 23475; 284; 21
48; 23476; 774; 499
49; 23477; 757; 849
50; 23478; 777; 833
51; 23479; 404; 29
52; 23480; 24; 21
53; 23481; 22; 20
54; 23482; 57; 21
55; 23483; 782; 30
56; 23484; 764; 809
57; 23485; 781; 825
58; 23486; 37; 843
59; 23487; 28; 562
60; 23488; 27; 22
61; 23489; 31; 23
62; 23490; 775; 23
63; 23491; 760; 30
64; 23492; 774; 642
65; 23493; 595; 836
66; 23494; 24; 845
67; 23495; 22; 666
68; 23496; 32; 24
69; 23497; 791; 21
70; 23498; 768; 20
71; 23499; 766; 21
72; 23500; 776; 160
73; 23501; 34; 839
74; 23502; 30; 857
75; 23503; 505; 499
76; 23504; 779; 24
77; 23505; 761; 20
78; 23506; 772; 22
79; 23507; 674; 22
80; 23508; 27; 468
81; 23509; 26; 836
82; 23510; 39; 843
83; 23511; 795; 410
84; 23512; 773; 24
85; 23513; 776; 22
86; 23514; 738; 23
87; 23515; 29; 28
88; 23516; 26; 648
89; 23517; 51; 842
90; 23518; 802; 858
91; 23519; 779; 442
92; 23520; 789; 22
93; 23521; 595; 21
94; 23522; 22; 20
95; 23523; 22; 24
96; 23524; 32; 537
97; 23525; 793; 839
98; 23526; 775; 853

ich bin mir nicht sicher ob sich aus diesen daten überhaupt eine sinuskurve erzeugen lässt? davon mal abgesehen dass ich, als es in der schule durchgenommen wurde, wohl gefehlt haben muss :-(

wie mache ich das?

danke...

Sternthaler
21.10.2007, 19:58
Hallo inka,
na, machst du deine ODO-Scheiben nun selber?

Hier mal eine kurze Anleitung, um aus deinen Daten ein Bildchen in EXCEL zu machen.
(Bis auf 2 Datenausrutscher bei lft = 19, 20 werden aber nette Kurven geliefert.)

- EXCEL starten
---- Daten importieren
- Menü: Daten -> Extern Daten -> Textdatei importieren ...
- Die Datei mit deinen Messwerten aussuchen und den Knopf 'Importieren' drücken
- Im 'Textkonvertierungs-Assistent - Schritt 1 von 3'
--- 'Import beginnt in Zeile' auf 4 einstellen
--- Knopf 'Weiter >' drücken
- Im 'Textkonvertierungs-Assistent - Schritt 2 von 3'
--- Bei den Trennzeichen noch den Klicker vor 'Semikolon' markieren
--- Knopf 'Weiter >' drücken
- Im 'Textkonvertierungs-Assistent - Schritt 2 von 3'
--- Knopf 'Fertig stellen' drücken
- Noch einmal 'OK'-Knopf drücken, und die Daten sind in EXCEL

---- Bildchen aus den Daten machen
- (Bei Lust und Laune erst die Daten in Zeile 20 und 21 auf 850 setzen. Solltest du machen.)
- Markieren der Spalten C und D.
- Menü: Einfügen -> Diagramm ...
- Im 'Diagramm-Assistent - Schritt 1 von 4'
--- Diagrammtyp 'Linie' auswählen
--- Knopf 'Fertig stellen' drücken.

--> Das war's

Gruß Sternthaler

inka
21.10.2007, 20:36
hi sternthaler,

ja, ich habe inzwischen odo-scheiben mit durchlicht, zunächst nur mit 8 löchern, an weiteren wird gearbeitet...
------------
danke für die ausführliche anleitung, so, oder so ähnlich habe ich das auch gemacht (war also doch in der schule):-), aber egal welchen typ der liniengrafik ich auswähle, es sieht nicht nach einer sinuskurve aus...
http://www.a-g-k.com/_asuro/fotos/sinus_1.jpg

wie kommt das?

damaltor
21.10.2007, 23:23
es scheinen die mittleren werte zu fehlen.. die meisten werte sind im oberen und im unteren ende. dadurch entsteht keine kurve denk ich mal.

inka
22.10.2007, 11:09
hi damaltor,
hängt das mit der durchlichtvariante der lichtschranke zusammen? ich habe ja keine reflexion und dreieckige sw/ws flächen, sondern runde löcher - entweder licht, oder dunkel...keine zwischenwerte

radbruch
22.10.2007, 12:23
Hallo


..hängt das mit der durchlichtvariante der lichtschranke zusammen?
Ja. Normalerweise ist der Übergang der ODO-Werte stufenlos von weis nach schwarz und zurück. Bei Löchern in der Encoderscheibe sind die Werte von langen "kein Loch"-Phasen über kurze "Lochrand"-Phasen bis "mitte Loch" verteilt und haben natürlich nicht mehr den sinusförmigen Verlauf der orginalen Scheiben.


dreieckige sw/ws flächen
Die Form der Flächen "sieht" der Fototransistor nicht. Er erkennt nur einen sehr kleinen, kreisförmigen Bereich auf der Encoderscheibe.

Gruß

mic

inka
22.10.2007, 12:35
hi mic,
der fototransistror erkennt aber offensichtlich auch irgendwelche "grauen" zwischenwerte - sonst könnte doch bei der original encoderscheibe keine sinuskurve entstehen, oder?
habe ich das jetzt richtig verstanden, dass der lichtstrahl ununterbrochen zwischen sender und empfänger "steht" und durch die encoderscheibe in die anzahl ticks zerteilt wird wie die scheibe löcher hat?

radbruch
22.10.2007, 20:01
Hallo inka

Der Fototransistor empfängt alles Licht, dass auf ihn trifft und ändert deshalb laufend seinen Widerstand. Allerdings ist nicht nur ein Punkt auf der Encoderscheibe ausschlaggebend, vielmehr wirkt alles was im "Sichtbereich" liegt. Eine durch ein Loch scheinende LED hat eine scharfe Begrenzung und deshalb ist der Werteverlauf am Transitor hier sprunghaft und nicht stetig.

Gruß

mic

damaltor
22.10.2007, 20:37
hm aber die halb-loch-bereiche müssten doch auch auftauchen... immerhin sind sie ungefähr so breit wie auch der schwarz-zu-weiss übergang, der ja auch nicht fliessend ist auf der scheibe sondern hart abgegrenzt.

Sternthaler
22.10.2007, 22:30
Hallo zusammen,
hier doch mal ein Bild mit den Linien. Aber nur ein kleinerer Datenausschnitt.
Hier sieht man, dass die von mir angemerkten "2 Datenausrutscher bei lft = 19, 20" eher nach 'unten' anstatt nach 'oben' justiert werden müssten.

Starke Sache inka, die du da gebaut hast :arrowu:. Hat es bestimmt noch nicht in der Schule gegeben. ;-)
Kannst du mal ein Bild vom Umbau posten? Da würde mich schon mal die Lichtabschirmung interessieren, da der Kontrast zwischen hell und dunkel ja enorm groß ist. Hast du das Ganze mal bei grellem Sommer-Sonnenlicht ausgemessen? OK, ich warte noch ein halbes Jahr ;-)

Und wie radbruch und damaltor schon schreiben: Wenn das 'Loch' von der ODO-Scheibe, mal gerade so halb vor dem Lichtstrahl steht, dann werden auch hier Messwerte 'zwischen' den Max- und Min-Werten ermittelt. Aber das sieht man ja, dass das nur sehr selten ist.

Gruß Sternthaler

damaltor
23.10.2007, 03:03
aber an sich muss man sagen: offensichtlich funktionierts, die zwischenwerte sind ja (relativ) uninteressant, wichtig sind die extremwerte. und die kommen sehr schön raus.

inka
23.10.2007, 10:04
hi allerseits,
klar kann ich ein foto reinstellen...
Leider nicht in allen einzelheiten, weil die fotos, die ich während des aufbaus gemacht habe irgendwo beim umzug auf irgendwelcher festplatte auf irgedwelchem rechner verschwunden sind. Wahrscheinlich auf der festplatte die den umzug nicht überlebte. Murphy...

Deshalb eine kurze beschreibung der innereien:
- die ganze geschichte ist auf der unterseite angebracht
- die ursprünglichen sensoren (hinten) wurden ausgelötet
- in die löcher für die "vorderen" sensoren wurden isolierte massiv/klingen-drahtstücke (blaue schleifen auf dem bild) eingelötet
- andere seiten der drahtstücke sind in einer platine (12x3 lötaugen, einseitig kaschiert) eingelötet und mit den sensoranschlüssen verbunden (cu-wirewrapdraht)
- die seite der platine mit den dünnen drähtchen ist mit einer epoxysharzmasse vegossen
- an dieser epoxymasse ist der weisse winkel als schutz vor seitlichem streulicht mit doppeseitigem klebebend angeklebt
- durch die drahtschleifen an den anschlussdrähten ist die platine so flexibel angebracht, dass sich im eingebautenn zustand die zahnräder wechseln lassen

damaltor
23.10.2007, 11:01
stark. sieht hoch pofessionell aus, und funktioniert offensichtlich sehr gut. tolle idee!

RobyNeuling
05.03.2009, 16:56
ich hab ne kleine trick um sie glänzen zu lassen hab den nagellack von meiner mutter genommen O:)