PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM Problem(gelöst) in Verbindung mit LCD und RC5 NEWs



jar_
10.03.2007, 13:44
mein RC5 Empfänger mit LCD Ausgabe funzt, aber wehe ich versuche eine LED zu dimmen, komme nicht wirklich weiter mit dem Proggi

liegt es am

AT90s2313 ?

oder weil ich nicht jeden Port dimmbar machen kann ?
muss ich externe Brücken setzen für DA Wandler und compare ?

nutze ich den die falschen Timer ?
nutzt LCD RC5 in BASCOM den Timer ?

egal welches PWM Beispiel ich nutze, jedesmal ist die LCD ausgabe futsch, oder der BASCOM meckert, falsche Initialisierung

der bewusste gerne genommene Port B 3 nutzt bei mir ja das LCD, Umlenkung auf die freien PB0 oder PD0 ist mir nicht gelungen,

ich hänge halt noch in den Demos wo bis zu 4 Timer an multiplen Ports genutzt werden, ich habe im Moment aber nur den AT90s2313 auf dem Steckbrett und keinen ATmega

Dirk
10.03.2007, 13:52
Solche Fragen beantwortet die BASCOM-AVR Help mit wenigen Mausklicks.

CONFIG RC5 -> Braucht Timer0, kann auch auf Timer2 umgestellt werden.


nutze ich den die falschen Timer ?

Kann sein. Weiss nicht, welchen du nutzt.

Alle Timer-Verwendungen der BASCOM-Befehle stehen in der Hilfe!!!

Gruß Dirk

jar_
10.03.2007, 14:04
Solche Fragen beantwortet die BASCOM-AVR Help mit wenigen Mausklicks.
CONFIG RC5 -> Braucht Timer0, kann auch auf Timer2 umgestellt werden.
Gruß Dirk

danke fürs antworten, aber ich bin nicht doof, nur AVR Neuling
dort steht nur implizit drin das Timer 0 genutzt wird, hab ich wohl überlesen

Syntax
CONFIG RC5 = pin [,TIMER=2]
Remarks
TIMER
Must be 2. The micro must have a timer2 when you want to use this option. This additional parameter will cause that TIMER2 will be used instead of the default TIMER0.


somit ist klar das Timer 0 nicht genutzt werden kann, bei der LCD Ausgabe schweigt sich die online Hilfe aus ob Timer für die waits benutzt werden oder NOPs

aber alle PWM Beispiele setzen oft auf Timer1 auf,
nur die Frage bleibt:

kann ich jeden Port für die PWM Ausgabe nutzen ? z.B. PB0 PD0

oder nur spezielle, die schon bei mir für das LCD belegt sind ? PB 2-7

Dirk
10.03.2007, 14:38
Hallo jar_,

erstmal ein großes SORRY! :oops:
Ich denke überhaupt nicht, dass du "doof" bist. Das wollte ich auf keinen Fall auch nur andeuten.

Aber eins ist klar: In wenigen Tagen kannst du das nicht beherrschen. Gleich ein komplexes Prog mit Timern, LCD-Ausgabe ...

1. Ja, ein bestimmter Pin muss für Hardware-PWM benutzt werden: PB3 beim 2313

2. Die LCD-Routinen von BASCOM schränken, soweit ich weiss, nicht die Verwendung der Timer ein.

3. PWM über CONFIG SERVOS implementiert nutzt Timer0, kann aber auch Timer1 benutzen (umzustellen).

4. Da du RC5 nehmen willst, ist Timer0 schon mal belegt. Bleibt dir noch Timer1 für PWM. Auch wenn du alles so hardwaremässig und softwaremässig hinbekommst, kann es Probleme mit der LCD-Ausgabe geben, wenn die beiden ISRs zu viel Zeit brauchen.

Resumee: Ich gehe mal auf die Suche. Es gibt eine Bascom IR-Abfrage OHNE die Nutzung von RC5. Wenn ich was finde, melde ich mich.

Und noch einmal: Nichts für ungut!

Gruß Dirk

jar_
10.03.2007, 16:31
danke Dirk

war wohl doch die falsche Wahl den PB3 für das Display zu nehmen

sowas dachte ich schon, nur es war am 2313 so schön bequem nebeneinander

kann ich ja noch ändern

ich war vorhin wohl auch etwas genervt, ich hasse RTFM Antworten, vor allem wenn die entweder nix sagen oder nur versteckt, habe 30 Jahre ohne Internet alles selber rausfinden müssen

in Beispielen die ich gefunden habe war von bis zu 4 Timer die Rede , je nach Atmel, doof halt das die genauso durchgezählt werden A B C D wie Ports A B C D , ich weiss immer im Moment nicht worauf sich was bezieht

habe früher nur Basic, dann C und ASM gemacht, an 6502 z80 i86 LH5801

das Bascom verwirrt mich zusätzlich, mal will es wie Basic angesprochen werden != = <> aber dann darf man nicht immer Klammern

und warum count hier hochläuft ist mir ein Rätsel wenn kein FB Signal alles FF liefert

Getrc5(address , Command)
If Address < 255 Then Toggle Portb.0 : Count = Count + 1 : Locate 1 , 10 : Lcd " " : Locate 1 , 10 : Lcd Count

Port b toggelt nicht (LED dran) ! ergo wird count nicht hochgezählt, aber im LCD läuft count hoch

aha hinter dem Then darf nur ! Befehl stehen ?!? ,
mit Doppelpunkte geht nicht ohne End if ?!?

sehr verwirrend

ja es läuft

werde mich dringenst um ein ISP 200/300 komp. Prommerkabel kümmern, mit dem Chip aus Steckbrett und wieder rein ist das wenig bequem

und werde dabei etwas mehr Sorgfalt für die Wahl der Ports walten lassen #-o

jar_
10.03.2007, 16:44
werde wohl mein Projekt neu aufsetzen

mit dem 2313 spiele ich jetzt nur...

aber er ist viel zu schwach für das gewünschte

weiss nur nicht ob der mega8-16 reicht oder ob es der mega32-16 werden muss

geplant
Timer für die Cam mit auslösen
Bilderserie (Wahl Vorlauf Bilderzahl Pausenzeit)
Belichtungserie( Vorlauf, Startbelichtungszeit, Increment, Endzeit, Bilderzahl, optional mit SVA und Darkframe abwarten)
Zufalls Bilder , wählbar von bis Minuten, mit wakeup der Cam

schon realisiert im PC1500 Pocket PC
http://iapf.physik.tu-berlin.de/jbohs/dforum/2005_10_01_DF_Veitshoestheim/TC80_PC1500.jpg

RC5 Empfänger für FB Cam auslösen, evt. Belichtungsprogramme wählen
DCF77 immer die richtige Zeit, mit Softclock für miesen Empfang, PWM für die LCD Display Beleuchtung, am liebsten Tastendrücke, RC5 und DCF77 mit IRQ den mega aus dem Schlaf wecken, ausser er arbeitet Programme ab

später noch GPS Empfänger mit SD Datenlogger um GPS Daten mit (FotoAuslöse optional)Zeit auf SD schreiben

Dirk
10.03.2007, 17:05
Das klingt ja nach einem größeren Projekt.

Ein M32 sollte das alles schaffen, allerdings wäre eine Aufgabenteilung auch nicht schlecht. Z.B. ein 2313 auf der Platine mit einem M32 könnte den Part DCF-Decodierung übernehmen (etwas egoistisch: Prog dafür habe ich hier eingestellt mit I2C-Anbindung an den Hauptprozessor). Das selbe gibt's als IR-RC5-Empfänger (auch mit 2313) mit I2C-Anbindung. Schafft Luft für weitere Aufgaben.

Damit wäre der Teil der Arbeit schon gegessen.
Der Rest wird schon wachsen.

Gruß Dirk

P.S.: Mit dem 6502 habe ich auch schon in ASM gezaubert, u.a. im alten Apple ][ Bios rumgefummelt. Aber das ist ja schon nicht mehr wahr. Im Keller liegt noch ein altes 6504/6532 Hardwareprojekt von Herwig Feichtinger, müßte auch schon 20 Lenze auf dem Buckel haben.

jar_
10.03.2007, 17:19
allerdings wäre eine Aufgabenteilung auch nicht schlecht. Z.B. ein 2313 auf der Platine mit einem M32 könnte den Part DCF-Decodierung übernehmen

ja, ein 2313 für DCF77, einer für RC5 und ein (I²C)DA Wandler für LED dimmen

wie unsportlich

ne das muss in einem Chip, Idee im Kopf ist ja schon

DCF77 und RC5 gehen auf 2 verschiedene Interrupts(ebenen), RC5 vorrangig vor DCF77, sollte locker klappen soweit wie ich im Datenblatt gekommen bin, sollte wegen RC5 ein DCF77 Frame nicht gelesen werden ist das ja kein Beinbruch, Hauptsache die Softuhr läuft

wenn ich bedenke das die normalen Timerfunktionen wie oben beschrieben in Basic auf einem 1MHz Prozzi laufen

Dirk
10.03.2007, 17:47
wie unsportlich
Stimmt. O:)

... aber so ein I2C-Bussystem hat auch seinen Reiz. \:D/

Aber klar: Der M32 packt das alles. Die Frage ist bei der Planung eines so großen Projekts vielleicht noch, wieviele Menütexte zu integrieren sind (für das LCD). Die und evtl. eine Tastenbedienung zehren ganz schön Platz weg.

Kleiner Hinweis noch zum Planen: Für RC5 brauche zumindest ich einen IR alle 178 us (unter Verzicht auf Bascoms GETRC5), für die DCF-Decodierung alle 25 ms. Dann kommt noch PWM dazu.

Gruß Dirk

jar_
10.03.2007, 18:05
... aber so ein I2C-Bussystem hat auch seinen Reiz. \:D/

Kleiner Hinweis noch zum Planen: Für RC5 brauche zumindest ich einen IR alle 178 us (unter Verzicht auf Bascoms GETRC5), für die DCF-Decodierung alle 25 ms. Dann kommt noch PWM dazu.
Gruß Dirk

bin schon fast überzeugt, schau ja schon nach I²C DACs , wenn mir der Speicher für Texte ausgeht kommt ein I²C EEprom ran :D

RC5 sollte eher der Sonderfall sein also nicht stören, benutze bestimmt nicht oft die FB, ABER wenn natürlich fremde Störstrahlen den RC5 Interrupt auslösen , dann hab ich ein Problem, da scheint mir ein auswärtiger Atmel der das filtert besser , mein 433MHz IR Umsetzer fängt sich auch dauernt was ein, aber hier auf dem Steckbrett ist der TSOP1736 ganz entspannt, nimmt ausser 2 von 4 FB nix an, kommt auch kein Signal raus, das kann draussen in der Wildbahn anders ein

jar_
11.03.2007, 13:20
hey PWM funzt, hab mich trotz unzreichender Werkzeuge daheim drangemacht, den PB3 freizuräumen, Den gelöteten vom LCD direkt abgeschnitten auf einen anderen Port auf dem Steckbrett gesteckt, PWM LED an Port PB3 und es läuft, nun muss ich die LED nur noch linearisieren, 8 Bit Timer PWM linear macht in Helligkeit wohl keinen Sinn

so Atmel basteln macht richtig Spass wenn sich sofort erste Erfolge einstellen

nun läuft schon RC5, LCD, PWM und das alles seit ich vor 4 Tagen mit Atmel angefangen habe

Dirk
11.03.2007, 14:03
nun läuft schon RC5, LCD, PWM und das alles seit ich vor 4 Tagen mit Atmel angefangen habe

Da erkennt man die 6502-er! :-({|= :-({|= :-({|=

Dirk

jar_
11.03.2007, 16:05
so , meine Cam löst auf FB addresse 7 und Command 54 (Pinnacle FB rec Taste) aus

http://iapf.physik.tu-berlin.de/jbohs/dforum/atmel_timer/gesAufbau.jpg

http://iapf.physik.tu-berlin.de/jbohs/dforum/atmel_timer/code.jpg

jar
12.03.2007, 14:27
ich bin nun jar ohne _