Elektronik Projekter: Sådan programmeres en Servo i PBASIC

At skabe bevægelse i dit elektronik projekt, kan du tilføje en meget nyttig enhed, der kaldes en serv o, som lader dig styre mekanisk bevægelse med en BASIC Stamp program. En servo er en særlig type motor, der er designet til at rotere til en bestemt stilling, og hold denne stilling, indtil fortalte at rotere til en anden position. Hobby servos anvendes hyppigt i radiostyrede køretøjer, men der er mange andre anvendelser for servos.

BASIC Stamp Activity Kit leveres med en servo, som du kan bruge til at lære at skrive programmer, der styrer servoer. Du kan også købe servoer direkte fra Parallax eller fra de fleste hobby butikker.

Elektronik Projekter: Sådan programmeres en Servo i PBASIC

Den nemmeste måde at styre en servo fra en BASIC Stamp microcontroller er at bruge PULSOUT kommandoen. Denne kommando sender en puls af nogen varighed, du angiver til en I / O-pin, som du vælger. Syntaksen for denne kommando er som følger:

PULSOUT pin, varighed

Du angiver varigheden i enheder af to mikrosekunder. En mikrosekund er en milliontedel af et sekund. Der er tusind mikrosekunder i et millisekund. Således at sende et 1,5 ms puls med PULSOUT kommando, skal du angive 750 som varigheden, som dette:

PULSOUT 0750

Her er en 1,5 ms puls sendt til pin 0.

Her er de PULSOUT varighedsværdier du skal bruge for en typisk hobby servo til forskellige vinkler.

Vinkel Varighed Vinkel Varighed
0 250 95 778
5 278 100 806
10 306 105 833
15 333 110 861
20 361 115 889
25 389 120 917
30 417 125 944
35 444 130 972
40 472 135 1000
45 500 140 1028
50 528 145 1056
55 556 150 1083
60 583 155 1111
65 611 160 1139
70 639 165 1167
75 667 170 1194
80 694 175 1222
85 722 180 1250
90 750

For eksempel for at flytte servo på ben 0-75 °, bruge denne kommando:

PULSOUT 0667

Husk, at for at holde sin position, en servo brug for en konstant strøm af impulser cirka 20 ms fra hinanden. Således er PULSOUT kommandoer normalt er indeholdt i enten gøre løkker eller FOR-NEXT loops. For eksempel, her er en smule kode, der holder servo på pin 0 ved 45 ° uendeligt:

DO
PULSOUT 0,500
PAUSE 20
LOOP

Her er komplet program, der flytter servo til 45 °, når SW1 (en trykknap på pin 14) trykkes og 135 °, når SW2 (en trykknap på pin 10) trykkes.

»Servo Kontrolprogram
'Doug Lowe
"15 jul 2011
'
»Programmet flytter en servo til en af ​​to, når der trykkes på SW1
"Og returnerer servo til midterposition, når der trykkes SW2.
'{$ STAMP BS2}
'{$ PBASIC 2.5}
Servo PIN 0
SW1 PIN 14
SW2 PIN 10
Position VAR Word
Position = 500
DO
HVIS SW1 = 1 THEN
Position = 500
ENDIF
HVIS SW2 = 1 THEN
Position = 1000
ENDIF
PULSOUT Servo, Position
PAUSE 20
LOOP


© 2020 Zajacperrone.com | Contact us: webmaster# zajacperrone.com