-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Servos werden heiß

  1. #1
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    30
    Beiträge
    946

    Servos werden heiß

    Anzeige

    Hallo Community

    Ich möchte erst mal erwähnen, dass ich ein Bascom-Einsteiger bin.
    Mein Problem ist folgendes: Ich habe versucht ein Servo mit dem Beispielcode von Bascom und mit dem Beispielcode aus dem Buch "Roboter selbst bauen" (Ulli Sommer) anzusteuern. In beiden fällen zuckt es zufällig hin und her oder dreht bis zum Anschlag und versucht weiter zu drehen. Dabei wird der Servo ganz heiß aber nicht der Motor sondern der Silizium-Chip.

    Leider hatte ich bis jetzt nur diese 2 Beispiele, weil (noch) kein Internet in meiner Wohnung hab, und das Beispiel aus dem Wiki nicht anschauen konnte und die Beispielcodes auch nicht posten kann.

    Aber ich habe schon haufen sachen ausprobiert. 2 Verschiedene Controllerboards, 2 verschiedene (analoge) Servos, mit und ohne externer Stromzufuhr. Am Ende kommt das gleiche raus - entweder zuckt der Servo oder steht still aber der Silizium-Chip wird immer heiß.

    Ich kann mir schon denken dass der eine oder andere schreiben wird, dass ich das Beispiel ausm Wiki ausprobieren soll. Sollte es damit gehen, wieso wird es in den anderen zwei Fällen heiß?

    Danke im Voraus

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.418
    schick mal dein code und welche frequens der quarz hat vlt lässt sich da der fehler finden

    das 2 verschiedene (analoge) Servos den selben fehler haben halt ich für unwahrscheinlich deswegen wird der fehler im programm liegen

  3. #3
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    30
    Beiträge
    946
    Das ist ja das Problem, dass ich im Moment nur ganz zufällig ans Internet dran komme, natürlich kein USB-Stick mit Code o.ä. dabei.
    Ich besitze dieses Board
    http://shop.myavr.de/Baus%C3%A4tze%2...p.php&artID=47

    Frequenz-3.6864 (wenn ich mich richtig erinnere)
    bei einem anderen Board ATmega16 mit 10MHz Quarz.

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Weißt du den wie du die Servos ansteuerst? Also ob du dafür eine PWM benutzt?
    Wenn ja kann es vielleicht sein das die Servos kein PWM vertragen und das die deswegen warm werden, weil die wie verrückt schalten oder so.....

  5. #5
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    30
    Beiträge
    946
    Hab mal auf die Schnelle Bascom installiert.

    Code:
    '-----------------------------------------------------------------------------------------
    
    'name                     : servos.bas
    
    'copyright                : (c) 1995-2005, MCS Electronics
    
    'purpose                  : demonstrates the SERVO option
    
    'micro                    : 90S2313
    
    'suited for demo          : yes
    
    'commercial addon needed  : no
    
    '-----------------------------------------------------------------------------------------
    
     
    
    $regfile = "2313def.dat"                                   ' specify the used micro
    
    $crystal = 4000000                                         ' used crystal frequency
    
    $baud = 19200                                               ' use baud rate
    
    $hwstack = 32                                               ' default use 32 for the hardware stack
    
    $swstack = 10                                               ' default use 10 for the SW stack
    
    $framesize = 40                                             ' default use 40 for the frame space
    
     
    
    'Servo's need a pulse in order to operate
    
    'with the config statement CONFIG Servos we can specify how many servo's we
    
    'will use and which port pins are used
    
    'A maximum of 14 Servos might be used
    
    'The SERVO statements use one byte for an interrupt counter and the TIMER0
    
    'This means that you can not use TIMER0 anymore
    
    'The reload value specifies the interval of the timer in uS
    
    'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10
    
     
    
    Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
    
    'as an option you can use TIMER1
    
    'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 , Timer = Timer1
    
     
    
    'we use 2 Servos with 10 uS resolution(steps)
    
     
    
    'we must configure the port pins used to act as output
    
    Config Portb = Output
    
     
    
    'finally we must turn on the global interrupt
    
    Enable Interrupts
    
     
    
    'the servo() array is created automatic. You can used it to set the
    
    'time the servo must be on
    
    Servo(1) = 10                                               '10 times 10 = 100 uS on
    
    'Servo(2) = 20                                               '20 times 10 = 200 uS on
    
    Do
    
    Loop
    
     
    
    Dim I As Byte
    
    Do
    
    For I = 0 To 100
    
      Servo(1) = I
    
      Waitms 1000
    
    Next
    
     
    
    For I = 100 To 0 Step -1
    
    '  Servo(1) = I
    
      Waitms 1000
    
    Next
    
    Loop
    
    End
    Die Ausgänge habe ich auch andere ausprobiert.
    In dem Code habe ich anderen Quarz und anderen µC eingetragen.

    Bei dem zweiten Beispiel kann ich mich nur an "Pulseout , 2 , ... k.A." in den letzten Zeilen erinnern

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.05.2007
    Alter
    28
    Beiträge
    305
    Wie sieht denn die schaltung aus?
    Bei mir war es so, das die soviel strom gezogen haben das der µC immer neu gestartet ist, und dadurch der servo immer auf ausgangsstellung und dann halt rumzucken, oder auch bis zum mechanischen anschlag bis der kaputt ging. Waren billige teile, aber konnte das ganze erst mit 6000µF C lösen, und ner diode damit die nichtmehr den µC strom klauen.

    LG raz

  7. #7
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    30
    Beiträge
    946
    Die Schaltung ist standart und die bevorzuge ich auch:
    rote Leitung an 4,5V extern, braune leitung an die geminsame Masse von Spannungsregler des Boards und der externen Batterie. und die Signalleitung (orange) an den Signalport.
    Aber wenn ich die rote Leitung an die Versorgungsspannung von µC anklemme, ändert sich nix bzw. Servo wird heiß.

    Ich hab mir jetzt die Quelcodes aus dem Wiki auf ein DIN A4 Blatt abgeschrieben und werde die ausprobieren.


    P.S. erst nächste Woche habe ich wieder Internet

  8. #8
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    30
    Beiträge
    946
    Irgendwie mache ich was falsch, egal bei welchem code. Das ausm Wiki hat bei mir auch nicht funktioniert.

    Un hier ist der Code aus dem Buch von Ulli Sommer wobei die Servos heiß werden.



    Code:
    'Servo.bas
    'Microcontroller
    $regfile = "m32def.dat"  'hier habe ich m8def.dat eingetragen
    $crystal = 16000000      'und hier 3686400
    
    'Servo
    Config Porta.2 = Output
    Declare Sub _servo()
    Dim Servo_pos As Word
    Dim Servo_pos_save As Word
    Dim Multiplikator_servo As Byte
    Dim Setup As Word
    Dim X As Byte
    Multiplikator_servo = 15
    Setup = 3900
    
    'Servo Ansteuerung
    For X = 1 To 50
        Servo_pos = 128                                         'Servo in Mittelstellung fahren
        Call _servo()
    Next X
    
    Sub _servo()
    
         Servo_pos_save = Servo_pos * Multiplikator_servo       'Pulseout berechnen
         Servo_pos_save = Setup + Servo_pos_save
         Pulseout Porta , 2 , Servo_pos_save
         Waitms 10                                              'kurze Pause (5 bis 20ms)
    
    End Sub
    Was mache ich dabei falsch?

  9. #9
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Ich bezweifel das das direkt an den Codes liegt, da die Codes im Wiki erprobt sind (geh ich ganz stark von aus!). Hast du mal den Stromkreis überprüft? Vielleicht liegt ja da der Hund begraben.....

  10. #10
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    30
    Beiträge
    946
    Ich bin auch 100% sicher, dass die Codes funzen. Aber vielleicht passt es irgendwie mit der Quarzfrequenz nicht oder dem Prescaler usw.

    Bin schon total verzweifelt.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schaltplan_servo.png  

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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