-
        
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Ermitteln von Impulsen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    59
    Beiträge
    1.058

    Ermitteln von Impulsen

    Hallo Freunde

    jetzt ist meine RN-Control-Karte da und ich möchte damit die Impulse vom Istwert-Geber meiner Dunkermotoren dekodieren. Ideal wäre hierfür ein nichtvorhandener Oszylloskop, weshalb ich die Impulse an den DA-Port führen möchte. Ich habe aus dem Katalog die Daten zu Polarität und Amplitude der Zählimpulse.

    Welche Auflösung könnte mit dem mega32 bei 16MHz erreicht werden?

    Der Motor wird mit 12V unbelastet betrieben, den Istwertgeber habe ich als Bild auf meiner Webseite abgelegt.

    http://www.kohlsdorf.privat.t-online.de

    unter Hobbies/"Voilier Bauphase" als letztes Bild .

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Ich hab es mal hier her verschoben weil es wohl doch mehr eine AVR Frage ist. Nehme an das ist dein Istwertgeber



    Liefert der eine bestimmte Anzahl Impule per Umdrehung= Warum hat der soviel Pin´s?

    Beim Mega32/16/RN-Control könntest du den Interrupt verwenden um die zu zählen. Wenn die möglichst kurz gehalt wird, dürfte man schon recht hohe Raten bessen können. Ich schätze mal das 500 Khz drin sind. Aber vielleicht kann das noch jemand mit mehr AVR Programmiererfahrung beantworten.

    Man könnte auch die Timer Anschlüsse T0 oder T1 nutzen. Die Impulse zählen dann den Timer wie einen Counter hoch. Aber dann müsstest du auf einen Motor verzichten, weil diese von vorhandenen Motortreiber genutzt werden.

    Gruß Frank

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    59
    Beiträge
    1.058
    Hallo Frank
    der Istwertgeber stammt wohl von hp, da ich die englische Bezeichnung dafür nicht kenne konnte ich das Teil noch nicht im Internet suchen. Nach dem Datenblatt von Dunkermotoren, gehört zu Alcatel, ist das ein 2-Kanal optischer Inkrementalgeber mit je 500 Impulsen pro Umdrehung mit Referenzimpuls. Das ganze wird mit 5V, max. 85mA betrieben. Die beiden Kanäle sind um 90° phasenversetzt. Ausgangsspannung low: 0,4V max, high 2,4Vmin. Pulsbreite von 180°, also 1ms high, 1ms low jeweils minus 50% Anstiegs- und Abfallzeit.

    Nach deiner Information könnte ich bestenfalls knapp 500 Abtastpunkte pro Zustand des Istwertgeber-Signals erhalten. Also ist genug Leistungsreserve vorhanden.

    Zu deiner Information, ich möchte im Versuchsaufbau die Qualität der Signale des Istwertgebers untersuchen, also durch den AVR das tun was sonst ein Oszyloskop täte. Die Motoren und der Istwertgeber sind Teile die aus einer Anlage bei der Wartung entnommen wurden! Also für die ursprüngliche Anwendung fehlerbehaftet! Jetzt möchte ich auf diese Weise "gute" Istwertgeber/Motoren Paarungen identifizieren! Meine Zielsetzung ist es einen Decksaufbau meines Segelbootes innerhalb von max. 0,5 Sekunden um 24-25cm zu verschieben. Durch den Istwertgeber möchte ich den Antrieb "intelligent" fahren, die Endstellungen sind mit Endschaltern gesichert. Sollten die Istwertgeber es ermöglichen die Endpositionen rechnergesteuert anzufahren wäre das Problem des kontrollierten Abbremsens und des zuverlässig in der Endstellung Haltens gelöst. Vorendchalter wären überflüssig. Die Antriebseinheit soll ihren eigenen Boostregler für 12VDC->40VDC aus 6VDC oder 12VDC plus Fahrtregler haben, sowie einen AVR mit I2C zur Kommunikation mit der RN-Control, sowie als PWM-Generator und Steuereinheit für Schaltregler und Fahrtregler.

    Die Pins sind Kanal A, Kanal B, 1x Referenzimpuls,5VDC und GND. Die Ausgänge TTL-kompatibel. Kannst du mir sagen wie das mit dem Referenzimpuls ist? An welchen Port sollte ich die Signalleitungen legen, und zwar jetzt für die Analyse der Funktion der Istwertgeber und später als Input für die Steuerung des Fahrtreglers und der Positionsbestimmung?
    Für die Analyse vermute ich an einen der DA-Ports?
    MfG

    Hellmut

  4. #4
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Hi Helmut,

    so ganz versteh ich nicht wie ein Istwertgeber arbeitet, bislang hab ich mich mit dem Thema nicht beschäftigt. Bei meinen Projekten bin ich immer von einem normalen Drehgeber der eine bestimte Zahl von Impulsen pro Umdrehung ausgibt ausgegangen.
    Ist das beim Istwertgeber genauso, nur das er noch ein zweiten tewas versetzten Impuls generiert? Dienst das dazu die Richtung der Drehbewegung zu ermitteln oder was bezweckt man damit?
    Und was ist das für ein Referenzimpuls?

    Bei normalen Drehgebern bietet sich ein Interrupt Port wie PD3, PD4 oder PB2 beim Mega32 (RN-Control) an. Inwieweit das bei deinem Geber läuft, kann ich mangels genauer Funktionsweise auch nicht genau sagen.

    Vielleicht kann Kjion (wenn noch nicht im Urlaub) oder ein anderer AVR-Experte Dir da noch ein Tip geben.

    Gruß Frank

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    24.04.2004
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.277
    Zitat Zitat von Frank
    Hi Helmut,
    so ganz versteh ich nicht wie ein Istwertgeber arbeitet, bislang hab ich mich mit dem Thema nicht beschäftigt. Bei meinen Projekten bin ich immer von einem normalen Drehgeber der eine bestimte Zahl von Impulsen pro Umdrehung ausgibt ausgegangen.
    Hi Frank,

    So wie ich das verstanden hab ist das kein "Istwertgeber". Das ist ein inkrementaler Drehgeber. Istwert bedeutet absolute Positionsmessung. Dazu müssten auf der Scheibe mehrere Spuren in einem bestimten Bitmuster vorhanden sein (Greycode, hi Gley)

    Zitat Zitat von Frank
    Ist das beim Istwertgeber genauso, nur das er noch ein zweiten tewas versetzten Impuls generiert? Dienst das dazu die Richtung der Drehbewegung zu ermitteln oder was bezweckt man damit?
    Und was ist das für ein Referenzimpuls?
    Wie gesagt, ich glaub nicht, daß das ein Istwertgeber ist. Laut Homepage habe ich recht Das 2. Signal ist dazu da die Drehrichtung bestimmen zu können.

    Du hast in dem Sensor 2 inkrementale Drehgeber. Jeder gibt dir 500 Impulse/U. Die beiden Drehgeber sind allerdings um 90° versetzt an der Scheibe angeordnet. Dadurch kannst du sagen welches Signal gerade zuerst kommt und daraus die Drehrichtung bestimmen.
    -> Quadraturencoder, das ist das selbe System wie z.B. in einer Maus.

    Zitat Zitat von Frank
    Bei normalen Drehgebern bietet sich ein Interrupt Port wie PD3, PD4 oder PB2 beim Mega32 (RN-Control) an. Inwieweit das bei deinem Geber läuft, kann ich mangels genauer Funktionsweise auch nicht genau sagen.
    Vielleicht kann Kjion (wenn noch nicht im Urlaub) oder ein anderer AVR-Experte Dir da noch ein Tip geben.
    Gruß Frank
    So würde ich es auch machen, allerdings würde ich schauen ob mich die Drehrichtung überhaupt interessiert. Falls nicht, reicht es ja nur eines der Signale auszuwerten. Das würde auch nur einen Interrupt/Counter belegen. Ansonsten sollte sich vielleicht über Maus/Quadraturencoder/Avr im Google was finden lassen...

    @Hellmut
    Bevor du dir einen rießen Stress machst um mit nem AVR die Signale auzuwerten schau mal hier -> http://www.elektron-bbs.de/files/
    Mann kann die Soundkarte eines PC als kleines Oszi verwenden. Allerdings kommen Gleichspannungen bei manchen Soundkarten nicht durch. Aber miss zuerst konventionell ob durch das Messen irgendetwas Schaden nehmen könnte. Die Soundkarte sollte bis ca. 20KHz funktionieren...

    Gruß, Sonic

  6. #6
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Hi Sonic,
    ja so ähnlich hatte ich es mir schon gedacht. Was liefert denn ein Istwertgeber für ein Signal? Eventuell sogar analoges Signal?

    Bei dem Sensor mit 2 inkrementale Drehgeber müsste man ja theoretisch auch mit einem Interrupt auskommen. Man müsste dann nur noch einen normalen Port zusätzlich verwenden um die beiden Drehgeber zu unterscheiden. Aber gewöhnlich braucht man ja die Richtung nicht, die weiß man ja wenn man Motoren einschaltet. Auswertung wäre dann ja viel einfacher.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    59
    Beiträge
    1.058
    Hallo Frank & sonic

    Erstmal danke das ihr euch um mein Thema kümmert. Jetzt zu Euren Antworten:

    Sorry, es ist wie sonic sagt ein "Inkremental Drehgeber".Zu den Signalen:
    A und B sind um 90° zueinander versetzt, A und B sind 50% high, 50% low, also bei 500 Impulsen/U und circa 60 U/Sekunde des Motors beträgt ein Impulszyklus 30uSekunden, ein High also 15uSekunden. Das heißt ich Interpretiere die Aussage 180° als 50% Dauer des high & low Pegels.

    Die Impulse haben einen diskreten Wert, <=0,4V für low und >=2,4V high. Dürften also direkt an D oder B Port Pins gelegt werden?

    Die Drehrichtung wäre für mich schon von Interesse, ein "nice-to-have-feature" Was ich nicht verstehe ist wie die Drehrichtung ermittelt wird und wie der Referenz-Impuls aussieht. Welches Signal zuerst kommt kann man ja nicht sagen, da man mit 50% Wahrscheinlichkeit zuerst entweder den A oder den B Impuls bekommt. Aus genau diesem Grunde würde ich vermuten das der Referenzimpuls genau dazu ist, das Eintreten der A & B Impulse zum Referenzimpuls "in-Phase" zu bringen. Daher würde ich vermuten das der Referenzimpuls grundsätzlich wie die Impulse A & B aussieht. Was meint ihr?

    Jetzt helft mit bitte noch und sagt wie das mit der Quadranten-Methode funktioniert, bzw. wo ich was dazu finde? Weiterhin habe ich unter dem Link von Sonic nicht gefunden wie eine Soundkarte als Oszi verwendet werden kann. Auch kann ich mir nicht vorstellen wie das sein soll?

    Danke nochmals für die bereits geleistete Hilfe und im Vorraus
    MfG

    Hellmut

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    24.04.2004
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.277
    Zitat Zitat von Hellmut
    Hallo Frank & sonic
    ...
    Die Drehrichtung wäre für mich schon von Interesse, ein "nice-to-have-feature" Was ich nicht verstehe ist wie die Drehrichtung ermittelt wird und wie der Referenz-Impuls aussieht.
    ...
    Jetzt helft mit bitte noch und sagt wie das mit der Quadranten-Methode funktioniert, bzw. wo ich was dazu finde?
    wir hatten das letztens schon mal, schau mal hier...
    [utl]http://www.roboternetz.de/phpBB2/viewtopic.php?t=2054[/url]

    Zitat Zitat von Hellmut
    Weiterhin habe ich unter dem Link von Sonic nicht gefunden wie eine Soundkarte als Oszi verwendet werden kann. Auch kann ich mir nicht vorstellen wie das sein soll?
    Danke nochmals für die bereits geleistete Hilfe und im Vorraus
    Sorry, der Link springt auf die Startseite zurück...du musst auf Elektronik und dann auf Messwerterfassung klicken.

    Funktionieren tut das so, das du einen 3,5mm Klinken-Stecker nimmst und an jeweils einen Kanal einfach ne Messklemme klemmst. Zum Schutz der Soundkarte kannst du noch Widerstände einbauen...gibt's Anleitungen im Netz. Ich hab das auch schon gemacht bevor ich mir ein Oszi gekauft hab. Bis jetzt hat's meine SK überlebt...

    Den Motor würde ich zum Messen der Signale aber mit der Hand drehen, also nicht volle Pulle mit mächtig Dampf...

    Gruß, Sonic

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    24.04.2004
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.277
    Zitat Zitat von Frank
    Hi Sonic,
    ja so ähnlich hatte ich es mir schon gedacht. Was liefert denn ein Istwertgeber für ein Signal? Eventuell sogar analoges Signal?
    Absolutwertgeber bestehen aus einer Scheibe mit mehreren Spuren. Auf der Scheibe sind entsprechend der Spuren Bitmuster aufgebracht. Jede Spur wird von nebeneinander angebrachten Sensoren ausgelesen. So erhält man einen eindeutigen Code für jede Position. Meistens ist das Bitmuster ein Greycode. Hatten wir letztens schon mal hier im Forum.

    Analoge gibt's auch, fällt mir aber grad kein Beispiel ein ;-(

    Gruß, Sonic

  10. #10
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    63
    Beiträge
    12.204
    Zitat Zitat von Hellmut
    Was ich nicht verstehe ist wie die Drehrichtung ermittelt wird und wie der Referenz-Impuls aussieht. Welches Signal zuerst kommt kann man ja nicht sagen, da man mit 50% Wahrscheinlichkeit zuerst entweder den A oder den B Impuls bekommt.
    Hallo Hellmut,
    ich lese auch die ganze Zeit mit, speziell wenn es um Sensoren geht, aber ich kann nur wenig hinzufügen, zu dem was Sonic schon gesagt hat. Ich kann nur versuchen es noch mal zu verdeutlichen.

    Zwei um 90° versetzte Signale mit der relativen Einschaltdauer von 50% sind ein 4 Quadraten Signal (Quadratur Codierung). Wenn man die Signalwerte für x und y zu +-1 annimmt, dann erhält man in der (x,y) Ebene vier Punkte mit dem Absolutwert (x=+-1 , y=+-1) die je nach Drehrichtung rechtsherum oder linksherum durchlaufen werden.

    Viel einfacher als die Beschreibung sieht die Praxis aus: Man erhält mit dem einen Signal eine Impulsfolge, bei der die negativen Flanken zu Zählen sind, wobei das andere Signal je nach Drehrichtung immer gerade auf + oder - steht. Man kann also einen flankengetriggerten Zähler einfach mit Takt und Zählrichtung mit den beiden Signalen beschalten, blind, bei falscher Drehrichtung einmal umdrehen dann stimmt es schon.

    Es wäre interessant, das Foto von den Drehgeber noch einmal mit etwas mehr Auflösung zu sehen, hier für das Forum, zur Allgemeinbildung. Könntest Du bei Gelegenheit noch eines machen? Vielleicht durch eine Lupe falls die passende Nahlinse nicht in der Kamera ist. Vielen Dank im Voraus.
    Manfred

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •