- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 75

Thema: Mehrere RC Signale einlesen und mehrere Servos ausgeben

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Hallo zusammen,

    habs gerade probiert, wurde leider noch schlimmer

    Wenn der Knüppel schnell bewegt wird, fährt das Servo oft wieder nur langsam. Wird in dieser Zeit auch noch der andere Küppel für das zweite Servo bewegt, läuft plötzlich das erste Servo schneller. Beeinflussen sich also beide gegenseitig.

    Meine Codeumsetzung war diese (funktioniert aber auch nicht!!!)
    Code:
    'Erstes Baggerarmservo
    If Berechnung_1 < 182 Then                                  'Info: Todband (Mittelstellung) liegt zwischen 182 und 193
       Servospeed = Berechnung_1 - 120                          'ergibt Werte zwischen 0 (schnell) und 61 (langsam)
       Servospeed = Servospeed * 1000                           'Werte hochscalieren 0 (schnell) und 61000 (langsam)
    
       Ocr1a = Timer1 + Servospeed
       Tifr1.ocf1a = 1                                          'OCF1A Flag löschen (set to 1)
       If Tifr1.ocf1a = 0 Then Incr Zeit_1                      'wenn OCF1A erreicht ist (OCF1A Flag = 0), dann Zeit_1 um 1 erhöhen
       If Zeit_1 = 50 Then                                      'zusätzliche Zeitbasis, da Timer1 nur bis 65535 zählen kann
          Decr Berechnung_1a
          Zeit_1 = 0
       End If
    End If
    @Searcher

    Du frägst bei den IF Bedingungen "Tifr1.ocf1a = 1" ab um in die Schleife zu kommen und benutzt dann den Befehl "Set Tifr1.ocf1a". Wird damit nicht das entsprechende Bit (Tifr1.ocf1a) auf 1 gesetzt (welches Du ja bereits vorher zur Bedingung zum Eintritt in die Schleife ohnehin auf 1 gebraucht hast)


    mfg
    Robert

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hallo,
    Zitat Zitat von R2D2 Bastler Beitrag anzeigen
    habs gerade probiert, wurde leider noch schlimmer
    Wenn mein Code zur Verkürzung der Hauptschleife im Prinzip funktioniert, die Auswirkungen aber schlimmer werden, laß ihn drin (bis eindeutig feststeht, daß er weitere Fehler produziert). Die "Sicherheitszeit kann man auch auf 2000 oder 3000 µs erhöhen.

    Muß man also weiter nach Bugs suchen. Bin im Augenblick ratlos

    @Searcher
    Du frägst bei den IF Bedingungen "Tifr1.ocf1a = 1" ab um in die Schleife zu kommen und benutzt dann den Befehl "Set Tifr1.ocf1a". Wird damit nicht das entsprechende Bit (Tifr1.ocf1a) auf 1 gesetzt (welches Du ja bereits vorher zur Bedingung zum Eintritt in die Schleife ohnehin auf 1 gebraucht hast)
    Ja, ist was Besonderes bei den Interruptflags allgemein. Auszug aus Datenblatt:
    "OCF1A is automatically cleared when the Output Compare Match A Interrupt Vector is exe-cuted. Alternatively, OCF1A can be cleared by writing a logic one to its bit location."

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  3. #3
    Hallo Searcher,

    vergiss mein letztes Posting, ich glaube mein Attiny ist jetzt den Flash-Tod gestorben. Ich habs jetzt mit einem anderen probiert, scheint zu funktionieren. Einzig was mir noch auffällt ist, dass die Servos in eine Richtung schneller unterwegs sind, als in die andere. Ich bin grad dabei heraus zu finden, welche Passage im Code die "schnellen" bzw "langsamen" sind.

    Melde mich dann wieder.

    mfg
    Robert

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    @R2D2 Bastler: Ohhh, ich seh gerade, daß bei Dir bei "On Timer0 ..." ganz oben das "nosave" fehlt!

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Mehrere analoge Werte über ein ADC einlesen möglich?
    Von HeXPloreR im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 07.08.2012, 17:18
  2. Schaltkreis für mehrere Servos
    Von Sebbokalypse im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 12.11.2009, 18:46
  3. Mehrere Signale umschalten
    Von flexxo im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 25.02.2007, 13:56
  4. Antworten: 9
    Letzter Beitrag: 02.04.2006, 17:53
  5. Mehrere Signale über einen Interrupt erkennen
    Von Minifriese im Forum Elektronik
    Antworten: 22
    Letzter Beitrag: 04.06.2004, 08:31

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress