Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Problem mit Servo Routine
#16 RE: Problem mit Servo Routine
Also es gäbe noch eine Möglichkeit, nämlich den Servoimpuls händisch zu erzeugen und nicht die Bascom Befehle hierfür zu benutzen.
Ich habe dies auch immer so gemacht über (Beispiel):
For I=0 to 50
Pulseout PortB, 0, 500
Waitus 20000
Next
Schau dir einfach mal den befehl Pulseout an. Natürlich müsstest du die Werte ausprobieren/anpassen. Aber Du hättest dann definitiv Kontrolle über den Portpin.
Apropos - was mir noch einfällt, hast du mal den Servo-Pin nach dem Disable mal auf 0 gesetzt? Ich glaub zwar nicht das das was ändert - aber es ist so ein Gedanke das ich das mal probieren würde.
#17 RE: Problem mit Servo Routine
Hi Sven,
es sollte gehen, wenn Du nicht die Bascom-Routine benutzt sondern eine eigene.
Im Internet findet sich bestimmt eine Vorlage dafür.
Da kannst Du dann sicherlich nach Belieben aus und ein schalten was Du willst.
Ich habe auch schon die Erfahrung gemacht, daß die komplexeren Bascom-eigenen Routinen manchmal nicht das gelbe vom Ei sind.
In einfachen Fällen funktionieren die zwar gut aber sobald man ins Eingemachte geht hakts. In meinem konkreten Fall hat die GetRC5 Routine den Programmablauf so verlangsamt, daß von der Helligkeitssteuerung per PWM nur einzelene Blinker übrig geblieben sind.
Gruß, Martin
[EDIT]: Uups, da war wohl jemand schneller...
>>> Hilfe! Mein Ball ist umgefallen! <<<
http://www.microtruckracing.de - http://mwww.mikro-rc.de
#18 RE: Problem mit Servo Routine
Der Tipp war klasse ! Vielen Dank !
So, ich habe es nun mit dem Puleout Befehl gemacht. Die passenden Werte habe ich gefunden. Wie kann ich denn nun den Puls ausschalten ?
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
'*************************************************************************************************
'* *
'* Servo Tiny Kieswerk *
'* *
'* Controller ist ein Tiny13 *
'* *
'*************************************************************************************************
$regfile = "Attiny13.dat" ' Controller ist ein Tiny13
$crystal = 4800000 ' 4,8 Mhz Takt
$hwstack = 10
$framesize = 10
$swstack = 20
Config Pinb.0 = Input ' Ein- / Ausgänge definieren
Config Pinb.1 = Input
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Taster_zu Alias Pinb.0
Taster_auf Alias Pinb.1
Gruen Alias Portb.3
Rot Alias Portb.4
Enable Interrupts
Dim I As Byte
Portb.0 = 1 ' Interne Pullups ein
Portb.1 = 1
Portb.2 = 0
Portb.3 = 1
' Werte von 40 - 75 = 90° Drehung
For I = 0 To 50
Pulseout Portb , 2 , 800
Waitms 20
Next
Taster_abfrage_zu:
Do
If Taster_auf = 0 Then
Gosub Luke_zu
Else
Goto Taster_abfrage_auf
End If
Loop
Taster_abfrage_auf:
Do
If Taster_zu = 0 Then
Gosub Luke_auf
Else
Goto Taster_abfrage_zu
End If
Loop
End
Luke_zu:
For I = 0 To 50
Pulseout Portb , 2 , 800
Waitms 20
Next
' Hier müsste wohl was hin ...
Return
Luke_auf:
For I = 66 To 95
Pulseout Portb , 2 , 1400
Waitms 20
Next
' Hier müsste wohl was hin ...
Return
Hallo Sven,
ich habe Dein Programm einmal mit einen Attiny25 und einem analog Servo getestet.
Es funktioniert mit ein paar Änderungen an den Servowegwerten ohne Probleme.
Wenn die Position angefahren wurde hören die Impulse auf.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
'*************************************************************************************************
'* *
'* Servo Tiny Kieswerk *
'* *
'* Controller ist ein Tiny13 *
'* *
'*************************************************************************************************
$regfile = "Attiny25.dat" ' Controller ist ein Tiny13
$crystal = 8000000 ' 4,8 Mhz Takt
$hwstack = 40
$swstack=16
$framesize=32
Config Pinb.0 = Input ' Ein- / Ausgänge definieren
Config Pinb.1 = Input
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Taster_zu Alias Pinb.0
Taster_auf Alias Pinb.1
Gruen Alias Portb.3
Rot Alias Portb.4
Enable Interrupts
Dim I As Integer
Portb.0 = 1 ' Interne Pullups ein
Portb.1 = 1
Portb.2 = 0
Portb.3 = 1
Portb.4 = 1
' Werte von 40 - 75 = 90° Drehung
'----- Servo Mittelstellung ----
For I = 0 To 50
Pulseout Portb , 2 , 3300 ' Servo Mittelstellung
Waitms 20
Next
Taster_abfrage:
Do
If Taster_auf = 0 Then
Gosub Luke_zu
End If
If Taster_zu = 0 Then
Gosub Luke_auf
End If
Loop
Luke_zu:
Gruen = 0
Rot =1
For I = 0 To 50
Pulseout Portb , 2 , 2300 ' Servo rechts
Waitms 20
Next
Return
Luke_auf:
Gruen = 1
Rot = 0
For I = 0 To 50
Pulseout Portb , 2 , 4300 'Servo links
Waitms 20
Next
Return
End
Gruß Dirk
#20 RE: Problem mit Servo Routine
#21 RE: Problem mit Servo Routine
#22 RE: Problem mit Servo Routine
- Rund um das Forum
- Mikromodellbau Magazin
- Nettiquette
- Änderungen im Forum
- Vorstellungen der Mitglieder
- Testbereich
- Einsteiger
- Grundlagen
- Probleme
- Tipps & Tricks für Einsteiger
- Fahrzeuge in 1:87 - 1:220
- Bike, Trike, Quad
- Baumaschinen
- Lieferwagen
- PKWs
- PKW Rennwagen
- LKWs
- Race Trucks
- Einsatzfahrzeuge
- sonstige Fahrzeuge
- Modellbahnen
- Schiffsmodelle
- Arbeitsschiffe
- Fähren
- Schlepper
- sonstige Schiffe
- U - Boote
- Eigenbauten
- Umbauten
- Tipps & Tricks
- Probleme
- Luftfahrt
- Flugzeuge
- Hubschrauber
- Luftschiffe
- Module
- Trial Module
- Straßenmodule
- Ortsfeste Funktionsmodelle ( Kräne, Silos u.a. )
- Tipps & Tricks zum Modulbau
- Modellbahn
- Zubehör
- Fernsteuerungen
- Ladegeräte
- Empfänger, Servos, Multiswitch
- Car System
- Eigenbauten & Umbauten
- Infracar
- DC Car
- Probleme
- Elektronik
- Bootloader System von Mikroantriebe
- Grundlagen
- Probleme
- Tipps & Tricks
- Deltang Empfänger DSM2 & DSMX
- Mechanik
- Eigenbauten
- Probleme
- Maschinen, Werkzeuge und Zubehör
- Tipps & Tricks
- Programmierung ( AVR, PIC ... )
- Harrys Modellbau Tinys
- Projekte
- Probleme
- Programme zum Download
- Bascom
- Bascom - Unser Einsteigerkurs
- 3D - Druck
- 3D Drucker
- Software zur Konstruktion, sowie zum Druck
- Projekte
- Kostenlose 3D Modelle zum Download
- Ätzen
- Ätztechnik
- Platinen Ätzen
- Bleche Ätzen
- Vorlagen Downloads
- Probleme
- Termine
- Ausstellungen
- Messen
- Treffen
- Online Stammtisch (Google Hangout)
- Suche
- Modelle
- Zubehör
- Sonstiges
- Biete
- Modelle und Bausätze
- Zubehör
- Sonstiges
- Dies & Das
- Lackierungen
- Alles was nichts mit Mikromodellbau zu tun hat
- Euer Arbeitsbereich
- Links
- Diverses
- Händler für Zubehör
- Private Homepages
Jetzt anmelden!
Jetzt registrieren!
Forenspende
|
Wir hoffen, dass dir unser Forum gefällt und du dich hier genauso wohlfühlst wie wir. Wenn du uns bei der Erhaltung des Forums unterstützen möchtest, kannst du mit Hilfe einer kleinen Spende dazu beitragen, den weiteren Betrieb zu finanzieren. Deine Spende hilft! Spendenziel: 346€
104%
|


