اطلاعیه

Collapse
No announcement yet.

کنترول سرعت سه تا موتور از راه دور با UART

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کنترول سرعت سه تا موتور از راه دور با UART

    سلام
    من می خوام سرعت سه تا موتور رو از راه دور کنترول کنم اما بعضی موقع ها سرعت موتور یک دفعه زیاد میشه بعد موتور اول با دوم هم کار نمکنه یعنی از PWM هست نمی دونم چشه وقتی با این Clear Up یا دون می کنم کار نمی کنه یعنی با حد اکثر سرعت می چرخه نه کم میشه نه زیاد
    برنامه فرستنده :
    کد:
    $regfile = "M16def.dat "
    $crystal = 11059200
    Baud = 9600
    Config Adc = Single , Prescaler = Auto
    Dim Adc1 As Word
    Dim Adc2 As Word
    Dim Adc3 As Word
    Dim U1 As Byte
    Dim U2 As Byte
    Dim U3 As Byte
    Declare Sub Pwm.1
    Declare Sub Pwm.2
    Declare Sub Pwm.3
    '******************ADC*************************************************************
    Do
    
    
    Adc2 = Getadc(1)
    Call Pwm.2
    Printbin U2
    
    
    Adc3 = Getadc(2)
    Call Pwm.3
    Printbin U3
    
    
    Loop
    End
    '**********************SUB****************************************************
    Sub Pwm.1
    Adc1 = Adc1 / 4
    If Adc1 = 3 Then
    U1 = 1
    End If
    
    If Adc1 = 6 Then
    U1 = 2
    End If
    
    If Adc1 = 9 Then
    U1 = 3
    End If
    
    If Adc1 = 12 Then
    U1 = 4
    End If
    
    If Adc1 = 15 Then
    U1 = 5
    End If
    
    If Adc1 = 18 Then
    U1 = 6
    End If
    
    If Adc1 = 21 Then
    U1 = 7
    End If
    
    If Adc1 = 24 Then
    U1 = 8
    End If
    
    If Adc1 = 27 Then
    U1 = 9
    End If
    
    If Adc1 = 30 Then
    U1 = 10
    End If
    
    If Adc1 = 33 Then
    U1 = 11
    End If
    
    If Adc1 = 36 Then
    U1 = 12
    End If
    
    If Adc1 = 39 Then
    U1 = 13
    End If
    
    If Adc1 = 42 Then
    U1 = 14
    End If
    
    
    If Adc1 = 45 Then
    U1 = 15
    End If
    
    If Adc1 = 48 Then
    U1 = 16
    End If
    
    If Adc1 = 51 Then
    U1 = 17
    End If
    
    If Adc1 = 54 Then
    U1 = 18
    End If
    
    If Adc1 = 57 Then
    U1 = 19
    End If
    
    If Adc1 = 60 Then
    U1 = 20
    End If
    
    If Adc1 = 63 Then
    U1 = 21
    End If
    
    If Adc1 = 66 Then
    U1 = 22
    End If
    
    If Adc1 = 69 Then
    U1 = 23
    End If
    
    If Adc1 = 72 Then
    U1 = 24
    End If
    
    If Adc1 = 75 Then
    U1 = 25
    End If
    
    If Adc1 = 78 Then
    U1 = 26
    End If
    
    If Adc1 = 81 Then
    U1 = 27
    End If
    
    If Adc1 = 84 Then
    U1 = 28
    End If
    
    If Adc1 = 87 Then
    U1 = 29
    End If
    
    If Adc1 = 90 Then
    U1 = 30
    End If
    
    If Adc1 = 93 Then
    U1 = 31
    End If
    
    If Adc1 = 96 Then
    U1 = 32
    End If
    
    If Adc1 = 99 Then
    U1 = 33
    End If
    
    If Adc1 = 102 Then
    U1 = 34
    End If
    
    If Adc1 = 105 Then
    U1 = 35
    End If
    
    If Adc1 = 108 Then
    U1 = 36
    End If
    
    If Adc1 = 111 Then
    U1 = 37
    End If
    
    If Adc1 = 114 Then
    U1 = 38
    End If
    
    If Adc1 = 117 Then
    U1 = 39
    End If
    
    If Adc1 = 120 Then
    U1 = 40
    End If
    
    If Adc1 = 123 Then
    U1 = 41
    End If
    
    If Adc1 = 126 Then
    U1 = 42
    End If
    
    If Adc1 = 129 Then
    U1 = 43
    End If
    
    If Adc1 = 132 Then
    U1 = 44
    End If
    
    If Adc1 = 135 Then
    U1 = 45
    End If
    
    If Adc1 = 138 Then
    U1 = 46
    End If
    
    If Adc1 = 141 Then
    U1 = 47
    End If
    
    If Adc1 = 144 Then
    U1 = 48
    End If
    
    If Adc1 = 147 Then
    U1 = 49
    End If
    
    If Adc1 = 150 Then
    U1 = 50
    End If
    
    If Adc1 = 153 Then
    U1 = 51
    End If
    
    If Adc1 = 156 Then
    U1 = 52
    End If
    
    If Adc1 = 159 Then
    U1 = 53
    End If
    
    If Adc1 = 162 Then
    U1 = 54
    End If
    
    If Adc1 = 165 Then
    U1 = 55
    End If
    
    If Adc1 = 168 Then
    U1 = 56
    End If
    
    If Adc1 = 171 Then
    U1 = 57
    End If
    
    If Adc1 = 174 Then
    U1 = 58
    End If
    
    If Adc1 = 177 Then
    U1 = 59
    End If
    
    If Adc1 = 180 Then
    U1 = 60
    End If
    
    If Adc1 = 183 Then
    U1 = 61
    End If
    
    If Adc1 = 186 Then
    U1 = 62
    End If
    
    If Adc1 = 189 Then
    U1 = 63
    End If
    
    If Adc1 = 192 Then
    U1 = 64
    End If
    
    If Adc1 = 195 Then
    U1 = 65
    End If
    
    If Adc1 = 198 Then
    U1 = 66
    End If
    
    If Adc1 = 201 Then
    U1 = 67
    End If
    
    If Adc1 = 204 Then
    U1 = 68
    End If
    
    If Adc1 = 207 Then
    U1 = 69
    End If
    
    If Adc1 = 210 Then
    U1 = 70
    End If
    
    If Adc1 = 213 Then
    U1 = 71
    End If
    
    If Adc1 = 216 Then
    U1 = 72
    End If
    
    If Adc1 = 219 Then
    U1 = 73
    End If
    
    If Adc1 = 222 Then
    U1 = 74
    End If
    
    If Adc1 = 225 Then
    U1 = 75
    End If
    
    If Adc1 = 228 Then
    U1 = 76
    End If
    
    If Adc1 = 231 Then
    U1 = 77
    End If
    
    If Adc1 = 234 Then
    U1 = 78
    End If
    
    If Adc1 = 237 Then
    U1 = 79
    End If
    
    If Adc1 = 240 Then
    U1 = 80
    End If
    
    If Adc1 = 243 Then
    U1 = 81
    End If
    
    If Adc1 = 246 Then
    U1 = 82
    End If
    
    If Adc1 = 249 Then
    U1 = 83
    End If
    
    If Adc1 = 252 Then
    U1 = 84
    End If
    
    If Adc1 = 255 Then
    U1 = 85
    End If
    End Sub
    
    '**********************************************************sub2****************************
    Sub Pwm.2
    Adc2 = Adc2 / 4
    If Adc2 = 3 Then
    U3 = 86
    End If
    
    If Adc2 = 6 Then
    U2 = 87
    End If
    
    If Adc2 = 9 Then
    U2 = 88
    End If
    
    If Adc2 = 12 Then
    U2 = 89
    End If
    
    If Adc2 = 15 Then
    U2 = 90
    End If
    
    If Adc2 = 18 Then
    U2 = 91
    End If
    
    If Adc2 = 21 Then
    U2 = 92
    End If
    
    If Adc2 = 24 Then
    U2 = 93
    End If
    
    If Adc2 = 27 Then
    U2 = 94
    End If
    
    If Adc2 = 30 Then
    U2 = 95
    End If
    
    If Adc2 = 33 Then
    U2 = 96
    End If
    
    If Adc2 = 36 Then
    U2 = 97
    End If
    
    If Adc2 = 39 Then
    U2 = 98
    End If
    
    If Adc2 = 42 Then
    U2 = 99
    End If
    
    If Adc2 = 45 Then
    U2 = 100
    End If
    
    If Adc2 = 48 Then
    U2 = 101
    End If
    
    If Adc2 = 51 Then
    U2 = 102
    End If
    
    If Adc2 = 54 Then
    U2 = 103
    End If
    
    If Adc2 = 57 Then
    U2 = 104
    End If
    
    If Adc2 = 60 Then
    U2 = 105
    End If
    
    If Adc2 = 63 Then
    U2 = 106
    End If
    
    If Adc2 = 66 Then
    U2 = 107
    End If
    
    If Adc2 = 69 Then
    U2 = 108
    End If
    
    If Adc2 = 72 Then
    U2 = 109
    End If
    
    If Adc2 = 75 Then
    U2 = 110
    End If
    
    If Adc2 = 78 Then
    U2 = 111
    End If
    
    If Adc2 = 81 Then
    U2 = 112
    End If
    
    If Adc2 = 84 Then
    U2 = 113
    End If
    
    If Adc2 = 87 Then
    U2 = 114
    End If
    
    If Adc2 = 90 Then
    U2 = 115
    End If
    
    If Adc2 = 93 Then
    U2 = 116
    End If
    
    If Adc2 = 96 Then
    U2 = 117
    End If
    
    If Adc2 = 99 Then
    U2 = 118
    End If
    
    If Adc2 = 102 Then
    U2 = 119
    End If
    
    If Adc2 = 105 Then
    U2 = 120
    End If
    
    If Adc2 = 108 Then
    U2 = 121
    End If
    
    If Adc2 = 111 Then
    U2 = 122
    End If
    
    If Adc2 = 114 Then
    U2 = 123
    End If
    
    If Adc2 = 117 Then
    U2 = 124
    End If
    
    If Adc2 = 120 Then
    U2 = 125
    End If
    
    If Adc2 = 123 Then
    U2 = 126
    End If
    
    If Adc2 = 126 Then
    U2 = 127
    End If
    
    If Adc2 = 129 Then
    U2 = 128
    End If
    
    If Adc2 = 132 Then
    U2 = 129
    End If
    
    If Adc2 = 135 Then
    U2 = 130
    End If
    
    If Adc2 = 138 Then
    U2 = 131
    End If
    
    If Adc2 = 141 Then
    U2 = 132
    End If
    
    If Adc2 = 144 Then
    U2 = 133
    End If
    
    If Adc2 = 147 Then
    U2 = 134
    End If
    
    If Adc2 = 150 Then
    U2 = 135
    End If
    
    If Adc2 = 153 Then
    U2 = 136
    End If
    
    If Adc2 = 156 Then
    U2 = 137
    End If
    
    If Adc2 = 159 Then
    U2 = 138
    End If
    
    If Adc2 = 162 Then
    U2 = 139
    End If
    
    If Adc2 = 165 Then
    U2 = 140
    End If
    
    If Adc2 = 168 Then
    U2 = 141
    End If
    
    If Adc2 = 171 Then
    U2 = 142
    End If
    
    If Adc2 = 174 Then
    U2 = 143
    End If
    
    If Adc2 = 177 Then
    U2 = 144
    End If
    
    If Adc2 = 180 Then
    U2 = 145
    End If
    
    If Adc2 = 183 Then
    U2 = 146
    End If
    
    If Adc2 = 186 Then
    U2 = 147
    End If
    
    If Adc2 = 189 Then
    U2 = 148
    End If
    
    If Adc2 = 192 Then
    U2 = 149
    End If
    
    If Adc2 = 195 Then
    U2 = 150
    End If
    
    If Adc2 = 198 Then
    U2 = 151
    End If
    
    If Adc2 = 201 Then
    U2 = 152
    End If
    
    If Adc2 = 204 Then
    U2 = 153
    End If
    
    If Adc2 = 207 Then
    U2 = 154
    End If
    
    If Adc2 = 210 Then
    U2 = 155
    End If
    
    If Adc2 = 213 Then
    U2 = 156
    End If
    
    If Adc2 = 216 Then
    U2 = 157
    End If
    
    If Adc2 = 219 Then
    U2 = 158
    End If
    
    If Adc2 = 222 Then
    U2 = 159
    End If
    
    If Adc2 = 225 Then
    U2 = 160
    End If
    
    If Adc2 = 228 Then
    U2 = 161
    End If
    
    If Adc2 = 231 Then
    U2 = 162
    End If
    
    If Adc2 = 234 Then
    U2 = 163
    End If
    
    If Adc2 = 237 Then
    U2 = 164
    End If
    
    If Adc2 = 240 Then
    U2 = 165
    End If
    
    If Adc2 = 243 Then
    U2 = 166
    End If
    
    If Adc2 = 246 Then
    U2 = 167
    End If
    
    If Adc2 = 249 Then
    U2 = 168
    End If
    
    If Adc2 = 252 Then
    U2 = 169
    End If
    
    If Adc2 = 255 Then
    U2 = 170
    End If
    End Sub
    
    '**************************************sub3**********************************************
    Sub Pwm.3
    Adc3 = Adc3 / 4
    If Adc3 = 3 Then
    U3 = 171
    End If
    
    If Adc3 = 6 Then
    U3 = 172
    End If
    
    If Adc3 = 9 Then
    U3 = 173
    End If
    
    If Adc3 = 12 Then
    U3 = 174
    End If
    
    If Adc3 = 15 Then
    U3 = 175
    End If
    
    If Adc3 = 18 Then
    U3 = 176
    End If
    
    If Adc3 = 21 Then
    U3 = 177
    End If
    
    If Adc3 = 24 Then
    U3 = 178
    End If
    
    If Adc3 = 27 Then
    U3 = 179
    End If
    
    If Adc3 = 30 Then
    U3 = 180
    End If
    
    If Adc3 = 33 Then
    U3 = 181
    End If
    
    If Adc3 = 36 Then
    U3 = 182
    End If
    
    If Adc3 = 39 Then
    U3 = 183
    End If
    
    If Adc3 = 42 Then
    U3 = 184
    End If
    
    
    If Adc3 = 45 Then
    U3 = 185
    End If
    
    If Adc3 = 48 Then
    U3 = 186
    End If
    
    If Adc3 = 51 Then
    U3 = 187
    End If
    
    If Adc3 = 54 Then
    U3 = 188
    End If
    
    If Adc3 = 57 Then
    U3 = 189
    End If
    
    If Adc3 = 60 Then
    U3 = 190
    End If
    
    If Adc3 = 63 Then
    U3 = 191
    End If
    
    If Adc3 = 66 Then
    U3 = 192
    End If
    
    If Adc3 = 69 Then
    U3 = 193
    End If
    
    If Adc3 = 72 Then
    U3 = 194
    End If
    
    If Adc3 = 75 Then
    U3 = 195
    End If
    
    If Adc3 = 78 Then
    U3 = 196
    End If
    
    If Adc3 = 81 Then
    U3 = 197
    End If
    
    If Adc3 = 84 Then
    U3 = 198
    End If
    
    If Adc3 = 87 Then
    U3 = 199
    End If
    
    If Adc3 = 90 Then
    U3 = 200
    End If
    
    If Adc3 = 93 Then
    U3 = 201
    End If
    
    If Adc3 = 96 Then
    U3 = 202
    End If
    
    If Adc3 = 99 Then
    U3 = 203
    End If
    
    If Adc3 = 102 Then
    U3 = 204
    End If
    
    If Adc3 = 105 Then
    U3 = 205
    End If
    
    If Adc3 = 108 Then
    U3 = 206
    End If
    
    If Adc3 = 111 Then
    U3 = 207
    End If
    
    If Adc3 = 114 Then
    U3 = 208
    End If
    
    If Adc3 = 117 Then
    U3 = 29
    End If
    
    If Adc3 = 120 Then
    U3 = 210
    End If
    
    If Adc3 = 123 Then
    U3 = 211
    End If
    
    If Adc3 = 126 Then
    U3 = 212
    End If
    
    If Adc3 = 129 Then
    U3 = 213
    End If
    
    If Adc3 = 132 Then
    U3 = 214
    End If
    
    If Adc3 = 135 Then
    U3 = 215
    End If
    
    If Adc3 = 138 Then
    U3 = 216
    End If
    
    If Adc3 = 141 Then
    U3 = 217
    End If
    
    If Adc3 = 144 Then
    U3 = 218
    End If
    
    If Adc3 = 147 Then
    U3 = 219
    End If
    
    If Adc3 = 150 Then
    U3 = 220
    End If
    
    If Adc3 = 153 Then
    U3 = 221
    End If
    
    If Adc3 = 156 Then
    U3 = 222
    End If
    
    If Adc3 = 159 Then
    U3 = 223
    End If
    
    If Adc3 = 162 Then
    U3 = 224
    End If
    
    If Adc3 = 165 Then
    U3 = 225
    End If
    
    If Adc3 = 168 Then
    U3 = 226
    End If
    
    If Adc3 = 171 Then
    U3 = 227
    End If
    
    If Adc3 = 174 Then
    U3 = 228
    End If
    
    If Adc3 = 177 Then
    U3 = 239
    End If
    
    If Adc3 = 180 Then
    U3 = 230
    End If
    
    If Adc3 = 183 Then
    U3 = 231
    End If
    
    If Adc3 = 186 Then
    U3 = 232
    End If
    
    If Adc3 = 189 Then
    U3 = 233
    End If
    
    If Adc3 = 192 Then
    U3 = 234
    End If
    
    If Adc3 = 195 Then
    U3 = 235
    End If
    
    If Adc3 = 198 Then
    U3 = 236
    End If
    
    If Adc3 = 201 Then
    U3 = 237
    End If
    
    If Adc3 = 204 Then
    U3 = 238
    End If
    
    If Adc3 = 207 Then
    U3 = 239
    End If
    
    If Adc3 = 210 Then
    U3 = 240
    End If
    
    If Adc3 = 213 Then
    U3 = 241
    End If
    
    If Adc3 = 216 Then
    U3 = 242
    End If
    
    If Adc3 = 219 Then
    U3 = 243
    End If
    
    If Adc3 = 222 Then
    U3 = 244
    End If
    
    If Adc3 = 225 Then
    U3 = 245
    End If
    
    If Adc3 = 228 Then
    U3 = 246
    End If
    
    If Adc3 = 231 Then
    U3 = 247
    End If
    
    If Adc3 = 234 Then
    U3 = 248
    End If
    
    If Adc3 = 237 Then
    U3 = 249
    End If
    
    If Adc3 = 240 Then
    U3 = 250
    End If
    
    If Adc3 = 243 Then
    U3 = 251
    End If
    
    If Adc3 = 246 Then
    U3 = 252
    End If
    
    If Adc3 = 249 Then
    U3 = 253
    End If
    
    If Adc3 = 252 Then
    U3 = 254
    End If
    
    If Adc3 = 255 Then
    U3 = 255
    End If
    End Sub





    بعد برنامه خیلی زیاده موتور تیک تیک می چرخه :mrgreen:

    #2
    پاسخ : مشکل با کنترول سرعت سه تا موتور با پروتکل UART

    برنامه گیرنده باهم ارسال نمیشد میگفت حجم ارسال زیاده :mrgreen: :mrgreen:

    برنامه گیرنده

    کد:
    $regfile = "M16def.dat "
    $crystal = 11059200
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
    Config Timer2 = Pwm , Prescale = 1 , Pwm = On , Compare Pwm = Clear Down
    Baud = 9600
    Config Porta = Output
    Config Pind.5 = Output
    Config Pind.4 = Output
    Config Pind.7 = Output
    
    Set Porta.0
    Set Porta.2
    Set Porta.1
    Dim Pw1 As Byte
    Dim Pw2 As Byte
    Dim Pw3 As Byte
    Declare Sub Pwm.1
    Declare Sub Pwm.2
    Declare Sub Pwm.3
    Enable Interrupts
    Enable Urxc
    On Urxc Uart
    Dim A As Byte
    
    Do
    Select Case A
    Case 0 To 85
    
    
    
    Case 86 To 170
    Call Pwm.2
    Print Pw2
    Pwm1b = Pw2
    
    
    Case 171 To 255
    Call Pwm.3
    Ocr2 = Pw3
    
    End Select
    Loop
    End
    '******************************************************************************************
    Sub Pwm.1
    
    If A = 0 Then
    Pw1 = 0
    End If
    
    If A = 1 Then
    Pw1 = 3
    End If
    
    If A = 2 Then
    Pw1 = 6
    End If
    
    If A = 3 Then
    Pw1 = 9
    End If
    
    If A = 4 Then
    Pw1 = 12
    End If
    
    If A = 5 Then
    Pw1 = 15
    End If
    
    If A = 6 Then
    Pw1 = 18
    End If
    
    If A = 7 Then
    Pw1 = 21
    End If
    
    If A = 8 Then
    Pw1 = 24
    End If
    
    If A = 9 Then
    Pw1 = 27
    End If
    
    If A = 10 Then
    Pw1 = 30
    End If
    
    If A = 11 Then
    Pw1 = 33
    End If
    
    If A = 12 Then
    Pw1 = 36
    End If
    
    If A = 13 Then
    Pw1 = 39
    End If
    
    If A = 14 Then
    Pw1 = 42
    End If
    
    If A = 15 Then
    Pw1 = 45
    End If
    
    If A = 16 Then
    Pw1 = 48
    End If
    
    If A = 17 Then
    Pw1 = 51
    End If
    
    If A = 18 Then
    Pw1 = 54
    End If
    
    If A = 19 Then
    Pw1 = 57
    End If
    
    If A = 20 Then
    Pw1 = 60
    End If
    
    If A = 21 Then
    Pw1 = 63
    End If
    
    If A = 22 Then
    Pw1 = 66
    End If
    
    If A = 23 Then
    Pw1 = 69
    End If
    
    If A = 24 Then
    Pw1 = 72
    End If
    
    If A = 25 Then
    Pw1 = 75
    End If
    
    If A = 26 Then
    Pw1 = 78
    End If
    
    If A = 27 Then
    Pw1 = 81
    End If
    
    If A = 28 Then
    Pw1 = 84
    End If
    
    If A = 29 Then
    Pw1 = 87
    End If
    
    If A = 30 Then
    Pw1 = 90
    End If
    
    If A = 31 Then
    Pw1 = 93
    End If
    
    If A = 32 Then
    Pw1 = 96
    End If
    
    If A = 33 Then
    Pw1 = 99
    End If
    
    If A = 34 Then
    Pw1 = 102
    End If
    
    If A = 35 Then
    Pw1 = 105
    End If
    
    If A = 36 Then
    Pw1 = 108
    End If
    
    If A = 37 Then
    Pw1 = 111
    End If
    
    If A = 38 Then
    Pw1 = 114
    End If
    
    If A = 39 Then
    Pw1 = 117
    End If
    
    If A = 40 Then
    Pw1 = 120
    End If
    
    If A = 41 Then
    Pw1 = 123
    End If
    
    If A = 42 Then
    Pw1 = 126
    End If
    
    If A = 43 Then
    Pw1 = 129
    End If
    
    If A = 44 Then
    Pw1 = 132
    End If
    
    If A = 45 Then
    Pw1 = 135
    End If
    
    If A = 46 Then
    Pw1 = 138
    End If
    
    If A = 47 Then
    Pw1 = 141
    End If
    
    If A = 48 Then
    Pw1 = 144
    End If
    
    If A = 49 Then
    Pw1 = 147
    End If
    
    If A = 50 Then
    Pw1 = 150
    End If
    
    If A = 51 Then
    Pw1 = 153
    End If
    
    If A = 52 Then
    Pw1 = 156
    End If
    
    If A = 53 Then
    Pw1 = 159
    End If
    
    If A = 54 Then
    Pw1 = 162
    End If
    
    If A = 55 Then
    Pw1 = 165
    End If
    
    If A = 56 Then
    Pw1 = 168
    End If
    
    If A = 57 Then
    Pw1 = 171
    End If
    
    If A = 58 Then
    Pw1 = 174
    End If
    
    If A = 59 Then
    Pw1 = 177
    End If
    
    If A = 60 Then
    Pw1 = 180
    End If
    
    If A = 61 Then
    Pw1 = 183
    End If
    
    If A = 62 Then
    Pw1 = 186
    End If
    
    If A = 63 Then
    Pw1 = 189
    End If
    
    If A = 64 Then
    Pw1 = 192
    End If
    
    If A = 65 Then
    Pw1 = 195
    End If
    
    If A = 66 Then
    Pw1 = 198
    End If
    
    If A = 67 Then
    Pw1 = 201
    End If
    
    If A = 68 Then
    Pw1 = 204
    End If
    
    If A = 69 Then
    Pw1 = 207
    End If
    
    If A = 70 Then
    Pw1 = 210
    End If
    
    If A = 71 Then
    Pw1 = 213
    End If
    
    If A = 72 Then
    Pw1 = 216
    End If
    
    If A = 73 Then
    Pw1 = 219
    End If
    
    If A = 74 Then
    Pw1 = 222
    End If
    
    If A = 75 Then
    Pw1 = 225
    End If
    
    If A = 76 Then
    Pw1 = 228
    End If
    
    If A = 77 Then
    Pw1 = 231
    End If
    
    If A = 78 Then
    Pw1 = 234
    End If
    
    If A = 79 Then
    Pw1 = 237
    End If
    
    If A = 80 Then
    Pw1 = 240
    End If
    
    If A = 81 Then
    Pw1 = 243
    End If
    
    If A = 82 Then
    Pw1 = 246
    End If
    
    If A = 83 Then
    Pw1 = 249
    End If
    
    If A = 84 Then
    Pw1 = 252
    End If
    
    If A = 85 Then
    Pw1 = 255
    End If
    End Sub
    
    '***************************sub2*************************************************************
    Sub Pwm.2
    
    If A = 86 Then
    Pw2 = 0
    End If
    
    If A = 87 Then
    Pw2 = 3
    End If
    
    If A = 88 Then
    Pw2 = 6
    End If
    
    If A = 89 Then
    Pw2 = 9
    End If
    
    If A = 90 Then
    Pw2 = 12
    End If
    
    If A = 91 Then
    Pw2 = 15
    End If
    
    If A = 92 Then
    Pw2 = 18
    End If
    
    If A = 93 Then
    Pw2 = 21
    End If
    
    If A = 94 Then
    Pw2 = 24
    End If
    
    If A = 95 Then
    Pw2 = 27
    End If
    
    If A = 96 Then
    Pw2 = 30
    End If
    
    If A = 97 Then
    Pw2 = 33
    End If
    
    If A = 98 Then
    Pw2 = 36
    End If
    
    If A = 99 Then
    Pw2 = 39
    End If
    
    If A = 100 Then
    Pw2 = 42
    End If
    
    If A = 101 Then
    Pw2 = 45
    End If
    
    If A = 102 Then
    Pw2 = 48
    End If
    
    If A = 103 Then
    Pw2 = 51
    End If
    
    If A = 104 Then
    Pw2 = 54
    End If
    
    If A = 105 Then
    Pw2 = 57
    End If
    
    If A = 106 Then
    Pw2 = 60
    End If
    
    If A = 107 Then
    Pw2 = 63
    End If
    
    If A = 108 Then
    Pw2 = 66
    End If
    
    If A = 109 Then
    Pw2 = 69
    End If
    
    If A = 110 Then
    Pw2 = 72
    End If
    
    If A = 111 Then
    Pw2 = 75
    End If
    
    If A = 112 Then
    Pw2 = 78
    End If
    
    If A = 113 Then
    Pw2 = 81
    End If
    
    If A = 114 Then
    Pw2 = 84
    End If
    
    If A = 115 Then
    Pw2 = 87
    End If
    
    If A = 116 Then
    Pw2 = 90
    End If
    
    If A = 117 Then
    Pw2 = 93
    End If
    
    If A = 118 Then
    Pw2 = 96
    End If
    
    If A = 119 Then
    Pw2 = 99
    End If
    
    If A = 120 Then
    Pw2 = 102
    End If
    
    If A = 121 Then
    Pw2 = 105
    End If
    
    If A = 122 Then
    Pw2 = 108
    End If
    
    If A = 123 Then
    Pw2 = 111
    End If
    
    If A = 124 Then
    Pw2 = 114
    End If
    
    If A = 125 Then
    Pw2 = 117
    End If
    
    If A = 126 Then
    Pw2 = 120
    End If
    
    If A = 127 Then
    Pw2 = 123
    End If
    
    If A = 128 Then
    Pw2 = 126
    End If
    
    If A = 129 Then
    Pw2 = 129
    End If
    
    If A = 130 Then
    Pw2 = 132
    End If
    
    If A = 131 Then
    Pw2 = 135
    End If
    
    If A = 132 Then
    Pw2 = 138
    End If
    
    If A = 133 Then
    Pw2 = 141
    End If
    
    If A = 134 Then
    Pw2 = 144
    End If
    
    If A = 135 Then
    Pw2 = 147
    End If
    
    If A = 136 Then
    Pw2 = 150
    End If
    
    If A = 137 Then
    Pw2 = 153
    End If
    
    If A = 138 Then
    Pw2 = 156
    End If
    
    If A = 139 Then
    Pw2 = 159
    End If
    
    If A = 140 Then
    Pw2 = 162
    End If
    
    If A = 141 Then
    Pw2 = 165
    End If
    
    If A = 142 Then
    Pw2 = 168
    End If
    
    If A = 143 Then
    Pw2 = 171
    End If
    
    If A = 144 Then
    Pw2 = 174
    End If
    
    If A = 145 Then
    Pw2 = 177
    End If
    
    If A = 146 Then
    Pw2 = 180
    End If
    
    If A = 147 Then
    Pw2 = 183
    End If
    
    If A = 148 Then
    Pw2 = 186
    End If
    
    If A = 149 Then
    Pw2 = 189
    End If
    
    If A = 150 Then
    Pw2 = 192
    End If
    
    If A = 151 Then
    Pw2 = 195
    End If
    
    If A = 152 Then
    Pw2 = 198
    End If
    
    If A = 153 Then
    Pw2 = 201
    End If
    
    If A = 154 Then
    Pw2 = 204
    End If
    
    If A = 155 Then
    Pw2 = 207
    End If
    
    If A = 156 Then
    Pw2 = 210
    End If
    
    If A = 157 Then
    Pw2 = 213
    End If
    
    If A = 158 Then
    Pw2 = 216
    End If
    
    If A = 159 Then
    Pw2 = 219
    End If
    
    If A = 160 Then
    Pw2 = 222
    End If
    
    If A = 161 Then
    Pw2 = 225
    End If
    
    If A = 162 Then
    Pw2 = 228
    End If
    
    If A = 163 Then
    Pw2 = 231
    End If
    
    If A = 164 Then
    Pw2 = 234
    End If
    
    If A = 165 Then
    Pw2 = 237
    End If
    
    If A = 166 Then
    Pw2 = 240
    End If
    
    If A = 167 Then
    Pw2 = 243
    End If
    
    If A = 168 Then
    Pw2 = 246
    End If
    
    If A = 169 Then
    Pw2 = 249
    End If
    
    If A = 170 Then
    Pw2 = 252
    End If
    
    If A = 171 Then
    Pw2 = 255
    End If
    End Sub
    
    '***************************sub3*************************************************************
    Sub Pwm.3
    
    If A = 171 Then
    Pw3 = 2
    End If
    
    If A = 172 Then
    Pw3 = 6
    End If
    
    If A = 173 Then
    Pw3 = 9
    End If
    
    If A = 174 Then
    Pw3 = 12
    End If
    
    If A = 175 Then
    Pw3 = 15
    End If
    
    If A = 176 Then
    Pw3 = 18
    End If
    
    If A = 177 Then
    Pw3 = 21
    End If
    
    If A = 178 Then
    Pw3 = 24
    End If
    
    If A = 179 Then
    Pw3 = 27
    End If
    
    If A = 180 Then
    Pw3 = 30
    End If
    
    If A = 181 Then
    Pw3 = 33
    End If
    
    If A = 182 Then
    Pw3 = 36
    End If
    
    If A = 183 Then
    Pw3 = 39
    End If
    
    If A = 184 Then
    Pw3 = 42
    End If
    
    If A = 185 Then
    Pw3 = 45
    End If
    
    If A = 186 Then
    Pw3 = 48
    End If
    
    If A = 187 Then
    Pw3 = 51
    End If
    
    If A = 188 Then
    Pw3 = 54
    End If
    
    If A = 189 Then
    Pw3 = 57
    End If
    
    If A = 190 Then
    Pw3 = 60
    End If
    
    If A = 191 Then
    Pw3 = 63
    End If
    
    If A = 192 Then
    Pw3 = 66
    End If
    
    If A = 193 Then
    Pw3 = 69
    End If
    
    If A = 194 Then
    Pw3 = 72
    End If
    
    If A = 195 Then
    Pw3 = 75
    End If
    
    If A = 196 Then
    Pw3 = 78
    End If
    
    If A = 197 Then
    Pw3 = 81
    End If
    
    If A = 198 Then
    Pw3 = 84
    End If
    
    If A = 199 Then
    Pw3 = 87
    End If
    
    If A = 200 Then
    Pw3 = 90
    End If
    
    If A = 201 Then
    Pw3 = 93
    End If
    
    If A = 202 Then
    Pw3 = 96
    End If
    
    If A = 203 Then
    Pw3 = 99
    End If
    
    If A = 204 Then
    Pw3 = 102
    End If
    
    If A = 205 Then
    Pw3 = 105
    End If
    
    If A = 206 Then
    Pw3 = 108
    End If
    
    If A = 207 Then
    Pw3 = 111
    End If
    
    If A = 208 Then
    Pw3 = 114
    End If
    
    If A = 209 Then
    Pw3 = 117
    End If
    
    If A = 210 Then
    Pw3 = 120
    End If
    
    If A = 211 Then
    Pw3 = 123
    End If
    
    If A = 212 Then
    Pw3 = 126
    End If
    
    If A = 213 Then
    Pw3 = 129
    End If
    
    If A = 214 Then
    Pw3 = 132
    End If
    
    If A = 215 Then
    Pw3 = 135
    End If
    
    If A = 216 Then
    Pw3 = 138
    End If
    
    If A = 217 Then
    Pw3 = 141
    End If
    
    If A = 218 Then
    Pw3 = 144
    End If
    
    If A = 219 Then
    Pw3 = 147
    End If
    
    If A = 220 Then
    Pw3 = 150
    End If
    
    If A = 221 Then
    Pw3 = 153
    End If
    
    If A = 222 Then
    Pw3 = 156
    End If
    
    If A = 223 Then
    Pw3 = 159
    End If
    
    If A = 224 Then
    Pw3 = 162
    End If
    
    If A = 225 Then
    Pw3 = 165
    End If
    
    If A = 226 Then
    Pw3 = 168
    End If
    
    If A = 227 Then
    Pw3 = 171
    End If
    
    If A = 228 Then
    Pw3 = 174
    End If
    
    If A = 229 Then
    Pw3 = 177
    End If
    
    If A = 230 Then
    Pw3 = 180
    End If
    
    If A = 231 Then
    Pw3 = 183
    End If
    
    If A = 232 Then
    Pw3 = 186
    End If
    
    If A = 233 Then
    Pw3 = 189
    End If
    
    If A = 234 Then
    Pw3 = 192
    End If
    
    If A = 235 Then
    Pw3 = 195
    End If
    
    If A = 236 Then
    Pw3 = 198
    End If
    
    If A = 237 Then
    Pw3 = 201
    End If
    
    If A = 238 Then
    Pw3 = 204
    End If
    
    If A = 239 Then
    Pw3 = 207
    End If
    
    If A = 240 Then
    Pw3 = 210
    End If
    
    If A = 241 Then
    Pw3 = 213
    End If
    
    If A = 242 Then
    Pw3 = 216
    End If
    
    If A = 243 Then
    Pw3 = 219
    End If
    
    If A = 244 Then
    Pw3 = 222
    End If
    
    If A = 245 Then
    Pw3 = 225
    End If
    
    If A = 246 Then
    Pw3 = 228
    End If
    
    If A = 247 Then
    Pw3 = 231
    End If
    
    If A = 248 Then
    Pw3 = 234
    End If
    
    If A = 249 Then
    Pw3 = 237
    End If
    
    If A = 250 Then
    Pw3 = 240
    End If
    
    If A = 251 Then
    Pw3 = 243
    End If
    
    If A = 252 Then
    Pw3 = 246
    End If
    
    If A = 253 Then
    Pw3 = 249
    End If
    
    If A = 254 Then
    Pw3 = 252
    End If
    
    If A = 255 Then
    Pw3 = 255
    End If
    End Sub
    
    
    
    
    Uart:
    A = Udr
    Return

    دیدگاه


      #3
      پاسخ : مشکل با کنترول سرعت سه تا موتور با پروتکل UART

      بی خود نشستم 800 خط برنامه نوشتم :mrgreen:
      بعد الان میگید چیکار کنم ساده بگم می خوام سه تا عدد که از 0 تا 255 متغیر باشه رو بفرسم (با ماژول )

      دیدگاه


        #4
        پاسخ : مشکل با کنترول سرعت سه تا موتور با پروتکل UART

        :angry: :angry: :angry: :angry: :angry:
        خیلی عجله دارم

        دیدگاه


          #5
          پاسخ : مشکل با کنترول سرعت سه تا موتور با پروتکل UART

          اگه این درست بشه AVR ولش میکنم :redface:
          همش 27 تا باز دید داشته :cry2:

          دیدگاه


            #6
            پاسخ : مشکل با کنترول سرعت سه تا موتور با پروتکل UART

            شد 29 تا :biggrin:
            اگه از این برنامه سر دار نمی ارید می خوام یه برنامه دیگه بنویسم ؟

            دیدگاه


              #7
              پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

              سلام دادا
              کاری نداره. من با codevision می نویسم. کافیه با pc سه تا متغیرت رو ارسال کنی و با avr (البته با وقفه سریال) ورودی رو بخونی. من می توام برنامه pc رو برات بنویسم (با #C) البته اگه عجله ای نباشه :nice:
              تشکر لازم نیست!

              دیدگاه


                #8
                پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

                نوشته اصلی توسط iman-63
                سلام دادا
                کاری نداره. من با codevision می نویسم. کافیه با pc سه تا متغیرت رو ارسال کنی و با avr (البته با وقفه سریال) ورودی رو بخونی. من می توام برنامه pc رو برات بنویسم (با #C) البته اگه عجله ای نباشه :nice:
                سلام چطوری :mrgreen:
                با PC نمی خوام ارسال کنم با یه میکرو دیگه که بهش سه تا پتانسومتر وصل کردم هر پتانسیومتر برای یه موتوره سوعتشو تنظیم میکنه اگه نخواستی بنویسی بگو چطوری باید بنویسم خودم با بیسک می نویسم
                اهان پتاسیومتر ها رو وصل کردم به 0 تا 2 :biggrin:

                دیدگاه


                  #9
                  پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

                  :cry2: :cry2:

                  دیدگاه


                    #10
                    پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

                    داداش چه خبره؟ دیگه if نداشتی بندازی تو برنامه؟
                    زیاد از بسکام سر در نمیارم اما اونجور که فهمیدم خیلی پیچوندی برنامه رو.
                    تو میکرو اول 3تا adc رو میخونی. بعد این 3تا عدد رو با یه قالب خاص میفرستی.چند میلی ثانیه صبر کن دوباره....
                    تو گیرنده هم توسط اینتراپت اون قالب رو میگیری و اون 3 تا عدد رو به pwm میفرستی. تمام.
                    adc رو هم 8بیتی بگیر که نیاز نباشه 2بایت برای هر کدوم بگیری و دیتات بشه 6 بایت. از روش های میانگین گیری هم استفاده نکردی زیاد مهم نیست....
                    فرکانس pwm رو هم یکم ببر بالاتر که موتور ها نرم حرکت کنند.این درست شد در مورد اینکه نرم تر موتور ها سرعتش تغییر کنه هم صحبت میکنیم.
                    [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

                    دیدگاه


                      #11
                      پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

                      برنامه رو این طوری کردم
                      کد:
                      $regfile = "M16def.dat "
                      $crystal = 800000
                      Baud = 9600
                      Config Adc = Single , Prescaler = Auto
                      Dim Adc1 As Word
                      Dim Adc2 As Word
                      Dim Adc3 As Word
                      Dim U1 As Byte
                      Dim U2 As Byte
                      Dim U3 As Byte
                      Declare Sub Pwm.1
                      Declare Sub Pwm.2
                      Declare Sub Pwm.3
                      '******************ADC*************************************************************
                      Do
                      
                      Adc1 = Getadc(0)
                      Call Pwm.1
                      Printbin U1
                      Print U1
                      Waitms 2
                      
                      
                      Adc2 = Getadc(1)
                      Call Pwm.2
                      Printbin U2
                      Print U2
                      Waitms 2
                      
                      
                      Adc3 = Getadc(2)
                      Call Pwm.3
                      Printbin U3
                      Print U3
                      Waitms 1.2
                      
                      Loop
                      End
                      '**********************SUB****************************************************
                      Sub Pwm.1
                      Adc1 = Adc1 / 4
                      If Adc1 = 3 Then
                      U1 = 1
                      End If
                      
                      If Adc1 = 6 Then
                      U1 = 2
                      End If
                      
                      If Adc1 = 9 Then
                      U1 = 3
                      End If
                      
                      If Adc1 = 12 Then
                      U1 = 4
                      End If
                      
                      If Adc1 = 15 Then
                      U1 = 5
                      End If
                      
                      If Adc1 = 18 Then
                      U1 = 6
                      End If
                      
                      If Adc1 = 21 Then
                      U1 = 7
                      End If
                      
                      If Adc1 = 24 Then
                      U1 = 8
                      End If
                      
                      If Adc1 = 27 Then
                      U1 = 9
                      End If
                      
                      If Adc1 = 30 Then
                      U1 = 10
                      End If
                      
                      If Adc1 = 33 Then
                      U1 = 11
                      End If
                      
                      If Adc1 = 36 Then
                      U1 = 12
                      End If
                      
                      If Adc1 = 39 Then
                      U1 = 13
                      End If
                      
                      If Adc1 = 42 Then
                      U1 = 14
                      End If
                      
                      
                      If Adc1 = 45 Then
                      U1 = 15
                      End If
                      
                      If Adc1 = 48 Then
                      U1 = 16
                      End If
                      
                      If Adc1 = 51 Then
                      U1 = 17
                      End If
                      
                      If Adc1 = 54 Then
                      U1 = 18
                      End If
                      
                      If Adc1 = 57 Then
                      U1 = 19
                      End If
                      
                      If Adc1 = 60 Then
                      U1 = 20
                      End If
                      
                      If Adc1 = 63 Then
                      U1 = 21
                      End If
                      
                      If Adc1 = 66 Then
                      U1 = 22
                      End If
                      
                      If Adc1 = 69 Then
                      U1 = 23
                      End If
                      
                      If Adc1 = 72 Then
                      U1 = 24
                      End If
                      
                      If Adc1 = 75 Then
                      U1 = 25
                      End If
                      
                      If Adc1 = 78 Then
                      U1 = 26
                      End If
                      
                      If Adc1 = 81 Then
                      U1 = 27
                      End If
                      
                      If Adc1 = 84 Then
                      U1 = 28
                      End If
                      
                      If Adc1 = 87 Then
                      U1 = 29
                      End If
                      
                      If Adc1 = 90 Then
                      U1 = 30
                      End If
                      
                      If Adc1 = 93 Then
                      U1 = 31
                      End If
                      
                      If Adc1 = 96 Then
                      U1 = 32
                      End If
                      
                      If Adc1 = 99 Then
                      U1 = 33
                      End If
                      
                      If Adc1 = 102 Then
                      U1 = 34
                      End If
                      
                      If Adc1 = 105 Then
                      U1 = 35
                      End If
                      
                      If Adc1 = 108 Then
                      U1 = 36
                      End If
                      
                      If Adc1 = 111 Then
                      U1 = 37
                      End If
                      
                      If Adc1 = 114 Then
                      U1 = 38
                      End If
                      
                      If Adc1 = 117 Then
                      U1 = 39
                      End If
                      
                      If Adc1 = 120 Then
                      U1 = 40
                      End If
                      
                      If Adc1 = 123 Then
                      U1 = 41
                      End If
                      
                      If Adc1 = 126 Then
                      U1 = 42
                      End If
                      
                      If Adc1 = 129 Then
                      U1 = 43
                      End If
                      
                      If Adc1 = 132 Then
                      U1 = 44
                      End If
                      
                      If Adc1 = 135 Then
                      U1 = 45
                      End If
                      
                      If Adc1 = 138 Then
                      U1 = 46
                      End If
                      
                      If Adc1 = 141 Then
                      U1 = 47
                      End If
                      
                      If Adc1 = 144 Then
                      U1 = 48
                      End If
                      
                      If Adc1 = 147 Then
                      U1 = 49
                      End If
                      
                      If Adc1 = 150 Then
                      U1 = 50
                      End If
                      
                      If Adc1 = 153 Then
                      U1 = 51
                      End If
                      
                      If Adc1 = 156 Then
                      U1 = 52
                      End If
                      
                      If Adc1 = 159 Then
                      U1 = 53
                      End If
                      
                      If Adc1 = 162 Then
                      U1 = 54
                      End If
                      
                      If Adc1 = 165 Then
                      U1 = 55
                      End If
                      
                      If Adc1 = 168 Then
                      U1 = 56
                      End If
                      
                      If Adc1 = 171 Then
                      U1 = 57
                      End If
                      
                      If Adc1 = 174 Then
                      U1 = 58
                      End If
                      
                      If Adc1 = 177 Then
                      U1 = 59
                      End If
                      
                      If Adc1 = 180 Then
                      U1 = 60
                      End If
                      
                      If Adc1 = 183 Then
                      U1 = 61
                      End If
                      
                      If Adc1 = 186 Then
                      U1 = 62
                      End If
                      
                      If Adc1 = 189 Then
                      U1 = 63
                      End If
                      
                      If Adc1 = 192 Then
                      U1 = 64
                      End If
                      
                      If Adc1 = 195 Then
                      U1 = 65
                      End If
                      
                      If Adc1 = 198 Then
                      U1 = 66
                      End If
                      
                      If Adc1 = 201 Then
                      U1 = 67
                      End If
                      
                      If Adc1 = 204 Then
                      U1 = 68
                      End If
                      
                      If Adc1 = 207 Then
                      U1 = 69
                      End If
                      
                      If Adc1 = 210 Then
                      U1 = 70
                      End If
                      
                      If Adc1 = 213 Then
                      U1 = 71
                      End If
                      
                      If Adc1 = 216 Then
                      U1 = 72
                      End If
                      
                      If Adc1 = 219 Then
                      U1 = 73
                      End If
                      
                      If Adc1 = 222 Then
                      U1 = 74
                      End If
                      
                      If Adc1 = 225 Then
                      U1 = 75
                      End If
                      
                      If Adc1 = 228 Then
                      U1 = 76
                      End If
                      
                      If Adc1 = 231 Then
                      U1 = 77
                      End If
                      
                      If Adc1 = 234 Then
                      U1 = 78
                      End If
                      
                      If Adc1 = 237 Then
                      U1 = 79
                      End If
                      
                      If Adc1 = 240 Then
                      U1 = 80
                      End If
                      
                      If Adc1 = 243 Then
                      U1 = 81
                      End If
                      
                      If Adc1 = 246 Then
                      U1 = 82
                      End If
                      
                      If Adc1 = 249 Then
                      U1 = 83
                      End If
                      
                      If Adc1 = 252 Then
                      U1 = 84
                      End If
                      
                      If Adc1 = 255 Then
                      U1 = 85
                      End If
                      End Sub
                      
                      '**********************************************************sub2****************************
                      Sub Pwm.2
                      Adc2 = Adc2 / 4
                      If Adc2 = 3 Then
                      U3 = 86
                      End If
                      
                      If Adc2 = 6 Then
                      U2 = 87
                      End If
                      
                      If Adc2 = 9 Then
                      U2 = 88
                      End If
                      
                      If Adc2 = 12 Then
                      U2 = 89
                      End If
                      
                      If Adc2 = 15 Then
                      U2 = 90
                      End If
                      
                      If Adc2 = 18 Then
                      U2 = 91
                      End If
                      
                      If Adc2 = 21 Then
                      U2 = 92
                      End If
                      
                      If Adc2 = 24 Then
                      U2 = 93
                      End If
                      
                      If Adc2 = 27 Then
                      U2 = 94
                      End If
                      
                      If Adc2 = 30 Then
                      U2 = 95
                      End If
                      
                      If Adc2 = 33 Then
                      U2 = 96
                      End If
                      
                      If Adc2 = 36 Then
                      U2 = 97
                      End If
                      
                      If Adc2 = 39 Then
                      U2 = 98
                      End If
                      
                      If Adc2 = 42 Then
                      U2 = 99
                      End If
                      
                      If Adc2 = 45 Then
                      U2 = 100
                      End If
                      
                      If Adc2 = 48 Then
                      U2 = 101
                      End If
                      
                      If Adc2 = 51 Then
                      U2 = 102
                      End If
                      
                      If Adc2 = 54 Then
                      U2 = 103
                      End If
                      
                      If Adc2 = 57 Then
                      U2 = 104
                      End If
                      
                      If Adc2 = 60 Then
                      U2 = 105
                      End If
                      
                      If Adc2 = 63 Then
                      U2 = 106
                      End If
                      
                      If Adc2 = 66 Then
                      U2 = 107
                      End If
                      
                      If Adc2 = 69 Then
                      U2 = 108
                      End If
                      
                      If Adc2 = 72 Then
                      U2 = 109
                      End If
                      
                      If Adc2 = 75 Then
                      U2 = 110
                      End If
                      
                      If Adc2 = 78 Then
                      U2 = 111
                      End If
                      
                      If Adc2 = 81 Then
                      U2 = 112
                      End If
                      
                      If Adc2 = 84 Then
                      U2 = 113
                      End If
                      
                      If Adc2 = 87 Then
                      U2 = 114
                      End If
                      
                      If Adc2 = 90 Then
                      U2 = 115
                      End If
                      
                      If Adc2 = 93 Then
                      U2 = 116
                      End If
                      
                      If Adc2 = 96 Then
                      U2 = 117
                      End If
                      
                      If Adc2 = 99 Then
                      U2 = 118
                      End If
                      
                      If Adc2 = 102 Then
                      U2 = 119
                      End If
                      
                      If Adc2 = 105 Then
                      U2 = 120
                      End If
                      
                      If Adc2 = 108 Then
                      U2 = 121
                      End If
                      
                      If Adc2 = 111 Then
                      U2 = 122
                      End If
                      
                      If Adc2 = 114 Then
                      U2 = 123
                      End If
                      
                      If Adc2 = 117 Then
                      U2 = 124
                      End If
                      
                      If Adc2 = 120 Then
                      U2 = 125
                      End If
                      
                      If Adc2 = 123 Then
                      U2 = 126
                      End If
                      
                      If Adc2 = 126 Then
                      U2 = 127
                      End If
                      
                      If Adc2 = 129 Then
                      U2 = 128
                      End If
                      
                      If Adc2 = 132 Then
                      U2 = 129
                      End If
                      
                      If Adc2 = 135 Then
                      U2 = 130
                      End If
                      
                      If Adc2 = 138 Then
                      U2 = 131
                      End If
                      
                      If Adc2 = 141 Then
                      U2 = 132
                      End If
                      
                      If Adc2 = 144 Then
                      U2 = 133
                      End If
                      
                      If Adc2 = 147 Then
                      U2 = 134
                      End If
                      
                      If Adc2 = 150 Then
                      U2 = 135
                      End If
                      
                      If Adc2 = 153 Then
                      U2 = 136
                      End If
                      
                      If Adc2 = 156 Then
                      U2 = 137
                      End If
                      
                      If Adc2 = 159 Then
                      U2 = 138
                      End If
                      
                      If Adc2 = 162 Then
                      U2 = 139
                      End If
                      
                      If Adc2 = 165 Then
                      U2 = 140
                      End If
                      
                      If Adc2 = 168 Then
                      U2 = 141
                      End If
                      
                      If Adc2 = 171 Then
                      U2 = 142
                      End If
                      
                      If Adc2 = 174 Then
                      U2 = 143
                      End If
                      
                      If Adc2 = 177 Then
                      U2 = 144
                      End If
                      
                      If Adc2 = 180 Then
                      U2 = 145
                      End If
                      
                      If Adc2 = 183 Then
                      U2 = 146
                      End If
                      
                      If Adc2 = 186 Then
                      U2 = 147
                      End If
                      
                      If Adc2 = 189 Then
                      U2 = 148
                      End If
                      
                      If Adc2 = 192 Then
                      U2 = 149
                      End If
                      
                      If Adc2 = 195 Then
                      U2 = 150
                      End If
                      
                      If Adc2 = 198 Then
                      U2 = 151
                      End If
                      
                      If Adc2 = 201 Then
                      U2 = 152
                      End If
                      
                      If Adc2 = 204 Then
                      U2 = 153
                      End If
                      
                      If Adc2 = 207 Then
                      U2 = 154
                      End If
                      
                      If Adc2 = 210 Then
                      U2 = 155
                      End If
                      
                      If Adc2 = 213 Then
                      U2 = 156
                      End If
                      
                      If Adc2 = 216 Then
                      U2 = 157
                      End If
                      
                      If Adc2 = 219 Then
                      U2 = 158
                      End If
                      
                      If Adc2 = 222 Then
                      U2 = 159
                      End If
                      
                      If Adc2 = 225 Then
                      U2 = 160
                      End If
                      
                      If Adc2 = 228 Then
                      U2 = 161
                      End If
                      
                      If Adc2 = 231 Then
                      U2 = 162
                      End If
                      
                      If Adc2 = 234 Then
                      U2 = 163
                      End If
                      
                      If Adc2 = 237 Then
                      U2 = 164
                      End If
                      
                      If Adc2 = 240 Then
                      U2 = 165
                      End If
                      
                      If Adc2 = 243 Then
                      U2 = 166
                      End If
                      
                      If Adc2 = 246 Then
                      U2 = 167
                      End If
                      
                      If Adc2 = 249 Then
                      U2 = 168
                      End If
                      
                      If Adc2 = 252 Then
                      U2 = 169
                      End If
                      
                      If Adc2 = 255 Then
                      U2 = 170
                      End If
                      End Sub
                      
                      '**************************************sub3**********************************************
                      Sub Pwm.3
                      Adc3 = Adc3 / 4
                      If Adc3 = 3 Then
                      U3 = 171
                      End If
                      
                      If Adc3 = 6 Then
                      U3 = 172
                      End If
                      
                      If Adc3 = 9 Then
                      U3 = 173
                      End If
                      
                      If Adc3 = 12 Then
                      U3 = 174
                      End If
                      
                      If Adc3 = 15 Then
                      U3 = 175
                      End If
                      
                      If Adc3 = 18 Then
                      U3 = 176
                      End If
                      
                      If Adc3 = 21 Then
                      U3 = 177
                      End If
                      
                      If Adc3 = 24 Then
                      U3 = 178
                      End If
                      
                      If Adc3 = 27 Then
                      U3 = 179
                      End If
                      
                      If Adc3 = 30 Then
                      U3 = 180
                      End If
                      
                      If Adc3 = 33 Then
                      U3 = 181
                      End If
                      
                      If Adc3 = 36 Then
                      U3 = 182
                      End If
                      
                      If Adc3 = 39 Then
                      U3 = 183
                      End If
                      
                      If Adc3 = 42 Then
                      U3 = 184
                      End If
                      
                      
                      If Adc3 = 45 Then
                      U3 = 185
                      End If
                      
                      If Adc3 = 48 Then
                      U3 = 186
                      End If
                      
                      If Adc3 = 51 Then
                      U3 = 187
                      End If
                      
                      If Adc3 = 54 Then
                      U3 = 188
                      End If
                      
                      If Adc3 = 57 Then
                      U3 = 189
                      End If
                      
                      If Adc3 = 60 Then
                      U3 = 190
                      End If
                      
                      If Adc3 = 63 Then
                      U3 = 191
                      End If
                      
                      If Adc3 = 66 Then
                      U3 = 192
                      End If
                      
                      If Adc3 = 69 Then
                      U3 = 193
                      End If
                      
                      If Adc3 = 72 Then
                      U3 = 194
                      End If
                      
                      If Adc3 = 75 Then
                      U3 = 195
                      End If
                      
                      If Adc3 = 78 Then
                      U3 = 196
                      End If
                      
                      If Adc3 = 81 Then
                      U3 = 197
                      End If
                      
                      If Adc3 = 84 Then
                      U3 = 198
                      End If
                      
                      If Adc3 = 87 Then
                      U3 = 199
                      End If
                      
                      If Adc3 = 90 Then
                      U3 = 200
                      End If
                      
                      If Adc3 = 93 Then
                      U3 = 201
                      End If
                      
                      If Adc3 = 96 Then
                      U3 = 202
                      End If
                      
                      If Adc3 = 99 Then
                      U3 = 203
                      End If
                      
                      If Adc3 = 102 Then
                      U3 = 204
                      End If
                      
                      If Adc3 = 105 Then
                      U3 = 205
                      End If
                      
                      If Adc3 = 108 Then
                      U3 = 206
                      End If
                      
                      If Adc3 = 111 Then
                      U3 = 207
                      End If
                      
                      If Adc3 = 114 Then
                      U3 = 208
                      End If
                      
                      If Adc3 = 117 Then
                      U3 = 29
                      End If
                      
                      If Adc3 = 120 Then
                      U3 = 210
                      End If
                      
                      If Adc3 = 123 Then
                      U3 = 211
                      End If
                      
                      If Adc3 = 126 Then
                      U3 = 212
                      End If
                      
                      If Adc3 = 129 Then
                      U3 = 213
                      End If
                      
                      If Adc3 = 132 Then
                      U3 = 214
                      End If
                      
                      If Adc3 = 135 Then
                      U3 = 215
                      End If
                      
                      If Adc3 = 138 Then
                      U3 = 216
                      End If
                      
                      If Adc3 = 141 Then
                      U3 = 217
                      End If
                      
                      If Adc3 = 144 Then
                      U3 = 218
                      End If
                      
                      If Adc3 = 147 Then
                      U3 = 219
                      End If
                      
                      If Adc3 = 150 Then
                      U3 = 220
                      End If
                      
                      If Adc3 = 153 Then
                      U3 = 221
                      End If
                      
                      If Adc3 = 156 Then
                      U3 = 222
                      End If
                      
                      If Adc3 = 159 Then
                      U3 = 223
                      End If
                      
                      If Adc3 = 162 Then
                      U3 = 224
                      End If
                      
                      If Adc3 = 165 Then
                      U3 = 225
                      End If
                      
                      If Adc3 = 168 Then
                      U3 = 226
                      End If
                      
                      If Adc3 = 171 Then
                      U3 = 227
                      End If
                      
                      If Adc3 = 174 Then
                      U3 = 228
                      End If
                      
                      If Adc3 = 177 Then
                      U3 = 239
                      End If
                      
                      If Adc3 = 180 Then
                      U3 = 230
                      End If
                      
                      If Adc3 = 183 Then
                      U3 = 231
                      End If
                      
                      If Adc3 = 186 Then
                      U3 = 232
                      End If
                      
                      If Adc3 = 189 Then
                      U3 = 233
                      End If
                      
                      If Adc3 = 192 Then
                      U3 = 234
                      End If
                      
                      If Adc3 = 195 Then
                      U3 = 235
                      End If
                      
                      If Adc3 = 198 Then
                      U3 = 236
                      End If
                      
                      If Adc3 = 201 Then
                      U3 = 237
                      End If
                      
                      If Adc3 = 204 Then
                      U3 = 238
                      End If
                      
                      If Adc3 = 207 Then
                      U3 = 239
                      End If
                      
                      If Adc3 = 210 Then
                      U3 = 240
                      End If
                      
                      If Adc3 = 213 Then
                      U3 = 241
                      End If
                      
                      If Adc3 = 216 Then
                      U3 = 242
                      End If
                      
                      If Adc3 = 219 Then
                      U3 = 243
                      End If
                      
                      If Adc3 = 222 Then
                      U3 = 244
                      End If
                      
                      If Adc3 = 225 Then
                      U3 = 245
                      End If
                      
                      If Adc3 = 228 Then
                      U3 = 246
                      End If
                      
                      If Adc3 = 231 Then
                      U3 = 247
                      End If
                      
                      If Adc3 = 234 Then
                      U3 = 248
                      End If
                      
                      If Adc3 = 237 Then
                      U3 = 249
                      End If
                      
                      If Adc3 = 240 Then
                      U3 = 250
                      End If
                      
                      If Adc3 = 243 Then
                      U3 = 251
                      End If
                      
                      If Adc3 = 246 Then
                      U3 = 252
                      End If
                      
                      If Adc3 = 249 Then
                      U3 = 253
                      End If
                      
                      If Adc3 = 252 Then
                      U3 = 254
                      End If
                      
                      If Adc3 = 255 Then
                      U3 = 255
                      End If
                      End Sub

                      دیدگاه


                        #12
                        پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

                        کد:
                        $regfile = "M16def.dat "
                        $crystal = 8000000
                        Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
                        Config Timer2 = Pwm , Prescale = 1 , Pwm = On , Compare Pwm = Clear Down
                        Baud = 9600
                        Config Porta = Output
                        Config Pind.5 = Output
                        Config Pind.4 = Output
                        Config Pind.7 = Output
                        
                        Set Porta.0
                        Set Porta.2
                        Set Porta.1
                        Dim Pw1 As Byte
                        Dim Pw2 As Byte
                        Dim Pw3 As Byte
                        Declare Sub Pwm.1
                        Declare Sub Pwm.2
                        Declare Sub Pwm.3
                        Enable Interrupts
                        Enable Urxc
                        On Urxc Uart
                        Dim A As Byte
                        
                        Do
                        Select Case A
                        
                        Case 0 To 85
                        Call Pwm.1
                        Pwm1a = Pw1
                        
                        
                        Case 86 To 170
                        Call Pwm.2
                        Pwm1b = Pw2
                        
                        
                        Case 171 To 255
                        Call Pwm.3
                        Ocr2 = Pw3
                        
                        
                        End Select
                        Loop
                        End
                        '******************************************************************************************
                        Sub Pwm.1
                        
                        If A = 1 Then
                        Pw1 = 3
                        End If
                        
                        If A = 2 Then
                        Pw1 = 6
                        End If
                        
                        If A = 3 Then
                        Pw1 = 9
                        End If
                        
                        If A = 4 Then
                        Pw1 = 12
                        End If
                        
                        If A = 5 Then
                        Pw1 = 15
                        End If
                        
                        If A = 6 Then
                        Pw1 = 18
                        End If
                        
                        If A = 7 Then
                        Pw1 = 21
                        End If
                        
                        If A = 8 Then
                        Pw1 = 24
                        End If
                        
                        If A = 9 Then
                        Pw1 = 27
                        End If
                        
                        If A = 10 Then
                        Pw1 = 30
                        End If
                        
                        If A = 11 Then
                        Pw1 = 33
                        End If
                        
                        If A = 12 Then
                        Pw1 = 36
                        End If
                        
                        If A = 13 Then
                        Pw1 = 39
                        End If
                        
                        If A = 14 Then
                        Pw1 = 42
                        End If
                        
                        If A = 15 Then
                        Pw1 = 45
                        End If
                        
                        If A = 16 Then
                        Pw1 = 48
                        End If
                        
                        If A = 17 Then
                        Pw1 = 51
                        End If
                        
                        If A = 18 Then
                        Pw1 = 54
                        End If
                        
                        If A = 19 Then
                        Pw1 = 57
                        End If
                        
                        If A = 20 Then
                        Pw1 = 60
                        End If
                        
                        If A = 21 Then
                        Pw1 = 63
                        End If
                        
                        If A = 22 Then
                        Pw1 = 66
                        End If
                        
                        If A = 23 Then
                        Pw1 = 69
                        End If
                        
                        If A = 24 Then
                        Pw1 = 72
                        End If
                        
                        If A = 25 Then
                        Pw1 = 75
                        End If
                        
                        If A = 26 Then
                        Pw1 = 78
                        End If
                        
                        If A = 27 Then
                        Pw1 = 81
                        End If
                        
                        If A = 28 Then
                        Pw1 = 84
                        End If
                        
                        If A = 29 Then
                        Pw1 = 87
                        End If
                        
                        If A = 30 Then
                        Pw1 = 90
                        End If
                        
                        If A = 31 Then
                        Pw1 = 93
                        End If
                        
                        If A = 32 Then
                        Pw1 = 96
                        End If
                        
                        If A = 33 Then
                        Pw1 = 99
                        End If
                        
                        If A = 34 Then
                        Pw1 = 102
                        End If
                        
                        If A = 35 Then
                        Pw1 = 105
                        End If
                        
                        If A = 36 Then
                        Pw1 = 108
                        End If
                        
                        If A = 37 Then
                        Pw1 = 111
                        End If
                        
                        If A = 38 Then
                        Pw1 = 114
                        End If
                        
                        If A = 39 Then
                        Pw1 = 117
                        End If
                        
                        If A = 40 Then
                        Pw1 = 120
                        End If
                        
                        If A = 41 Then
                        Pw1 = 123
                        End If
                        
                        If A = 42 Then
                        Pw1 = 126
                        End If
                        
                        If A = 43 Then
                        Pw1 = 129
                        End If
                        
                        If A = 44 Then
                        Pw1 = 132
                        End If
                        
                        If A = 45 Then
                        Pw1 = 135
                        End If
                        
                        If A = 46 Then
                        Pw1 = 138
                        End If
                        
                        If A = 47 Then
                        Pw1 = 141
                        End If
                        
                        If A = 48 Then
                        Pw1 = 144
                        End If
                        
                        If A = 49 Then
                        Pw1 = 147
                        End If
                        
                        If A = 50 Then
                        Pw1 = 150
                        End If
                        
                        If A = 51 Then
                        Pw1 = 153
                        End If
                        
                        If A = 52 Then
                        Pw1 = 156
                        End If
                        
                        If A = 53 Then
                        Pw1 = 159
                        End If
                        
                        If A = 54 Then
                        Pw1 = 162
                        End If
                        
                        If A = 55 Then
                        Pw1 = 165
                        End If
                        
                        If A = 56 Then
                        Pw1 = 168
                        End If
                        
                        If A = 57 Then
                        Pw1 = 171
                        End If
                        
                        If A = 58 Then
                        Pw1 = 174
                        End If
                        
                        If A = 59 Then
                        Pw1 = 177
                        End If
                        
                        If A = 60 Then
                        Pw1 = 180
                        End If
                        
                        If A = 61 Then
                        Pw1 = 183
                        End If
                        
                        If A = 62 Then
                        Pw1 = 186
                        End If
                        
                        If A = 63 Then
                        Pw1 = 189
                        End If
                        
                        If A = 64 Then
                        Pw1 = 192
                        End If
                        
                        If A = 65 Then
                        Pw1 = 195
                        End If
                        
                        If A = 66 Then
                        Pw1 = 198
                        End If
                        
                        If A = 67 Then
                        Pw1 = 201
                        End If
                        
                        If A = 68 Then
                        Pw1 = 204
                        End If
                        
                        If A = 69 Then
                        Pw1 = 207
                        End If
                        
                        If A = 70 Then
                        Pw1 = 210
                        End If
                        
                        If A = 71 Then
                        Pw1 = 213
                        End If
                        
                        If A = 72 Then
                        Pw1 = 216
                        End If
                        
                        If A = 73 Then
                        Pw1 = 219
                        End If
                        
                        If A = 74 Then
                        Pw1 = 222
                        End If
                        
                        If A = 75 Then
                        Pw1 = 225
                        End If
                        
                        If A = 76 Then
                        Pw1 = 228
                        End If
                        
                        If A = 77 Then
                        Pw1 = 231
                        End If
                        
                        If A = 78 Then
                        Pw1 = 234
                        End If
                        
                        If A = 79 Then
                        Pw1 = 237
                        End If
                        
                        If A = 80 Then
                        Pw1 = 240
                        End If
                        
                        If A = 81 Then
                        Pw1 = 243
                        End If
                        
                        If A = 82 Then
                        Pw1 = 246
                        End If
                        
                        If A = 83 Then
                        Pw1 = 249
                        End If
                        
                        If A = 84 Then
                        Pw1 = 252
                        End If
                        
                        If A = 85 Then
                        Pw1 = 255
                        End If
                        End Sub
                        
                        '***************************sub2*************************************************************
                        Sub Pwm.2
                        
                        
                        If A = 86 Then
                        Pw2 = 3
                        End If
                        
                        If A = 87 Then
                        Pw2 = 6
                        End If
                        
                        If A = 88 Then
                        Pw2 = 9
                        End If
                        
                        If A = 89 Then
                        Pw2 = 12
                        End If
                        
                        If A = 90 Then
                        Pw2 = 15
                        End If
                        
                        If A = 91 Then
                        Pw2 = 18
                        End If
                        
                        If A = 92 Then
                        Pw2 = 21
                        End If
                        
                        If A = 93 Then
                        Pw2 = 24
                        End If
                        
                        If A = 94 Then
                        Pw2 = 27
                        End If
                        
                        If A = 95 Then
                        Pw2 = 30
                        End If
                        
                        If A = 96 Then
                        Pw2 = 33
                        End If
                        
                        If A = 97 Then
                        Pw2 = 36
                        End If
                        
                        If A = 98 Then
                        Pw2 = 39
                        End If
                        
                        If A = 99 Then
                        Pw2 = 42
                        End If
                        
                        If A = 100 Then
                        Pw2 = 45
                        End If
                        
                        If A = 101 Then
                        Pw2 = 48
                        End If
                        
                        If A = 102 Then
                        Pw2 = 51
                        End If
                        
                        If A = 103 Then
                        Pw2 = 54
                        End If
                        
                        If A = 104 Then
                        Pw2 = 57
                        End If
                        
                        If A = 105 Then
                        Pw2 = 60
                        End If
                        
                        If A = 106 Then
                        Pw2 = 63
                        End If
                        
                        If A = 107 Then
                        Pw2 = 66
                        End If
                        
                        If A = 108 Then
                        Pw2 = 69
                        End If
                        
                        If A = 109 Then
                        Pw2 = 72
                        End If
                        
                        If A = 110 Then
                        Pw2 = 75
                        End If
                        
                        If A = 111 Then
                        Pw2 = 78
                        End If
                        
                        If A = 112 Then
                        Pw2 = 81
                        End If
                        
                        If A = 113 Then
                        Pw2 = 84
                        End If
                        
                        If A = 114 Then
                        Pw2 = 87
                        End If
                        
                        If A = 115 Then
                        Pw2 = 90
                        End If
                        
                        If A = 116 Then
                        Pw2 = 93
                        End If
                        
                        If A = 117 Then
                        Pw2 = 96
                        End If
                        
                        If A = 118 Then
                        Pw2 = 99
                        End If
                        
                        If A = 119 Then
                        Pw2 = 102
                        End If
                        
                        If A = 120 Then
                        Pw2 = 105
                        End If
                        
                        If A = 121 Then
                        Pw2 = 108
                        End If
                        
                        If A = 122 Then
                        Pw2 = 111
                        End If
                        
                        If A = 123 Then
                        Pw2 = 114
                        End If
                        
                        If A = 124 Then
                        Pw2 = 117
                        End If
                        
                        If A = 125 Then
                        Pw2 = 120
                        End If
                        
                        If A = 126 Then
                        Pw2 = 123
                        End If
                        
                        If A = 127 Then
                        Pw2 = 126
                        End If
                        
                        If A = 128 Then
                        Pw2 = 129
                        End If
                        
                        If A = 129 Then
                        Pw2 = 132
                        End If
                        
                        If A = 130 Then
                        Pw2 = 135
                        End If
                        
                        If A = 131 Then
                        Pw2 = 138
                        End If
                        
                        If A = 132 Then
                        Pw2 = 141
                        End If
                        
                        If A = 133 Then
                        Pw2 = 144
                        End If
                        
                        If A = 134 Then
                        Pw2 = 147
                        End If
                        
                        If A = 135 Then
                        Pw2 = 150
                        End If
                        
                        If A = 136 Then
                        Pw2 = 153
                        End If
                        
                        If A = 137 Then
                        Pw2 = 156
                        End If
                        
                        If A = 138 Then
                        Pw2 = 159
                        End If
                        
                        If A = 139 Then
                        Pw2 = 162
                        End If
                        
                        If A = 140 Then
                        Pw2 = 165
                        End If
                        
                        If A = 141 Then
                        Pw2 = 168
                        End If
                        
                        If A = 142 Then
                        Pw2 = 171
                        End If
                        
                        If A = 143 Then
                        Pw2 = 174
                        End If
                        
                        If A = 144 Then
                        Pw2 = 177
                        End If
                        
                        If A = 145 Then
                        Pw2 = 180
                        End If
                        
                        If A = 146 Then
                        Pw2 = 183
                        End If
                        
                        If A = 147 Then
                        Pw2 = 186
                        End If
                        
                        If A = 148 Then
                        Pw2 = 189
                        End If
                        
                        If A = 149 Then
                        Pw2 = 192
                        End If
                        
                        If A = 150 Then
                        Pw2 = 195
                        End If
                        
                        If A = 151 Then
                        Pw2 = 198
                        End If
                        
                        If A = 152 Then
                        Pw2 = 201
                        End If
                        
                        If A = 153 Then
                        Pw2 = 204
                        End If
                        
                        If A = 154 Then
                        Pw2 = 207
                        End If
                        
                        If A = 155 Then
                        Pw2 = 210
                        End If
                        
                        If A = 156 Then
                        Pw2 = 213
                        End If
                        
                        If A = 157 Then
                        Pw2 = 216
                        End If
                        
                        If A = 158 Then
                        Pw2 = 219
                        End If
                        
                        If A = 159 Then
                        Pw2 = 222
                        End If
                        
                        If A = 160 Then
                        Pw2 = 225
                        End If
                        
                        If A = 161 Then
                        Pw2 = 228
                        End If
                        
                        If A = 162 Then
                        Pw2 = 231
                        End If
                        
                        If A = 163 Then
                        Pw2 = 234
                        End If
                        
                        If A = 164 Then
                        Pw2 = 237
                        End If
                        
                        If A = 165 Then
                        Pw2 = 240
                        End If
                        
                        If A = 166 Then
                        Pw2 = 243
                        End If
                        
                        If A = 167 Then
                        Pw2 = 246
                        End If
                        
                        If A = 168 Then
                        Pw2 = 249
                        End If
                        
                        If A = 169 Then
                        Pw2 = 252
                        End If
                        
                        If A = 170 Then
                        Pw2 = 255
                        End If
                        End Sub
                        
                        '***************************sub3*************************************************************
                        Sub Pwm.3
                        
                        If A = 171 Then
                        Pw3 = 3
                        End If
                        
                        If A = 172 Then
                        Pw3 = 6
                        End If
                        
                        If A = 173 Then
                        Pw3 = 9
                        End If
                        
                        If A = 174 Then
                        Pw3 = 12
                        End If
                        
                        If A = 175 Then
                        Pw3 = 15
                        End If
                        
                        If A = 176 Then
                        Pw3 = 18
                        End If
                        
                        If A = 177 Then
                        Pw3 = 21
                        End If
                        
                        If A = 178 Then
                        Pw3 = 24
                        End If
                        
                        If A = 179 Then
                        Pw3 = 27
                        End If
                        
                        If A = 180 Then
                        Pw3 = 30
                        End If
                        
                        If A = 181 Then
                        Pw3 = 33
                        End If
                        
                        If A = 182 Then
                        Pw3 = 36
                        End If
                        
                        If A = 183 Then
                        Pw3 = 39
                        End If
                        
                        If A = 184 Then
                        Pw3 = 42
                        End If
                        
                        If A = 185 Then
                        Pw3 = 45
                        End If
                        
                        If A = 186 Then
                        Pw3 = 48
                        End If
                        
                        If A = 187 Then
                        Pw3 = 51
                        End If
                        
                        If A = 188 Then
                        Pw3 = 54
                        End If
                        
                        If A = 189 Then
                        Pw3 = 57
                        End If
                        
                        If A = 190 Then
                        Pw3 = 60
                        End If
                        
                        If A = 191 Then
                        Pw3 = 63
                        End If
                        
                        If A = 192 Then
                        Pw3 = 66
                        End If
                        
                        If A = 193 Then
                        Pw3 = 69
                        End If
                        
                        If A = 194 Then
                        Pw3 = 72
                        End If
                        
                        If A = 195 Then
                        Pw3 = 75
                        End If
                        
                        If A = 196 Then
                        Pw3 = 78
                        End If
                        
                        If A = 197 Then
                        Pw3 = 81
                        End If
                        
                        If A = 198 Then
                        Pw3 = 84
                        End If
                        
                        If A = 199 Then
                        Pw3 = 87
                        End If
                        
                        If A = 200 Then
                        Pw3 = 90
                        End If
                        
                        If A = 201 Then
                        Pw3 = 93
                        End If
                        
                        If A = 202 Then
                        Pw3 = 96
                        End If
                        
                        If A = 203 Then
                        Pw3 = 99
                        End If
                        
                        If A = 204 Then
                        Pw3 = 102
                        End If
                        
                        If A = 205 Then
                        Pw3 = 105
                        End If
                        
                        If A = 206 Then
                        Pw3 = 108
                        End If
                        
                        If A = 207 Then
                        Pw3 = 111
                        End If
                        
                        If A = 208 Then
                        Pw3 = 114
                        End If
                        
                        If A = 209 Then
                        Pw3 = 117
                        End If
                        
                        If A = 210 Then
                        Pw3 = 120
                        End If
                        
                        If A = 211 Then
                        Pw3 = 123
                        End If
                        
                        If A = 212 Then
                        Pw3 = 126
                        End If
                        
                        If A = 213 Then
                        Pw3 = 129
                        End If
                        
                        If A = 214 Then
                        Pw3 = 132
                        End If
                        
                        If A = 215 Then
                        Pw3 = 135
                        End If
                        
                        If A = 216 Then
                        Pw3 = 138
                        End If
                        
                        If A = 217 Then
                        Pw3 = 141
                        End If
                        
                        If A = 218 Then
                        Pw3 = 144
                        End If
                        
                        If A = 219 Then
                        Pw3 = 147
                        End If
                        
                        If A = 220 Then
                        Pw3 = 150
                        End If
                        
                        If A = 221 Then
                        Pw3 = 153
                        End If
                        
                        If A = 222 Then
                        Pw3 = 156
                        End If
                        
                        If A = 223 Then
                        Pw3 = 159
                        End If
                        
                        If A = 224 Then
                        Pw3 = 162
                        End If
                        
                        If A = 225 Then
                        Pw3 = 165
                        End If
                        
                        If A = 226 Then
                        Pw3 = 168
                        End If
                        
                        If A = 227 Then
                        Pw3 = 171
                        End If
                        
                        If A = 228 Then
                        Pw3 = 174
                        End If
                        
                        If A = 229 Then
                        Pw3 = 177
                        End If
                        
                        If A = 230 Then
                        Pw3 = 180
                        End If
                        
                        If A = 231 Then
                        Pw3 = 183
                        End If
                        
                        If A = 232 Then
                        Pw3 = 186
                        End If
                        
                        If A = 233 Then
                        Pw3 = 189
                        End If
                        
                        If A = 234 Then
                        Pw3 = 192
                        End If
                        
                        If A = 235 Then
                        Pw3 = 195
                        End If
                        
                        If A = 236 Then
                        Pw3 = 198
                        End If
                        
                        If A = 237 Then
                        Pw3 = 201
                        End If
                        
                        If A = 238 Then
                        Pw3 = 204
                        End If
                        
                        If A = 239 Then
                        Pw3 = 207
                        End If
                        
                        If A = 240 Then
                        Pw3 = 210
                        End If
                        
                        If A = 241 Then
                        Pw3 = 213
                        End If
                        
                        If A = 242 Then
                        Pw3 = 216
                        End If
                        
                        If A = 243 Then
                        Pw3 = 219
                        End If
                        
                        If A = 244 Then
                        Pw3 = 222
                        End If
                        
                        If A = 245 Then
                        Pw3 = 225
                        End If
                        
                        If A = 246 Then
                        Pw3 = 228
                        End If
                        
                        If A = 247 Then
                        Pw3 = 231
                        End If
                        
                        If A = 248 Then
                        Pw3 = 234
                        End If
                        
                        If A = 249 Then
                        Pw3 = 237
                        End If
                        
                        If A = 250 Then
                        Pw3 = 240
                        End If
                        
                        If A = 251 Then
                        Pw3 = 243
                        End If
                        
                        If A = 252 Then
                        Pw3 = 246
                        End If
                        
                        If A = 253 Then
                        Pw3 = 249
                        End If
                        
                        If A = 254 Then
                        Pw3 = 252
                        End If
                        
                        If A = 255 Then
                        Pw3 = 255
                        End If
                        End Sub
                        
                        
                        
                        
                        Uart:
                        A = Udr
                        Return

                        دیدگاه


                          #13
                          پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

                          من متوجه نمیشم چرا شما اینهمه if تو برنامه میزارید! اصلا نیازی نیست اینهمه شرط بزارید.مقدار سرعت ها رو مستقیم با یه قالب بفرستید.
                          [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

                          دیدگاه


                            #14
                            پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

                            نوشته اصلی توسط shahinbahari
                            من متوجه نمیشم چرا شما اینهمه if تو برنامه میزارید! اصلا نیازی نیست اینهمه شرط بزارید.مقدار سرعت ها رو مستقیم با یه قالب بفرستید.
                            چه طوری ؟
                            باید کد هماهنگ سازی بنویسم که نمیشه :cry2:

                            دیدگاه


                              #15
                              پاسخ : کنترول سرعت سه تا موتور از راه دور با UART

                              شما یه عدد انتخاب کن مثلا K .
                              این k میشه آدرس اسلیو شما.بعد از این شما به ترتیب مقدار 3 تا pot رو میزارید. قالب در آخر میشه اینجوری:
                              k-->pot1-->pot2-->pot3
                              آخرش crc اینا هم میشه بزاری که نیازی نیست.شما تو فرستنده همین 4 بایت رو بفرست:
                              unsigned char buffer[4];
                              do
                              buffer[0]=k
                              buffer[1]=adc0
                              buffer[2]=adc1
                              buffer[3]=adc2
                              send_serial (buffer)
                              delay_ms 400
                              loop

                              برنامه فرستنده میشه یه چیزی تو این مایه ها. :mrgreen: سی و بیسیک رو قاتی کردم.

                              برای گیرنده که اسلیو شماست باید بگید اگر این قالب دریافت شد مقادیر رو تغییر بده.
                              توی قسمت وقفه ی دریافت هر بایتی که اومد با k مقایسه میشه. اگر k بود مقدار اولین خونه ی یه آرایه رو عدد دوم میزاره تا.............. 3امین خونه اون آرایه رو 4امین عدد که دریافت کردیم.در آخر هم فلگ پدیت رو ست میکنید و مقدار شمارنده ای که برای نگه داری خونه ها استفاده شده رو هم 0 میکنید تا دوباره بتونه منتظر دریافت k و....... بمونه.
                              تو روتین main هم اینجوری بنویسید:

                              if(update)
                              {
                              update=0;
                              pwm1a=arr[0]
                              pwm1b=arr[1]
                              pwm1c=arr[2]
                              }

                              اینجا تاییدیه ارسال و.... هم میشه اضافه کرد که بستگی به سلیقه شما داره.
                              [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

                              دیدگاه

                              لطفا صبر کنید...
                              X