質問編集履歴
6
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -139,6 +139,15 @@
|
|
139
139
|
### 試していること
|
140
140
|
ozwkさんの回答を参考に、起動から1.5〜2秒間はあるPIDパラメータにしその後別のパラメータの2段階のような形式となってしまいますが、その方法で現在試行中です。
|
141
141
|
|
142
|
+
フォトカプラ経由のフィードバック回路から分圧抵抗を直接接続する回路に変更しました。
|
143
|
+
目標値のプログラムも変更しました。
|
144
|
+
(アナログデータとして読み取るため)
|
145
|
+
```
|
146
|
+
const float Target = ; // 目標値
|
147
|
+
float Target = TargetVolt * ( R2) / (R1 + R2 ) / 3.3f * 4095.0f ;
|
148
|
+
//R1が上側抵抗値(回路図上のR6)でR2が下側抵抗値(回路図のR7+VR)
|
149
|
+
```
|
150
|
+
|
142
151
|
|
143
152
|
### 確認したいこと
|
144
153
|
このあたりのADCの読み取り・変換の部分で何か間違っているものはありますか?
|
5
波形の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -101,13 +101,22 @@
|
|
101
101
|
|
102
102
|
/*
|
103
103
|
タイマー反映処理
|
104
|
-
*/
|
104
|
+
*/
|
105
105
|
}
|
106
106
|
|
107
107
|
/* USER CODE END 4 */
|
108
108
|
```
|
109
|
+
|
109
110
|
※void HAL_ADC_ConvCpltCallbac()は無限ループプログラムだと思ってもらって構いません。
|
110
111
|
main関数等は省略しています。
|
112
|
+
### 該当の波形
|
113
|
+
|
114
|
+
起動時の波形(RL接続済)
|
115
|
+

|
116
|
+
抵抗RLを外す
|
117
|
+

|
118
|
+
抵抗RLを再取り付け
|
119
|
+

|
111
120
|
|
112
121
|
### 試したこと
|
113
122
|
|
4
一部訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -31,7 +31,7 @@
|
|
31
31
|
10/10 時点
|
32
32
|
起動時の電圧が目標電圧の100Vになるようにはなった。(PID設定値にもよりオーバーシュートすることもあるが)
|
33
33
|
目標値になった時点でRL負荷を外すと電圧が130V程度まで上がってしまう。(元に戻ろうとするが125Vで維持されてしまう。)
|
34
|
-
|
34
|
+
そこから再びRLを取り付けるとと93V付近まで低下する(10秒程度は93Vを維持しその後0.5秒程度で100Vに戻る)
|
35
35
|
|
36
36
|
### 該当の回路図
|
37
37
|

|
3
「試していること」、「発生している問題」を修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -23,10 +23,15 @@
|
|
23
23
|
|
24
24
|
### 発生している問題・エラーメッセージ
|
25
25
|
|
26
|
-
|
26
|
+
10/2 時点
|
27
27
|
1秒以内で立ち上がったり、立ち上がっても軽負荷になると目標電圧がズレる(上がる傾向にある)
|
28
28
|
Kp=0.1,Ki=0.1,Kp=0.0 だと起動までに時間がかかって(負荷変動すると復旧まで時間がかかる
|
29
29
|
抵抗負荷(回路図上のRL1)を取りつけた状態で起動し、取り外すと電圧が上昇してしまう(150V程度で維持されている?)
|
30
|
+
|
31
|
+
10/10 時点
|
32
|
+
起動時の電圧が目標電圧の100Vになるようにはなった。(PID設定値にもよりオーバーシュートすることもあるが)
|
33
|
+
目標値になった時点でRL負荷を外すと電圧が130V程度まで上がってしまう。(元に戻ろうとするが125Vで維持されてしまう。)
|
34
|
+
逆に外すと93V付近まで低下する(10秒程度は93Vを維持しその後0.5秒程度で100Vに戻る)
|
30
35
|
|
31
36
|
### 該当の回路図
|
32
37
|

|
@@ -123,7 +128,8 @@
|
|
123
128
|
|
124
129
|
IとDを1,5,10,20と変化させたが立ち上がり・目標電圧は変わらず。
|
125
130
|
### 試していること
|
126
|
-
ozwkさんの回答を参考に、
|
131
|
+
ozwkさんの回答を参考に、起動から1.5〜2秒間はあるPIDパラメータにしその後別のパラメータの2段階のような形式となってしまいますが、その方法で現在試行中です。
|
132
|
+
|
127
133
|
|
128
134
|
### 確認したいこと
|
129
135
|
このあたりのADCの読み取り・変換の部分で何か間違っているものはありますか?
|
2
一部変更しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
マイコン:Nucleo-F303K8
|
15
15
|
|
16
16
|
### 実現したいこと(仕様)
|
17
|
-
- [ ] 起動時間:昇圧開始から1.5秒〜2秒(許容できて5秒)で100Vになるようにしたい(起動からではなく立ち上がり始めてから)
|
17
|
+
- [ ] 起動時間:昇圧開始から1.5秒〜2秒(許容できて5秒)で2段階でも構わないので100Vになるようにしたい(起動からではなく立ち上がり始めてから)
|
18
18
|
- [ ] スイッチング周波数は100kHz固定(可変はしない)
|
19
19
|
- [ ] TL431とPC817を使ったフィードバック回路を使用する。
|
20
20
|
- [ ] duty比のリミット範囲は25%〜75%(25%のままだと1時間経過しても100Vに到達しない)
|
@@ -95,12 +95,13 @@
|
|
95
95
|
}
|
96
96
|
|
97
97
|
/*
|
98
|
-
タイマー反映
|
98
|
+
タイマー反映処理
|
99
99
|
*/
|
100
100
|
}
|
101
101
|
|
102
102
|
/* USER CODE END 4 */
|
103
103
|
```
|
104
|
+
※void HAL_ADC_ConvCpltCallbac()は無限ループプログラムだと思ってもらって構いません。
|
104
105
|
main関数等は省略しています。
|
105
106
|
|
106
107
|
### 試したこと
|
@@ -124,6 +125,30 @@
|
|
124
125
|
### 試していること
|
125
126
|
ozwkさんの回答を参考に、ソフトスタートしてからの2段階のような形式となってしまいますが、その方法も試してみています。
|
126
127
|
|
128
|
+
### 確認したいこと
|
129
|
+
このあたりのADCの読み取り・変換の部分で何か間違っているものはありますか?
|
130
|
+
```
|
131
|
+
x = HAL_ADC_GetValue(&hadc1);
|
132
|
+
x = (x / 4095.0f) * TIM1->ARR ;
|
133
|
+
```
|
134
|
+
この辺りのPID制御処理の計算が間違っているものはありますか?
|
135
|
+
```
|
136
|
+
// 偏差の計算
|
137
|
+
P = Target - x;
|
138
|
+
|
139
|
+
// 積分項の計算
|
140
|
+
I += P * (us_time * 1e-6);
|
141
|
+
|
142
|
+
//微分項の計算
|
143
|
+
D = (P - Old_P) / (us_time * 1e-6) ;
|
144
|
+
|
145
|
+
//偏差の更新
|
146
|
+
Old_P = P ;
|
147
|
+
|
148
|
+
// 操作量の計算(PID 制御)
|
149
|
+
u = kp * P + ki * I + kd * D ;
|
150
|
+
```
|
151
|
+
|
127
152
|
### 補足情報(FW/ツールのバージョンなど)
|
128
153
|
|
129
154
|
参考サイト
|
1
項目の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -121,6 +121,8 @@
|
|
121
121
|
|
122
122
|
|
123
123
|
IとDを1,5,10,20と変化させたが立ち上がり・目標電圧は変わらず。
|
124
|
+
### 試していること
|
125
|
+
ozwkさんの回答を参考に、ソフトスタートしてからの2段階のような形式となってしまいますが、その方法も試してみています。
|
124
126
|
|
125
127
|
### 補足情報(FW/ツールのバージョンなど)
|
126
128
|
|