Projektarbete Med PIC-processorer Kursen: Tillämpad digital teknik med PIC-processorer 7.5HP (IL131v) KTH.

Download Report

Transcript Projektarbete Med PIC-processorer Kursen: Tillämpad digital teknik med PIC-processorer 7.5HP (IL131v) KTH.

Projektarbete Med PIC-processorer
Kursen: Tillämpad digital teknik med PIC-processorer 7.5HP
(IL131v) KTH
1
2
Servo
VÄNSTER
HÖGER
Större utslag ger
Större utslag ger
snabbare ->>
hastighet.
<<-snabbare
hastighet.
Mindre utslag ger
Mindre utslag ger
långsammare ->
hastighet.
<-långsammare
hastighet
Servo
3
Joystick utslag för olika versioner
Kontinuerlig version
Servo version
 Ju mer utslag på Joysticken
 Ju större differensen är
desto kortare tid mellan
utställningen av motorn
spolar
mellan nedre gräns om AD
omvandlaren desto fler antal
utställningar av motorn
4
Lägen och Dioder
Lägen för Kontinuerligversion
Lägen för Servo-version
 När Joysticken är i mitten-
 När Joysticken är i mitten-
läget så Lyser en grön diod
 Om Joysticken förs i sidled
(höger eller vänster) så ändras
grön diod till Blå diod.
läget så Lyser en grön diod
 Om Joysticken förs i Sidled så
ändras dioden till röd
 När först när motorn är färdig
och joysticken är tillbaka i
mitt läge så slår dioden om
till grön
5
Knapp/Givare
Knapp på Joystick
Givare på kugghjul
 Startar lysdioder på kameran
 Givaren säger till när ”servon”
 (Alternativ) Tutar med en
summer
har kommit tillbaka till
ursprungsläget.
6
7
Kort om AD- omvandling
AD-omvandlaren ger ett tal inom intervallet 0-255
Detta ges av Joystickens position
8
Kort om
stegmotorer
Modeller av stegmotor
• Bipolära
• Unipolära
Skiftning av motorns spolar
• 1100
• 0110
• 0011
• 1001
Lätt att sätt att göra detta för
PIC-processorer
•
•
•
•
Pin_state=0b1100;
Pin_state=rl(Pin_state);
PORTC= Pin_state:
Delay(4);
9
Drivkretsar för stegmotorer
L293D
L293B
 4- ingångar
 4- ingångar
 4-utgångar (Max 0.6A)
 4-utgångar (Max 1A)
 Separat matning
 Separat matning
 Inbyggd D-brygga
 Saknar inbygg D-brygga
 Möjlighet till enable
 Möjlighet till enable
10
Kontinuerligt
Rotation (PIC nr1)
While(1)
Om knapp är
intryckt
If (Knapp
=1)
Tänd lysdiod
Joystick åt
”vänster” läge
Joystick i ”mitten”
läge
Else If
Else If
(AD<Leftline)
t: anpassas med
utslaget på
joysticken
Else If
(AD>RightLine)
(Leftline<AD &&
AD<Rightline)
Metod LEFT(t)
samt tänd Blå diod
Joystick i ”höger”
läge
Tänd grön diod
Metod RIGHT(t)
Samt tänd Blå diod
t: anpassas med
utslaget på
joysticken
11
Servo
Vinkel (PIC nrWhile(1)
2)
Om knapp är
intryckt
If (Knapp
=1)
Else If
Joystick ”Upp”
Joystick i (Leftline<AD && AD<Rightline)
"mitten” läge
Samt tänd röd
diod
Else If
(AD>RightLine)
Else If
(AD<Leftline)
Räkna ned l
Räkna upp l
Tänd lysdiod
HELST PÅ KAMERA
Joystick i
"Ned" Samt
tänd röd diod
samtidigt
använd
RIGHT(T)
While AD<
l
samtidigt
använd
Medtoden
LEFT(t)
while AD=>
l
Räkna ned för
r
(återställning)
Återställ
åt höger
Räkna ned för
l
(återställning)
Återställ
åt vänster
fortsätt till
läsgaffel ger
signal om
detta uppfylls
så tönd grön
diod
Återställ
tills signal
fås
Räkna ned r
samtidigt
använd LEFtt)
while AD>r
Räkna Upp r
samtidigt
använd
RIGHT(t)
while AD=<r
12
13