Hallo, ich bin neu hier, also danke schon mal für die Nachsicht. Es geht um folgendes: EIn Kollege und ich, wir haben vor, uns einen uC zuzulegen, um damit folgenden Funktionsumfang zu implementieren: Kommt am Eingang ein undefiniertes Signal (Etwa durch ein direkt angeschlossenes Mikrofon)an, soll der Ausgang für eine fest definierte Zeit ( Etwa 1s) direkt oder verzögert auf high geschaltet werden. Die Verzögerung soll einstellbar sein und über ein Display angezeigt werden. Wir haben die Schaltung bereits elektronisch realisiert, wobei das fehleranfällig war und im ms-Bereich nicht immer reproduzierbar ist. Ich habe etwas(!) Erfahrung mit C, bin auch mit der grundsätzlicher Funktion von uc'd vertraut, ansonsten aber blutiger Anfänger. Die Frage, die sich nun stellt, ist ob man hierfür einen konkreten Microcontroller emfehlen kann, inklusive ALLEM, was dazu gehört, sprich Schnittstellen, Software usw.. Das wäre UNGLAUBLICH hilfreich für uns, da ich was features von uc's angeht bisher nur Bahnhof verstehe und nicht ins blaue reinkaufen möchte/kann. Ich bin sicher, solche Fragen treten öfters auf, aber die Sufu hilft mir in dem fall nicht weiter, da dieser uC wirklich nur für diese spezielle Anwendung benötigt würde. Ich hoffe, mein Vorhaben/ Problem verständlich dargelegt zu haben, vielen Dank im Voraus Gruß
Soll der denn das undefinierte Signal untersuchen und bei einem bestimmten Wert einen Ausgang schalten? Für diese Funktion reicht ein ganz kleiner mit ADC und wenigen Ausgangsports.
ATMega8, bleiben auch noch genug Portpins für das Display und ein paar Tasten. Oder gleich den ATMega88, der ist moderner.
Wow, vielen Dank für die schnelle Antwort! Also um genau zu sein wäre es schön, wenn zusätzlich zur Verzögerung auch die Sensibilität des Eingangs eingestellt werden könnte. Auf Deutsch: Überschreitet der Pegel einen eingestellten Wert, wird nach einer eingestellten Zeit der Ausgang auf high geschaltet. Beide Werte sollten auf einem Display dargestellt werden. Edit: Da kommt man ja mit dem lesen nicht hinterher, Danke für die schnellen Antworten und den Link. Gruß
>Überschreitet der Pegel einen eingestellten Wert, wird nach einer >eingestellten Zeit der Ausgang auf high geschaltet. Beide Werte sollten >auf einem Display dargestellt werden. Gar kein Problem, das macht das Programm. Bei 10-Bit Auflösung des ADC hat man auch schon einen ganz ordentlichen Dynamikumfang zum Detektieren der Eingangssignale. Ein Mikrofonsignal kann aber nicht direkt dazu benutzt werden, es muß erst um etwa Faktor 100-300 verstärkt werden. Dazu ist ein externer Operationsverstärker nötig.
Heißt das, ich benötige zwangsläufig ein Eingangssignal im Bereich von 0 bis 5 Volt, um die gesamte Auflösung des ADC's nutzen zu können? Nur zum Verständnis, das umwandeln per OPV ist sicher nicht das Problem, auch der Dynamikumfang müsste keine 10 bit groß sein, das ganze muss an der Stelle nicht so sensibel sein, das die Wahl des Controllers daran ausgerichtet wird. Ich hätte außerdem erwähnen sollen, dass wir quasi die gesamte Entwicklungsumgebung inkl. Board brauchen. Gruß
Was für ein Display soll denn angeschlossen werden? Ein "richtiges" Grafikdisplay oder z.B. 2x20 Zeichen oder reichen auch z.B. 8 Sieben-Segment-Anzeigen (der einfachste zu realisierende Fall)? Solltest du nur Sieben-Segment-Anzeigen benötigen, würde ich persönlich z.B. einen MAX7219 nehmen, der nimmt dir das multiplexen ab, brauchst ihm also nur noch mitteilen, was er darstellen soll. Hab gestern noch damit "gespielt". =) Die Einstellung der Sensibilität wird nicht ohne externe Beschaltung möglich sein, also das Mikrofon wird man nicht direkt an uC löten können. ;) Denke, da braucht man wenigstens einen Pegelwandler, besser dazu noch einen ADC (Digital-Analog-Konverter, ist bei einigen uC schon drin). Dann kann man auch richtig schön die Stärke des Signals einlesen und dann per Software entscheiden, ab welchem Wert etwas passieren soll. <- mein Vorschlag
@Daniel: Der ADC ist im (Atmega-)Controller doch schon drin ;-). Nur anheben muß man das Signal noch, da von der Kapsel nicht viel mehr als 1...10 Millivolt zu erwarten sind.
Wie gesagt, wir benötigen ein gesamtes Board, ich hatte mich da falsch ausgedrückt. Ich bin also von einem vorhandenem ADC ausgegangen, die Pegelumwandlung sollte nicht das Problem darstellen. Zum Display: Sieben-Segment-Anzeigen würden sicher genügen, allerdings wäre mir ein 2x20-Grafikdisplay lieber, falls das für einen Anfänger kein zu großes Hindernis darstellt, es soll ja auch optisch was hermachen. Gruß
Weiß nicht, ob das für einen Anfänger schwer zu realisieren ist, bin selbst quasi noch Anfänger und hab leider noch nicht mit "richtigen" Display gearbeitet, aber mein S65-Display ist schon unterwegs. =) Das Arbeiten mit nem MAX7219 war auf jeden Fall überhaupt nicht schwer, hab gestern Nachmittag damit eine GPS-Uhr gebastelt <- hatte langeweile. @Travel Ja, ist mir auch noch eingefallen, hatte das schon nachgetragen. ;)
http://www.pollin.de/shop/detail.php?pg=OA==&a=MTY5OTgxOTk=&w=OTk4OTY4&ts=0 http://www.pollin.de/shop/detail.php?pg=OA==&a=NjQ5OTgxOTk=&w=OTk4OTY4&ts=0 Wäre das ´was für Dich? Den Verstärker und das Mikro mußt Du trotzdem auf eine kleine Zusatzplatine bauen.
Daniel Reinke wrote: > Was für ein Display soll denn angeschlossen werden? Ein "richtiges" > Grafikdisplay oder z.B. 2x20 Zeichen oder reichen auch z.B. 8 > Sieben-Segment-Anzeigen (der einfachste zu realisierende Fall)? Ob ich 7-Segment Anzeigen als den einfachsten Fall ansehen würde, und dann auch noch gleich 8 Stück. Na ja, ich weiss nicht recht. Die Reihung, von einfach zu schwer würde bei mir so aussehen: * einzelne 7-Segment * 2*20 LCD * gemultiplexte 7-Segment mit mehreren Stellen * Graphik-LCD Ein 2*20 LCD anzuschliessen und zu programmieren, ist nicht wirklich das große Problem.
Karl heinz Buchegger wrote: > Daniel Reinke wrote: >> Was für ein Display soll denn angeschlossen werden? Ein "richtiges" >> Grafikdisplay oder z.B. 2x20 Zeichen oder reichen auch z.B. 8 >> Sieben-Segment-Anzeigen (der einfachste zu realisierende Fall)? > > Ob ich 7-Segment Anzeigen als den einfachsten Fall ansehen würde, > und dann auch noch gleich 8 Stück. Na ja, ich weiss nicht recht. > > Die Reihung, von einfach zu schwer würde bei mir so aussehen: > > * einzelne 7-Segment > * 2*20 LCD > * gemultiplexte 7-Segment mit mehreren Stellen > * Graphik-LCD > > Ein 2*20 LCD anzuschliessen und zu programmieren, ist nicht > wirklich das große Problem. Ok, hatte ja erwähnt, dass ich das noch nicht gemacht habe. Ich meinte auch eine Ansteuerung über einen MAX7219, der einem ja vieles abnimmt. Nur das viele Fädeln war etwas aufwändig, da ich kein Ätzgerät hier habe und extra Layouten zur FH fahren wollte ich auch nicht. ;) @Travel Das sieht in der Tat sehr passend aus und vor allem nicht teuer
Travel Rec. wrote: > http://www.pollin.de/shop/detail.php?pg=OA==&a=MTY5OTgxOTk=&w=OTk4OTY4&ts=0 > > http://www.pollin.de/shop/detail.php?pg=OA==&a=NjQ5OTgxOTk=&w=OTk4OTY4&ts=0 > > Wäre das ´was für Dich? Den Verstärker und das Mikro mußt Du trotzdem > auf eine kleine Zusatzplatine bauen. Na das sieht doch gut aus, an der Stelle hab ich schon mal was, wo ich mich reinlesen kann, vielen Dank. Ich denke da kommt dann noch das 2x20-Display dazu. Gehen wir von folgendem Szenario aus: - Externe Platine mit Mikro und OPV auf max. 5 Volt gewandelt - Von dort aus in den Analogeingang des Controllers - Zwei Regler für - Sensibilitätsschwelle( Also schalten des Ausgangs) - Einschaltverzögerung - Ein Schalter für An/Aus - Ein 2x20-Display für Anzeige der Verzögerung und der Sensibilität - Spannungsversorgung über 9-Volt Block Ist das ein mögliches Szenario für zwei ambitionierte Anfänger und obige Boards? Im Übrigen noch ein mal vielen Dank für die schnelle Hilfe, ich bin baff... Gruß
Daniel Reinke wrote: > Ok, hatte ja erwähnt, dass ich das noch nicht gemacht habe. Ja, ist schon klar. Ich wollte nur vermeiden, dass der Fragesteller den Eindruck bekommt dass ein 2*20 LCD ein Riesen-Problem wäre. > Nur das viele Fädeln war etwas aufwändig, :-) In dem Punkt ist so ein Standard LCD auf jeden Fall einfacher: Mit 7 (6) Leitungen ist man dabei.
>Das sieht in der Tat sehr passend aus und vor allem nicht teuer
Yep, aber man muß selber löten für den Preis. Trotzdem ein nettes Board.
Felix R. wrote: > Ist das ein mögliches Szenario für zwei ambitionierte Anfänger und obige > Boards? Ich würde mal sagen ja. Eine wichtige Zutat hast du aber noch vergessen: Viel Zeit zum Einarbeiten in die Programmierung. Für einen Einsteiger ist das sicherlich kein Wochenendprojekt, aber durchaus machbar.
Mit selbst löten hab ich kein Problem, wir haben das ganze ja wie gesagt schon elektronisch realisiert:-) Nochmal zu meinem vorherigen Post: Realistisch ja/nein?
>Gehen wir von folgendem Szenario aus: >- Externe Platine mit Mikro und OPV auf max. 5 Volt gewandelt Ja. In der Größe eines 20Cent Stückes ;-) >- Von dort aus in den Analogeingang des Controllers Ja, wenn der Verstärker im Ruhezustand Vcc/2 an seinem Ausgang liefert und in Abhängigkeit zur Mikrofonspannung nach oben und unten auslenkt, hat man die besten Chancen, das Signal zu verarbeiten >- Zwei Regler für >- Sensibilitätsschwelle( Also schalten des Ausgangs) >- Einschaltverzögerung Ich würde Taster und ein entsprechendes Menü nehmen. Poti über anderen ADC-Eingang geht natürlich auch ;-) >- Ein Schalter für An/Aus >- Ein 2x20-Display für Anzeige der Verzögerung und der Sensibilität O.K. >- Spannungsversorgung über 9-Volt Block Nee, Netzteil ist billiger. Wenn Batterie oder Akku, dann eine entsprechende Anzahl Mignon.
Felix R. wrote: > Heißt das, ich benötige zwangsläufig ein Eingangssignal im Bereich von 0 > bis 5 Volt, um die gesamte Auflösung des ADC's nutzen zu können? Jein. Physisch muss die Eingangsspannung (zu jedem beliebigen Zeitpunkt) irgendwo zwischen 0 und Vcc (3 V oder 5 V, ganz nach Gutdünken) liegen. Der ADC kann aber in einem Modus mit 200fachem Vorverstärker betrieben werden, das geht aber nur differenziell, d. h. er vergleicht die Spannung gegen einen zweiten ADC-Eingang. Schau dir dazu bitte unbedingt das Datenblatt an, nicht jeder Eingang geht gegen jeden. Die Eingangsschaltung könntest du ungefähr so wie dargestellt aufbauen. Ein Spannungsteiler hält einen der beiden Eingänge auf Vcc/2 zur Referenz, der eigentliche Messeingang wird hochohmig ebenfalls auf diesen Wert gezogen (dadurch ergibt sich ohne Eingangsspannung theoretisch eine Nullmessung, praktisch ein kleiner aber relativ konstanter Offset), und das Signal koppelst du mit einem Kondensator auf den Messeingang. Wenn du nun gegen die interne Spannungsreferenz von 2,56 V misst, dann wäre der Dynamikbereich im differenziellen x200-Modus -6,4 mV ... 6,4 mV. Das könnte einigermaßen für ein Mikrofonsignal genügen.
Dieser Modus wird für AVRs im DIP-Gehäuse nicht garantiert. Trotzdem eine gute Idee. Für Vollaussteuerung könnte es knapp reichen, wenn man sich das Mikro in den Hals steckt, während man laaaaauuuut schreit, lol.
Hier stoße ich schon an die Grenzen... Ich gehe davon aus, dass ich an einen "Vergleichseingang"( Vcc=5V) 2,5 Volt anlege. Das Mikrofon wird so verstärkt, dass maximal 2,5 V +-2,5V ausgegeben werden. Durch den Vergleich bzw. die Differenz der beiden Eingänge habe ich nun einen Wert von 0 bis 2,5 V. Habe ich das annähernd richtig verstanden? Dann Programmiere ich so, dass beispielsweise ab dem Wert von 1V Differenz der beiden Eingänge der Ausgang schaltet...? Gruß
Hallo Ich wollte demnächst auch was mit nem Mic machen auch mit nem ATMega8 bzw 88 Allerdings habe ich das Problem, dass ich nicht weis wie ich das Mic jetzt anschließen muss könnte evtl einer mal nen Beispiel Schaltplan posten? Danke im vorraus, Tamme
Travel Rec. wrote:
> Dieser Modus wird für AVRs im DIP-Gehäuse nicht garantiert.
Das hat aber in erster Linie den Grund, dass die langen Wege im
DIP-Gehäuse mehr Störspannungen einkoppeln und dass Vcc dort
nicht optimal abgeblockt werden kann. Rein elektrisch sind die
Chips natürlich gleich. So wie ich den OP verstanden habe, will
er ja eher eine Art binärer Aussage: ,,da brüllt jemand'' :) als
eine irgendwie geartete saubere Signalaufbereitung mit bestmöglichem
(S+N)/N.
Nichtsdestrotz hätte die Verwendung eine TQFP-Version gewisse Vorteile.
Löten kann man das Zeug auch als Hobbyist problemlos (0,8 mm Pinabstand
sind keine große Herausforderung), wäre dann nur die Frage, ob man
dafür irgendeine fertige Platine bekommt. Ich könnte die Gerberfiles
für das angehängte Experimentierboard jemandem zukommen lassen. Das
ist für einen ATmega1284P gebaut, aber da passt alles pinkompatible
drauf (ATmega8535/16/32/164P/324P/644/644P), falls sich jemand damit
was bauen will. Die verfügbaren Ports sind STK500-mäßig auf 10-polige
Stecker geroutet. (Mit den Gerbers kann man sich bei einem
PCB-Hersteller dann eine Platine wie die oben dargestellte bauen
lassen.)
Felix R. wrote:
> Hier stoße ich schon an die Grenzen...
Ja, du wirst wohl noch ein wenig über dein Problem nachdenken müssen,
bis du zu einer fertigen Lösung kommst.
. du hast Wechselspannung im NF-Bereich, d. h. sie ändert sich
kontinuierlich, du musst so vielleicht alle 100 µs messen, um
die einzelnen Momentanwerte zu erfassen
. dich interessieren die Spitzenwerte
. du musst also zuerst einmal die Maximalwerte ermitteln
. diese Maximalwerte willst du aber nur für einen gewissen Zeitraum
in der Vergangenheit haben, danach willst du sie ,,vergessen'', um
das Maximum neu zu bewerten
. wenn das Maximum einen bestimmten Schwellwert eine bestimmte Zeit
lang überschreitet, soll dein Trigger auslösen
. wenn das Maximum einen bestimmten (möglicherweise anderen)
Schwellwert eine bestimmte (möglicherweise andere) Zeit lang
unterschreitet, soll der Trigger zurück genommen werden
Wie Karl Heinz oben schon schrieb, das ist machbar, aber für einen
Anfänger alles andere als ein Wochenendprojekt.
Danke für die Zusammenfassung, ein Wochenendprojekt soll es wirklich nicht werden, darüber bin ich mir absolut im Klaren. Gut, zur Klärung: Hier soll wirklich NICHTS sauber aufbereitet werden. Ich möchte per Mikro nur etwas schalten. Ich dachte da an die Ansteuerung eines NPN's als Open Collector. Das heißt der Ausgang ist geschaltet...oder eben nicht. Zum Problem: Schießt man den Analogeingang, wenn man negative Spannungen aufgibt? Ich wäre jetzt hergegangen und hätte 2,5 Volt als Daueroffset genommen und zusätzlich den Pegel des Mikros so verstärkt, dass 0-5V am Eingang liegen. Die Sensibilität könnte man doch vorher etwa durch die Verstärkung selbst beeinflussen, um Programmseitig nicht überfordert zu sein? Gruß
>Allerdings habe ich das Problem, dass ich nicht weis wie ich das Mic >jetzt anschließen muss könnte evtl einer mal nen Beispiel Schaltplan >posten? Schaltung, um (Kondensator-) Mikrofon an AVR Analog/Digital-Converter anzuschließen.
Wirklich vielen Dank für die Schaltung, sehr hilfreich. Jetzt könnte man doch schon hier die Sensibilität etwa durch R4 als Poti beeinflussen, oder? Edit: Noch mal zu dem pollin-Link ziemlich oben: Ist das Erweiterungsboard im zweiten link notwendig/hilfreich, oder tuts alternativ dazu auch ein zugelötetes Display, wie ich das sehe, ist das ja das einzig hilfreiche an dem Board, oder sehe ich da was komplett falsch? Gruß
Felix R. wrote: > Schießt man den Analogeingang, wenn man negative Spannungen aufgibt? Kommt auf den Strom an, den du hineintreibst. Das Datenblatt hat irgendwo eine Tabelle “Absolute Maximum Ratings”, diese sagt, dass jeder Pin maximal 40 mA Strom führen kann. Mangels anderer Angaben gilt das offenbar auch für die darin enthaltenen Schutzdioden. > Ich wäre jetzt hergegangen und hätte 2,5 Volt als Daueroffset genommen > und zusätzlich den Pegel des Mikros so verstärkt, dass 0-5V am Eingang > liegen. Warum nimmst du nicht einfach meine Schaltung von oben zusammen mit dem internen Verstärker des ADC? Damit hast du elektrisch schon beinahe alles zusammen (ausgenommen den Pullup-Widerstand, den dein Mikrofon braucht und den Schalttransistor am Ausgang). Ich sehe nur gerade, dass der differenzielle Modus mit dem Verstärker für einen ATmega88 nicht verfügbar ist. Aber bevor du erst mit einem externen OPV anfängst, kannst du dir in der Tat die Benutzung eines ATmega8535/16/32/164P/324P/644/644P überlegen. Die übrigen Pins werden dich ja vermutlich nicht stören, und wenn du dich für das TQFP-Gehäuse entscheidest, ist er auch nur geringfügig größer. > Jetzt könnte man doch schon hier die Sensibilität etwa durch R4 als Poti > beeinflussen, oder? Sowas kannst du auch komplett in der Software erledigen.
@Travel Rec.: Danke, aber den OPA340 find ich bei Reichelt nicht... ich hab aber noch 5 mal den LM324 "rumliegen" wie unterscheiden die sich? Danke im vorraus, Tamme
http://www.reichelt.de/?;ACTION=7;LA=6;OPEN=1;INDEX=0;FILENAME=A200%252FLM124_LM224_LM324_LM2902%2523PHI.pdf;SID=29rdTLiKwQAR0AABLB7Uwed2ea42b86a846565d05ccda1e7a299b So hier noch eben das Datenblatt... sehe ich das richtig das da einfach nur 4 mal qausi der OPA340 drin steckt?
Reichelt hat auch den OPA2340 (Dual, SO8), den OPA340 hatte ich nur mal eingetragen, weil nur 1 Kanal benötigt wurde. Es ist übrigens ein Single-Supply Rail-To-Rail Typ, sollte man bei derart kleinen Betriebsspannungen schon nehmen.
Prinzipiell ja, ist aber kein Rail-To-Rail und somit in der Dynamik relativ begrenzt.
Weiß immer noch nicht, wofür der externe OPV gebraucht wird (und erst recht nicht, warum das ein Rail-to-Rail-Teil sein muss für so eine einfache Anwendung). Da ich den ganzen Spaß nochmal selbst ausprobieren wollte, habe ich oben skizzierten Analoganschluss zusammen mit einem 08/15-Elektret- Mikro aus der Bastelkiste (mit 10 kΩ Arbeitswiderstand an 4 V Vcc) an die im Foto gezeigte Bastelplatine geklemmt (das war das einfachste, was ich gerade herumliegen hatte). Fazit: der 200fache Vorverstärker ist für diese einfache Art Audioanwendung bestens geeignet. Das Mikro gibt so 10 mVss beim normalen Besprechen aus einigen 10 cm Entfernung ab, bei lauteren Geräuschen werden es dann schon 100 mVss. Damit steuert man den internen ADC des ATmega1284P (gegen die 2,56 V Referenz gemessen) praktisch schon komplett durch. Übersteuern ist aber für diese Anwendung hier auch nicht weiter tragisch, der ADC klemmt ja dann das Bitmuster in der Endlage fest. Ich kann je nach in der Software eingestellter Empfindlichkeit problemlos die angeklemmte LED noch mit Händeklatschen aus 5 m Entfernung einschalten. Wenn man noch viel empfindlicher werden will, muss man dann natürlich gängige NF-Abschirmmaßnahmen gegen Brummeinstreuung etc. mit vorsehen. Das war in meinem einfachen Versuchsaufbau nicht ohne weiteres machbar (ich wollte mit paar simplen Drähten an den 10poligen Pfostensteckern arbeiten können). Der ATmega1284P diente dabei nur als Beispiel (weil ich ihn in dieser Form gerade da hatte), die derzeitige Mini-Firmware ist unter 0,5 KiB, es käme also genauso gut ein ATmega8535 in Frage. (Das ist der kleinste, für den ich den 200fachen Vorverstärker jetzt im Datenblatt finden konnte.)
@ Jörg Wunsch: Gut daß Du´s probiert hast, dann wissen wir das jetzt auch ;-). Mir hatte gerade die Zeit gefehlt... Laß uns die externe Variante als Lösung für Controller ohne internen Verstärker ansehen. Und als etwas qualitativ hochwertiger, d.h. für Audiosampelei auf dem AVR ;-).
Naja, der Audiosampelei sind da irgendwie technische Grenzen gesetzt hinsichtlich der verarbeitbaren Datenmenge. Ansonsten dürfte der wesentliche Mangel des internen Verstärkers die relativ grobe Abstufung der Verstärkung sein. Die Verstärkung lässt sich von 200fach dann nur auf 10fach absenken, dazwischen ist nichts.
Das ist ja toll, dass das so funktioniert. Ich möchte nichts anderes, als das etwa auf ein Klatschen aus einiger Entfernung oder entsprechenden Pegeln auslösen. Die 2,5 Volt Referenzspannung würden dann etwa per Spannungsteiler einem zweiten Analogeingang zugeführt? Noch ein mal zum ganz oben erwähnten Zusatzboard: Wäre ein einfaches 2x20-Display als Alternative zum Ansteuern nicht genau so geeignet? Wir würden gerne bestellen, so dass dann nach umfangreicher Einarbeitung mit spezielleren Fragen genervt werden kann:-) Edit: Jörg Wunsch wrote: > Ansonsten dürfte der wesentliche Mangel des internen Verstärkers die > relativ grobe Abstufung der Verstärkung sein. Die Verstärkung lässt > sich von 200fach dann nur auf 10fach absenken, dazwischen ist nichts. Heißt das, dass eine Regelung der Sensibilität doch auf elektronischem Weg über die Eingangsbeschaltung gesteuert werden müsste? Vielen Dank Gruß
>Heißt das, dass eine Regelung der Sensibilität doch auf elektronischem >Weg über die Eingangsbeschaltung gesteuert werden müsste? Nein, das machst Du anhand der erhaltenen Werte in der Software. >Die 2,5 Volt Referenzspannung würden >dann etwa per Spannungsteiler einem zweiten Analogeingang zugeführt? Siehe Schaltplan von Jörg weiter oben.
Alles klar, jetzt bin ich bei euch, das heißt PC1 wäre in dem Fall mein Referenzeingang!? Gruß
Felix R. wrote: > Alles klar, jetzt bin ich bei euch, das heißt PC1 wäre in dem Fall mein > Referenzeingang!? Nein, bei der Schaltung war ich noch von einem ATmega88 ausgegangen. Habe erst danach gemerkt, dass der keine 200fache Verstärkung implementiert hat. Beim ATmega16 & Co. sind die ADC-Eingänge an Port A. Ich habe PA0 und PA1 genommen für den differenziellen Eingang. Die Referenzspannung, gegen die der ADC dann vergleicht, ist davon aber unabhängig. Dafür habe ich die interne 2,56-V-Spannungsquelle benutzt. Du hast also hier zwei Differenzen, die gebildet werden: zuerst eine von Vcc/2 (durch den Spannungsteiler) gegen Vcc/2 ± Mikrofonspannung. Die Differenz daraus ist dann ± Mikrofonspannung (das mit dem Vcc/2 macht man nur, damit man den Arbeitspunkt irgendwo im sicheren Eingangsspannungsbereich des Verstärkers hat), und diese Differenz wird intern 200fach verstärkt. Die daraus resultierende Spannung wird im ADC dann gegen dessen Referenz (bei mir also nominell 2,56 V, das kann aber exemplarabhängig streuen) verglichen und liefert das Messergebnis des ADC. Das Ergebnis kann dann zwischen -512 (für eine negative Spannungsdifferenz von 1,28 V oder mehr) und +511 (für eine positive Spannungsdifferenz von 1,28 V oder mehr) liegen. Mit diesen Werten rechnest du dann weiter. Ich habe sie erstmal intern in den positiven Bereich gelegt (also wenn v < 0 dann v = -v) und dann das Maximum gebildet, um den Spitzenwert der Amplitude zu ermitteln. Wenn dieser Wert dann einen Sollwert überschreitet, wird das Ereignis ausgelöst und gleichzeitig ein Zähler gestartet. (Liegt der Pegel wiederholt über der Schwelle, so wird dieser Zähler immer wieder neu gesetzt.) Ein Timer reduziert regelmäßig gleichmäßig die akkumulierten Maximalwerte wieder, damit der ,,Krawall'' nicht bis in alle Ewigkeit bestehen bleibt. Da kann man sicher noch mit dem Algorithmus experimentieren. > Wäre ein einfaches > 2x20-Display als Alternative zum Ansteuern nicht genau so geeignet? Als Eingabemedium? Das verstehe ich nicht. Ansonsten hat der Controller noch genug freie Pins, um ein Standard- LCD-Display da dran zu klemmen. p.s.: Um ein Studium des Datenblattes des AVRs wirst du nicht umhin kommen, und wenigstens die dich interessierenden Teile (also vor allem den ADC) solltest du möglichst schon vor der Bestellung verstanden haben.
Jörg Wunsch wrote: > ... >> Wäre ein einfaches >> 2x20-Display als Alternative zum Ansteuern nicht genau so geeignet? > ... > Als Eingabemedium? Das verstehe ich nicht. > Nein, natürlich nicht, meine Frage war mehr, ob das Zusatzboard inkl. Display, das ganz oben im Thread angesprochen wurde, bestimmte Vorteile gegenüber handelsüblichen Displays mit sich bringt, denn das ist aus meiner Sicht ja das einzig notwendige...? ... > Ansonsten hat der Controller noch genug freie Pins, um ein Standard- > LCD-Display da dran zu klemmen. ... Im Prinzip war das die Antwort, die ich hören wollte:-) > > p.s.: Um ein Studium des Datenblattes des AVRs wirst du nicht umhin > kommen, und wenigstens die dich interessierenden Teile (also vor allem > den ADC) solltest du möglichst schon vor der Bestellung verstanden > haben. Nun, das ist mir klar, dass ich mich auch in der Hinsicht einarbeiten muss, ich weiß auch tatsächlich, wie ADC's usw. im Detail funktionieren, es ist halt trotzdem was anderes, so etwas auswendig zu lernen, oder es alternativ aus eigenem Interesse zu verstehen/ für eine eigene Anwendung zu programmieren....:-) Wie gesagt, vielen Dank für die unglaubliche Hilfsbereitschaft, ich lerne mit jeder Antwort hinzu. Das Dingen wird jetzt bestellt, und dann kommen neue Fragen auf mich (respektive euch) zu. Gruß
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.