Forum: Mikrocontroller und Digitale Elektronik schaltung - frequenzzähler


von Hannes F. (pfannkuchen2001)


Angehängte Dateien:

Lesenswert?

Hallo,

erstmal zum anfang: ich bin blutiger anfänger was elektronik angeht.
so, nun zu meiner Frage: Ich habe vor, ein simples Stimmgerät zu bauen.

Die Ausgabe hab ich mir folgendermaßen vorgestellt: es gibt 7 Leds für 
die töne C, D, E, G, A. Außerdem gibt es noch 3 LEDs, die anzeigen ob 
der Ton zu hoch, zu tief, oder genau richtig ist.
LEDs an einen Controller zu basteln, sollte ich hinbekommen (schlisslich 
wird das ja auch in dem Tut auf der seite beschrieben).

nun aber zur "eingabe".
Ich will mit einem Mikrophon den Ton aufnehmen. diese (sinus?)-Kurve 
soll dann verstärkt werden und in ein rechtecksignal umgewandelt werden.
und dieses Signal soll dann dem Controller zugeführt werden.
theoretisch ist das ja eigentlich nicht schwer, aber ih habe einfach 
keine Ahnung, wie ich das Praktisch (oder auf dem Papier) umsetzen soll.

Ich habe mir gedacht, das ich die ganze geschichte lieber erst virtuell 
ausprobiere, um micht allzuviel technik kaputt zu machen ;)

im anhang ist ein schaltplan, den ich (bittte beachtet das ich 0 
Kenntnisse habe was elektronik angeht) gezeichnet habe. ich habe dafür 
Proteus (isis) verwendet.
nun ein paar fragen dazu:
1. warum gibt es an dem atmega8 kein vcc und keinen gnd anschluss?
welchen muss ich dafür verwenden (das es in der realität einen gibt ist 
mir klar, das habe ich in dem paper vom atmega8 gelesen, aber wo ist der 
in der simulation?
2. Ich habe dort einen sinusgenerator reingebastelt, der eine sinuskurve 
mit der amplitude 10mV macht. das sollte doch etwa mikrofonen 
entsprechen (das habe ich geschätzt...)
3. der ganze salat um Q1 herum sollte eigentlich ein Signalverstärker 
werden. (ich hoffe das sowas wirklich signalverstärker heißt^^, 
jedenfalls meine ich eine schaltung, die aus der sinuskurve eine größere 
sinuskurve macht.)komischerweise passiert da garnichts, wenn ich die 
Simulation starte. wo liegt da der Fehler?
4. Muss ich vcc an den Reset Pin legen?
5. Gibt es vielleicht einen IC der mir genau das abnimmt: er verstärkt 
ein eingangssignal, und wandelt es in ein rechtecksignal um (mit 0V= 
low, 5V= high???)
6. Sind in dem Schaltplan sonstirgendwelche Fehler?
7. Das dreieckige bauteil nach dem "verstärker" (mit der 40106 dran) 
soll ein schmitttrigger sein, der dann halt die verstärkte sinuskuve zu 
einem rechtecksignal macht. ist das der (oder gibt es mehrere?) 
richtige?
8. den verstärker habe ich von hier: http://tinyurl.com/2lrclm 
nachgebaut. zu diesem schaltplan eine frage: was ist die kuller am pin 
1???

Um die Programmierung mache ich mir keinen soo großen Kopf, denn da 
(glaube ich) bin ich relativ fit.

Ich würde mich über schnelle Hilfe freuen. danke!

Hannes

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Ich will mit einem Mikrophon den Ton aufnehmen. diese (sinus?)-Kurve
soll dann verstärkt werden und in ein rechtecksignal umgewandelt werden.

Edit: Hab Dich beim ersten mal nicht ganz verstanden...

Also ich wage jetzt mal zu bezweifeln, dass das so was wird... und Du 
hast Deine LEDs high-aktiv an die Ausgaenge geschalten was eigentlich 
davon zeugt dass Du das Tutorial nicht sehr genau durchgelesen hast.

Dann was mir noch so spontan auffaelt: RESET direkt auf High ohne 
Pullup... wenn das mal nicht Bumm macht beim Einschalten...

Dann willste was Digitalisieren, hast das Signal aber nicht an einem 
AD-Pin angeschlossen und VREF ist ebenfalls nicht angeschlossen...

Wie soll die Simulation eigentlich ohne Programm fuer den ATmega 
funktionieren? Und wozu sind die ganzen LEDs?

Michael

von THM (Gast)


Lesenswert?

Ich würde zur Frequenzmessung den ICP benutzen, ist glaub' ich auch im 
Tut beschrieben. Damit ist ohne viel Aufwand eine recht genaue 
Frequenzmessung zu realisieren.

Den Eingang kannste über einen OP als Komparator geschaltet realisieren 
(z.B. den LM311), das Ausgangssignal auf 0 und 5V begrenzen.

Den RESET-Pin würde ich nicht auf +5V legen, sondern die 
ISP-Schnittstelle verdrahten, ist einfacher umzuprogrammieren.

Ein Tiny2313 oder Tiny26 würde für den Zweck wohl ausreichen, denke ich.

von Düsentrieb (Gast)


Lesenswert?


von Hannes F. (pfannkuchen2001)


Angehängte Dateien:

Lesenswert?

> Erm? Du meinst vielmehr dass Du das Signal digitalisieren willst, right?

ja genau.

> Und die Amplitude hat mit der Tonhoehe nichts zu tun sondern die
> Frequenz

hmm wenn das so rübergekommen ist, tut es mir leid, aber das meinte ich 
nicht. mir ist schon bewusst, das die frequenz entscheident für den ton 
ist.

> es duerfte also unnoetig sein das Signal ueberhaupt zu
> digitalisieren, vielleicht reicht das schon ein Schmitt-Trigger dazu
> aus.

wie meinst du das? du meinst, das man einen schmitttrigger direkt an das 
den signaleingang (z.b.: mikrophon) hängen kann, und der realisiert 
schon so geringe ströme, um ein "ein" oder "aus" auszugeben???


> Also ich wage jetzt mal zu bezweifeln, dass das so was wird...

hmm naja aber anfangen kann ich doch schonmal oder? das ich das (noch) 
nicht kann weis ich, wenn mir aber nichts weiter gesagt wird, als "das 
klappt so nicht" kann ich daraus auch nichts lernen...

> und Du
> hast Deine LEDs high-aktiv an die Ausgaenge geschalten was eigentlich
> davon zeugt dass Du das Tutorial nicht sehr genau durchgelesen hast.

hmm, mag vielleicht nicht so aussehen, aber gelesen hab ichs. ich hab 
einfach nur die richtung vertauscht. (so wie es jetzt aussieht, sieht es 
doch schon besser aus (jedenfalls von den LEDs her oder?)

>
> Michael

Hannes

von Hannes F. (pfannkuchen2001)


Lesenswert?

THM wrote:
> Ich würde zur Frequenzmessung den ICP benutzen, ist glaub' ich auch im
> Tut beschrieben. Damit ist ohne viel Aufwand eine recht genaue
> Frequenzmessung zu realisieren.

ääh, sorry, ohne mich jetzt total zu blamieren, aber was ist ein ICP? 
Wikipedia hilft mir da leider nicht...
>
> Den Eingang kannste über einen OP als Komparator geschaltet realisieren
> (z.B. den LM311), das Ausgangssignal auf 0 und 5V begrenzen.

und nochmal das gleiche: könntest du mir bitte fix schreiben, was du mit 
OP meinst?

achso und: ist ein komparator ein schmitt-trigger?
>
> Den RESET-Pin würde ich nicht auf +5V legen, sondern die
> ISP-Schnittstelle verdrahten, ist einfacher umzuprogrammieren.

ok^^

>
> Ein Tiny2313 oder Tiny26 würde für den Zweck wohl ausreichen, denke ich.

hmm aber wie kann ich denn dan meine gewünschten 8 LEDs ansteuern? ich 
dachte, das der 2313 nur sehr wenige pins besitzt?

Hannes

PS.: es ist ja unglaublich, wie schnell hier die Antworten kommen....


Danke!

von THM (Gast)


Lesenswert?

ICP = Input Capture Pin
Dort wird der Timerinhalt des Timer1 bei auslösen des Input Capture 
Interrupts in ein Register geschrieben, quasi ein Zeitstempel. Wenn du 
dieses nun ausliest und den Inhalt vom Nächsten abziehst hast du die 
Periodendauer deiner Frequenz. Hängt natürlich von der Taktfrequenz und 
dem Timer-Teilerfaktor ab und muss entsprechend verrechnet werden.

OP = Operationsverstärker
Ja, der Komparator ist eine Art Schmitt-Trigger. Der Schaltet schon bei 
kleinsten Differenzen am Eingang bei Wechsel der Polarität um.

Die Tinys haben genügend Pins, schaue dir die Datenblätter an. Dort ist 
auch ICP, Timer usw. sehr gut beschrieben.

von Hannes F. (pfannkuchen2001)


Angehängte Dateien:

Lesenswert?

danke für die antworten bisher.

ich habe aber grad ein neues Problem: wie vorgeschlagen habe ich nun 
überlegt, das mit dem LM311 - Komparator umzusetzen.
aber wenn ich den in Proteus einbaue, dann bekomme ich immer eine 
Fehlermeldung (siehe Anhang)

kann mir da jemand helfen? (das wird sicher nur ein kleines Problem 
sein, aber weder google, noch die hilfe des Programmes hilft mir...)

Hannes

von Düsentrieb (Gast)


Lesenswert?

jespers schaltung is dir zu einfach - oder wie?

von Hannes F. (pfannkuchen2001)


Lesenswert?

Düsentrieb wrote:
> jespers schaltung is dir zu einfach - oder wie?

haha, nein, ich habe mir genau so eine einfache schlatung gewünscht!
nur ich verstehe sie nicht wirklich: was passiert da um BC547?

so wie ich das verstehe, kommt da eine eingangsspannung, die verstärkt 
wird. und das kommt dan an PB1 an.

nur wie lässt sich das signal nun auswerten? ich habe doch dann 
immernoch eine sinuskurve?!

Hannes

von Düsentrieb (Gast)


Lesenswert?

Easy, no ?

der BC547 verstärkt das signal, der input pin wird dann eben mal hi, mal 
lo...ausgewertet wird nulldurchgang -- > periode messen, frequenz 
berechnen...Easy, no ?

von Hannes F. (pfannkuchen2001)


Angehängte Dateien:

Lesenswert?

so, ich habe jetzt mal versucht, diese schaltung (von hier: 
http://www.myplace.nu/avr/gtuner/index.htm) im Simulator nachzubauen 
(siehe anhang)

entweder bin ich einfach zu blöd so ein Programm zu bedienen, oder ich 
habe irgendeinen Fehler gemacht: wenn ich die Simulation starte, und 
über diesen sinus-generator eine sinus-spannung erzeuge, kommt beim 
controller nur eine gaaaaaanz schwache "stromschwankung" an: ein signal 
zwischen 3.05V und 3.06V (wenn ich eine amplitude von 10mV bei der 
sinuskurve nehme, wenn ich 65mV nehme, schwankt die spannung an PB1 
zwischen 3,09 und 3,02V...).

was hab ich da nun falsch gemacht oder muss das so sein??? dann habe ich 
nicht verstanden, wie man sowas dann per programm auswerten soll...

danke schonmal für antworten!

Hannes

von Hannes F. (pfannkuchen2001)


Lesenswert?

ok, hat sich erledigt!
ich hatte den fehler gemacht, das ich einen falschen Kondensator 
eingesetzt hab...
ich habe jetzt einen mit 0.01F eingesetzt. richtig gell?
vorher hatte ich irgendwas mit 0.00001F

Grüße

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.