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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.