mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schallmessung in dB mit AD Wandler mit SAB 80C535


Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich brauche für ein kleines Projekt ein Programm für eine Schallmessung 
mit dem Mikrocontroller SAB 80C535. Angezeigt werden soll alles auf 
einem LCD-Display in dB. Ein AD-Wandler soll auch noch mit eingebunden 
werden.

Die Hardware ist vorhanden, jedoch bin ich leider im 
programmier-technischen Bereich nicht so begabt wie im 
Hardware-technischen Bereich.

Kann mir da einer helfen ein Programm in C zu schreiben?

Für jede Hilfe danke ich sehr!

Liebe Grüße, Holger :-)

: Verschoben durch Moderator
Autor: irgendeiner (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Ist wieder Hausaufgabenzeit? ;-)

Autor: Stefan K. (stefan64)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Holger schrieb:
> mit dem Mikrocontroller SAB 80C535

Wo hast Du denn diese alte Möhre her?
Damit wirst Du Dich sehr schwer tun und wahrscheinlich ziemlich wenig 
qualifizierte Hilfe finden. Allein das Programm in das dort nötige Eprom 
(Flash?) zu bekommen, ist nicht so einfach.

Ich empfehle Dir, auf ein aktuelles ATmega Board umzusteigen, gerne auch 
einen Arduino. Dafür gibt es fertige Entwicklungsumgebungen umsonst und 
sehr viele Leute, die sich damit auskennen. Preislich kostet Dich das 
inkl. neuem Display höchstens 20€.

Viele Grüße, Stefan

Autor: Lothar (Gast)
Datum:
Angehängte Dateien:

Bewertung
3 lesenswert
nicht lesenswert
Stefan K. schrieb:
> Ich empfehle Dir, auf ein aktuelles ATmega Board umzusteigen
> Preislich kostet Dich das inkl. neuem Display höchstens 20€

Bloss nicht! Für 28€ kann die Schule auf ein aktuelles 8051 Board 
umsteigen mit LCD, Debugger, 72 MHz, 14-Bit ADC, 4x 12-Bit DAC und 
professioneller IDE umsonst und Space Invaders Demo :-)

http://de.rs-online.com/web/p/entwicklungskits-pro...

Autor: Stefan K. (stefan64)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
@Lothar:
Gerne. Ganz allgemein könnten wir uns auf:

"Für xx€ kann die Schule auf ein IRGENDWEIN aktuelles xxx-Board 
umsteigen"

einigen. Vorausgesetzt, die Einstiegshürde ist entspechend niedrig.

Ich befürchte aber, dass dort irgendein Lehrer/Prof dahintersteckt, der 
sich auf seinen 25 Jahre alten Scripten ausruht. Und daher am 80535 
nicht zu rütteln ist.

Viele Grüße, Stefan

Autor: Olaf (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
> Und daher am 80535 nicht zu rütteln ist.

Du versteht nicht. Die Handbuecher zum MCS51 gab es auf Deutsch. Da 
kommen also Schueler die was lernen wollen besser mit klar. Und die 
Dumbatzen die nur abschreiben wollen finden bei so ollen Teilen nichts 
zum klauen und man kann als Lehrer einfach das Netz nach dummen 
Suchanfragen abscannen und sie dann durchfallen lassen.

Olaf

Autor: Bernd N (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Selbst wenn es alt ist kann man die Aufgabe doch lösen. Die Frage ist an 
welcher Stelle du Hilfe benötigst oder anders formuliert was kannst du 
denn selbst machen ?

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Bernd N schrieb:
> Selbst wenn es alt ist kann man die Aufgabe doch lösen

Ganz so einfach ist die Messung von Schall nicht, denn unser Ohr 
empfindet unterschiedliche Frequenzen unterschiedlich laut. Zu 
Messzwecken werden deswegen Bewertungskurven eingesetzt, die dieses 
Verhalten berücksichtigen:
https://de.wikipedia.org/wiki/Frequenzbewertung

Ein 'richtiges' Schallpegelmessgerät hat die vier hauptsächlichen Kurven 
(A-D) umschaltbar vor dem eigentlichen Logarithmierer als Filter 
implementiert.

Autor: Lothar (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Stefan K. schrieb:
> Und daher am 80535 nicht zu rütteln ist

Die EFM8 sind aber halt 8051 und erst mal zu 90% zum 80535 kompatibel 
sogar in Assembler. Und serieller Bootloader ist vorinstalliert.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:
>> Und daher am 80535 nicht zu rütteln ist.
>
> Du versteht nicht. Die Handbuecher zum MCS51 gab es auf Deutsch

Daß der 80535 ein MCS-51 ist, ist Dir entgangen?

Autor: Olaf (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
> > Du versteht nicht. Die Handbuecher zum MCS51 gab es auf Deutsch

> Daß der 80535 ein MCS-51 ist, ist Dir entgangen?

Das hab ich vorausgesetzt, schliesslich hab ich die olle Moehre selber 
mal programmiert. Aber du hat mein Post nicht verstanden. .-)


Aber jetzt mal im Ernst man muss sicher nicht immer jeden modernen 
Firlefanz mitmachen, aber wenn man Schuelern etwas beibringen will dann 
bietet es sich doch heute DRINGENST an einen Controller zu verwenden den 
man auf dem Board flashen kann und fuer den es einen Debugger auf 
Sourcecodeebene gibt. Damit erhoeht man doch die Lerneffizienz deutlich.

Olaf

Autor: Lothar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:
> einen Controller zu verwenden den man auf dem Board flashen kann
> und fuer den es einen Debugger auf Sourcecodeebene gibt

Also doch das EFM8 8051 Board mit dem J-Link Debugger drauf für 28 EUR 
:-)

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich verstehe rein garnichts vom Programmieren. Ich habe nicht die 
nötige Art zu denken... ich kann aller höchstens  + - * / rechnen und 
das ergebnis ausgeben

Beitrag #5150926 wurde von einem Moderator gelöscht.
Autor: Karl M. (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Guten Mittag,

Holger schrieb:
> Hallo, ich verstehe rein garnichts vom Programmieren. Ich habe
> nicht die
> nötige Art zu denken... ich kann aller höchstens  + - * / rechnen und
> das ergebnis ausgeben

ich habe dann noch ein Verständnisproblem: Was erwartest Du dann in 
einem Forum, wenn die gesamte Materie deiner Frage Dir noch nicht 
geläufig ist ?

Was alle "Antworter" schön beschrieben hatten, ist eine allg. 
Vorgehensweise und ein Ausblick auf aktuelle Entwicklungsumgebungen samt 
Hardware(platform).

Klar sollte doch sein: so ein SAB 80C535 benötigt als Motor ein Chassis 
(i.a. Platine genannt), Benzin (Strom) und einen Fahrer (Programm).

Wenn ich einen Formel 1 Rennwagen bauen müsste, würde ich u.a. eine 
Ausbildung machen und versuchen bei den Rennteams ein Praktikum machen 
zu dürfen.

Klar es ist aus deiner jetzigen Sichtweite ein weiter Weg, aber so in 2 
Jahren könntest Du das alles alleine schaffen.

Autor: Bernd N (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
>> Hallo, ich verstehe rein garnichts vom Programmieren.
Und was erwartest du jetzt ? ist schliesslich deine Aufgabe, nicht 
unsere. Wenn das Alles ist was du einbringst dann kannst du keine Hilfe 
hier erwarten.

Autor: Route 66 (route_66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:
> Aber jetzt mal im Ernst man muss sicher nicht immer jeden modernen
> Firlefanz mitmachen, aber wenn man Schuelern etwas beibringen will dann
> bietet es sich doch heute DRINGENST an einen Controller zu verwenden den
> man auf dem Board flashen kann und fuer den es einen Debugger auf
> Sourcecodeebene gibt. Damit erhoeht man doch die Lerneffizienz deutlich.

Ich finde es unerträglich, dass eine einfache technische Anfrage als 
Aufhänger für eine Kritik an unserem Schulsystem missbraucht wird.

Dann soollte aber auch Ross uund Reiter benannt werden.

Warum müssen unsere Kinder und Enkel wohl noch in bescheiden 
ausgestatteten Schulen unterrichtet werden?

Autor: Route 66 (route_66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moderator: Bitte löschen!

Danke.

Autor: NOOB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es nicht unbedingt der SAB sein müsste, würde sich hier bestimmt 
jemand finden, der dir das programmiert. Hier gibt es zwar viele 
Skeptiker bei sowas, es kann aber funktionieren (wenn auch nicht 
kostenlos)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias S. schrieb:
> Ganz so einfach ist die Messung von Schall nicht, denn unser Ohr
> empfindet unterschiedliche Frequenzen unterschiedlich laut.

So ist es, die Aufgabe ist alles andere als trivial. Und ohne den 
Schaltplan kann das eh keiner programmieren. Da der 8051 kein sonderlich 
guter DSP ist, muß ja viel schon analog verarbeitet werden.

Nicht programmieren können ist nicht schlimm, dann kauft man eben ein 
fertiges Meßgerät.

Autor: Messtechniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Holger schrieb:
> Angezeigt werden soll alles auf einem LCD-Display in dB.

dB ist ein logarithmisches Maß für ein Leistungs- verhältnis
Für ein Messgerät wirst du eine Bezugsleistung festlegen müssen.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Holger schrieb:
> Die Hardware ist vorhanden

Also hast du ein Messmikrophon, einen Verstärker mit A-Bewertungskurve, 
einen Logarithmierer und ein 80535 Board an das eine Anzeige 
angeschlossen ist die zumindest 3 Ziffern darstellen kann.
Super.
Das Programm ist einfachst, aber wenn man nicht weiss an welchem A/D 
Kanal der Mikrophonverstärker hängt und welches Display wo angeschlossen 
ust, kann man nichts programmieren, also Verschaltung aufzeichnen.

Autor: MaWin (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Messtechniker schrieb:
> dB ist ein logarithmisches Maß für ein Leistungs- verhältnis

Es heisst zunächst mal: 10 mal so laut, 3dB mehr anzeigen.

> Für ein Messgerät wirst du eine Bezugsleistung festlegen müssen

Einen Absolutwertbezug wird er beim Basteln eh nicht erreichen können, 
er bräuchte eine 'Normlärmquelle' oder ein kalibriettes 
Vergleichsinstrument und das wird er nicht haben.

Autor: Messtechniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Einen Absolutwertbezug wird er beim Basteln eh nicht erreichen können,
> er bräuchte eine 'Normlärmquelle'

Auch ohne Normlärmquelle wird er sich bei der Anzeige in dB auf 
irgendeinen Bezugslevel festlegen müssen. Dimensionsbehaftete Größen aus 
einem Mikrophon kann man nicht logarithmieren. Das sagt schon die 
Mathematik - oder was ist der Logarithmus von mV?

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Messtechniker schrieb:
> Auch ohne Normlärmquelle wird er sich bei der Anzeige in dB auf
> irgendeinen Bezugslevel festlegen müssen. [Nicht-] Dimensionsbehaftete Größen 
aus
> einem Mikrophon kann man nicht logarithmieren. Das sagt schon die
> Mathematik - oder was ist der Logarithmus von mV?

Ohne Bezugslevel kann er sich den 1-Punkt, bzw. Log-0-Punkt beliebig 
aussuchen, und dann kann et logarithmieren.

Autor: Stefan Us (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Flash Controller sind zwar praktischer, aber auch damals mussten "wir" n 
icht wie Behinderte arbeiten.

Anszelle eines Eproms hatten wir z.B. ein Batteriegepuffertes RAM 
verwendet. Teilweise sogar mit In-System-Programming Schnittstelle zum 
PC.

Ja, das war teuer und klobig, hat aber funktioniert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.