找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2343|回复: 1
打印 上一主题 下一主题
收起左侧

关于数控电源设置电压与输出电压不一致问题

[复制链接]
跳转到指定楼层
楼主
ID:102702 发表于 2017-11-8 15:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教一下论坛各位大神,我在制作一个数控电源时由于更改了大功率NPN三极管后发现设定电压与输出电压不一致,请问以下程序要怎么修改才能减少输出电压与设定电压的差距,谢谢!

另请问一下if (voltage1 > 247)                //是否补尝  这句中voltage1 > 247指的是什么意思?


以下是原程序:

#include<REGX52.H>
#include"MACRO_AND_CONST.h"
#include"ADJ_KEY.h"
#include"CONFIG.H"

bit b_vol_flag = 0;                                                //电压是否加补尝标记
bit b_cur_flag = 0;                                                //电流是否加补尝标记

volatile uchar voltage                 = 0;                //定义两个unsigned char 速度比 定义一个unsigned int 类型要快
volatile uchar voltage1         = 0;
volatile uchar current1         = 0;                //定义两个unsigned char 速度比 定义一个unsigned int 类型要快
volatile uchar current                 = 0;
uint uiset_voltage        = VOLTAGE;                        //设置开机电压 U = uiset_voltage * 0.005
uint uiset_current        = CURRENT;                        //设置开机电压 A = uiset_current * 0.005

/*********************************************
函数名:code pwm[] = {}
函数功能:给定时器赋值
参数:无
返回:无
备注:数组常量
/**********************************************/
uchar code pwm[]=
{          
0        ,        //0
1        ,        //1
2        ,        //2
3        ,        //3
4        ,        //4
5        ,        //5
6        ,        //6
7        ,        //7
8        ,        //8
9        ,        //9
10        ,        //10
11        ,        //11
12        ,        //12
13        ,        //13
14        ,        //14
15        ,        //15
16        ,        //16
17        ,        //17
18        ,        //18
19        ,        //19
20        ,        //20
21        ,        //21
22        ,        //22
23        ,        //23
24        ,        //24
25        ,        //25
26        ,        //26
27        ,        //27
28        ,        //28
29        ,        //29
30        ,        //30
31        ,        //31
32        ,        //32
33        ,        //33
34        ,        //34
35        ,        //35
36        ,        //36
37        ,        //37
38        ,        //38
39        ,        //39
40        ,        //40
41        ,        //41
42        ,        //42
43        ,        //43
44        ,        //44
45        ,        //45
46        ,        //46
47        ,        //47
48        ,        //48
49        ,        //49
50        ,        //50
51        ,        //51
52        ,        //52
53        ,        //53
54        ,        //54
55        ,        //55
56        ,        //56
57        ,        //57
58        ,        //58
59        ,        //59
60        ,        //60
61        ,        //61
62        ,        //62
63        ,        //63
64        ,        //64
65        ,        //65
66        ,        //66
67        ,        //67
68        ,        //68
69        ,        //69
70        ,        //70
71        ,        //71
72        ,        //72
73        ,        //73
74        ,        //74
75        ,        //75
76        ,        //76
77        ,        //77
78        ,        //78
79        ,        //79
80        ,        //80
81        ,        //81
82        ,        //82
83        ,        //83
84        ,        //84
85        ,        //85
86        ,        //86
87        ,        //87
88        ,        //88
89        ,        //89
90        ,        //90
91        ,        //91
92        ,        //92
93        ,        //93
94        ,        //94
95        ,        //95
96        ,        //96
97        ,        //97
98        ,        //98
99        ,        //99
100        ,        //100
101        ,        //101
102        ,        //102
103        ,        //103
104        ,        //104
105        ,        //105
106        ,        //106
107        ,        //107
108        ,        //108
109        ,        //109
110        ,        //110
111        ,        //111
112        ,        //112
113        ,        //113
114        ,        //114
115        ,        //115
116        ,        //116
117        ,        //117
118        ,        //118
119        ,        //119
120        ,        //120
121        ,        //121
122        ,        //122
123        ,        //123
124        ,        //124
125        ,        //125
126        ,        //126
127        ,        //127
128        ,        //128
129        ,        //129
130        ,        //130
131        ,        //131
132        ,        //132
133        ,        //133
134        ,        //134
135        ,        //135
136        ,        //136
137        ,        //137
138        ,        //138
139        ,        //139
140        ,        //140
141        ,        //141
142        ,        //142
143        ,        //143
144        ,        //144
145        ,        //145
146        ,        //146
147        ,        //147
148        ,        //148
149        ,        //149
150        ,        //150
151        ,        //151
152        ,        //152
153        ,        //153
154        ,        //154
155        ,        //155
156        ,        //156
157        ,        //157
158        ,        //158
159        ,        //159
160        ,        //160
161        ,        //161
162        ,        //162
163        ,        //163
164        ,        //164
165        ,        //165
166        ,        //166
167        ,        //167
168        ,        //168
169        ,        //169
170        ,        //170
171        ,        //171
172        ,        //172
173        ,        //173
174        ,        //174
175        ,        //175
176        ,        //176
177        ,        //177
178        ,        //178
179        ,        //179
180        ,        //180
181        ,        //181
182        ,        //182
183        ,        //183
184        ,        //184
185        ,        //185
186        ,        //186
187        ,        //187
188        ,        //188
189        ,        //189
190        ,        //190
191        ,        //191
192        ,        //192
193        ,        //193
194        ,        //194
195        ,        //195
196        ,        //196
197        ,        //197
198        ,        //198
199        ,        //199
200        ,        //200
201        ,        //201
202        ,        //202
203        ,        //203
204        ,        //204
205        ,        //205
206        ,        //206
207        ,        //207
208        ,        //208
209        ,        //209
210        ,        //210
211        ,        //211
212        ,        //212
213        ,        //213
214        ,        //214
215        ,        //215
216        ,        //216
217        ,        //217
218        ,        //218
219        ,        //219
220        ,        //220
221        ,        //221
222        ,        //222
223        ,        //223
224        ,        //224
225        ,        //225
226        ,        //226
227        ,        //227
228        ,        //228
229        ,        //229
230        ,        //230
231        ,        //231
232        ,        //232
233        ,        //233
234        ,        //234
235        ,        //235
236        ,        //236
237        ,        //237
238        ,        //238
239        ,        //239
240        ,        //240
241        ,        //241
242        ,        //242
243        ,        //243
244        ,        //244
245        ,        //245
246        ,        //246
247        ,        //247
248        ,        //248
249        ,        //249
250        ,        //250
251        ,        //251
252        ,        //252
253        ,        //253
254        ,        //254
255                //255
};

/*********************************************
函数名:voltage_current()
函数功能:加载PWM占空比(加载电压电流)
参数:无
返回:无
备注:无
/**********************************************/          
void voltage_current()
{       
        if (!b_vol_flag)
        {
                TH1 = pwm[voltage];
                TL1 = pwm[voltage1] + TL1;               
        }
        else
        {
                TH1 = pwm[voltage];
                TL1 = pwm[voltage1];
        }

        if (!b_cur_flag)
        {
                TH2 = pwm[current];
                TL2 = pwm[current1] + TL2;
        }
        else
        {
                TH2 = pwm[current];
                TL2 = pwm[current1];
        }
       

}

/*********************************************
函数名:set_vol_cur(void)
函数功能:设置PWM占空比(设置电压电流)
参数:无
返回:无
备注:无
/**********************************************/
void set_vol_cur(void)
{
        voltage         = (TIME_NUMBER + (uiset_voltage * STEP)) >> 0x08;
        voltage1         = (TIME_NUMBER + (uiset_voltage * STEP) VOLTAGE_COMPENSATION ) & 0xFF;
        current         = (TIME_NUMBER + (uiset_current * STEP)) >> 0x08;
        current1         = (TIME_NUMBER + (uiset_current * STEP) CURRENT_COMPENSATION ) & 0xFF;

        if (voltage1 > 247)                //是否补尝
        {
                b_vol_flag = 1;
        }
        else
        {
                b_vol_flag = 0;
        }

        if (current1 > 247)                //是否补尝
        {
                b_cur_flag = 1;
        }
        else
        {
                b_cur_flag = 0;
        }       
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:102702 发表于 2017-11-9 10:45 | 只看该作者
管理员能帮忙解答一下吗?谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表