- LiFePO4 Speicher Test         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 38

Thema: kleines Problem bei IR abfrage

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    Anzeige

    Powerstation Test
    Achso danke.
    Es ist ein reines Rechecksignal.
    Also nur an/aus, oder?

    Wie kann ich jetzt weiter vorgehen?
    Oder soll ich direkt nen AVR einsetzen?

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Zitat Zitat von Lenox
    Wie kann ich jetzt weiter vorgehen?
    Oder soll ich direkt nen AVR einsetzen?
    Hab ich doch oben mit dazugeschrieben wie ich meine weiterforschen zu können !

    Du kannst auch evtl. eine alte Fernbedienung ausschlachten, ist nur das IC, die Diode und ein Schalter nötig.

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    Ja ich hab jetzt die Schaltung mit dem Atiny13 aufgebaut, und die IR Diode über ein Transistor angeschlossen, funktioniert auch wunderbar.
    Jetzt geht es um den Code.

    Erstmal die Fakten:
    ->Der Emfänger ist ein TSOP1136 an einem 16Mhz Atmega16.
    ->Der Sender ist ein IR Diode an einem 9,4Mhz Atiny13.
    ->Der Emfänger funktioniert mit einer Universalfernsteuerung.

    Also fehlt nurnoch der Sender!
    Gesendet wird über den Befehlt RC5Send, und über einen Timer.
    Wie IR aufgebaut ist weiß ich, aber wie ich das jetzt mit dem Timer realisieren kann nicht.

    Ich hab schonmal mit den Code angefangen:
    Code:
    $regfile = "ATtiny13.dat"
    $hwstack = 32
    $swstack = 8
    $framesize = 16
    $crystal = 960000
    
    Config Rc5 = Pinb.4
    
    Dim Togbit As Byte , Command As Byte , Address As Byte
    
    
    
    
    Command = 12                                                ' power on off
    
    Togbit = 0                                                  ' make it 0 or 32 to set the toggle bit
    
    Address = 0
    
    Do
       Rc5send Togbit , Address , Command
       Waitms 500
    Loop
    
    End
    Ich hab natürlich gegoogelt, aber kaum was gefunden, wenn nur sehr komplexe Sender.

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    RC5 ist im Wiki erklärt, auch die Zeiten: https://www.roboternetz.de/wissen/index.php/RC5-Code

    Funktioniert das obere Beispiel von Dir so, bzw. lässt es sich überhaupt compilieren ?
    In der Hilfe steht, das für RC5send Timer1 (OC1A) verwendet wird, diesen hat der Tiny13 aber garnicht !

    Oder was wolltest Du jetzt genau wissen

    Du musst/willst somit die Senderoutine selberbauen !?
    Der Timer wird verwendet um die 36kHz zu erzeugen, die Software muss dafür sorgen, das die Bitlänge stimmt.
    Mit dem 8Bit-Timer0 sollte das aber auch noch zu schaffen sein.

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    Ich weiß wie RC5 funktioniert.
    Ich weiß trotzdem nicht wie ich das mit nem "8Bit-Timer0" schaffen kann.

    PS: Nein ich konnte es deshalb auch nicht complilieren.
    Hab grad noch das hier gefunden, sicher, dass das mit dem Timer0 doch geht?
    http://www.e-lab.de/phpBB2/viewtopic...c85f23b8d9d94c

  6. #16
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    53
    Beiträge
    2.236
    QLenox,
    Hier nochmal der RC5 Signalaufbau,
    wo ist jetzt das Problem, einen Timer so einzustellen, daß er Dir eine Bitfolge nach diesem Schema Sendet ?

    Das ist mit dem kleinsten Tiny zu machen und zwar mit einem 8 Bit Timer, wenn Dir die Seite von Sprut anschaust,
    wirst Du feststellen, daß alles auf 36 kHz aufbaut...
    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    @izaseba
    Der Link steht schon oben, dass verstehe ich ja auch!!
    Aber nicht wie ich in Bascom die bitreihenfolge in 36Khz gesendet bekomme!
    Ich find einfach kein Beispielcode!

  8. #18
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    53
    Beiträge
    2.236
    Tja, dann würde ich dieses Bascom denken abschalten und etwas nachdenken...
    Du brauchst 36 kHz Grundtakt, es sind etwa 27 µS ein Bit bei RC5 besteht aus zwei Signalen je 889µS das macht 32 * 2 36 kHz Takte,
    ein Code hat 14 Bits...
    jetzt mußt Du nur noch mit einem Timerinterrupt etwas rechnen und schon hast Du Deinen RC5 Signal...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    35
    Beiträge
    718
    Oky, ich versuch mal meinen Denkansatz zu erläutern.
    Sagen wir mal ich möchte folgendes Senden:

    111 00000 000001

    Wäre ja theoretisch

    889µs -> low
    889µs->high
    889µs -> low
    889µs->high
    889µs -> low
    889µs->high

    889µs->high
    889µs -> low

    usw.. halt wie im Bild beschrieben.

    Allerdings jetzt das natürlich nicht mit Waitms oder so, sondern über einen Timer.

    Also müssen wir gucken das der Timer immer bei ca. 889µs überläuft, und in ein Subroutine läuft, die die "Bithälfte" dann sendet.

    Richtig soweit?

    Jetzt muss nurnoch der Timer richtig konfiguriert werden.
    Config Timer0 = Timer , Prescale = 256
    -> ergibt bei 9,6 Mhz 37,5 Khz

    Weiter komme ich irgentwie nicht.
    Irgentwie verdreh ich da was, sorry.

  10. #20
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Mit dem Bascom Befehl geht es nicht mehr, denn dieser nimmt nur den Timer1, bzw. einen 16Bit Timer, den ein Tiny13 nicht hat.

    Also den Timer0 anwerfen und selber bauen,
    um aus 9,6MHz 36kHz zu machen, muss der Takt durch 9.600.000Hz/36.000Hz = 266 geteilt werden,
    266 ist etwas zu gross für 8 Bit, also muss ein Vorteiler dazwischen, der kleinste ist 8.
    9.600.000/8 = 1.200.000Hz
    daraus 36kHz sind 1.200.000Hz/36.000Hz = 33

    Würde sagen den Timer mit Prescaler8 bis 33 zählen lassen, dann die IR-LED umschalten, entweder per CTC automatisch,
    oder eine ISR bauen, dann wird das evtl. langsamer,
    denn es muss auch noch das Bit herausgesucht und auf 0 oder 1 geprüft werden, weiss nicht ob man mit Bascom das so schnell hinbekommt, das die Bit-Zeiten noch passen

    PS:
    hoffe das ich noch richtig gerechnet habe

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress