- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 10

Thema: PWM Verständnisfrage

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.11.2004
    Beiträge
    156

    PWM Verständnisfrage

    Anzeige

    Praxistest und DIY Projekte
    Hallo,
    ich hätte einmal eine Frage zum PWM-Signal beim ATMega8515:
    Wenn ich das richtig verstanden habe, dann sind doch die PWM-Kanäle nichts weiter als Signale, die durch die Counter erzeugt werden.
    Woher hat der ATMega8515 aber drei PWM-Kanäle, wenn er nur zwei Counter hat?
    Und noch etwas: Wenn ich die PWM-Kanäle zur Servoansteuerung verwende, dann kann ich die Counter doch nicht mehr für andere Dinge verwenden.
    Oder versteh ich da irgendwas einfach nur falsch?

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    55
    Beiträge
    1.258
    Hallo Amri,
    Woher hat der ATMega8515 aber drei PWM-Kanäle, wenn er nur zwei Counter hat?
    man kann mehrere PWM-Kanäle mit den Timern verbinden, z.B. OC1A+OC1B.
    Oder versteh ich da irgendwas einfach nur falsch?
    Die Servoimpulse werden nicht über die Hardware-PWM erzeugt, wäre ja Verschwendung.

    Gruß, Michael

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.11.2004
    Beiträge
    156
    Irgendwie hab ich das glaub ich immer noch nicht so ganz kapiert.
    Deshalb jetzt mal ganz konkret: An welche drei Pins muss ich meine Servos hängen, um die PWM-Kanäle zu nutzen? Und wie stelle ich dann für jeden einzelnen Kanal die Impulsdauer ein?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    https://www.roboternetz.de/phpBB2/ze...trag.php?t=541
    Das PDF aus https://www.roboternetz.de/phpBB2/ze...&highlight=pwm
    Und: https://www.roboternetz.de/phpBB2/search.php

    Im PDF steht allgemein die Funktion der PWM. Es wird auch ein Beispiel gezeigt.
    Im Artikel sind die Bezeichnungen der PWM Ausgänge aufgeführt (OCx). Das Datenbaltt für den 8515 habe ich jetzt nicht vorliegen. Aber auf der zweiten Seite sind die Ausgänge auch bezeichnet.
    Mit der Suche wirst du auch noch weitere Hilfe zum Thema PWM bekommen.

    Ein Tipp (scheint geheim zu sein, auf meine Frage hat ja keiner geantwortet )
    OC2 kannst du in Bascom mit Ocr2 = x ansprechen. Wobei X die Variable ist den den Wert vorgibt.
    Achte auch drauf, um wieviel Bit es sich bei den PWM-Kanälen handet. Bei 8 Bit wäre x max. 255 und bei 10 Bit max. 1023.
    Die Impulsdauer wird dann mit der Variable vorgegeben. Aber im PDF ist das schön beschrieben.

    Die Servoimpulse kannst du auch Softwaremäßig ansteuern. Einfach eine bestimmte Zeit an und eine bestimmte Zeit ausschalten.

    Wenn du die PMW (und die Timer und was da sonst dran hängt) für nichts anderes Benötigst, ist es keine Verschwendung, sondern vereinfacht dir die Arbeit!

    Somit sollten alle Fragen beantwortet sein. Am besten testest du die PWM erstmal mit einer LED, um den Zusammenhang der Werte zu sehen.

    Die Hardware-PWM hat den Vorteil, das du nicht immer in eine Routine springen musst und dort den Pin ein und ausschalten musst. In der Zeit kannst du nämlich nix anderes machen. Und das restliche Programm muss ja auch noch ausgeführt werden. Hardware-PWM brauch nut den neuenWert, wenn er sich geändert hat. Und sonst wird der alte beibehalten.
    Software-PWM muss dauerhaft aufgerufen werden. Wenn zwischen den Aufrufen das andere Programm anläuft, werd der Zustand am Pin nicht geändert und bleibt auf H oder L und die Pulsweite ist absolut nichtmehr die, die man haben wollte.

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    55
    Beiträge
    1.258
    Hallo Marco78
    Wenn du die PMW (und die Timer und was da sonst dran hängt) für nichts anderes Benötigst, ist es keine Verschwendung, sondern vereinfacht dir die Arbeit!
    ja, alles klar. Hast du schon einmal ein Servo auf diese Weise angesteuert? Vielleicht sogar ein Beispiel??
    In der Zeit kannst du nämlich nix anderes machen. Und das restliche Programm muss ja auch noch ausgeführt werden.
    ein Timerinterrupt stört aber da nicht...

    Gruß, Michael

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Ich versteh die Frage jetzt nicht.
    Geht es dir darum, das du meintest, das Software-PWM angebrachter wäre ich aber meinte, das Hardware-PWM keine Verschwendung wäre?

    Zu 1.: Nein, ich habe überhaupt keine Servos. Bist du der Meinung, es geht mit Hardware-PWM nicht, oder ist die Frage erst gemeint, weil du auch Hardware-PWM verwenden willst und nicht weisst, wie es geht?

    Und was 2. ausdrücken soll kann ichabsolut nicht nachvollziehen.

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    55
    Beiträge
    1.258
    Hallo Marco78,
    du empfiehlst die Hardware-PWM zur Ansteuerung von einem Servo.
    Das ist in meinen Augen Humbug.
    Die PWM ist zur Ansteuerung von Gleichstrommotoren oder zur Frequenzerzeugung oder was weiß ich gemacht, aber sicher nicht für die Servoansteuerung. Daß es unter Umständen funktioniert, ist kein Grund, einem Anfänger das zu empfehlen.
    Du schickst ihn damit auf den falschen Weg.
    Und was 2. ausdrücken soll kann ichabsolut nicht nachvollziehen.
    Bring einfach ein Servo zum Laufen, mit mindestens 100 Zwischenschritten zw. 1 und 2ms, dann weißt du es.
    Gruß, Michael

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Vielleicht solltest du erstmal einem Anfänger die Unterschiede erklären und nicht nur pauschal sagen "wäre ja Verschwendung"!
    Da hätte man gleich sagen können, es geht nicht
    Da jeder mal Anfänger ist, muss man das erstmal lernen. Sag mal einem Kind, wenn es sich was in den Mund stecken will, was gefährlich ware, "Nein" Was macht es? Sich das in den Mund stecken. Spätestens wenn du nicht hinschaust.
    Sagst du "Nein, weil ..." akzeptiert es das schon ehr. Weil es dann weiss, warum nicht.
    Vorrausgesetzt, es versteht, was man ihm sagt.
    Und jeder, der sich hier anmelden kann, nachdem er eine Verbindung zum Internet hergestellt hat und hier ein Text schreiben kann und ihn abschicken kann, sollte in der Lage sein, zu verstehen, was man ihm sagen wenn man es sagt!

    Verschwendung von Hardwarefunktionen (wie PWM) bedeutet noch lange nicht, das es technisch damit nicht zu machen ist.
    Warum sagt man das nicht einfach? Und erklärt in 2 Sätzen, warum das nicht geht?

    Zitat Zitat von Michael
    Bring einfach ein Servo zum Laufen, mit mindestens
    100 Zwischenschritten zw. 1 und 2ms, dann weißt du es.
    Gruß, Michael
    Sag mir, wo da dein Problem ist und ich helfe dir

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    55
    Beiträge
    1.258
    Da hätte man gleich sagen können, es geht nicht
    Das habe ich nicht gesagt, weil es ja geht. Allerdings mehr schlecht als recht.
    Der OP wollte ursprünglich ein Servo mit HW-PWM ansteuern, siehe dazu meine 2. Antwort im ersten Post.
    Daraufhin hast du dich an der Verschwendung hochgezogen.
    Sag mir, wo da dein Problem ist und ich helfe dir
    Du solltest nicht pauschal eine HW-PWM zum Ansteuern von Servos empfehlen. Programmier es doch einfach mal, bevor du es empfiehlst.
    Gruß, Michael

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Sorry, es sollte absolut nicht so aussehen, als ob ich mich an der Verschwendung hochziehe!
    Ich wollte nur bemerken, das Soft-PWM mehr Ansprüche an das Programmieren stellt.
    Verschwendung ist es nur dann (meine Meinung) wenn man die Timer für was besseres gebrauchen kann.

Berechtigungen

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

12V Akku bauen