Hallo Leute,
hab nach etlichen Tests neue resultate die ich überhaupt nicht verstehe...
Ich habe festgestellt das es ein Software Problem sein muss.
Wenn ich die ACS_II Demo von der CD einspiele läuft der bot sogar noch mit den vermeintlich leeren akkus perfekt...
Er ruckelt zwar etwas aber er läuft...
Benutze ich aber mein ACS Programm was sich fast nicht von der Demo unterscheidet dann blockiert teilweise mal ein Rad oder er fährt leichte Kurven und das schlimmste ist nach 2 Mins funtzt nichts mehr das heisst motoren haben keine Kraft mehr und der Bot steht wie ein Panzer.
Hier mal die beiden Codes:
ACS bsp von der CD:
Code:
Sub main()
PRO_BOT128_INIT() 'PRO-BOT128 Setup
ACS_INIT(2) 'ACS setup / sensitivity 1 To 20 / 1=near / 20 =far
AbsDelay(1000) 'Wait 1Sec.
BLL_ON() 'Back LED left "ON"
BLR_ON() 'Back LED right "ON"
ENC_LED_ON() 'Encoder IR-LEDs "ON"
DRIVE_ON() 'Motor "ON"
Do While True 'Endless Loop
'Drive behaviour
If ACS_LEFT() = 1 And ACS_RIGHT() = 1 Then Forward() : End If
If ACS_LEFT() = 0 And ACS_RIGHT() = 0 Then Backward() : End If
If ACS_LEFT() = 1 And ACS_RIGHT() = 0 Then Turn_Left() : End If
If ACS_LEFT() = 0 And ACS_RIGHT() = 1 Then Turn_Right() : End If
End While
End Sub
Sub Forward() 'Drive forward
FLL_OFF() 'Front LED left "OFF"
FLR_OFF() 'Front LED right "OFF"
DRIVE_FORWARD(7) 'Drive forward, speed 1 To 10 : Value = 7
DELAY_MS(150) 'Wait 150ms
End Sub
Sub Backward() 'Drive backward
FLL_ON() 'Front LED left "ON"
FLR_ON() 'Front LED right "ON"
GO_TURN(-15,0,150) 'Backward 15cm, Speed = 150
GO_TURN(0,60,150) 'Turn right, speed = 150
End Sub
Sub Turn_Left() 'Turn left
FLL_OFF() 'Front LED left "OFF"
FLR_ON() 'Front LED right "ON"
GO_TURN(0,-45,150) 'Turn left, Speed = 150
End Sub
Sub Turn_Right() 'Turn right
FLL_ON() 'Front LED left "ON"
FLR_OFF() 'Front LED right "OFF"
GO_TURN(0,45,150) 'Turn right, Speed = 150
End Sub
Und hier mein Programm:
Code:
Sub main()
PRO_BOT128_INIT()
ACS_INIT(2)
ENC_LED_ON()
DRIVE_ON()
Do While True
If ACS_LEFT() = 1 And ACS_RIGHT() = 1 Then FORWARD() : End If
If ACS_LEFT() = 0 And ACS_RIGHT() = 1 Then BACKWARD() : End If
If ACS_LEFT() = 1 And ACS_RIGHT() = 0 Then RIGHT() : End If
If ACS_LEFT() = 0 And ACS_RIGHT() = 1 Then LEFT() : End If
End While
End Sub
Sub FORWARD()
FLL_ON()
FLR_ON()
DRIVE_FORWARD(6)
AbsDelay(100)
End Sub
Sub BACKWARD()
BLL_ON()
BLR_ON()
GO_TURN(-15,0,150)
GO_TURN(0,70,150)
AbsDelay(100)
End Sub
Sub RIGHT()
GO_TURN(0,-50,150)
AbsDelay(100)
End Sub
Sub LEFT()
GO_TURN(0,50,150)
AbsDelay(100)
End Sub
Also jetzt brauch ich euch wieder woran kann das liegen?
Achso ganz wichtig ist noch habe das problem auch wenn ich den bot nur so fahren lasse sprich ohne ACS und ohne Odometrie also aus der richtung kann der fehler auch nicht sein...
Und die beiden die Codes unterscheiden sich so gut wie nicht wie man sieht...
Danke schonmal
Gruß
Lesezeichen