Hallo, ich möchste einen Frequenzgenerator bauen der mir eine Rechteckspannung mit Amplitude 10V liefert und ein Pulsweitenverhältnis von 50/50 hat. Die Frequenz sollte über ein Poti variabel sein bis 1kHz. Außerdem soll die Frequenz und Amplitude auf einem Display angezeigt werden. Meine Frage wäre nun welches Board und welcher Mikrocontroller hierfür für einen Einsteiger geeignet wäre. Am besten wäre eine Programmierung in C. Ich hab mich schon etwas ungesehen und bin auf ATmegas getoßen allerdings ist die Auswahl extrem groß... Ich hoffe jemand kann mir helfen :) Viele Grüße
So wie ich das sehe, sind die Arduinos als billige Universalboards momentan eine der besseren Möglichkeiten. Deine Anforderungen kannst du mit jedem x-beliebigen Board erfüllen. Von daher bist du an nichts gebunden. Arduino hat den Vorteil, dass das Problem das du zusätzlich einen Programmer brauchst, erst mal vom Tisch ist.
OK danke schonmal. Wie gesagt ich bin absoluter Einsteiger habe in der Uni schon den ein ode randeren mC programmiert, habe aber noch nie selbst alle benötigten SAchen zusammen gestellt. Ich habe eben kurz nach Arduinos geschaut. Also würde ich beispielsweise das Arduino Duemilanove und dazu als Display das Arduino S65-Shield. Was bräuchte ich dann zum Programmieren? ISr bei den Arduino Softwre dabei oder gibt es Freeware?
Noch eine Frage zu den 10V. Ich hab mir gedacht ich nehme 2 9V Batterien und schalte dann einen 10V Spannungsregler. Von dort dann mit 10V in das Board. Mit dem Board geb ich dann über einen PWM Ausgang das Signal an einen MOSFET welcher mit den 10V vom Spannungsregler verschaltet ist und dadurch das PWM Signal durchschaltet. Ist die Idee soweit ok oder gibts nooch andere einfacherer Möglichkeiten. Das ganze soll übrigens mobil sein.
Von 9Volt direkt ans Board. Damit ist der Wirkungsgrad besser :-)
Ach ok, grad gelesen, dass du 10Volt Amplitude willst. Dann würd ich eher ein Steckernetzteil mit 10Volt nehmen, denn aus 18V Batterie erst 10V und dann 5V (Arduino) zu machen, ist wirkungsgradtechnisch extrem mies -> Batterien sind schnell leer. :-)
Floh schrieb: > Ach ok, grad gelesen, dass du 10Volt Amplitude willst. > > Dann würd ich eher ein Steckernetzteil mit 10Volt nehmen, denn aus 18V > Batterie erst 10V und dann 5V (Arduino) zu machen, ist > wirkungsgradtechnisch extrem mies -> Batterien sind schnell leer. > :-) Und das ganz speziell bei 9V Blockbatterien. Die sind sowieso keine Kapazitätswunder. Eher das Gegenteil :-)
Ja das Problem ist,dass ich das Teil frei mitnehmen muss/will d.h. ein Kabel wäre ziemlich hinderlich...
Dann nimm eine entsprechende Anzahl AA oder AAA Batterien (bzw. Akkus) Diese 9V-Blöcke sind doch in der Praxis zu fast nichts zu gebrauchen. Die 150 oder 200mAh sind doch in 0kommaNix leergelutscht.
walking schrieb: > Ja das Problem ist,dass ich das Teil frei mitnehmen muss/will d.h. ein > Kabel wäre ziemlich hinderlich... Wären Mignonbatterien eine Alternative? Oder müssen das wirklich 10 Volt Rechteck sein oder gehen auch 9Volt? :-)
Also der Eingang von dem Adruino Duemilanova liegt ja laut Datenblatt zwischen 7-12V das wäre quasi egal. Das PWM Signal muss allerdings 10V Amplitude rechteck sein.
walking schrieb: > Also der Eingang von dem Adruino Duemilanova liegt ja laut Datenblatt > zwischen 7-12V das wäre quasi egal. Das PWM Signal muss allerdings 10V > Amplitude rechteck sein. - Wozu soll das Ausgangssignal überhaupt dienen? - Wie genau muss die Frequenz stimmen? - Wie belastbar muss denn Dein Ausgangssignal sein? - Braucht es eine Gegentakt-Endstufe oder genügt ein Schalttransistor? - Wie lange dauert ein Einsatz (wenige Minuten, viele Tage)? Ohne die Anforderungen zu kennen, kann man weder Schaltung noch Software richtig planen. Eine einfache Lösungsmöglichkeit: - ATMega48 auf Lochrasterplatine, nur dann mit Quarz, wenn die Frequenz sehr genau stimmen muss. - Stromversorgung aus 4 NiMH-Akkus. - Aufwärtsregler zum Erzeugen der 10 Volt. - Logiclevel-FET zum Zerhacken der 10 V. - Spannungsteiler (Ausgangsspannung -> ADC-Eingang). - LCD 16x2 zur Anzeige von Frequenz, Akkuspannung und Ausgangsspannung. - ADC-Messung per Software so synchronisiert, dass immer in der Ein-Phase gemessen wird. MfG
Also das Bauteil soll dazu benutzt werden einer anderen Baugruppe(SPS Impulszähler) eine Frequenz vorzugeben um dann zu schauen ob die SPS das Signal richtig auswertet. Von daher kommt es auf die Spannung an, der Strom wird recht niedig sein... Anforderung an die Genauigkeit sollte etwa bei 0,1% liegen. Das Signal soll Low=0V und High=10V haben und ein Puls/Pausenverhältnis von 50/50 besitzen. Die Amplitude muss nicht veränderbar sein, nur die Frequenz soll variabel sein (über Poti etc). Einsatzdauer beträgt wenige Minuten um die Baugruppen zu testen. Eine Gegentaktendstufe wird denke ich nicht benötigt, ein MOSFET sollte ausreichen oder? Bisher habe ich mir ein Adruino Duemilanova + Display angeschaut weil es mir oben empfohlen wurde. Ich dachte die Spannungsversorung über Batterien herzustellen, diese dann mit einem Spannungsregler auf 10V zu regeln. Die 10V dann in das Board schicken und die Frequenz über einen PWM-Ausgang an einen Mosfet zu geben welcher ebenfalls an die 10V angeschlossen ist und dann mein Ausgangssignal schaltet. Bin wie gesagt noch ein Einsteiger und bin von der Fülle von mC etwas erschlagen :)
Da fällt mir gerade etwas ein. Im Wiki gibt es einen Artikel über so eine Baugruppe, die deine Anforderungen sogar noch übertrifft. Sinus/Dreick forderst du nicht, von daher ist die analoge Ausgangsstufe für dich sicherlich Overkill. Aber was solls. http://www.mikrocontroller.net/articles/Digitaler_Funktionsgenerator
> Im Wiki gibt es einen Artikel über so eine Baugruppe
Klar ist das Overkill, da ist es sicher einfacher, ein kleines
PWM-Programm zu schreiben, einen Transistor als "Endstufe", Betrieb mit
4 Lithium-Zellen und einem LDO für den µC.
usuru schrieb: >> Im Wiki gibt es einen Artikel über so eine Baugruppe > > Klar ist das Overkill, da ist es sicher einfacher, ein kleines > PWM-Programm zu schreiben, einen Transistor als "Endstufe", Betrieb mit > 4 Lithium-Zellen und einem LDO für den µC. Wenn man es kann, dann schon. :-) Im Grunde ist ja auch ein Arduino für diese Aufgabe auch schon Overkill, wenn man jetzt nur die Leistungsdaten hernimmt :-)
walking schrieb: > Also das Bauteil soll dazu benutzt werden einer anderen Baugruppe(SPS > Impulszähler) eine Frequenz vorzugeben um dann zu schauen ob die SPS das > Signal richtig auswertet. Von daher kommt es auf die Spannung an, der > Strom wird recht niedig sein... Naja, für die Spannung gibt es sicher auch ein weites Toleranzfeld. > Anforderung an die Genauigkeit sollte etwa bei 0,1% liegen. Dann sollte ein Quarz benutzt werden. > Das Signal soll Low=0V und High=10V haben und ein Puls/Pausenverhältnis > von 50/50 besitzen. Die Amplitude muss nicht veränderbar sein, nur die > Frequenz soll variabel sein (über Poti etc). In welchem Bereich? Die 1 kHz sind klar, aber bei welcher Frequenz soll es losgehen? Ein Poti kann über den ADC angeschlossen werden, hat dann aber nur einen "Stellbereich" von 1024 Stellungen (0 bis 1023), wobei es auch noch zum Jitter kommt, also der eingestellte Wert etwas zittert. Da ist es sicher günstiger, die Frequent über Tasten einzugeben. Im einfachsten Fall sind das 2 Tasten (Up/Down), die mit Autorepeat arbeiten können. Man kann den Aufwand auch erhöhen und eine Tastenmatrix zur numerischen Eingabe einsetzen. > > Einsatzdauer beträgt wenige Minuten um die Baugruppen zu testen. Dann reicht es zu, das Gerät mit 4 NiMH-Zellen AA zu versorgen, also den AVR (ATMega48) direkt aus dem Akkus zu speisen und die 10 V mittels eines StepUp-Wandlers (z.B. mit MC34063A) zu erzeugen. Das ist günstiger als der Einsatz von Akkus mit höherer Spannung und verlustbehaftetes Herunterregeln auf 5 V für den Controller. Und das nicht nur von den Kosten sondern auch vom Energieverbrauch. > > Eine Gegentaktendstufe wird denke ich nicht benötigt, ein MOSFET sollte > ausreichen oder? Das denke ich auch, ein Lastwiderstand mit wenigen mA Laststrom zum verbessern der Ausschaltflanken schadet sicher nicht und lutscht die Akkus nicht übermäßig schnell leer. Ein Anschluss für Kopfhörer zum Hören der Frequenz könnte auch nicht schaden. > > Bisher habe ich mir ein Adruino Duemilanova + Display angeschaut weil es > mir oben empfohlen wurde. Ja, ich habe es verfolgt. Allerdings wussten die Tippgeber nicht, wie trivial Dein Vorhaben ist und haben etwas Reserve eingeplant. Wenn Du es mit einem (nativen) AVR (also ohne gekauftes Dev-Board) realisieren willst, dann sparst Du zwar den Arduino, brauchst aber stattdessen einen Programmer. Und hier ist es wie überall: Wer keine Ahnung hat, muss zahlen (industrielle Produkte kaufen), wer sich selbst was baut oder ohne Hintergrundwissen billig kauft, kann Pech haben, dass es nicht funktioniert. > Ich dachte die Spannungsversorung über > Batterien herzustellen, diese dann mit einem Spannungsregler auf 10V zu > regeln. Die 10V dann in das Board schicken und die Frequenz über einen > PWM-Ausgang an einen Mosfet zu geben welcher ebenfalls an die 10V > angeschlossen ist und dann mein Ausgangssignal schaltet. Naja, der N-Kanal-LL-FET käme an GND und würde den Minus "zerhacken". Das ist aber kein Problem, weil das Gerät ja potentialfrei aus einem Akku versorgt wird. > Bin wie gesagt noch ein Einsteiger und bin von der Fülle von mC etwas > erschlagen :) Das nimmt Dir auch keiner krumm. Das ging uns allen auch nicht viel anders. Die Frage ist jetzt, was das Projekt für Dich persönlich bedeutet. Machst Du es nur, weil Du diesen Signalgeber brauchst und es diesen in der von Dir benötigten Variante nicht im Handel gibt? Dann suche Dir jemanden, der Dir das Ding auf Lochraster zusammenhäkelt, die Software dazu schreibt und Dir (gegen eine Aufwandsentschädigung) den Rohbau (funktionierende Platine mit LCD und Taster über Strippen) zuschickt, den Du dann liebevoll in ein Eigenbau-Gehäuse einbauen kannst. Falls Du niemanden findest, könntest Du Dich diesbezüglich an mich wenden. Willst Du dieses Projekt aber als Einstieg in die Mikrocontrollerwelt nutzen, dann verweise ich auf das Tutorial dieser Seite: http://www.mikrocontroller.net/articles/AVR-Tutorial und falls Dir C liegt auch auf das GCC-Tutorial: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Falls die Grundlagen der Elektronik auch noch fehlen, dann verweise ich auf das ElKo: http://www.elektronik-kompendium.de/ MfG
Wie wärs mit nem diskreten Frequenzgenerator ala NE555 oder Rechteck-Dreieck-OP? Das könnte man je nach Bauteilauswahl direkt an 10(9) Volt laufen lassen und mit nem POti ansprechen. Die Anzeige der Frequenz lässt sich ja über ne Skala am Poti ungefähr bestimmen. ISt nur so ne Idee, aber damit würde der TS sich ne Menge Einarbeitszeit sparen. :-)
So erstmal ein Dankeschön Kluchscheißender Consulter super Antwort! Die 1023 Schritte für den Poti würden langen, damit ist ja der 1kHz Bereich abgedeckt(1kHz ist Obergrenze) Vom Preisrahmen wäre der Arduino auf jeden Fall drin zumal es mir nicht darum geht "nur" den Generator zu haben, sondern der Lerneffekt steht für mich im Vordergrund. Um jetzt auf der sicheren Seite zu sein habe ich mir diese Teile rausgesucht: http://cgi.ebay.de/LCD-Keypad-Shield-%20-Arduino-Duemilanove--Atmega-328_W0QQitemZ260657285259QQcmdZViewItem?rvr_id=136540732738&rvr_id=136540732738&cguid=d6c58a9012a0a0aad2a0e5a0fff93534 wäre da alles dabei was ich benötige?(Poti und Kleinkram jetzt nicht berücksichtigt) Dann habe ich gesehen, dass von es Adruino eine Software gibt um die mC zu programieren. Ist es auch möglich mit dem AVR-GCC Compiler, den du verlinkt hast, zu programieren?(müsste theoretisch ja gehen da ein ATmega auf dem Arduino sitzt)
walking schrieb: > http://cgi.ebay.de/LCD-Keypad-Shield-%20-Arduino-Duemilanove--Atmega-328_W0QQitemZ260657285259QQcmdZViewItem?rvr_id=136540732738&rvr_id=136540732738&cguid=d6c58a9012a0a0aad2a0e5a0fff93534 > > wäre da alles dabei was ich benötige?(Poti und Kleinkram jetzt nicht > berücksichtigt) Ja. Das ist einer der Gründe warum ich dir einen Arduino vorgeschlagen habe. Mit relativ wenig Geld hat man ein komplettes Entwicklungskit, inklusive "Programmer" (der im diesem Fall ein Bootloader ist) > Dann habe ich gesehen, dass von es Adruino eine Software gibt um die mC > zu programieren. yep. > Ist es auch möglich mit dem AVR-GCC Compiler, den du > verlinkt hast, zu programieren?(müsste theoretisch ja gehen da ein > ATmega auf dem Arduino sitzt) Geht auch. In dem Fall brauchst du dann allerdings wieder einen externen Programmer und der Preisvorteil ist dahin. Aber wenn sogar Künstler mit der Arduino eigenen Entwicklungsumgebung und Programmiersprache klarkommen, sollte das kein Problem sein. Zumal die Sprache anscheinend eng an C angeleht ist http://www.robotfreak.de/blog/mikrocontroller/arduino-einfuehrung/16
Floh schrob: >Wie wärs mit nem diskreten Frequenzgenerator ala NE555 oder >Rechteck-Dreieck-OP? Das wird ihm nicht reichen, denn Zitat: >Anforderung an die Genauigkeit sollte etwa bei 0,1% liegen. Ich denke, daß der Vorschlag vom "klugscheißenden Konsulter" für ihn die beste Variante darstellt. MfG Paul
Floh schrieb: > Wie wärs mit nem diskreten Frequenzgenerator ala NE555 oder > Rechteck-Dreieck-OP? > Das könnte man je nach Bauteilauswahl direkt an 10(9) Volt laufen lassen > und mit nem POti ansprechen. > Die Anzeige der Frequenz lässt sich ja über ne Skala am Poti ungefähr > bestimmen. > > ISt nur so ne Idee, aber damit würde der TS sich ne Menge Einarbeitszeit > sparen. :-) Das hab ich mir auch schon überlegt. Nur kann man dann die Frequenz nur schlecht ablesen bzw schätzen. Das wäre allerdings die einfachste Lösung das stimmt. Ich würde schon gerne einen mC benutzen. Mir kommt es nicht so sehr auf das Produkt selbst an sondern der Weg dorthin.
walking schrieb: > So erstmal ein Dankeschön Kluchscheißender Consulter super Antwort! > > Die 1023 Schritte für den Poti würden langen, damit ist ja der 1kHz > Bereich abgedeckt(1kHz ist Obergrenze) Naja, mich würde der Jitter des ADC stören. Den bekommt man zwar mit einer Hysterese weg, die gewünschten 0,1% sind damit aber nicht so einfach erreichbar, schon alleine deshalb, weil übliche Potis mit einer Toleranz von 25% angegeben sind. ^^ > > Vom Preisrahmen wäre der Arduino auf jeden Fall drin zumal es mir nicht > darum geht "nur" den Generator zu haben, sondern der Lerneffekt steht > für mich im Vordergrund. > > Um jetzt auf der sicheren Seite zu sein habe ich mir diese Teile > rausgesucht: > http://cgi.ebay.de/LCD-Keypad-Shield-%20-Arduino-Duemilanove--Atmega-328_W0QQitemZ260657285259QQcmdZViewItem?rvr_id=136540732738&rvr_id=136540732738&cguid=d6c58a9012a0a0aad2a0e5a0fff93534 Hab' ich mir mal angesehen, ist vom Preis her ja akzeptabel. Mich würde daran nur stören, dass man damit das Arduino-Konzept aufgedrückt bekommt und die Flexiblität des nativen AVR-Einsatzes einbüßt. Aber was ich da als gravierende Einschränkung sehe, kann für manch Anderen ein enormer Vorzug sein, braucht er sich doch nicht mehr in die Eigenheiten des Controllers und seiner Architektur einzulesen. > > wäre da alles dabei was ich benötige?(Poti und Kleinkram jetzt nicht > berücksichtigt) Naja, die 10 Volt hast Du damit aber auch noch nicht. > > Dann habe ich gesehen, dass von es Adruino eine Software gibt um die mC > zu programieren. Ist es auch möglich mit dem AVR-GCC Compiler, den du > verlinkt hast, zu programieren?(müsste theoretisch ja gehen da ein > ATmega auf dem Arduino sitzt) Da muss ich Dich enttäuschen, da fehlt mir die Kompetenz. Ich habe mich weder mit dem Arduino, noch mit seiner Entwicklumgsumgebung befasst. Auch C benutze ich nicht. Das GCC-Tutorial habe ich nur der Vollständigkeit halber erwähnt. Ich persönlich bevorzuge den direkten Einsatz kleiner AVRs und deren ressourcenschonende Programmierung in Assembler. Ich mag nicht mit Kanonen auf Spatzen schießen. Aber mach' was Du für richtig hältst, ich lege keinen Wert darauf, dass jeder meine Meinung teilt... MfG
Nochmal ein Dankeschön für eure Hilfe, ich hab mir jetzt erstmal den Arduino bestellt. Wie ich auf die 10V komme überleg ich mir noch, werde die Lösung über den Step-up Wandler allerdings im Hinterkopf behalten. Ich glaube die Sache mit dem Poti und der Genauigkeit habe ich nicht richtig erklärt. Wichtig ist, dass die Frequenz die mein Generator ausgibt und die auf dem Display steht richtig von dem Impulsgeber der SPS aufgenommen und dort angezeigt wird. Wie genau jetzt das Signal meines Funktionsgenerators ist, ist ja dann nicht so entscheidend. Außerdem hab ich mit den 0,1% denke ich auch etwas zu genau gelegen^^ Wie auch immer, vielen Dank :)
Hallo @ all. Ich weis das dieses Thema nun seit über einem Jahr in der Versenkung ist. Aber da ich nun schon mehrfach, auf der Suche nach Vorschlägen für einen Frequenzgenerator mit dem Arduino, auf diese Seite gestoßen bin möchte ich jetzt mal einen Link zu einem recht interessanten Projekt hier Posten. Ich denke für einfache sachen kann dies so ganz gut genutzt werden http://iteadstudio.com/iforum/viewtopic.php?f=18&t=19 Gruß derRobert
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.