Hallo!!! Also wie gesagt habe ich noch nicht so viel Ehrfahrung auf dem Gebiet! Habe auch schon im Forum geschaut aber leider nix passendes gefunden! Ich würde gern eine Distanzmessung (0-100mm) mit Laser durchführen (Genauigkeit 0,02mm). Zur Verfügung habe ich einen Balluff BOD 26K. Prinzip: -Laser wird am Objekt genullt -Objekt wird durch ein anderes Objekt verdeckt -Abstandsänderung wird erfasst -Abstandsdifferenz wird auf Display ausgegeben Jetzt hätte ich folgende Fragen: 1. Welches sind die Voraussetzungen für eine solche Schaltung (IC usw.)? 2. Gibt es fertige Bausätze die das schon können und an denen nur programmieren notwendig ist? 3. Wie wird die Distanz am Laser ausgegeben? ( Volt, Ampere) Im Moment fällt mir nichts mehr ein. Nett wären ein paar Ratschläge oder Links die sich mit dem Thema beschäfigen. Danke euer Boony
Sorry!!! Die Genauigkeit sollte im Zehntelbereich liegen!!! Also +-0,1mm anstatt +-0,02mmm!!!
was für gegenstände möchtest du den messen? holz wasser spiegel glas?
Hauptsächlich werden das wohl Plastik und Metall sein!!!
Also erst mal kurz nachdenken ! Messbereich 100m, Auflösung 0.02mm - merkst du 'was ? 100m ---- = 5.000.000 0,02mm
Kommt darauf an, was für einen 26K Sensor du hast. Es gibt welche, die einfach nur einen Ausgang schalten können und welche, bei denen die Entfernung als Spannung zwischen 0 und 10V raus kommt. Letztere könntest du evtl. über einen Spannungsteiler an nen ADC eines Mikrocontrollers hängen.
Danke erstmal für die schnellen Antworten!!! Es wird eine Spannung mit 0V-10V ausgegeben! welchen Prozessor sollte ich da am besten für nehmen, wenn da zB noch Taster und Leuchtdioden für die Abfrage mit dran müssten?
Da kannst du eigentlich nehmen, was du willst. Entweder einen AVR von Atmel oder eine PIC. Am bestenen mit integriertem Analog-Digital-Wandler. Vielleicht einen ATMega8, da gibts viele Anleitungen für. Bei den PIC-Controller kenn ich mich nicht so aus, was es da gibt. Oder du nimmst so eine Digitale-I/O Karte fürn PC.
Habe im Moment nen ATtiny13 MC!!! Weiss leider nicht ob ich sowas mit dem realisieren kann?! Was mir gerade noch auffällt, es wäre gut ein LCD mit dran zu haben. also fasse ich mal zusammen: -Am besten den MC gleich in einem Bausatz Der Bausatz...: -muss die Spannung vom Laser verarbeiten können (0-10V 3mA) -muss eine Ausgabe auf LCD haben -muss ca. 3 Taster haben -und ca. 3 Leuchtdioden Wäre über den einen oder anderen Vorschlag sehr dankbar! Habe im Netz schon folgendes gefunden: Conrad 190858 - 62 190818 - 62 Pollin http://www.pollin.de/shop/detail.php?pg=Nw==&a=MTQ5OTgxOTk=
Hi, der interne ADC beim AVR wird für die geforderte Auflösung/Genauigkeit nicht ausreichen, da ist dann was besseres externes fällig (vorrausgesetzt natürlich, daß der verwendete Laser/Sensor überhaupt entsprechende Daten liefern kann). Von PIC hab ich zwar auch keine Ahnung, dürfte aber vermutlich ähnlich aussehen. CU PS: Hab grad gesehen, es gibt auch PICs mit 12bit-ADC. Das könnte eventuell grad so reichen.
... nochwas: Bei den MYAVR Teilen beim C unbeding genau hinsehen/lesen und drauf achten, daß man KEINEN mit LPT-Anschluß erwischt (also insbesondere NICHT den 190818). CU
Mhhhhh.... hat den jemand eine Ahnung mit welchen MC es sonst funktionieren könnte? Um Missverständnisse mit dem Laser zu vermeiden, hänge ich den Link an! Vielleicht reichen die MyAVR Bausätze doch...?! [Balluff Laser] http://www.balluff.com/Balluff/de/ProductsChannel/Product+Detail/de/ProductDetail.htm?ProductID=BOD+26K-LA02-S4-C&ProductGroupGuid={DE880373-F109-4401-A4CD-F254A3C08A1F}&ProductGroupName=Optoelektronische%20Distanzsensoren
Dein Sensor erfast einen Bereich von 45 - 85 mm und bildet diese auf 0 - 10 V ab. Du willst 0,1 mm .
die würden also 8,x Bit reichen. Die 10 Bit vom Tiny 13 sind also eigentlich genug. Aber mit LCD etc. reichen die Pins nicht. Also MEGA xx, am besten fertiges Bord mit Display. gruß hans
Hallo Hans, Danke für deine Antwort. Kannst du mir bitte erklären wie du von der 400 auf die ausreichenden 8bit schliessen kannst? und kann der MyAVR auch bis 10V Einagangsspannung ab? Hat das alles nichts mit der Frequenz zu tun? Wenn würde ich mir den MyAVR mit dem ATmega8 bestellen!!! PS: ist grad im Angebot bei myAVR.de
Du kannst 40 mm auf 10 V abbilden und willst Stufen von 0,1 mm. Das heist du hast 400 Stufen a 0,025 V. Ein 8 Bit Wandler "erkennt" 2^8 = 256 Stufen Ein 9 Bit Wandler "erkennt" 2^9 = 512 Stufen Du brauchst 400 Stufen also 2^8,x. (also was zwischen 8 und 9) AVR Mega hat üblicherweise 10 Bit 2^10 = 1024 Stufen. Auch der Mega8. gruß hans
8 Bit = 256 'Schritte' (2^8 sprich 2 hoch 8, von 0 bis 255) 9 Bit = 512 'Schritte' (2^9) Bei 400 benötigten 'Schritten' Auflösung kommst Du mit 9 Bit hin, bei den vorhandenen 10 Bit wären es sogar 1024 'Schritte' - über das 2,5-fache der geforderten Auflösung. Hätte auch den Vorteil, daß man das letzte Bit rausnehmen kann, um weniger Jitter zu bekommen. KA, wie unterschiedlich die Ergebnisse zweier aufeinander folgender identischer Messungen sind. Allerdings, wenn ich die Post's hier drüber richtig verstehe, liefert der Laser den Abstand zwischen 45mm und 85mm - nicht wie im Anfangspost von 0mm bis 100mm anmerk
@Der wohl ahnungslose (damit er nicht Ahnungslos bleibt) Die Angaben oben fand ich sonderbar, daher habe ich in das Datenblatt bei Balluff geschaut. Dieses hätte eigentlich oben eingefügt/verlinkt gehört. Das der Messbereich bei 0 starten soll ist unüblich. gruß hans
Ja ihr habt vollkommen recht. Der Messbereich wurde von mir falsch angegeben, und ja das Datenblatt hätte ich im ersten Beitrag linken sollen...:-) Sorry... Allerdings habe ich gelesen das der ATMEGA 8 nur 8bit hat.
Der Mega 8 ist ein 8 Bit µC, das bedeutet, das er mit einer Datenbreite von 8 Bit arbeitet. Die 10 Bit sind die Auflösung des internen AD-Wandlers. Steht im Datenblatt: http://www.atmel.com/dyn/products/product_card.asp?part_id=2004 gruß hans
Genau wegen der Angabe 0-100mm (macht bei 0,1mm Auflösung == 1000 Stufen) kamen meine Vorbehalte wegen dem interner ADC beim AVR. Bei "nur" noch 400 Stufen sieht das natürlich schon etwas besser aus. Beachten sollte man aber auch den angegebenen Linearitätsfehler von 1%. CU
Habe heute erfahren das der Wert der Genauigkeit 0,02mm ist. Hiesse also das ich 2000 Schritte habe und dementsprechend mind. 11 bit benötige. Gibt es denn einen ATMega xx MC der dies kann? oder muss ich mich für einen anderen Bausatz entscheiden. Es sollte daher ein Bausatz sein weil ich mich mit der Elektronik nicht gut genug auskenne um selber so eine Steuerung zu entwerfe.
Habe soeben erfahren das der Wert der Genauigkeit 0,04mm sein soll. xD Ich hoffe endgültig. Also komme ich ja mit einem 10bit ADC im AVR zurecht oder nicht?
> Also komme ich ja mit einem 10bit ADC im AVR zurecht oder nicht?
Nein, denn Genauigkeit != Auflösung !!!!!
Ist aber weiter oben schon angesprochen worden.
Kann mir jemand dann ein Baustatz empfehlen mit dem sich mein Vorhaben realisieren lässt? Ich bräuchte ja dahingehend einen MC mit 12bit ADC...
Hallo Boony, dieser Ansatz ist falsch (d.h. nicht ganz richtig). Wenn der ausgesuchte Prozessor (hier MEGA8) alle Aufgaben erfüllen kann und du glaubst mit dieser Auswahl richtig zu liegen dann nimm ihn. Für Display, Tasten etc. gibt es unzählige Beispiele und Tutorien. Testbords gibt es auch massenhaft, und C ist kostenlos und gut. Was fehlt ist Auflösung des AD-Wandlers. Es gibt jedoch auch tausende von AD-Wandlern die sich problemlos an den MEGA8 anschliesen lassen. Da kann man z.B. bei Analog, Maxim, NXP, TI, Micrchip etc. das suchen was man braucht. Software und Beschreibungen dafür gibt es auch Masssig. Also definier mal die Aufgabe exakt (welches Bord, welche Versorgung, welches Display, evtl. Schnittstelle zum PC) und wichtig wie schnell und genau die Messung sein muß. Dann kann man dir am besten weiterhelfen. gruß hans
Hallo Hans, Also...wie gesagt bin ich neu auf dem Gebiet also verzeih bitte wenn ich noch nciht richtig weiss worauf ich achten muss oder wie mir hier am besten geholfen werden kann. Aber ich geb mein Bestes. ;-) Ich habe mich für den " myAVR Board MK2 USB PLUS" +LCD Addon entschieden, weil er meiner Meinung alles hat was ich benötige und soweit ich das beurteilen kann eine kostengünstige Lösung bietet. Mit den Tutorials hier vom Forum habe ich eigendlich schon eine sehr umfangreiche Wissenssammlung betreffend des Mega8! Zur Aufgabe: Ich möchte mit dem Laser (link weiter oben) eine Distanz messen, und zwar wenn möglich auf 0,04mm oder sogar noch genauer. Rechnerisch würde ich ja dann einen 12-Bit AD-Converter benötigen. Allerdings bin ich auch schon über Themen wie "Festkommaarithmetik" und das "AVR Tutorial: ADC" gestoßen. Ich hoffe das hilft euch bzw. MIR :-) weiter!!! Gruß Boony
Hallo Bonny, die Auswahl ist nicht schlecht. Wenn es geht, besorge doch noch den myTWI Temperatursensor und eine Laborkarte mit. Mit dem Sensor kannst du testen wie du Messwerte über TWI/I²C einliest und darstellst (eigentlich die ganze Aufgabe, ob Temperatur oder Strecke ist der Software egal). Du hast da Softwarebeispiele mit dabei. Auf der Laborkarte bauen wir dann deinen Messadapter mit einem AD-Wandler der ebenfalls TWI/I²C-Schnittstelle hat. Ich schau mal was da dann past. Hardwareseitig ist es dann recht einfach. Löten kannst du ja? Dann sollte es recht gut klappen. gruß hans
Hallo Hans, Vielen Dank für deine super Hilfe!!! Habe soeben alles bestellt auch den TempSensor und eine Laborkarte! Hoffe das alles nächste Woche bei mir eintrudelt :-) . Das Löten ist kein Problem.
Hallo Bonny, das mit dem I²C-Wandler ist jetzt abhängig von deinen Bezugsquellen. Das einfachste wäre ein Wandler von MAXIM und zwar der MAX127 http://datasheets.maxim-ic.com/en/ds/MAX127-MAX128B.pdf Der ist im DIP-Gehäuse und kann bis 10V messen. Also genau das was du brauchst! Analog hat auch einige gute mit I²C aber (fast) nur im SMD-Gehäuse. Für die Laborkarte braucht man dann eine Adapterplatine SMD-DIP (gibt es aber auch fertig). http://www.analog.com/static/imported-files/data_sheets/AD7992.pdf Der Messbereich geht nur bis zur Referenzspannung. Die 10 V müssen dann mit einem Spannungsteiler angepasst werden. Es gibt natürlich noch etliche andere Wandler mit I²C. Wenn du was anderes besorgen willst achte nur darauf, daß es wirklich I²C Bus ist, die Auflösung >=10 Bit ist, die Referenzspannung extern eingespeist werden kann und die Samplerate nicht zu klein ist (es gibt welche mit wenigen Messungen/Sekunde!). Wichtig für die Genauigkeit ist eine genaue Referenz. Dafür gibt es fertige Referenzspannungen. Für die o.a. Wandler ist eine Referenz von 4,096 V am besten geeignet. Hier auch mal Beispiele von MAXIM und Analog. http://datasheets.maxim-ic.com/en/ds/MAX6225-MAX6250.pdf http://www.analog.com/en/references/voltage- references/ref198/products/product.html Gibt es natürlich auch viele, aber hier auf DIP-Gehäuse und die Genauigkeit (=<0,05% ist locker drin). Viel Spass beim Datenblattstudium und Händlersuchen! gruß hans @alle Wer Bonny (bzw. uns) weitere Wandler empfehlen kann, immer zu!
Sooooo... Werde gleich zwei Samples bei Maxim bestellen. - Max127ACNG - MAX6241ACPA brauche ich sonst noch etwas? Ich denke das die Lieferung (Laut diesem Forum) 1-2 Wochen dauern könnte.
Soooooooo... gestern ist alles eingetroffen. Heute zusammengelötet und die Testprogramme laufen einwandfrei. Warte jetzt eigendlich nur noch auf die Samples. Zum Test werde ich mal versuchen mit dem Temperatursensor eine Anzeige auf das LCD zu bekommen. @Hans Muss ich jetzt irgendwelche Schritte beachten beim Programmaufbau, weil ja noch der externe ADC und die Referenzspannung dazu kommen.
Hallo Bonny, dann kannst du ja schon mal loslegen. Es geht jetzt zuerst mal darum, daß der Aufbau mit der Demo- Software läuft. D.h. du kannst die Platine programmieren und betreiben. Versuche mal die Displayausgabe nach deinem Geschmack umzustellen oder die Temperatur in Fahrenheit anzuzeigen. Wichtig ist, daß du erkennst wie Daten vom Sensor uber TWI eingelesen und verarbeitet werden. Wenn der Maxim 127 kommt können wir auf der Laborplatine eine Schaltung aufbauen, die so arbeitet wie der Sensor. Du bekommst dann Werte von 0-4095 und rechnest diese in 45-85 mm um. (Über das Abgleichen müßen wir dann noch reden.) Für den Aufbau empfehle ich dir noch Fassungen für die ICs, eine Anschlußklemme für den BOD Sensor, Abblockkondensatoren (100nF Keramik). Wie ist es mit der Stromversorgung für den BOD. Dieser brauch ja 18-28V. Hast du ein passendes Netzteil? gruß hans
Hallo Hans, ich werde noch das passende Netzteil besorgen. Ich werde dann auch mit einem Spannungsteiler 9V für das AVRBoard abzwacken, damit ich nicht zwei Netzteile betreiben muss. Für den Versuch habe ich erstmal ein regelbares Netzgerät hier stehen. Soll ich zum programmieren das WorkPAD, SiSy oder AVRStudio benutzen? Hatte vor mich nur auf eine Umgebung einzuschiessen und weiss nicht welches die beste Umgebung ist. Aber da ich Vorkenntisse in C und C++ habe werde ich wohl das Passende herausfinden. Sehe gerade das es hier ein SUPER AVR-GCC Tutorial gibt. Das werde ich mal durcharbeiten bis der MAX127 ankommt. Und auf roboternetz.de ist auch eine gute Beschreibung über TWI. LINK [http://www.roboternetz.de/wissen/index.php/TWI] Sockel habe ich auch hier. Der Sensor wird mit einem fertigen Anschluss ausgeliefert. Ich glaube wir haben in der Firma die passende Buchse dafür. gruß boony
Hallo Bonny, es ist gut, daß du es mit Fassung trägst ;-) Also zum Programmieren wäre dann C wohl sinnvoll. Der AVR-GCC ist hier im Forum sehr verbreitet, es gibt auch etliche Beispiele Projekte mit MyAVR passend dazu. Das Tutorial ist wirklich gut. Das kpl. Paket ist im Tutorial auch verlinkt, dazu das Studio zum Simulieren und die Umgebung steht. Für den Max127 gibt es hier 27 Treffer (Suche: +max127). Achte bei den ersten Programmierversuchen aber auf die Fuses des Prozessors damit du dich nicht aussperrst. gruß hans
so liebe Leute. Habe nun alles beisammen. Wie geht es jetzt weiter?
ich weiss ich grab hier ne leiche aus. aber ich habe ähnliches im sinn wie booni und habe keine ahnung wie ich den ad wandler an meine steuerung löte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.