PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM signal in % ???



CANDA
18.02.2010, 15:35
Hallo ich wollte mal fragen ob es Möglich ist mein PWM siignal für die beiden motoren in % auszugeben also so ungefähr :

1% = 255 ( Null)
100 % = 0 ( Volle leistung )
Bis jetzt habe ich es so probiert:
Dim 1% As Integer
Dim 2% As Integer
Dim 3% As Integer
....
1% = 255
2% = 252,45
3% = 249,90

Aber so word der code viel zu land wie kann ich das kurz fassen ???

tischheber
18.02.2010, 15:42
bei 3%: 0,97 mal 255
bei 70%: 0,3 mal 255

damfino
18.02.2010, 16:25
Die Formel für Integer Variablen:
100-(PWM*100/255)

Damit ist PWM von 255 auch 0% und nicht 1%

LG!

CANDA
18.02.2010, 16:26
Ja ich möchte aber eine kleine zusammfassung haben wie z.b.
1%-100% = 255-0
aber ich weiß nicht wie ich das bascom beibringen soll =)

damfino
18.02.2010, 16:35
Probier die Formel mit dem Taschenrechner aus, und du wirst sehen was rauskommt.

Bascom kenne ich nicht, glaube das kann so eine "große" Formel nicht verdauen.
Aber so in etwa müsste es gehen:

Prozent=PWM*100
Prozent=Prozent/255
Prozent=100-Prozent

Die Variable "Prozent" muss dabei eine 16 Bit Variable sein.

Ergebnis: 255 = 0%
128=50%
0=100%

Wenn 255=100% sein soll, einfach die "100-" weglassen.

CANDA
18.02.2010, 17:06
mhh. funtioniert nich aber danke :D

dremler
18.02.2010, 17:42
wieso nicht....was kommt denn als fehler?

StevieL
18.02.2010, 21:42
Hallo,

ich übergebe angenäherte Werte aus einer Tabelle:


Prozent = Lookup(p1a , Prozente) 'Prozente in PWM-Werte umsetzen
Pwm1a = Prozent


p1a ist ein Bytewert, Prozent ist der zugehörige PWM-Wert



Prozente:

Data 255 , 252 , 249 , 247 , 244 , 242 , 239 , 237 , 234 , 232 , 229 , 226 , 224 , 221 , 219 , 216 , 214 , 211 , 209 , 206 , 204 , 201 , 198 , 196
Data 193 , 191 , 188 , 186 , 183 , 181 , 178 , 175 , 173 , 170 , 168 , 165 , 163 , 160 , 158 , 155 , 153 , 150 , 147 , 145 , 142 , 140 , 137 , 135
Data 132 , 130 , 127 , 124 , 122 , 119 , 117 , 114 , 112 , 109 , 107 , 104 , 102 , 99 , 96 , 94 , 91 , 89 , 86 , 84 , 81 , 79 , 76 , 73 , 71 , 68
Data 66 , 63 , 61 , 58 , 56 , 53 , 51 , 48 , 45 , 43 , 40 , 38 , 35 , 33 , 30 , 28 , 25 , 22 , 20 , 17 , 15 , 12 , 10 , 7 , 5 , 2 , 0

Bammel
19.02.2010, 10:00
Dreisatz wäre vieleicht mal ein Stichwort!
So mache ich das jedenfalls! Bzw hatrte ich so gemacht nun rechne ich meine geschwindigkeit in den PWM wert um.