- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: RC5 Code (Philips) mit Picaxe 08M generieren

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    10.12.2005
    Beiträge
    52
    Anzeige

    Powerstation Test
    Hi

    Das PWMOUT ist der Hardwar-PWM
    Bei dem stellst Du 'nur' das Verhältnis ein!
    Dieses Verhältnis wird 'auf Ewig' gehalten.

    Beim PWM-Befehl gibst Du die Zeit an, die der PWM laufen soll (Das Proggy bleibt für die Zeit beim PWM-Befehl stehen).

    Wenn Du PWM in dem kleinen Beispiel nutzt, wirst Du für die eingestellte Zeit dein PWM-Signal sehen, dann eine Sekunde Pause mit LOW, dann das andere PWM-Signal, und wieder die Sekunde mit LOW.

    Beim PWOUT läuft das Programm weiter (eben die Pause), und hält das Signal.

    Die Nutzung von PWM und PWMOUT ist verschieden!!

    Schau mal bei HILFE unter Syntax-Schnellhilfe.
    Dort sind die Befehle mit den Bedeutungen der Werte (leider nur auf englisch) erklärt.

    MfG
    Posti

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2004
    Alter
    44
    Beiträge
    105
    Morgen "zardoz".
    Wenn ich die Pausen Bsp.: 1000 manuell einfüge funktioniert es auch mit der Pause (889 = 889µS 0Phase) .

    Zitat:Ich würde es einfach mal versuchen - die 889us entsprechen zufällig (grob) der Dauer eines Basic-Befehls. Also den PWM mit PWMOUT 2, 27, 28 und PWMOUT 2,0,0 sequentiell ein- und ausschalten ergibt eine "1", andere Reihenfolge eine "0".

    Hatte daraus geschlußfolgert, das ich einfach nur
    PWMOUT 2, 27, 28
    PWMOUT 2,0,0
    eingeben müßte um eine "1" zu erhalten. Der erste Befehl schaltet die 36kHz ein, der Befehl dauert ca 889µS , mit dem 2. Befehl wird der PWM auf 0 umgestellt (daher Pause).... .

    Werde es nun heute Abend nochmal ändern und dann testen.
    Gestern habe ich mir leider noch einen PICAXE gehimmelt (Man sollte die Versorgungsspannung abschalten bevor man mit dem Ossi rumhantiert )

    Halte dich auf dem Laufenden.
    Bis dann Mirco

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2004
    Alter
    44
    Beiträge
    105
    Hallo "posti".

    In dem manuell habe ich schon eine ganze Menge rumgelesen (sofern ich es verstanden habe). Wurde daraus aber erst wirklich schlau, als "zardoz" mir die Beispiele gepostet hatte.

    Das PWMOUT ist der Hardwar-PWM
    Bei dem stellst Du 'nur' das Verhältnis ein!
    Dieses Verhältnis wird 'auf Ewig' gehalten.


    Deshalb habe ich ja immer im Wechsel
    PWMOUT 2, 27, 28 (36kHz)
    PWMOUT 2,0,0 (PWM ohne Pulse siehe manuell zum abschalten)
    im Programm eingefügt. Leider blieb der PWMOUT 2,0,0 Befehl aber anscheinend ohne Funktion, da ich keine Low Phasen erkennen kann (ausser natürlich direkt im 36kHz Signal).

    Kann ich den PWMOUT auch irgendwie vordefinieren ohne gleich den Ausgang zu schalten, und dann uber PWM eben meine ein / auszeit definieren?

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    10.12.2005
    Beiträge
    52
    Hi

    Das geht glaube nicht, zumindest hätte ich davon beim PICAXE08M noch nix gelesen.

    PWMOUT pin (2),period (0-255),duty cycles(0-1023)

    Frequenz=1/((period+1)*4*resonator_speed)
    ON-Time=(period + 1) x 4 x resonator speed
    Gesamtlaufzeit EINER Periode= (duty) x resonator speed
    (resonator speed for 4MHz = 1/4000000)

    // Wobei die Frequenz eigendlich über 1/Gesamtlaufzeit zu berechnen wäre :-/
    // Dann müsste Frequenz=1/(duty*resonator_speed) sein.

    Bei period=255 ergibt sich eine ON-Zeit von 1024xresonator_speed, bei einer Gesamt-Länge der Periode von 1023xresonator_speed.

    Wenn ich jetzt logisch Nachdenke, ist der Pin länger auf HIGH(1024), als die Periode(1023) eigendlich dauert ??
    Denke, daß in der duty-Formel (duty+1) stehen müsste :-/
    Dann würden die Zeiten zumindest 100%ig übereinstimmen.

    Bei periode=0 ergibt sich eine ON-Zeit von 1xresonator_speed, bei einer Periodendauer von 1023xresonator_speed.
    Also KEIN 100%iges LOW.

    Das Hauptproblem sehe ich darin, daß der PWMOUT nicht nach einer Periode aufhört zu senden, sondern ggf. die nächste Periode (mit HIGH) begonnen hat, bevor Deine Pause zuende ist, und Du das LOW schicken willst.

    Kann das mal einer mit dem Oszi nachprüfen, ob beim duty das +1 mit rein muß?
    Bzw. ob die Frequenz mit duty, oder mit period zusammenhängt?
    Für mich ergeben sich mit dem, was ich derzeit glaube zu wissen, nur noch Fragezeichen.
    Vll hilft es aber auch, wenn man einfach in Englisch etwas besser war *duck*

    Für Dein Problem wäre der PWM-Befehl besser, aber hier ist die Auflösung (wesendlich) schlechter.

    PWM pin,duty,cycles
    - Pin is a variable/constant (0-7) which specifies the i/o pin to use.
    - Duty is a variable/constant (0-255) which specifies analog level.
    - Cycles is a variable/constant (0-255) which specifies number of cycles.
    Each cycle takes about 5ms.
    Beim PWM-Befehl ist die Periodendauer 5ms, egal, welche Werte eingestellt wurden, da die Werte nur das AN/AUS-Verhältnis und die Anzahl der Perioden angibt.

    Zumindest nach meinem Verständnis.

    MfG
    Posti

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2004
    Alter
    44
    Beiträge
    105
    Hallo.
    Kann das mal einer mit dem Oszi nachprüfen, ob beim duty das +1 mit rein muß?
    Bzw. ob die Frequenz mit duty, oder mit period zusammenhängt?
    Für mich ergeben sich mit dem, was ich derzeit glaube zu wissen, nur noch Fragezeichen.
    Vll hilft es aber auch, wenn man einfach in Englisch etwas besser war *duck
    Also bei PWMOUT verhält es sich folgendermaßen: (Zitat von zardoz und auch so im manuell beschrieben)

    <pin> ist der gewünschte Ausgang (beim 08M geht hier nur 2), <period> ist die Zeit zwischen zwei aufeinanderfolgenden positiven Flanken (sprich Periodendauer) und <duty> die Zeit von der positiven bis zur folgenden negativen Flanke (also die Einschaltzeit oder on-time). Daß der Wert für <period> immer um 1 kleiner eingegeben werden muß steht halt in der Beschreibung.

    Die Rechnung sieht dann also so aus:

    <period> = 27 -> (27 + 1) x 1µs = 28µs -> 35,714kHz
    <duty> = 28 -> 28 x 0,25µs = 7µs

    Du bekommst also (bei 4MHz Taktfrequenz) einen Puls von 7µs und eine Pause von 21µs.


    Das kommt auch bei mir zu 100% hin (mit Oszilloscop gemessen!). Frequenz stimmt mit der Berechnung überein!


    Für Dein Problem wäre der PWM-Befehl besser, aber hier ist die Auflösung (wesendlich) schlechter.
    Mit dem PWM Befehl kann ich leider nichtzs anfangen, da wie du schon erkannt hast ist die Auflösung ,mit 5mµS zu schlecht. Brauche ja on7µS und off 21µS (abwechselnd für knapp 889µS). Das kann ich damit nicht beeinflussen, da der cycle immer gleich ist

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests