- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 44

Thema: Vorstellung eines aktuellen kleinen Weihnachtsurlaub Projekts (ab 22.12.)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.695
    .. Aber beiden Drehrichtungen macht "Direction" zwischendurch Pegelwechsel. Ist das richtig und wie würde man das im µC auswerten? ..
    Es gibt sicher mehrere Lösungswege. Meine Lösung benutzt den Interrupt 0 oder 1 (evtl. bei mehreren Motoren/Encoderspuren zusätzliche Interrupts). Getriggert wird auf "jede Flanke" - und dann guckt man eben: ist das triggernde Signal high und das der zweiten Encoderspur low, oder hh, ll oder lh, und reagiert darauf. Ausserdem wird natürlich der Zeitablauf zwischen zwei Interrupts festgehalten und daraus die momentane Geschwindigkeit errechnet. Fehler durch verzögerten Interrupt entstehen natürlich. Siehe auch das Schema (vom Motortreiber archie):

    ......Bild hier  

    Meine Auswerteroutine sieht dann z.B. so aus (mega1284) :
    Code:
    // ============================================================================= =
    // ===  Nicht unterbrechbare ISR für EXT_INT0 auf mega1284      ================ =
    // Der Timer tmrE0 für Laufzeit des EXT_INT0 wird ausgelesen
     ISR(INT0_vect)                 // INT0 triggert auf RISING edge => 
     {                              //   => Wenn Aufruf, dann PORTD2 = high
    //      Encoderticks Iencdrx nur hochzählen, IencBx rauf- od runterzählen
      Iz_diff0  = tmrE0;    // Hier die Zeit (in x 50µs-tupsi) seit letztem ISR-Aufruf
      tmrE0     =    0;     // Resetten ##>> IN der ISR ohne CLI/SEI möglich
      Iencdr0 ++;           // Incrementiere Encodercounter, zählt NUR aufwärts
      if (IsBitSet (PINC, 2)) IencB0++;     // Rad treibt vorwärts,  math. negativ
      else                    IencB0--;     // Rad treibt rückwärts, math. positiv
     }      // Ende ISR(INT0_vect)
    // ============================================================================= =
    Aus dem Stand von Iencdr0 leite ich die Geschwindigkeit (Drehzahl bzw. Umfangsgeschwindigkeit Rad) ab. Der Stand IencB0 ergibt mir den aktuell zurückgelegten Winkel resp. Weg.
    Ciao sagt der JoeamBerg

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Da ich durch das Summensignal eine Verdopplung der Impulse habe, aber keinen A- und B-Kanal, ist die Auswertung per Software nicht mehr drin.
    und bei zwei Encodern spare ich halt mit der Vorverarbeitung 2 IRQ Pins (für einen Arm dann sogar 5 oder 6).
    Das ist das Ziel.
    Die Softwarelösung habe ich auch schon bei verschiedenen gekauften Bausätzen.
    Und auch bisher bei meinen Selbstbauprojekten.
    Diesmal will ich halt bewusst viel Vorverarbeitung machen.
    Sprich es wird jetzt solange Quellen studiert und simuliert bis es funktioniert.
    Das es geht weis ich, denn ich habe ein paar Haidenhein EXE'n bei denen es ein Direction Signal gibt.

    Mein Fehler war halt, mich darauf zu verlassen das die gepostete Schaltung wirklich funktioniert und nicht selbst noch mal zu prüfen.
    Dank Searcher ist das ja zum Glück schnell nachgeholt worden.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Zitat Zitat von i_make_it Beitrag anzeigen
    Sprich es wird jetzt solange Quellen studiert und simuliert bis es funktioniert.
    Ich weiß nicht, ob Du folgende Quellen schon kennst (meine natürlich zuerst ):

    In diesem thread, der auch in den u.g. Blogeinträgen öfter verlinkt ist, haben meine Versuche begonnen.
    https://www.roboternetz.de/community...l=1#post531780

    Mit einem 74HC14 und einem 74HC86 kann man zwei Geber bedienen.

    Hier habe ich mit Reflexoptokopplern eine selbsterzeugte Encoderscheibe abgetastet. Die Logikschaltung noch eben im Kommentar zum Blogeintrag hinzugefügt.
    https://www.roboternetz.de/community...b-ausprobieren

    Hier eine Variante mit der Optoelektronik einer Kugelmaus. Der Vorteil war, daß die IR-Empfänger schon Rechtecksignale lieferten und ich mir den Satz Schmitttriggerverkabelung, die die Spannung vom Fototransistor aufbereiten, sparen konnte.
    https://www.roboternetz.de/community...UP-DOWN-Signal

    Hier ein Link zu einer "Profi?" Seite mit aufwendigeren Schaltungen:
    http://www.dse-faq.elektronik-kompen...e-faq.htm#F.29

    Man liest sehr oft, daß die Nutzung von Interrupts bei der Incrementalgeberauswertung sehr sorgfältig überlegt werden soll. Wenn Kontakte prellen können oder auch durch Zittern sehr schnell Flankenwechsel hintereinander auftreten können, können die Interrupts den µC dicht machen.
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Erster Erfolg:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Odometrie-LTSpice-Schaltung.jpg
Hits:	13
Größe:	38,2 KB
ID:	33296
    Schaltung in LTSpice

    Klicke auf die Grafik für eine größere Ansicht

Name:	Odometrie-LTSpice-Timing.jpg
Hits:	10
Größe:	38,7 KB
ID:	33297
    Timing (Reihenfolge von Oben: A, B, Pulse, Direction)

    Mal sehen ob ich den Pegelwechsel von Direction noch etwas besser (zeitnäher) hinbekomme.
    Geändert von i_make_it (23.02.2018 um 23:49 Uhr)

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Klicke auf die Grafik für eine größere Ansicht

Name:	Odometrie-LTSpice-Direction-Schaltung.png
Hits:	10
Größe:	8,5 KB
ID:	33298
    Der zusätzliche Schaltungsaufwand erzeugt ein Rechtecksignal, bei dem immer die zuerst wechselnde Flanke eine steigende Flanke verursacht und die folgende wechselnde Flanke eine fallende. Durch einen Frequenzhalbierer wird daraus das Direction Signal.
    Gegenüber der Variante von heute Nacht ergibt sich bei gleichen Simulationsparametern nur in einem der Fälle eine Verbesserung.
    Ich muß noch testen ob bei veränderten Parametern dadurch in allen Fällen immer ein schnelleres Umschalten erreicht wird.

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    So, habe die Werte für die Simulation noch etwas verändert um auch auf dem B-Kanal mehr Wechsel zu haben.

    Momentan wird Direction sofort geändert, wenn nach dem Rictungswechsel an A oder B eine steigende Flanke folgt.
    Kommt nach dem Richtungswechsel als erstes eine fallende Flanke, reagiert die Schaltung erst auf die folgende steigende Flanke.
    Also noch etwas "basteln".
    Klicke auf die Grafik für eine größere Ansicht

Name:	Odometrie-LTSpice-DirectionTiming2.jpg
Hits:	7
Größe:	73,8 KB
ID:	33300

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Ich habe mich auch nochmal probiert.
    https://www.roboternetz.de/community...krementalgeber
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 08.04.2013, 17:22
  2. Frage bezüglich Umsetzung eines UNI-Projekts "MATHE WEC
    Von Jube im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 15
    Letzter Beitrag: 22.09.2010, 09:21
  3. Vorstellung eines Netzteils
    Von Rasieel im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 21.06.2009, 22:59
  4. [Starthilfe]Bau eines kleinen Roboters
    Von waldwichtel im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 10
    Letzter Beitrag: 05.09.2006, 21:31
  5. bauen eines kleinen robot
    Von rumburack im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 6
    Letzter Beitrag: 07.03.2005, 14:15

Berechtigungen

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

Solar Speicher und Akkus Tests