KoSS_89 Дата: Суббота, 07.02.2015, 17:38 | Сообщение # 1
Группа: Проверенные
Сообщений: 53
Статус: Offline
Здравствуйте, сделал инвертор 12-24 в 220 синус, но вопрос стал со стабилизацией напряжения, частично решил написанием 36 таблиц с синусом, но как лучше перебирать таблицы понять не могу. тот способ, что применил я работает но с большой погрешностью.
$regfile = "attiny85.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 100 '_________________________________________Íàñòðàèâàåì ïîðòû, òàéìåðû è àöï______ Config Portb.0 = Output Config Portb.1 = Output Config Portb.2 = Input Config Portb.3 = Input Config Portb.4 = Input Config Portb.5 = Output : En Alias Portb.5 En = 0 Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up Config Adc = Single , Prescaler = 128 , Reference = Avcc Enable Adc Enable Interrupts '_______________________________Çàäà¸ì ïåðåìåííûå_______________________________ Dim Sine_h As Word , Sine_l As Word : Sine_l = 0 : Sine_h = 49 'Äëÿ âûáîðà íóæíîé òàáëèöû ñèíóñà Dim H As Word 'Äëÿ âûáîðà íóæíîé òàáëèöû ñèíóñà Dim Pwm As Byte 'Ñþäà çàíîñèì çíà÷åíèÿ ØÈÌ Dim Acp_h As Word 'Çàìåð íàïðÿæåíèÿ íà âûõîäå òðàíñôîðìàòîðà äëÿ ñòàáèëèçàöèè Dim Acp_l As Word 'Çàìåð íàïðÿæåíèÿ íà àêêàìóëÿòîðå Dim Lim As Byte 'Ïåðåìåíàÿ íàêàïëèâàåò ïåðåãðóçêó Const Timee = 94 'Âðåìÿ ïåðåáîðà òàáëè÷íûõ çíà÷åíèé ñèíóñà, çàäà¸ò ÷àñòîòó ñèíóñà Wait 1 'æä¸ì ñåêóíäó Gosub Beep 'Ïèùèì ' Do Waitms 200 Loop Until Pinb.2 = 0 Do Waitms 200 Loop Until Pinb.2 = 1 ' Gosub Beep 'Ïèùèì Wait 1 'æä¸ì ñåêóíäó Startt: Lim = 0 En = 1 Waitms 200 Do 'Íà÷àëî îñíîâíîãî öèêëà Acp_l = Getadc(3) 'Çàìåðÿåì íàïðÿæåíèå àêêóìóëÿòîðà 32.5V - 1023 ; 10V - 315 ; 28V - 881 If Acp_l < 315 Or Acp_l > 881 Then 'Åñëè íàïðÿæåíèå íà àêêóìóëÿòîðå ìåíüøå 10 èëè áîëüøå 28 âîëüò - âûêëþ÷àåì èíâåðòîð Gosub Beep 'Ïèùèì Gosub Slep 'Ñïèì End If 'Right '------------------------------------------------------------------------------- If Pwm0a <> 0 Then Do Pwm0a = 0 Loop Until Pwm0a = 0 End If For H = Sine_l To Sine_h Pwm = Lookup(h , Sine) Pwm0a = Pwm Pwm0b = 0 Waitus Timee If Pinb.2 = 0 Then Incr Lim If Lim => 10 Then Gosub Slep Next H For H = Sine_h To Sine_l Step -1 Pwm = Lookup(h , Sine) Pwm0a = Pwm Pwm0b = 0 Waitus Timee If Pinb.2 = 0 Then Incr Lim If Lim => 10 Then Gosub Slep Next H '------------------------------------------------------------------------------- 'Left '------------------------------------------------------------------------------- If Pwm0b <> 0 Then Do Pwm0b = 0 Loop Until Pwm0b = 0 End If For H = Sine_l To Sine_h Pwm = Lookup(h , Sine) Pwm0a = 0 Pwm0b = Pwm Waitus Timee If Pinb.2 = 0 Then Incr Lim If Lim => 10 Then Gosub Slep Next H For H = Sine_h To Sine_l Step -1 Pwm = Lookup(h , Sine) Pwm0a = 0 Pwm0b = Pwm Waitus Timee If Pinb.2 = 0 Then Incr Lim If Lim => 10 Then Gosub Slep Next H '------------------------------------------------------------------------------- 'Acp_h = Getadc(2) 'çàìåðÿåì çíà÷åíèå ÀÖÏ ' If Acp_h => 550 And Sine_l > 49 Then ' Sine_h = Sine_h - 50 ' Sine_l = Sine_l - 50 ' End If ' If Acp_h <= 540 And Sine_h < 1799 Then ' Sine_h = Sine_h + 50 ' Sine_l = Sine_l + 50 ' End If Acp_h = Getadc(2) If Acp_h <= 307 Then Loop 'Êîíåö îñíîâíîãî öèêëà '------------------------------------------------------------------------------- Beep: Config Portb.3 = Output Portb.3 = 0 Waitms 100 Sound Portb.3 , 800 , 1300 Portb.3 = 0 Waitms 100 Config Portb.3 = Input Return '------------------------------------------------------------------------------- '------------------------------------------------------------------------------- Slep: Lim = 0 Do En = 0 Pwm0a = 0 Pwm0b = 0 Waitus 200 Loop Until Pinb.2 = 1 Gosub Beep Sine_l = 0 : Sine_h = 49 : H = 0 : Lim = 0 Wait 1 Do Waitms 200 Loop Until Pinb.2 = 1 Do Waitms 200 Loop Until Pinb.2 = 0 Do Waitms 200 Loop Until Pinb.2 = 1 Gosub Beep Goto Startt Return '------------------------------------------------------------------------------- End 'end program 'Òàáëèöû ñèíóñà '------------------------------------------------------------------------------- Sine: Data 0 , 2 , 5 , 7 , 10 , 12 , 14 , 17 , 19 , 22 '0 Data 24 , 27 , 29 , 31 , 34 , 36 , 38 , 40 , 42 , 44 Data 47 , 49 , 50 , 52 , 54 , 56 , 58 , 59 , 61 , 63 Data 64 , 66 , 67 , 68 , 70 , 71 , 72 , 73 , 74 , 75 Data 76 , 76 , 77 , 78 , 78 , 79 , 79 , 79 , 79 , 80 '49 Data 0 , 2 , 5 , 7 , 10 , 13 , 15 , 18 , 21 , 23 '50 Data 26 , 28 , 31 , 33 , 36 , 38 , 40 , 43 , 45 , 47 Data 49 , 52 , 54 , 56 , 58 , 60 , 61 , 63 , 65 , 67 Data 68 , 70 , 71 , 73 , 74 , 75 , 76 , 77 , 79 , 79 Data 80 , 81 , 82 , 82 , 83 , 83 , 84 , 84 , 84 , 85 '99 Data 0 , 2 , 5 , 8 , 11 , 14 , 16 , 19 , 22 , 25 '100 Data 27 , 30 , 33 , 35 , 38 , 40 , 43 , 45 , 48 , 50 Data 52 , 55 , 57 , 59 , 61 , 63 , 65 , 67 , 69 , 71 Data 72 , 74 , 75 , 77 , 78 , 80 , 81 , 82 , 83 , 84 Data 85 , 86 , 87 , 87 , 88 , 88 , 89 , 89 , 89 , 90 '149 Data 0 , 2 , 5 , 8 , 11 , 14 , 17 , 20 , 23 , 26 '150 Data 29 , 32 , 34 , 37 , 40 , 43 , 45 , 48 , 50 , 53 Data 55 , 58 , 60 , 62 , 65 , 67 , 69 , 71 , 73 , 75 Data 76 , 78 , 80 , 81 , 83 , 84 , 85 , 87 , 88 , 89 Data 90 , 91 , 91 , 92 , 93 , 93 , 94 , 94 , 94 , 95 '199 Data 0 , 3 , 6 , 9 , 12 , 15 , 18 , 21 , 24 , 27 '200 Data 30 , 33 , 36 , 39 , 42 , 45 , 48 , 50 , 53 , 56 Data 58 , 61 , 63 , 66 , 68 , 70 , 72 , 74 , 77 , 78 Data 80 , 82 , 84 , 86 , 87 , 89 , 90 , 91 , 92 , 94 Data 95 , 96 , 96 , 97 , 98 , 98 , 99 , 99 , 99 , 100 '249 Data 0 , 3 , 6 , 9 , 13 , 16 , 19 , 22 , 26 , 29 '250 Data 32 , 35 , 38 , 41 , 44 , 47 , 50 , 53 , 56 , 58 Data 61 , 64 , 66 , 69 , 71 , 74 , 76 , 78 , 80 , 82 Data 84 , 86 , 88 , 90 , 91 , 93 , 94 , 96 , 97 , 98 Data 99 , 100 , 101 , 102 , 103 , 103 , 104 , 104 , 104 , 105 '299 Data 0 , 3 , 6 , 10 , 13 , 17 , 20 , 23 , 27 , 30 '300 Data 33 , 37 , 40 , 43 , 46 , 49 , 52 , 55 , 58 , 61 Data 64 , 67 , 70 , 72 , 75 , 77 , 80 , 82 , 84 , 86 Data 88 , 90 , 92 , 94 , 96 , 97 , 99 , 100 , 102 , 103 Data 104 , 105 , 106 , 107 , 108 , 108 , 109 , 109 , 109 , 110 Data 0 , 3 , 7 , 10 , 14 , 17 , 21 , 25 , 28 , 32 Data 35 , 38 , 42 , 45 , 48 , 52 , 55 , 58 , 61 , 64 Data 67 , 70 , 73 , 76 , 78 , 81 , 83 , 86 , 88 , 90 Data 93 , 95 , 97 , 98 , 100 , 102 , 104 , 105 , 106 , 108 Data 109 , 110 , 111 , 112 , 112 , 113 , 114 , 114 , 114 , 115 Data 0 , 3 , 7 , 11 , 15 , 18 , 22 , 26 , 29 , 33 Data 37 , 40 , 44 , 47 , 51 , 54 , 57 , 61 , 64 , 67 Data 70 , 73 , 76 , 79 , 82 , 84 , 87 , 89 , 92 , 94 Data 97 , 99 , 101 , 103 , 105 , 106 , 108 , 110 , 111 , 112 Data 114 , 115 , 116 , 117 , 117 , 118 , 119 , 119 , 119 , 120 Data 0 , 3 , 7 , 11 , 15 , 19 , 23 , 27 , 31 , 34 Data 38 , 42 , 45 , 49 , 53 , 56 , 60 , 63 , 66 , 70 Data 73 , 76 , 79 , 82 , 85 , 88 , 91 , 93 , 96 , 98 Data 101 , 103 , 105 , 107 , 109 , 111 , 113 , 114 , 116 , 117 Data 118 , 120 , 121 , 121 , 122 , 123 , 124 , 124 , 124 , 125 Data 0 , 4 , 8 , 12 , 16 , 20 , 24 , 28 , 32 , 36 Data 40 , 44 , 47 , 51 , 55 , 58 , 62 , 66 , 69 , 73 Data 76 , 79 , 82 , 85 , 88 , 91 , 94 , 97 , 100 , 102 Data 105 , 107 , 109 , 111 , 113 , 115 , 117 , 119 , 120 , 122 Data 123 , 124 , 125 , 126 , 127 , 128 , 128 , 129 , 129 , 130 Data 0 , 4 , 8 , 12 , 16 , 21 , 25 , 29 , 33 , 37 Data 41 , 45 , 49 , 53 , 57 , 61 , 65 , 68 , 72 , 75 Data 79 , 82 , 86 , 89 , 92 , 95 , 98 , 101 , 103 , 106 Data 109 , 111 , 113 , 116 , 118 , 120 , 122 , 123 , 125 , 126 Data 128 , 129 , 130 , 131 , 132 , 133 , 133 , 134 , 134 , 135 Data 0 , 4 , 8 , 13 , 17 , 21 , 26 , 30 , 34 , 39 Data 43 , 47 , 51 , 55 , 59 , 63 , 67 , 71 , 74 , 78 Data 82 , 85 , 89 , 92 , 95 , 98 , 102 , 104 , 107 , 110 Data 113 , 115 , 118 , 120 , 122 , 124 , 126 , 128 , 130 , 131 Data 133 , 134 , 135 , 136 , 137 , 138 , 138 , 139 , 139 , 140 Data 0 , 4 , 9 , 13 , 18 , 22 , 27 , 31 , 36 , 40 Data 44 , 49 , 53 , 57 , 61 , 65 , 69 , 73 , 77 , 81 Data 85 , 88 , 92 , 95 , 99 , 102 , 105 , 108 , 111 , 114 Data 117 , 119 , 122 , 124 , 127 , 129 , 131 , 133 , 134 , 136 Data 137 , 139 , 140 , 141 , 142 , 143 , 143 , 144 , 144 , 145 Data 0 , 4 , 9 , 14 , 18 , 23 , 28 , 32 , 37 , 41 Data 46 , 50 , 55 , 59 , 63 , 68 , 72 , 76 , 80 , 84 Data 88 , 91 , 95 , 99 , 102 , 106 , 109 , 112 , 115 , 118 Data 121 , 124 , 126 , 129 , 131 , 133 , 135 , 137 , 139 , 141 Data 142 , 144 , 145 , 146 , 147 , 148 , 148 , 149 , 149 , 150 Data 0 , 4 , 9 , 14 , 19 , 24 , 29 , 33 , 38 , 43 Data 47 , 52 , 57 , 61 , 65 , 70 , 74 , 78 , 83 , 87 Data 91 , 94 , 98 , 102 , 106 , 109 , 112 , 116 , 119 , 122 Data 125 , 128 , 130 , 133 , 135 , 138 , 140 , 142 , 144 , 145 Data 147 , 148 , 150 , 151 , 152 , 153 , 153 , 154 , 154 , 155 Data 0 , 5 , 10 , 15 , 20 , 25 , 29 , 34 , 39 , 44 Data 49 , 54 , 58 , 63 , 68 , 72 , 77 , 81 , 85 , 89 Data 94 , 98 , 101 , 105 , 109 , 113 , 116 , 119 , 123 , 126 Data 129 , 132 , 135 , 137 , 140 , 142 , 144 , 146 , 148 , 150 Data 152 , 153 , 154 , 156 , 157 , 158 , 158 , 159 , 159 , 160 Data 0 , 5 , 10 , 15 , 20 , 25 , 30 , 35 , 41 , 46 Data 50 , 55 , 60 , 65 , 70 , 74 , 79 , 83 , 88 , 92 Data 96 , 101 , 105 , 109 , 112 , 116 , 120 , 123 , 127 , 130 Data 133 , 136 , 139 , 141 , 144 , 146 , 149 , 151 , 153 , 155 Data 156 , 158 , 159 , 161 , 162 , 162 , 163 , 164 , 164 , 165 Data 0 , 5 , 10 , 15 , 21 , 26 , 31 , 37 , 42 , 47 Data 52 , 57 , 62 , 67 , 72 , 77 , 81 , 86 , 91 , 95 Data 99 , 104 , 108 , 112 , 116 , 120 , 123 , 127 , 130 , 134 Data 137 , 140 , 143 , 146 , 148 , 151 , 153 , 155 , 158 , 159 Data 161 , 163 , 164 , 165 , 166 , 167 , 168 , 169 , 169 , 170 Data 0 , 5 , 10 , 16 , 21 , 27 , 32 , 38 , 43 , 48 Data 54 , 59 , 64 , 69 , 74 , 79 , 84 , 89 , 93 , 98 Data 102 , 107 , 111 , 115 , 119 , 123 , 127 , 131 , 134 , 138 Data 141 , 144 , 147 , 150 , 153 , 155 , 158 , 160 , 162 , 164 Data 166 , 168 , 169 , 170 , 171 , 172 , 173 , 174 , 174 , 175 Data 0 , 5 , 11 , 16 , 22 , 28 , 33 , 39 , 44 , 50 Data 55 , 60 , 66 , 71 , 76 , 81 , 86 , 91 , 96 , 101 Data 105 , 110 , 114 , 118 , 123 , 127 , 131 , 134 , 138 , 142 Data 145 , 148 , 151 , 154 , 157 , 160 , 162 , 165 , 167 , 169 Data 171 , 172 , 174 , 175 , 176 , 177 , 178 , 179 , 179 , 180 Data 0 , 5 , 11 , 17 , 23 , 28 , 34 , 40 , 45 , 51 Data 57 , 62 , 68 , 73 , 78 , 83 , 89 , 94 , 99 , 103 Data 108 , 113 , 117 , 122 , 126 , 130 , 134 , 138 , 142 , 146 Data 149 , 152 , 156 , 159 , 162 , 164 , 167 , 169 , 171 , 174 Data 175 , 177 , 179 , 180 , 181 , 182 , 183 , 184 , 184 , 185 Data 0 , 5 , 11 , 17 , 23 , 29 , 35 , 41 , 47 , 52 Data 58 , 64 , 69 , 75 , 80 , 86 , 91 , 96 , 101 , 106 Data 111 , 116 , 121 , 125 , 130 , 134 , 138 , 142 , 146 , 150 Data 153 , 157 , 160 , 163 , 166 , 169 , 171 , 174 , 176 , 178 Data 180 , 182 , 183 , 185 , 186 , 187 , 188 , 189 , 189 , 190 Data 0 , 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 Data 60 , 66 , 71 , 77 , 82 , 88 , 93 , 99 , 104 , 109 Data 114 , 119 , 124 , 128 , 133 , 137 , 142 , 146 , 150 , 154 Data 157 , 161 , 164 , 167 , 170 , 173 , 176 , 178 , 181 , 183 Data 185 , 187 , 188 , 190 , 191 , 192 , 193 , 194 , 194 , 195 Data 0 , 6 , 12 , 18 , 25 , 31 , 37 , 43 , 49 , 55 Data 61 , 67 , 73 , 79 , 85 , 90 , 96 , 101 , 107 , 112 Data 117 , 122 , 127 , 132 , 136 , 141 , 145 , 149 , 154 , 157 Data 161 , 165 , 168 , 172 , 175 , 178 , 180 , 183 , 185 , 188 Data 190 , 192 , 193 , 195 , 196 , 197 , 198 , 199 , 199 , 200 Data 0 , 6 , 12 , 19 , 25 , 32 , 38 , 44 , 50 , 57 Data 63 , 69 , 75 , 81 , 87 , 93 , 98 , 104 , 109 , 115 Data 120 , 125 , 130 , 135 , 140 , 144 , 149 , 153 , 157 , 161 Data 165 , 169 , 173 , 176 , 179 , 182 , 185 , 188 , 190 , 192 Data 194 , 196 , 198 , 200 , 201 , 202 , 203 , 204 , 204 , 205 Data 0 , 6 , 13 , 19 , 26 , 32 , 39 , 45 , 52 , 58 Data 64 , 71 , 77 , 83 , 89 , 95 , 101 , 106 , 112 , 117 Data 123 , 128 , 133 , 138 , 143 , 148 , 153 , 157 , 161 , 165 Data 169 , 173 , 177 , 180 , 183 , 187 , 189 , 192 , 195 , 197 Data 199 , 201 , 203 , 204 , 206 , 207 , 208 , 209 , 209 , 210 Data 0 , 6 , 13 , 20 , 26 , 33 , 40 , 46 , 53 , 59 Data 66 , 72 , 79 , 85 , 91 , 97 , 103 , 109 , 115 , 120 Data 126 , 131 , 136 , 142 , 147 , 151 , 156 , 161 , 165 , 169 Data 173 , 177 , 181 , 185 , 188 , 191 , 194 , 197 , 199 , 202 Data 204 , 206 , 208 , 209 , 211 , 212 , 213 , 214 , 214 , 215 Data 0 , 6 , 13 , 20 , 27 , 34 , 41 , 47 , 54 , 61 Data 67 , 74 , 80 , 87 , 93 , 99 , 105 , 111 , 117 , 123 Data 129 , 134 , 140 , 145 , 150 , 155 , 160 , 164 , 169 , 173 Data 177 , 181 , 185 , 189 , 192 , 195 , 199 , 201 , 204 , 206 Data 209 , 211 , 213 , 214 , 216 , 217 , 218 , 219 , 219 , 220 Data 0 , 7 , 14 , 21 , 28 , 35 , 42 , 49 , 55 , 62 Data 69 , 76 , 82 , 89 , 95 , 102 , 108 , 114 , 120 , 126 Data 132 , 137 , 143 , 148 , 153 , 159 , 163 , 168 , 173 , 177 Data 181 , 186 , 189 , 193 , 197 , 200 , 203 , 206 , 209 , 211 Data 213 , 216 , 217 , 219 , 220 , 222 , 223 , 223 , 224 , 225 Data 0 , 7 , 14 , 21 , 28 , 35 , 43 , 50 , 57 , 64 Data 71 , 77 , 84 , 91 , 97 , 104 , 110 , 117 , 123 , 129 Data 135 , 140 , 146 , 152 , 157 , 162 , 167 , 172 , 177 , 181 Data 186 , 190 , 194 , 197 , 201 , 204 , 208 , 211 , 213 , 216 Data 218 , 220 , 222 , 224 , 225 , 227 , 228 , 228 , 229 , 230 Data 0 , 7 , 14 , 22 , 29 , 36 , 44 , 51 , 58 , 65 Data 72 , 79 , 86 , 93 , 100 , 106 , 113 , 119 , 125 , 132 Data 138 , 143 , 149 , 155 , 160 , 166 , 171 , 176 , 181 , 185 Data 190 , 194 , 198 , 202 , 205 , 209 , 212 , 215 , 218 , 221 Data 223 , 225 , 227 , 229 , 230 , 232 , 233 , 233 , 234 , 235 Data 0 , 7 , 15 , 22 , 30 , 37 , 44 , 52 , 59 , 66 Data 74 , 81 , 88 , 95 , 102 , 108 , 115 , 122 , 128 , 134 Data 141 , 147 , 152 , 158 , 164 , 169 , 174 , 179 , 184 , 189 Data 194 , 198 , 202 , 206 , 210 , 213 , 217 , 220 , 223 , 225 Data 228 , 230 , 232 , 234 , 235 , 237 , 238 , 238 , 239 , 240 Data 0 , 7 , 15 , 23 , 30 , 38 , 45 , 53 , 60 , 68 '1650 Data 75 , 82 , 90 , 97 , 104 , 111 , 117 , 124 , 131 , 137 Data 143 , 150 , 156 , 161 , 167 , 173 , 178 , 183 , 188 , 193 Data 198 , 202 , 206 , 210 , 214 , 218 , 221 , 224 , 227 , 230 Data 232 , 235 , 237 , 239 , 240 , 241 , 243 , 243 , 244 , 245 '1699 Data 0 , 7 , 15 , 23 , 31 , 39 , 46 , 54 , 62 , 69 '1700 Data 77 , 84 , 91 , 99 , 106 , 113 , 120 , 127 , 133 , 140 Data 146 , 153 , 159 , 165 , 171 , 176 , 182 , 187 , 192 , 197 Data 202 , 206 , 211 , 215 , 219 , 222 , 226 , 229 , 232 , 235 Data 237 , 240 , 242 , 243 , 245 , 246 , 248 , 248 , 249 , 250 '1749 Data 0 , 8 , 16 , 23 , 31 , 39 , 47 , 55 , 63 , 71 '1750 Data 78 , 86 , 93 , 101 , 108 , 115 , 122 , 129 , 136 , 143 Data 149 , 156 , 162 , 168 , 174 , 180 , 185 , 191 , 196 , 201 Data 206 , 210 , 215 , 219 , 223 , 227 , 230 , 233 , 237 , 239 Data 242 , 244 , 246 , 248 , 250 , 251 , 252 , 253 , 254 , 255 '1799
Минимальное напряжение на выходе при 12 вольтовом питании 70 вольт, максимальное 240 вольт Как лучше сделать стабилизацию напряжения, или может есть какой алгоритм,чтоб по быстрому считать табл. синуса?
Сообщение отредактировал KoSS_89 - Суббота, 07.02.2015, 17:54