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

【サブプログラム】

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

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

 

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割ほど価格アップしていますが手配して、今日はここまでとします。