Hallo, ich schreibe grade an meiner Diplomarbeit. Ich habe mir jetzt das Starter Kit von Altera bestellt. Nähere Infos zur Diplomarbeit -->> Beitrag "µC Wahl für meine Dipmlomarbeit" Nun habe ich eine Schaltung bei Max Plus II aufgebaut, in dem ich einen 6bit Zähler mit einstellbarer Zählhöhe (d.h. beispielsweise bis 60 oder 40 wie auch immer) realisiert habe. Das Gute bei Altera ist es, dass die Software ein Schema-Aufbau direkt in den VHDL-Code umwandelt und ich dann das Programm direkt auf den FPGA laden kann. Nun meine Frage: Wie kann ich eine weitere Schaltung realisieren, die Spannungspegel misst ein Durchschnitt bildet und abweichende Pegeln detektiert? Das Signal sieht aus wie ein Sinussignal und hat eine maximale Frequenz von 24kHz. Die Spannungen können von 1Vp-p bis zu 60Vp-p liegen. Danke im Voraus Gruß Koray
Also "ich schreibe grade an meiner Diplomarbeit. " und "Nun meine Frage: Wie kann ich eine weitere Schaltung realisieren, die Spannungspegel misst ein Durchschnitt bildet und abweichende Pegeln detektiert?" Passen nicht zusammen, auch nicht, wenn das direkt in nen FPGA soll, außer Du hast BWL Studiert.
Dann arbeite ich eben an meiner Diplomarbeit. Ich kanns echt nicht verstehen, wenn man postet um einfach nur was dazu gesagt zu haben. Kannst du mir helfen, dann bitte ich dich das zu tun, wenn nicht spar dir bitte deine Fehlererkennung.
Koray schrieb: > Dann arbeite ich eben an meiner Diplomarbeit. > Ich kanns echt nicht verstehen, wenn man postet um einfach nur was dazu > gesagt zu haben. Kannst du mir helfen, dann bitte ich dich das zu tun, > wenn nicht spar dir bitte deine Fehlererkennung. Es tut mir leid, aber ich muss da "volltroll.de" leider Recht geben und auch all den anderen, aus deinem verlinkten Thread. Wenn deine Diplomarbeit im Zusammenhang mit deiner Frage steht, dann denke ich, hast du deine Hausaufgaben nicht richtig gemacht. Mit der Kritik wirst du dich leider abfinden müssen. Zu deiner eigentlichen Frage: Ich kenne mich nicht mit den grafischen Realisierungsmöglichkeiten aus, von daher kann ich dir da nicht helfen. Wie sieht es denn aber mit deinen VHDL/Verilog-Fähigkeiten aus?
Koray schrieb: > Das Gute bei Altera ist es, dass die Software ein Schema-Aufbau direkt > in den VHDL-Code umwandelt und ich dann das Programm direkt auf den FPGA > laden kann. Das können die anderen auch.... Aber es ist nicht "gut", Schaltungen mit FPGAs so beschreiben zu wollen. Damit werden Schaltungen ganz einfach sehr sehr schnell unübersichtlich. Du solltest jetzt mal deine Zähler in einer brauchbaren Hardwarebeschreibungssprache machen (VHDL oder Verilog), dann kommst du auch mit der Mittelwertgeschichte weiter. > Nun meine Frage: Wie kann ich eine weitere Schaltung realisieren, die > Spannungspegel misst ein Durchschnitt bildet und abweichende Pegeln > detektiert? Ich kann mir nicht vorstellen, dass das mit der Schaltplandarstellung sinnvoll möglich ist. > Nun meine Frage: Wie kann ich eine weitere Schaltung realisieren, die > Spannungspegel misst ein Durchschnitt bildet und abweichende Pegeln > detektiert? Das hat sich im Beitrag "µC Wahl für meine Dipmlomarbeit" noch irgendwie ganz anders angehört... :-o Weißt du denn jetzt genau, was du mit welcher Geschwindigkeit erledigen mußt?
Hallo, nach ein bisschen Zeit bin ich es noch mal. Ich habe jetzt noch bis Ende September Zeit für meine Diplomarbeit. Folgendes habe ich schon aufgebaut: Ich habe das FPGA Board von Altera Cyclone II Starter Development Board bestellt und programmiert. Ich habe einen 6Bit Zähler mit einstellbaren Zählwert programmiert, der den Takt extern bekommt. Den Wert bis zu dem er zählen soll, bekommt er von Switch-Schaltern, die binär angelegt sind. Der externe Takt wird durch ein User I/O eingegeben, welcher dem Zähler dann den Takt gibt. Dieser Takt ist dann auch das Signal dass ich aus meinem Maximbaustein bekomme -> ein Rechtecksignal aus einem sinusförmigen Signal, wobei die Nulldurchgänge detektiert werden. Ich denke als Laie einen FPGA zum laufen zu bringen ein Programm draufzuladen und dies auch in der Form, in der man es auch möchte innerhalb 2,5 Wochen ist eine gute Leistung. Nun stehe ich jedoch vor einem anderen Problem. Es gibt aber auch Zahnräder die einen speziellen 1/rev Zahn haben. deshalb muss ich jetzt noch drei verschiedene Signaltypen erkennen können. Dazu gehören Zahnräder die, 1. einen kürzeren Zahn 2. einen längeren Zahn 3. einen fehlenden Zahn haben. Der Sinn dabei ist, wenn ich die gesamte Anzahl der Zähne zähle noch ein gleiches System parallel laufen zu lassen, falls diese 1/rev Zähne an dem Zahnrad vorhanden sind. Dann später beide Signale miteinander in Vergleich zu stellen. Ich habe mir 2 verschiedene Lösungen überlegt: 1. Ich werde beim kurzen Zahn die Signale Triggern und der kurze ZAhn wird nicht erkannt, so als ob ne Lücke wäre, und dadurch kann ich den doppelten Signalabstand detektieren lassen. -> gleiche Lösung für die Lücke. Beim langen Zahn Shcmitt Trigger, sodass nur der lange Zahn erkannt wird und dann den Zähler bis 1 zählen lassen. Hierbei ist das Problem aber dass sich die Drehzahl ändert, und dadurch auch die Amplituden, also muss ein adaptiver Schmitt-Trigger her -> Vielleicht durch einen µC steuern lassen aber ich hab kaum noch Zeit. 2. Einen IC finden der bei einem bestimmten Takt aktiviert wird und aus analogem Signal digitale macht und daraus den höchsten wert liest und an den Ausgang gibt. Das würd ich dann nach jedem Nulldurchgang laufen lassen und immer drei miteinander vergleichen. Somit wird dann der kurze oder der Lange Zahn erkannt. Nur habe ich bisher weder einen IC gefunden noch weiss ob das funktioniert. Ich hoffe ich konnte euch mein Problem einigermaßen deutlich klarmachen und hoffe auf hilfreiche Antworten.
Ich geb ganz ehrlich zu: Verstanden habe ich die Aufgabenstellung und den Ansatz nicht. Aber vielleicht helfen dir meine wirren Gedanken trotzdem weiter. Wenn es darum geht, Signale eines Sensors auszuwerten, der bestimmte Zähne eines unterschiedlich schnell drehenen Zahnrads erkennt, dann müsste man erstmal die Dauer des Sensorimpulses bei einem durchschnittlichen Zahn ermitteln. Denn die ändert sich ja mit der Drehzahl. Also bau einen Zähler zur Messung des Impulsdauer und takte dieses Zähler schnell genug damit vernünftige Zahlen entstehen. Jedesmal, wenn ein Impuls zu Ende ist, nimm die Zahl in ein Schiebreister in dem vielleicht immer die letzten 8 Werte durchgeschoben werden. Addiere die 8 Werte und teile das Ergebnis durch 8. (Geht natürlich auch mit anderen Zahlen, aber Zweierpotenzen bieten sich an). Nun vergleiche jeden Impuls, ob er größer oder kleiner als der Mittelwert ist. Für stabile Verhältnisse besser noch einen Sicherheitsabstand draufaddieren (für größer) bzw. abziehen (für kleiner). Für einen fehlenden Zahl muss dann noch eine zweite Logik her, die die Abstände der Impulsse misst, nicht die Dauer, und ein Signal erzeugt, wenn nach eine Impulsabstand * Sicherheitsmarge kein neuer Impuls ankommt. Lieg ich voll daneben?
> Das Gute bei Altera ist es, dass die Software ein Schema-Aufbau > direkt in den VHDL-Code umwandelt Stimmt, das gibt es nur bei Altera. :-)
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.