- Labornetzteil AliExpress         
Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 59

Thema: Digital SinDrehstrom mit 3 Hardware PWM-Ausgängen in Bascom?

  1. #31
    Anzeige

    Praxistest und DIY Projekte
    Hallo,+
    ich glaube das Problem ist das Wait 1 in der do loop Schleife.

    mfg Stefan

  2. #32
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    wieso?
    also das Problem war schon vor dem Wait 1.

    und um den Fehler zu suchen, habe ich den Toggle befehl und das wait 1 genommen - hat mich aber noch nicht weiter gebracht...
    ...

  3. #33
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    Hallo
    hier ist nun meine 1. Software PWM Version....

    hat jemand eine Idee die PWM µC freundlicher zu machen?
    Die PWM läuft etwas seeehr langsam...

    Code:
    $regfile = "m88def.dat"
    $crystal = 8000000
    
    Config Portb = Output
    Config Portd = Output
    
    Dim Count As Byte
    Dim Led_flag As Byte
    Dim Zeile As Word , Position As Byte 
    Dim Z As Word
    Dim T1 As Byte , T2 As Byte , T3 As Byte , T4 As Byte , T5 As Byte , T6 As Byte       'Sollwert
    Dim Tt1 As Byte , Tt2 As Byte , Tt3 As Byte , Tt4 As Byte , Tt5 As Byte , Tt6 As Byte       ' Hilfsregister
    
    Dim Test As Word
    
    '-------------------------------------------------------------------------------
    'Konfiguration LCD
    
    Config Lcd = 16 * 2                                         'LCD größe
    Config Lcdpin = Pin , Db4 = Portb.7 , Db5 = Portb.6 , Db6 = Portd.7 , Db7 = Portb.0 , Rs = Portd.2 , E = Portd.4
    Cursor Off Noblink
    
    '-------------------------------------------------------------------------------
    'Timer0 = SOFTWARE - PWM  (EX PWM 34Hz???)
    Config Timer0 = Timer , Prescale = 1                        'Teiler
    timer0 = 254
    Enable Timer0
    On Timer0 Pwm_prog                                          'timer einschalten
    
    
    'Timer1 = Sekundentakt
    Config Timer1 = Timer , Prescale = 1
    Enable Timer1                                               'timer einschalten
    Timer1 = 65000                                              'ca. 1 mal pro sek
    On Timer1 Timer1_isr                                        'Unteprogramm aufrufen
    
    Enable Interrupts                                           'interrupts  einschalten
    
    
    '-------------------------------------------------------------------------------
    
    Do
    
    
       If Led_flag = 1 Then
          Reset Led_flag
          Incr Zeile
    
          If Zeile = 360 Then Zeile = 0                         'Annahme: wenn die 14 Zeilen durch sind geht's von vorne los
          Position = Zeile * 6
    
          T1 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 0,3,6,9 .. aus der Tabelle
          Incr Position
          T2 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 1,4,7,10 .. aus der Tabelle
          Incr Position
          T3 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 2,5,8,11 .. aus der Tabelle
          Incr Position
          T4 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
          Incr Position
          T5 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
          Incr Position
          T6 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
    
       End If
    
    
    
    'PWM ÜBERGABE
    
    Incr Test
    If Test > 1000 Then
    Test = 0
    'Gosub Lcd
    End If
    
    Loop
    '-------------------------------------------------------------------------------
    Lcd:
    Locate 1 , 1
     Lcd "T1:" ; T1 ; "T3:" ; T3 ; "T5:" ; T5
     Locate 2 , 1
     Lcd "T2:" ; T2 ; "T4:" ; T4 ; "T6:" ; T6
    
    Return
    
    
    '-------------------------------------------------------------------------------
    Pwm_prog:                                                   'PWM Takt über Timer0
    'Funktion:
    'Wenn der Zähler (z) =0 ist, dann  beginnt ein neuer PWM Zyklus:
    'Der Zähler (z) wird auf 255 gesetzt weil ein PWM Zyklus 255 Takte hat!
    'In das Hilfsregister (TT1) wird der Sollwert (T1) geladen
    'der Zähler wird -1 gezählt
    'wenn TT1 z.B. = 50 dann ist Ri größer 0 und der Ausgang wird eingeschaltet TT1 wird -1 gerechnet
    'beim nächsten Durchlauf wird der Zähler wieder um 1 runtergezählt. TT1 ist 50-1 also 49. 49ist größer als 0 und der Ausgang wird eingeschaltet
    'wenn irgendwann TT1 = 0 ist wird der Ausgang ausgeschaltet. Und das passiert aolange (soviele Takte)bis der Zähler (Z) auf 0 heruntegezählt wurde
    'wenn der Zähler (Z) = 0 ist ist ein PWM Zyklus zuende, der Zähle wird wieder auf 255 gesetzt und alles beginnt von vorne
    'bei einem Sollwert von 50 (TT1=50) wird der Ausgang also 50 Takte EIN geschaltet und 205 Takte AUS geschaltet;
    'das entspricht bei 5V im Mittel ca. 1V
    
    Timer0 = 254
    
        If Z = 0 Then                                           'Z = Zähler für Verhältnisstakte
        Z = 255                                                 'Zähler (Z) auf 255 setzen
        Tt1 = T1                                                'sollwert (T1) in Hilfregister (TT1) schreiben
        Tt2 = T2
        Tt3 = T3
        Tt4 = T4
        Tt5 = T5
        Tt6 = T6
        End If
                                                                 'Zähler runterzählen
        Z = Z - 1
    
    
    
    
        If Tt1 > 0 Then                                         'wenn Hilfsregister (TT1) größer 0, dann
        Portd.6 = 1                                             'PWM-Ausgang einschalten
        Else                                                    'sonst
        Portd.6 = 0                                             'PWM-Ausgang ausschalten
        End If
    
        Tt1 = Tt1 - 1
        If Tt1 = 255 Then Tt1 = 0
    
    
        If Tt2 > 0 Then                                         'wenn Hilfsregister (TT1) größer 0, dann
        Portd.5 = 1                                             'PWM-Ausgang einschalten
        Else                                                    'sonst
        Portd.5 = 0                                             'PWM-Ausgang ausschalten
        End If
    
        Tt2 = Tt2 - 1
        If Tt2 = 255 Then Tt2 = 0
    
    
        If Tt3 > 0 Then                                         'wenn Hilfsregister (TT1) größer 0, dann
        Portb.1 = 1                                             'PWM-Ausgang einschalten
        Else                                                    'sonst
        Portb.1 = 0                                             'PWM-Ausgang ausschalten
        End If
    
        Tt3 = Tt3 - 1
        If Tt3 = 255 Then Tt3 = 0
    
    
        If Tt4 > 0 Then                                         'wenn Hilfsregister (TT1) größer 0, dann
        Portb.2 = 1                                             'PWM-Ausgang einschalten
        Else                                                    'sonst
        Portb.2 = 0                                             'PWM-Ausgang ausschalten
        End If
    
        Tt4 = Tt4 - 1
        If Tt4 = 255 Then Tt4 = 0
    
    
        If Tt5 > 0 Then                                         'wenn Hilfsregister (TT1) größer 0, dann
        Portb.3 = 1                                             'PWM-Ausgang einschalten
        Else                                                    'sonst
        Portb.3 = 0                                             'PWM-Ausgang ausschalten
        End If
    
        Tt5 = Tt5 - 1
        If Tt5 = 255 Then Tt5 = 0
    
    
        If Tt6 > 0 Then                                         'wenn Hilfsregister (TT1) größer 0, dann
        Portd.3 = 1                                             'PWM-Ausgang einschalten
        Else                                                    'sonst
        Portd.3 = 0                                             'PWM-Ausgang ausschalten
        End If
    
        Tt6 = Tt6 - 1
        If Tt6 = 255 Then Tt6 = 0
    
    
    
    Return
    
    
    '-------------------------------------------------------------------------------
    Timer1_isr:
    Timer1 = 65000
    
    
    'Print "t1: " ; t1 ; " t2: " ; t2 ; " t3: " ; t3
       Incr Count
       If Count = 1 Then                                        'Geschwindigkeit mit der die Tabelle durchlaufen wird
          Set Led_flag
          Count = 0
       End If
    
    
    
    
    Return
    
    
    '-------------------------------------------------------------------------------
    Digitalsinus:
    '     T1, T2, T3 , T4, T5 , T6
    Data 4 , 0 , 221 , 0 , 0 , 223
    Data 9 , 0 , 219 , 0 , 0 , 225
    Data 13 , 0 , 216 , 0 , 0 , 227
    Data 18 , 0 , 214 , 0 , 0 , 229
    Data 22 , 0 , 211 , 0 , 0 , 231
    Data 27 , 0 , 209 , 0 , 0 , 233
    Data 31 , 0 , 206 , 0 , 0 , 235
    Data 35 , 0 , 204 , 0 , 0 , 236
    Data 40 , 0 , 201 , 0 , 0 , 238
    Data 44 , 0 , 198 , 0 , 0 , 240
    Data 49 , 0 , 195 , 0 , 0 , 241
    Data 53 , 0 , 192 , 0 , 0 , 243
    Data 57 , 0 , 190 , 0 , 0 , 244
    Data 62 , 0 , 186 , 0 , 0 , 245
    Data 66 , 0 , 183 , 0 , 0 , 246
    Data 70 , 0 , 180 , 0 , 0 , 247
    Data 75 , 0 , 177 , 0 , 0 , 248
    Data 79 , 0 , 174 , 0 , 0 , 249
    Data 83 , 0 , 171 , 0 , 0 , 250
    Data 87 , 0 , 167 , 0 , 0 , 251
    Data 91 , 0 , 164 , 0 , 0 , 252
    Data 96 , 0 , 160 , 0 , 0 , 253
    Data 100 , 0 , 157 , 0 , 0 , 253
    Data 104 , 0 , 153 , 0 , 0 , 254
    Data 108 , 0 , 150 , 0 , 0 , 254
    Data 112 , 0 , 146 , 0 , 0 , 254
    Data 116 , 0 , 143 , 0 , 0 , 255
    Data 120 , 0 , 139 , 0 , 0 , 255
    Data 124 , 0 , 135 , 0 , 0 , 255
    Data 128 , 0 , 131 , 0 , 0 , 255
    Data 131 , 0 , 128 , 0 , 0 , 255
    Data 135 , 0 , 124 , 0 , 0 , 255
    Data 139 , 0 , 120 , 0 , 0 , 255
    Data 143 , 0 , 116 , 0 , 0 , 255
    Data 146 , 0 , 112 , 0 , 0 , 254
    Data 150 , 0 , 108 , 0 , 0 , 254
    Data 153 , 0 , 104 , 0 , 0 , 254
    Data 157 , 0 , 100 , 0 , 0 , 253
    Data 160 , 0 , 96 , 0 , 0 , 253
    Data 164 , 0 , 91 , 0 , 0 , 252
    Data 167 , 0 , 87 , 0 , 0 , 251
    Data 171 , 0 , 83 , 0 , 0 , 250
    Data 174 , 0 , 79 , 0 , 0 , 249
    Data 177 , 0 , 75 , 0 , 0 , 248
    Data 180 , 0 , 70 , 0 , 0 , 247
    Data 183 , 0 , 66 , 0 , 0 , 246
    Data 186 , 0 , 62 , 0 , 0 , 245
    Data 190 , 0 , 57 , 0 , 0 , 244
    Data 192 , 0 , 53 , 0 , 0 , 243
    Data 195 , 0 , 49 , 0 , 0 , 241
    Data 198 , 0 , 44 , 0 , 0 , 240
    Data 201 , 0 , 40 , 0 , 0 , 238
    Data 204 , 0 , 35 , 0 , 0 , 236
    Data 206 , 0 , 31 , 0 , 0 , 235
    Data 209 , 0 , 27 , 0 , 0 , 233
    Data 211 , 0 , 22 , 0 , 0 , 231
    Data 214 , 0 , 18 , 0 , 0 , 229
    Data 216 , 0 , 13 , 0 , 0 , 227
    Data 219 , 0 , 9 , 0 , 0 , 225
    Data 221 , 0 , 4 , 0 , 0 , 223
    Data 223 , 0 , 0 , 4 , 0 , 221
    Data 225 , 0 , 0 , 9 , 0 , 219
    Data 227 , 0 , 0 , 13 , 0 , 216
    Data 229 , 0 , 0 , 18 , 0 , 214
    Data 231 , 0 , 0 , 22 , 0 , 211
    Data 233 , 0 , 0 , 27 , 0 , 209
    Data 235 , 0 , 0 , 31 , 0 , 206
    Data 236 , 0 , 0 , 35 , 0 , 204
    Data 238 , 0 , 0 , 40 , 0 , 201
    Data 240 , 0 , 0 , 44 , 0 , 198
    Data 241 , 0 , 0 , 49 , 0 , 195
    Data 243 , 0 , 0 , 53 , 0 , 192
    Data 244 , 0 , 0 , 57 , 0 , 190
    Data 245 , 0 , 0 , 62 , 0 , 186
    Data 246 , 0 , 0 , 66 , 0 , 183
    Data 247 , 0 , 0 , 70 , 0 , 180
    Data 248 , 0 , 0 , 75 , 0 , 177
    Data 249 , 0 , 0 , 79 , 0 , 174
    Data 250 , 0 , 0 , 83 , 0 , 171
    Data 251 , 0 , 0 , 87 , 0 , 167
    Data 252 , 0 , 0 , 91 , 0 , 164
    Data 253 , 0 , 0 , 96 , 0 , 160
    Data 253 , 0 , 0 , 100 , 0 , 157
    Data 254 , 0 , 0 , 104 , 0 , 153
    Data 254 , 0 , 0 , 108 , 0 , 150
    Data 254 , 0 , 0 , 112 , 0 , 146
    Data 255 , 0 , 0 , 116 , 0 , 143
    Data 255 , 0 , 0 , 120 , 0 , 139
    Data 255 , 0 , 0 , 124 , 0 , 135
    Data 255 , 0 , 0 , 128 , 0 , 131
    Data 255 , 0 , 0 , 131 , 0 , 128
    Data 255 , 0 , 0 , 135 , 0 , 124
    Data 255 , 0 , 0 , 139 , 0 , 120
    Data 255 , 0 , 0 , 143 , 0 , 116
    Data 254 , 0 , 0 , 146 , 0 , 112
    Data 254 , 0 , 0 , 150 , 0 , 108
    Data 254 , 0 , 0 , 153 , 0 , 104
    Data 253 , 0 , 0 , 157 , 0 , 100
    Data 253 , 0 , 0 , 160 , 0 , 96
    Data 252 , 0 , 0 , 164 , 0 , 91
    Data 251 , 0 , 0 , 167 , 0 , 87
    Data 250 , 0 , 0 , 171 , 0 , 83
    Data 249 , 0 , 0 , 174 , 0 , 79
    Data 248 , 0 , 0 , 177 , 0 , 75
    Data 247 , 0 , 0 , 180 , 0 , 70
    Data 246 , 0 , 0 , 183 , 0 , 66
    Data 245 , 0 , 0 , 186 , 0 , 62
    Data 244 , 0 , 0 , 190 , 0 , 57
    Data 243 , 0 , 0 , 192 , 0 , 53
    Data 241 , 0 , 0 , 195 , 0 , 49
    Data 240 , 0 , 0 , 198 , 0 , 44
    Data 238 , 0 , 0 , 201 , 0 , 40
    Data 236 , 0 , 0 , 204 , 0 , 35
    Data 235 , 0 , 0 , 206 , 0 , 31
    Data 233 , 0 , 0 , 209 , 0 , 27
    Data 231 , 0 , 0 , 211 , 0 , 22
    Data 229 , 0 , 0 , 214 , 0 , 18
    Data 227 , 0 , 0 , 216 , 0 , 13
    Data 225 , 0 , 0 , 219 , 0 , 9
    Data 223 , 0 , 0 , 221 , 0 , 4
    Data 221 , 0 , 0 , 223 , 4 , 0
    Data 219 , 0 , 0 , 225 , 9 , 0
    Data 216 , 0 , 0 , 227 , 13 , 0
    Data 214 , 0 , 0 , 229 , 18 , 0
    Data 211 , 0 , 0 , 231 , 22 , 0
    Data 209 , 0 , 0 , 233 , 27 , 0
    Data 206 , 0 , 0 , 235 , 31 , 0
    Data 204 , 0 , 0 , 236 , 35 , 0
    Data 201 , 0 , 0 , 238 , 40 , 0
    Data 198 , 0 , 0 , 240 , 44 , 0
    Data 195 , 0 , 0 , 241 , 49 , 0
    Data 192 , 0 , 0 , 243 , 53 , 0
    Data 190 , 0 , 0 , 244 , 57 , 0
    Data 186 , 0 , 0 , 245 , 62 , 0
    Data 183 , 0 , 0 , 246 , 66 , 0
    Data 180 , 0 , 0 , 247 , 70 , 0
    Data 177 , 0 , 0 , 248 , 75 , 0
    Data 174 , 0 , 0 , 249 , 79 , 0
    Data 171 , 0 , 0 , 250 , 83 , 0
    Data 167 , 0 , 0 , 251 , 87 , 0
    Data 164 , 0 , 0 , 252 , 91 , 0
    Data 160 , 0 , 0 , 253 , 96 , 0
    Data 157 , 0 , 0 , 253 , 100 , 0
    Data 153 , 0 , 0 , 254 , 104 , 0
    Data 150 , 0 , 0 , 254 , 108 , 0
    Data 146 , 0 , 0 , 254 , 112 , 0
    Data 143 , 0 , 0 , 255 , 116 , 0
    Data 139 , 0 , 0 , 255 , 120 , 0
    Data 135 , 0 , 0 , 255 , 124 , 0
    Data 131 , 0 , 0 , 255 , 128 , 0
    Data 128 , 0 , 0 , 255 , 131 , 0
    Data 124 , 0 , 0 , 255 , 135 , 0
    Data 120 , 0 , 0 , 255 , 139 , 0
    Data 116 , 0 , 0 , 255 , 143 , 0
    Data 112 , 0 , 0 , 254 , 146 , 0
    Data 108 , 0 , 0 , 254 , 150 , 0
    Data 104 , 0 , 0 , 254 , 153 , 0
    Data 100 , 0 , 0 , 253 , 157 , 0
    Data 96 , 0 , 0 , 253 , 160 , 0
    Data 91 , 0 , 0 , 252 , 164 , 0
    Data 87 , 0 , 0 , 251 , 167 , 0
    Data 83 , 0 , 0 , 250 , 171 , 0
    Data 79 , 0 , 0 , 249 , 174 , 0
    Data 75 , 0 , 0 , 248 , 177 , 0
    Data 70 , 0 , 0 , 247 , 180 , 0
    Data 66 , 0 , 0 , 246 , 183 , 0
    Data 62 , 0 , 0 , 245 , 186 , 0
    Data 57 , 0 , 0 , 244 , 190 , 0
    Data 53 , 0 , 0 , 243 , 192 , 0
    Data 49 , 0 , 0 , 241 , 195 , 0
    Data 44 , 0 , 0 , 240 , 198 , 0
    Data 40 , 0 , 0 , 238 , 201 , 0
    Data 35 , 0 , 0 , 236 , 204 , 0
    Data 31 , 0 , 0 , 235 , 206 , 0
    Data 27 , 0 , 0 , 233 , 209 , 0
    Data 22 , 0 , 0 , 231 , 211 , 0
    Data 18 , 0 , 0 , 229 , 214 , 0
    Data 13 , 0 , 0 , 227 , 216 , 0
    Data 9 , 0 , 0 , 225 , 219 , 0
    Data 4 , 0 , 0 , 223 , 221 , 0
    Data 5 , 4 , 0 , 221 , 223 , 0
    Data 5 , 9 , 0 , 219 , 225 , 0
    Data 5 , 13 , 0 , 216 , 227 , 0
    Data 5 , 18 , 0 , 214 , 229 , 0
    Data 5 , 22 , 0 , 211 , 231 , 0
    Data 5 , 27 , 0 , 209 , 233 , 0
    Data 5 , 31 , 0 , 206 , 235 , 0
    Data 0 , 35 , 0 , 204 , 236 , 0
    Data 0 , 40 , 0 , 201 , 238 , 0
    Data 0 , 44 , 0 , 198 , 240 , 0
    Data 0 , 49 , 0 , 195 , 241 , 0
    Data 0 , 53 , 0 , 192 , 243 , 0
    Data 0 , 57 , 0 , 190 , 244 , 0
    Data 0 , 62 , 0 , 186 , 245 , 0
    Data 0 , 66 , 0 , 183 , 246 , 0
    Data 0 , 70 , 0 , 180 , 247 , 0
    Data 0 , 75 , 0 , 177 , 248 , 0
    Data 0 , 79 , 0 , 174 , 249 , 0
    Data 0 , 83 , 0 , 171 , 250 , 0
    Data 0 , 87 , 0 , 167 , 251 , 0
    Data 0 , 91 , 0 , 164 , 252 , 0
    Data 0 , 96 , 0 , 160 , 253 , 0
    Data 0 , 100 , 0 , 157 , 253 , 0
    Data 0 , 104 , 0 , 153 , 254 , 0
    Data 0 , 108 , 0 , 150 , 254 , 0
    Data 0 , 112 , 0 , 146 , 254 , 0
    Data 0 , 116 , 0 , 143 , 255 , 0
    Data 0 , 120 , 0 , 139 , 255 , 0
    Data 0 , 124 , 0 , 135 , 255 , 0
    Data 0 , 128 , 0 , 131 , 255 , 0
    Data 0 , 131 , 0 , 128 , 255 , 0
    Data 0 , 135 , 0 , 124 , 255 , 0
    Data 0 , 139 , 0 , 120 , 255 , 0
    Data 0 , 143 , 0 , 116 , 255 , 0
    Data 0 , 146 , 0 , 112 , 254 , 0
    Data 0 , 150 , 0 , 108 , 254 , 0
    Data 0 , 153 , 0 , 104 , 254 , 0
    Data 0 , 157 , 0 , 100 , 253 , 0
    Data 0 , 160 , 0 , 96 , 253 , 0
    Data 0 , 164 , 0 , 91 , 252 , 0
    Data 0 , 167 , 0 , 87 , 251 , 0
    Data 0 , 171 , 0 , 83 , 250 , 0
    Data 0 , 174 , 0 , 79 , 249 , 0
    Data 0 , 177 , 0 , 75 , 248 , 0
    Data 0 , 180 , 0 , 70 , 247 , 0
    Data 0 , 183 , 0 , 66 , 246 , 0
    Data 0 , 186 , 0 , 62 , 245 , 0
    Data 0 , 190 , 0 , 57 , 244 , 0
    Data 0 , 192 , 0 , 53 , 243 , 0
    Data 0 , 195 , 0 , 49 , 241 , 0
    Data 0 , 198 , 0 , 44 , 240 , 0
    Data 0 , 201 , 0 , 40 , 238 , 0
    Data 0 , 204 , 0 , 35 , 236 , 0
    Data 0 , 206 , 0 , 31 , 235 , 0
    Data 0 , 209 , 0 , 27 , 233 , 0
    Data 0 , 211 , 0 , 22 , 231 , 0
    Data 0 , 214 , 0 , 18 , 229 , 0
    Data 0 , 216 , 0 , 13 , 227 , 0
    Data 0 , 219 , 0 , 9 , 225 , 0
    Data 0 , 221 , 0 , 4 , 223 , 0
    Data 0 , 223 , 4 , 0 , 221 , 0
    Data 0 , 225 , 9 , 0 , 219 , 0
    Data 0 , 227 , 13 , 0 , 216 , 0
    Data 0 , 229 , 18 , 0 , 214 , 0
    Data 0 , 231 , 22 , 0 , 211 , 0
    Data 0 , 233 , 27 , 0 , 209 , 0
    Data 0 , 235 , 31 , 0 , 206 , 0
    Data 0 , 236 , 35 , 0 , 204 , 0
    Data 0 , 238 , 40 , 0 , 201 , 0
    Data 0 , 240 , 44 , 0 , 198 , 0
    Data 0 , 241 , 49 , 0 , 195 , 0
    Data 0 , 243 , 53 , 0 , 192 , 0
    Data 0 , 244 , 57 , 0 , 190 , 0
    Data 0 , 245 , 62 , 0 , 186 , 0
    Data 0 , 246 , 66 , 0 , 183 , 0
    Data 0 , 247 , 70 , 0 , 180 , 0
    Data 0 , 248 , 75 , 0 , 177 , 0
    Data 0 , 249 , 79 , 0 , 174 , 0
    Data 0 , 250 , 83 , 0 , 171 , 0
    Data 0 , 251 , 87 , 0 , 167 , 0
    Data 0 , 252 , 91 , 0 , 164 , 0
    Data 0 , 253 , 96 , 0 , 160 , 0
    Data 0 , 253 , 100 , 0 , 157 , 0
    Data 0 , 254 , 104 , 0 , 153 , 0
    Data 0 , 254 , 108 , 0 , 150 , 0
    Data 0 , 254 , 112 , 0 , 146 , 0
    Data 0 , 255 , 116 , 0 , 143 , 0
    Data 0 , 255 , 120 , 0 , 139 , 0
    Data 0 , 255 , 124 , 0 , 135 , 0
    Data 0 , 255 , 128 , 0 , 131 , 0
    Data 0 , 255 , 131 , 0 , 128 , 0
    Data 0 , 255 , 135 , 0 , 124 , 0
    Data 0 , 255 , 139 , 0 , 120 , 0
    Data 0 , 255 , 143 , 0 , 116 , 0
    Data 0 , 254 , 146 , 0 , 112 , 0
    Data 0 , 254 , 150 , 0 , 108 , 0
    Data 0 , 254 , 153 , 0 , 104 , 0
    Data 0 , 253 , 157 , 0 , 100 , 0
    Data 0 , 253 , 160 , 0 , 96 , 0
    Data 0 , 252 , 164 , 0 , 91 , 0
    Data 0 , 251 , 167 , 0 , 87 , 0
    Data 0 , 250 , 171 , 0 , 83 , 0
    Data 0 , 249 , 174 , 0 , 79 , 0
    Data 0 , 248 , 177 , 0 , 75 , 0
    Data 0 , 247 , 180 , 0 , 70 , 0
    Data 0 , 246 , 183 , 0 , 66 , 0
    Data 0 , 245 , 186 , 0 , 62 , 0
    Data 0 , 244 , 190 , 0 , 57 , 0
    Data 0 , 243 , 192 , 0 , 53 , 0
    Data 0 , 241 , 195 , 0 , 49 , 0
    Data 0 , 240 , 198 , 0 , 44 , 0
    Data 0 , 238 , 201 , 0 , 40 , 0
    Data 0 , 236 , 204 , 0 , 35 , 0
    Data 0 , 235 , 206 , 0 , 31 , 0
    Data 0 , 233 , 209 , 0 , 27 , 0
    Data 0 , 231 , 211 , 0 , 22 , 0
    Data 0 , 229 , 214 , 0 , 18 , 0
    Data 0 , 227 , 216 , 0 , 13 , 0
    Data 0 , 225 , 219 , 0 , 9 , 0
    Data 0 , 223 , 221 , 0 , 4 , 0
    Data 0 , 221 , 223 , 0 , 0 , 4
    Data 0 , 219 , 225 , 0 , 0 , 9
    Data 0 , 216 , 227 , 0 , 0 , 13
    Data 0 , 214 , 229 , 0 , 0 , 18
    Data 0 , 211 , 231 , 0 , 0 , 22
    Data 0 , 209 , 233 , 0 , 0 , 27
    Data 0 , 206 , 235 , 0 , 0 , 31
    Data 0 , 204 , 236 , 0 , 0 , 35
    Data 0 , 201 , 238 , 0 , 0 , 40
    Data 0 , 198 , 240 , 0 , 0 , 44
    Data 0 , 195 , 241 , 0 , 0 , 49
    Data 0 , 192 , 243 , 0 , 0 , 53
    Data 0 , 190 , 244 , 0 , 0 , 57
    Data 0 , 186 , 245 , 0 , 0 , 62
    Data 0 , 183 , 246 , 0 , 0 , 66
    Data 0 , 180 , 247 , 0 , 0 , 70
    Data 0 , 177 , 248 , 0 , 0 , 75
    Data 0 , 174 , 249 , 0 , 0 , 79
    Data 0 , 171 , 250 , 0 , 0 , 83
    Data 0 , 167 , 251 , 0 , 0 , 87
    Data 0 , 164 , 252 , 0 , 0 , 91
    Data 0 , 160 , 253 , 0 , 0 , 96
    Data 0 , 157 , 253 , 0 , 0 , 100
    Data 0 , 153 , 254 , 0 , 0 , 104
    Data 0 , 150 , 254 , 0 , 0 , 108
    Data 0 , 146 , 254 , 0 , 0 , 112
    Data 0 , 143 , 255 , 0 , 0 , 116
    Data 0 , 139 , 255 , 0 , 0 , 120
    Data 0 , 135 , 255 , 0 , 0 , 124
    Data 0 , 131 , 255 , 0 , 0 , 128
    Data 0 , 128 , 255 , 0 , 0 , 131
    Data 0 , 124 , 255 , 0 , 0 , 135
    Data 0 , 120 , 255 , 0 , 0 , 139
    Data 0 , 116 , 255 , 0 , 0 , 143
    Data 0 , 112 , 254 , 0 , 0 , 146
    Data 0 , 108 , 254 , 0 , 0 , 150
    Data 0 , 104 , 254 , 0 , 0 , 153
    Data 0 , 100 , 253 , 0 , 0 , 157
    Data 0 , 96 , 253 , 0 , 0 , 160
    Data 0 , 91 , 252 , 0 , 0 , 164
    Data 0 , 87 , 251 , 0 , 0 , 167
    Data 0 , 83 , 250 , 0 , 0 , 171
    Data 0 , 79 , 249 , 0 , 0 , 174
    Data 0 , 75 , 248 , 0 , 0 , 177
    Data 0 , 70 , 247 , 0 , 0 , 180
    Data 0 , 66 , 246 , 0 , 0 , 183
    Data 0 , 62 , 245 , 0 , 0 , 186
    Data 0 , 57 , 244 , 0 , 0 , 190
    Data 0 , 53 , 243 , 0 , 0 , 192
    Data 0 , 49 , 241 , 0 , 0 , 195
    Data 0 , 44 , 240 , 0 , 0 , 198
    Data 0 , 40 , 238 , 0 , 0 , 201
    Data 0 , 35 , 236 , 0 , 0 , 204
    Data 0 , 31 , 235 , 0 , 0 , 206
    Data 0 , 27 , 233 , 0 , 0 , 209
    Data 0 , 22 , 231 , 0 , 0 , 211
    Data 0 , 18 , 229 , 0 , 0 , 214
    Data 0 , 13 , 227 , 0 , 0 , 216
    Data 0 , 9 , 225 , 0 , 0 , 219
    Data 0 , 4 , 223 , 0 , 0 , 221
    ...

  4. #34
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    Stimmt, aber bei einem Auto sollte man es schon über die Fernsteuerung ändern können oder?

    So,
    ich habe nun das ganze mit Software PWM nochmal geändert programmiert und 3 Lampen mit Stenpunktzusammen gelötet (zum testen)

    ABER ich habe wohl einen Fehler in meiner Sinustabelle: Phase 2+3 wechseln sich immer ab und Phase 1 glimmt nur so mit....
    Code:
    $regfile = "m88def.dat"                                     'AT-Mega88 wichtig weil 6 x PWM!!!
    $crystal = 8000000                                          'Quarz: 8 MHz intern
    '$baud = 9600                                                'Baudrate der UART: 9600 Baud
    
    '-------------------------------------------------------------------------------
    'Ein- und Ausgänge
    Config Portb = Output
    Config Portd = Output
    
    
    '-------------------------------------------------------------------------------
    'Variablen
    
    Dim Count As Integer
    Dim Led_flag As Byte
    Dim Zeile As Word , Position As Byte                        'position evtl as word, falls die tabelle größer wird
    
    Dim Z As Word
    Dim T1 As Byte , T2 As Byte , T3 As Byte , T4 As Byte , T5 As Byte , T6 As Byte       'Sollwert
    Dim Tt1 As Byte , Tt2 As Byte , Tt3 As Byte , Tt4 As Byte , Tt5 As Byte , Tt6 As Byte       ' Hilfsregister
    
    Dim Test As Word
    Dim Pwmwert As Byte                                         'NEUE PWM
    '-------------------------------------------------------------------------------
    'Konfiguration LCD
    
    'Config Lcd = 16 * 1                                         'LCD größe
    Config Lcd = 16 * 2                                         'LCD größe
    'Config Lcd = 16 * 4                                         'LCD größe
    'Config Lcd = 20 * 2                                         'LCD größe
    'Config Lcd = 20 * 4                                         'LCD größe
    'Config Lcd = 40 * 4                                         'LCD größe
    Config Lcdpin = Pin , Db4 = Portb.7 , Db5 = Portb.6 , Db6 = Portd.7 , Db7 = Portb.0 , Rs = Portd.2 , E = Portd.4
    Cursor Off Noblink
    
    '-------------------------------------------------------------------------------
    'Timer0 = SOFTWARE - PWM  (EX PWM 34Hz???)
    Config Timer0 = Timer , Prescale = 1                        'Teiler
    Timer0 = 254
    Enable Timer0
    On Timer0 Pwm_prog                                          'timer einschalten
    
    
    'Timer1 = Sekundentakt
    Config Timer1 = Timer , Prescale = 1
    Enable Timer1                                               'timer einschalten
    Timer1 = 65000                                              'ca. 1 mal pro sek
    On Timer1 Timer1_isr                                        'Unteprogramm aufrufen
    
    Enable Interrupts                                           'interrupts  einschalten
    
    
    '-------------------------------------------------------------------------------
    
    Do
    
    
       If Led_flag = 1 Then
          Reset Led_flag
          Incr Zeile
    
          If Zeile = 180 Then Zeile = 0                         'Annahme: wenn die 14 Zeilen durch sind geht's von vorne los
          Position = Zeile * 6
    
          T1 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 0,3,6,9 .. aus der Tabelle
          Incr Position
          T2 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 1,4,7,10 .. aus der Tabelle
          Incr Position
          T3 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 2,5,8,11 .. aus der Tabelle
          Incr Position
          T4 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
          Incr Position
          T5 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
          Incr Position
          T6 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
    
       End If
    
    
    
    'PWM ÜBERGABE
    
    'Incr Test
    'If Test > 1000 Then
    'Test = 0
    'Gosub Lcd
    'End If
    
    Loop
    '-------------------------------------------------------------------------------
    Lcd:
    Locate 1 , 1
     Lcd "T1:" ; T1 ; "T3:" ; T3 ; "T5:" ; T5
     Locate 2 , 1
     Lcd "T2:" ; T2 ; "T4:" ; T4 ; "T6:" ; T6
    
    Return
    
    
    '-------------------------------------------------------------------------------
    Pwm_prog:                                                   'PWM Takt über Timer0
    Timer0 = 254
    
    'NEU----------------------------------------------------------------------------
    If T1 > Pwmwert Then
        Portd.6 = 1
    Else
        Portd.6 = 0
    End If
    
    
    '--
    If T2 > Pwmwert Then
        Portd.5 = 1
    Else
        Portd.5 = 0
    End If
    
    '--
    If T3 > Pwmwert Then
        Portb.1 = 1
    Else
        Portb.1 = 0
    End If
    
    
    '--
    If T4 > Pwmwert Then
        Portb.2 = 1
    Else
        Portb.2 = 0
    End If
    
    
    '--
    If T5 > Pwmwert Then
        Portb.3 = 1
    Else
        Portb.3 = 0
    End If
    
    '--
    If T6 > Pwmwert Then
        Portd.3 = 1
    Else
        Portd.3 = 0
    End If
    
    
    
    
    
    
    
    
    
      Incr Pwmwert
      If Pwmwert > 255 Then Pwmwert = 0
    
    
    
    
    
    
    
    
    
    
    
    Return
    
    
    '-------------------------------------------------------------------------------
    Timer1_isr:
    Timer1 = 65000
    
    
    'Print "t1: " ; t1 ; " t2: " ; t2 ; " t3: " ; t3
       Incr Count
       If Count > 5000 Then                                     'Geschwindigkeit mit der die Tabelle durchlaufen wird
          Set Led_flag
          Count = 0
       End If
    
    
    
    
    Return
    
    
    '-------------------------------------------------------------------------------
    Digitalsinus:
    '     T1, T2, T3 , T4, T5 , T6
    Data 4 , 0 , 221 , 0 , 0 , 223                              '1
    Data  13 , 0 , 216 , 0 , 0 , 227
    Data  22 , 0 , 211 , 0 , 0 , 231
    Data  31 , 0 , 206 , 0 , 0 , 235
    Data  40 , 0 , 201 , 0 , 0 , 238
    Data  49 , 0 , 195 , 0 , 0 , 241
    Data  57 , 0 , 190 , 0 , 0 , 244
    Data  66 , 0 , 183 , 0 , 0 , 246
    Data  75 , 0 , 177 , 0 , 0 , 248
    Data  83 , 0 , 171 , 0 , 0 , 250 '10
    Data  91 , 0 , 164 , 0 , 0 , 252
    Data  100 , 0 , 157 , 0 , 0 , 253
    Data  108 , 0 , 150 , 0 , 0 , 254
    Data  116 , 0 , 143 , 0 , 0 , 255
    Data  124 , 0 , 135 , 0 , 0 , 255
    Data  131 , 0 , 128 , 0 , 0 , 255
    Data  139 , 0 , 120 , 0 , 0 , 255
    Data  146 , 0 , 112 , 0 , 0 , 254
    Data  153 , 0 , 104 , 0 , 0 , 254
    Data  160 , 0 , 96 , 0 , 0 , 253 '20
    Data  167 , 0 , 87 , 0 , 0 , 251
    Data  174 , 0 , 79 , 0 , 0 , 249
    Data  180 , 0 , 70 , 0 , 0 , 247
    Data  186 , 0 , 62 , 0 , 0 , 245
    Data  192 , 0 , 53 , 0 , 0 , 243
    Data  198 , 0 , 44 , 0 , 0 , 240
    Data  204 , 0 , 35 , 0 , 0 , 236
    Data  209 , 0 , 27 , 0 , 0 , 233
    Data  214 , 0 , 18 , 0 , 0 , 229
    Data  219 , 0 , 9 , 0 , 0 , 225 '30
    Data  223 , 0 , 0 , 4 , 0 , 221
    Data  227 , 0 , 0 , 13 , 0 , 216
    Data  231 , 0 , 0 , 22 , 0 , 211
    Data  235 , 0 , 0 , 31 , 0 , 206
    Data  238 , 0 , 0 , 40 , 0 , 201
    Data  241 , 0 , 0 , 49 , 0 , 195
    Data  244 , 0 , 0 , 57 , 0 , 190
    Data  246 , 0 , 0 , 66 , 0 , 183
    Data  248 , 0 , 0 , 75 , 0 , 177
    Data  250 , 0 , 0 , 83 , 0 , 171 '40
    Data  252 , 0 , 0 , 91 , 0 , 164
    Data  253 , 0 , 0 , 100 , 0 , 157
    Data  254 , 0 , 0 , 108 , 0 , 150
    Data  255 , 0 , 0 , 116 , 0 , 143
    Data  255 , 0 , 0 , 124 , 0 , 135
    Data  255 , 0 , 0 , 131 , 0 , 128
    Data  255 , 0 , 0 , 139 , 0 , 120
    Data  254 , 0 , 0 , 146 , 0 , 112
    Data  254 , 0 , 0 , 153 , 0 , 104
    Data  253 , 0 , 0 , 160 , 0 , 96 '50
    Data  251 , 0 , 0 , 167 , 0 , 87
    Data  249 , 0 , 0 , 174 , 0 , 79
    Data  247 , 0 , 0 , 180 , 0 , 70
    Data  245 , 0 , 0 , 186 , 0 , 62
    Data  243 , 0 , 0 , 192 , 0 , 53
    Data  240 , 0 , 0 , 198 , 0 , 44
    Data  236 , 0 , 0 , 204 , 0 , 35
    Data  233 , 0 , 0 , 209 , 0 , 27
    Data  229 , 0 , 0 , 214 , 0 , 18
    Data  225 , 0 , 0 , 219 , 0 , 9 '60
    Data  221 , 0 , 0 , 223 , 4 , 0
    Data  216 , 0 , 0 , 227 , 13 , 0
    Data  211 , 0 , 0 , 231 , 22 , 0
    Data  206 , 0 , 0 , 235 , 31 , 0
    Data  201 , 0 , 0 , 238 , 40 , 0
    Data  195 , 0 , 0 , 241 , 49 , 0
    Data  190 , 0 , 0 , 244 , 57 , 0
    Data  183 , 0 , 0 , 246 , 66 , 0
    Data  177 , 0 , 0 , 248 , 75 , 0
    Data  171 , 0 , 0 , 250 , 83 , 0 '70
    Data  164 , 0 , 0 , 252 , 91 , 0
    Data  157 , 0 , 0 , 253 , 100 , 0
    Data  150 , 0 , 0 , 254 , 108 , 0
    Data  143 , 0 , 0 , 255 , 116 , 0
    Data  135 , 0 , 0 , 255 , 124 , 0
    Data  128 , 0 , 0 , 255 , 131 , 0
    Data  120 , 0 , 0 , 255 , 139 , 0
    Data  112 , 0 , 0 , 254 , 146 , 0
    Data  104 , 0 , 0 , 254 , 153 , 0
    Data  96 , 0 , 0 , 253 , 160 , 0 '80
    Data  87 , 0 , 0 , 251 , 167 , 0
    Data  79 , 0 , 0 , 249 , 174 , 0
    Data  70 , 0 , 0 , 247 , 180 , 0
    Data  62 , 0 , 0 , 245 , 186 , 0
    Data  53 , 0 , 0 , 243 , 192 , 0
    Data  44 , 0 , 0 , 240 , 198 , 0
    Data  35 , 0 , 0 , 236 , 204 , 0
    Data  27 , 0 , 0 , 233 , 209 , 0
    Data  18 , 0 , 0 , 229 , 214 , 0
    Data  9 , 0 , 0 , 225 , 219 , 0 '90
    Data  0 , 4 , 0 , 221 , 223 , 0
    Data  0 , 13 , 0 , 216 , 227 , 0
    Data  0 , 22 , 0 , 211 , 231 , 0
    Data  0 , 31 , 0 , 206 , 235 , 0
    Data  0 , 40 , 0 , 201 , 238 , 0
    Data  0 , 49 , 0 , 195 , 241 , 0
    Data  0 , 57 , 0 , 190 , 244 , 0
    Data  0 , 66 , 0 , 183 , 246 , 0
    Data  0 , 75 , 0 , 177 , 248 , 0
    Data  0 , 83 , 0 , 171 , 250 , 0 '100
    Data  0 , 91 , 0 , 164 , 252 , 0
    Data  0 , 100 , 0 , 157 , 253 , 0
    Data  0 , 108 , 0 , 150 , 254 , 0
    Data  0 , 116 , 0 , 143 , 255 , 0
    Data  0 , 124 , 0 , 135 , 255 , 0
    Data  0 , 131 , 0 , 128 , 255 , 0
    Data  0 , 139 , 0 , 120 , 255 , 0
    Data  0 , 146 , 0 , 112 , 254 , 0
    Data  0 , 153 , 0 , 104 , 254 , 0
    Data  0 , 160 , 0 , 96 , 253 , 0 '110
    Data  0 , 167 , 0 , 87 , 251 , 0
    Data  0 , 174 , 0 , 79 , 249 , 0
    Data  0 , 180 , 0 , 70 , 247 , 0
    Data  0 , 186 , 0 , 62 , 245 , 0
    Data  0 , 192 , 0 , 53 , 243 , 0
    Data  0 , 198 , 0 , 44 , 240 , 0
    Data  0 , 204 , 0 , 35 , 236 , 0
    Data  0 , 209 , 0 , 27 , 233 , 0
    Data  0 , 214 , 0 , 18 , 229 , 0
    Data  0 , 219 , 0 , 9 , 225 , 0 '120
    Data  0 , 223 , 4 , 0 , 221 , 0
    Data  0 , 227 , 13 , 0 , 216 , 0
    Data  0 , 231 , 22 , 0 , 211 , 0
    Data  0 , 235 , 31 , 0 , 206 , 0
    Data  0 , 238 , 40 , 0 , 201 , 0
    Data  0 , 241 , 49 , 0 , 195 , 0
    Data  0 , 244 , 57 , 0 , 190 , 0
    Data  0 , 246 , 66 , 0 , 183 , 0
    Data  0 , 248 , 75 , 0 , 177 , 0
    Data  0 , 250 , 83 , 0 , 171 , 0 '130
    Data  0 , 252 , 91 , 0 , 164 , 0
    Data  0 , 253 , 100 , 0 , 157 , 0
    Data  0 , 254 , 108 , 0 , 150 , 0
    Data  0 , 255 , 116 , 0 , 143 , 0
    Data  0 , 255 , 124 , 0 , 135 , 0
    Data  0 , 255 , 131 , 0 , 128 , 0
    Data  0 , 255 , 139 , 0 , 120 , 0
    Data  0 , 254 , 146 , 0 , 112 , 0
    Data  0 , 254 , 153 , 0 , 104 , 0
    Data  0 , 253 , 160 , 0 , 96 , 0 '140
    Data  0 , 251 , 167 , 0 , 87 , 0
    Data  0 , 249 , 174 , 0 , 79 , 0
    Data  0 , 247 , 180 , 0 , 70 , 0
    Data  0 , 245 , 186 , 0 , 62 , 0
    Data  0 , 243 , 192 , 0 , 53 , 0
    Data  0 , 240 , 198 , 0 , 44 , 0
    Data  0 , 236 , 204 , 0 , 35 , 0
    Data  0 , 233 , 209 , 0 , 27 , 0
    Data  0 , 229 , 214 , 0 , 18 , 0
    Data  0 , 225 , 219 , 0 , 9 , 0 '150
    Data  0 , 221 , 223 , 0 , 0 , 4
    Data  0 , 216 , 227 , 0 , 0 , 13
    Data  0 , 211 , 231 , 0 , 0 , 22
    Data  0 , 206 , 235 , 0 , 0 , 31
    Data  0 , 201 , 238 , 0 , 0 , 40
    Data  0 , 195 , 241 , 0 , 0 , 49
    Data  0 , 190 , 244 , 0 , 0 , 57
    Data  0 , 183 , 246 , 0 , 0 , 66
    Data  0 , 177 , 248 , 0 , 0 , 75
    Data  0 , 171 , 250 , 0 , 0 , 83 '160
    Data  0 , 164 , 252 , 0 , 0 , 91
    Data  0 , 157 , 253 , 0 , 0 , 100
    Data  0 , 150 , 254 , 0 , 0 , 108
    Data  0 , 143 , 255 , 0 , 0 , 116
    Data  0 , 135 , 255 , 0 , 0 , 124
    Data  0 , 128 , 255 , 0 , 0 , 131
    Data  0 , 120 , 255 , 0 , 0 , 139
    Data  0 , 112 , 254 , 0 , 0 , 146
    Data  0 , 104 , 254 , 0 , 0 , 153
    Data  0 , 96 , 253 , 0 , 0 , 160 '170
    Data  0 , 87 , 251 , 0 , 0 , 167
    Data  0 , 79 , 249 , 0 , 0 , 174
    Data  0 , 70 , 247 , 0 , 0 , 180
    Data  0 , 62 , 245 , 0 , 0 , 186
    Data  0 , 53 , 243 , 0 , 0 , 192
    Data  0 , 44 , 240 , 0 , 0 , 198
    Data  0 , 35 , 236 , 0 , 0 , 204
    Data  0 , 27 , 233 , 0 , 0 , 209
    Data  0 , 18 , 229 , 0 , 0 , 214
    Data  0 , 9 , 225 , 0 , 0 , 219 '180
    ...

  5. #35
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von TobiasBlome
    aha - Danke!
    dann werd ich mal googlen
    brushlesscontroller
    Moin moin,

    http://mikrokopter.de/ucwiki/BrushlessCtrl

    Im oberen Link werkelt ein mega8

    http://www.atmel.com/dyn/general/adv...=1&target=BLDC

    Im 2. Link sind gleich mehrere mögliche Schaltungen inklusive Software
    zu finden. Ob und wie schnell das auch in Basic klappt? Die Modellbauer
    erreichen etliche zig Tausend 1/min.

    Gruß Richard

  6. #36
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    Hallo Richard,
    die Schaltung im Link ist prinzipiell so aufgebaut, wie meine - danke!

    Das Problem in meinem Programm ist die Tabelle aus der ich die Werte für die 6 Ausgänge hole.

    Wenn ich die Zeile fest bestimme (zB. Zeile 2) zeigt das LCD nicht die Werte von der jeweiligen Zeile - ist bei meinem Tabellenaufruf etwas falsch?

    Code:
     If Led_flag = 1 Then
          Reset Led_flag
          'Incr Zeile
          Zeile = 2
          If Zeile = 180 Then Zeile = 0                         'Annahme: wenn die 14 Zeilen durch sind geht's von vorne los
          Position = Zeile * 6
    
          T1 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 0,3,6,9 .. aus der Tabelle
          Incr Position
          T2 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 1,4,7,10 .. aus der Tabelle
          Incr Position
          T3 = Lookup(position , Digitalsinus)                  'Dies liest die Werte 2,5,8,11 .. aus der Tabelle
          Incr Position
          T4 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
          Incr Position
          T5 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
          Incr Position
          T6 = Lookup(position , Digitalsinus)                  'Dies liest die Werte
    
       End If
    Tabelle
    Code:
    Digitalsinus:
    '     T1, T2, T3 , T4, T5 , T6
    Data 4 , 0 , 0 , 223 , 219 , 0          '1
    Data  13 , 0 , 0 , 227 , 214 , 0
    Data  22 , 0 , 0 , 231 , 209 , 0
    Data  31 , 0 , 0 , 235 , 204 , 0
    Data  40 , 0 , 0 , 238 , 198 , 0
    Data  49 , 0 , 0 , 241 , 192 , 0
    Data  57 , 0 , 0 , 244 , 186 , 0
    Data  66 , 0 , 0 , 246 , 180 , 0
    Data  75 , 0 , 0 , 248 , 174 , 0
    Data  83 , 0 , 0 , 250 , 167 , 0 '10
    Data  91 , 0 , 0 , 252 , 160 , 0
    Data  100 , 0 , 0 , 253 , 153 , 0
    Data  108 , 0 , 0 , 254 , 146 , 0
    Data  116 , 0 , 0 , 255 , 139 , 0
    Data  124 , 0 , 0 , 255 , 131 , 0
    Data  131 , 0 , 0 , 255 , 124 , 0
    Data  139 , 0 , 0 , 255 , 116 , 0
    Data  146 , 0 , 0 , 254 , 108 , 0
    Data  153 , 0 , 0 , 253 , 100 , 0
    Data  160 , 0 , 0 , 252 , 91 , 0 '20
    Data  167 , 0 , 0 , 250 , 83 , 0
    Data  174 , 0 , 0 , 248 , 75 , 0
    Data  180 , 0 , 0 , 246 , 66 , 0
    Data  186 , 0 , 0 , 244 , 57 , 0
    Data  192 , 0 , 0 , 241 , 49 , 0
    Data  198 , 0 , 0 , 238 , 40 , 0
    Data  204 , 0 , 0 , 235 , 31 , 0
    Data  209 , 0 , 0 , 231 , 22 , 0
    Data  214 , 0 , 0 , 227 , 13 , 0
    Data  219 , 0 , 0 , 223 , 4 , 0 '30
    Data  223 , 0 , 0 , 219 , 0 , 4
    Data  227 , 0 , 0 , 214 , 0 , 13
    Data  231 , 0 , 0 , 209 , 0 , 22
    Data  235 , 0 , 0 , 204 , 0 , 31
    Data  238 , 0 , 0 , 198 , 0 , 40
    Data  241 , 0 , 0 , 192 , 0 , 49
    Data  244 , 0 , 0 , 186 , 0 , 57
    Data  246 , 0 , 0 , 180 , 0 , 66
    Data  248 , 0 , 0 , 174 , 0 , 75
    Data  250 , 0 , 0 , 167 , 0 , 83 '40
    Data  252 , 0 , 0 , 160 , 0 , 91
    Data  253 , 0 , 0 , 153 , 0 , 100
    Data  254 , 0 , 0 , 146 , 0 , 108
    Data  255 , 0 , 0 , 139 , 0 , 116
    Data  255 , 0 , 0 , 131 , 0 , 124
    Data  255 , 0 , 0 , 124 , 0 , 131
    Data  255 , 0 , 0 , 116 , 0 , 139
    Data  254 , 0 , 0 , 108 , 0 , 146
    Data  253 , 0 , 0 , 100 , 0 , 153
    Data  252 , 0 , 0 , 91 , 0 , 160 '50
    Data  250 , 0 , 0 , 83 , 0 , 167
    Data  248 , 0 , 0 , 75 , 0 , 174
    Data  246 , 0 , 0 , 66 , 0 , 180
    Data  244 , 0 , 0 , 57 , 0 , 186
    Data  241 , 0 , 0 , 49 , 0 , 192
    Data  238 , 0 , 0 , 40 , 0 , 198
    Data  235 , 0 , 0 , 31 , 0 , 204
    Data  231 , 0 , 0 , 22 , 0 , 209
    Data  227 , 0 , 0 , 13 , 0 , 214
    Data  223 , 0 , 0 , 4 , 0 , 219 '60
    Data  219 , 0 , 4 , 0 , 0 , 223
    Data  214 , 0 , 13 , 0 , 0 , 227
    Data  209 , 0 , 22 , 0 , 0 , 231
    Data  204 , 0 , 31 , 0 , 0 , 235
    Data  198 , 0 , 40 , 0 , 0 , 238
    Data  192 , 0 , 49 , 0 , 0 , 241
    Data  186 , 0 , 57 , 0 , 0 , 244
    Data  180 , 0 , 66 , 0 , 0 , 246
    Data  174 , 0 , 75 , 0 , 0 , 248
    Data  167 , 0 , 83 , 0 , 0 , 250 '70
    Data  160 , 0 , 91 , 0 , 0 , 252
    Data  153 , 0 , 100 , 0 , 0 , 253
    Data  146 , 0 , 108 , 0 , 0 , 254
    Data  139 , 0 , 116 , 0 , 0 , 255
    Data  131 , 0 , 124 , 0 , 0 , 255
    Data  124 , 0 , 131 , 0 , 0 , 255
    Data  116 , 0 , 139 , 0 , 0 , 255
    Data  108 , 0 , 146 , 0 , 0 , 254
    Data  100 , 0 , 153 , 0 , 0 , 253
    Data  91 , 0 , 160 , 0 , 0 , 252 '80
    Data  83 , 0 , 167 , 0 , 0 , 250
    Data  75 , 0 , 174 , 0 , 0 , 248
    Data  66 , 0 , 180 , 0 , 0 , 246
    Data  57 , 0 , 186 , 0 , 0 , 244
    Data  49 , 0 , 192 , 0 , 0 , 241
    Data  40 , 0 , 198 , 0 , 0 , 238
    Data  31 , 0 , 204 , 0 , 0 , 235
    Data  22 , 0 , 209 , 0 , 0 , 231
    Data  13 , 0 , 214 , 0 , 0 , 227
    Data  4 , 0 , 219 , 0 , 0 , 223 '90
    Data  0 , 4 , 223 , 0 , 0 , 219
    Data  0 , 13 , 227 , 0 , 0 , 214
    Data  0 , 22 , 231 , 0 , 0 , 209
    Data  0 , 31 , 235 , 0 , 0 , 204
    Data  0 , 40 , 238 , 0 , 0 , 198
    Data  0 , 49 , 241 , 0 , 0 , 192
    Data  0 , 57 , 244 , 0 , 0 , 186
    Data  0 , 66 , 246 , 0 , 0 , 180
    Data  0 , 75 , 248 , 0 , 0 , 174
    Data  0 , 83 , 250 , 0 , 0 , 167 '100
    Data  0 , 91 , 252 , 0 , 0 , 160
    Data  0 , 100 , 253 , 0 , 0 , 153
    Data  0 , 108 , 254 , 0 , 0 , 146
    Data  0 , 116 , 255 , 0 , 0 , 139
    Data  0 , 124 , 255 , 0 , 0 , 131
    Data  0 , 131 , 255 , 0 , 0 , 124
    Data  0 , 139 , 255 , 0 , 0 , 116
    Data  0 , 146 , 254 , 0 , 0 , 108
    Data  0 , 153 , 253 , 0 , 0 , 100
    Data  0 , 160 , 252 , 0 , 0 , 91 '110
    Data  0 , 167 , 250 , 0 , 0 , 83
    Data  0 , 174 , 248 , 0 , 0 , 75
    Data  0 , 180 , 246 , 0 , 0 , 66
    Data  0 , 186 , 244 , 0 , 0 , 57
    Data  0 , 192 , 241 , 0 , 0 , 49
    Data  0 , 198 , 238 , 0 , 0 , 40
    Data  0 , 204 , 235 , 0 , 0 , 31
    Data  0 , 209 , 231 , 0 , 0 , 22
    Data  0 , 214 , 227 , 0 , 0 , 13
    Data  0 , 219 , 223 , 0 , 0 , 4 '120
    Data  0 , 223 , 219 , 0 , 4 , 0
    Data  0 , 227 , 214 , 0 , 13 , 0
    Data  0 , 231 , 209 , 0 , 22 , 0
    Data  0 , 235 , 204 , 0 , 31 , 0
    Data  0 , 238 , 198 , 0 , 40 , 0
    Data  0 , 241 , 192 , 0 , 49 , 0
    Data  0 , 244 , 186 , 0 , 57 , 0
    Data  0 , 246 , 180 , 0 , 66 , 0
    Data  0 , 248 , 174 , 0 , 75 , 0
    Data  0 , 250 , 167 , 0 , 83 , 0 '130
    Data  0 , 252 , 160 , 0 , 91 , 0
    Data  0 , 253 , 153 , 0 , 100 , 0
    Data  0 , 254 , 146 , 0 , 108 , 0
    Data  0 , 255 , 139 , 0 , 116 , 0
    Data  0 , 255 , 131 , 0 , 124 , 0
    Data  0 , 255 , 124 , 0 , 131 , 0
    Data  0 , 255 , 116 , 0 , 139 , 0
    Data  0 , 254 , 108 , 0 , 146 , 0
    Data  0 , 253 , 100 , 0 , 153 , 0
    Data  0 , 252 , 91 , 0 , 160 , 0 '140
    Data  0 , 250 , 83 , 0 , 167 , 0
    Data  0 , 248 , 75 , 0 , 174 , 0
    Data  0 , 246 , 66 , 0 , 180 , 0
    Data  0 , 244 , 57 , 0 , 186 , 0
    Data  0 , 241 , 49 , 0 , 192 , 0
    Data  0 , 238 , 40 , 0 , 198 , 0
    Data  0 , 235 , 31 , 0 , 204 , 0
    Data  0 , 231 , 22 , 0 , 209 , 0
    Data  0 , 227 , 13 , 0 , 214 , 0
    Data  0 , 223 , 4 , 0 , 219 , 0 '150
    Data  0 , 219 , 0 , 4 , 223 , 0
    Data  0 , 214 , 0 , 13 , 227 , 0
    Data  0 , 209 , 0 , 22 , 231 , 0
    Data  0 , 204 , 0 , 31 , 235 , 0
    Data  0 , 198 , 0 , 40 , 238 , 0
    Data  0 , 192 , 0 , 49 , 241 , 0
    Data  0 , 186 , 0 , 57 , 244 , 0
    Data  0 , 180 , 0 , 66 , 246 , 0
    Data  0 , 174 , 0 , 75 , 248 , 0
    Data  0 , 167 , 0 , 83 , 250 , 0 '160
    Data  0 , 160 , 0 , 91 , 252 , 0
    Data  0 , 153 , 0 , 100 , 253 , 0
    Data  0 , 146 , 0 , 108 , 254 , 0
    Data  0 , 139 , 0 , 116 , 255 , 0
    Data  0 , 131 , 0 , 124 , 255 , 0
    Data  0 , 124 , 0 , 131 , 255 , 0
    Data  0 , 116 , 0 , 139 , 255 , 0
    Data  0 , 108 , 0 , 146 , 254 , 0
    Data  0 , 100 , 0 , 153 , 253 , 0
    Data  0 , 91 , 0 , 160 , 252 , 0 '170
    Data  0 , 83 , 0 , 167 , 250 , 0
    Data  0 , 75 , 0 , 174 , 248 , 0
    Data  0 , 66 , 0 , 180 , 246 , 0
    Data  0 , 57 , 0 , 186 , 244 , 0
    Data  0 , 49 , 0 , 192 , 241 , 0
    Data  0 , 40 , 0 , 198 , 238 , 0
    Data  0 , 31 , 0 , 204 , 235 , 0
    Data  0 , 22 , 0 , 209 , 231 , 0
    Data  0 , 13 , 0 , 214 , 227 , 0
    Data  0 , 4 , 0 , 219 , 223 , 0 '180
    [/quote]
    ...

  7. #37
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    Kann mir denn keiner nen Tipp geben warum die Tabelle nicht funktioniert? bzw warum das Programm andere Werte als gewünscht aus der Tabelle holt?
    ...

  8. #38
    Erfahrener Benutzer Fleißiges Mitglied Avatar von mycroc
    Registriert seit
    29.11.2006
    Ort
    Bochum
    Beiträge
    111
    ich würde sagen das die werte T1=22 // T2=0 // T3=0 // T4=231 // T5=209 // T6=0 aus der Tabelle gelesen werden. welche werte erwartest du den?

  9. #39
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    kannst du mir das erklären?

    Hallo mycroc,
    sorry, das hätte ich natürlich besser beschreiben können

    habe mir das mit den Tabellen leichter vorgestellt....

    Also:

    Digitalsinus:
    ' T1, T2, T3 , T4, T5 , T6
    Data 4 , 0 , 0 , 223 , 219 , 0 'NULLTE ZEILE???
    Data 13 , 0 , 0 , 227 , 214 , 0
    Data 22 , 0 , 0 , 231 , 209 , 0 'ZWEITE ZEILE???
    Data 31 , 0 , 0 , 235 , 204 , 0
    Data 40 , 0 , 0 , 238 , 198 , 0
    Data 49 , 0 , 0 , 241 , 192 , 0
    Data 57 , 0 , 0 , 244 , 186 , 0
    Data 66 , 0 , 0 , 246 , 180 , 0
    Data 75 , 0 , 0 , 248 , 174 , 0

    du sagst in der 2.Zeile steht:
    T1=22 // T2=0 // T3=0 // T4=231 // T5=209 // T6=0
    Das LCD sagt
    T1=40 // T2=0 // T3=0 // T4=231 // T5=209 // T6=0

    Dann fängt man wohl mit Zeile 0 an oder? Na gut, aber dann hab ich immer noch die 40 am Anfang!
    LCD: Zeile 3:
    T1=57 // T2=0 // T3=0 // T4=235 // T5=204 // T6=0
    LCD: Zeile 4:
    T1=75 // T2=0 // T3=0 // T4=238 // T5=198 // T6=0

    Also T1 ist immer falsch....

    Tobias
    ...

  10. #40
    Erfahrener Benutzer Fleißiges Mitglied Avatar von mycroc
    Registriert seit
    29.11.2006
    Ort
    Bochum
    Beiträge
    111
    T1 = Lookup(position , Digitalsinus)
    wenn "position" = 0 wird aus deiner Tabelle der erste wert gelesen also "4"
    Zeile = 2
    Position = Zeile * 6
    -> macht dann 12 und der "12te" wert in deiner Tabelle ist 22. der wert steht bei dir als erster in Zeile drei. zu dem T1 wert kann ich nur vermuten das es an der LCD Ausgabe liegt und nicht an der Tabelle

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test