2014年9月30日火曜日

Arduinoを用いてオーブントースターでテンパー炉、リフロー炉自作。(0)
ついでにコンベクションオーブン化

「試作のテンパー用で市販のオーブンを買おうとしたが最高300度までのものしかない」とのこと。
たぶん、サーモスタットがあるから外せば350度くらいまで行くのでは?と話をしたら、作ってほしいとのこと。
で、最高350度で10分以上は安定した温度でとのことで、Arduinoを使いPID制御してみよう。
ついでに前々から作りたかったプロファイル対応のリフロー炉にもしてみよう。 
またまた、コンベクションオーブン化も可能か。


まず、オーブントースターを家電屋で1600円で購入。
たぶん250度くらいまで温度が上がると切れるようにサーモスタットがついている。
で、内側の鉄板についているをサーモスタット取り外す。


で、熱電対温度計付テスターで、熱電対をオーブンの中に入れて電源オン。
約5分で350度近くまで上がった。これは意外。
想像では、ヒーター熱量が足りず、350度まで温度を上がらないかと。
その場合はヒーターの追加などが必要かと一つヒーターも分解していたが。
余裕の設計なのね。
まぁ室温が25度くらいあったので冬場とかはこう順調ではないかも


当然ながら、買った日に製品保証は無効に。
そして、想定外の使用なので故障や火災やもろもろの心配があります。
真似てみる人は自己責任でお願いします。

さて、テンパー炉は循環用のファンがついている模様。で、オーブンにもファンをつけようかと。
家電屋でオーブンをいろいろ見たら、コンベクション(対流)オーブンなるものがあるらしい。
展示品を見たらファンが後方に斜め下に向かって風が吹くようについていた。
どっかで見たことのあるファンとモーターだな?としばらく思い出せなかった。
翌日、こたつのヒーターについているファンとモーターと思い出した。
こたつについているファンとモーターは壊れたこたつでもないと簡単には入手できない。
何とかしよう。
モーターはなるべくオーブンから離したいので何かシャフトがいるな。
ホームセンターで物色していたら内径2㎜のアルミチューブが売っていた。
長さ80㎝で160円くらい。
内径2㎜なら、いわゆるマブチモーターのシャフト2㎜に刺さるのではないか。
モーターはArduinoのPWMで調整できるし!
やってみたらうまく圧入できた。
ファンは80円の穴あき鉄板をまげて作成し、M2.3ねじの下穴径が1.9㎜でジャスト。
ファン鉄板はM2.3 のねじで固定してみた。
しかし、アルミのシャフトはやわらかく、いろいろしているとすぐに曲がってしまう。
なのでモーターで回すと結構偏心している。


いけるかなとオーブンの斜め後ろにドリルで穴開けて回す。
と、あけた穴に偏心しているシャフトがぶつかってドカドカうるさい。
こりゃ、なにか耐熱テフロンのような滑るものいるかな。
いろいろ物色していたら、PCの冷却ファンの使っていないのが目に入った。
そういやー、小さいベアリングはいっているだろと分解。

でベアリングを出してみると、ちょうどアルミチューブの外形3㎜と同じ。
アルミチューブをたたいて圧入したらいい具合で入った!


で途中にベアリングを入れて、銅テープでベアリングを固定。
再度つけてみましたが結局偏心でブーブー音がうるさい。

よくよく考えてみたら、プロペラ重すぎだろと。
プロペラ軽くして再度挑戦をしたいがいいアイデアがない。
で、Arduinoの方を先に手を付けることにして、次回に。


次回は白金抵抗素子の温度測定編です。


製作にいたる背景を説明すると、
嫁はんの勤める会社(嫁はんは家具部門ですが。)のバネ部門での話。

バネを巻いた後にテンパー炉で最高350度位で焼き付けを行っている。

テンパーというのは”temper”【不可算名詞】 (鋼鉄などの)鍛え; 硬度,弾性. とのこと。

テンパー炉に入れると巻いたばねのサイズが変わってくるので、量産の前にどれだけサイズが変わるかテストして確認したい。

しかし大きい炉なので、300度近くになるのに1時間かってから、数個のばねを炉に入れるのは電気代ももったない。

なので通常は炉の設定が同一条件の量産があるときに、数個のばねを一緒に入れて、テストして確認している。

しかし、急ぎのものがあったり、数個だけの試作の場合もあり、卓上炉を検討したがちとお高い。

で、話をしていていたら依頼された話。

2014年9月5日金曜日

Blogger に Syntax Highlighterを導入する

会社のブログサイトよりプログラムのトピックスは、こちらのブログに移行しました。

プログラム用にコードが多いので、Syntax Highlighter の様なものが用意されたブログはないか探していたら、

BloggerにソースコードをハイライトするSyntaxHighlighterを導入する

という記事を見つけたので早速試してみます。
が、Syntax Highlighter Scripts Generator が404のリンク切れ。
上記ジェネレーターは駄目なようなので、まずはブログ記事内のジェネレート済みのコードを流用しますた。

Bloggerの管理画面→テンプレート→HTMLの編集 へ
</head> の上に先ほどのジェネレート済みのコードを貼り付けます。

なお、先のブログにあるように縦スクロールバーを消す等のカスタマイズはshCore.cssを変更しまが、BloggerはCSSファイル等のアップロードができないので、先ほどのジェネレート済みのコードの一行目
<link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/>
は貼り付けず、http://alexgorbatchev.com/pub/sh/current/styles/shCore.cssのCSSをコピーして、
Blogger設定画面>テンプレート>カスタマイズ>上級者向け>CSSを追加 へ貼り付けしてから変更します。

Javaのコードテスト
import org.apache.cordova.api.CordovaPlugin;
import org.apache.cordova.api.CallbackContext;
import org.json.JSONArray;
import org.json.JSONException;
import android.util.Log;

public class HelloPlugin extends CordovaPlugin {
    public static final String NATIVE_ACTION_STRING="nativeAction";
    public static final String SUCCESS_PARAMETER="success";

    @Override
    public boolean execute(String action, JSONArray data,
 CallbackContext callbackContext)throws JSONException {
           Log.d("HelloPlugin", "Hello, this is a native function called from PhoneGap/Cordova!");
           //only perform the action if it is the one that should be invoked
           if (NATIVE_ACTION_STRING.equals(action)) {
                 String resultType = null;
                 try {
                       resultType = data.getString(0);
                 }
                 catch (Exception ex) {
                       Log.d("HelloPlugin", ex.toString());
                 }
                 if (resultType.equals(SUCCESS_PARAMETER)) {
                  callbackContext.success("Yay, Success!!!");
                  return true;
                 }
                 else {
                  callbackContext.success("Oops, Error :(");
                  return true;
                 }
           }
           return false;
    }
}
できたぜ。

Bloggerに投稿する際はHTML編集にしないと駄目です。また、プレビューでは表示されません。
記事内でpreタグを使い、class="brush: alias;" としてコードを記述します。
なお。alias には様々な言語が入ります。一覧はこちら
結局、java, C++、CSS, javascript, Perl, PHP, プレーンテキスト、HTML(XML)を読み込むようにしました。

<link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'/>

<script language='javascript' type='text/javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
</script>

をBloggerの管理画面→テンプレート→HTMLの編集 より </head> の上にコードを貼り付けました。
ページのサイズを変更したら上記の記述が吹っ飛びました。
再度Bloggerの管理画面→テンプレート→HTMLの編集から貼り付けました。
また、言語用スクリプトはサイズが小さい(5kバイト以下)ので気にしないでどんどんはってもよさそうです。

つかったものの一覧
使用言語Brush aliasesfile name
C++cpp, cshBrushCpp.js
CSS css shBrushCss.js
JavaScriptjs, jscript, javascriptshBrushJScript.js
Javajava,shBrushJava.js
Perlperl, pl,shBrushPerl.js
PHPphpshBrushPhp.js
Plain Text, plain, text shBrushPlain.js
XMLxml, xhtml, xslt, html, xhtmlshBrushXml.js

jQuery 1.9対応などはログろいどにありました。
ファイルアップできないので直接記述かな?

なお、本家からスクリプトのダウンロードは
http://alexgorbatchev.com/SyntaxHighlighter/download/
でした。