-         
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Mega 16 - unterschiedliche Frequenzen ausgeben

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.05.2004
    Ort
    Solingen
    Beiträge
    101

    Mega 16 - unterschiedliche Frequenzen ausgeben

    Hallo

    Bin mit den AVRs noch nicht ganz so vertraut. hatte bis jetzt immer mit der ccontrol gearbeitet und möchte nun auf die avrs umsteigen. Nun Suche ich eine Möglichkeit gleichzeitug unterschideliche Frequenzen auszugeben. Also so was wie an pin1 100hz, pin2 150hz, pin3 80hz.

    Gibt es da eine Möglichkeit? Benutze einen Mega 16 und benötige 2 bwz. 4 unterschiedliche Frequenzen.

    mfg
    Omnikron

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    28
    Beiträge
    1.614
    Hi

    Was benutzt du als Compiler?

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    18.05.2004
    Ort
    Aachen
    Beiträge
    33
    Eine gute Frage, würde mich auch mal interessieren.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    28
    Beiträge
    1.614
    Ich hasse Leute die Beiträge schinden wollen................ [-(
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  5. #5
    Gast
    Ich hase 16 jährige AVR-RISC-SUPPORTER, die dumme Kommentare von sich geben ...

    @Omnikron
    Für dein Problem fallen mir zwei Möglichkeiten ein:
    - du nutzt die PWM des ATMegas
    - du emulierst eine PWM über das Toggeln eines Pins (das Timing erfolgt durch Timer-Interrupts)

    Gruss, Alex

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.03.2004
    Beiträge
    178
    Du nutzt einen Timer, der nach einer besimmten Zeit ein Interrupt auslöst.
    (In Bascom siehe Hilfe für CONFIG TIMER)
    Die Zeit sollte der kleinste gemeinsame Nenner Deiner Takte sein.
    In der Interruptbehandlung zählst Du für jeden Ausgang einen Zähler hoch, bis er den Multiplikator des Nenners erreich, schaltest den Ausgang und beginnst die entsprechende Zählung von vorne.
    In Deinem Beispiel:
    Gundfrequenz 6000HZ
    Zähler für 80HZ = 75
    Zähler für 100HZ = 60
    Zähler für 150HZ = 40

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.05.2004
    Ort
    Solingen
    Beiträge
    101
    Habe mir auch schon überlegt die pwm-Ausgänge zu nutzten. Aber ist das bei denen nicht so, dass die eigentliche Frequenz gleich bleibt und ich ledilich die pulswiete innerhalb eines vorgegebenen Bereiches ändern kann?
    Brauche die unterschiedlichen Frequenzen um Schrittmotoren gleichzeitig mit unterschiedlichen Geschwindigkeiten zu fahren. Weiß nicht, wie die sich verhalten wenn ich dort eine PWM-Signal draufgebe.

    Könnt ihr mir das mit den Timer Interrupts genauer erklären, dass hört sich ganz brauchbar an. Ist der Zählgeschwindigkeit des Timers nicht abängig vom Quarz?

    Ich weiß noch nicht welchen Compiler ich benutzten werde, denke aber das ich es zu Beginn einmal mit Bascom probiere. Assembler ist mir für den Anfang zu aufwendig.

  8. #8
    Gast
    Bei den Vorkenntnissen empfehle ich ein Studium des Datenblattes und für den Anfang lediglich das Dimmen von LEDs. Wie du nen Stepper mit PWM ansteuern willst, ist mir ein Rätsel (oder willst du ihn im Mikroschritt-Betrieb betreiben?) ...

    Gruss, Alex

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.05.2004
    Ort
    Solingen
    Beiträge
    101
    Ich habe eine L297 Schaltung für Stepper. Die benötigen ja ein Taktsignal pro Schritt. Wenn ich die Frequenz des Taktsignals ändern kann bestimme ich gleichzeitig damit die Winkelfrequenz des Steppers. Da ich zwei Stepper mit unterschiedlichen Winkelfrequenzen benötige muss der Controller unterschiedliche Frequenzen ausgeben können. Und wie ich das am effektivsten umsetzte wollte ich mit diesem Thread in Erfahrung bringen.

    mfg Omnikron

  10. #10
    Gast
    Alles klar. Deinen obigen Angaben zu folge musst du also 2 verschiedene Frequenzen ausgeben (2 Stepper?).
    Halten würde ich mich an deiner Stelle an die empfohlene Methodik von "Freiheitspirat", die deine gesuchten Frequenzen aus Sicht des MC ziemlich niedrig sind. Falls du Fragen zur Timerinitialisierung oder den ISR's hast, in C (avrgcc) könnte ich dir helfen.

    Gruss, Alex

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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