Hallo liebes Forum. Ich habe schon länger als Gast das ein oder andere Thema beobachtet. Leider hatte ich nie die Zeit mich richtig mit Microcontrolern auseinander zu setzen. Nun ist aber die Zeit gekommen das ich mich in das Thema Einarbeiten kann. Ich habe schon viel gelesen, aber das alleine bringt einen auch nicht weiter. Also muss ich was in die Hand nehmen und sehen wie es funktioniert. Da ich im Moment viel mit Frequenzmessern zu tuen habe würde ich gerne eine Art Frequenzmesser bauen. Ich weis dass das Projekt für einen total Neuling wie mich sehr ambitioniert ist. Aber wenn was vernünftiges raus kommt, dann hab ich bestimmt die Grundlagen dabei gelernt. Also was ich gerne machen würde ist: Ich habe ein Rechteck-Signal (0 bzw. 4,9V), dessen hoch Flanken einen Abstand von mehreren Sekunden bis ca. 1/50MHz haben können. Nun würde ich gerne einen Microcontroler dazu einsetzten um den zeitlichen Abstand zwischen den beiden Flanken an den PC zu übertragen (wenn möglich per USB, Buspowered). Das ganze Programmieren würd ich gerne Onboard und von Linux aus erledigen. Wenn es nicht viel Mehraufwand bedeutet wär es schön das ganze um einen zweiten Kanal zu erweitern, so dass ich zwei dieser Messungen parallel durchführen kann. Wie gesagt ich bin total Neuling und habe deshalb kaum einen Überblick, ich stehe schon alleine bei der Auswahl der Controler total auf dem Schlauch. Und bevor ich einfach drauflos kaufe und dann ganz viel Kram und kein Geld mehr habe möcht ich Fragen: Gibt es evt. jemanden der beurteilen kann ob das Projekt (für mich) überhaupt machbar ist und wenn ja mir eine gute Basis an Teilen und passenden Software Tools empfehlen kann um dieses Projekt zu verwirklichen? Mit dieser Grundlage weis ich dann auch endlich was ich lesen sollte. Eine große Auswahl kann auch seine Nachteile haben :-) mit Dank im Voraus Simon
1/50Mhz da müsstest du ähm mit wieviel mhz takten? also 2 takte für 2x register aufden port schreiben 3 takte für einen loop. mmhh 5*50= 250Mhz? Viel spass.
Sorry ich les grad du möchtest die pegel einlesen. dass kannst du bei der frequenz mitm einfachen controller vergessen!
> 1/50Mhz da müsstest du ähm mit wieviel mhz takten?
sind 1/50 Mhz nicht 20 kHz ;-)
Hi, in welchem Frequenzintervall wär sowas denn machbar? OH ich sehe gerade ich habe mich um eine Größenordnung vertan. Die Hochflanken kommen mit 50kHz rein. Simon
"Wichtige Regeln - erst lesen, dann posten! Aussagekräftigen Betreff waehlen" Das steht da nicht zum Spaß. "Neuling sucht Beistand" ist KEIN aussagekräftiger Betreff.
Danke für die Antwort! Wenn ich das richtig verstehe Mittelt die Schaltung die Frequenz über die Messzeit. Mir ist es aber sehr wichtig die Zeit zwischen zwei Flanken zu bekommen. Es ist kein gleichbleibendes Signal. Gruß Simon
Hallo Andreas, Ich habe gedacht, dass in diesem Forum schon genug Titel sind, die suggerieren, dass der Fragesteller Ahnung hat, das es aber nicht so ist. Ich wollte nicht noch einen dieser Threads aufmachen. Deswegen der Titel. Aber ja du hast Recht, wenn mir wirklich geholfen werden sollte, ist der Titel nicht der Beste um leuten die nach Frequenzmessern suchen zu helfen. Aber denn noch denke ich das der Titel Aussagekräftig ist. Ich habe mit dem Titel sehr deutlich gemacht, dass jemand der keine Lust hat einem Ahnungslosen zu helfen hier nicht reinzuschauen bruacht! Aber wenn du mir sagst wie ich den Titel ändern kann, dann werde ich ihn ergänzen.
50KHz sollte mit einem AVR machbar sein. Guck dir mal das Datenblatt vom atMega8/16/32 an. Externe Interrupts, Flankenwechsel. Da solltest du ein bisschen Lesefutter finden... Gruss
Du hast Recht, 1/50 Mhz sind 20kHz. Allerdings sollte aus dem Kontext meines Originalposts klar sein, dass ich 1/(50 MHz) als Zeiteinheit gemeint habe! Und damit ist 50 MHz schon richtig. Gruß Simon
> Du hast Recht, 1/50 Mhz sind 20kHz. > Allerdings sollte aus dem Kontext meines Originalposts klar sein, dass > ich 1/(50 MHz) als Zeiteinheit gemeint habe! Und damit ist 50 MHz schon > richtig. Stop! Jetzt mal langsam bitte. 1/50MHz (Zeit) = 20ns (Zeit) ^= 50MHz (Frequenz). Von wo bis wo geht dein Frequenzbereich. Wie schnell steigt deine Flanke (Flankensteilheit, Slewrate)? Als Anfänger gleich mit USB einsteigen halte ich für keine gute Idee. Als Controller passt eigentlich jeder Atmel (Tiny oder Mega). Zu möglichen Toolchains steht einiges im Tutorial hier auf der Seite. pumpkin
oben hast du doch geschrieben: --- OH ich sehe gerade ich habe mich um eine Größenordnung vertan. Die Hochflanken kommen mit 50kHz rein. --- Und jetzt sind es doch wieder MHz? Ich geh mal Kaffee trinken...
Eigentlich ist es ja auch völlig egal wie hoch die Frequenzen sind. Selbst 50MHz sind mit einem Atmel machbar. pumpkin
Hallo Pumkpin, Also ich habe ein Rechtecksignal das von 0,1Hz bis 50 kHz (Im original post habe ich mich um eine Größenordnung vertan) sehr schnell Wechseln kann. Ich möchte die Zeit zwischen zwei ansteigenden Flanken messen. Die Flanken werden über einen Schmitt trigger generiert der eine typische Schaltzeit von 7ns und eine maximale von 13ns hat. Danke Simon
als neuling ist dieses projekt wohl definitiv 2 nummern zu gross... spiel ist mal mit einem 8-biter mit tieferen frequenzen, sondst verleidet der das ganze nur....
Was verstehst du unter "sehr schnell wechseln"? Und wie schnell willst du diese Änderungen angezeigt bekommen? Das ist interessant für die Bearbeitungsweise und der erforderlichen Geschwindigkeit deines Messgerätes (hier wird es wohl ein µC werden). pumpkin
pumpkin wrote: > Was verstehst du unter "sehr schnell wechseln"? > Und wie schnell willst > du diese Änderungen angezeigt bekommen? Das ist interessant für die > Bearbeitungsweise und der erforderlichen Geschwindigkeit deines > Messgerätes (hier wird es wohl ein µC werden). > > pumpkin Das Signal fängt bei 50kHz an fällt innerhalb ca. 4 Minuten auf 0Hz ab allerdings reicht es wenn ich bis ca 1Hz messe. Die hohen Frequenzen sind wichtiger. Der Grobe Verlauf ist monoton, das konnte ich bereits Messen. Allerdings weis ich auch dass das Signal Störungen hat die ich bis jetzt nur in sehr kurzen Zeiteinheiten messen konnte. Die Anderung der Frequenz wärend einer solchen Störung ist ca. 20% der gemittelten Frequenz. Stell dir ein Signal vor das von einem Lochrad kommt das von einem Exenter der monoton seine Frquenz verringert angetrieben wird. Mir geht es darum diese Störungen wärend der ganzen Zeit genau zu vermessen. simon
Wie schnell und wie genau willst du messen? Sagen wir mal, du willst eine Aktuallisierungsrate von 1s haben. In dieser Zeit ändert sich die Frequenz schon um 208Hz wenn man den Startwert betrachtet. Ich würde folgenden Ansatz wählen wenn die Genauigkeit nicht extrem hoch sein muss: Du zählst einfach die Zeit von Flanke zu Flanke und zwar ~1s lang, dann mittelst du die Werte (und verwirfst evtl. Werte die ausserhalb einer gewählten Tolleranz liegen). Das langt imho erstmal für den Anfang. Wenn das steht kannst du über eine elegantere Lösung sinnieren, zumal das Problem ein differenzielles ist - hinzu kommen die Störungen. pumpkin
> Mir geht es darum diese Störungen wärend der ganzen Zeit genau zu > vermessen. Oha, es geht also um die Störungen selbst. Dann solltest du die Werte die nicht im Tolleranzschema liegen natürlich nicht verwerfen sondern sinnvoll für die Berechnung verwursten. Aber wenn du das genau haben willst dann ist ein Intervall von 1s wohl etwas zu großzügig. pumpkin
vieleicht sollte ich wirklcih erstmal mit was einfacherem anfangen. Eigentlich will ich eine per Event Aktuallisierungsrate haben. Also eine Lückenlose Liste der Zeit bis zur jeweils nächsten Flanke. Den Rest würd ich im PC erledigen. Momentan habe ich einen alten Frequenzzähler der während 0.5 Sekunden die Flanken zählt und daraus die Frequenz berechnet. Daher weis ich den Trend sehr genau. also ist mir mit allem was irgendwie mittelt nicht geholfen. In meiner Naivität hab ich gedacht man könnte eine Microcontroler dazu bringen einfach die Anzahl der Ticks die zwischen den Flanken vergangen ist an einen zweiten Controler weitergeben der die Ticks in Sekunden umrechnet und die daten an den PC schickt. Da das eine enorme Datenrate sein dürfte hab ich gedacht USB wär die Lösung. Da ich keine Ahnung von der Hardware habe hab ich hier gefragt. Immer dieses Sachen die theoretisch so einfach sind, wo praktisch aber doch kompliziert :-) danke Simon
Hi!
> Das Signal fängt bei 50kHz an fällt innerhalb ca. 4 Minuten auf 0Hz ab
Hast du dir mal überlegt was das für eine Menge Daten ist? Mit welcher
Auflösung willst du das Ganze denn betreiben? USB?...ob das FTDI's
hergeben kann ich nicht sagen..."Vinculum" (nannten die sich so?)wäre
noch ein Ansatz. Ich denke trotzdem dein Ansatz ist nicht optimal. Ich
würde vermutlich die Sinkrate mitteln(1s) und die Ausbrecher rauspicken
/ ausgeben. Machbar sollte das jedenfalls sein, als
Anfängerprojekt?...naja, Timer, ICP, UART, INT/ISRs, USB.... kommt auf
deine Willen an, ist aber schon recht anspruchsvoll.
Viel Erfolg, Uwe
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.