Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 8 Antworten
und wurde 1.644 mal aufgerufen
 Bascom
Sven Löffler Offline

Admin


Beiträge: 3.712

01.04.2012 18:27
RKL und Doppelblitz Tiny Zitat · Antworten

Hallo zusammen,

ich habe mich die letzten 2 Tage mal etwas intensiver mit dem Thema Bascom beschäftig. Ab jetzt werde ich wohl nur noch in Bascom schreiben. Das ist ja wirklich einfach. 3-8 von smilies-world.de Im Netz habe ich ein Programm für einen 2 Kanal Schalter gefunden. Die beiden Ausgänge werden tastend geschaltet. Ich habe mich nun mal dran gemacht, und das Programm zunächst mal an 2,4 GHz angespasst. Nun kann man die Software auch für 2,4 GHz nutzen.

Außerdem habe ich für die Ausgänge folgende Funktionen eingebaut.

Küppel nach oben = 3 Kanal RKL Rundumlicht
Neutralstellung = alles aus
Knüppel nach unten = 4 Kanal Doppelblitz

Je nach dem, was ihr also für ein Fahrzeug habt, könnt ihr den Tiny nun verwenden.

Ich werde nochmal ein Video machen. Dann könnt ihr das ganze auch mal sehen.

Wünsche Euch viel Spaß damit !

Dateianlage:
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen der Dateianhänge angezeigt Jetzt anmelden!
RKL und DP Tiny.txt

diezel Offline



Beiträge: 709

01.04.2012 21:23
#2 RE: RKL und Doppelblitz Tiny Zitat · Antworten

Hi Sven,

den Ursprung des Programms erkenne ich, damit hab ich vor gut einem Jahr auch angefangen !!!
Paar Tipps hab ich für Dich:

-Gewöhn Dir das mit den Wait-Befehlen ab. Die Main-Schleife wird dadurch unnötig lang, das ganze Programm wird sehr träge, die Interrupts unterbrechen und die Zeiten werden dadurch ungenau. Sowas macht man mit einem Zähler, der in einem eigenen Timer raufgezählt wird. In der Main-Schleife wird der aktuelle Zählerstand ausgewertet und die Aktionen ausgeführt.
Versuchs mal, wenn Du Hilfe brauchst ...

- Diese Code-Zeile in der "RC-Read"-Routine ist sehr fehleranfällig:

1
 
If Reading = 0 Then
 


Probleme treten auf, wenn der µC genau in der Phase gestartet wird, wenn das Signal vom Empfänger kommt. Dann ist nämlich das Bit "Reading" noch 0 wenn die fallende Flanke des Signals erkannt wird, folglich wird der falsche Zweig der If-Abfrage abgearbeitet. Besser wäre:

1
 
If PinB.1 = 0 Then
 



- die Auswertung der Impulslängen sieht irgendwie bischen schräg aus:

1
2
3
4
5
6
7
8
9
10
11
12
 
If Rc_value > 113 Then   
'Mittelstellung
Call Rkl
Else
Portb.4 = 0
End If
If Rc_value > 85 Then
'Vollausschlag
Portb.3 = 0
Else
Call Blitz
End If
 


welche Impulslängen bekommst Du raus und wann soll welche If-Abfrage ausgeführt werden?
Beispiel: Rc_value = 120
es wird die erste If ausgeführt, da 120 größer 113 -> RKL wird aufgerufen
die zweite IF wird aber auch ausgeführt, weil 120 größer 85 -> Blitz wird auch aufgerufen
ist das so Absicht? Komisch.
Wann ist Nullstellung und es wird nichts ausgeführt? eigentlich nur bei Rc_value < 85


Gruß
Gerhard


Sven Löffler Offline

Admin


Beiträge: 3.712

01.04.2012 23:43
#3 RE: RKL und Doppelblitz Tiny Zitat · Antworten

Hallo Gerhard,

danke für die Info. :)

Zur Auswertung: Ich habe mit den Werten rumgespielten. Mit diesen Werten hat das Programm bei mir erst überhaupt richtig funktioniert ... mit Spektrum 2,4 GHz Der Mittelwert war vorher 112. Für eine LED was 113, für die andere 145 angegeben. Mit diesen Einstellungen hat nur eine LED richtig gearbeitet.


diezel Offline



Beiträge: 709

02.04.2012 10:13
#4 RE: RKL und Doppelblitz Tiny Zitat · Antworten

Hallo Sven,

Du hast den Timer0 mit Prescale = 8 konfiguriert. Das heißt der Timer läuft nach 0,2 Millisekunden über. Somit ist die Erfassungen von Impulen, die bis 2ms dauern können, nicht sinnvoll.
Setz dort mal Prescale = 256. Damit braucht der Timer genau 8,192ms zum Überlaufen. Das heißt dann, daß bei einem Impuls von 1ms Länge der Timer bis ca. 31 zählen wird, bei 1,5ms sinds dann ca. 47 und bei 2ms sinds 63.
Dann sollte auch Deine If-Abfrage funktionieren


Gruß
Gerhard


Sven Löffler Offline

Admin


Beiträge: 3.712

02.04.2012 10:28
#5 RE: RKL und Doppelblitz Tiny Zitat · Antworten

Hallo Gerhard,

das Programm funktioniert ja einwandfrei. Aber trotzdem werde ich die von dir genannten Werte mal versuchen. cheers von smilies-world.de Besten Dank für den Tipp !


diezel Offline



Beiträge: 709

02.04.2012 11:15
#6 RE: RKL und Doppelblitz Tiny Zitat · Antworten

Zitat von Sven Löffler
das Programm funktioniert ja einwandfrei.



aber wahrscheinlich nur mit dem einen Sender und mit dem einen Empfänger und vielleicht auch nur bei 20°. Verstell doch mal den Servoweg an der Funke...


Sven Löffler Offline

Admin


Beiträge: 3.712

02.04.2012 18:31
#7 RE: RKL und Doppelblitz Tiny Zitat · Antworten

Also, ich habe das jetzt nochmal getestet:

Anderer Empfänger, anderer Sender. Er reagiert genau gleich. Dabei sind die Einstellung für Servoweg und Mittelstellung die Graupner Standarteinstellung, sodass jeder diese Einstellungen nutzen kann. Es funktioniert also mit diesen Einstellungen auch bei anderen Empfänger und Sendern.


diezel Offline



Beiträge: 709

02.04.2012 18:46
#8 RE: RKL und Doppelblitz Tiny Zitat · Antworten

Hi Sven,

endlich zu Hause. Puhhh.
Hab grad nochmal nachgerechnet und in Deinen Code geschaut. Die Zeiten, die ich oben geschrieben habe, basieren auf 8MHz. Sorry, hatte gar ned geschaut, was Du programmiert hast.

1
2
 
'Taktfrequenz (4,8Mhz, CKDIV8 Vorteiler Fuse gesetzt)
$crystal = 600000
 


Wenn das stimmt, hast Du in den Fuses 4,8MHz eingestellt, Bascom sagst Du aber 0,6MHz. Sollte schon übereinstimmen, sonst stimmen deine Wait-Längen nicht.

Falls Du mal bischen mit Timer und Zeiten spielen willst, finde ich diese Seite recht gut:
http://www.bunbury.de/technik/avr/bascom.htm#Timer

Wenn ich dort übrigends Deine Konfiguration eintippe, kommt raus, daß der Timer alle 0,4ms überläuft.


Gruß
Gerhard


flowie Offline



Beiträge: 15

09.04.2012 13:00
#9 RE: RKL und Doppelblitz Tiny Zitat · Antworten

Hallo Gerhard,

Svens Einstellungen stimmen schon. 4,8 MHz dividiert durch 8 (CKDIV8 Fusebit gesetzt) ergibt 0,6 MHz. Mit dem Wait-Befehlen geb ich dir recht, die sind schön und gut solange keine Interrupts verwendet werden.

Grüße

Flowie


Hallo Welt »»
 Sprung  

disconnected Mikromodell-Chat Mitglieder Online 5
Xobor Xobor Community Software
Datenschutz