Che Guevara
19.05.2008, 23:37
hi leude,
habe vor, mir einen plotter zu bauen, der mir ein infrarot signal einer fernbedinung auf ein blatt papier zeichnet!!
habe jetzt alles soweit aufgebaut, nur zwei probleme habe ich:
ich möchte ein signal mit einem ganz normalen ir-phototransistor empfangen und diesen wert über adc einlesen und dann damit einen servo,der den stift des plotters bewegt damit bewegen!
allerdings ändert sich der wert des widerstandes nur minimal!??
soll ich das signal des transistors mit einem op verstärken oder was soll ich tun????
außerdem habe ich mal einen test gemacht, bei dem ich ein 10kOhm poti an vcc und gnd angeschlossen habe und den ausgang an adc des atmega32.
dann habe ich mit folgendem code in bascom den wert des potis umgewandelt, um den servo ansteuern zu können:
$regfile = "m32def.dat"
$crystal = 16000000
Config Porta.0 = Input
Config Portb.0 = Output
Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
Config Adc = Single , Prescaler = Auto
Enable Interrupts
Dim X As Word
Dim A As Word
Dim B As Word
Dim C As Word
Dim I As Word
Dim J As Word
Dim K As Word
Do
I = 50
J = 100
K = 1024
Start Adc
X = Getadc(0)
A = J * X
B = A / K
C = B + I
Servo(1) = C
Loop
allerdings dreht sich der servo ganz normal, bis zu einem best. punkt, dann dreht er sich ein stück in die andere richtung und dann wider ganz normal????
warum ist das so??
mfg
chris
habe vor, mir einen plotter zu bauen, der mir ein infrarot signal einer fernbedinung auf ein blatt papier zeichnet!!
habe jetzt alles soweit aufgebaut, nur zwei probleme habe ich:
ich möchte ein signal mit einem ganz normalen ir-phototransistor empfangen und diesen wert über adc einlesen und dann damit einen servo,der den stift des plotters bewegt damit bewegen!
allerdings ändert sich der wert des widerstandes nur minimal!??
soll ich das signal des transistors mit einem op verstärken oder was soll ich tun????
außerdem habe ich mal einen test gemacht, bei dem ich ein 10kOhm poti an vcc und gnd angeschlossen habe und den ausgang an adc des atmega32.
dann habe ich mit folgendem code in bascom den wert des potis umgewandelt, um den servo ansteuern zu können:
$regfile = "m32def.dat"
$crystal = 16000000
Config Porta.0 = Input
Config Portb.0 = Output
Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
Config Adc = Single , Prescaler = Auto
Enable Interrupts
Dim X As Word
Dim A As Word
Dim B As Word
Dim C As Word
Dim I As Word
Dim J As Word
Dim K As Word
Do
I = 50
J = 100
K = 1024
Start Adc
X = Getadc(0)
A = J * X
B = A / K
C = B + I
Servo(1) = C
Loop
allerdings dreht sich der servo ganz normal, bis zu einem best. punkt, dann dreht er sich ein stück in die andere richtung und dann wider ganz normal????
warum ist das so??
mfg
chris