Forum: Mikrocontroller und Digitale Elektronik Entfernungsmessgerät mit Assembler


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Gilbert S. (gilbertschuhmann)


Lesenswert?

Servus miteinander!
Ich möchte gerne mit dem AtMega88 einen Entfernungsmessgerät herstellen! 
Mit dem Bau bin ich schon fertig, jedoch weiß ich nicht wie ich das 
ganze jetzt Programmieren soll.
Sensor: DEBO SEN ULTRA
LC Display: ARD SHD LCD
Jeder Typ ist hilfreich :)

von Werner V. (werner_von)


Lesenswert?

Frag mal per PN bei Al. K. (alterkacker) nach. Der ist ähnlich stark von 
der Realität entkoppelt wie du und kann dir deswegen vermutlich ohne 
Rückfragen die Lösung präsentieren.

von Klaus R. (klara)


Lesenswert?

Du hast also einen AtMega88. Und was hast Du noch? Womit soll denn 
gemessen werden? Also beschreibe mal genau was Du vorhast.
mfg Klaus

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


Lesenswert?

Gilbert S. schrieb:
> Mit dem Bau bin ich schon fertig
Zeig doch mal den Schaltplan.

> jedoch weiß ich nicht wie ich das ganze jetzt Programmieren soll.
Welche Programmiersprache kannst du denn?

Wenn du keine kannst und noch eine lernen musst: jeder vernünftige 
Mensch würde das in einer Hochsprache programmieren.

Wenn du schon Assembler kannst: jeder vernünftige Mensch würde das in 
einer Hochsprache programmieren.

: Bearbeitet durch Moderator
von Steve van de Grens (roehrmond)


Lesenswert?

Gilbert S. schrieb:
> jedoch weiß ich nicht wie ich das ganze jetzt Programmieren soll.

https://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf

Für den Einstieg: http://stefanfrings.de/avr_workshop/index.html

Allerdings würde ich heute nicht mehr freiwillig ganze Anwendungen in 
Assembler programmieren.

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Sagt mal, fallt ihr mittlerweile auf jeden herein?
Oder ist euch eine gewisse Portion Masochismus inne?

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


Lesenswert?

Norbert schrieb:
> Sagt mal, fallt ihr mittlerweile auf jeden herein?
Halb so wild, wenn das ein trolliger Müllthread wird, ist der schnell 
gelöscht.

von Klaus R. (klara)


Lesenswert?

Gilbert S. schrieb:
> Mit dem Bau bin ich schon fertig, jedoch weiß ich nicht wie ich das
> ganze jetzt Programmieren soll.

Schau mal in das Datenblatt Deines Sensors. Auf der letzten Seite ist 
das Ultra Sonic Timing Diagram dargestellt. Danach folgt ein kurzes 
C-Programm.

Für diesen Sensor findest Du sicher noch viele Quellen.
mfg Klaus

von Michael B. (laberkopp)


Lesenswert?

Gilbert S. schrieb:
> Jeder Typ ist hilfreich

Du wirst programmieren lernen müssen, da führt kein Weg drumrum.

Fur beides, LCD und den Ultraschallmüll, gibt es Beispiele.

Hier hat es jemand mit Arduino statt ATmega88 gemacht, aber das ist im 
Prinzip derselbe Prozessor nur mit 4x mehr Speicher, den man für diese 
Einfachanwendung aber nicht braucht.

https://hartmut-waller.info/arduinoblog/ultraschallsensor-lcd/

hier auch

https://projecthub.arduino.cc/jehankandt/arduino-16x2-lcd-display-with-distance-sensor-ec57f0

Wenn du fertig bist wirst du merken, dass diese Entfernungsmeser 
absolute Scheisse sind, ohne Temperaturkompensation stimmt die 
Entfernung sowieso nicht und kleinste Widrigkeiten, wie schräge oder 
rauhe Oberflächen fuhren zu muntersten Messfehlern.

Na ja, wenigstens hast du hinterher was gelernt, dass nicht der 
billigste Scheiss undbedingt gekauft werden muss.

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


Lesenswert?

Michael B. schrieb:
> ohne Temperaturkompensation stimmt die Entfernung sowieso nicht
https://www.leifiphysik.de/akustik/schallgeschwindigkeit/grundwissen/einflussfaktoren-auf-die-schallgeschwindigkeit

Da bringt des Winters ein kühler Luftstrom von draussen die Messung um 
5% durcheinander...

von Klaus H. (hildek)


Lesenswert?

Klaus R. schrieb:
> Schau mal in das Datenblatt Deines Sensors. Auf der letzten Seite ist
> das Ultra Sonic Timing Diagram dargestellt. Danach folgt ein kurzes
> C-Programm.

@Gilbert S.: Und schau auch mal bei Reichelt nach dem Sensor. Dort gibt 
es eine Anleitung, sogar mit Code für einen Arduino.

Abgesehen davon ist das Teil nicht wirklich gut geeignet, um Abstände zu 
messen. Es hat einen 30° Erfassungswinkel, reagiert schlecht auf z.B. 
weiche Oberflächen (z.B. Kleidung), das Ergebnis ist abhängig von der 
Temperatur.

Besser du wartest auf ein Angebot bei Lidl/Aldi für 10 oder 15€ mit 
einem Laserentfernungsmesser. Die haben eine viel größere Reichweite, 
weit bessere Auflösung und Genauigkeit und um den Preis baust du das 
kaum selber.

von Rainer W. (rawi)


Lesenswert?

Gilbert S. schrieb:
> Sensor: DEBO SEN ULTRA

Du meinst einen HC-SR04?

Guck dir das Datenblatt an. Der bekommt einen Startimpuls und dann musst 
du per Capture mit einem Timer/Counter die Zeit bis zum Eintreffen des 
Echos messen.

Klaus H. schrieb:
> das Ergebnis ist abhängig von der Temperatur.

Nur, wenn man in der Auswertung Mist baut. Die Lufttemperatur muss man 
für vernünftige Entfernungsbestimmung natürlich mit messen und in der 
Berechnung einfließen lassen.

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Leute, schreibt ihr dem Dozenten/Lehrer erigentlich auch eure Adresse?
Weil, die gute Note muss ja der bekommen, der die Arbeit gemacht hat, 
und das ist der Gilbert defintiv nicht, der kann ja nicht mal die 
kryptischen Beschriftungen der Platinen (oder sind's 
Bestellbezeichnungen aus dem Arduino-Bastelshop?) in was übersetzen was 
man verstehen kann.
Kein normaler Mensch würde mit dem Wissensstand was zusammenschrauben 
und dann erst überlegen ob man das programmiert bekommt. Außer er atmet 
manuell... (Bild: Walkman mit 30-Sekunden-Endlosband drin "Einatmen..... 
Ausatmen.....", Person mit Kopfhörern sitzt etwas bläulich verfärbt auf 
der Bank, Mitschüler daneben zu seinem Sitznachbarn "Ich glaub die 
Batterien sind alle....")

von Norbert (der_norbert)


Lesenswert?

Lothar M. schrieb:
> wenn das ein trolliger Müllthread wird

Trollig? Ernsthaft? Das isser schon seit Beitrag eins.
Der Troll wählt Hardware aus, ›baut‹ sie zusammen und erkennt 
anschließend das es ja gar kein Lego ist?
Jetzt lehnt er sich entspannt zurück und schaut den Verrückten bei der 
Arbeit zu?
Meinst du so etwas?

Good grief…

Jens war schneller ;-)

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Gilbert S. schrieb:
> Ich möchte gerne mit dem AtMega88 einen Entfernungsmessgerät herstellen!

Meinst du ein "GILBERT ENTF MESS"?

von Jens M. (schuchkleisser)


Lesenswert?

Für einen Troll vermisse ich noch das Zauberwort "Interrupts", am besten 
in einem Satz der sinngemäß "ich hab gehört das geht mit Interrupts am 
besten" lautet.

Hier klingelt für mich ganz klar die "Aufgabe 7: Gegeben ist ein Gerät 
mit Schaltung nach Blatt 3b. Bauen sie das Gerät mit den Teilen aus dem 
Experimentierkoffer auf und programmieren sie es so, das am Display die 
Entfernung in der Art <0,30m> angezeigt wird. Abgabedatum 
Freitag."-Lampe.
Der o.g. Satz hieße dann auch eher "ich möchte das mit Interrupts 
machen".

: Bearbeitet durch User
von Klaus H. (hildek)


Lesenswert?

Rainer W. schrieb:
> Du meinst einen HC-SR04?
Laut einem Angebot von Reichelt ist es ein HC-SRF05 - was auch immer der 
Unterschied zum SR04 sein wird ...
Kannte ich bisher auch nicht.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> Bestellbezeichnungen aus dem Arduino-Bastelshop?

Beides gibts auch von Reichelt:
DEBO SEN ULTRA Entwicklerboards - Ultraschall Abstandssensor, HC-SR04 
3,80€
ARD SHD LCD3,5 Arduino Shield - Display 3,5", 320 x 480 20,60€

Wozu ein Grafikdisplay mit  ILI9486 / R61581?
Die oben genannten Beispiele haben Textdisplays.
Soweit ich sehe, steckt kein Character-Generator in dem Controller, auch 
das muss die Software erledigen. Natürlich gibt es Arduino-Bibliotheken, 
die das erledigen könnten.

von Yalu X. (yalu) (Moderator)


Lesenswert?


von Hugo H. (hugo_hu)


Lesenswert?

Yalu X. schrieb:
> Diese Links hätte der TE auch gleich posten können.

Warum sollte ein Troll es euch leicht machen? :-)

von Helmut -. (dc3yc)


Lesenswert?

Hugo H. schrieb:
> Warum sollte ein Troll es euch leicht machen? :-)

Vielleicht ist es ja auch jener berühmte Pirschelbär?
https://blog.beliebte-vornamen.de/2012/06/pirschelbaer/

von Sebastian W. (wangnick)


Angehängte Dateien:

Lesenswert?

Gilbert S. schrieb:
> Mit dem Bau bin ich schon fertig, jedoch weiß ich nicht wie ich das
> ganze jetzt Programmieren soll.

Ich würde so häufig wie möglich messen, und die Resultate dann 
statistisch aufarbeiten. Dadurch kann man auch mit dem HC-SR04 eine gute 
Genauigkeit erzielen, siehe Chart des Wasserstands unseres Teiches. Für 
manche Anwendungsfälle (zum Beispiel Wasseroberflächen) sind 
TOF-Sensoren auch einfach ungeeignet.

Ansonsten würde ich die Software ganz normal wie üblich programmieren. 
Bei Fragen hilft das Forum sicher gern.

LG, Sebastian

von Rainer W. (rawi)


Lesenswert?

Sebastian W. schrieb:
> Ich würde so häufig wie möglich messen, und die Resultate dann
> statistisch aufarbeiten. Dadurch kann man auch mit dem HC-SR04 eine gute
> Genauigkeit erzielen, siehe Chart des Wasserstands unseres Teiches

Wie willst du durch häufiges Messen die Genauigkeit steigern?

Dadurch bekommst du allenfalls hübschere Kurven, weil gemittelte Daten 
weniger rauschen und du kannst die Überabtastung nutzen, um die 
Auflösung zu steigern.

von Sebastian W. (wangnick)


Lesenswert?

Rainer W. schrieb:
> Überabtastung nutzen, um die Auflösung zu steigern

FYI, bei den "alten" HC-SR04 mit rein analoger Signalverarbeitung erhöht 
die höhere Auflösung auch die Genauigkeit.

LG, Sebastian

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.