mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Neuling sucht Beistand


Autor: Simon Goodwin (simgood)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry ich les grad du möchtest die pegel einlesen.

dass kannst du bei der frequenz mitm einfachen controller vergessen!

Autor: Michael Wolf (mictronics) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Peter (Gast)
Datum:

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

Autor: Simon Goodwin (simgood)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon Goodwin (simgood)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon Goodwin (simgood)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon Goodwin (simgood)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: pumpkin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: pumpkin (Gast)
Datum:

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

pumpkin

Autor: Simon Goodwin (simgood)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: pumpkin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon Goodwin (simgood)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: pumpkin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: pumpkin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon Goodwin (simgood)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.