- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 40

Thema: Quadraturencoder (Rotationsencoder) z. Zwischen-/Durchstecken für 4 oder 5mm Achsen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.10.2005
    Beiträge
    110
    hallo,
    es ist konstruktionsbedingt und geht nicht anders mit dem Aufstecken (Motortypen, Antriebswelle).
    Encoder von Tetrix gibt es ja, aber die kosten 100 EUR/Stck. Es muss aber doch noch billiger gehen.
    Ich brauche keine Industrieware, was im Spielzeugbereich geht (Lego, Tetrix) reicht - es sind hier Genauigkeiten von +/- 0,5°.
    Nur eben billiger.
    Die von nodna gingen zwar, aber nur wenn sie 100% sicher ohne Kappe funktionieren und man die Achse dann durchstecken kann.

    Ich weiß daher sehr genau was ich suche, andere Workarounds sind nicht sinnvoll oder zielführend.
    Viele Grüße - HaWe aka Ford
    NXC CHESS SCHACH für NXT: http://www.mindstormsforum.de/viewtopic.php?f=70&t=6790

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Es muss aber doch noch billiger gehen.
    Es zeichnet sich ab, dass es etwas Fertiges eben nicht (viel) billiger gibt. Ich habe auf Aliexpress noch das hier gefunden, aber selbst da wäre ein gewisses Maß an Bastelei erforderlich ...

    Ich weiß daher sehr genau was ich suche, andere Workarounds sind nicht sinnvoll oder zielführend.
    Wenn Workarounds nicht akzeptabel sind und die "ordentlichen" Lösungen zu teuer, könnte es durchaus sein, dass Du das Ganze einfach sein lassen musst.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    38
    Beiträge
    1.937
    0,5°, das sind 720 Pulse pro Umdrehung...schon sportlich.
    Bei den Encodern von Lego weiß ich jedenfalls, dass die am Anfang des Getriebes in Motornähe sitzen, um die Auflösung zu erhöhen (hier ganz links in blau). Allerdings werden die dann auch so verrechnet, dass man auf eine Genauigkeit von 1° kommt, da das Getriebespiel jegliche Präzision zunichte macht.

    Ansonsten hätte ich eine andere Idee:
    Du gehst auf die Seite von austriamicrosystems unter Positionssensoren und suchst dir da einen passenden Sensor raus. So ein Sensor-IC braucht recht wenig Beiwerk und kann dann einen diametral magnetisierten Ringmagneten, den du auf der Achse befestigst, auswerten. Bei dem IC steht dabei, wie genau er ein magnetisches Polpaar auflösen kann, das entspräche dann einer Umdrehung. Der Sensor müsste dann knapp neben dem magneten platziert werden, alles weitere entnimmst du besser dem jeweiligen Datenblatt. Die ICs bekommt man in kleinen Stückzahlen (max. 3 pro Typ) kostenlos als Sample.
    AI - Artificial Idiocy

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.10.2005
    Beiträge
    110
    Die Lego Encoder werden nur von der FW mit 1° (halber Genauigkeit) ausgelesen, sie haben aber echte 0,5°, kein Getriebespiel.
    ich kann die Lego Encoder per Arduino aber mit voller Auflösung auslesen - oder eben auch nur mit halber, das macht das Rechnen leichter.
    Das mache ich letzendlich zur Zeit auch:


    // 1/2 Auflösung/resolution
    int8_t schrittTab[16] = {0, 0,0,0,1,0,0,-1, 0,0,0,1,0,0,-1,0};


    //************************************************** ***********
    // Interrupt Service Routine: wenn Interrupt ausgelöst wird
    //************************************************** ***********
    ISR(TIMER1_COMPA_vect) {
    altAB[0] <<= 2;
    altAB[0] &= B00001100;
    altAB[0] |= (digitalRead(pinmenc0A) << 1) | digitalRead(pinmenc0B);
    motenc[0] += schrittTab[altAB[0]]; //

    altAB[1] <<= 2;
    altAB[1] &= B00001100;
    altAB[1] |= (digitalRead(pinmenc1A) << 1) | digitalRead(pinmenc1B);
    motenc[1] += schrittTab[altAB[1]]; //
    }


    // time interrupt for encoder readings
    noInterrupts(); // Jetzt keine Interrupts / disable
    TIMSK1 |= (1<<OCIE1A); // Timer 1 PIDOutput Compare A Match Interrupt Enable
    TCCR1A = 0; // "Normaler" Modus
    // WGM12: CTC-Modus einschalten (Clear Timer on Compare match)
    // Stimmen OCR1A und Timer überein, wird der Interrupt ausgelöst
    // Bit CS12 und CS10 setzen
    // Prescaler=8:
    TCCR1B = (1<<WGM12) | (1<<CS11);
    // Frequenz = 16,000,000 / 8 / 512 = rd. 4 kHz
    OCR1A =511;
    interrupts(); // Interrupts wieder erlauben / enable



    Für den Arduino brauche ich 5V TTL Signale (wie Lego oder tetrix) - bin mir jetzt nicht sicher, ob die von austriamicrosystems das haben, muss ich mal gucken, danke jedenfalls!


    ps:
    gibt's hier keinen bb-Code-Tag?!?!?
    Geändert von Ford Prefect (06.07.2014 um 21:51 Uhr)
    Viele Grüße - HaWe aka Ford
    NXC CHESS SCHACH für NXT: http://www.mindstormsforum.de/viewtopic.php?f=70&t=6790

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    15.03.2011
    Ort
    Dresden
    Alter
    38
    Beiträge
    1.937
    Doch, den gibt es, entweder in den erweiterten Editor gehen oder von Hand eingeben.

    Doch, die Legomotoren haben extremes Getriebespiel. Ein Messergebnis ist ziemlich davon abhängig, wo und wie man den Sensor befestigt. Da, wo bei den Motoren der Sensor angebracht ist, erreich er durch die Getriebeübersetzung zwar eine gute Auflösung, allerdings kann man am Abtrieb immernoch ganz schön wackeln ohne dass sich der Messwert ändert. Aus diesen Gründen ist eine möglichst direkte Messung anzustreben, zB. direkt an der Abtriebswelle.
    AI - Artificial Idiocy

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.10.2005
    Beiträge
    110
    Das mit dem Getriebespiel der Zahnraduntersetzung ist richtig, man merkt es aber dann ntl nur bei wechselnder Drehrichtung. Die Encoder sind ja direkt am Motor angebracht, gemessen an der Motordrehung haben sie kaum Spiel, gegenüber der End-Antriebsachse schon deutlich mehr, das stimmt.
    Viele Grüße - HaWe aka Ford
    NXC CHESS SCHACH für NXT: http://www.mindstormsforum.de/viewtopic.php?f=70&t=6790

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.10.2005
    Beiträge
    110
    also - mit denen Encodern von Austriamicrosystems komme ich überhaupt nicht klar - da sehe ich überhaupt keine vernünftige Abbildung, aus der technische und elektrische Eigenschaften (Maße, Form, Anschlüsse) erkennbar sind. Scheint ja echt eine schwierig Sache zu sein, wundert mich, dass bei den ganzen Roboterbauern hier nicht auch entsprechender Bedarf besteht und entspr. viele Angebote bekannt sind...

    Alternativ wären aber für mich auch noch Motore mit eingebautem Rotationsencoder interessant, ca. 150-250 UPM, ca. 9-12 V, ca. 3-5 A, Encoder-Auflösung 1°, Arduino-kompatibel (5V TTL).

    Hat hierzu jemand Infos?
    Viele Grüße - HaWe aka Ford
    NXC CHESS SCHACH für NXT: http://www.mindstormsforum.de/viewtopic.php?f=70&t=6790

Ähnliche Themen

  1. Quadraturencoder mit Gabellichtschranken und Zahnrad
    Von mausi_mick im Forum Sensoren / Sensorik
    Antworten: 35
    Letzter Beitrag: 21.02.2019, 03:12
  2. Rotationsencoder AS5046 einsetzen
    Von i-wizard im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 15.12.2008, 17:01
  3. Kommunikation zwischen 2 oder mehr atmega
    Von mihailo im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 12.03.2007, 22:53
  4. Antworten: 4
    Letzter Beitrag: 04.12.2006, 19:20
  5. Alternative zum Quadraturencoder LS7083
    Von Jodel im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 08.11.2006, 06:48

Berechtigungen

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

LiFePO4 Speicher Test