- SF800 Solar Speicher Tutorial    Werbung      
Ergebnis 1 bis 10 von 16

Thema: RC Summensignal Atmega8

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.04.2010
    Beiträge
    356
    So, ich hab jetzt bischen weiter gesucht, und das:
    http://www.mitchsoft.de/Modelbau/PPM-Encoder/index.html
    sowie das gefunden:
    http://www.ulrichradig.de/home/index.php/avr/avr_-_rc

    Das erste würde sogar eine Steuerung über RS232 zulassen, Problem: die arbeiten alle mit 8Mhz, was die sache enorm vereinfacht.
    Nur die hab ich leider nicht.

    MFG Thalhammer

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2008
    Alter
    41
    Beiträge
    557
    Was mir grade einfällt: Kann der Atmega kein PWM-Signal erzeugen? Also ich meine mal ein Programm geflasht zu haben, bei dem ich nur die Periodendauer und die HIGH-Zeit definieren musste. Damit habe ich ein einzelnes Servo angesteuert. Das kann man bestimmt anpassen um ein Summensignal zu erzeugen. Ich muss grade mal einkaufen und gucke dann ob ich was entsprechendes finde.
    Alles ist möglich. Unmögliches dauert nur etwas länger!

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2008
    Alter
    41
    Beiträge
    557
    http://www.mikrocontroller.net/topic/177721
    Ist zwar C-Code aber damit hast du zumindest einen Ansatz.

    Timer1 kann intern ein PWM-Signal erzeugen. In dem Beitrag geht es darum ein Servo anzusteuern. Ich weiß nicht wie du das Summensignal weiterverwenden möchtest. Servos sind, was die Periodendauer angeht, sehr kulant. Wenn du das PWM jetzt mit einer Periodendauer von 5ms (20ms/4Kanäle) initialisierst und nach jedem HIGH-Pegel das OCR1A-Register mit dem neuen Wert für den jeweiligen Kanal beschreibst hast du dein Summensignal.

    OCR1A
    Alles ist möglich. Unmögliches dauert nur etwas länger!

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Also ich habe im Datenblatt mal gelesen, dass der erste Impuls möglicherweise verfälscht sein kann, wenn man das OCR-Register im "laufenden Betrieb" ändert. Für die meisten PWM-Anwendungen mag der erste Impuls nicht besonders wichtig sein - aber hier wäre das natürlich fatal.

    Was hältst Du von folgendem Ansatz:

    Code:
    Dim Impuls(4) as Word    'Ist ein Array aus 4 Word-Variablen
    Dim Index as Byte           'Zum Durchzählen von Impuls(1) bis Impuls(4)
    Dim Flag as Bit            'Zeigt Timer1-Interrupt an
    Config PORTX.Y = Output          'Ausgangs-Pin
    
    On Timer1 Timer1_ISR
    Enable Timer1
    Enable Interrupts
    
    
    Do
    ...
    ...
    If Flag = 1 then
      Flag = 0
     
      If PORTX.Y = 1 then
       PORTX.Y = 0
       Timer1 = Timer1 + 64429     'Nächster Überlauf in 0,3 ms
      Else
       PORTX.Y = 1
       If Index = 4 then Index = 1 Else Index = Index + 1
       Timer1 = Timer1 + Impuls(Index)
      End if
    End if
    ...
    ...
    Loop
    
    
    On Timer1_ISR:
    Flag=1
    Return
    Im Rest der Hauptschleife kannst Du Dich dann darum kümmern, dass die Werte Impuls(1) bis Impuls(4) per RS232 aktualisiert werden. Sie bestimmen, wie lange Timer1 bis zu seinem nächsten Überlauf braucht, und somit die Dauer der High-Impulse. Logischerweise berechnen sie sich so: Impuls = 65535 - (3686400 * Impulslänge in Sekunden).

    Diese Idee ist allerdings nicht getestet, noch nicht mal compiliert, weil ich hier gerade kein Bascom habe. Aber vielleicht reicht ja die Idee schon...

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.04.2010
    Beiträge
    356
    Ich hab jetzt deine Idee noch nicht genau durchgelesen, aber ich denke ich werde mir ein Quarz mit 8Mhz besorgen und die Lösung die ich oben verlinkt habe nutzen.
    Edit: Könnte mir eventuell einer das Programm kompilen ?
    Weil ich nur die Demo von Bascom habe ?

    MFG Thalhammer

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Was denn nun?

    Die Servo-bas von oben belegt grade mal 12% vom Flash,
    und die Soft von Mitchsoft liegt als Hex vor ????


    MfG
    Rone

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.04.2010
    Beiträge
    356
    Ach ja stimmt hatte übersehen das die schon als Hex vorliegt.
    Bild   Mein Fehler *duck*
    So Problem erledigt, Es funktionierd wie es soll.
    Muss mir nur bei gelegeheit noch ein externes Quarz mit 8Mhz besorgen, wobei wenn ich mir das so ansehe ist das signal doch recht stabil dafür das ich für sowas den internen Takt nehme Bild  
    So jetzt steht dem Flug nichts mehr im weg Bild  
    Ein XBEE Pro noch dazu und fertig.

    MFG Thalhammer
    Geändert von Thalhammer (12.08.2011 um 08:01 Uhr)

Ähnliche Themen

  1. 12 Kanal Summensignal
    Von MiniMax im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 19.12.2010, 13:08
  2. Summensignal Empfänger
    Von Bongo1st im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 10.11.2010, 19:43
  3. RC Summensignal erzeugen
    Von YaNnIk im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 25.02.2010, 16:44
  4. Welche Timerwerte bei Summensignal?
    Von hunni im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 01.09.2009, 21:34
  5. Summensignal bei RC-Empfänger
    Von robotfreak im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 05.08.2007, 21:53

Berechtigungen

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

    Werbung      Solar Speicher und Akkus Tests