Einfache Aufgabe, trotzdem habe ich keine Lösung gefunden. Mit dem ATmega8 möchte ich die beiden angehängten Signale per AD-Wandler einlesen. Dann brauche ich daraus folgende Information: - Die Phase, "läuft der andere Sinus vor oder nach?" - Zählen der durchgelaufenen Amplituden Also das was jede machanische Maus macht. Hat da einer eine (C-Code) Idee?
Hi, Eine Möglichkeit die Amplituden zu zählen währe per Komperator die Nulldurchgänge, o.Ä. zu zählen. Die Phasenverschiebung ließe sich z.b. durch eine Additionsschaltung bestimmen. Andere Möglichkeit: Wenn du die Nulldurchgänge zählst, kannst du auch die Zeit zwischen den Nulldurchgängen messen, funktioniert halt nur dann wenn die Frequenz des Signals klein genug ist... mfg Andreas
Bei deinem Signal ist der Phasenvergleich keine so leichte Aufgabe, denn die Signale haben unterschiedliche Formen. Also musst du dich zunächst entscheiden, ob du nach der Differenz von Maximum, Nulldurchgang, minimum oder sonstnochwas suchst. Erst dann kann eine geeignete Methode gewählt werden. Auf jeden Fall brauchst du eine ausreichende Anzahl AD-gewandelte Werte pro Periode oder du löst das, wie Andreas schrieb, mit einem Komparator (geht nur für Nulldurchgänge oder andere feste Schwellen). Grüße, Peter
Wenn Du nur eine "Maus" nachbilden willst, gehts ganz einfach: Lass Dein Signal über einen Schmittrigger laufen und Du erhällst ein Rechtecksignal. Mit dem zweiten dasselbe! Signal 1 neg.Flanke: Wenn Signal 2=Hi Zähler++ Wenn Signal 2=Lo --Zähler Geht natürlich auch mit der anderen Flanke. Gruss T.A.
"Die Phasenverschiebung ließe sich z.b. durch eine Additionsschaltung bestimmen." --> Ich habe mal die Phasen addiert, siehe Anhang, aber wie komme ich jetzt an die Verschiebung ran? Sonst finde ich die letzte Lösung schön simpel. Allerdings muss ich mal sehen was passiert, wenn das Signal auf null stehen bleibt. Weil ursprünglich kommt das Signal von diesem Controller: http://mcu.emea.fujitsu.com/mcu_product/detail/MB90F598GHPF.htm Genau genommen aus einem der Schrittmotorausgängen welches dann durch ein R-C Tiefpass gefiltert wird weil der im PWM Betrieb arbeitet. Letztendlich will ich nur wissen wo der Schrittmotor gerade hin zeigt und dem Controller vorgaukeln, dass wirklich ein Schrittmotor angeschlossen ist (Thema Homing). Dabei kann ich aber nicht die Firmware des Controllers verändern. Die Holzhammer Methode wäre Schrittmitor anschließen und ein Poti mechanisch draufschnallen. Finde ich aber irgendwie bäh. Vielleicht hat ja noch einer eine schlaue Idee wie mann die Schrittmotorposition ermitteln kann.
Hallo Fly, ich habe das gleiche Problem. Ich moechte auch die Phasenverschiebung messen. Kannst Du mir bitte sagen, ob du es schon geschaft hast? danke
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.