Forum: Mikrocontroller und Digitale Elektronik Eigenständiger Abstandssensor


von Christian H. (christian_h299)


Lesenswert?

Hallo zusammen,

Ist mein erster Beitrag hier und wollte mal Hallo sagen.

Ich bin ein Elektrotechnik Student an einer FH.
Wie sich bestimmt viele Hobby bastler denken werden ist es genau so dass 
man als student gar keine ahnung von der Praxis hat.
Ich selber habe schon mit der Raspberry Pi der Beagle Bone dem STM32 
eagle und ltspice gearbeitet. Kenntnisse in C so wie c++ sind vorhanden.

Mein Problem ist das ich im Studium misse mal ein Projekt von 0 
aufzuziehen.
Man löst viele Probleme im Rahmen von Projekten aber da sind meist alle 
Initialisierungen etc. schon erledigt und man such nur eine lösung.


Hier möchte ich euch nun um Hilfe bitten

Ich möchte einen Abstandssensor bauen mit Gehäuse Elektrik ...
Es soll nicht über ein Development Board laufen sonder eine komplett 
eigene Schaltung werden.
Ich möchte lernen worauf man achten muss und mich so für andere Projekte 
widmen und damit auch anderen helfen können statt immer nur fragen zu 
stellen.

Also In Stichpunkte gefasst:
- Selbst entwickelte Schaltung
- möglichst kleine (effektive) schaltung(also nicht mehr tun als es 
muss)
- Es soll der vollkommene Prozess durchlaufen werden.
- via PCB bestellbar sein
- via Microcontroller sollen die daten des Sensors ausgelesen werden und 
entweder auf einem Display oder einer 7 segment anzeige ausgegeben 
werden.

Ich hoffe es gibt einige die mir mal helfen wollen da schritt für 
schritt durch zu kommen.
Ich würde vermutlich auch eine Dokumentation schreiben. Und sie hier 
allen Neulingen zur Verfügung stellen.

Prinzipiell werde ich einen uC, einen Abstandssensor und einen 
Ad-wandler brauchen.

Ich bin über jede Hilfe dankbar!!

von Frank (Gast)


Lesenswert?

Na dann fang doch mal als erstes an ein Lastenheft zu schreiben um die 
Anforderungen zu definieren.

von Wolfgang (Gast)


Lesenswert?

Christian H. schrieb:
> Prinzipiell werde ich einen uC, einen Abstandssensor und einen
> Ad-wandler brauchen.

Abstandssensoren haben oft etwas mit Signallaufzeiten zu tun. Da geht es 
dann nicht um AD-Wandlung sondern um Zeitmessung. Es kommt natürlich das 
Messverfahren drauf an. Um z.B. die Entfernung des Mondes genau zu 
messen, wird die Lichtlaufzeit zum Mond und zurück gemessen und daraus 
die Entfernung mit Zentimetergenauigkeit bestimmt.

von Sebastian S. (amateur)


Lesenswert?

Wozu brauchst Du bei Deinem Projekt einen A/D-Wandler?

von Christian H. (christian_h299)


Lesenswert?

Hi zusammen
1. Fängt schon damit an das ich nicht weis was ein lastenheft ist

2. Habe an der pi mit einem abstandssensor gearbeitet und  der gibt 
spannungen zurück je nachdem wie weit das nächstgelegene objekt ist.

Um diese Spannung zu verwerten muss ich des ganze durch nen AD jagen
Diese daten dann mit etwas verrechnen und dann einen wert in cm raus 
geben

von Sebastian S. (amateur)


Lesenswert?

In einem Lastenheft werden die Bedingungen festgelegt, die Dein System 
erfüllen muss.
Das kann u.U. sehr umfangreich werden.
In Deinem Falle wäre es nicht schlecht festzulegen, in welchem Bereich 
das System abreiten soll.
Also Entfernungsbereich, Messhäufigkeit, Genauigkeit bzw. 
Reproduzierbarkeit, Umweltbedingungen (im trocknen Labor bis unter 
Spritzwasser), welche Temperaturen dem System Gesellschaft leisten.
Energieversorgung (Quelle unendlich (229 V) bis Batteriebetrieb).
Du hast erwähnt, dass auch was angezeigt werden soll. Auch das sollte 
spezifiziert werden. Halt so Sachen wie Lesbar nur um Mitternacht oder 
auch im grellsten Sonnenschein. Aus einer Entfernung von 5 cm oder aus 
20 m.
So geht das noch eine ganze Zeit weiter.
Ist in manchen Fällen eine recht gute Übung, da man sich so zwingen muss 
sich mit dem gewünschten System auseinanderzusetzen. Also kein mach mal 
oder irgendwie wird es schon was werden.
Bezogen auf das hiesige Forum heißt das auch: Du kannst konkrete Fragen 
stellen. Die erste Gegenfrage auf ein: "wie kann ich"? ist nämlich: "was 
hast Du vor und was hast Du schon vorbereitet"? Dir kann hier geholfen 
werden, aber es gibt keinen, der Dir die Arbeit macht.
Richtig unwirsch werden die Teilnehmer wenn Du in einem Post über Radar 
sprichst und im übernächsten von Laser redest.

Ich habe keine Ahnung, wie Du vorher die Entfernung gemessen hast, aber 
viele einfache und robuste Systeme arbeiten mit Ultraschall. Da geht es 
aber um (Schall-)Laufzeiten. Also ideal für einen µP, der Zeiten relativ 
genau erfassen kann.

von Christian H. (christian_h299)


Lesenswert?

Herulichen Dank
Werde mir eines schreiben
Ist eine sehr gute idee danke

Habe bis jetzt mit einem infrarot abstandssensor gearbeitet

Wie übergibt den ein Ultraschallsensor die daten wenn nicht über 
spannungswerte?
Solange er sie nicht sellber verwerten kann muss es doch irgendwie dem 
uC übergeben werden?

von Sebastian S. (amateur)


Lesenswert?

>Wie übergibt den ein Ultraschallsensor die daten wenn nicht über
>spannungswerte?

Da gibt es zig Möglichkeiten.

Fertige Module stellen Dir einen Trigger und ein zeitlich, versetztes 
Signal, bei dem Du den zeitlichen Abstand selber ermitteln kannst, zur 
Verfügung.

Bei Bastlern sind auch I²C-basierte Systeme beliebt. Da startest Du eine 
Messsequenz und liest anschließend die fertige Laufzeit als Binärzahl 
aus. Der ganze analoge Kram ist dabei im System versteckt.

Insbesondere bei einem ultraschallbasierten Messsystem wäre eine analoge 
Ausgabe eine Verschlechterung.
Die Entfernung ist eine Laufzeit; während der Laufzeit läuft ein Zähler 
(ist schon digital); Umwandlung in eine analoge Spannung; Ausgabe; 
füttern eines A/D-Wandlers und anschließend digital weiterverarbeiten...

von Christian H. (christian_h299)


Lesenswert?

Ah in ordnung das klingt natürlich plausibel
Nochmal danke
Ich hoffe das du evtl zwischendrin immer mal wieder rein schaust
Du hast mir bis jetzt nämich schon unglaublich  geholfen

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian H. schrieb:
> Ich möchte einen Abstandssensor bauen
Machs wie ein Ingenieur: sieh nach ob es dafür schon eine Lösung gibt.
Wenn es eine Lösung gibt: Glück gehabt. Analysiere, wie das Problem dort 
gelöst wurde.
In deinem Fall sind das 2 "große" Aufgaben, die sich wieder kleine 
Teilaufgaben aufgliedern:
1. das uC Board
2. die Entfernungsmessung
Für beides gibt es schon fertige Lösungen.
Zu 1.: nimm das Evalboard und lass das weg was du nicht brauchst.
Zu 2.: a) definiere den nötigen Messbereich
       b) suche ein Entfernungsmessmodul, das deine Anforderungen 
erfüllt
       c) sieh dir an, wie das gelöst wurde
Da hilft dann auch sowas weiter: Entfernungsmessung mit Ultraschall

Christian H. schrieb:
> - via Microcontroller sollen die daten des Sensors ausgelesen werden und
> entweder auf einem Display oder einer 7 segment anzeige ausgegeben
> werden.
Das allein ist ein gigantischer Unterschied. Und "Display" geht dann von 
"Textanzeige mit 1x8 Dotmatix" bis zu "Darstellung auf 24" Monitor"...

Christian H. schrieb:
> Wie übergibt den ein Ultraschallsensor die daten wenn nicht über
> spannungswerte?
Ohne Witz: das steht im Datenblatt.
Natürlich gibt es Ulraschallsensoren, die den Messwert als Spannung oder 
Strom ausgeben. Und natürlich gibt es Module, die einen Trigger 
brauchen, und nach Laufzeit des Schalls einen Impuls zurückgeben. Und 
natürlich gibt es Sensoren, denen bettelst du das Resultat mit 
irgendeiner Schnittstelle (I²C, SPI, RS232, RS458, CAN, Ethernet...) aus 
dem Kreuz...

Sebastian S. schrieb:
> Insbesondere bei einem ultraschallbasierten Messsystem wäre eine analoge
> Ausgabe eine Verschlechterung.
Aber sie ist eben "einfach" einzulesen. Mit einer SPS will keiner 
irgendwelche Laufzeiten messen. Deshalb gibt es dann solche Sensoren:
http://www.microsonic.de/de/abstandssensoren/zylindrisch/micplus.htm

: Bearbeitet durch Moderator
von Christian H. (christian_h299)


Lesenswert?

so bin nun soweit.

Allgemein: Alltagsbedingunen

Entfernungsbereich: bis 10m

Messhäufigkeit: Einmalige Messen bei betätigen eines Tasters

Genauigkeit: Millimeterbereich

Reproduzierbarkeit: 1 Gerät

Umweltbedingungen: Trockene Staubfreie Umgebung 5°C - 35°C


Energieversorgung: Batteriebetrieb / Akkubetrieb


Anzeige: 4 stellige 7 Segment anzeige mit Punkt zwischen 
Zentimeterbereich (v.l.n.r. 1. - 3. Ziffer) (Punkt) und MM Bereich 
(4.Ziffer) 10m entspricht 999.9

Platine: PCB

Entwurf: Eagle


Problematik nun

Auswahl des richtigen uC.
zusätzliche Elemente?  worauf muss ich bei schaltungsentwurf achten 
(zusätzliche Kondensatoren etc.)


an Lothar Miller => Danke für die Gliederung
ich werde mich in dem Empfohlenen Thread einlesen.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Christian H. schrieb:
> Entfernungsbereich: bis 10m
> Messhäufigkeit: Einmalige Messen bei betätigen eines Tasters
> Genauigkeit: Millimeterbereich
> Reproduzierbarkeit: 1 Gerät
> Umweltbedingungen: Trockene Staubfreie Umgebung 5°C - 35°C
> Energieversorgung: Batteriebetrieb / Akkubetrieb


Gibts im Baumarkt fertig zu kaufen ;-)

Schlachte doch einfach mal so ein Fertig-Gerät, dann hast du alles 
notwendige schon parat. Du ersetzt du einfach den verbauten Controller 
gegen einen eigenen deiner Wahl, und schreibst dir deine eigene 
Software. Die Menue-Führung kannst du ja vom ursprünglichen 
Schlachtopfer abgucken und exakt so nachprogrammieren, oder du lässt dir 
was anderes oder besseres einfallen.

Von der Hardware verwendest die Ultraschall Sender und Empfänger und das 
Display, und baust dir das ganze in eine Tupperdose rein. Fertig ist das 
Projekt.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian H. schrieb:
> Entfernungsbereich: bis 10m
> Genauigkeit: Millimeterbereich
Vergiss Ultraschall.

> Trockene Staubfreie Umgebung 5°C - 35°C
Dort variiert die Schallgeschwindigkeit also von 334.5m/s bis 352.1m/s 
und damit um fast 2,5% und somit bei 10m Distanz um 25cm!

Und es hilft dir im Prinzip gar nichts, wenn du jetzt einen 
Temperatursensor einbaust und die Temperatur misst. Denn allein 
verschiedene Temperaturzonen (z.B. Zugluft), die das Messignal 
durchläuft, sorgen für die erwähnten Ungenauigkeiten.

: Bearbeitet durch Moderator
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
Noch kein Account? Hier anmelden.