2016年10月29日土曜日

ブロッキング発振器を作る

静電気で高電圧を得る方法とは別に、電子回路で高電圧を作る方法も行った。

電子レンジに使われているトランスや、ブラウン管テレビのトランス、自動車のイグニッションコイルなどを利用する方法、それから、使い捨てカメラで使われているブロッキング発振器など存在する。

今回は、ブロッキング発振器にしてみた。
ブロッキング発振器については、詳細に解説しているサイトがあるので、原理などの説明は省略。(下記参考サイトを参照)


フェライトコアFT-82#61を2個使って、一次側が13回巻と54回巻、二次側が250回巻のトランスを作り、トランジスタは2SC3851Aを使った。ベース側には50kΩの半固定抵抗を入れた。ダブルコアにすることで巻線に流すことのできる電流容量を増やしています。
(この写真には、基板の右側に小さなコアも写っているが、これは出力電圧をさらにアップするために追加してみたもの。でも、これをつけると発振しなくなるので、最終的には外した。)

ベース側の抵抗を調整し、電源はDC5Vで、エミッタ〜コレクタ間電圧が64V(ピーク値)、トランス二次側出力が280V(ピーク値)となった。充放電の周期は75usだが、ピークを形成している波自体は83kHz前後。
(測定値はオシロスコープから読み取ったもの)
電源からの入力電流は120mA前後。

これを作っていて、過去に実験したBedini Fanが、このブロッキング発振器と同じような回路だと気がついた。
ファンが回転しない時に発振していたのだけれど、あれはブロッキング発振していたんですね。

さて、5Vを280Vまで上昇させたので、この次はコッククロフト・ウォルトンでさらに電圧を上げてみたい。

参考サイト:
ブロッキング発振回路の動作原理

2016年10月28日金曜日

ヴァンデグラフの製作と失敗

ヴァンデグラフ起電機のようなもの、というのが正しいと思う。

プーリー部分は、静電気を発生させることだけが目的なので、横に寝かせたような形になっている。幅50mmで、プーリー間の距離は約400mm。

本当のヴァンデグラフ起電機なら、縦型でトップには大きな金属球がついている。この金属球と地面側との間でコンデンサーを形成する。
しかし、大きな金属球を用意するのが大変。
なので今回作るものは平板コンデンサーとスパークギャップを別途用意することにして、この大きな球体を無しにした。
平板コンデンサーは2つ用意した。電極のアルミ箔は100mmX80mmの大きさで、間に厚み2mmのアクリル板を入れたもの。

スパークギャップは、アルミ棒の先端に真鍮球φ10mmをつけたもの。支持台で回転させてアルミ棒の角度を変えることでギャップ距離を調整できるようにした。

ベルトは、近くのホームセンターで売っていた、ネオプレンゴム0.2mmX50mmX1000mmをゴム系接着剤で貼り付けてループ状にした。

さて、出来上がったものを試運転してみたものの、うまく静電気発生とは行かなかった。

ベルトの材質が悪かったのか、プーリーをPLA樹脂で作ったのが悪かったのか、速度が遅いのか、などいくつか原因が考えられる。

静電気の分野は経験がないから、こんなことになったのでしょう。



ポテンシャルを上げてみようと

装置のポテンシャルをもっと上げてみようと思う。

パルスモーターの回転で静電気を発生させるようにして、電気的なポテンシャルエネルギーを向上させた場合に、モーターのコイルやマグネットに何かしら起こらないか。

あるいは、SQMのコンデンサー化として、マグネットにアルミ箔を貼り付けてみたりしたが、BEMFの利用だからせいぜい数百ボルトだった。これを静電気にすれば、数千〜数万ボルトになるから、何かあるかもしれない。

静電気を発生させる装置として、

  1. ヴァンデグラフ起電機
  2. ウィムズハースト起電機

が有名。

ヴァンデグラフは、素材の異なるプーリーとその間をつなぐベルトを作るだけでシンプルそうだから作ってみることにした。





2016年9月24日土曜日

3Dプリンターatomの改良(4)

プリンターヘッドを横方向に動かしているX軸のモーターを保持しているブラケットが、モーターの重みでねじれるように湾曲していた。この影響でヘッドを動かしているゴムベルトがブラケット内部で擦れてしまって、その擦れた時に細かいゴムとプラスチックのクズが出ていたり、Z軸用リニアベアリングが度々外れてしまい、造形が崩れてしまっていた。

ちょっと深刻な問題だったので、ブラケットを交換することにした。
他のatomオーナーさんが再設計したブラケットを紹介している記事を見つけた。Z軸のリミット部分もきちんと考慮されたものだったが、私の要求仕様と少し違うのでこれは採用を見送った。

X軸モーターは、左側に張り出して取り付けられているので、重量バランスが悪くどうしてもブラケットに余計な力がかかる。これが湾曲した原因だから、厚み2ミリのアルミ板を入れてブラケットの強度をアップすると同時に、モーターにバランスウェイトをつけて、荷重を減らすようにした。
それとリニアベアリングが外れないように、上下で押さえるようにした。Z軸のリミットスイッチを微調整しやすい構造にした。

モーターは180グラムほどあるが、バランスウェイトは、M10x50ボルト2本とナット6個で126グラムにした。Z軸の下げ動作時に問題がないように、多少荷重がかかる状態になっている。

結構大掛かりなオーバーホールになってしまったが、ブラケットの剛性は格段に上がりトラブルは解消した。合わせてZ軸のリミット調整も簡単になった。
2本のX軸用リニアシャフトもブラケットにしっかりと保持させたので、反対側の古いブラケットがなかったとしても水平が確保できるほど。

Z軸の上下移動時に本体が共振して大きな音が出ていたので、調整した際に、モーターの移動速度を下げた。これでとてもうるさかった上下動作がかなり静かになった。

購入から1年経過したが、atomには魔改造が良いようである。

2016年8月30日火曜日

3Dプリンターatomの改良(3)

次は、ステッピングモーターの音を静音化してみる。

実は、先のボード総入れ替えの際に、4つあるドライバー基板のひとつを逆差ししていたらしく、モーターが動かなくなっていた。
それで予定していなかったのだが、どうせドライバー基板を購入するのであれば、静音化してしまえというノリだった。


ネットで調べると、TMC2100という型番のモータードライバーがとても静かだということが分かり、、入手可能なところを探したところ、ヤフオクで見つけたものが一番リーズナブルだった。
TMC2100が4個セットで5764円(送料込み)。即決だったので、2日後に届いた。


このヤフオクヴァージョンは、ピンの設定が基板上でできているとのこと。ピンをカットするという面倒な作業は必要なかった。
既存のX軸、Y軸用のドライバーをそのまま差し替えた。電流の設定は必要なので、トリマーを回して脱調がないことをチェックしながら最終的に両方とも0.8Vに設定した。
今回、電流消費の多いZ軸とExtruderは交換を見送った。後日トライしてみたい。

交換後のプリントは、これも驚くほど静か。モーター動作時にキュルキュルと電子的な音を立てていたのが消えた。凄い。

ベアリングの動くときに出る機械的な擦れる音だけになった。


3Dプリンターatomの改良(2)

次は、スタンドアロン化。

atomは、PCとUSBケーブルをつないで動かすことを前提としているため、電源スイッチ以外はついておらず、プリント中もずっとPCを立ち上げたままにしておかなければならない。プリント出力したいだけの時にatom本体だけで済ませたい時があり、とても不便。

そこで、atom本体を購入した翌月にあたる昨年7月に「2004 LCDディスプレイスマートコントローラーRAMPS1.4 Reprap」を購入した。

しかし、atomについているメインボードにはLCDコントローラーがつけられないということが、商品が届いた後になって発覚した。
メインボートは Momoinololu というコンパクトなものがついていて、これは標準的なReprap仕様のものについている拡張用のコネクタも、動作させるための余分なメモリーもついてなかった。
メインボードの交換はちょっと敷居が高いなと落胆して、LCDコントローラーはしばらく眠らせたままになっていた。

1年経過して、3Dプリンターの利用頻度が増えてきたこともあり、メインボード基板も含めて更新することにした。

メインボードは、「MEGA2560 互換ボード for Arduino」にして、モータードライバーを載せる拡張基板「RAMPS 1.4 互換 コントローラ Controller Reprap 3Dプリンター 3Dプリンター基板セット」をAmazonで購入。

ボードをごっそり入れ替えて、LCDは本体の手前に固定した。

黒色だった基板が赤色に変わった。

MEGA2560ボードに ファームウェアを書き込む必要があるので、ツールのArduino をヴァージョン1.6.9にアップして、ファームウェアのヴァージョンはMarlin-1.1.0RCにした。
そして、MarlinのConfiguration.hファイルの必要な部分をマシンに合わせて書き直す。

// ★マザーボードの種類:Ramps 1.4
// The following define selects which electronics board you have.
// Please choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif
// ★ 温度センサー設定:TEMP_SENSOR_0=ホットエンド用、TEMP_SENSOR_BED=ヒートベッド用
#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
#define TEMP_SENSOR_BED 1
// ★ ヒーター最高温度設定
// When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
// You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 275
#define HEATER_1_MAXTEMP 275
#define HEATER_2_MAXTEMP 275
#define HEATER_3_MAXTEMP 275
#define BED_MAXTEMP 125
  // ★ 温度センサーの特性設定 for atom
  #define  DEFAULT_Kp 25.89
  #define  DEFAULT_Ki 1.35
  #define  DEFAULT_Kd 124.29
// ★メカニカル式(リミットスイッチ)用の内臓プルアップ抵抗を有効にする
//  光学式の場合はコメントアウトする。
// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
// ★ リミットスイッチの論理反転設定:NormaryOpend=true, [*]NormaryClosed=false
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
// ENDSTOP SETTINGS:
// ★ ホームポジション時のエンドストップの方向設定
// Sets direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

// ★ソフトウェアエンドストップの設定:MIN側はOFF(HWリミットスイッチ利用)、MAX側はON
#define min_software_endstops false  // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true  // If true, axis won't move to coordinates greater than the defined lengths below.

// ★ホーム位置からの限界距離
// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 140
#define Y_MAX_POS 140
#define Z_MAX_POS 130
// ★ ステッピングモーターの設定
//#define DEFAULT_AXIS_STEPS_PER_UNIT   {80, 80, 4000, 91.6019707}  // default steps per unit for Ultimaker
#define DEFAULT_AXIS_STEPS_PER_UNIT   {80, 80, 4000, 195}  // default steps per unit for Ultimaker
#define DEFAULT_MAX_FEEDRATE          {500, 500, 5, 25}    // (mm/sec)
#define DEFAULT_MAX_ACCELERATION      {3000,3000,100,10000}    // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.

// ★ SDカード有効化
//
// SD CARD
//
// SD Card support is disabled by default. If your controller has an SD slot,
// you must uncomment the following option or it won't work.
//
#define SDSUPPORT
//
// ★ロータリーエンコーダーの方向を逆転する
// This option reverses the encoder direction for navigating LCD menus.
//
//  If CLOCKWISE normally moves DOWN this makes it go UP.
//  If CLOCKWISE normally moves UP this makes it go DOWN.
//
#define REVERSE_MENU_DIRECTION
//
// ★4行LCDコントローラー
// RepRapDiscount Smart Controller.
// http://reprap.org/wiki/RepRapDiscount_Smart_Controller
//
// Note: Usually sold with a white PCB.
//
#define REPRAP_DISCOUNT_SMART_CONTROLLER


GENKEIから入手した、atomオリジナルのMarlinソースコードの中のConfiguration.hファイルの中身を参考にして修正。
途中Extruderの送り量とエンドスイッチの設定で少し手間取った。
送り量は、今回初めて実際の送られた長さを物差しで計測して調整した。

Configurationファイルの修正が出来たら、ツール上からArduinoへUSB経由で書き込む。書き込みが終わるとLCDに文字がでてくるようになった。

SDカードを挿入したら、LCDにメッセージが出てきて、メニューからファイルが選択できるようになった。

これで3DプリンターがPCから独立でき、使い勝手がすごく良くなった。


3Dプリンターatomの改良(1)

GENKEIのatom、ようやく使い慣れてきた感じで、そろそろ改良してもいいかなと思えてきた。

一番気になるのが騒音の問題。

最初の対策は、一番簡単なFANの静音化。

ホットエンドの部分には40mm角のファン、モータードライバー基板のところには60mm角のファン、計2個がついている。どちらもチャイナ製の安いもののようだ。
電源を入れると真っ先にキィ~~ンと耳障りな音がする。

これらを、AINEXの静音ファンに交換した。




耳障りな音が完全に消えた。電源を入れたことが分からないほど静かになった。