最終更新: 2018/08/01(Wed)19:37

自作と修理を愛するブログ。トイラジ、電子工作、ボルティー、NucleusCMS 、いろいろゴソゴソやってます
3Dプリンター / 3Dスキャナーも -kyu-

Home

«新しい記事1 2 3 4 5 ... 古い記事»
201808/0119:37

サンディングツール

単純で単調な作業は道具を工夫して乗り越えましょう。ってことで、偉大なる先人の知恵を拝借することにしました。電動歯ブラシを改造して電動ヤスリをつくるのです。

つくり方はあちらこちらで解説されてますので割愛。オリジナルはうさPハウスの相田氏 ( @usa_p_house ) によって考案されたようです。2002年12月とのことなので、いい意味で「枯れた」ツールなんですね。クレオスもホビー用としてほぼ同じ構造のものを市販化しているくらいです。

残念なことにオリジナルでオススメされていた「クレストスピンブラシ」は廃盤商品です。600円くらいで手に入ったようですがもう入手できません。電動歯ブラシ、現在の主流は超音波式とか単純な振動式などばかりなんですね。今購入可能な円形ヘッド揺動式は Braun 一択。余談ですがひげ剃りは Braun を30年来愛用しています。

…続きを読む>>

201807/3022:05

1/24 ダンバイン製作記 (11) - FDM出力品の表面処理

形にはなりましたがこれからが大変です。考えようによっては、一昔前のガレージキットをつくるのに似ています。プラキャスト (とは最近は言わないらしい) のガレージキットを買ってきました、箱を開けました、バリ取りと軸打ちをしました。今ここです。

周知の通り、今回のような見栄え重視の品物を FDM で製作する場合、一番やっかいなのは表面の積層痕の処理です。強度と精度さえ出せばいい機械部品とは違うのですよ。

積層痕の消し方をググっていて、なかなかおもしろい記事を目にしたのでリンク貼っときます。

FDM(熱溶融積層造形法)出力と表面処理 - コメを噛め

要は FDM で出力したものは最終製品にはなりえないけど、デジタル支援で素材がつくれるのはすばらしいってな内容と受け取りました。ホントそのとおりと思います。

…続きを読む>>

201807/2806:45

ガソリン漏れ

暑い日が続きますね。大雨といい猛暑といい、今年の7月は一体どうしたんでしょう。世界的な異常気象という話も聞こえてきます。温室効果による地球温暖化っていうやつなんですかね。

さて、2週間ほど出張ででかけている間に、カミさんから SMS で連絡が。庭がガソリン臭い、バイクから漏れているみたいで下の御影石に染み込んでる。マジか。戻って早速確認しました。

いまは漏れはおさまっているようです。タンク下のコックはプライマリ ( ON ) のままでした。冬季は OFF にした上でドレンから抜いてキャブレターは空っぽにしておくのですが、この冬はすっかり忘れていたみたいです。あ、ちなみに最後に乗ったのは去年の春ですね。一年以上放置してました。ははっ

タンクキャップを開けて中を確認。ほぼほぼ空です。前に乗ったときは満タン近くだったはずなので、10リットル以上漏れてしまったものと思われます。
コックをリザーブに切り替えてみると、ダバダバと盛大にガソリンが滴ってきました。こりゃいかん。漏れている場所はすぐに特定できました。キャブレターのボディとフロートチャンバーの間の部分です。ありゃ、確かここはとブログ検索してみると、CR ゴム切り出しで自作したガスケットでした。2年前ですね。

…続きを読む>>

201807/1818:05

イタリア

2012年10月以来なのでほぼ6年ぶり。人生3度目のイタリアです。
6年前のエントリではぼかして書いてますが、帰路の飛行機で変な角度で首を傾けたまま爆睡し、頚椎をやっつけてしまいまして、未だに完治しておりません。一番悪いときは左手指の感覚が全くなくて、痺れというか感覚麻痺というか、まるで常に薄い手袋をしているような状態でした。
MRI にもかかりましたし医者も変えてみましたが、外科的手術をするほどではないとの見立てで今に至ります。最近はひどい肩こりくらいの状態で落ち着いています。海外出張の際は必ずネックピローを持参するようになりました。

さて、そんなこんなであまりいいイメージのないイタリアに再来。直行便なのでもちろんアリタリア航空です。7月8日の便でやってまいりました。

アリタリア航空はなんと経営破綻中です。機材はエアバスA330でしたが、映画はイマイチでしたね。新作全然なし。機内食はまあこんなもんかなという感じでとりたてて良いところもなく。ミラノマルペンサ空港もなんだか寂しい感じで、なんともいえない雰囲気でした。なお飛行機には新婚旅行と思われるカップルと老後のツアー客がいっぱい乗ってました。イタリアって、観光で行くにはいいイメージがありますよねやっぱり。

…続きを読む>>

201807/0522:05

1/24 ダンバイン製作記 (10) - 再始動

だいぶ間が空いてしまいました。ええ大丈夫、生きてますよ。
前回のエントリ以後、2回ほど海外出張に行きました。4月の頭にポルトガル、6月の頭にメキシコです。都度ツイッターで発信しておりましたが、これといって特筆することもなかったです。メキシコでテオティワカンの遺跡に行ったくらいかな。
ツイッター便利ですわ。わざわざブログのエントリ起こすまでもない案件はもっぱらツイッター。なのでブログの更新頻度はダダ下がりです。

さて、3月中旬ごろのこと。いつものようにツイッターを眺めていると、3DCADでモデリング中のダンバインの頭が流れてきました。作者は @yasimov さん。 CAD は OSD かな。ひと目見て、なんというかビリビリと衝撃が走りました。おー、3DCADでオーラバトラー作れるんだ、と。

例の 1/24 ダンバインのリベンジ、手が止まってしまって久しいわけですが、切った貼ったのやりすぎでどうにもシンメトリが出せなくなってしまったこと、石膏粘土で作ったパーツの処理に困っていたことに加えて、目標としていた地元の展示会の開催が流れてしまったことなどが重なって、もう2年近くもほったらかしになってしまってました。

この2年の間に、3D プリンタをつくりました。大して高精度ではないもののそれなりの出力はできます。
Fusion360 もあります。従来型のソリッドだけでなくサーフェスもスカルプトもできる高機能な 3DCAD です。デジタルでつくればシンメトリは簡単に出せるはず。
実際に 3DCAD でモデリングしている人がいるのだから、頑張れば自分にもできるかもしれません。
タコメータの完成以降、次のネタに困っていた自分にとって、これはまたとないうってつけの案件。ということで、3D プリンタでダンバインをつくることにしました。もはやプラモデルの制作記でもなんでもありません。ははっ。

実物の立体として完成させることを目標とします。PC の画面の中だけで完結したくありません。
3D プリンタで出力したものはあくまで素材という位置づけです。なので CAD ではあまり細かいところまで作り込みしません。CAD でつくるのが難しいところは無理にモデリングせず、出力品を加工することにします。

…続きを読む>>

201803/0123:13

メキシコ

メキシコに行ってきましたよ。いつもの通りの弾丸ツアー。日曜日に出かけて木曜日の早朝帰国、二泊四日の出張です。
メキシコって言われても、どんなとこか皆目見当がつきませんよね。行く前はタコスとコロナビールとアステカってイメージしかなかったです。まあ、ある意味当たってたかな。

…続きを読む>>

201802/1822:20

リキッド漏れ対策とリペイント

めっちゃ久しぶりの電タバの記事です。前回は2016年1月3日付けだったので実に2年ぶりです。

この2年間に購入したリキッドは 850ml でした。意外と少ないですね。

…続きを読む>>

201802/1212:32

アナログタコメータをつくる(5) スケッチ、そして完成

さて肝心のスケッチです。前に書いた通りライブラリがふたつ必要です。

Arduino-OBD2-Async
https://github.com/vova-ivanyshyn/Arduino-OBD2-Async

Switec X25 library
https://github.com/clearwater/SwitecX25

ライブラリは適当な場所に入れておきます。

スケッチを簡単に説明すると、ステッピングモータの目標値は0.1秒ごとに更新し、モータの動作自体は毎ループごとに行います。文字盤のバックライトは5秒毎に更新。

たぶんもっといいやりかたがあるんでしょうね。シロウトのヘナチョコプログラムだと思って温かい目で見てやってください。何かあったらコメント欄からお知らせいただけると嬉しいです。

#include “SwitecX25.h”
#include “OBD.h”

SwitecX25 motor(315*3, 4, 5, 6, 7);
COBD obd;

// ステップモーター定数
const int PULSE_PER_REV = 315*3; // ステップモータ全体のパルス数
const int MAX_DISP_REV = 8000; // 表示最大回転数(rpm)
const int VIEW_ANGLE = 315; // 使用範囲(deg)
const float CONV = (1 / (float)MAX_DISP_REV) * ((float)VIEW_ANGLE / 315.0) * (float)PULSE_PER_REV;
// 回転数*CONV=ステップ数 : CONV = (1/8000)*(315/315)*315*3 = 0.118125 ->0.12

// エンジン回転数変数
int CurrentRpm = 0; //現在のエンジン回転数
int PreviousRpm = 0; //前回のエンジン回転数

// 更新頻度変数
const int UpdateInterval1 = 100;  // 更新間隔(高頻度) ミリ秒
const int UpdateInterval2 = 5000;  // 更新間隔(低頻度) ミリ秒
unsigned long PreviousUpdate1 = 0;   // 前回の更新時(高頻度)
unsigned long PreviousUpdate2 = 0;   // 前回の更新時(低頻度)

// 照明変数
const int LedPin = 9;
const int CdsPin = 0;
int CdsValue = 0;

void setup()
{
  for ( int i = 30; i < LedValue(); i += 1 ) {
    analogWrite( LedPin, i );
    delay( 10 );
  }
  motor.zero();
  delay(200);
  motor.setPosition(MAX_DISP_REV * CONV);
  motor.updateBlocking();
  delay(200);
  motor.setPosition(0);
  motor.updateBlocking();
  delay(200);
  obd.begin();
  while (!obd.init(PROTO_AUTO));
}

void loop()
{
  unsigned long CurrentTime = millis(); // 現在時
  motor.update(); //メータを駆動 (1step/Loop)

  if (!obd.asyncInProgress()) {
    obd.asyncRequest(PID_RPM); //リクエスト送信
  }
  
  if (CurrentTime - PreviousUpdate1 >= UpdateInterval1) { //更新(高頻度)
    int val = 0;
    if (obd.asyncGet(val)) {
      CurrentRpm = val % 10000;
      if (abs(PreviousRpm - CurrentRpm) > 9){ //前回との差が一桁なら更新しない
        motor.setPosition((float)CurrentRpm * (float)CONV); //目標位置設定
        PreviousRpm = CurrentRpm;
      }
    }
    PreviousUpdate1 = CurrentTime;
  }

  if (CurrentTime - PreviousUpdate2 >= UpdateInterval2) { //更新(低頻度)
    analogWrite( LedPin, LedValue() );
    PreviousUpdate2 = CurrentTime;
  }

  if (obd.errors >= 2) {
    reconnect();
    setup();
  }

}

void reconnect()
{
  for (uint16_t i = 0; !obd.init(PROTO_AUTO); i++) {
    delay(3000);
  }
}

int LedValue()
{
  int result;
  CdsValue = analogRead(CdsPin); // だいたい 500-1000
  result = -0.3*(float)CdsValue+350;
  if (result > 255){
    result = 255;
  }
  return result;
}

…続きを読む>>

«新しい記事1 2 3 4 5 ... 古い記事»

サイト内検索

↑ページ先頭へ

1276188 [Mode]
Copyright © kyu-weblog All Rights Reserved. Powered by Nucleus CMS v3.71 管理