Forum: Mikrocontroller und Digitale Elektronik Neuling sucht Beistand


von Simon G. (simgood)


Lesenswert?

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

von Sebastian (Gast)


Lesenswert?

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.

von Sebastian (Gast)


Lesenswert?

Sorry ich les grad du möchtest die pegel einlesen.

dass kannst du bei der frequenz mitm einfachen controller vergessen!

von Michael W. (mictronics) Benutzerseite


Lesenswert?


von Peter (Gast)


Lesenswert?

> 1/50Mhz da müsstest du ähm mit wieviel mhz takten?
sind 1/50 Mhz nicht 20 kHz ;-)

von Simon G. (simgood)


Lesenswert?

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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

"Wichtige Regeln - erst lesen, dann posten!

Aussagekräftigen Betreff waehlen"

Das steht da nicht zum Spaß. "Neuling sucht Beistand" ist KEIN 
aussagekräftiger Betreff.

von Simon G. (simgood)


Lesenswert?

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

von Simon G. (simgood)


Lesenswert?

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.

von ozo (Gast)


Lesenswert?

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

von Simon G. (simgood)


Lesenswert?

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

von pumpkin (Gast)


Lesenswert?

> 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

von ozo (Gast)


Lesenswert?

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

von pumpkin (Gast)


Lesenswert?

Eigentlich ist es ja auch völlig egal wie hoch die Frequenzen sind. 
Selbst 50MHz sind mit einem Atmel machbar.

pumpkin

von Simon G. (simgood)


Lesenswert?

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

von Daniel (Gast)


Lesenswert?

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

von pumpkin (Gast)


Lesenswert?

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

von Simon G. (simgood)


Lesenswert?

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

von pumpkin (Gast)


Lesenswert?

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

von pumpkin (Gast)


Lesenswert?

> 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

von Simon G. (simgood)


Lesenswert?

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

von Uwe (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.