Liebe Forumgemeinde,
mein nächstes Projekt soll eine "Lärmampel" sein.
Die Idee stammt von erfinderjo:
http://www.erfinderjo.de/html/larmampel.html
Der Schaltplan ist teilweise unleserlich und erfinderjo kann ich nicht
erreichen. Habe es nach bestem Wissen und Gewissen versucht und
Teilweise herausgefunden, Schaltplan folg.
Könnte mir jemand helfen alle Bauteile zu identifizieren?
Frundliche Grüße
basti
Also die einzigen Bauteile-(Werte) die ich nicht erkennen kann sind an
PIN20,21,22 des MEGA8 angeschlossen. Schätze mal es sind zwei
Kondensatoren 100nF oder so.
Quatsch, das ist eindeutig ein Quarz mit den obligatorischen
Kondensatoren dazu (siehe Datenblatt). Nur wieviel Mhz wäre natürlich
gut zu wissen. Wenn man die Frequenz hat, kann man am Datenblatt
ablesen, welche Kondensatoren empfohlen werden.
Am 7805 Spannungsregler fehlt eingangsseitig der 330nF Kondensator.
Ebenso sehe ich keinen Abblockkondensator (z.B. 100nF) an der
Stromversorgung des Mikrocontrollers. Denn der andere beim
Spannungsregler gehört ja auch dort hin (ganz Nahe beim
Spannungsregler).
Beim 7815 fehlen kleine Kondensatoren an beiden Seiten. Siehe
Datenblatt!
Stefan schrieb:> Quatsch, das ist eindeutig ein Quarz mit den obligatorischen> Kondensatoren dazu (siehe Datenblatt). Nur wieviel Mhz wäre natürlich> gut zu wissen.
Da hilft dann das BASCOM Programm weiter
1
$crystal = 8000000
Also 8Mhz
Aber: wo siehst du da einen Quarz?
Pins 20, 21, und 22 sind GND, AREF und AVcc
-> 100nF
Am M8 wäre ein Quarz an den Pins 9 und 10
winne schrieb:> Also die einzigen Bauteile-(Werte) die ich nicht erkennen kann sind an> PIN20,21,22 des MEGA8 angeschlossen. Schätze mal es sind zwei> Kondensatoren 100nF oder so.
Zwischen 21 - 22 sieht aus wie ein 100 nF.
Zwischen 20 - 22 sieht aus wie 3xx nF.
Mir fällt nochwas auf: Den Mikrofon-Verstärker hätte man auch mit einem
simplen Transistor aufbauen können. Wichtiger scheint mir allerdings
eine Entstörung der Speisung des Mikrofons, sonst kommt am Ausgang des
OP-Amps die Störung der 5V Spannungsversorgung um (bis zu) Faktor 10
Verstärkt wieder raus.
> Aber: wo siehst du da einen Quarz?> Pins 20, 21, und 22 sind GND, AREF und AVcc
Oh, dann kann kein Quarz sein.
Ach da ist ja mein vermisster Abblockkondensator für die
Stromversorgung!
Ich würde auch für beide 100nF nehmen.
Ich habe die Schaltung, so wie sie abgebildet ist dummer weise schon auf
eine Platine gelötet.
Den Mega habe ich auch schon gebrannt.
Folgendes Problem habe ich:
Display zeigt:
"Programm? "
"HA-Hilfe Kantine "
verschwindet dann nach einigen Sekunden und taucht nach einigen weiteren
Sekunden wider auf. Wenn ich einen der beiden Taster drücke erscheint
auch der jeweilige Text, hat aber keinen Einfluss auf das Verschwinden,
passiert weiterhin.
Laut Quellcode kann das nicht sein.
Ich vermute es handelt sich hierbei um einen Hardwarefehler meinerseits.
Auf dem Foto erkennt man, das ich anstelle der BUZ21 die IRLZ34N
genommen habe und dafür die Vorwiderstände streichen konnte. Die
verbauten Widerstände sind für die LED'S.
1
Cursor Off 'Startanzeige zum Wählen eines Parameterrezeptes:
Ist nur ein Teil des Programms, da kann Dir jetzt noch keiner helfen.
> GOTO Parameter ' was passiert da ?> loop ' und weiter ?
***
- Mess mal die 5Volt.
- Brechen die zusammen, wenn das Display "aus" geht ?
- Wird der 7805 heiß ?
-> such dann mal nach einem Kurzschluß.
Guten Morgen,
winne schrieb:> Ist nur ein Teil des Programms, da kann Dir jetzt noch keiner helfen.>> GOTO Parameter ' was passiert da ?>> loop ' und weiter ?>> ***> - Mess mal die 5Volt.> - Brechen die zusammen, wenn das Display "aus" geht ?> - Wird der 7805 heiß ?>> -> such dann mal nach einem Kurzschluß.
Der 7805 wird nicht heiß, da kaum ein Stromfluss vorhanden ist. Nur ca.
10mA.
Die 5V am Display brechen leider auch nicht zusammen.
Ich habe es auf einem Exp. nachgebaut, und Schrittweise zurückgebaut,
bis nur noch die Standartbeschaltung und das Display übrig waren.
Der Fehler trat weiterhin auf.
Habe dann ein Testprogramm geschrieben, welches dann auch reibungslos
funktioniert hat.
Muss also definitiv ein Softwareproblem sein!!
Werde heute nachmittag dann mal den Watchdog rausschmeißen.
Sebastian M. schrieb:> Folgender Code ist fehlerbehaftet, wenn ich dann die waitms 300 in der> dritt letzten Zeile auskommentiere, funktioniert das bisherige> Testprogramm.
Dann ist der Watchdog wohl schneller als 300ms und macht einen Reset.
Wo ist er denn deklariert und wozu brauchst Du ihn überhaupt?
Gruß Dietrich
Es hat auf jeden Fall etwas mit dem wait Befehl vor dem RESET WATCHDOG
zu tun!
Kennt jemand eine Lösung? bzw. eine Begründung dafür, das erfinderjo das
so programmiert hat?
Dietrich L. schrieb:> Wo ist er denn deklariert und wozu brauchst Du ihn überhaupt?
Das kann ich dir auch nicht sagen, habe den code nicht selber
geschrieben.
spess53 schrieb:> Schmeiss das Watchdoggedöns komplett raus.
Ist dann die Funktion des Programmes noch gegeben?
Sebastian M. schrieb:> spess53 schrieb:>> Schmeiss das Watchdoggedöns komplett raus.>> Ist dann die Funktion des Programmes noch gegeben?
probiers doch einfach aus?
kostet nicht die welt (an zeit und aufwand)
Hi
>Ist dann die Funktion des Programmes noch gegeben?
Du hast den Sinn eines Watchdogs nicht begriffen. Der Ersteller des
Programm warscheinlich auch nicht.
MfG Spess
>winne schrieb:>> Hast Du ein CLS an der falschen Stelle zu viel ?>Wie meinst du das genau??
Moin,
also das Fehlerbild:
> Display zeigt:>"Programm? ">"HA-Hilfe Kantine ">verschwindet dann nach einigen Sekunden und taucht nach einigen weiteren>Sekunden wider auf.
lässt vermuten, dass ein CLS (clear screen) des Displays ausgeführt
wird.
Ein CLS hast Du ja auch in der Ini-Phase des Programms. (danach hatte
ich gefragt)
Da das ganze regelmäßig stattfindet sieht es tatsächlich nach einem
falsch ablaufenden Watchdog aus. Dein Programm wird wohl immer wieder
neu gestartet.
@Sebastian
Weshalb hast Du den Watchdog im Programm ?
>GOTO Parameter
Was passiert hier ?
- Gibt es kein RETURN ?
- Verweilt das Programm zu lange im Unterprogramm "Parameter" ?
winne schrieb:> @Sebastian> Weshalb hast Du den Watchdog im Programm ?
Hallo winne,
der code stammt von erfinderjo. Ich versuche ihn lediglich zum laufen zu
bekommen.
spess53 schrieb:> Hi>>>Ist dann die Funktion des Programmes noch gegeben?>> Du hast den Sinn eines Watchdogs nicht begriffen. Der Ersteller des> Programm warscheinlich auch nicht.>> MfG Spess
das mag wohl sein, aber anstelle mir zu zeigen was ich nicht kann, würde
ich hilfreiche Tipps viel lieber lesen.
Also im vollständigen Programm von erfinderjo kommen drei CLS vor.
1. Ini-bereich zum Start des Programms
2. If Pinc.3 = 1 Then 'Parameter in EEprom speichern
3. "Limits sind ... gespeichert"
Schreibe anstelle CLS
LCD "CLS 1"
bzw.
LCD "CLS 2" und LCD "CLS 3"
Dann wirst du sehen welches CLS immer wieder ausgeführt wird
und Du kannst geziehlt den Fehler suchen.
Stefan schrieb:> Mir fällt nochwas auf: Den Mikrofon-Verstärker hätte man auch mit einem> simplen Transistor aufbauen können. Wichtiger scheint mir allerdings> eine Entstörung der Speisung des Mikrofons, sonst kommt am Ausgang des> OP-Amps die Störung der 5V Spannungsversorgung um (bis zu) Faktor 10> Verstärkt wieder raus.
Das Problem bemerke ich jetzt auch, bekomme keine klaren signale. wie
würdest du die geräuschmessung aufbauen?
Schmeiss doch endlich den Watchdog raus bzw. leg ihn mittels der Fuses
still.
Mittels Watchdog noch vorhandene Programmfehler zu kaschieren hat eh
keinen Sinn. Und ob du in einer derart elktrisch verseuchten Umgebung
mit dieser Lärmampel operierst, so das du einen Watchdog brauchst, der
den µC alle paar Wochen wieder aus dem elektrisch durch nebenan laufende
Motoren hervorgerufenen Fehlerzustand rausholt, ist eine ganz andere
Frage, die nur du beantworten kannst.
Auf jeden Fall: wenn das BASCOM Programm nach der üblichen BASCOM Manier
gestrickt ist, und mit haufenweise WAIT gespickt ist, dann ist ein
Watchdog genau das, was du eigentlich nicht willst.
@Sebastian
So nun weist Du was passiert.
- Der Watchdog-"Sprung" wird regelmaßig ausgelöst und das Programm neu
gestartet.
- Ist bestimmt nicht Sinn des Programms
- der erste CLS ist auch nicht der Fehler. Er zeigt nur deutlicher, was
das Programm macht.
Mann könnte sagen:
- das Programm führt den Befehl "Reset Watchdog" nicht rechtzeitig aus
und startet deshalb neu.
Jetzt gibt es mehrere Möglichkeiten das Programm lauffähig zu machen.
1. Du lässt das Programm so und suchst nach der Ursache.
- LCD "FLAG123.." an der richtigen Stelle hilft manchmal weiter.
- z.B. Wait(s) verkleinern z.B. (hast Du ja schon probiert)
- Autor fragen
oder aber
2. Du schmeisst den Watchdog komplett raus und bringst das Programm dann
anders zum laufen.
Ich weiß nicht was sich der Autor des Programms bei derartiger
Watchdog-Programmierung gedacht hat. Will ich auch nicht ergründen.
Ich hätte das anders und ohne Watchdog programmiert.
Wenn du Spass am Fummeln hast, bringst du das ganze bestimmt zum Laufen.
Viel Spass ;-)
Hi
>Wenn du Spass am Fummeln hast, bringst du das ganze bestimmt zum Laufen.
Vielleicht läuft der ATMega8 auch nur einfach nicht mit den angegebenen
8MHz. Dann wären die waits zu lang und der WD schlägt zu Recht zu.
>Ich hätte das anders und ohne Watchdog programmiert.
Nicht nur du.
MfG Spess
@Spess
>Vielleicht läuft der ATMega8 auch nur einfach nicht mit den angegebenen>8MHz. Dann wären die waits zu lang und der WD schlägt zu Recht zu.
Ja guter Tipp.
spess53 schrieb:> Vielleicht läuft der ATMega8 auch nur einfach nicht mit den angegebenen> 8MHz. Dann wären die waits zu lang und der WD schlägt zu Recht zu.
Aber die Taktrate ist doch im Programm angegeben.?
Hi
>Aber die Taktrate ist doch im Programm angegeben.?
Den Takt stellst du über die Fuses ein.
Das '$crystal = 8000000' sagt Bascom lediglich, das der Controller damit
läuft. Aber nicht umgedreht.
MfG Spess
Die Taktrate
>$crystal = 8000000
gibt nur dem Compiler an, mit welcher Frequenz später gearbeitet wird.
Du musst beim Programmieren darauf achten, dass die Fusebits auf 8MHz
eingestellt sind.
Dazu musst Du deinen Programmer "fragen" ;-)
winne schrieb:> @Sebastian>> Das schaffste doch selber oder ?
klar, Fuse ist "jetzt" gesetzt, schäm....
Das mit dem Watchdog ist trotzdem unschön, lasse ihn raus.
Die Messung haut jetzt noch nicht hin. Habe ein MCE 101 verbaut, ist das
ggf. ein problem?
ich versuch mal ein kleines programm zu schreiben, was mir den pegel
direkt anzeigt.
Sebastian M. schrieb:> Die Messung haut jetzt noch nicht hin. Habe ein MCE 101 verbaut, ist das> ggf. ein problem?
Um eine Kalbrierung auf dein tatsächliches Mikrofon wirst du
wahrscheinlich sowieso nicht umhinkommen.
> ich versuch mal ein kleines programm zu schreiben, was mir den pegel> direkt anzeigt.
Hier
1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
2
Start Adc
3
Ao = 0
4
U2 = 0
5
For N = 1 To 500 'Gleichspannungswert ermitteln
6
A1 = Getadc(0)
7
Ao = Ao + A1
8
Next N
9
10
For N = 1 To 10 'Bateriespannung messen
11
U = Getadc(1)
12
U2 = U2 + U
13
Next N
14
15
Ao = Ao / 500 'Gleichspannungswert Lärmpegel festlegen
16
Au = Ao
17
Ao = 0
18
19
Ub = U2 / 10
20
Ub = Ub / 50.583
21
Up = Ub - 11.9
22
Up = Up * 100 'Akkuzustand in %
23
24
For N = 1 To 2000 'Lärmmessung
25
A1 = Getadc(0)
26
A2 = A1
27
If A2 > Ao Then Ao = A2 'Ermitteln der Extremwerte
28
If A2 < Au Then Au = A2
29
Reset Watchdog
30
Next N
31
Stop Adc
32
Amp = Ao - Au 'Lärmamplitude rechnen
33
34
Return
ist in dem BASCOM Programm die zentrale Messroutine, wobei hier sowohl
Mikrofon als auch Akku ausgemessen werden.
Die Mikrofonmessung ist der Teil hier
1
For N = 1 To 2000 'Lärmmessung
2
A1 = Getadc(0)
3
A2 = A1
4
If A2 > Ao Then Ao = A2 'Ermitteln der Extremwerte
5
If A2 < Au Then Au = A2
6
Reset Watchdog
7
Next N
8
Stop Adc
9
Amp = Ao - Au 'Lärmamplitude rechnen
also einfach 2000 Messungen, wobei über alle Messungen der Maximalwert
bzw. Minimalwert festgestellt wird. Die Amplitude (und damit die
Lautstärke) ist dann einfach nur die Differenz zwischen Maximum und
Minimum.
Die allersten Maximum bzw. Minimum Werte stellt der Autor eher
umständlich fest, indem er am Anfang der Routine erst mal den Mittelwert
aus 500 Messungen nimmt. Hätte man sich auch sparen können, weil er in
der 2000-er Schleife den Wert ja dann sowieso korrigiert. Wenn er mit
einem Wert von 0 für Ao gestartet wäre und einem Wert von 1024 für Au
wäre es auf genau das gleiche rausgelaufen. Nur einfacher.
Was mich an dem Programm stört ist, dass fast alle Variablen SINGLE
sind.
Also das (das ganze Programm) kriegst du mit Sicherheit besser hin. Da
steckt nicht viel dahinter.
winne schrieb:> Hast du ein Oszi ? Wahrscheinlich nicht !
Nee, leider nicht. Bin nur ein gelegenheits Hobbybastler.
winne schrieb:> Dann schließ doch mal probeweise einen Kopfhörer an den Ausgang des> LM324 an.
Das wird bestimmt lustig, kann mir garnicht vorstellen, was dort kommen
könnte...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ERSTMAL VIELEN DANK BIS HIER HIN, FÜR DIE GANZEN ANSÄTZE UND
HILFESTELLUNGEN.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ich würde vorschlagen, dass ich (wir) mich (uns) erstmal mit der
Hardware auseinandersetze, damit wir dann später die Programme auch
vernünftig testen können. Im Anhang der original Schaltplan so wie ich
es lesen konnte, mit ersetzten Transistoren.
Die Spannungsstabilisierung für den Vorverstärker ändere ich später noch
ab. Erkennt jemand irgendwelche Fehler, bzw. Problemquellen?
PS: Das Display funktioniert, war bloß zu faul es einzuzeichnen.
mfg
@Sebastian
>PS: Das Display funktioniert, war bloß zu faul es einzuzeichnen.
Gewöhn Dir sowas gar nicht erst an. Das rächt sich später bei der
Fehlersuche oder wenn Du eine Leiterplatte entflechten willst.
Einen Vorschlag zum Hardwaretesten hab ich auch noch.
Schreib ein neues einfaches Programm, was die Schalter abfragt.
Als Indikator kannst Du das dann auf dem Display anzeigen.
Und natürlich kannst Du so auch die Lampen und den Summer testen.
Frage den ADC(1) ab und lass dir die Betriebsspannung im Display
anzeigen.
Display geht ja schon.
Wenn alles geht kannst Du dich auf den NF-Teil stürzen.
winne schrieb:> Einen Vorschlag zum Hardwaretesten hab ich auch noch.>> Schreib ein neues einfaches Programm, was die Schalter abfragt.> Als Indikator kannst Du das dann auf dem Display anzeigen.> Und natürlich kannst Du so auch die Lampen und den Summer testen.>> Frage den ADC(1) ab und lass dir die Betriebsspannung im Display> anzeigen.
Ist denn die Schaltung soweit funktionstüchtig, damit ich die ADC werte
überhaupt richtig reinbekomme?
Sebastian M. schrieb:> Ist denn die Schaltung soweit funktionstüchtig, damit ich die ADC werte> überhaupt richtig reinbekomme?
Sebastian. Du musst lernen auch mal etwas selbst auszuprobieren bzw. dir
zu überlegen, wie du etwas (hier: die Funktionstüchtigkeit) nachweisen
kannst.
Du hast an dieser Stelle 2 Themenkreise.
Das eine ist der ADC selber. Den kannst du testen, indem du den ganzen
Mikrofon-Verstärker Schnickschnack erst mal weglässt und mit einem Poti
als Spannungsteiler an den ADC gehst. Drehst du am Poti, muss sich der
angezeigte Wert ändern.
Den anderen Teil kannst du testen, indem du zb an den Verstärker
anstelle des ADC erst mal einen Lautsprecher anhängst. OK, der wird
furchtbar krächzen, aber das ist erst mal egal. für dich wichtig ist:
verstärkt das Ding oder verstärkt es nicht? Und das sollte eigentlich
mit einem Lautsprecher, aus dem das was das Mikrofon aufnimmt lauter
rauskommt nachgewiesen sein.
Da du weißt, dass der ADC funktioniert (hast du ja mit dem Poti
nachgewiesen), hängst du jetzt mal beide Teile zusammen und schreibst
dir ein Programm, welches den ADC-Pegel dauern ausgibt. Und dann
positionierst du das Mikrofon vor der Stereoanlage und berieselst es.
Der angezeigte ADC Wert muss sich verändern. Tut er das, dann
funktioniert das ganze wohl. Also baust du das Programm weiter aus:
Minimalwert feststellen, maximalwert feststellen, etc. etc.
Aber löse dich von der Vorstellung, dass du hier etwas präsentierst,
irgendjemand gibt dann sein ok dazu, du baust das auf und alles
funktioniert aus dem Stand heraus. Gerade das macht ja das Basteln aus:
das man auch selber experimentiert und Dinge ausprobiert. Wenn etwas
nicht funktioniert, dann grenzt man eben sinnvoll den nicht
funktionierenden Bereich ein und probiert was anderes. Bzw. umgekehrt
nimmt man eine Schaltung in Schritten in Betrieb, wobei man sich eine
Reihenfolge überlegt, so dass man mit möglichst einfachen und wenig
komplexen Teilsystemen anfängt und dann ein System nach dem anderen dazu
nimmt (und das wenn möglich eigenständig testet). Sinn der Sache ist es,
nicht am Ende mit einer Schaltung dazustehen, die man in einem Rutsch
aufgebaut hat, die nicht funktioniert und man hat keine Ahnung, wo man
mit Fehlersuche anfangen kann.
Ja, auch Profis arbeiten nach so einem schrittweisen Schema. Der
Schlüssel zum Erfolg ist es, nicht alles auf einmal haben zu wollen,
sondern die Komplexität in den Griff zu kriegen, in dem man das
Komplettsystem in beherrsch- und testbare Einzelteile zerlegt. Genau aus
dem Grund fängt man auch nicht damit an, gleich mal eine Platine zu
zeichnen, sondern das ganze zb auf einem Steckbrett auszuprobieren, oder
die Schaltung auf Loch- oder Streifenrasterplatine in Schritten
aufzubauen.
Sebastian M. schrieb:
>Ist denn die Schaltung soweit funktionstüchtig, damit ich die ADC werte>überhaupt richtig reinbekomme?
Eben das sollst Du ja herausfinden. Schaltbild richtig zeichnen ist eine
Sache. Versteckte Fehler muss man suchen. Dabei ist es egal ob selbst
eingebrockt oder von erfinderjo übernommen.
Trau nur dem was Du selbst gemessen oder ausprobiert hast.
Du merkst wir helfen gern. Aber nicht bei allem.
;-)
Guten Morgen,
so ich habe etwas rumgespielt, mit einem normalem Poti, mit Basic,mit
mehreren Widerständen und mit Kopfhörern.
Dann habe ich folgende Schaltung gefunden:
Beitrag "Re: Simpler Klatschschalter - dynamisch geht, elektret nicht"
Dabei höre ich über die Kopfhörer wenn ich über das Mikro streiche. Am
AVR zeigt es mir einen Pegel von ca. 23 (Wert spielt keine rolle) durch
erzeugen einer Lautstärker fällt der wert dann auch 0! Habe ich etwas
falsch angeschlossen (LM324)? Denn ich würde gerne bei steigender
Lautstärke einen steigenden Pegel haben.
mfg
Hi
> Gosub Tastertest
Bascom Hilfe:
With GOSUB, your program jumps to the specified label, and continues
execution at that label.
When it encounters a RETURN statement, program execution will continue
after the GOSUB statement.
Wo sind deinen RETURNs?
MfG Spess
spess53 schrieb:> Hi>>> Gosub Tastertest>> Bascom Hilfe:>> With GOSUB, your program jumps to the specified label, and continues> execution at that label.> When it encounters a RETURN statement, program execution will continue> after the GOSUB statement.>> Wo sind deinen RETURNs?>> MfG Spess
Hab ich absichtlich weggelassen, damit ich die aktuellen werte dauerhaft
angezeigt bekomme. Ist nur zu testzwecken.
Alter Sack schrieb:> ... "früher" hätte man sowas mit einem LM3915 gemacht!
Habe ich auch schon öfter gelesen, habe aber nur die LM324Ner.
Brauche nur einen steigenden Pegel bei steigender Lautstärke.
Hat jemand einen Lösungsvorschlag?
Äh, nee, der LM3915 ist, einfach gesagt, ein Pegel -> LED Umsetzer, den
man in VU Metern verwendet. Der LM324 ist ein Op-Amp.
Wenn man mehrere Ausgänge zusammenfassr (die Ausgänge sind Open
Collector), kann man sicher auch die drei Treiber für die Ampel steuern.
Er erspart Dir den ganzen uC Kram.
Schau mal hier:
Beitrag "Lautstärkeampel mit LM3915"
oder gleich hier:
http://www.mikrocontroller.net/search?query=LM3915
waits unterbrechen den Programmablauf. Sollte man nach Möglichkeit
anders programmieren.
2.
1
ConfigAdc=Single,Prescaler=Auto,Reference=Avcc
2
StartAdc
setzt Du an den Anfang des Programms. z.B. hinter config LCD.
1
STOPAdc
Brauchst Du in deinem Programm nicht.
3. fehlende Returns
Sowas gewöhn dir nicht erst an.
Das Programm springt sonst irgendwo hin, wo Du keine Übersicht mehr
hast.
Empfehlung
@Sebastian
> Denn ich würde gerne bei steigender> Lautstärke einen steigenden Pegel haben.
Das geht so mit deinem Programm und deiner Schaltung nicht.
Ich versuchs mal einfach zu erklären:
Du hast am Prozessoreingang das Signal deines Verstärkers zu "liegen".
Dieses Signal besteht aus einem Gleichspannungsanteil und einem
Wechselspannungsanteil.
Der Gleichspannungsanteil ist normalerweise immer vorhanden, auch wenn
kein Ton vorhanden ist.
Der Wechselspannungsanteil ist Dein Tonsignal. Einfach gesangt: "je
größer desto laut" ;-)
Der Gleichspannungsanteil wird durch den Kondensator zwischen LM324 und
Prozessor "herausgefiltert".
Was du auswerten willst ist ja der Wechselspannungsanteil.
Dies geht aber nicht so einfach wie du es in deinem Programm (mit einer
Zeile) geschrieben hast.
Schau dir mal das Programm von Erfinderjo an.
Dort wird für eine bestimmte Anzahl von Messungen der höchste und der
niedrigste Wert ermittelt. Das ist eine Möglichkeit.
Dazu sollte aber deine Hardware also dein Verstärker funktionieren.
Wenn Du die originale Schaltung mit dem LM324 aufbaust sollte es auch
funktionieren.
Schließe einen Lautsprecher oder Kopfhörer probeweise an den Ausgang des
LM324 an.
Hörst Du was aus dem Lautsprecher/Kopfhörer, wenn Du auf's Mikrofon
klopfst ?
Wenn ja funktioniert Dein Verstärker und Du kannst am Programm
weitermachen. Mit dem Poti kannst Du wahrscheinlich die Lautstärke
einstellen.
Winne Z. schrieb:> @Sebastian>> Was hälst Du hiervon ?
Hey, ja das werde ich dann berücksichtigen, wenn ich das Programm neu
schreibe. Wollte jetzt erstamal das Programm von erfinderjo zum laufen
bekommen, damit die Lärmampel wenigstens eine Funktion hat.
Winne Z. schrieb:> Hörst Du was aus dem Lautsprecher/Kopfhörer, wenn Du auf's Mikrofon> klopfst ?
Ja, klar und deutlich. Ist eigendlich ganz lustig.
Mit dem Programm von erfinderjo, klappt jetzt soweit auch alles, bis auf
einen kleinen Fehler:
Nach dem Einschalten und Auswählen (Kantine oder Hausaufgaben) komme ich
zu folgender Anzeige (Anzeige 1:). Da wird mir ein Pgl. von 2 bei
vollkommener Stille angezeigt und steigend bei steigender Lautstärke.
Was aber verwunderlich ist, das auch bei einem Pegel von 2 die gelbe LED
blinkt, und die rote dauerhaft leuchtet. Wenn ich dann die Schwellen
über das LCD einstellen möchte, stehen da bei allen die Werte 0.
Ich vermute das liegt daran, dass die Werte aus dem Eeprom gelesen
werden, welcher aber keine Werte hat, denn anfangs werden die zwar
festgelegt,
1
'Settings
2
Prog = 1
3
...
4
Laut = 1
5
Hsc = 0
6
Grun = 5
7
Gelb = 80
8
Rot = 100
9
...
aber dann später aus dem Eprom geladen, welche eigendlich dann wieder zu
0 werden.
1
Parameter:
2
If Prog = 1 Then 'Je nach Rezept entsprechende Parameter aus dem EEprom laden
Guten Tag,
habe es nun ausprobiert und es funktioniert alles!!!
Vielen Danke an alle, die mich unterstützt haben ;-)
--------------o00o---- '(_)'----o00o---------------
--------------------D-A-N-K-E----------------------