- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 12

Thema: Servoansteuerung über Funkfernsteuerung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von Richy Beitrag anzeigen
    Geht das zu verhindern?
    Nicht wirklich. Sperren des Interrupts ist in diesem Fall keine Option.
    Funktionieren muß es. Habe sowas schon mit dem Tiny 13 gesehen.
    Ach, man kann sogar sehr viel mit 'nem Tiny13 anstellen.
    Oder gibt es da noch einen einfachereen Weg mit 'nem anderen µC?
    Es gibt 'nen einfacheren Weg mit dem Tiny13, solange die Forderungen an die Funktionalität nicht ausufern.
    Was steht denn z.B dagegen, den Servokrams komplett wegzulassen und nach der Pulsein den Servopuls per Verzögerungsschleife zu erzeugen?
    Timer braucht's nicht dafür, denn schließlich wird Pulsein genau im Takt der eintreffenden Servoimpulse durchlaufen, das reicht für das Timing.

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Zitat Zitat von MagicWSmoke Beitrag anzeigen
    ...

    Es gibt 'nen einfacheren Weg mit dem Tiny13, solange die Forderungen an die Funktionalität nicht ausufern.
    Was steht denn z.B dagegen, den Servokrams komplett wegzulassen und nach der Pulsein den Servopuls per Verzögerungsschleife zu erzeugen?
    Timer braucht's nicht dafür, denn schließlich wird Pulsein genau im Takt der eintreffenden Servoimpulse durchlaufen, das reicht für das Timing.
    ...jo, richtig. Und da die nächste Frage schon wartet: Der Befehl zum Servos ansteuern lautet "Pulseout". Und das ganze Pulsein und -out funktioniert am bessten ab einem Takt von ca 4MHz. Der Tiny13 kann 9,6MHz wenn man den Teiler von 8 deaktiviert.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    09.06.2013
    Beiträge
    6
    Ok, danke erst mal für die Tipps. (Wie gesagt beschäftige mich erst seit paar Wochen mit der Materie tu mich noch bissel schwer mit Timern, Freq. usw.)
    Die Anforderungen sind eigentlich nur: "Benutzerdefiniert" LANGSAM und möglichst ohne großes ruckeln.
    Werd mich morgen mal damit versuchen.

    Bis dahin.
    Gruß Richy

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    09.06.2013
    Beiträge
    6
    Super, es läuft!!!
    Servobefehl raus, PulseOut rein und dann noch die Zeiten angepasst.

    Code:
     For A = 1000 To 5000 Step 10
       Pulseout Portb , 0 , A
       Waitms 5
       Next A
    Allen beteiligten ein großes Dankeschön!

    VG Richy

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    04.03.2013
    Beiträge
    23
    Hallo Richy,
    kannst du vielleicht den funktionierenden Code reinstellen.

    Gruß und Danke

    Thomas

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    09.06.2013
    Beiträge
    6
    Hallo,

    hier noch mal der gesamte Code.

    Code:
    $regfile = "ATtiny13.dat"
    $crystal = 9600000
    $hwstack = 32
    $swstack = 5
    $framesize = 20
    
    !LDI R16, &b10000000
    !LDI R17, &b00000000
    !OUT CLKPR, R16
    !OUT CLKPR, R17
    
    Config Pinb.0 = Output                                      'Servo
    Config Pinb.4 = Output                                      'LED
    Config Pinb.2 = Input                                       'Empfänger
    Pinb = 0
    
    Led Alias Portb.4
    
    Dim A As Word
    Dim W As Word
    
    Enable Interrupts
    Pulseout Portb , 0 , 1000                                   'Servo in Startpos. bringen
    
    Do
    
    Pulsein W , Pinb , 2 , 1                                    'Eingang Empfängersignal
    
    
    
    If W <= 150 And A <= 5000 Then
    
       For A = 1000 To 5000 Step 10                             'mit diesen Einstellungen läuft der Servo
       Pulseout Portb , 0 , A                                   'nach meinen Wünschen.
       Led = 0                                                  'LED ist nur opt. Indikator beim Test
       Waitms 5                                                 'mit diesem Wert kann die Geschwindigkeit beeinflusst werden
    
       Next A
    
    Elseif W > 170 And A >= 1000 Then
    
       For A = 5000 To 1000 Step -10
       Pulseout Portb , 0 , A
       Led = 1
       Waitms 5
    
       Next A
    
    Else
    
       Pulseout Portb , 0 , A                                   'Servo bleibt an letzter Pos. stehen
    
    End If
    
    Loop
    
    End
    Viele Grüße
    Richy

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    04.03.2013
    Beiträge
    23
    Hallo Richy,
    vielen Dank.
    Gruß Thomas

Ähnliche Themen

  1. Servoansteuerung über SCL/ SDA
    Von Checker 1.0 im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 21.05.2012, 08:26
  2. Servoansteuerung von PC nach SD21 über Java
    Von Morbius im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 16
    Letzter Beitrag: 17.03.2005, 13:52
  3. Servoansteuerung von PC nach SD21 über Java
    Von Morbius im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 3
    Letzter Beitrag: 05.03.2005, 20:50
  4. Funkfernbedienung mit 868MHz
    Von PraktiSE1 im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 13.10.2004, 12:17
  5. Funkfernbedienung mit Bluetooth
    Von im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 12.10.2004, 14:34

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests