Hallo zusammen, ich messe die Kommunikation-Signale zwischen ein Encoder (eines BLDC Servomotors) und die Steuerung dieses Motors. der Encoder wird mit 5V gespeist und gibt zwei Kommunikation-Signale (MRR und MRP) zu der Steuerung. Die Messung zeigt, dass die beiden Signale zueinander umgekehrt sind. Das Signal (wie man auf dem Bild sehen kann) ist periodisch mit einer Frequenz von ≈ 4.5 kHz. Man kann in jeder Periode hauptsächlich zwei Teile unterscheiden. Beim ersten Teil lieget das Signal bei ≈ 2,7 V. Im zweiten Teil folgt eine Pulssequenz, wobei das Signal zwischen den Werten ≈1V und ≈4V pendelt. beim Stillstand bleibt diese Pulssequenz unveränderlich, bei einer konstanten Drehzahl aber ändert sich diese ständig. ich brauche jetzt dieses Signal zu interpretieren. Also um welchen Kommunikationsprotokoll könnte es sich hierbei handeln? hat jemand eine Idee? vielen Dank im Voraus!
Die Codierung zumindest sieht stark nach Manchester aus. Innerhalb einer festen Bitzeit wird die Polarität geändert (entspricht z.B. einer 1) oder eben nicht (wäre dann z.B. 0). Ich schätze, das sind so um die 40-50 bit pro Nachricht, hab jetzt nicht genau gezählt. Wenn das mit den 360uS/DIV stimmt, scheint die Bitzeit etwas um die 70-80 uS zu sein.
Danke für die Antwort :) hab gerad ein bisschen über Manchster Codierung gelesen und hab kurz eine Frage dazu; hat es eine Bedeutung, dass das Signal nicht zwischen den Gleichen Niveau pendelt? oder es interessiert uns dabei nur ob es eine fallende oder steigende Flanke ist (also wenn es um eine Manchster Codierung handelt)?
Zahra Z. schrieb: > hat es eine Bedeutung, dass das Signal nicht zwischen > den Gleichen Niveau pendelt? Genau das ist das typische Verhalten bei Manchester (Non-Return-to-Zero = NRZ) Kodierung. Usprünglich wurde solch eine Kodierung für z.B. Magnetbänder oder Funkübertragung erfunden, wo absolute Pegel am Empfänger nicht gewährleistet sind. Es zählt also nur der Polaritäts Wechsel und nicht die absolute Polarität. Je nach Vereinbarung ist also ein Polwechsel innerhalb der Bitdauer eine 1 und ein nicht stattfindender Polwechsel eine 0. Anders augedrückt: Am Ende der Bitdauer findet auf jeden Fall ein Wechsel statt, wenn dazwischen noch einer kommt ist es eine 1. Wie das bei deinem Drehgeber gehandhabt wird, siehst du schnell, wenn du mal dekodierst. Auch blosses Rumdrehen am Motor und Beobachten am Oszi hilft da schon, spätestens nach ein bisschen Üben :-) Für weitere Infos wäre es nützlich, mal den Typ des Drehgebers zu wissen.
Danke für die Erklärung :-) bzgl des Typs bin ich mir nicht sicher, ich nehme aber an, dass es ein optischer Drehgeber ist. Im datasheet steht dass er eine Resolution von 8192 pulses/rev hat, es gibt aber keine weiteren Angaben dazu...
Zahra Z. schrieb: > Im datasheet steht dass er eine Resolution von > 8192 pulses/rev hat, es gibt aber keine weiteren Angaben dazu... Na, das ist doch schon mal was. Das bedeutet, das ein Vollkreis des Gebers aus 14 bit besteht und die höheren Bits vermutlich dann ganze Umdrehungen zählen. Mögl. ist da allerdings noch eine Prüfsumme und Statusbits dabei, so ist das zumindest bei den Sick-Stegmann oder Haidenhein Gebern, mit denen ich hier rumspiele (SSI Protokoll). Achtung, solche Geber geben gerne mal Gray Code aus und nicht unbedingt direkt Binärzahlen: http://de.wikipedia.org/wiki/Gray-Code Und hier mit nützlichen Codeschnipseln zum Umrechnen: http://en.wikipedia.org/wiki/Gray_code
ich hab hier eine Messung mit einer Geschwindigkeit n=4000 U/min durchgeführt. ich hab mein Signal gespeichert und hab dann auf die Pulssequenze gezoomt. (auf dem Bild sieht man oben das Signal ohne zoom [1520ms/div]und unten der gezoomte Teil [5.2µs/div]) wenn man sukzessive Pulssequnze betrachtet, sieht man Änderungen an zwei Stellen, und erst nach vielen Pulssequenzen ändert sich etwas an einer anderen Stelle: das ist vermutlich dann die Zahl der ganzen Umdrehungen... Eine von den anderen Änderung ist dann vermutlich für die Pulszahl... hmmm ich weiß aber nicht was die andere bedeuten kann... ich weiß nicht, ob es jetzt ein Gray Code sein kann, weil zwischen zwei sukzessiven Pulssequenzen hat sich (glaube ich..) nicht nur ein bit geändert...
Hmm, das sieht aber nu gar nicht mehr nach einem NRZ Code aus. Du brauchst unbedingt mehr Infos zu dem Geber, so ist das nur Rumstochern im Nebel. Da du die Oszillogramme hast, sitzt du doch neben der Apparatur, oder? Mach doch mal Fotos oder finde wenigstens mal den Hersteller raus. Was perl sagte, ist schon ganz richtig (hab ich ja auch empfohlen): http://forum.electronicwerkstatt.de/phpBB/Elektrische_Probleme/kommunikationsprotokoll_encoder-t128934f6_bs0.html Motor langsam drehen und die Bitfolgen beobachten. Dann einen Rechner mit dem Signal füttern und ein Dekoderprogramm schreiben. Entweder einen kleinen MC oder was grosses, dazu musst du aber erstmal wissen, was du willst.
Gibt es kein Datenblatt vom Motor mit Encoder? Auch der Hersteller wäre schon ein Hinweis(Typenschild?). Dann könnte man sehen, was die Firma a Übertragunsoptionen hat. Oft sind ABZ-Signale( wie hier beschrieben: http://www.ichaus.biz/wp2_encoderanschluss ).
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.