-         
Ergebnis 1 bis 8 von 8

Thema: 490kHz PWM mit ATMEGA einlesen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    25
    Beiträge
    1.547

    490kHz PWM mit ATMEGA einlesen

    Anzeige

    Hi,

    durch Zufall bin ich gerade auf die SimonK - ESC-Firmware gestoßen ( http://www.rc-heli-fan.org/quadrocop...en-t92521.html & http://vimeo.com/46293413 ). Wie aus dem ersten Link hervorgeht, können ESC mit dieser Firmware ein PWM-Signal mit 490kHz einlesen und das Ganze in 800 Schritten! Jetzt frage ich mich, WIE geht das?
    Angenommen der ATMega wird mit 16MHz betrieben. Dann würde ein PWM-Zyklus ca. 32 Prozessortakte dauern. Bei 16MHz braucht der ATMega für einen Takt: 1 / 16000000 = 6.25e-8 s = 62.5ns.
    Laut meiner Rechnung (und meinem Denken) könnte der AVR maximal und REIN theoretisch 32 Schritte unterscheiden...

    Hat jemand einen Ansatz, wie das möglich ist oder habe ich einfach nur einen Fehler im Hirn?

    Vielen Dank & Gruß
    Chris

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.996
    Hallo!

    Für Zeitmessung (hier Impulsbreite) ist nicht CPU-Takt, sondern die Frequenz der Impulse, die ein Timer (als Zähler) zählen kann entscheident. Ich kenne AVR's nicht genau, aber beispielweise wenn der Timer 100 MHz zählen kann, komme ich auf 490 kHz / 100 Mhz = ca. 200 schritte. Für 800 Schritte müsste der Timer Impulse mit 490 kHz * 800 = 392 MHz zählen können.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    So lange das PWM Signal und der µC Takt nicht Synchron sind, kann man durch mitteln über mehrere Perioden das PWM Verhältnis genauer bestimmen. Um von den 32 Schritten Auflösung die man direkt bekommt auch rund 200 Schritte zu kommen braucht man einen zusätzlichen Faktor von etwas über 6. Bei zufälligem Timing reichen dafür rund 40 Messungen aus, bei 2 Takten reichen in der Regel schon weniger Einzellmessungen.

    Die alternative ist aber auch einfach der Analoge Umweg: per RC aus dem PWM ein analoges Signal machen, und das per AD Wandler messen.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    25
    Beiträge
    1.547
    Hi,

    @Picture,
    diese Variante kommt bei den AVRs IMHO nicht in Frage, wäre aber sicherlich eine gute Idee gewesen

    @Besserwessi,
    du sprichst von Interpolation?? Was genau meinst du mit 2 Takten?
    Die analoge Variante scheidet IMHO aus, da ich glaube, dass nur die Firmware verändert wird, nicht jedoch die Hardware

    Vielen Dank für eure Antworten
    Weitere Möglichkeiten sind aber trotzdem gerne Willkommen, mich interressiert das Thema

    Gruß
    Chris

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.484
    Zitat Zitat von Che Guevara Beitrag anzeigen
    Wie aus dem ersten Link hervorgeht, können ESC mit dieser Firmware ein PWM-Signal mit 490kHz einlesen ....
    Könnte das ein Schreibfehler sein?

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    25
    Beiträge
    1.547
    Hi,

    wenn man bei Google "Odd Copter Simon K" eingibt und eine der ersten Seiten auswählt, gibts dort ein Video welches den Unterschied deutlich zeigt

    Gruß

    Chris

  7. #7
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Es spricht schon einiges Dafür das die 490 kHz einfach ein Fehler sind. Im Text hier
    http://www.diydrones.com/forum/topic...r-2-5-released

    wird 490 Hz erwähnt. Das ist absolut machbar und eigentlich keine Problem, wenn der µC nebenbei nicht noch zu 99% beschäftigt ist.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    25
    Beiträge
    1.547
    Hi,

    ja, dann wirds wohl wirklich nur ein Schreibfehler sein, danke für den Link!
    Allerdings frage ich mich dann, warum diese Software oftmals so gut dargestellt wird? Sogar ein Turnigy-Plush Regler versteht von Haus aus schon 490Hz. Lediglich die 800Schritt Auflösung dürfte eine Verbesserung sein...

    Gruß
    Chris

Ähnliche Themen

  1. ATMEGA 32-16 DIP :: ATMega AVR-RISC-Controller, DIL-40 |ISP-KABEL ?
    Von welt-von-max im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 16.05.2011, 11:41
  2. Analogwert einlesen
    Von MrPower im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 12.11.2007, 06:55
  3. PWM einlesen
    Von LinkinPark im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 21.07.2005, 18:56
  4. C++ Kamerabilder einlesen
    Von surfer im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 8
    Letzter Beitrag: 09.02.2005, 10:38
  5. Warum ist ATMEGA 32L8 DIP teurer als ATMEGA 32 DIP
    Von Frank im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 16.03.2004, 12:31

Berechtigungen

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