コンデンサ溶接電源の自作 その3
●電極を作る TAKE1
洗濯ばさみの両口にクロム銅の丸電極を接着で取り付ける方式です。TAKE1ということなので、当然この方式は失敗しTAKE2があるということです。けっ
写真のように洗濯ばさみの口に穴をφ4mmの開けます。適当にやったら1mmくらいずれました。
電極はクロム銅電極φ4mmを使用します。
電極は長いので、半分にするための金切のこをダイソーで買ってきました。
この商品は100円です。
電極に電線をはんだづけします。ライターで400℃近くまで炙ります。
始め、鉛フリーはんだでやったら熱容量不足ではんだごてがはんだに埋まったので共晶はんだに変えました。
上下ともに配線し洗濯ばさみの穴に通した後、エポキシ系接着剤で固めます。
洗濯ばさみを 常時開 Normally Open にするためにGクリップを使用しています。
溶接をする前にトラブル発生
どうやら穴ずれ修正で穴を広げたせいか片側の電極の接着が弱く、閉じる力でひっこんでしまう感じになりました。ということで急遽方式を変えることにしました。
●電極を作る TAKE2
接着の弱い側を板形状のものにします。コンセントのプレートにすることにします。この材料が適正かどうかはわかりません。
金切のこでコンセントプラグのプレートを切り、電線をはんだづけします。
なかなかいい感じなので失敗したほうがよかったと思いました。
●実力を確認する
いちおう9Jのエネルギーを300msec程度で出力する予定です。
K熱電対をカッターで剥き、交差させ洗濯ばさみではさみます
うんともすんとも言わないよ
波形を確認すると1段目のドライブ用トランジスタがオンしていないようです。
CH1:マイコン出力
CH2:トランジスタ出力
トランジスタ出力がマイコン出力L時にHになるはずが無視されている。
どうやら前回30V線をマイコンに触れさせたときにトランジスタも死んだ可能性があります。ということで交換したところドライブ回路は直ったようです。
CH1:トランジスタ出力
CH2:FETゲート入力
あらためて熱電対を溶接してみます。
溶接できると思ったのですが、どうも熱で軟らかくなった分へこんだだけのような感じです。(細かくて写真はとれませんでした)
●なんで溶接できないんじゃ
理論上コンデンサ電圧30V、20000uFで仮に出力抵抗を2Ωとした場合、メインパワー継続時間は下記のグラフのように100m秒程度になるはずです。
実際の出力波形は下記で、7msecで放電しきっています。
7msecで放電しきるということは100mΩ以下である必要があります。ほんとにそうなんかなと思ってしまう。そして、コンデンサ放電波形に見えないという。
明日も休みなのでトラブルシューティングアンドウ対応は明日にすることにしました。
コンデンサ溶接電源の自作 その2
その1の続きです。その1はすでにだいぶ前に行った作業のまとめのため写真が少ない内容になりました。
また、この記事は英雄伝説 空の軌跡FCのローディング時間を使用して作成しています。
●主要キャスト(登場部品)
コンデンサ10000uF, 50V 2個使用
大須のボントンで購入しました。
Nch FET 2SK3271
職場で拾ったのでタダ!5V駆動できるのでちょうどよい。放電用のスイッチとして使用します。
木の入れ物(雑貨)
セリアで購入。ケースに使います。側面の隙間にスイッチを並べられるかなと思ってこれにしました。
Now, At the top of happiness.というのは今がまさに最高にハッピーだぜ的な感じでしょうか。そいつはよかった。
そして、2というのも意味分かりませんね。
プラスチックまないた
これもセリアで購入。立派な樹脂板材料です。PPPは加工しにくいと聞いたことがありますがまあいっかという。今回は木に張り合わせるという用途なので肉用を選択。
●基板をつくる
家にある基板やコネクタを総動員し基板を作成
電線出し作業はケースを買う前に行ったため短く、あとで電源スイッチの分を作り直すことになったり、押しスイッチの線がちぎれたりと大変でした。
奥のライターはスミチューブ用です。ドライヤーやはんだごての根っこより収縮しやすいのでオススメです。(火災の危険がありますので使用については充分注意してください)
コンデンサは下記のように2sqKIVで配線。一点配線がいいような気もしますが、ブレッドボードでも問題ないレベルなので数配線にしました。
はんだ面です。コの字の黒い線はコンデンサやFETのGND線で電源の近傍で落としています。
左上の2sq集中エリアでは線間0.5mmくらいのギャップではんだ付けされているため、ショートすると危ないのでホットボンドで充填しておきました。
動作確認しOKそうなのでケースに入れて配置を確認します
基板固定サポータもピッチが底の梁木とちょうどよくなりました。
コンデンサも2sqの強力なテンションで写真の位置で静止しました。このまま固定できそうです。電池は適当です。
●スイッチパネルを作成する
ここでまないたの登場です。製造者もこんな使われ方をするとは思ってなかったでしょう。
まず、必要なサイズを切り出します
角のRは隠れるので気にしません
スイッチ用の穴をエンピツでけがきます。一般的に、メーカー資料に板金寸法として穴寸法が出ていますがめんどくさいので実測でいきます。
角穴はカッターで切り抜きます。丸穴はカッターでは難しいので、ドリルでφ5を空け、リーマで広げます。
最後にカッターを使用してバリ取りして完了。
やはりPPPはやすりの刃は立ちませんでした。おそらくリュータでも溶着すると気がします。(昔、職場のリューターをPPP削って目詰まりさせて放置したことがあるのは内緒)
ちなみに樹脂加工は目の粗い組やすりもしくは紙やすり、2番角のゆるいドリルがいいみたいですね。(そんなもんうちにはない)
●組み立てる
基板は貼り付けボスで固定しています。タカチの製品だと思います便利です。
その他もアクリルフォーム強力テープやホットボンドなどで固定しました。
黄色のスイッチの穴が大きかったのでホットボンドで固定しました。(仕事だったら怒られてましたね)
いろいろあって、30Vの線をマイコンの数ピンに接触させてしまい、マイコン1つおしゃかにしましたが、マイコンを交換し電源投入から放電までどうにか動いているようです。
●次回の計画
次は溶接電極を作る予定です。洗濯ばさみのように自動で閉まる機構にうまくクロム銅電極を取り付けれればと思います。
クロム銅電極はCMでおなじみミスミー!で買えます。ただしメーター単位だったと思いますが。
明日から仕事という暗黒の時代の幕開けなので、たいがいのことが滞りますが、時間を見つけて作っていこうと思います。
コンデンサ溶接電源の自作 その1
●作ろうと思ったきっかけ
仕事の延長線上(遊び)で近藤テックのマイウェルダーを使って熱電対の抵抗溶接を堪能しました。
近藤テック*1マイウェルダー
マイウェルダーは、単相交流をトランスを通して1周期流すというシンプルな構造でした。
今回はコンデンサ充放電式なので方式はマイウェルダーとは違いますが、熱電対の残りかすが家にあるので、溶接ができる電源を造ってみようと思った次第です。
ただ、溶接できたからといって日常生活で得することは全くないので、フリマとかで売りつけて、その金で焼肉でも食べれたらいいなと思っています。
●事例を調べる
ネットに結構事例がありますね。過去トランジスタ技術にも事例がありました。
Youtube動画だと実際に溶接する様子が見れてなかなか迫力あるマシンもありました。
人によって細かい違いはありますが、
コンデンサに 充電して ドーン!
ということは共通しています。したがって、そこを念頭に適当に設計していくことにします。
●構成を練る
昇圧DCDCでコンデンサに充電
フィードバック電圧をマイコンADで監視
充電完了で放電スイッチ点灯
放電スイッチ押下でFETオン!
昇圧DCDCには秋月電気のモジュールを使っています
最大30V出力 昇圧型スイッチング電源モジュール NJW4131使用: 組立キット 秋月電子通商 電子部品 ネット通販
●回路図
KiCADを使っての初作図です。
画像として出力する方法がわからず、svg → png → jpg(pngの背景透明がアウトっぽい)としたらギリギリ数字が読めるかなレベルになりました。
●プログラム
とってもシンプルになっています。(一言で言えば手抜き)
ADC、Timer0、FVRの自作ライブラリも同梱しています
●検証してみる
ブレッドボードで検証をしました。(ブレッドボード写真はどっかいった)
放電すると電源電圧が瞬間持ち上がる問題
どうやらFETのソースを電源GND端子から遠いところに配置したせいで、急な放電電流により電位差がでていたようでした。根元に配線しなおすことでキレイに解決しました
また、波形右側のギザギザもコンデンサのGNDを同じく電源近くに配線しなおすことで直りました。
実際に熱電対を交差させた状態で放電したところ、火花が散りくっつきました。
(画像があったはずがどっかいき、電対もどっかいった)
爆裂の一歩手前レベルのようでややもぎれ状態でした。レベル、加圧を管理できればきれいにつくのではないかと思います
次回は基板製作とケーシング、電極製作をめどにまとめる予定です
なんか画像がごっそり消えたような気がするのは気のせいかな
●溶接について思い出す
仕事の延長線(遊び)の中で溶接について簡単に勉強もしました。
- 溶接電流
- 加圧力*2
- 時間
の3つを管理することが重要で、単純に I^2Rt[J] の発熱量Hの公式に当てはまります。(異金属であれば電流方向もペルチェ効果の影響を受け片側が溶け過ぎ、もう片側は溶け不足になるなどもある)
今回、時間と電流はコンデンサと電圧による成り行きで、ボリュームによる調整で決まりますが、加圧力は形式によってばらつくような気がします。
たぶん洗濯ばさみ的な物ではさめばいいんじゃないかなと思っています。
*1:参考リンク:http://www.kondo-tech.co.jp/kthlist.htm
*2:電極が溶接電流により溶けて軟らかくなるのに追従して電対を抑えることで空間を作らず一体化させる目的がある
PIC1823のTimer0モジュールまとめ
●Timer0モジュールを使う目的
- ミリ秒のウェイト
- メインループのFPS管理
ワタクシはTimer0の割り込みでカウンタをインクリメントしています
現在オーバーフロー対策がありません(そんなんでいいんかい!)
●Timer0モジュール
Fosc/4(左上)を青線のとおりに導いてクロック源とするために OPTION_REG を設定し、割り込みを有効化すればTMR0レジスタのカウントが始まります。オーバフローするたびに割り込みルーチンが呼び出されます。
TMR0レジスタ
TMR0レジスタは8bitなので255からインクリメントした時点でオーバフローし、割り込み処理が呼び出されます。つまり256クロック必要なことになり必然的に256分周されちゃうわけです。
そこで割り込み処理終了時にTMR0に意図的に数字をセットすることで細かいタイミング調整ができると思います。(なぜ断言しないかというと合ってるかどうかはわからないがそれっぽくなったから)
●プログラム
tim0Initなど関数はtim0_lib.cにまとめてあります
// ------------------------------------------------------------------------------------------------
// 割り込み
// ------------------------------------------------------------------------------------------------
void interrupt isr(void){
// Timer0割り込み処理
if (TMR0IF == 1){
tim0_count++;
TMR0IF = 0;
TMR0 = tmr0_val;
}
}
void main(void) {
// 初期化処理
// Oscillator Control Register
// SPLLEN (1) : 4x PLL is enable.
// IRCF (1101): Internal oscillator frequency [4MHz HF]
// uninplemented (0) : Read as '0'
// SCS (11) : System clock select [Internal oscillator block]
OSCCON = 0b11101011;
// Timer0初期化
tim0Init(OPTION_PA_8, 131);
// 割り込みの有効
PEIE = 1;
GIE = 1;
while(1){
tim0_Wait(1000);
}
return;
}
下記は参考プログラムファイル
●チョイ待ちWait談義
職場ではArduinoの普及とともに、続々とマイコンデビューするようになっています。しかも、Arduinoでは標準でdelay()が用意されておりWaitもお気軽です。
そして、よく見かけるのが「ここのWait10秒実行してる間、スイッチとか見れないからどうしようかなー」というマイコンWait All 無視状態への対策。特にフロー制御系で出てきます。
こういう処理の場合、ワタクシは個人的に500msec以上のWaitは使わないようにしています。
下記のように「入力処理」と「状態」に分離し一箇所で処理がクローズしないようにします
入力処理 --------------------------
現在の状態を設定する
スイッチ、完了信号を変数などに代入(制御、出力は行わない)
状態処理 --------------------------
状態により遷移と処理
mode変数を列挙対として用意する。case内で状態遷移と処理を行う
switch(mode){
case state1: // センサーONならstate2へ
case state2: // 処理1実行しstate3へ
case state3: // 処理1実行完了ならstate1へ
}
てきな?
switchを増やせば並列作業も一応できると思います。ポイントはwhileなどで一箇所で処理が停滞することのないプログラムにするところです。
これはPLCのラダーの概念を参考にしています
PIC1823のクロック出力を見る
●PIC16F1823のクロック出力
内部動作クロックを4MHz(工場で±1%に校正済み)に設定しCLKOUTピンから出力します。ただし、データシートには”実際出力されるのはFOSCの1/4の周波数”とあり、1MHzが出力されるはずです。また、CLKOUTENは優先度が高くONに設定すると問答無用でクロックを出力します
6.3.2 CLKOUT FUNCTION
The CLKOUT function has a higher priority than the reference clock module. Therefore, if the CLKOUT function is enabled by the CLKOUTEN bit in Configuration Word 1, FOSC/4 will always be output on the port pin.
●プログラム
#include <xc.h>
// CONFIG1
#pragma config FOSC = INTOSC
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config MCLRE = ON
#pragma config CP = OFF
#pragma config CPD = OFF
#pragma config BOREN = OFF
#pragma config CLKOUTEN = ON
#pragma config IESO = ON
#pragma config FCMEN = ON
// CONFIG2
#pragma config WRT = OFF
#pragma config PLLEN = ON
#pragma config STVREN = ON
#pragma config BORV = LO
#pragma config LVP = OFF
void main(void) {
// Oscillator Control Register
// SPLLEN (0) : 4x PLL is disable.
// IRCF (1101): Internal oscillator frequency [4MHz HF]
// uninplemented (0) : Read as '0'
// SCS (11) : System clock select [Internal oscillator block]
OSCCON = 0b01101011;
TRISC = 0b11101111;
while(1);
return;
}
OSCCON
マイコンのオシレータをコントロールするレジスタを設定しています
内蔵オシレータを4MHzに設定しています
8MHzに限り4倍のPLLを使用でき最大32MHzで使用できるようです
●CLKOUTの出力波形
1.001MHzとでました
0.99MHz ~ 1.01MHzの間に収まれば仕様上OKなのでいい感じですね
マイコンが自分の狙った周波数で動いてることが確認できました
8MHz, 16MHzと変更すればちゃんと変わりますが、ジッタが目立ち始めました
さーて、ラーメンでも食ってくるか
PIC1823の感想とMPLABXでの開発
●ミッドレンジ PIC16F1823 のいいところ
レジスタ、ブロック図、プログラムそのすべてがシンプルで勉強にとても向いている。だから教材に選ばれやすいのかもしれない
データシート1冊でさくさく開発を進めることができます(Arduinoはリファレンスだけでレジスタ操作なくあそべちゃいますがね)
ただし、PICは古い型番も現役。どれを使えばいいのだろうかという意見を1回聞いたことがあります。なぜ1回かというと回りにPICユーザーがいないからです
・プログラムメモリ:2Kワード
・RAM:128バイト
・EEPROM:256バイト
・I/O:最大12本
・ADコンバータ:10ビットx8ch
・コンパレータ:2ch
・タッチセンサ入力(CapSense):8ch
・タイマー:8ビットx2,16ビットx1
PICマイコンPIC16F1823−I/P: マイコン関連 秋月電子通商 電子部品 ネット通販
●開発するぞう
PIC遊びで現在ワタクシが使用しているのは下記のものです
・PIC kit3
・接続ハーネス(フラットケーブル)と電源
PICkit3は供給電力が少ないため電源がほぼ必要になります(100uFの電源ラインコンデンサでアウトです)
PICkit3は直挿しもOKですがハーネスがあれば
あれ・・・w 完成品のスペース、狭くてささらないっすwww
なんて事態になりにくくなるでしょう
・MPLAB XとXC8コンパイラ
PICkit3(3000円くらい?)さえ手に入れてしまえばPICマイコン自体は数100円ですので出費は少ないかもしれません