Hallo!

Ich habe ein Servo an einem ATmega8 angeschlossen. Dieses wird über Bascom mit dem Befehl Servo angesteuert.
Es funktioniert auch einwandfrei, aber das Servo zieht im Leerlauf (also keine Positionveränderung) sehr viel Strom. Die Schaltung läuft mit einem LM7805 der von 12V auf 5V regelt. Auf der 12V Seite fließen 0,3A, auch wenn das Servo sich gerade nicht bewegt. Allerdings macht das Servo auch dann Geräusche.
Der LM wird folglich richtig heiß. Ist das normal so? Kann ich mir nicht vorstellen.

Der Code sieht so aus:
Code:
$regfile = "m8def.dat"
$crystal = 14745600
$baud = 9600

Config Servos = 1 , Servo1 = Portd.5 , Reload = 10

Dim Servorueck As Bit

Servo(1) = 50
Servorueck = 0

'Der Ausdruck mit Controldata heißt hier sinngemäß Taster an/aus
Do
      [...]
      If Mid(controldata , 2 , 1) = "1" And Servorueck = 0 Then
         Servorueck = 1
         Servo(1) = 150
         Waitms 400
      Elseif Mid(controldata , 2 , 1) = "0" And Servorueck = 1 Then
         Servorueck = 0
         Servo(1) = 50
         Waitms 400
      End If
Loop

End
[...]
Hardware technisch ist das Servo mit + an 5V, mit - and GND und mit dem Signal direkt am AVR.
Das Servo ist ein Graupner C507 und sollte im Leerlauf (lastfrei) 5mA aufnehmen.

Wisst ihr was ich falsch mache?

Grüße, Björn