Ganponブログ

趣味の模型作り、ドライブ、旅行など
since Mar.2017

RC可動化 1/35 74式戦車 (回路とArduinoスケッチ)

2021-06-21 15:01:38 | 1/35 タミヤ 74式戦車

2021-06-21
▼リクエストがあった事や個人の備忘録として、回路図とArduinoスケッチを掲載します。
MP3プレイヤー用の効果音素材は、フリーの「効果音ラボ」などからダウンロードしました。
掲載内容に関しては個人での使用に限ってフリーとします。

【注意】
  内容に関する問い合わせに関しては、原則対応いたしません。
  Li-Poiバッテリなど火災などの危険性があります。
  掲載内容に関しては、自己責任で利用してください。

画像をクリックすると拡大します

1: /* PS4BT_arduino_pro mini_tank_DRV8835_MP3_74type_ver05j
17:
18: Arduino pro min + ミニUSBホストシールド2.0 + PS4コントローラ
19: 効果音はDFPlayer Mini
20: モータドライバはDRV8835
21:
22: 砲撃時のリコイルアクション車体+砲身
23: 主砲、機銃、ヘッドライト、ブレーキランプはミニUSBシールドのGPOUTピン0,1,2,3
24: 4個のサーボで姿勢制御動作再現
25:
26: 【操作手順】
27: SHARE+PSボタンでペアリング開始。白色インジケータランプ高速点滅。
28: 戦車の電源投入。
29: インジケータランプ青色点灯でペアリング完了。
30:
31: 【走行コントロール】
32: コントローラーの左スティック上下で前後進、
33: 右スティックの左右でステアリングを制御。
34: ステアリングを振っていくと回転軸側が減速していき(緩旋回から信地旋回)、
35: 一杯に倒すと回転軸側は停止。(信地旋回)
36: 左スティック中央で右ステアリングを一杯に振ると超信地旋回(速度50%)
37: 停止時にブレーキランプ点灯ミニUSB GPOUT- 3ピン
38:
39: 【砲身上下】右スティック上下で砲身上下。R3ボタンでセンター。
40: 【砲塔旋回】左スティック左右で砲塔旋回。離した位置で止まる。
41: 【主砲】R1ボタンで主砲発射ミニUSB GPOUT- 0ピン
42: 【機銃】L1ボタンで機銃射撃ミニUSB GPOUT- 1ピン
43: 【ヘッドライト】L3ボタンを押す毎にヘッドライト点灯、消灯。
44: ミニUSB GPOUT- 2ピン
45: 【赤外線暗視装置】PSボタンを押す毎に赤外線暗視装置が点灯、消灯。
46: ミニUSB GPOUT- 4ピン
47:
48: 【姿勢制御】
49: 左のUPボタンでお辞儀、DOWNボタンで逆お辞儀
50: 左のRIGHTボタンで右お辞儀、LEFTボタンで左お辞儀
51: 右スティック上で車高低い、スティック下で車高高い
52: 右側の△ボタンで車高UP、×ボタンで車高down、□ボタンで車高水平標準(初期値)
53: */
54:
55: #include <PS4BT.h>
56: #include <usbhub.h>
57: #ifdef dobogusinclude
58: #include <spi4teensy3.h>
59: #endif
60: #include <SPI.h>
61:
62: USB Usb;
63: //USBHub Hub1(&Usb); // Some dongles have a hub inside
64: BTD Btd(&Usb); // You have to create the Bluetooth Dongle instance like so
65:
66: /* You can create the instance of the PS4BT class in two ways */
67: // This will start an inquiry and then pair with the PS4 controller - you only have to do this once
68: // You will need to hold down the PS and Share button at the same time,
69: // the PS4 controller will then start to blink rapidly indicating that it is in pairing mode
70: PS4BT PS4(&Btd, PAIR);
71:
72: // After that you can simply create the instance like so and then press the PS button on the device
73: //PS4BT PS4(&Btd);
74:
75: bool printAngle, printTouch;
76: uint8_t oldL2Value, oldR2Value;
77:
78: //#include <Usb.h> // needed by Arduino IDE
79: #include <USB_Host_Shield_GPIO.h> // GPOUTピンで主砲LEDを発光させるため
80: MaxGPIO max;
81:
82: int cnt = 0 ;
83: byte ser_deta;
84:
85: #include <VarSpeedServo.h>
86: VarSpeedServo myservo_1;
87: VarSpeedServo myservo_2;
88: VarSpeedServo myservo_3;
89: VarSpeedServo myservo_4;
90: VarSpeedServo myservo_5;
91: VarSpeedServo myservo_6;
92: VarSpeedServo myservo_7;
93: int servo1_pos = 75; //servo1 砲身上下
94: int servo3_pos = 50; //servo3 砲身リコイル
95: int servoF_pos = 75; //姿勢制御前
96: int servoB_pos = 70; //姿勢制御後
97: int servo_pos = 10;
98: int difF = 65; //姿勢制御前増減値
99: int difB = 50; //姿勢制御後増減値
100: const int servo1_sp = 7; //砲身上下スピード
101: const int servo2_sp = 5; //砲塔回転スピード
102: const int servo4_sp = 25; //姿勢制御スピード
103:
104: int ch = 0;
105: int pos_y;
106: int pos_x;
107: int pos_ry;
108: int pos_rx;
109: int motor_speed;
110: int steering;
111: int PWMA = 5; // A入力2/AENABLE 左モータAIN2
112: int PWMB = 6; // B入力2/BENABLE 右モータBIN2
113: int AIN1 = 4; // A入力1/APHASE 左モータAIN1
114: int BIN1 = 7; // B入力1/BPHASE 右モータBIN1
115: int silent = 1;
116: int state = 0; //変数stateを設定
117: int state1 = 0;
118:
119: #include <SoftwareSerial.h>
120: #include <DFRobotDFPlayerMini.h>
121: SoftwareSerial mySerial(A4, A5); // DFPlayer TX,RX
122: DFRobotDFPlayerMini myDFPlayer;
123:
124: void setup() {
125: Serial.begin (115200);
126: #if !defined(__MIPSEL__)
127: while (!Serial); // Wait for serial port to connect - used on Leonardo,
128: //Teensy and other boards with built-in USB CDC serial connection
129: #endif
130: if (Usb.Init() == -1) {
131: Serial.print(F("\r\nOSC did not start"));
132: while (1); // Halt
133: }
134: Serial.print(F("\r\nPS4 Bluetooth Library Started"));
135:
136: pinMode(PWMA, OUTPUT);
137: pinMode(PWMB, OUTPUT);
138: pinMode(AIN1, OUTPUT);
139: pinMode(BIN1, OUTPUT);
140: myservo_1.attach(2); //servo1 砲身上下
141: myservo_1.write(servo1_pos, servo1_sp, true);
142: myservo_1.detach();
143: myservo_2.attach(3); //servo2 砲塔旋回
144: myservo_2.write(90);
145: //myservo_2.detach(); //centerセット時はコメントアウト
146: myservo_3.attach(8); //servo3 砲身リコイル
147: myservo_3.write(servo3_pos);
148: myservo_3.detach();
149: myservo_4.attach(A0); //servo4 右前サス
150: myservo_5.attach(A1); //servo5 左前サス
151: myservo_6.attach(A2); //servo6 右後サス
152: myservo_7.attach(A3); //servo4 左後サス
153: myservo_4.write(servoF_pos, servo4_sp);
154: myservo_5.write(servoF_pos, servo4_sp);
155: myservo_6.write(servoB_pos, servo4_sp);
156: myservo_7.write(servoB_pos, servo4_sp);
157: myservo_4.wait();
158: myservo_5.wait();
159: myservo_6.wait();
160: myservo_7.wait();
161: delay(1000);
162: myservo_4.detach();
163: myservo_5.detach();
164: myservo_6.detach();
165: myservo_7.detach();
166:
167: mySerial.begin (9600);
168: myDFPlayer.begin(mySerial);
169: if (!myDFPlayer.begin(mySerial)) { //Use softwareSerial to communicate with mp3.
170: while (true);
171: }
172: myDFPlayer.volume(25); //Set volume value (0~30).
173: myDFPlayer.play(3); //エンジン始動
174: delay(2000);
175: //myDFPlayer.loop(5); //Loop 5th mp3 アイドリング
176: //delay(200);
177: }
178:
179: void loop() {
180: Usb.Task();
181: if (PS4.connected()) {
182: // myDFPlayer.play(5);
183: // delay(100);
184: if (PS4.getButtonClick(CIRCLE)) { //エンジン音停止
185: myDFPlayer.play(3); //エンジン始動
186: delay(100);
187: }
188:
189: //砲身上下
190: if ( PS4.getButtonClick(R3)) { //CENTER
191: myservo_1.attach(2);
192: myservo_1.write(servo1_pos, servo1_sp, true);
193: // myservo_1.detach();
194: }
195: pos_ry = PS4.getAnalogHat(RightHatY);
196: if (pos_ry < 10) { // UP
197: myservo_1.attach(2);
198: myservo_1.write(servo1_pos + 40, servo1_sp, true);
199: // myservo_1.detach();
200: } else if (pos_ry > 245) { //DOWN
201: myservo_1.attach(2);
202: myservo_1.write(servo1_pos - 22, servo1_sp, true);
203: // myservo_1.detach();
204: } else { //停止
205: myservo_1.detach();
206: }
207:
208: //砲塔旋回
209: pos_rx = PS4.getAnalogHat(LeftHatX);
210: if ( pos_rx > 230) { //右旋回
211: myservo_2.attach(3);
212: myservo_2.write(97);
213: } else if (pos_rx < 25) { //左旋回
214: myservo_2.attach(3);
215: myservo_2.write(83);
216: } else { //停止
217: //myservo_2.attach(3); //回転初めに一瞬反対側に回転するのでコメントアウトする
218: myservo_2.write(90);
219: myservo_2.detach();
220: }
221:
222: //砲撃+ リコイル
223: if (PS4.getButtonClick(R1) && ch == 0 ) {
224: myDFPlayer.play(2);
225: delay(100);
226: max.write(0, HIGH); //主砲発光
227: myservo_3.attach(8);
228: myservo_3.write(servo3_pos + 70, 255); //砲身リコイル
229: //myservo_3.wait();
230: delay(100);
231: motor_run(180, 1, 180, 1, 1);
232: ch = 2000; //約2秒間は砲撃不可
233: delay(100);
234: motor_run(0, 0, 0, 0, 1);
235: max.write(0, LOW); //主砲消灯
236: delay(100);
237: myservo_3.write(servo3_pos, 20);
238: motor_run(100, 0, 100, 0, 1);
239: delay(200);
240: motor_run(0, 0, 0, 0, 1);
241: myservo_3.wait();
242: delay(640);
243: myservo_3.detach();
244: } else {
245: if (ch > 0) {
246: ch--;
247: }
248: }
249:
250: //銃撃
251: if ( PS4.getButtonClick(L1)) {
252: myDFPlayer.play(10);
253: delay(100);
254: for ( int i = 0; i < 5 ; i++) {
255: max.write(1, HIGH); //機銃発光
256: delay(80);
257: max.write(1, LOW); //機銃消灯
258: delay(120);
259: }
260: }
261:
262: //ヘッドライト
263: if (PS4.getButtonClick(L3)) {
264: state = 1 - state;
265: } // L3ボタンを押す毎にstateが変化する
266: if (state == 1) {
267: max.write(2, HIGH); //点灯
268: } else {
269: max.write(2, LOW); //消灯
270: }
271:
272: //赤外線暗視装置
273: if (PS4.getButtonClick(PS)) {
274: state1 = 1 - state1;
275: } // PSボタンを押す毎にstateが変化する
276: if (state1 == 1) {
277: max.write(4, HIGH); //点灯
278: } else {
279: max.write(4, LOW); //消灯
280: }
281:
282: //走行コントロール
283: pos_y = PS4.getAnalogHat(LeftHatY);
284: pos_x = PS4.getAnalogHat(RightHatX);
285:
286: //左スティックがセンター付近は停止(ブレーキ)
287: if (pos_x >= 102 && pos_x <= 152 && pos_y >= 102 && pos_y <= 152) {
288: motor_run(0, 0, 0, 0, 1);
289: }
290:
291: //前進
292: if (pos_y <= 102 && pos_x >= 102 && pos_x <= 152) {
293: motor_speed = map(pos_y, 102, 0, 0, 255);
294: motor_run(motor_speed, 0, motor_speed, 0, 0);
295: }
296:
297: //後進
298: else if ( pos_y >= 152 && pos_x >= 102 && pos_x <= 152) {
299: motor_speed = map(pos_y, 152, 255, 0, 255) ;
300: motor_run(motor_speed, 1, motor_speed, 1, 0);
301: }
302:
303: //前進右緩旋回、信地旋回
304: //else if ( pos_y <= 102 && pos_x > 152 && pos_x <= 245) {
305: else if ( pos_y <= 102 && pos_x > 152) {
306: motor_speed = map(pos_y, 102, 0, 0, 255);
307: steering = motor_speed * (1.00 - (map(pos_x, 152, 255, 0, 255) / 255.00));
308: motor_run(motor_speed, 0, steering, 0, 0);
309: }
310:
311: //前進左緩旋回、信地旋回
312: //else if ( pos_y <= 102 && pos_x < 102 && pos_x >= 10) {
313: else if ( pos_y <= 102 && pos_x < 102) {
314: motor_speed = map(pos_y, 102, 0, 0, 255);
315: steering = motor_speed * (1.00 - (map(pos_x, 102, 0, 0, 255) / 255.00));
316: motor_run(steering, 0, motor_speed, 0, 0);
317: }
318:
319: //後進右緩旋回、信地旋回
320: //else if ( pos_y >= 152 && pos_x > 152 && pos_x <= 245) {
321: else if ( pos_y >= 152 && pos_x > 152 ) {
322: motor_speed = map(pos_y, 152, 255, 0, 255);
323: steering = motor_speed * (1.00 - (map(pos_x, 152, 255, 0, 255) / 255.00));
324: motor_run(motor_speed, 1, steering, 1, 0);
325: }
326:
327: //後進左緩旋回、信地旋回
328: //else if ( pos_y >= 152 && pos_x < 102 && pos_x >= 10) {
329: else if ( pos_y >= 152 && pos_x < 102 ) {
330: motor_speed = map(pos_y, 152, 255, 0, 255);
331: steering = motor_speed * (1.00 - (map(pos_x, 102, 0, 0, 255) / 255.00));
332: motor_run(steering, 1, motor_speed, 1, 0);
333: }
334:
335: //右超信地旋回
336: else if (pos_x > 245 && pos_y >= 102 && pos_y <= 152) {
337: motor_speed = 128;
338: motor_run(motor_speed, 0, motor_speed, 1, 0);
339: }
340:
341: //左超信地旋回
342: else if (pos_x < 10 && pos_y >= 102 && pos_y <= 152) {
343: motor_speed = 128;
344: motor_run(motor_speed, 1, motor_speed, 0, 0);
345: }
346:
347: else { //停止(ブレーキ)
348: motor_run(0, 0, 0, 0, 1);
349: }
350:
351: //姿勢制御
352: if ( PS4.getButtonClick(UP)) { //お辞儀
353: siseiseigyo(servoF_pos - difF, servoF_pos + difF, servoB_pos + difB, servoB_pos - difB);
354: }
355: if ( PS4.getButtonClick(DOWN)) { //逆お辞儀
356: siseiseigyo(servoF_pos + difF, servoF_pos - difF, servoB_pos - difB, servoB_pos + difB);
357: }
358: if ( PS4.getButtonClick(RIGHT)) { //右お辞儀
359: siseiseigyo(servoF_pos - difF, servoF_pos - difF, servoB_pos - difB, servoB_pos - difB);
360: }
361: if ( PS4.getButtonClick(LEFT)) { //左お辞儀
362: siseiseigyo(servoF_pos + difF, servoF_pos + difF, servoB_pos + difB, servoB_pos + difB);
363: }
364:
365: if (PS4.getButtonClick(CROSS)) { //車高下げる
366: siseiseigyo(servoF_pos - difF, servoF_pos + difF, servoB_pos - difB, servoB_pos + difB);
367: }
368: if (PS4.getButtonClick(TRIANGLE)) { //車高上げる
369: siseiseigyo(servoF_pos + difF, servoF_pos - difF, servoB_pos + difB, servoB_pos - difB);
370: }
371: if (PS4.getButtonClick(SQUARE)) { //車高標準水平
372: siseiseigyo(servoF_pos, servoF_pos, servoB_pos, servoB_pos);
373: }
374: }
375: }
376:
377: void motor_run(int D0, int D1, int D2, int D3, int D4) {
378: /* D0 : モータスピード(左)
379: D1 : モータA(左)1 = HIGH / 0 = LOW
380: D2 : モータスピード(右)
381: D3 : モータB(右)1 = HIGH / 0 = LOW
382: D4 : LED_3 ON/OFF 1 = HIGH / 0 = LOW
383: */
384: analogWrite(PWMA, D0);
385: digitalWrite(AIN1, D1);
386: analogWrite(PWMB, D2);
387: digitalWrite(BIN1, D3);
388: //digitalWrite(LED_3, D4);
389: if (D4 == 1) {
390: max.write(3, HIGH); //ブレーキ点灯
391: } else {
392: max.write(3, LOW); //ブレーキ消灯
393: }
394: }
395:
396: void siseiseigyo(int E4, int E5, int E6, int E7) {
397: myservo_4.attach(A0); //servo4 右前サス
398: myservo_5.attach(A1); //servo5 左前サス
399: myservo_6.attach(A2); //servo6 右後サス
400: myservo_7.attach(A3); //servo4 左後サス
401:
402: myservo_4.write(E4, servo4_sp);
403: myservo_5.write(E5, servo4_sp);
404: myservo_6.write(E6, servo4_sp);
405: myservo_7.write(E7, servo4_sp);
406: myservo_4.wait();
407: myservo_5.wait();
408: myservo_6.wait();
409: myservo_7.wait();
410: delay(100);
411:
412: myservo_4.detach();
413: myservo_5.detach();
414: myservo_6.detach();
415: myservo_7.detach();
416:
417: }

RC可動化 1/35 74式戦車
 


RC可動化 1/35 74式戦車 (番外編)

2020-02-27 01:50:39 | 1/35 タミヤ 74式戦車

2020-02-23
完成動画を撮り終えて、
1. 履帯が滑りやすく、スリップしている事、
2. 履帯が起動輪から外れて空回りし易いことに気が付く。

2項に関しては、履帯のテンション調整のため誘導輪の位置を調整しているが、
① 固定が外れやすい
② 姿勢制御させるため、履帯の張り具合が変化する
③ 履帯を張りすぎると、姿勢制御で車高を上げるのに負荷が重く、サーボのトルクが不足
これらの理由で、走行も姿勢制御も中途半端になってしまった。

そこで、誘導輪も0.4mmピアノ線で履帯を張る方向にテンションがかかる様に変更します。

更に、起動輪の履帯脱落防止用のガイドを高くしました。

完璧ではありませんが、履帯が外れる頻度を低減できました。
履帯の軸とパッドが接着してしまった箇所があり、履帯が起動輪に上手く巻き付いていないところが有りますが、
作り直すパーツが足りないので、このままとします。
やっぱり、金属可動履帯の方が使い易いです。

次に、履帯のグリップ力の向上は、艶消しクリアを塗布して僅かに改善できているが、
今までに経験のないほど滑るので、何か良い方法は無いものだろうか。。。。。

 


RC可動化 1/35 74式戦車 (その13 完成)

2020-02-23 16:24:46 | 1/35 タミヤ 74式戦車

2020-02-23
砲塔がスムーズに旋回していないので、配線やドライブプログラムを改修。
H103艶消しクリアーを吹いて完成としました。

画像をクリックすると拡大します

画像をクリックすると拡大します

画像をクリックすると拡大します

 

そして、完成動画です。

履帯が起動輪から外れ、空回りしていました。
改良を検討します。

 


RC可動化 1/35 74式戦車 (その12)

2020-02-21 17:59:53 | 1/35 タミヤ 74式戦車

2020-02-16
砲身の上下可動の為に防楯と砲塔の隙間を開け過ぎました。

防水キャンバスを伸ばして隙間を詰めます。
未だ隙間が有りますが、この辺りで妥協します。

赤外線暗視投光器に組み込んだ2個のLEDが目立ちすぎます。
画像では判りにくいっですが、はっきり2個の光源が見えます。

キムワイプを2枚重ねした拡散レンズを挿入してみました。
光源がぼやけ、面発光に近づきました。
実際の投光器の点灯したものを見ていないので、本当のところは判りません。


2020-02-17
事件です!
マイコン基板が起動失敗します。
基板を外して、配線のはんだ付け部を中心に目視確認しますが、不具合個所は見当たりません。
Arduinoは起動しているようですが、メインループに入る前で止まっているようです。
怪しいのは起動チェックをしているDFPlayerかUSBホストシールドです。
衝撃を加えると上手く起動する事も有るので、関連のはんだ付け部が外れかかっているようです。
いろいろ確認した結果、DFPlayerのマイナス線のはんだ付け部が外れていました。
何度も車体から外しているうちに外れたようです。
この部品は中華製で、もともとピンのはんだ自体もよくない事も有り、私のはんだ付けがしっかり接合できていなかったようです。
この作業のついでに、スペース的に厳しかったことから電池を車体外側下部に移設する事にしました。
車体下部の出っ張りが大きくなりますが、充電の為の電池交換も容易になる事も有り、思い切って改造しました。
この改造のためにその部分に関わるピアノ線(トーションバー)を短くして中央部分に電池を収める空間を作り出しました。
トーションバー用ピアノ線は0.4mmから0.35mmに替え、多少ですが柔らかくしました。

車長のフィギュアを塗装します。
服装は指定色は気に入らないので、カモフラージュタイプに塗り上げます。

2020-02-21
昨年から発生していた漏水の工事の立会い、年に一度の人間ドック、その他いろいろで、
74にあまり時間が取れませんでした。

ライトガードを伸ばしランナーで、それらしく再現しました。


メカがらみもなんとか改修が出来たので、仕上げに入ります。
車体下部や履帯の泥汚れは、ウェザリングカラーWC04サンディウォッシュ、AKピグメントで。

順番が逆になりましたが、部分的にクリアーを吹いてデカールを貼ります。
添付のデカールは全て北海道地区の部隊のものです。
その中から北千歳駐屯地の第71戦車連隊の車両にします。
部隊マークは”鉄牛”北海道と”7”を図案化したものです。
第7師団第7戦車大隊の”7”で、第71戦車連隊の前身です。

車体後部の補助機関用ドラム缶の固定ベルトは、樹脂粘土とはんだで再現しました。

デカールが乾けば、艶消しクリアーを吹いて完成の予定です。

 


RC可動化 1/35 74式戦車 (その11)

2020-02-14 18:53:56 | 1/35 タミヤ 74式戦車

2020-02-13
砲塔上下接合部の隙間をパテで埋めます。
上部の接合面にマスキングテープを張り、パテが接着しない様にしておきます。

塗装準備に入ります。
先ず、オキサイドレッドサフで下塗りをします。

履帯はLP54ダークアイアン履帯色を塗りますが、手持ちでは前部塗りませんでした。
残った部分を含め、全体をMC214ダークアイアンで上塗りします。
(画像には間違ってMC212アイアンが映っていました。)
乾いてから、歯ブラシで表面を擦って光らせます。

12.7mm重機関銃はMC212アイアンで塗装。
バケット部はC55カーキを筆塗りしました。

車体側はベースカラーの茶色はLP25茶色(陸上自衛隊)を吹きます。

画像は緑っぽく映っていますが、実際はもっと茶色っぽいです。
LP25は10ml入りでしたが使い切りました。

 


2020-02-14
ブルタックとキムワイプでマスキングして迷彩2色目LP64 OD色 陸上自衛隊を塗装します。

排気管はMC218アルミで塗装。
ブラウン+ブラックで墨入れをします。

 

 

 


RC可動化 1/35 74式戦車 (その10)

2020-02-12 00:31:08 | 1/35 タミヤ 74式戦車

2020-02-11
砲塔を組立てます。
車長用ハッチは開閉選択ですが、いつもの様に開閉可動工作をします。
軸は真鍮線と、パイプに置換えます。

砲手用ハッチも同様に開閉可動工作します。

バスケットの左右一番前のアームがズレているので、ちょっと加工が必要です。

12.7mm機銃を組立てます。
弾薬箱受けの底は塞ぎました。
軸は真鍮線に置換えて補強します。

赤外線暗視投光器を接着取付けすると、砲塔上下の分割が出来にくいので、ガイドピンとマグネットで固定します。

スモークディスチャージャーの発射口にも少し手を入れます。

アンテナ基部のガードも真鍮線で加工します。

防楯の主砲カバー?もプラ板で作ってみました。

 

 


RC可動化 1/35 74式戦車 (その9)

2020-02-10 23:57:54 | 1/35 タミヤ 74式戦車

2020-02-10
今日、少しでしたが名古屋市に初雪が舞いました。

さて、砲塔回りの製作に入ります。
と言っても、砲身の上下動作、発砲リコイル動作をさせるため、LEDの実装、サーボの実装、配線をします。
砲身はモールドを削り取り貫通させます。

チップLEDを装着して組み立て、更に3mm真鍮パイプを挿入します。

防楯に7.62mm機関銃として3ΦLEDを取り付け、砲身が前後出来るように貫通穴を開けます。

このキットは砲身が動く構造になっていないので、軸受けなどを増設します。

仮組して、パーツの干渉の確認をします。
防楯の軸受けの位置や、干渉する部分の切削などの調整をします。
この作業に数時間かかってしまいました。

作業中にチップLEDのリードが外れてしまいました。
リードをはんだ付けして修理完了。
点灯確認をしておきます。

サーボなどを実装しました。
メンテ用に砲塔を分解できるように、接着せずにガイドピンとマグネットで上下結合させます。

そして、いつもの様に一連の動作確認をします。
画像手前のパイプは、1/16「74式戦車をつくる」創刊号の砲身です。

 


RC可動化 1/35 74式戦車 (その8)

2020-02-09 00:13:36 | 1/35 タミヤ 74式戦車

2020-02-08
74式戦車には赤外線暗視装置を装備していますが、赤外線フィルターを外すとサーチライトになるようです。
キットには透明レンズを切り出すようになっているので、余った部分でもう1枚切り出しました。
1枚は透明のまま、もう1枚は赤色に着色して再現したいと思います。
光源には5Φ白色LEDを2個組み込みます。

と言っても、キットのままではモールドが埋まっているので光が通りません。

そこで、プラ板で格子を作ります。

LEDを内蔵させ、紫外線硬化樹脂で固定します。

引出しリードはエナメル線にして、キット付属のビニルチューブに通します。
更に、レンズ交換できるように、フロントカバーはピンを追加して脱着可能にします。

点灯させてみます。
赤色はH90クリアレッドを筆塗りしましたが、もっと赤くしたいです。

ヘッドランプも点灯させてみました。

次回は砲塔の製作予定です。


RC可動化 1/35 74式戦車 (その7)

2020-02-08 01:57:55 | 1/35 タミヤ 74式戦車

2020-02-07
車体周りの組立加工をします。
車体後部パネルを取付け、ブレーキランプは管制走行時モードで点灯させます。

点灯させ光漏れを確認しながら遮光のシルバー塗装します。

このキットは電池交換の為、嵌め込みワンタッチ取付けできます。
車体上下にツメが用意されています。

これならばマグネットで組み立てる細工は不要です。
電源スイッチは横向きに取付けたスライドスイッチのノブの上側に5mmプラ角材を接着。
ハッチを開けてON/OFFできるようにします。

ヘッドライトはウォームホワイトのチップLEDで光らせます。
0.6mmキリで下穴をあけ、少しずつ径を大きくしていき、最後は3.2mmで掘ります。
リードはんだ部に気を付けながら慎重に組み込みます。
百均の紫外線硬化樹脂で固定、レンズ表現します。

ケーブルも追加します。

デティールアップ用のエッチングパーツが販売されていますが、3,000円以上するので見送りです。
取手はいただけないので、削り取り、0.3mm真鍮線を曲げたものに置換えます。

ライトガードはプラ板で補強板を再現します。

最後部のロッドもモールドを削り取り、真鍮パイプとプラ板に置換えます。

冬季仕様ではもう少しパーツが有りますが、ほぼ車体上部の組立は完了です。

 

 


RC可動化 1/35 74式戦車 (その6)

2020-02-06 01:08:56 | 1/35 タミヤ 74式戦車

2020-02-05
サーボは定番のSG90は大きすぎるので、いつも通りの3.7GマイクロサーボRC450をアマゾンで仕入れます。

が、届いたものはRC450ではなくGH-S37Aというものです。↓

仕様は同等になっているので、返品交換も手間なので使ってみます。
姿勢制御用には問題なさそうです。(すこしトルクが低い様にも?)
砲身リコイル用でも問題なさそうです。
砲塔旋回用..........問題発生です!
砲塔旋回用にはサーボを改造して連続回転する様にしていますが、動作後の停止が出来ていないのです。
プログラムに問題がないか確認しますが、思い当たるところは有りません。
試しにRC450に取り換えると、ちゃんと動作し、停止します。
仕方ないので、2セットのうち1セット(4個)を返品しました。
1個不足になってしまいましたが、完成している戦車のサーボを使います。

電池(500mAh)の消耗が速い。
車高を上げたときに、入力電流が1A程度です。(多すぎ)
後側のサーボが負荷、リンクなどの原因で指定位置まで上がりきっていません。
取り敢えず、動作角度を調整して消費電流を下げます。
RC可動化のハード、ソフトがほぼ完成したので、キットの製作を再開できそうです。


RC可動化 1/35 74式戦車 (その5)

2020-02-02 19:42:18 | 1/35 タミヤ 74式戦車

2020-02-02
おっと、今日の年月日は回文になっていますね。
さて、やっと履帯の組立が済みました。
片側78が標準的との事ですが、79枚で組み上げました。

1枚多くすることで、履帯の脱着、サスペンション可動がやり易くなります。

Arduinoの試作回路、プログラムを動かして姿勢制御の動作確認をします。

 


RC可動化 1/35 74式戦車 (その4)

2020-01-31 22:42:50 | 1/35 タミヤ 74式戦車

2020-01-31
集中して作業をすることが出来なく、履帯はやっと70枚と10枚組みました。
完成は片側78枚の予定です。

そう言えば、この履帯のセットには誘導輪用の車軸が付いています。
既存の車軸に替え、履帯の張り具合を調整するために誘導輪の位置を変えることが出来ます。


今のままでは、稀に誤動作するので、サーボ周りのリンクなどは修正する必要が有りそうです。

姿勢制御ですが、使っていないPS4コントローラのボタンとスティックで
車高の上げ下げ(高・中・低の3段階)、お辞儀(前・後・右・左)が出来るように進めています。
ジャイロを使って自動姿勢制御機構を組み込むのは力不足で見送りです。
そして、姿勢制御動作を組み込むために、IR対戦モードは組み込みません。
試作機では1CPUで動いています。(但し、常時アイドリング音発生はしません)
機能が減っていますが、この仕様で進めようと思います。


RC可動化 1/35 74式戦車 (その3)

2020-01-28 23:51:51 | 1/35 タミヤ 74式戦車

2020-01-28
姿勢制御の回路、プログラムなどは未だ検討中です。
動作確認のために試作回路を組みましたが、
ソケットの接触不良などもあり動作不良が続き、確認どころではありません。
気分転換に、キットの組立をします。
転輪は抜け防止のために焼き止めします。

砲塔下部にはドライブベルトを取付けるのですが、邪魔な突起が有ります。

邪魔な突起部を削除します。

タミヤのローフリクションドライブベルトを瞬着で固定します。

センタープーリーは十字形ホーンを加工してサーボに取り付けます。

ここで、モデルカステンの可動履帯が届きました。

早速、開封して員数確認します。

内側パッド、外側パッド(左右あり)2セットが82枚有ります。
標準では片側78枚と言う事なので、8セットが補修用です。
連結シャフトは165個、9個が補修用です。

先ず、治具に内側パッドをセットして、連結シャフト、外側パッドの順に組み付けます。
外側パッドは中粘度瞬着(シアノンDW)で接着します。
タミヤセメントを細筆でチョン付けして10枚ほど組立てましたが、
固着までの時間がまどろっこしいので瞬着に変更しました。

治具で10枚を2組作り、これを結合します。

起動輪に巻いてみました。

暫くは、この履帯を組立てながらいい案が思いつくのを待つことにします。


RC可動化 1/35 74式戦車 (その2)

2020-01-27 00:49:07 | 1/35 タミヤ 74式戦車

2020-01-27
転輪のサス可動化(トーションバー式)と姿勢制御のサーボ取り付け検討をします。
このキットはモータライズ用のリブが残っていますが、邪魔なので切除します。

この後、もう少し切除します。

転輪サスアームの固定用ノッチを切除します。

0.5mmキリでピアノ線を通すための穴を開けます。

0.4mmピアノ線を挿入します。

ピアノ線をコノ字状に曲げ、ライターで先端を焼いて、一気に挿入します。

2mmプラ板でピアノ線を車体へ固定するプレートを作ります。

第1、第5転輪は0.5mmピアノ線にしました。
サーボを取付け、可動検討をします。

動作確認、及び調整の為に回路設計とプログラムの作成が必要です。
コントローラでどの様に操作するのか、使用するボタンも含めて検討します。
(いい案が、なかなか浮かんできません..........。)
キットの製作は、この機構が決まるまで中断です。

付属のゴム履帯を装着してみました。
サスの可動、姿勢制御をさせるためには、この履帯ではダメです。
金属可動履帯が手に入らないので、モデルカステンの樹脂可動履帯を手配しました。

 

 


RC可動化 1/35 74式戦車 (その1)

2020-01-25 21:27:10 | 1/35 タミヤ 74式戦車

2020-01-25
アシェットの「陸上自衛隊74式戦車をつくる」はとてもお金と時間がかかり過ぎて手が出ない。
その代わり、タミヤの1/35ミリタリーミニチュアシリーズの陸上自衛隊74式戦車を作ります。
RC可動化もやるつもりですが、今回は姿勢制御にも挑戦したいと思います。


1/35戦車としては、パーツの数が若干少ないようです。

先ずは起動輪のモータ駆動改造から進めます。
既存の車軸は切断し、貫通穴を開けます。

ギヤモータユニットをセットできるように細工をします。

ギヤモータユニットを取付けます。
因みにユニットはタミヤのミニモータ低速ギヤボックス4速を最高速(88rpm)で組み上げています。
トルクと回転数が不足しているように思えるのですが、製作事例もあるようなのでこれで試します。

起動輪の内側部には3.5mmナット穴が開いています。
3.5mmナットの穴を3mmに広げ、シャフトに挿入して瞬着で固定します。
六角シャフトを切断し、長さを調節して起動輪を装着します。
瞬着でシャフトに固定します。

ユニットを脱着できるように、ボデー側の車軸穴を広げ、切り落としします。
ボールベアリング軸受けを取付けたかったのですが、上の画像の左側はギリ可能ですが、右側は無理です。
取り敢えず、このまま進めます。

何時もの事ですが、タミヤのモータの引き出しリードはんだ付け部が4ヶ所とも破断しました。
まあ、引き出し端子がちぎれつより良いかも。

ギヤモータの動作確認をします。