Shock Media

Navigatie

Eerste Robot

Forum > Robotica > Eerste Robot << Vorige | 1 | 2
Naam Bericht
stef110

de refresh time van een servo is :

portb.1 = 1
waitus 1500 (1.5 ms)
portb.1 = 0
waitms 20
( hierdoor krijg de servo elke 20 ms een nieuw puls en dat is wat hij ook wil)

als je dan nog 1 servo er bij doet moet je die ms er weer af halen.

de max is dus ongeveer 2 ms ( 2000 us )

20 ms - 2 ms = 18 ms
met 20 ms zou het ook best willen werken.

je moet wel je avr op 1 mhz laten draaien.

stef
Beroepsprutser

Dit is wat ik nu heb:

$regfile = "m8def.dat"
$crystal = 1000000


Config Portd = Output

Do
Portd.3 = 1
Waitus 1500
Portd.3 = 0

Portd.4 = 1
Waitus 2000
Portd.4 = 0

Waitms 18
Loop

Maar de servo waar ik 1500 op heb gezet staat niet stil, hij draait de zelfde kant op als de andere.

Op 1450 zetten werkt ook niet, evenals op 1400 zetten.

De pot zit in het midden dus daar ligt het niet aan.

Foutje in m'n code?
Experimenteren met USB&AVR's
Beroepsprutser

Ik heb nu dit:

$regfile = "m8def.dat"
$crystal = 1000000


Config Portd = Output

Do
Portd.3 = 1
Waitus 959
Portd.3 = 0
waitms 20

Loop

Zo staat de servo stil (???)

Alles erboven draait ie de ene kant op, alles erondere de andere kant
Experimenteren met USB&AVR's
stef110

als hij bij die pusle stil staat heb jij echt een hele vreemde servo
madthijs

als je continu de servo een pulse van 1,5 ms geeft, om de 20ms, moet je even de pot zo neerzetten, dat de servo stil staat. Dan heb je een gecalibreerd systeem, en dan kan je et beestje besturen.

welk type servo heb je?
Beroepsprutser

Twee robbe FS-100's
Experimenteren met USB&AVR's
Beroepsprutser

Is het ook mogelijk in assembler servos aan te sturen? Ik had iets van pwm of timers in gedachte, delay loops lijken me wat omslachtig. Wat adviseren jullie?
Experimenteren met USB&AVR's
Lucky luke

uhm... Picbasic heeft een commando wat "servo" heet. Werkt dat niet?
[Bericht gewijzigd door Lucky luke op 13 augustus 2008 15:11:51]
mijn homepage.
Beroepsprutser

Ik werk met een avr, picbasic zal dus niet gaan...

In bascom is ook een servo commando, alleen dat werkt niet
Experimenteren met USB&AVR's
critiacrof

Hier is te zien dat het toerental/pulsbreedte-verloop van een servo absoluut niet linear is; een kleine afwijking van de potmeter heeft dus grote gevolgen voor de "neutraalstand". Er moet dus duidelijk afgesteld worden(softwarematig of hardwarematig). Wat jij hebt gedaan is simpelweg die neutraalpuls aangepast, maar dat is niet netjes.
Dus: draai aan die potmeter tot hij bij 1500us stilstaat.
Beroepsprutser

Beste iedereen!

Na lang prutsen, prielen, ergernis, en herprogrammeren van mijn mega werkt mijn robot eindelijk!(althans, de servos)
Uiteindelijk lag het gewoon aan mijn servos. Ik had de potmeters niet ver genoeg doorgeduwd, zodat ze af en toe toch meedraaiden. Nu wat verder doorgeduwd, nu de potmeters maar met secondelijm vastgezet, en ja hoor, ze deden het! Bedankt iedereen voor de hulp, uiteindelijk lag het gewoon aan mezelf.
Dit is de code die er nu in zit:

code:
Cls
   Cursor Off
   Config Servos = 2 , Servo1 = Portd.3 , Servo2 = Portd.4 , Reload = 20


    Config Rc5 = Pind.2 , Timer = 2
    Config Portd.3 = Output , Portd.4 = Output
   Enable Interrupts

   Dim Adres As Byte , Commando As Byte
   Servo(1) = 75
   Servo(2) = 75
Lcd "Ruststand"

 Do

 Getrc5(adres , Commando)
  Select Case Commando
  Case 38
  Cls
  Lcd "Ruststand"
  Servo(1) = 75
  Servo(2) = 75
  Case 32
  Cls
  Lcd "Vooruit"
  Servo(1) = 50
  Servo(2) = 100
  Case 16
  Cls
  Lcd "Rechtsaf"
  Servo(1) = 75
  Servo(2) = 100
  Case 17
  Cls
  Lcd "Linksaf"
  Servo(1) = 50
  Servo(2) = 75
 Case 33
 Cls
 Lcd "Achteruit"
 Servo(1) = 100
 Servo(2) = 50

   End Select
  Loop


Het is even om te testen, je kunt hem besturen met de afstandsbediening van onze oude tv met de pijltje-naar-boven, pijltje-naar-onder, pijltje-naar-links, pijltje-naar-rechts en OK-knop.

EDIT: nu het volgende probleem: de grip. Vooruit en achteruit gaan prima, alleen het sturen gaat slecht, doordat mijn houten(ja, ik kon geen andere vinden ) wielen geen grip hebben. Wat raden jullie aan als wielen (graag van huis-tuin-en-keuken-dingen ), of iets voor om het hout heen als 'band'?
[Bericht gewijzigd door Beroepsprutser op 26 augustus 2008 16:31:03]
Experimenteren met USB&AVR's
Beroepsprutser

Resulteert dit in een +/- 38kHz signaal?:
code:
Config Portb.0 = Output
Do
Set Portb.0
Waitus 26
Reset Portb.0
Waitus 26
Loop
Experimenteren met USB&AVR's
Zoeken in topic << Vorige | 1 | 2