Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück


Werners Kettenmobil mit einem 14M

#1 von BoomBoomMagic , 25.01.2019 19:25

von Naubaddi » Fr 21. Apr 2017, 23:00
Hi,

es ist so weit, das Kettenmobil von Werner Brösel funktioniert :mrgreen: ! Wie so oft bei meinen Basteleien wurde verbaut was so im Keller Rum liegt ;) , ein Bagger mit Kabellenkung, ein V8 von einer 65 Corvette Sting Ray, ein L298N, ein PICAXE 14M, ein Kabelrohr...

Die meisten Herausforderungen (früher waren es Probleme, schöne moderne Welt :roll: ) war der 14M, nicht sehr komfortabel zu programmieren (meine Meinung) weil es hat Stunden gedauert bis mir klar war wie die Eingänge abgefragt werden :( . Danach ging es recht zügig voran, ist ja nix Weltbewegendes 2 Motoren mit einem PICAXE und einem L298N anzusteuern :D .

Das Ergebnis ist schon recht brauchbar und kann noch verbessert/angepasst werden, auf dem Video sieht man die erste Fahrt von Werners Kettenmobil. Ein wenig zackig weil es für meine Frau das erste mal war mit einem RC-Fahrzeug, nun möchte Sie eine Drohne/Quadrocopter haben :o .

Es macht mir halt viel Spaß aus Resten noch etwas zu erstellen, kaufen kann Jeder :mrgreen: .

Das Programm:

1
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
 

; picaxe14m ; automatische Compilerauswahl für gedit
; Dateiname: Kettenantrieb 2xGas P14M.axe
; Funktion: Das Signal von einem RC-Empfänger auswerten und 2 Motoren für einen Kettenantrieb steuern
; Datum: Start 14.04.2017, Stand 21.04.2017
; Von: Hermann Friedhoff foto-schubser@arcor.de
;
; PICAXE 14M Alle Pin Funktionen (w0=b0+b1, w1=b2+b3, ...)
;
; +---v---+
; +V |1 14| 0V
; Serial In |2 13| B.0 OUT/Serial Out/INFRAOUT
; ADC 4 In 4 |3 12| B.1 Out
; INFRAIN In 3 |4 11| B.2 Out
; In 2 |5 10| B.3 Out
; In 1 |6 9| B.4 Out
; In 0 |7 8| B.5 Out
; +-------+
;
; die ca. Werte vom Empfänger-Signal sind: 75, Mitte = 150, 225
;
symbol Motor_rechts_v = B.1 ; Ausgang für den Motor rechts vorwärts
symbol Motor_rechts_r = B.2 ; Ausgang für den Motor rechts rückwärts
symbol Motor_links_v = B.3 ; Ausgang für den Motor links vorwärts
symbol Motor_links_r = B.4 ; Ausgang für den Motor links rückwärts
;
symbol rechts_0 = b0 ; RC-Signal Steuerhebel rechts Mittelstelung
symbol rechts = b1 ; RC-Signal Steuerhebel rechts Ist-Position
symbol links_0 = b2 ; RC-Signal Steuerhebel links Mittelstelung
symbol links = b3 ; RC-Signal Steuerhebel links Ist-Position
symbol Toleranz = b4 ; eine kleine Toleranz für die Mittelstellung (Leerlauf)
symbol dumm_v = b11 ; vorwärts mit Toleranz
symbol dumm_r = b12 ; rückwärts mit Toleranz
;
symbol dumm = b13 ; eine Variable für alles Mögliche
;
Toleranz = 10 ; die Toleranz für die Mittelstellung (Leerlauf)
pulsin 0, 1, rechts_0 ; die Mittelstellung vom rechten Steuerhebel übernehmen
pulsin 1, 1, links_0 ; die Mittelstellung vom linken Steuerhebel übernehmen
let pins = %00000000 ; alle Ausgänge auf 0 (low) setzen
;
Kettenantrieb_steuern: ; Hauptschleife Kettenantrieb steuern
pulsin 0, 1, rechts ; RC-Signal vom Steuerhebel rechts abfragen und auswerten
dumm_v = rechts + Toleranz ; Leerlaufbereich für vorwärts
dumm_r = rechts - Toleranz ; Leerlaufbereich für rückwärts
if dumm_v < rechts_0 then ; wenn der Leerlaufbereich nach oben verlassen wurde
high Motor_rechts_v ; Motor rechts, vorwärts ein
low Motor_rechts_r ; Motor rechts, vorwärts aus
endif
if dumm_r > rechts_0 then ; wenn der Leerlaufbereich nach unten verlassen wurde
high Motor_rechts_r ; Motor rechts, rückwärts ein
low Motor_rechts_v ; Motor rechts, rückwärts aus
endif
if dumm_v > rechts_0 and dumm_r < rechts_0 then ; wenn der Leerlaufbereich nicht verlassen wurde
low Motor_rechts_r ; Motor rechts, vorwärts aus
low Motor_rechts_v ; Motor rechts, rückwärts aus
endif
 

pulsin 1, 1, links ; RC-Signal vom Steuerhebel rechts abfragen und auswerten
dumm_v = links + Toleranz ; Leerlaufbereich für vorwärts
dumm_r = links - Toleranz ; Leerlaufbereich für rückwärts
if dumm_v < links_0 then ; wenn der Leerlaufbereich nach oben verlassen wurde
high Motor_links_v ; Motor rechts, vorwärts ein
low Motor_links_r ; Motor rechts, vorwärts aus
endif
if dumm_r > links_0 then ; wenn der Leerlaufbereich nach unten verlassen wurde
high Motor_links_r ; Motor rechts, rückwärts ein
low Motor_links_v ; Motor rechts, rückwärts aus
endif
if dumm_v > links_0 and dumm_r < links_0 then ; wenn der Leerlaufbereich nicht verlassen wurde
low Motor_links_r ; Motor rechts, vorwärts aus
low Motor_links_v ; Motor rechts, rückwärts aus
endif
goto Kettenantrieb_steuern ; Ende von: Kettenantrieb_steuern
;
 
 




und ein kleines Video:
http://www.buggy-club.de/fotos/dateien/Werners-Kettenmobil.avi
|addpics|nqa-1-96ce.jpg|/addpics|


 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019

zuletzt bearbeitet 25.01.2019 | Top

   

Neigung messen mit MPU-6050

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz