Forum: Mikrocontroller und Digitale Elektronik zwei pwm kanäle regeln bascom


von sebastian (Gast)


Lesenswert?

Hallo!

ich möchte mit einem at8 zwei leds dimmen. dazu soll ein schalter 
betätigt werden, um die entsprechende led auszuwählen und dann über ein 
poti der wert vorgegeben werden. (also mit einem poti sollen beide 
geregelt werden)

dazu habe ich folgendes programm geschrieben
1
$regfile "m8def.dat"
2
$crystal = 1000000
3
4
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'Config ADC
5
Start Adc
6
7
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
8
9
Config Portb.1 = Output
10
Config Portb.2 = Output
11
Config Pinb.7 = Input
12
S1 Alias Pinb.7
13
Config Pinb.3 = Input
14
S2 Alias Pinb.3
15
16
Dim Pwm1 As Word
17
Dim Pwm2 As Word
18
19
Compare1a = 128
20
Compare1b = 128
21
22
Do
23
   If S1 = 1 Then
24
      Pwm1 = Getadc(4)
25
      Pwm1 = Pwm1 / 4
26
      Pwm1a = Pwm1
27
   End If
28
29
   If S2 = 1 Then
30
      Pwm2 = Getadc(4)
31
      Pwm2 = Pwm2 / 4
32
      Pwm1b = Pwm2
33
   End If
34
Loop
35
36
End


jetzt habe ich das problem, dass bascom bei der zuweisung von pwm2 bzw 
pwm1b rummeckert und das programm nicht kompiliert. das problem hatte 
ich bei anderen programmen auch schon, jedoch nie gelöst.

wie kann ich beide pwms richtig nutzen?

wenn ich den teil von pwm2 weglasse funzt es, jedoch dauert es einige 
sekunden, bis ich bei S1=0 die pwm nicht mehr regeln kann.

vielen dank schonmal für eure hilfe gruß sebastian

von Karl H. (kbuchegg)


Lesenswert?

sebastian schrieb:

> jetzt habe ich das problem, dass bascom bei der zuweisung von pwm2 bzw
> pwm1b rummeckert und das programm nicht kompiliert.

BASCOM meckert sicher nicht einfach rum, sondern gibt eine halbwegs 
vernünftige Fehlermeldung. Die muss zwar nicht unbedingt im Klartext 
eine Lösung des Problems beinhalten sondern kann manchmal auch auf eine 
falsche Fährte führen. Aber lesen sollte man sie nichts desto trotz, 
denn dazu ist sie da. Das schlimmste was passieren kann ist, dass man 
mit Lesen der Fehlermeldung einen Hinweis bekommt, was eigentlich das 
Problem ist.

Du gehst ja auch nicht zu Arzt und meckerst rum, sondern erzählst ihm wo 
es dir weh tut, seit wann das so ist, was du getan hast etc.
Sprich du gibst ihm Informationen. "Es tut weh" ist keine Information 
mit der irgendein Arzt irgendetwas anfangen kann.

von sebastian (Gast)


Lesenswert?

irgendwas mit assignment error stand da. habe das problem jetzt aber 
schon gelöst. anscheinend mag bascom es nicht, wenn die variablennamen 
für die pwmzuweisung pwm1 und pwm2 heißen. hab mal einen nen komplett 
anderen namen gegeben und dann gings.


eine frage habe ich allerdings noch: ich bräuchte einen mc mit 3, besser 
4 pwm kanälen und einem i/o port. also was relativ kleines ohne viel 
schnick schnack. was käme da in frage?

von Gast (Gast)


Lesenswert?

www.atmel.com kennste?
Da gibts so eine schöne Liste, die man nach allem möglichen durchsuchen 
kann was ein Mikrocontroller haben soll.

von sebastian (Gast)


Lesenswert?

ne kennich nich

von Joachim R. (bastelbaer)


Lesenswert?

Falls du mehrere LEDs dimmen willst geht das auch mit dem Mega 8. Du 
kannst per Software jeden Ausgang zum PWM-Ausgang machen. Guckst du z.B. 
hier:

http://www.mcselec.com/index.php?option=com_content&task=view&id=244&Itemid=57

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.