Absender: Achim Pankalla
Datum: So, 06.05.2007 18:53:09
In-reply-to:
<38A4BFD9-CA32-436A-9A1E-B4E6E0652A5D@xxxxxxxxxxxxxxx>
References:
<BCF016D5ED5AC34FBB655D109519ABCF083EBE@xxxxxxxxxxxxxxxxxxxx> <45ED3B46.4030400@xxxxxx> <45EF385C.3080609@xxxxxx> <A2ED0A68-A8F1-438A-B1E3-18033ED489E3@xxxxxxxxxxxxxxx> <45F135B9.5030203@xxxxxx> <45F13A91.6090904@xxxxxxxx> <D053B7F5-6BDD-4052-B45F-28FCF0EF45F8@xxxxxxxxxxxxxxx> <45F2B74F.8090706@xxxxxx> <38A4BFD9-CA32-436A-9A1E-B4E6E0652A5D@xxxxxxxxxxxxxxx>
hallo, weil 60kb überschritten, die docu als extra-patch. gruss a. pankalla
### Eclipse Workspace Patch 1.0 #P ct-Bot Index: Documentation/eeprom-simulation.html =================================================================== RCS file: Documentation/eeprom-simulation.html diff -N Documentation/eeprom-simulation.html --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ Documentation/eeprom-simulation.html 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,146 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> + <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252"> + <TITLE></TITLE> + <META NAME="GENERATOR" CONTENT="OpenOffice.org 2.2 (Win32)"> + <META NAME="AUTHOR" CONTENT="Achim Pankalla"> + <META NAME="CREATED" CONTENT="20060528;19455600"> + <META NAME="CHANGEDBY" CONTENT="Achim Pankalla"> + <META NAME="CHANGED" CONTENT="20070505;21065990"> + <STYLE TYPE="text/css"> + <!-- + @page { size: 21cm 29.7cm; margin: 2cm } + P { margin-bottom: 0.21cm } + --> + </STYLE> +</HEAD> +<BODY LANG="de-DE" DIR="LTR"> +<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><B>EEPROM Simulation für +PC</B></P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT SIZE=3><B>Author: </B></FONT> +</P> +<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Achim Pankalla +(achim.pankalla@xxxxxx)</FONT></P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><B>Beschreibung:</B></P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm; font-style: normal">Die +EEPROM Simulation für den PC stellt das EEPROM des <I>Atmel +MEGA32 Prozessor</I> auch dem Simulierten ct-bot zur Verfügung. +Der Zugriff auf dieses EEPROM erfolgt über gleichnamige +Funktionen, wie sie auch der avr-gcc besitzt und auch die +Variablendefinition erfolgt über die gleichen Konstrukte. Eine +Unterscheidung über #ifdef's ist also nicht notwendig.<BR>Durch +diese EEPROM-Simulation, ist der Simulator dem realen Bot ein schritt +näher gekommen und Programme mit EEPROM-Zugriffe können mit +der Simulation getestet werden.</P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-style: normal"><B>Implementierung:</B></P> +<P STYLE="margin-bottom: 0cm">Alle Funktionen und Einstellungen der +EEPROM Simulation findet Sie in den Dateien <I>pc/eeprom-emu_pc.c</I> +und <I>include/eeprom-emu.h</I>. Das EEPROM selbst wird durch eine +Binäre Datei (genau 1K bzw. 2K gross) repräsentiert (und +kann so mit einen HexEditor bearbeitet werden), deren Pfad in der +C-Datei festgelegt wird. Standard Pfad ist das Heimatverzeichnis des +Ct-Sim. Natürlich können Sie das jederzeit ändern, +dies geht über die Konstante <FONT COLOR="#000000"><FONT FACE="Courier New, monospace"><FONT SIZE=2>EEPROM_FILENAME. +</FONT></FONT></FONT><FONT COLOR="#000000"><FONT FACE="Times New Roman, serif">B</FONT></FONT><FONT FACE="Times New Roman, serif">itte +beachten Sie aber das Verdoppeln des Backslash im Verzeichnispfad. +Der Name </FONT><FONT FACE="Times New Roman, serif"><I>eeprom.bin</I></FONT><FONT FACE="Times New Roman, serif"> +sollte dabei belassen werden.</FONT><BR>Die Datei wird automatisch +neu angelegt, wenn sie noch nicht existiert. Dann besteht der Inhalt +nur aus 0xFF, wie es auch beim unintialisierten EEPROM des Atmel der +Fall ist.<BR>Damit die EEPROM-Funktionen des PC korrekt auf die Datei +zugreifen können und nur ein Adressraum von 0 bis 1023(2047) +entsteht, wie es auch beim avr-gcc verwalteten ist, gibt es die +externe Variable „_eeprom_start__“. Diese enthält +die Startadresse der ersten Variable im Segment .eeprom und dieser +Wert wird dann von der übergebenen Adresse subtrahiert. Damit es +diese Variable gibt, müssen Sie das Linkerscript +„linker_script.lk“ an den Linker übergeben. Dies +machen Sie mit den Parameter <I>-T</I> der Linkers. Tragen sie in +Eclipse dies unter Project->Properties->C/C++ +Build->Linker->Miscellaneous->Linker flags „-T +linker_script.lk“ ein. Die Datei muss dann natürlich im +Debug-W32/Linux Verzeichnis vorhanden sein.<BR>Wie auch beim MCU +Projekt wird nun auch beim Erstellen eines ct-sim bot die Datei +ct-bot.eep erstellt, die die Initialisierungswerte der EEPROM +Variablen enthält. Dafür muss unter +Project->Properties->C/C++ Build->Build Steps->Post Build +steps der Befehl eingetragen <I>objcopy -j .eeprom +--change-section-lma .eeprom=0 -O ihex ct-Bot.exe ct-Bot.eep</I> +sein. Dies müssen Sie natürlich nur in der Konfiguration +DEBUG-W32/Linux machen.</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-style: normal"><FONT COLOR="#ff0000"><FONT SIZE=4 STYLE="font-size: 15pt"><B>Achtung!!</B></FONT></FONT><BR>Beachten +Sie die Zeigerarithmetik von C. Alle eeprom-Funktionen erwarten, wie +beim avr-Compiler Pointer auf uint8 oder uint16 als Adressparameter. +Damit auch alles sicher klappt sollten bei berechneten Adressen wie +folgt vorgegangen werden.<BR>z.B. eeprom_read_word((uint16 *) +(SCT_LEFT + i*2))</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-style: normal"><B>eeprom_map.h</B></P> +<P STYLE="margin-bottom: 0cm; font-style: normal; font-weight: medium"> +Enthält Deklarationen aller erstellten EEPROM Variablen.</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-style: normal"><B>Probleme der +Implementierung</B></P> +<P STYLE="margin-bottom: 0cm; font-style: normal; font-weight: medium"> +Im Moment erstellen gleiche Compilerversionen (zu Überprüfen +mit –version) auch gleiche EEPROM-Sections. Es gibt aber keine +Garantien dafür, das zukünftige Compiler Versionen nicht +die Reihenfolge der Variablen im Code ändern. Ein Einfügen +neuer EEPROM Variablen kann auch zu Verschiebungen der Adressen +führen. Nach solchen Änderungen ist man nur auf der +sicheren Seite, wenn das EEPROM initialisiert wird (sprich Sie Ihre +alte eeprom.bin bzw. auf den Atmel das EEPROM löschen). Einmal +erstellte Werte sind dann natürlich futsch. Wenn man den +Einfluss von Kodeergänzungen kontrollieren will, kann man dies +vor und nach der Änderungen mit objdump machen, mit den +richtigen Parametern kann man sich die Adressverteilung anzeigen +lassen.<BR>Die Implementierung des EEPROM auf den PC kontrolliert +noch nicht, ob nicht 1K bzw. 2K an Daten überschritten wird. Die +Funktionen für den Zugriff aber schon, dh im Moment muss der +Programmierer selbst darauf achten, das seine Daten nicht mehr als +ein Kilobyte werden. (Spätestens der avg-gcc wird dann aber +meckern). +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><B>Funktionen:</B></P> +<P STYLE="margin-bottom: 0cm"><B>Nur in eeprom-emu_pc.c sichtbare +Funktionen</B></P> +<P STYLE="margin-bottom: 0cm">store_parameter() - Speichern von +Informationen im simulierten EEPROM</P> +<P STYLE="margin-bottom: 0cm">load_parameter() - Laden von +Informationen aus dem simulierten EEPROM</P> +<P STYLE="margin-bottom: 0cm"><B>Zugriffsfunktionen für den PC +(Identisch zu denen von WinAVR)</B></P> +<P STYLE="margin-bottom: 0cm">eeprom_read_byte()</P> +<P STYLE="margin-bottom: 0cm">eeprom_write_byte()</P> +<P STYLE="margin-bottom: 0cm">eeprom_read_word()</P> +<P STYLE="margin-bottom: 0cm">eeprom_write_word()</P> +<P STYLE="margin-bottom: 0cm">eeprom_write_block()</P> +<P STYLE="margin-bottom: 0cm">eeprom_read_block()</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><FONT SIZE=3><B>Dateien:</B></FONT></P> +<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>eeprom-emu.h Include +Dateinamen mit Funktionsparameter</FONT></P> +<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>eeprom-emu_pc.c Funktionen +fuer den ct-Sim</FONT></P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm"><BR> +</P> +<P STYLE="margin-bottom: 0cm; font-style: normal"><BR> +</P> +</BODY> +</HTML> Index: Documentation/Abstandssensor-Kalibrierung.html =================================================================== RCS file: Documentation/Abstandssensor-Kalibrierung.html diff -N Documentation/Abstandssensor-Kalibrierung.html --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ Documentation/Abstandssensor-Kalibrierung.html 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,184 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML> +<HEAD> + <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252"> + <TITLE></TITLE> + <META NAME="GENERATOR" CONTENT="OpenOffice.org 2.1 (Win32)"> + <META NAME="CREATED" CONTENT="20060508;19143406"> + <META NAME="CHANGEDBY" CONTENT="Achim Pankalla"> + <META NAME="CHANGED" CONTENT="20070401;19571565"> + <STYLE> + <!-- + @page { size: 21cm 29.7cm } + H2.western { font-family: "Albany", sans-serif; font-size: 14pt; font-style: italic } + H2.cjk { font-family: "HG Mincho Light J"; font-size: 14pt; font-style: italic } + H2.ctl { font-family: "Arial Unicode MS"; font-size: 14pt; font-style: italic } + --> + </STYLE> +</HEAD> +<BODY LANG="de-DE" DIR="LTR"> +<H2 CLASS="western">Abstandssensorkalibrierung mittels EEPROM-Tabelle</H2> +<P STYLE="margin-bottom: 0cm">Version 0.7 (03-April-2007)<BR><BR>Peter +Jonas (peter.jonas@xxxxxx) +</P> +<P STYLE="margin-bottom: 0cm">Achim Pankalla (achim.pankalla@xxxxxx)</P> +<HR> +<P ALIGN=CENTER><U><B>Einleitung</B></U></P> +<P ALIGN=LEFT>Mit diesem Behaviour kann mittels einer EEPROM-Tabelle +die Kalibrierung der Distanzsensoren durchgeführt werden. Dies +gilt auch für den ct-bot, sowohl als realen Bot auch als für +den im Ct-Sim. Der Vorteil dieses Verfahrens sind. <BR>1) Beruhigte +Messwerte (Natürlich nur beim realen Bot, im Sim rauschen die +Werte (noch) nicht.)<BR>2) Beide Sensoren liefern bei gleichen +Distanzen identische Werte.<BR>3) Die Messwerte liegen fest, dh. Man +kann ohne Probleme im Code bestimmte Abstände abfragen. <BR><BR><BR> +</P> +<P ALIGN=CENTER><U><B>Einstellungen im Quellkode</B></U></P> +<P ALIGN=LEFT>Die Kalibrierung wird über mehrere <I>#defines</I> +in der Datei available_behaviours<I>.h</I> und <I>sensor_correction.h</I> +gesteuert: +</P> +<P ALIGN=CENTER><BR><FONT COLOR="#ff0000">#define +<FONT SIZE=3><FONT FACE="Times New Roman, serif">BEHAVIOUR_CALIBRATE_DSENSORS</FONT></FONT></FONT></P> +<P ALIGN=LEFT>Wenn diese Zeile aktiviert ist, geht der Roboter in den +Kalibrierungsmodus. Diese Einstellung ist nur einmal notwendig, um +die Kalibrierung der Sensoren durchzuführen. Im späteren +normalen Roboterbetrieb ist diese Zeile zu deaktivieren. +</P> +<P ALIGN=CENTER><BR><FONT COLOR="#ff0000">#define +<FONT FACE="Times New Roman, serif">SENSOR_TABLE_AVAILABLE</FONT></FONT><BR><BR><BR> +</P> +<P ALIGN=LEFT>Wenn diese Zeile aktiviert ist, wird im normalen +Roboterbetrieb eine im EEPROM abgelegte Tabelle für die +Linearisierung der Distanzsensoren benutzt. Wenn diese Zeile +deaktiviert ist, wird die ursprüngliche Linearisierung der +Sensoren über die einfache Hyperbelfunktion durchgeführt. +</P> +<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><FONT COLOR="#ff0000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>#define</B> +SAMPLES_PER_AVG</FONT></FONT></FONT></P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><BR> +</P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><FONT COLOR="#000000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Anzahl +der Messungen pro Abstand, die zur Mittelwertberechung genutzt +werden.</FONT></FONT></FONT></P> +<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><FONT COLOR="#ff0000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>#define</B> +<FONT FACE="Courier New, monospace">SC_STARTDIST</FONT></FONT></FONT></FONT></P> +<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><BR> +</P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><FONT COLOR="#000000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Abstand +in Zentimeter, bei dem die Messreihe beginnt. Dieser Wert muss dort +liegen, wo die Sensoren ihre hoechsten Werte liefern und dann den Bot +noch ein kleines Stuck weiter. Acht Zentimeter hat sich als guter +Wert erwiesen. </FONT></FONT></FONT> +</P> +<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><FONT COLOR="#ff0000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>#define</B> +<FONT FACE="Courier New, monospace">SC_STEPWIDTH</FONT></FONT></FONT></FONT></P> +<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><BR> +</P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><FONT COLOR="#000000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Abstand +zwischen den Messpunkten. Mit der aktuellen Auswertungsfunktion wird +dieser Wert halbiert und man erhält so die Genauigkeit der +ermittelten Werte. Bei mir hat sich der Wert 4 als gut erwiesen. Der +Bot kann dann auf 20mm die Werte auflösen und diese sind auch +sehr stabil. Der Wert entspricht natürlich Zentimeter. Man +sollte aber auf eine Gesamtdistanz von mindestens 80cm kommen. +Notfalls den folgenden Wert erhöhen.</FONT></FONT></FONT></P> +<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><FONT COLOR="#ff0000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3><B>#define</B> +<FONT FACE="Courier New, monospace">SC_NO_OF_STEPS</FONT></FONT></FONT></FONT></P> +<P ALIGN=CENTER STYLE="margin-bottom: 0cm"><BR> +</P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><FONT COLOR="#000000"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>Dieser +Wert legt fest, wie viele Messungen gemacht werden. Man sollte nicht +uber eine Gesamtdistanz von ca. 80cm kommen, da die Sensoren mehr +nicht hergeben und Werte zu dicht beieinander liegen. Der Wert gibt +die Anzahl der Messungen ohne Startwert an, dh. Für insgesamt 16 +Messungen, muss man hier 15 eintragen. Es nur ein <U>Maximum von 29</U> +zulässig.</FONT></FONT></FONT></P> +<P ALIGN=LEFT STYLE="margin-bottom: 0cm"><BR> +</P> +<P ALIGN=CENTER><U><B>Kalibrierung</B></U></P> +<P ALIGN=LEFT STYLE="font-weight: medium; text-decoration: none">Eine +wichtige Bemerkung vorweg, bei der Aufnahme der Werte müssen Sie +natürlich sehr exakt sein. Je genauer Sie arbeiten, um so besser +das Ergebnis. Gerade in den Werten nahe der 8cm bedeutet ein +ungenauer Abstand auch entsprechend abweichende Werte, da hier die +Sensorkurve sehr steil verläuft. Sorgen sie außerdem +dafür, das der Bot immer senkrecht auf ihren Messabstand, am +besten eine ebene Wand, schaut.</P> +<P ALIGN=LEFT><BR>Im Kalibriermodus sieht man auf dem Display +zunaechst ein Menue. Man wird aufgefordert, den Roboter auf eine +bestimmte Distanz in cm zur Wand zu stellen. Wenn man das gemacht +hat, drueckt man die Taste "2" auf der Fernbedienung. (Kann +beim erstenmal zweimal notwendig sein.) Es wird nun aus den folgenden +vorgegebenen Zahl von Meßwerten pro Sensor ein Mittelwert +gebildet. Dieser Wert wird dann in den beiden Tabellen (links und +rechts getrennt) im EEPROM abgelegt. Danach wird man aufgefordert, +eine neue Distanz einzustellen und der Vorgang beginnt von vorn. +<BR><BR>Nach SC_NO_OF_STEPS Messungen ist die Kalibrierung +abgeschlossen. Die Sensorwerte fuer die SC_NO_OF_STEPS Abstaende sind +nun im EEPROM. (Meldung in Zeile drei des Displays) Man kann aber mit +den Tasten „1“ (zurueck) und „3“ (vor) +nochmal zu einzelnen Werten gehen und diese nochmal wiederholen, +solang der letzte Wert nicht schon gemessen wurde.<BR>Mit der Taste +"0" kommt man in den normalen Roboterbetrieb zurueck und +kann die Kalibrierung gleich testen (SENSOR_TABLE_AVAILABLE muss +dafuer definiert sein). Dies ist auch bei nicht vollstaendiger +Kalibrierung moeglich aber nicht sinnvoll, wenn man die +EEPROM-Tabelle fuer die Sensoren nutzen moechte. Zu beachten ist, das +die Normale Belegung der Zahlentasten nicht gegeben ist, da diese +fuer Kalibrierung genutzt wurden.</P> +<P ALIGN=LEFT>Waehrend des Kalibrierungsvorgangs, zeigt die dritte +Zeile des Displays immer die aktuellen Messwerte an (waehrend des +Kalibrierungsvorgangs, MWert) oder das gemittelte Ergebnis an +(EWert). Die Anzahl der Messungen pro Entfernung legt uebrings das +<I>#define <FONT COLOR="#000000"><FONT SIZE=2><FONT FACE="Courier New, monospace">SAMPLES_PER_AVG</FONT></FONT></FONT></I><FONT COLOR="#000000"> +<FONT FACE="Times New Roman, serif">fest, dies befindet sich in +<I>calibrate_sensors.c.</I></FONT></FONT><BR>Wenn die Sensoren im +Normalbetrieb Distanzen messen, die außerhalb des eingestellten +Distanzbereiches der EEPROM-Tabelle liegen, wird der Werte aus der +Konstanten <FONT SIZE=2><FONT FACE="Courier New, monospace"><FONT COLOR="#000000">SENS_IR_INFINITE</FONT></FONT></FONT> +ausgegeben. <BR><BR>Im EEPROM werden fuer den Distanzbereich +SC_NO_OF_STEPS Messwerte pro Sensor gespeichert. Da die Sensoren +jedoch auch Werte fuer Distanzen zwischen den gemessenen Distanzen +ausgeben, wird im laufenden Betrieb des Roboters zwischen den +Stuetzwerten interpoliert, um fuer jeden Sensorwert einen mm-Wert +liefern zu koennen. <BR><BR>Beim Flashen muß man aufpassen, +dass die Tabelle im EEPROM nicht ueberschrieben wird, deshalb sollte +man sie unmittelbar nach der Kalibrierung zunaechst sichern. Bei +PonyProg zb. Mit der Funktion <I>Command->Read Data</I> und diese +dann auch auf der Platte sichern. <BR>Um spaeter ein Programmupdate +zu flashen, liest man die Programm-Hexdatei mit "Open Program +(Flash) File ..." ein und flasht es dann mit "Write Program +(Flash)" und dann muss man die EEPROM-Datei wieder neu +aufspielen, da diese durch das Flashen des Programms geloescht +werden<BR>Speichert man den EEPROM-Bereich im BIN-Format, kann diese +Datei direkt auch fuer den ct-Sim nutzen.</P> +<P ALIGN=CENTER><B>Nutzung der Kalibrierdaten</B></P> +<P ALIGN=LEFT>Hat man das Define <I>SENSOR_TABLE_AVAILABLE</I> in +ctbot.h gesetzt, so werden die Daten in der Funktion <I>sensor_abstand</I> +in <I>sensor.c</I> genutzt, um aus den aktuellen Messwerten der +Abstandssensoren moeglichst genaue und ruhige Abstaende zu bestimmen. +Dafuer wird beim ct-bot nochmal die Genauigkeit der Werte durch eine +Mittlung ueber mehrere Werte erhoeht.<BR>Beim Simulator ist die +Nutzung der Kalibrierdaten auch moeglich. In dem man die +EEPROM-Simulation benutzt und die Werte vom realen Bot in einer Datei +im BIN-Format ablegt und diese ins entsprechende Verzeichnis ablegt. +(Siehe auch Docu fuer parameter-low).</P> +<P ALIGN=CENTER><B>Vorteile und Nachteile der Kalibrierung</B></P> +<P ALIGN=LEFT>Vorteile <BR>- Ueber Tabellen im EEPROM liefern die +Distanzsensoren stabile werte. <BR>- Beide Sensoren sind nun +kalibriert und liefern deshalb die gleichen Abstandswerte für +die gleichen Entfernung, sind aber weiter unabhängig +voneinander! <BR><BR>Nachteile<BR>- Eingeschränkte Auflösung +der Distanzwerte (bei mir 10mm Auflösung noch super ruhig)<BR>- +Kleinster Kalibrierabstand ist 2cm, damit erreicht man eine Auflösung +von 1cm (10mm). <BR>- Man muss die Anleitung lesen ;-) +</P> +<P ALIGN=CENTER><FONT COLOR="#ff0000"><I><U><B>ACHTUNG!</B></U></I></FONT></P> +<P ALIGN=LEFT>Fuer die Nutzung der Kalibrierung ist es wichtig, das +die Konstanten (DEFINEs) immer die Werte haben, die auch bei der +Aufnahme der Daten aktuell waren. Die neue Version der +Kalibrierfunktion (Docu-Version ab 0.5) ist nicht kompatible mit +BIN-Dateien vorheriger Versionen.</P> +</BODY> +</HTML>