www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit PWM


Autor: Jörg Nitsche (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich hab ein Problem mit der PWM, und zwar versuche ich schon seit 2
Tagen eine LED auf meinem Testboard mit halber Helligkeit brennen zu
lassen.
Da mir divers Codes aus dem Internet nicht wirklich weiter geholfen
haben, versuch ichs hier mal;-) Das Ziel wird es später sein über einen
BUZ 11 eine Halogenlampe zu dimmen.
So schwer kann das ja nicht sein, da der Timer1 ja eine "PWM
Betriebsart" hat, oder irre ich mich da?
Der Controller ist ein AT90S2313 und programmieren tu ich in Bascom.
Hilft mir da vielleicht Pulsout weiter?
Wär nett, wenn ihr mir weiter helfen könntet.
Mfg

Jörg Nitsche

Autor: Jörg Nitsche (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry,
hab versehentlich mein Opera nicht aktualisiert, und dachte der erste
Beitrag sein nicht erschienen, und jetzt das ganze noch mal
geschrieben;-/ Wär gut wenn jemand dieses Thread wieder löschen könnt.

Jörg Nitsche

Autor: harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

wenn du einen timer mit pwm betriebsart hast würd' ich das auf jeden
fall vorziehen. der vorteil liegt im regelmässig ausgegebenen signal
für pwm. einen pulseout kannst du nur zwischen die anderen befehle
packen, hast du dann subroutinen, die z.b. strombegrenzung machen, hast
di in der zeit keinen pulseout. der nachteil am pwm liegt nur darin,
dass du mit dem ausgabeport ocr1x 'verheiratet' bist. der klare
vorteil liegt darin, dass dein signal immer ansteht.

beispeil:

config timer1 = pwm, pwm = 8, compare a pwm = cleaur up, prescale = 1
' ---------------
x=125                                     ' halbe leistung

do
   pwm1a = x
   if getadc(0) > 500 then gosub weniger  ' strom übersteigt wert x
loop

' ---------------
sub weniger
   if x > 0 then decr x                   ' leistung verringern
return

so gehts recht brauchbar, in sub's lässt sich die leistung
schön an jede anforderung anpassen

gruss, harry

Autor: Jörg Nitsche (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke für die schnelle Antwort, ich hab deinen Code mal angepasst, und
er siegt jetzt so aus

$regfile = "2313def.dat"
$crystal = 3686400


Dim X As Byte

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale =
1
' ---------------
X = 125                                        ' halbe leistung

do
   pwm1a = x
   if getadc(0) > 500 then gosub weniger  ' strom übersteigt wert x
loop

' ---------------
Declare Sub Weniger
   if x > 0 then decr x                   ' leistung verringern
returnso aus:

Bascom bringt jetzt immer noch den Fehler 101: Can`t find HW register.
Was bedeutet das?

Eins noch, welches ist den der PWM Port beim 90S2313, im Datenblatt hab
ich da komischerweiße nichts gefunden.
Mfg

Jörg

Autor: harry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der pwm-output beim 2313 ist PinB.3 (OC1). steht im datenblatt unter
Timer1 in pwm-mode beschrieben. wenn die zuweisung pwm1x nicht klappt
kannst du auch das register direkt angeben, statt pwm1x muss es dann
ocr1 oder ocr1a heissen, weiss ich im moment nicht ganz geneu, bischen
probieren. wenn's klemmt kann ich dir den code raussuchen, ich hab den
2313 mit pwmout schon eingesetzt.
gruss, harry

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.