Step 7 Warum ist Impulszählung von Hall_A und Hall_B mit FM350-2 unterschiedlich

trabajador73

Level-2
Beiträge
112
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
verwendet wird eine FM 350-2 für das Zählen von zwei Hallsignalen eines Motors. Es wird verlangt, separat die Impulsanzahl in einer bestimmten Zeit zu prüfen.
Angeschlossen wurde das Signal von Hall A an Anschluss A0 und an B1. Das Signal Hall B wurde an A1 und B0 angeschlossen. Die Zählung der Impulse hat erst dann funktioniert, nachdem der Hysteresewert auf 1 gestellt wurde.
Bei Linkslauf sind die Anzahl der Impulse zwischen Hall A und Hall B gleich groß, jedoch beim Rechtslauf sind die Impulse unterschiedlich (Verhältnis in etwa 1200 zu 270). Was könnte Ursache dieser fehlerhaften Zählung sein?
Vielen Dank für jeden Beitrag.
 
Wenn die A-Pulse und B-Pulse wirklich getrennt gezählt werden sollen (ist das ne akademische Hausaufgabe?), dann dürfen sie nicht beide an einen Zählkanal angeschlossen werden (oder der B-Kanal muß ignoriert werden) - falls ein Kanal mehr Pulse liefern würde, dann würde der Zählkanal "auf der Stelle" 1 vor - 1 rück - 1 vor - 1 rück... oder gar nicht zählen, weil er davon ausgeht, daß die A- und B-Signale sich wie Standard-A/B-Signale mit 90°-Phasenverschiebung verhalten.

Getrennt zählen --> A nur an A0 anschließen und B nur an A1, aber: wenn da auch noch Richtungswechsel sind, dann werden die beiden Zählerstände langsam auseinanderlaufen, wenn der Richtungswechsel nicht garantiert da stattfindet, wo beide Hall-Signale 0 sind.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,
danke für Deinen Beitrag. Es ist eine Überprüfung, ob die beiden Hallsensoren A&B funktionieren. Der Prüfbetrieb dauert in etwa 5 Sekunden, daher ist ein Auseinanderlaufen nicht wesentlich. Bei Einlegen eines neuen Prüflings wird der Zählerwert zurück gesetzt auf null.
Wenn doch mit Linksdrehrichtung die Zählung funktioniert, warum dann nicht auch beim Rechtslauf? Zweite Frage ist es denn möglich, überhaupt mit einem Hallsignal Impulse und Richtung zu ermitteln.
 
Zuletzt bearbeitet:
Grundsätzlich sehe ich in Deinem versuchsaufbau kein Problem.
Durch die Vertauschung von A un B an Ch 1 und 2 sollten unterschiedliche Drehrichtungen angezeigt werden.

Ein Problem kann es aber geben, wenn die Hallsignale nicht ungefährgenau 90° Phasenverschoben sind. In der einen Richtung (Drehzahlabhängig, Schaltverzug) mag es dann funktionieren. In der Anderen Richtung ergibt sich dann möglicherweise eine unklare Zählrichtung. (Zähler zählt mal vorwärts, dann wieder rückwärts). Das ist jetzt ein nicht ganz ausgegorener Versuch, das Ergebnis zu erklären.

2 lösungsansätze:

1. Wie von Harald vorgeschlagen, an Ch 1 nur A auf A zu klemmen und an Ch2 nur B auf A zu klemmen. damit würdest Du erstmal Deiner Beschreibung gerecht werden, nur die Impulszahlen vergleichen zu wollen.
Hier sollten erstmal absolut gleiche Impulszahlen rauskommen.

2. Mit einem Oszi die Phasenlage der Impulse, ggf. auch drehzahlabhängig aufzeichnen. Wenn es da zu größeren Abweichungen von den 90° kommt wäre mein Erklärungsversuch nicht ganz daneben :D
 
Es ist eine Überprüfung, ob die beiden Hallsensoren A&B funktionieren.
Bessere Idee als getrennte Zählung: Du schließt beide Hallsensoren ganz normal an A und B eines Zählkanals an und stellst auf "Vierfachauswertung". Dann läßt Du den Prüfling vorwärts drehen und überwachst, ob der Zählerstand sich nur in einer Richtung ändert (nur zu größeren Werten oder nur zu kleineren Werten). Wenn auf A oder B ein Puls fehlt oder dauerhaft ansteht oder wenn aus anderen Gründen etwas mit der 90°-Abfolge nicht stimmt, dann zählt der Zähler (kurzzeitig) rückwärts bzw. in die andere Richtung.

Harald
 
Zuletzt bearbeitet:
Habe mir eben mal https://cache.industry.siemens.com/...0_fm350_2_operating_instructions_de_de-DE.pdf angesehen.
Die EinfachAuswertung, wie sie dort beschrieben ist, ist leider nicht korrekt und kann bei RichtungsWechseln zu Problemen führen! Das klingt harmlos, könnte aber zu Deinem Problem führen!
Die Zweifach- und VierfachAuswertung sollten OK sein.
Die Hysterese würde ich bei Deiner Anwendung auf keinen Fall aktivieren. Was passiert denn bei Hysterese=0?
Wenn die EingangsSignale "sauber" sind, muss die Zählung korrekt erfolgen. Probleme, die durch "unsaubere" Signale entstehen, kann man durch die Hysterese nicht ausbügeln.
Unbedingt mit Oszilloskop beobachten. Das ist eigentlich wichtiger für Deine Prüfung, als das wunschgemässe Funktionieren der ZählApparatur!
Der Hinweis, dass die PhasenVerschiebung zwischen den beiden HallSignalen möglichst genau 90° sein sollte, ist umso wichtiger, je höher die zu erfassende Frequenz bzw. Drehzahl ist.
Die Abstände zwischen den vier Flanken einer Periode sollten möglichst gleich sein. Besser gesagt: der kürzeste Abstand zwischen 2 aufeinander folgenden Flanken entscheidet darüber, wie hoch die Frequenz werden darf, ohne dass die Auswertung anfängt, ZählImpulse zu schlabbern.
Die Baugruppe unterscheidet zwischen "Hauptzählrichtung vorwärts" und "Hauptzählrichtung rückwärts". Das ist Schwachsinn und könnte die Ursache für Dein Problem sein, weil dadurch entweder der ZählerÜberlauf oder der ZählerUnterlauf richtig behandelt wird, aber nie beide!

Gruss, Heinileini
 
Zuletzt bearbeitet:
Wie hoch ist eigentlich die Pulsfrequenz (oder Periodendauer), wie kurz sind die Pulse?
Eine Überwachung des Zählerstands oder des Richtungsbits erfordert, daß die CPU schneller als die Pulsdauer und Pausedauer überwachen kann. Leider kann die FM350-2 keine Alarme bei Richtungswechsel.
Kann eventuell langsamer gedreht werden?

Mit nur getrennter Zählung von A und B kann nur die generelle Funktion der Sensoren festgestellt werden und eventuell die richtige Befestigung des Magneten. Eine (manchmal) nicht korrekte Phasenabfolge wird aber nicht entdeckt. Wenn an dem Produkt später ein A/B-Zähler angeschlossen wird, dann kann es sein, daß der Zähler fehlerhaft zählen wird obwohl die getrennte Zählung der Pulsanzahl OK ergeben hatte. Ich schätze, Du mußt die beiden Sensoren mit 3 Zählkanälen zählen (A+B, nur A, nur B). Am Ende müssen alle 3 Kanäle die gleichen Zählerstände +/-1 haben.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank, für Eure sehr informativen Beiträge. Der Vorschlag von Harald wird von mir jetzt zuerst umgesetzt. Verwendung von 3 Kanälen mit nurA an Kanal0, nurB an Kanal1 und A+B an Kanal2.
Dann werden die Impulse von beiden Hallsensoren getrennt erfasst und die korrekte Drehrichtung wird mit A+B ermittelt.
 
Können die Hall-Sensoren mindestens 20mA für zwei FM350-Zähleingänge liefern? Eventuell einen Optokoppler zwischenschalten.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Können die Hall-Sensoren mindestens 20mA für zwei FM350-Zähleingänge liefern? Eventuell einen Optokoppler zwischenschalten.
Gute Idee! könnte man denn auch noch je 1 LED zu den OptoKopplern in Reihe schalten? So als OszilloskopErsatz, wenn die Frequenzen (zeitweise) so niedrig sein sollten, dass man gut beobachten kann?

PS: Hatte bisher nur in Verbindung mit Tastaturen mit HallChips zu tun und die waren TTL-kompatibel. Wie sehen denn Deine Signale überhaupt aus, die Du prüfen willst (Spannung/Strom)?
 
Zuletzt bearbeitet:
Habe mir eben mal https://cache.industry.siemens.com/...0_fm350_2_operating_instructions_de_de-DE.pdf angesehen.
Die EinfachAuswertung, wie sie dort beschrieben ist, ist leider nicht korrekt und kann bei RichtungsWechseln zu Problemen führen! Das klingt harmlos, könnte aber zu Deinem Problem führen!
Die Zweifach- und VierfachAuswertung sollten OK sein. ...
Habe soeben im Glossar der o.g. .pdf-Datei eine zweite (widersprüchliche) Variante zum Thema "ZweifachAuswertung" entdeckt.

9.4 Impulsauswertung:
Zweifachauswertung bedeutet, dass die steigende und fallende Flanke des Signals A ausgewertet werden; es hängt vom Pegel des Signals B ab, ob Vorwärts- oder RückwärtsZählimpulse erzeugt werden.

Glossar:
Zweifachauswertung bedeutet, dass an einem Inkrementalgeber die steigenden Flanken der Impulsreihen A und B ausgewertet werden.

Achtung!
Bei beiden Varianten werden zwar 2 Flanken der SignalPeriode ausgewertet, ABER
- nur das Verfahren entsprechend der ersten Beschreibung in "9.4 Impulsauswertung" ist unproblematisch.
- das Verfahren entsprechend der zweiten Beschreibung in "Glossar" ist sehr bedenklich. Diese Form der Zweifachauswertung beinhaltet denselben logischen Fehler, wie er im o.g. Dokument auch bei der Einfachauswertung enthalten ist.
Da ich nicht testen kann, nach welchem Verfahren die Baugruppe tatsächlich bei der Zweifachauswertung arbeitet, ziehe ich hiermit vorsichtshalber meine Behauptung zurück, die Zweifachauswertung sei OK.

Gruss, Heinileini
 
Nochmals vielen Dank für alle Unterstützung zu diesem Thema.
Verwendet wurden von mir 3 Kanäle mit A0 für HallsensorA zur Impulszählung, A1 für HallsensorB zur Impulszählung und A2&B2 für Impulszählung von HallA&B zusammen damit eine Drehrichtungsaussage möglich ist (Rechtslauf negative Werte und Linkslauf possive Werte).
Die Werte wurde über Pheriperieeingänge eingelesen (Einstellung erfolgt im Hardwaremanager), so dass nur CNT2_CTR und CNT2_WR benötigt wurden und nicht CNT2_RD.
Da die Hallsensoren mit 10V versorgt werden, sind Optokoppler für den Zähleingang verwendet worden, was Harald schon empfohlen hat.
 
Es hat anfangs die gesamte Zeit die LED SF geleuchtet. Als dann der Hysteresewert von allen Kanälen auf 1 geändert wurde, ging die SF-LED aus. Zudem die Zählung hat auch erst dann vom 1. Kanal funktioniert, als der Parameter Hysterese auf 1 geändert wurde. In der Bedienungsanleitung steht als Defaultwert bei Hysterese eine 1, jedoch voreingestellt war bei allen Kanälen eine 0.
Weitere Versuche sind daraufhin von mir nicht praktiziert worden und die Anlage wurde mit einem Hysteresewert von 1 versendet.
Wenn Zeit beim nächsten Projekt mit einer FM350-2 gegeben ist, dann wird die Einstellung noch einmal detaillierter geprüft. Etwas Wissen im Umgang mit der FM350-2 ist jetzt meinerseits vorhanden.
Von mir wurde der Hysteresewert nur erwähnt, weil mich die Suche nach der fehlerhaften Einstellung Tage beschäftigt haben und auch nichts darüber im Forum stand. Beim nächsten Mal versuche ich auf jede Frage dieses Themas einzugehen.
 
Zurück
Oben