Servo , ADC Bascom

Gast #1928788
Lesenswert?

Hallo

Ich habe ein Problem mit der Servo ansteuerung unter Bascom.
Ick kann das Servos mit disem ganz normal ansteuer ! alles funktioniert

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 100
$swstack = 100
$framesize = 100

1
Config Servos = 1 , Servo1 = Portd.2 , Reload = 10
2

3
Config Portd = Output
4

5
Enable Interrupts
6

7
Servo(1) = 0
8

9

10
Waitms 1000
11

12
Servo(1) = 150
13

14

15

16
Waitms 1000
17
Waitms 1000
18

19
Servo(1) = 0




Wenn ich nun aber diesen Code benutzen will ghet es leider nicht mehr.
Ich kann zwar die AD Werte auslesen aber das Servo hat keine Funtion.
Ich habe den Code jetzt schon xmal durchgeschaut und kann einfach den 
Fehler nicht finden.
Ich hoffe ihr könnt mir helfen
1
regfile = "m8def.dat"
2
$crystal = 8000000
3
$hwstack = 100
4
$swstack = 100
5
$framesize = 100
6
Const Adc_multi = 0.0048828125
7
Dim Messergebnis As Word
8
Dim Volt As Single
9
Dim Volt2 As Single
10
Dim Teiler As Single
11

12
Config Adc = Single , Prescaler = Auto , Reference = Avcc
13
Config Servos = 1 , Servo1 = Portd.2 , Reload = 10
14

15
Start Adc
16
Enable Interrupts
17

18

19

20

21

22

23

24

25
Servo(1) = 150
26

27
Waitms 1000
28
Messergebnis = Getadc(0)
29

30
Waitms 100
31
Teiler = 6
32
Locate 1 , 1
33
Waitms 100
34
Volt = Messergebnis / Teiler
35
If Messergebnis < 20 Then Volt = 0
36
If Volt > 150 Then Volt2 = 150 Else Volt2 = Round(volt)
37
Waitms 100
38

39

40

41
Waitms 1000
Gast #1928845
Lesenswert?

Hallo

Ich habe mal einfach alles entfernt was man nicht direkt braucht.
Mir ist aufgefallen das sobald ich ADC und Servo zusammen configuriere 
das Servo sich nicht steuer läst.

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Servos = 1 , Servo1 = Portd.2 , Reload = 10


Ohne " Config ADC" funktioniert alles bestens , sobald ich aber diesen 
Teil einfüge funktionert das Servo nicht.
Kann man unter Bascom nicht beides machen also Servo und ADC oder was 
mache ich Falsch
Gast #1928897
Lesenswert?

Hallo

Danke für den Tip.

So ich ahbe es nun geschaft das ich das Servo auch dan ansteuern kann 
wenn ich den ADC configuriere.


Nun habe ich aber ein anderes Problem
Ich aheb zwischen den Servobefehlen immer ein " waitms 1000 "stehen.
Das funktioniert auch alleine ganz gut.

Sobald ich aber versuche einen Wert per ADc einzulesen wird es kritisch.
Entweder zuckt das Servo oder der ADCV Wert wird flasch per Print 
ausgegebn , wirre Zahlen.

Wie ist das nun in Bascom , beide Befehle brauche ja einw enig zeit wie 
kann man das machen da man einen AD Wert einliest und dan das Servo 
stellt ?
ohne das die sich behindern

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren