Ganponブログ

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

RC可動 1/35 M1A2 SEP TUSKⅡ(スケッチ・回路)

2022-04-19 18:56:38 | 1/35 M1A2 エイブラムス
Arduinoのスケッチと回路図を公開します。
 
【メインプログラム】

1: /* PS4BT_arduino_pro mini_tank_DRV8835_MP3_M1A2_ver05c
2:
3: Arduino pro min + ミニUSBホストシールド2.0 + PS4コントローラ
4: 効果音はDFPlayer Mini
5: モータドライバはDRV8835
6:
7: 効果音制御はサブシステム(arduino_pro mini_tank_MP3_sub_ver04switch)で実施
8: シリアル通信データ
9: エンジン始動音停止 100
10: 砲撃 101
11: 銃撃 102
12: エンジン停止/始動 110
13: ライトスイッチ 120
14: 砲身center 130
15: 砲身UP 131
16: 砲身DOWN 132
17:
18: ver05 2022/03/25
19: 砲身上下操作を右スティックから△□✕ボタンに変更:信号が複数回発生しているのを1回発生に改善。
20:
21: Arduino1.8.15
22: 最大30720バイトのフラッシュメモリのうち、スケッチが24428バイト(79%)を使っています。
23: 最大2048バイトのRAMのうち、グローバル変数が1211バイト(59%)を使っていて、
24: ローカル変数で837バイト使うことができます。
25:
26: 砲撃時のリコイルアクション 砲身のみ (車体のリコイル動作廃止) ver03 2022/03/22
27: ヘッドライト、ブレーキランプはミニUSBシールドのGPOUTピン0,1,2,3
28:
29: 【操作手順】
30: SHARE+PSボタンでペアリング開始。白色インジケータランプ高速点滅。
31: 戦車の電源投入。
32: インジケータランプ青色点灯でペアリング完了。
33:
34: 【走行コントロール】
35: コントローラーの左スティック上下で前後進、
36: 右スティックの左右でステアリングを制御。
37: ステアリングを振っていくと回転軸側が減速していき(緩旋回から信地旋回)、
38: 左スティックを中央に戻し、右スティックを左右一杯に振ると超信地旋回。(速度60%)
39: 停止時にブレーキランプ点灯 ミニUSB GPOUT- 3ピン
40:
41: 【砲身上下】 TRIANGLEボタンでUP。 SQUAREボタンでセンター。 CROSSボタンでDOWN。 ver04b
42: 【砲塔旋回】 左スティック左右で砲塔旋回。離した位置で止まる。
43: 【主砲】 R1ボタンで主砲発射
44: 【機銃】 L1ボタンで機銃射撃
45: 【ヘッドライト】RIGHTボタンを押して点灯、LEFTボタンを押して消灯。ミニUSB GPOUT- 2ピン
46: 【ブレーキランプ】停車時のみ点灯。ミニUSB GPOUT- 3ピン
47: 【BOモード】UPボタンを押してBOライトモード、DOWNボタンを押して通常モード。初期は通常モード。
48: BOライト&BOテール=A0ピン、 BOブレーキ=A1ピン
49: 【エンジン始動+アイドリング効果音】〇ボタンで発生、停止を交互に実施。R3ボタンで強制停止。
50: 【エンジン始動音およびアイドリング音の強制停止】 R3ボタンで強制停止
51: */
52:
53: #include
54: #include
55:
56: #ifdef dobogusinclude
57: #include
58: #endif
59: #include
60:
61: USB Usb;
62: //USBHub Hub1(&Usb); // Some dongles have a hub inside
63: BTD Btd(&Usb); // You have to create the Bluetooth Dongle instance like so
64:
65: /* You can create the instance of the PS4BT class in two ways */
66: // This will start an inquiry and then pair with the PS4 controller - you only have to do this once
67: // You will need to hold down the PS and Share button at the same time,
68: // the PS4 controller will then start to blink rapidly indicating that it is in pairing mode
69: PS4BT PS4(&Btd, PAIR);
70:
71: // After that you can simply create the instance like so and then press the PS button on the device
72: //PS4BT PS4(&Btd);
73:
74: bool printAngle, printTouch;
75: uint8_t oldL2Value, oldR2Value;
76:
77: //#include // needed by Arduino IDE
78:
79: #include // GPOUTピンで主砲LEDを発光させるため
80: MaxGPIO max;
81:
82: byte ser_data;
83:
84: #include
85: VarSpeedServo myservo_2;
86: int servo2 = 3; //servo2 砲塔旋回
87:
88: //const int servo2_sp = 5; //砲塔回転スピード
89: const int LED_5 = A0; //BOライト & BOテール
90: const int LED_6 = A1; //BOブレーキ
91:
92: int ch = 0;
93: int pos_y;
94: int pos_x;
95: int pos_ry;
96: int pos_rx;
97: int motor_speed;
98: int steering;
99: int PWMA = 5; // A入力2/AENABLE 左モータ AIN2
100: int PWMB = 6; // B入力2/BENABLE 右モータ BIN2
101: int AIN1 = 4; // A入力1/APHASE 左モータ AIN1
102: int BIN1 = 7; // B入力1/BPHASE 右モータ BIN1
103: int silent = 1;
104: int state = 0; //変数stateを設定
105: int state1 = 0;
106: int BO = 0;
107: int HL = 0 ;
108:
109: void setup() {
110: Serial.begin (115200);
111: #if !defined(__MIPSEL__)
112: while (!Serial); // Wait for serial port to connect - used on Leonardo,
113: //Teensy and other boards with built-in USB CDC serial connection
114: #endif
115: if (Usb.Init() == -1) {
116: Serial.print(F("\r\nOSC did not start"));
117: while (1); // Halt
118: }
119: Serial.print(F("\r\nPS4 Bluetooth Library Started"));
120:
121: max.write(3, HIGH); //ブレーキ点灯
122:
123: pinMode(PWMA, OUTPUT);
124: pinMode(PWMB, OUTPUT);
125: pinMode(AIN1, OUTPUT);
126: pinMode(BIN1, OUTPUT);
127: pinMode(LED_5, OUTPUT);
128: pinMode(LED_6, OUTPUT);
129: pinMode(servo2, OUTPUT); //servo 2 砲塔旋回
130:
131:
132: //ペアリングミス改善のためサーボの設定はBT接続の後にする
133: myservo_2.attach(3); //servo2 砲塔旋回
134: myservo_2.write(90);
135: myservo_2.detach(); //centerセット時はコメントアウト
136: }
137:
138: void loop() {
139: Usb.Task();
140: if (PS4.connected()) {
141: // myDFPlayer.play(5);
142: // delay(100);
143: if (PS4.getButtonClick(R3)) { //エンジン始動音停止
144: sendData(100);
145: }
146:
147: if (PS4.getButtonClick(CIRCLE)) { //エンジン音停止
148: sendData(110); //エンジン始動
149: }
150:
151:
152: //BOモード ⇔ 通常モード
153: if (PS4.getButtonClick(UP)) {
154: BO = 1; //BOモード
155: lampchk(HL, BO);
156: }
157: if (PS4.getButtonClick(DOWN)) {
158: BO = 0; //通常モード
159: lampchk(HL, BO);
160: }
161:
162: //砲身上下
163: if ( PS4.getButtonClick(SQUARE)) { //CENTER
164: sendData(130);
165: }
166: if (PS4.getButtonClick(TRIANGLE)) { // UP
167: sendData(131);
168: }
169: if (PS4.getButtonClick(CROSS)) { //DOWN
170: sendData(132);
171: }
172:
173: //砲塔旋回
174: pos_rx = PS4.getAnalogHat(LeftHatX);
175: if ( pos_rx > 200) { //右旋回
176: myservo_2.attach(servo2);
177: myservo_2.write(83);
178: } else if (pos_rx < 55) { //左旋回
179: myservo_2.attach(servo2);
180: myservo_2.write(102);
181: } else { //停止
182: myservo_2.attach(servo2); //回転初めに一瞬反対側に回転するのでコメントアウトする
183: myservo_2.write(90);
184: myservo_2.detach();
185: }
186:
187: //砲撃 + リコイル
188: if (PS4.getButtonClick(R1) ) {
189: sendData(101); // 砲撃信号送信
190: }
191:
192: //銃撃
193: if ( PS4.getButtonClick(L1)) {
194: sendData(102); // 銃撃信号送信
195: }
196:
197: //ヘッドライト
198: if (PS4.getButtonClick(RIGHT)) {
199: HL = 1;
200: lampchk(HL, BO);
201: }
202:
203: if (PS4.getButtonClick(LEFT)) {
204: HL = 0;
205: sendData(120); // ライトスイッチ信号送信
206: max.write(2, LOW); //消灯
207: digitalWrite(LED_5, LOW); // BOライト消灯
208: }
209:
210: //走行コントロール
211: pos_y = PS4.getAnalogHat(LeftHatY);
212: pos_x = PS4.getAnalogHat(RightHatX);
213:
214: //左スティックがセンター付近は停止(ブレーキ)
215: if (pos_x >= 102 && pos_x <= 152 && pos_y >= 102 && pos_y <= 152) {
216: motor_run(0, 0, 0, 0, 1, BO);
217: }
218:
219: //前進
220: if (pos_y <= 102 && pos_x >= 102 && pos_x <= 152) {
221: motor_speed = map(pos_y, 102, 0, 0, 255);
222: motor_run(motor_speed, 0, motor_speed, 0, 0, BO);
223: }
224:
225: //後進
226: else if ( pos_y >= 152 && pos_x >= 102 && pos_x <= 152) {
227: motor_speed = map(pos_y, 152, 255, 0, 255) ;
228: motor_run(motor_speed, 1, motor_speed, 1, 0, BO);
229: }
230:
231: //前進右緩旋回、信地旋回
232: else if ( pos_y <= 102 && pos_x > 152) {
233: motor_speed = map(pos_y, 102, 0, 0, 255);
234: steering = motor_speed * (1.00 - (map(pos_x, 152, 255, 0, 255) / 255.00));
235: motor_run(motor_speed, 0, steering, 0, 0, BO);
236: }
237:
238: //前進左緩旋回、信地旋回
239: //else if ( pos_y <= 102 && pos_x < 102 && pos_x >= 10) {
240: else if ( pos_y <= 102 && pos_x < 102) {
241: motor_speed = map(pos_y, 102, 0, 0, 255);
242: steering = motor_speed * (1.00 - (map(pos_x, 102, 0, 0, 255) / 255.00));
243: motor_run(steering, 0, motor_speed, 0, 0, BO);
244: }
245:
246: //後進右緩旋回、信地旋回
247: //else if ( pos_y >= 152 && pos_x > 152 && pos_x <= 245) {
248: else if ( pos_y >= 152 && pos_x > 152 ) {
249: motor_speed = map(pos_y, 152, 255, 0, 255);
250: steering = motor_speed * (1.00 - (map(pos_x, 152, 255, 0, 255) / 255.00));
251: motor_run(motor_speed, 1, steering, 1, 0, BO);
252: }
253:
254: //後進左緩旋回、信地旋回
255: //else if ( pos_y >= 152 && pos_x < 102 && pos_x >= 10) {
256: else if ( pos_y >= 152 && pos_x < 102 ) {
257: motor_speed = map(pos_y, 152, 255, 0, 255);
258: steering = motor_speed * (1.00 - (map(pos_x, 102, 0, 0, 255) / 255.00));
259: motor_run(steering, 1, motor_speed, 1, 0, BO);
260: }
261:
262: //右超信地旋回
263: else if (pos_x > 245 && pos_y >= 102 && pos_y <= 152) {
264: motor_speed = 155;
265: motor_run(motor_speed, 0, motor_speed, 1, 0, BO);
266: }
267:
268: //左超信地旋回
269: else if (pos_x < 10 && pos_y >= 102 && pos_y <= 152) {
270: motor_speed = 155;
271: motor_run(motor_speed, 1, motor_speed, 0, 0, BO);
272: }
273: else { //停止(ブレーキ)
274: motor_run(0, 0, 0, 0, 1, BO);
275: }
276: }
277: }
278:
279: void motor_run(int D0, int D1, int D2, int D3, int D4, int D5) {
280: /* D0 : モータスピード(左)
281: D1 : モータA(左)1 = HIGH / 0 = LOW
282: D2 : モータスピード(右)
283: D3 : モータB(右)1 = HIGH / 0 = LOW
284: D4 : LED_3 ON/OFF 1 = HIGH / 0 = LOW
285: D5 : BOモード
286: */
287: analogWrite(PWMA, D0);
288: digitalWrite(AIN1, D1);
289: analogWrite(PWMB, D2);
290: digitalWrite(BIN1, D3);
291: //digitalWrite(LED_3, D4);
292:
293: if ((D4 == 1) && (D5 == 0)) {
294: max.write(3, HIGH); //ブレーキ点灯
295: digitalWrite(LED_6, LOW); //BOブレーキ消灯
296: }
297: if ((D4 == 1) && (D5 == 1)) {
298: max.write(3, LOW); //ブレーキ消灯
299: digitalWrite(LED_6, HIGH); //BOブレーキ点灯
300: }
301: if (D4 == 0) {
302: max.write(3, LOW); //ブレーキ消灯
303: digitalWrite(LED_6, LOW); //BOブレーキ消灯
304: }
305: }
306:
307: void lampchk(int D7, int D8) {
308: /*ヘッドライトBOモードチェック
309: D7:HL ヘッドライトon-off
310: D8:BOモードon-off
311: */
312: sendData(120); // ライトスイッチ信号送信
313: if ((D7 == 1) && (D8 == 0)) {
314: max.write(2, HIGH); //ヘッドライト点灯
315: digitalWrite(LED_5, LOW); //BOライト消灯
316: }
317: if ((D7 == 1) && (D8 == 1)) {
318: max.write(2, LOW); //ヘッドライト消灯
319: digitalWrite(LED_5, HIGH); // BOライト点灯
320: }
321: }
322:
323: void sendData(byte val) {
324: Serial.write('H'); // ヘッダ送信
325: Serial.write(val); // データ送信
326: }
327:

 
【サブプログラム】

1: /* arduino_pro mini_M1A2_MP3_sub_ver04c
2: 2022/04/06
3: switch caseコマンドで書き直す
4: 最大30720バイトのフラッシュメモリのうち、スケッチが6906バイト(22%)を使っています。
5: 最大2048バイトのRAMのうち、グローバル変数が520バイト(25%)を使っていて、
6: ローカル変数で1528バイト使うことができます。
7:
8: 本サブシステムの内容
9: MP3プレーヤーで効果音を発生
10: エンジン始動信号受信でエンジン始動、アイドリング音発生。
11:
12: 走行制御に影響する動作をサブ側へ移動
13: 主砲発砲の砲身リコイルと発光をサブ側で対応
14: 機銃発行をサブ側で対応
15: 砲身上下動作をサブ側で対応
16:
17: シリアル通信データ
18: エンジン始動 100
19: 砲撃 101
20: 銃撃 102
21: エンジン停止/始動 110
22: ライトスイッチ 120
23: 砲身center 130
24: 砲身UP 131
25: 砲身DOWN 132
26: */
27:
28: #include
29:
30: #include
31: SoftwareSerial mySerial(A2, A3); // DFPlayer TX,RX
32: DFRobotDFPlayerMini myDFPlayer;
33:
34: #include
35: VarSpeedServo myservo_1;
36: VarSpeedServo myservo_3;
37:
38: int servo1 = 2; //servo1 砲身上下
39: int servo3 = 8; //servo3 砲身リコイル
40: int servo1_pos = 90; //servo1 砲身上下
41: int servo3_pos = 90; //servo3 砲身リコイル
42: int servo1_sp = 20; //砲身上下スピード
43:
44: byte recv_data; // 受信データ
45: int silent = 1;
46: int d_time = 200;
47: int LED_1 = 4; //主砲
48: int LED_2 = 5; //機銃
49:
50: void trancelate() //
51: {
52: switch (recv_data) {
53: case 100: Serial.println("100"); eng_s(); break; // エンジン始動音停止
54: case 101: Serial.println("101"); fire(); break; //砲撃
55: case 102: Serial.println("102"); gun(); break; //銃撃
56: case 110: Serial.println("110"); eng_e_s(); break; //エンジン停止/始動
57: case 120: Serial.println("120"); light_sw(); break; //ライトスイッチ
58: case 130: Serial.println("130"); barrel_c(); break; //砲身CENTER
59: case 131: Serial.println("131"); barrel_u(); break; //砲身UP
60: case 132: Serial.println("132"); barrel_d(); break; //砲身DOWN
61: default: //どのcaseにも合致しないとき
62: Serial.println(" other button ");
63: } // End Case
64: delay(100);
65: } //END translate
66:
67: void eng_s() { //100 エンジン始動音停止
68: myDFPlayer.disableLoopAll(); //stop loop all mp3 files.
69: silent = 1;
70: }
71:
72: void fire() { //101 砲撃
73: PLAY_MP3(26); //砲撃音
74:
75: digitalWrite(LED_1, HIGH); //主砲発光
76: myservo_3.attach(servo3);
77: myservo_3.write(servo3_pos - 70, 255); //砲身リコイル
78: //myservo_3.wait();
79: delay(100);
80: //motor_run(100, 1, 100, 1, 1, BO);
81: //ch = 1000; //約1秒間は砲撃不可
82: delay(60);
83: //motor_run(0, 0, 0, 0, 1, BO);
84: digitalWrite(LED_1, LOW); //主砲消灯
85: delay(80);
86: myservo_3.write(servo3_pos, 20, true);
87: //motor_run(50, 0, 50, 0, 1, BO);
88: //delay(100);
89: //motor_run(0, 0, 0, 0, 1, BO);
90: //myservo_3.wait();
91: //delay(500);
92: myservo_3.detach();
93: }
94:
95: void gun() { //102 銃撃
96: PLAY_MP3(24);
97: for ( int i = 0; i < 7 ; i++) {
98: digitalWrite(LED_2, HIGH); //機銃発光
99: delay(80);
100: digitalWrite(LED_2, LOW); //機銃消灯
101: delay(120);
102: }
103: }
104:
105: void eng_e_s() { //110 エンジン停止/始動
106: silent = 1 - silent;
107: // recv_data = 0;
108: }
109:
110: void light_sw() { //120 ライトスイッチ
111: PLAY_MP3(27);
112: }
113:
114: void barrel_c() { //130 砲身center
115: myservo_1.attach(servo1);
116: myservo_1.write(servo1_pos, servo1_sp, true);
117: myservo_1.detach();
118: }
119:
120: void barrel_u() { //131 砲身up
121: myservo_1.attach(servo1);
122: myservo_1.write(servo1_pos - 60, servo1_sp, true);
123: myservo_1.detach();
124: }
125:
126: void barrel_d() { //132 砲身down
127: myservo_1.attach(servo1);
128: myservo_1.write(servo1_pos + 30, servo1_sp, true);
129: myservo_1.detach();
130: }
131:
132:
133: void setup() {
134: Serial.begin (115200);
135: mySerial.begin (9600);
136:
137: myDFPlayer.begin(mySerial);
138: delay(100); //設定待ち時間は仮置き
139: myDFPlayer.volume(25); //Set volume value (0~30)
140: myDFPlayer.play(28); //エンジン始動
141: delay(1000);
142: //myDFPlayer.loop(5); //Loop 5th mp3 アイドリング
143:
144: pinMode(LED_1, OUTPUT); //主砲
145: pinMode(LED_2, OUTPUT); //機銃
146: //pinMode(servo1, OUTPUT); //servo 1 砲身上下
147: //pinMode(servo3, OUTPUT); //servo 3 砲身リコイル
148:
149: myservo_1.attach(servo1);
150: myservo_1.write(servo1_pos, 255, true);
151: myservo_1.detach();
152: myservo_3.attach(servo3);
153: myservo_3.write(servo3_pos, 255, true);
154: myservo_3.detach();
155: }
156:
157: void loop() {
158:
159: Serial.println("*");
160: //受信バッファに2バイト(ヘッダ+データ)以上のデータが着ているか確認
161: if ( Serial.available() >= 2 ) {
162: // ヘッダの確認
163: if ( Serial.read() == 'H' ) {
164: recv_data = Serial.read() ;
165: trancelate();
166: }
167: }
168:
169: if (silent == 1) {
170: myDFPlayer.disableLoop(); //アイドリング停止
171: } else if ( (silent == 0) && (recv_data == 110)) { //エンジン始動
172: myDFPlayer.play(28); //エンジン始動
173: delay(2000);
174: myDFPlayer.loop(5); //Loop 5th mp3 アイドリング
175: delay(d_time);
176: } else {
177: myDFPlayer.loop(5); //Loop 5th mp3 アイドリング
178: delay(d_time);
179: }
180: recv_data = 0;
181: }
182:
183: void PLAY_MP3(int LT) {
184: recv_data = 0;
185: myDFPlayer.play(LT);
186: //delay(100);
187: }
188:

 
【回路図】

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

 
 
 

 

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ(13・完成)

2022-04-11 15:16:36 | 1/35 M1A2 エイブラムス

2022-04-11
▼ボルトの頭を強調します。
エナメルのXF60ダークイエロー+XF2フラットホワイト混合色をボルトヘッドに面相筆で塗ります。

▼接着部が固着したであろう履帯を装着して、完成です。

▼それでは完成画像です。

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

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

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

 

▼そして動画です。

 

 

 

 

 


1/35 タミヤ M1A2 SEP エイブラムス TUSKⅡ(履帯2)

2022-04-10 19:40:17 | 1/35 M1A2 エイブラムス

2022-04-10
履帯組立治具の製作、改造と組立手順の変更及び慣れのお陰で、製作スピードが向上。
片側3日が1日に短縮出来ました。

▼接着が固着するのを待つ間に車体の転輪周りの汚れを追加しました。

▼一晩乾燥させ、オキサイドレッドサフを吹きました。

▼ゴムパッド部をXF85ラバーブラックで塗り、その他をLP54履帯色を吹きます。
両端はB4鉛筆で擦り金属感を出します。

▼サンディウォッシュで表面を汚します。

早く装着して動かせたいのですが、もう少し接着乾燥時間を取ることにします。

 


1/35 タミヤ M1A2 SEP エイブラムス TUSKⅡ(履帯1)

2022-04-08 23:54:47 | 1/35 M1A2 エイブラムス

2022-04-07~09
可動履帯を組み立てます。
フリウルの金属履帯が良いのですが、手に入りません。
強度的に走行に耐えるかどうか判りませんが試してみます。

▼組立や接着の難しさ、更に強度的にも微妙ですが、ブロンコの可動履帯を選定しました。

▼これが7set入っています。
残念ですが組み立て治具は入っていません。
7x24=168枚、 片側76枚が設定数なので16枚分余ることになります。

▼簡易治具を作って3枚組んでみました。
接着前の各パーツの固定が難しいです。
ライフィールドモデルの組立履帯に付属の治具の画像を参考に治具改良を試みようか?

▼治具を改良しました。
更に、センターガイドをピンに先に接着する方法に替えてスピードアップしました。

▼3日かかって片側76枚が組み上がりました。

 

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(12)

2022-04-07 00:03:29 | 1/35 M1A2 エイブラムス

2022-04-06
▼VIC HOBBYのチッピングブラウンでチッピングをします。
面相筆やスポンジを使って塗装が剥げて錆ているのを表現しました。

▼艶消しクリアーを吹いてから透明パーツのマスキングを剥がします。
トラブルなくマスクできていました。

本来なら、ここらで完成とするのですが、もうちょっと面倒な事をやります。

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(11)

2022-04-05 23:37:35 | 1/35 M1A2 エイブラムス

2022-04-05
▼油彩によるドッティングで退色表現をします。

▼エナメルWC03ステンブラウンをパネルラインに墨入れし、更に暗部を強調します。

▼乾いてからエナメル溶剤で拭き取ります。

▼キットの装備品に「アメリカ現用車輌 装備品セット」からバッグやテントを足して搭載します。

▼部分的に光沢クリアーを吹いて、デカールを貼ります。
画像の向かって右上の長方形はデカールを破損したので塗装しました。

今日はここまでです。
チッピングも試してみたい。。。。。

 

 

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(10)

2022-04-05 00:11:59 | 1/35 M1A2 エイブラムス

2022-04-04
▼途中の画像が有りませんが、墨入れをしました。
クリアーを吹いてはいますが、表面が荒れているので結構にじみます。

油彩でのウェザリングをする前に一息入れます。

▼フィギュア2体を組みますが、
砲塔内部は可動メカで一杯なので、下半身は切除し、マグネットを胴体下部に装着します。
砲塔側に鉄板を貼ったプラ板を組み込みます。
塗装はXF57バフを全体に吹きます。

▼迷彩を筆塗りします。
デジタル迷彩だと思うのですが、結構難しいです。
グレーを入れすぎたところや丸くなったところはXF57で修正します。

▼墨入れをし、艶消しクリアーを吹きます。

▼戦車に搭乗させました。

未だ殆どのクリアパーツはマスキングしたままです。
このまま油彩でのウェザリングをするか迷っています。

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(9)

2022-04-02 23:27:27 | 1/35 M1A2 エイブラムス

2022-04-02
▼もう一度テクスチャーペイントを塗り、サフを吹きます。

▼転輪は艶消しブラックを吹き、濃いグレーを前面に吹いてからマスキングします。
そして薄いグレーを明るい面に吹きます。

▼車体はC33艶消しブラックでシャドー吹きし、
濃いグレー(C13ニュートラルグレー+C33)をシャドーを残す様に面毎に吹きます。

▼更にC13、明るいグレー(C13+C62艶消しホワイト)を吹きます。

▼一番明るい面にC62艶消しホワイトを吹きます。

▼全体の調子を確認して、追加塗装して明暗を修正します。

▼LP30ライトサンドを薄めに希釈して面毎に吹きます。
別途、塗装しておいたコマンダーズハッチなどと彩度が違いすぎてきました。
LP30にC13を混ぜたものを吹いて修正しました。

▼履帯を塗装します。
先ずPP用プライマーを吹いておきます。
次にオキサイドレッドサフ、LP54履帯色、ラバー部にはXF85ラバーブラックを吹きます。

▼金属感を出すためにラバー部をマスキングして、MC212アイアンを吹いて擦ります。

次はウェザリングです。
前準備にセミグロスクリアーを吹いて、今日は終了です。

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(8)

2022-03-31 23:23:01 | 1/35 M1A2 エイブラムス

2022-03-31

▼サイドスカートとリアクティブアーマータイル(爆発反応装甲タイル)を組み、車体に取り付けます。
M1A2 SEP TUSKⅡらしくなってきました。

▼車体の上下は分割可能にしておく為に、サイドスカート指示ステーは取り付けません。

▼サイドスカートと履帯の干渉を確認します。
誘導輪が左右に1mmほど動く(ホイール内のポリキャップのガタつき)ので、スカートに接触しそうです。

▼内側に動いたとき

▼外側に動いたとき

▼誘導輪の中外の接着を剥がして、ポリキャップのガタを減らしたいのですが、しっかり結合しているので剥がせません。
そこで、誘導輪の軸をM6平ワッシャーをゲージにして1mm削ります。

▼砲塔にもリアクティブアーマータイルを取付けます。

▼塗装前に車体表面に滑り止め表現をします。
定番かもしれませんがテクスチャーペイントを希釈して平筆で薄く塗ります。

よく乾かせて、もう一度塗ります。
▼塗りたてです。

明日、乾燥後の状態が良ければ、後先逆になった下地塗装をします。

 

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(7)

2022-03-31 00:02:13 | 1/35 M1A2 エイブラムス

2022-03-29~31
ローダーズハッチの周りに7.62mm機銃を取付けます。

▼仮組みで確認します。
何か変ですが、気が付きますか?


▲機銃をセットしたままではハッチの開閉が出来ません。
という事は、機銃は脱着可能か、若しくは向きを変えれる様にしないといけません。
そのままでも出来なくは無いのですが、ポリキャップで軸を受けていないので何れ緩々になりそうです。
作例ではハッチは開いた状態で固定していました。
実際はどの様にしてハッチの開閉しているのでしょうか?

続いてキューポラ周りを確認します。

▼コマンダーズハッチは造りの細かさの割には開閉可能ではありません。
矢印の部分を切断して軸を通すと開閉可能になります。

▼ここまでの二つの関連パーツを塗装します。
車体色は図面指示はTS46ライトサンド(スプレー)ですが、ビンタイプのLP30を使います。
装填手用シールドの外周の艶消し黒塗装を先に筆塗りして、マスキングしました。

続いて、キューポラ周りのシールドや12.7mmM2重機関銃の組立をします。

▼7.62mm機銃周りを組み立て砲塔に取り付けるのですが、
ガイドのボスが短いので受けを作ります。
3大の機銃周りは後で砲塔と一緒に塗装するのは手古摺りそうです。
ユニットで組み立て、塗装を完了させ、最後にマウントする事にします。

▼12.7mmM2重機関銃の弾薬ケースの底が無いので、プラシートで塞いでおきます。

▼TUSKで開発された主砲防盾上のM2重機関銃用の光学照準器にも底が有りません。
これには伸ばしランナーを挿入して塞ぎます。

▼細かなパーツが何度も外れて手古摺りましたが、何とか3台組み上がりました。

▼砲塔に載せてみます。

まだ道半ばですが、今回はここまでです。

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(6)

2022-03-28 00:38:22 | 1/35 M1A2 エイブラムス

2022-03-27
砲塔を旋回させるとカタッと接触音が発生しています。

▼最初はドライバーズハッチに砲塔下部が接触していると思っていましたが、
どうやら車体後部のカバー突起部に接触していました。

▼砲塔下部を少しヤスリ掛けして接触しないようにします。

           ▼  ▼  ▼  ▼  ▼  ▼  ▼

さて、可動の仕掛けもほぼ完了したので、車体の組立を再開します。

▼砲塔上下はメンテナンスできるように接着せず、マグネットで結合します。

▼ローダーズハッチは開閉可能にします。
0.6mmキリで穴をあけ、0.5mm真鍮線を通します。
しかし、ハッチ側の軸上部下部がこれ(赤丸矢印)では開きません。

▼角を丸くして開閉できるようになりました。
削り量と軸位置がうまく出来ると開いたときにクロック感があり固定します。

▼防盾カバーと、その上から砲塔までのダクトは砲身を上下させると、
カバーはヒンジで多少上下し、ダクトも前後します。
メンテ用に砲塔の上下を分割できるようにしたので、このダクトが邪魔になります。
この後、赤丸の所で折れてしまいました。

▼2mmプラ角棒を削って断面を三角にしてダクトを作り、下面に0.5mm真鍮線を貼ります。
このダクトは外して、砲塔の上下結合、分割をするようにしました。

▼砲塔後部のバスルラック(荷物用ラック)を組み立てます。
先ず図面をコピーして「剥がせるのり」でメッシュに張り付けて、ハサミで裁断します。
ラックにはゼリータイプの瞬着で接着します。

▼両サイドのメッシュを間違って上側に貼ってしまいました。

▼何とか剥がし、新たに裁断したメッシュを下側に貼りました。

▼砲塔に取り付けますが、気を付けないと貼る位置を間違えそうです。

▼レンジファインダーを扉開状態で組付けます。

ここまで結構手古摺ってしまい、タイムオーバーとなりました。

 

 

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(5)

2022-03-27 00:31:10 | 1/35 M1A2 エイブラムス

2022-03-24~26
主砲の組立を進めます。

▼砲身の上下は軸に入れたポリキャップで可動できるようになっていますが、結構重いです。
穴を大きくする前に、グリスを塗布して動きを軽くさせます。
サーボモータで動かせなければ、擦って動きやすいようにします。

▼砲身リコイルの仕掛けをします。
穴を貫通し、アルミパイプで砲身を延長します。
アルミパイプをドリル刃に被せて軸がズレないようにします。

▼一番大きな穴は7mmですが、持っていないので丸ヤスリで擦りながら調整します。

▼こんな感じになりました。

▼砲身は左右接合部しますが、合わせ目が気になります。
イージーサンディングを塗布し、固まったらヤスリ掛けします。

▼砲身にチップLEDを取付けます。
発光部に透明プラ丸棒を接着して砲身に固定させます。

▼主砲の砲塔内部は残念ながら可動の邪魔になるので取り除きます。

▼機銃の発光は光ファイバーの端部に真鍮パイプを付けてLED発光部をジョイントします。

▼その後、何だかんだと改造を繰り返し、こんな構造になりました。
向かって左のサーボが砲身リコイル用、右が砲身上下用です。
M1A2は大きいですが砲塔の高さが低いので、砲身上下の可動域が少なくなってしまいました。

▼上下ギリギリで内蔵しました。

▼ここで、動作確認テストです。

 

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(4)

2022-03-23 22:41:42 | 1/35 M1A2 エイブラムス

2022-03-21~23
BOライトの制御を追加するために、基板とArduinoプログラムを改造します。

スペックは以下の通りです。
1. 通常モード(ストップライトはストップ&テール兼用)
1.1 ヘッドライトOFF:停止時に一番上の赤いストップライトのみ点灯。
1.2 ヘッドライトON :停止時に一番上の赤いストップライトのみ点灯、走行時はテールライト(スモール)が点灯。

2. BOモード
2.1 ヘッドライトOFF:停止時に一番下の白いストップライトのみ点灯。
2.2 ヘッドライトON :停止時に一番下の白い赤いストップライト点灯、走行時は中央のBOテールが点灯。

3. ヘッドライト
通常モードではヘッドタイト、BOモードではBOライトが点灯。 

iphoneの動画編集アプリの「imovie」でピクチャー・イン・ピクチャーで前と後ろの灯具を同時に見えるようにしました。
1台のiphoneで前と後ろを別々に撮影しているので、前後は同時録画ではありません。
初めてなのでぎこちないですが、動作確認として作りました。

▼M1A2 BOライト点灯テスト

よーく見ないと判らないですが、自己満足のライト点灯でした。

▼さて、履帯外れの対策をしてみました。
起動輪の中央に電線を一巻きして、その両側にエポパテを貼って、固まったところで電線を除去して形を整えます。
これで出来たセンターガイド用の溝で履帯が弛んで起動輪から浮いたときに横にスライドしにくくなります。
効果のほどはと言うと、信地旋回や超信地旋回では未だ外れますが、緩旋回なら何とか外れない様になりました。

砲塔、砲身の組立に入ります。
▼仮組みして主砲などの動作、発光の方法を考えます。

▲砲身のリコイルと上下動作、発光方法など、、、、考えるのが楽しいですね。

▼先ずは主砲右横の同軸機銃の細工をします。
砲身の両端から0.5mmキリで穴を掘り、貫通させます。
多少軸がズレましたが、0.6mm、0.8mmと穴を大きくする段階で修正します。
次に0.5mm光ファイバーを通します。

▼開口で強度不足になったので、内径0.6mm(外径1mm)の真鍮パイプを挿入しました。
当然ですが、主砲の挿入部は塞がっています。

目で見える所はこんな感じで余り捗っていませんが、実は制御回路の方の改造をしていました。
現状は効果音発生時に走行制御が出来いません。
解決策は他にもあると思いますが、Arduinoをもう1個追加して、走行制御に影響する部分をサブのArduinoに任せるようにします。
未だ確認途中ですが、効果が出ているようです。

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(3)

2022-03-18 22:55:19 | 1/35 M1A2 エイブラムス

2022-03-18
ミニUSBホストシールド2.0が届きました。

▼早速、Arduinoコントロール基板assyを組み立て、組み込みます。

履帯が外れる原因を調べます。
外れるのは起動輪、誘導輪に対して走行中に履帯が浮いてしまうからです。
履帯がゴム系の材質でできているので、その硬さのせいで形状が車輪に馴染みにくいです。

▼ベルト履帯のつなぎ目は他の所と違って個々のパーツに隙間が空いていません。

▼デザインナイフとマイナスドライバーで隙間を作ります。

多少改善しましたが、未だ走行中に頻繁に外れ、テンションだだ下がりです。

気を取り直して車体後部を組み立てます。

▼手を入れたくなる尾灯です。
灯火管制時のBO(ブラックアウト)ライトとのコンビになっています。
ちょっと調べてみると、上からストップ&テール、スリット状のBOテールライト、その下のBOブレーキランプです。
BOブレーキランプは白色の様です。

尾灯以外にヘッドライト横にスリット状のBOマーカーが付いています。
WWⅡ時のドイツ戦車のボッシュライトが同じ目的のものでしょう。

▼この後部パネルですが、製作指示は車体下部側に接着する事になっていますが、
電飾の仕掛けの都合から車体上部側に接着します。

▼車体上部の取り付けの仕掛けが施されていますが、後部パネルを車体上部に接着しても問題無いと思います。

▼話を戻して、尾灯パーツに穴を開けて光る様にします。
ストップライトはチップLEDを直に装着し、スリットは0.75mm光ファイバーを各々3本と2本挿入し端部からチップLEDで光らせます。

▼点灯テストします。

RCコントロール基板assyは製作済みですが、BOライトの点灯制御も出来るように改造予定です。

 

 


RC可動 1/35 M1A2 SEP エイブラムス TUSKⅡ製作(2)

2022-03-17 23:02:54 | 1/35 M1A2 エイブラムス

2022-03-17
サスアームの追加加工をします。

▼ピアノ線は0.5mmと0.4mmを使用します。
2mmプラ板でピアノ線の固定板を作っておきます。

▼サスアームにピアノ線を通し、鍵型に曲げて固定します。

▼サスアームを取付けます。
中央の左右各4ヶ所は0.4mmとします。

▼ギヤモータ、旋回用サーボを取り付け、テスト用コントロールユニットで動作確認します。
ギヤモータはタミヤのミニモーター標準ギヤボックス(8速)を使用し、
ギヤ比87.8:1にしていましたが、遅いので41.8:1に変更しました。
この設定だと電源電圧DC3Vの時に150rpmとなります。
履帯ですがよく出来ていますが、車輪から外れる事が多いです。

Arduinoコントロール基板assyを製作するためにパーツの在庫を確認します。
ミニUSBホストシールド2.0が不足しています。
アマでは昨年の12月から4割ほど価格アップしていますが手配して、今日はここまでとします。