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.
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 :-)
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