« 2018年5月 | トップページ | 2018年7月 »

2018年6月

2018年6月29日 (金)

TL494で60Hz駆動、再び

2011年6月の記事、TL494で60Hzインバータ (旧ブログのバックアップ)。
   ※もうこれには書き込み出来ません

このトラブル体験談に関して、tac3210さんからメールでコメントを頂戴しました。

メールの内容をかいつまんで…

 ・タイミングRCの値が気になる。

 ・こんな動画がある。

 ・C=1uF R=11K。 これで53Hzで駆動。
 ・Cの値が小さくて、Rが大きくなっている
  ため不安定になっているのでは?

このようなご意見です。
気になったので、ジャンク箱を発掘。
実験回路基板を引っ張り出してきました。

さて「CT」の値、元は0.1uFでしたがそれに1uFのフィルムコンをパラってました。

この手のトラブル対策、「インピーダンスを下げてみる」というのが定石ですんで、試した記憶があります。
通電して確認しましたが、やはりアウトです。

で、TL494,他のがないかと、これまたIC入れやらジャンク箱を発掘。
実験に使ったの以外に4つ出てきました。
そのうち一つだけ新品がありました。

古いのは、何かの電源基板から外したのでしょう、足が短い!
交換して試すのにいちいちハンダ付けは面倒なんで、
  試作基板のICを抜いて16ピンの丸ピン・ソケットに交換。
  全部で5つあるICは別のソケットにハンダ。
  ICの乗ったソケットを入れ替えて試運転。
こんな手順で、ICによる違いを見ました。

11

12

結果:
ICは全部「TI」製。

5つあるうちの「3」はちょいとましだが、ほぼどれも同じ。
駆動周波数が80Hzくらいまで下がってくると不安定に。
PWM maxだともうちょい周波数を下げられるのが「3」。
エラーアンプ入力を触って、フィードバック端子の電圧(PWMコンパレータと比較)を上昇させると誤差動の確率が上昇。
このフィードバック系にフィルタを入れるとましにはなるが、ちゃんと動作させるには駆動周波数を上げないとダメ。
60Hz駆動ではあきません。
こんな状態です。

動画がうまくいってる可能性。
・PWMがmaxか? (フィードバック端子の出力電圧が低い)
・パルス抜けが起こっても、片相がちゃんとドライブしていると目立たないのかも

こちらでの実験はここまで。

※その後
Youtubeを見てますと・・・
1分13秒に「IC」が拡大表示。
A1

「HLF」がメーカー名でしょうか。

5分51秒のオシロ画面。
分周ミスしたような、方形波じゃないパルスになった波形が写っています。
A3


| | コメント (4) | トラックバック (0)

ICの引き抜き工具

客先からのhelpです。
ICの引き抜き工具、こんなのを知りませんか?』
『手に入らないかな~』っと。

A1

A2

A3

昔のDIP EPROMの抜き差しに使うんでしょうけれど、ずいぶんと年代物のようです。

私とこで使っている(た)引き抜き工具。
左のはDIP ICの「足矯正」器。
真ん中のはPLCC ICを抜くとき用だけどEPROMの引き抜きにも使える。
右のは小さなコネクタ用。
DIPのEPROMは、ソケットとICの間にマイナスドライバーを突っ込んでこじっていたなぁ。

A4

サンハヤトで使えそうなのがあるか… サンハヤト ic引抜冶具


※先ほど電話があり・・・『見つかった』とのことです。
 おさわがせでした。

| | コメント (0) | トラックバック (0)

2018年6月28日 (木)

無負荷だとスタンバイするの?

なぜ仕事場にやってきたのかわからないACアダプタ。
調べるとプリンタ用の電源。
だもんで、プリンタは動かなくなったけど、生きてるっぽいACアダプタが残ったんで「下間はん。 いるか?」だったんでしょう。
16V・1.8Aという約30WのスイッチングタイプのACアダプタです。
これを、ちょいと実験に使ったところと、回路につないだら、なんか不安定。
こんなの
A1
銘板の拡大
A2

不安定な状況・・・
  ・無負荷だと電圧が下がる …? ような気が・・・
  ・負荷をかけて電流を流すと定格電圧を出力。
  ・負荷が軽くなると、なにやら不安定に ・・・? なるような気が・・・

テスターで見てるだけじゃ分かりませんでした。
この電源の出力をオシロで観察すると、状況が判明。

これが無負荷状態。
A3
   ※ACレンジで見てるんで、実波形とちょい違う


およそ2秒周期で定格電圧を出しています。
しかし、16Vなのは一瞬だけ。
電圧が徐々に低下。 その振幅は約2V。

そして、負荷電流を徐々に大きくしていくと、こんな具合。
A4
   ※こっちはDCレンジで観察

左端が電流ゼロで、右端が50mAほど。
徐々に電流を増やした時の出力電圧を観察しています。
電流が増大すると、ノコギリ波状の出力周期が短くなって、ある所から安定に出力しだします。

この電源のこの制御、これは仕様なの?
    ※使っていない時は休ませる?
それとも、故障なの?

実験用電源として使うには、このままでは不適合。
対処療法的にはブリーダー抵抗を入れればいいんだけど、ちょい不安。
はてさて、中をあけてみようかしら?


※追記
解体しました。
ケースの上下は、ビス1本と周囲の爪で固定されています。

ビスの場所↓
11

ビスのアタマはよくあるイケズ・ビス。
でも、専用工具があるからへっちゃら。
12

基板の様子。
ぱっと見、コンデンサンの頭膨れやハンダの異常などは無し。
13

14

こんな制御IC。 「FA5515」富士電機

15

どこかがおかしいのかもしれませんが、追求はしてません。
結局、無負荷時に現れるノコギリ波、ブリーダー抵抗を出力に入れることで防ぎました。
負荷抵抗が1kΩや820Ωだとノコギリ出現。
750Ωになると停止。
余裕を見て、1W・680Ωの抵抗を2パラにしてつないでおきました。
(無意味な電流、もったいないけど)
常時使う電源じゃないんでokかなっと。

もう一度言います。
  これってこの電源の仕様なの?

| | コメント (1) | トラックバック (0)

2018年6月27日 (水)

「クリックポスト」値上げのニュースが

全国どこでも、164円でブツを送れる日本郵便のクリックポスト。
その値上げのニュースが・・・
日本郵便、業界最安値宅配12%値上げ 「クリックポスト」185円に

まぁ元々、「安過ぎ」の感がありました。
しかたないですなぁ。

  ※このさい、仕事の工賃も上げてもらおうか(笑)

クリックポスト|日本郵便

●2018/06/26 クリックポストの運賃改定について
クリックポストについて、以下の通り運賃を改定させていただきます。
■旧運賃(改定前):164円(税込)
■新運賃(改定後):185円(税込)
■改定実施日   :2018年9月1日(土)

※2018年8月31日(金)23:30(予定)までに支払手続きが完了したお取引
 に関しましては、旧運賃でご利用いただけます。

何卒ご理解賜りますようお願い申し上げます。

| | コメント (0) | トラックバック (0)

グルグル回る軸の角度変動の平均値を出す方法#5

これの補足をちょいと。
計算方法を言葉で言うと
 ・入力角度からsinとcosでX,Yの値を得る
 ・XとYの値を移動平均
 ・平均値からatan2(Y,X)で角度の平均値を得る
という処理で、角度の平均値を算出しています。

ここで問題なのがX=Y=0の時のatan2。 計算不能です。

例えばこんな時にこの異常が出現します。
角度0度が続いていて、突然角度180度に変わった時。
  sin(0) = 0 cos(0) = 1
  sin(180)= 0 cos(180)=-1
です。

sinで算出するYは、平均しても0のまま。
0度も180度もY=0です。
ところが、cosで出すXの平均値は、+1から減少しはじめ
0を通過して-1に変わります。

atan2への引数を見ると、Yはずっと0を維持しているんで
Xの値がプラスの領域は、その値がいくらであっても必ず
0度になります。
そして、Xがマイナスなら値によらず必ず180度になってし
まいます。
  ※その途中でatan2(0,0)の異常点を通過するかも!

この結果、入力角度が急激に180度回転した場合は、角度の
平均値が得られないのです。

以下は平均回数20回で、入力角度0度→180度を試してみた時の
変化です。
#6のタイミングで入力角度を変化させます。
  degが入力角度、
  smzが平均処理した出力角度、
  XとYはdegに対するcos、sinの値です。

#   deg smz X   Y
#1   0  0 1.000 0.000 入力角度、最初は0度
#2   0  0 1.000 0.000
#3   0  0 1.000 0.000
#4   0  0 1.000 0.000
#5   0  0 1.000 0.000
#6  180  0 0.900 0.000 入力角度を180度に変化
#7  180  0 0.800 0.000
#8  180  0 0.700 0.000 平均処理でXが減少し始める
#9  180  0 0.600 0.000
#10  180  0 0.500 0.000 しかし、Y=0なので出力角度は0度
#11  180  0 0.400 0.000
#12  180  0 0.300 0.000
#13  180  0 0.200 0.000
#14  180  0 0.100 0.000
#15  180  0 0.000 0.000 ★atan2(0,0)でエラー発生
#16  180 180 -0.100 0.000 Xがマイナスになると結果が180度に
#17  180 180 -0.200 0.000
#18  180 180 -0.300 0.000 Xはゆるやかに変化しているが、
#19  180 180 -0.400 0.000 結果は平均処理されない
#20  180 180 -0.500 0.000
#21  180 180 -0.600 0.000
#22  180 180 -0.700 0.000
#23  180 180 -0.800 0.000
#24  180 180 -0.900 0.000
#25  180 180 -1.000 0.000 平均処理おわり
#26  180 180 -1.000 0.000
#27  180 180 -1.000 0.000

0度→180度だけでなく、180度反対側に行くのがダメなんです。
これは30度→210度の場合。

#   deg smz X   Y
#1   30  30 0.866 0.500 最初は30度
#2   30  30 0.866 0.500 sin(30)は1÷2で0.5
#3   30  30 0.866 0.500 cos(30)は√3÷2で0.866
#4   30  30 0.866 0.500
#5   30  30 0.866 0.500
#6  210  30 0.779 0.450 入力角度、30度→210度に変化
#7  210  30 0.693 0.400 X,Yに対する移動平均処理が始まる
#8  210  30 0.606 0.350
#9  210  30 0.520 0.300
#10  210  30 0.433 0.250 X,Yの変化は同比率なので出力角度は同じ
#11  210  30 0.346 0.200
#12  210  30 0.260 0.150
#13  210  30 0.173 0.100
#14  210  30 0.087 0.050
#15  210  30 0.000 0.000 ★atan2(0,0)でエラー発生
#16  210 210 -0.087 -0.050 符号が変わったので30度の対向位置210度に
#17  210 210 -0.173 -0.100 急激に出力角度が変化
#18  210 210 -0.260 -0.150
#19  210 210 -0.346 -0.200 角度の移動平均処理ができていない
#20  210 210 -0.433 -0.250
#21  210 210 -0.520 -0.300
#22  210 210 -0.606 -0.350
#23  210 210 -0.693 -0.400
#24  210 210 -0.779 -0.450
#25  210 210 -0.866 -0.500
#26  210 210 -0.866 -0.500

次は30度→200度の場合。 170度の変化です。
これは180度対向じゃないので、移動平均がうまく進みます。

#   deg smz X   Y
#1   30  30 0.866 0.500 入力角度、最初は30度
#2   30  30 0.866 0.500 sin(30)は0.5
#3   30  30 0.866 0.500 cos(30)は√3÷2で0.866
#4   30  30 0.866 0.500
#5   30  30 0.866 0.500
#6  200  31 0.776 0.458 入力角度が30度→200度に変化
#7  200  31 0.685 0.416 移動平均処理が始まる
#8  200  32 0.595 0.374
#9  200  33 0.505 0.332 X,Yの比率が平均により変化するので
#10  200  35 0.415 0.289 atan2による角度はなめらかに変化
#11  200  37 0.324 0.247
#12  200  41 0.234 0.205
#13  200  49 0.144 0.163
#14  200  66 0.053 0.121
#15  200 115 -0.037 0.079 Xの符号が変わる
#16  200 164 -0.127 0.037
#17  200 181 -0.217 -0.005 Yの符号も変わり出力角度が180度を超える
#18  200 189 -0.308 -0.047
#19  200 193 -0.398 -0.089
#20  200 195 -0.488 -0.132
#21  200 197 -0.579 -0.174
#22  200 198 -0.669 -0.216
#23  200 199 -0.759 -0.258
#24  200 199 -0.849 -0.300
#25  200 200 -0.940 -0.342 平均回数である20ステップかけて、
#26  200 200 -0.940 -0.342 なめらかに30度→200度まで変化
#27  200 200 -0.940 -0.342

「いきなり180度」、これの対策です。

まずatan2(0,0)の処理。
こんな関数にしました。 (入出力はfloatで)

/***** ATAN2(0,0)を回避 *****/
//   0,0なら前回値を用いる
float atan2z(float y, float x)
{
static float d = 0.0;        // 前回値
  if((x != 0.0) || (y != 0.0)){  // どちらか0でない
    d = atan2(y, x);      // 計算可能
  }
  return d;
}

X,Yが両方ゼロなら、計算可能だった直前の値を返します。
移動平均処理で何度もこの関数を通るだろうからという考えです。
また、スムージング回数を偶数ではなく奇数にすることでも、
atan2(0,0)に出くわす確率を下げられます。
  ※スムージング加算値を割り切れにくくするということで

もう一つがいきなり180度対向時の平均処理です。
これは、前回との角度差が一定値を超えた時、例えばその角度差の
半分のポイントの角度を使って平均処理を行い、「いきなり180度」
を回避するのです。
「いきなり180度」さえ回避できれば、移動平均はスムーズに進みます。

以下は、270度→90度への「いきなり180度」変化の時、変化直前に「0度」
のデータを入れてみた結果です。

#   deg smz X   Y
#1  270 270 0.000 -1.000 入力角度、最初は270度
#2  270 270 0.000 -1.000
#3  270 270 0.000 -1.000
#4  270 270 0.000 -1.000
#5  270 270 0.000 -1.000 180度対向位置である90度に変化する直前
#6   0 273 0.050 -0.950 ←中間値である「0度」を挿入
#7   90 273 0.050 -0.850 
#8   90 274 0.050 -0.750 0度を含めての移動平均処理が始まる
#9   90 274 0.050 -0.650
#10  90 275 0.050 -0.550
#11  90 276 0.050 -0.450
#12  90 278 0.050 -0.350
#13  90 281 0.050 -0.250
#14  90 288 0.050 -0.150
#15  90 315 0.050 -0.050 0度付近で急激な変化にはなるが、
#16  90  45 0.050 0.050 平均処理はうまくいっている
#17  90  72 0.050 0.150
#18  90  79 0.050 0.250
#19  90  82 0.050 0.350
#20  90  84 0.050 0.450
#21  90  85 0.050 0.550
#22  90  86 0.050 0.650
#23  90  86 0.050 0.750
#24  90  87 0.050 0.850
#25  90  87 0.050 0.950
#26  90  90 0.000 1.000
#27  90  90 0.000 1.000

以上、「グルグル回る軸の角度変動の平均値を出す方法」の補足でした。

| | コメント (0) | トラックバック (0)

2018年6月25日 (月)

『雨で引きこもるなら電子工作!』

これ↓ひょっとして、有名なフレーズなの?
先週、スイッチサイエンス で、ちょいとパーツを購入。
休みの間に届いていたようで、ブツは郵便ポストに入っていました。
厚み20mm、A5サイズの段ボール箱。

11

モノと伝票を取り出したら、箱の状態なんて気にしないのですが、
上蓋の裏に、何やら青文字のハンコ押されています。12

『雨で引きこもるなら電子工作!』
  ↑
これ、何かで使われた(例えばマンガとかアニメ)、有名なフレーズなんでしょか?





| | コメント (2) | トラックバック (0)

2018年6月21日 (木)

失敗! 24Vを接触させてもた

たまには失敗を。
RX220(48pin)マイコンを使った実験回路。

  ・はじめてのロータリーエンコーダー  とは、違うものです
通電しながらごそごそしてたら、24V電源がこの回路に接触!
「バチっ」っとクリップに火花が散って、マイコンが死にました。
実験用試作回路ですんで、ピッチ変換基板を使ってユニバーサル基板に組んでます。
このマイコンの手持ち、たまたまチップ単体じゃなく、ピッチ変換基板にハンダ済みのしかなかったんで、めんどうなことになりました。
チップの損傷が明らかな時の修理手法は、「基板の救出優先」で、ICの足を切断して基板から取り外しちゃいます。
この場合、基板のパターンを生かしておくのが第一。
手元にチップそのものがあれば、それを再ハンダしてプログラムを再書き込みすればよかったんですが、今回のトラブルでは、新品ICは変換基板に乗ってます。
   (・・・ICをながめながら途方にくれる私)
なんとか、実験を続けたいんで、今度は「IC優先」の作業をしなくちゃなりません。
ICを生かしたままピッチ変換基板から外す… ちょいと怖いのでパスです。
そこで、ユニバーサル基板上の変換基板(死んだICが乗っている)への配線をきちんと外し、新しいピッチ変換基板に乗せかえ、そして外した配線を元通りに。
面倒でも、こんな作業をしなくちゃなりません。
回路図と照合しながら、配線の取り外しと再配線。
これをあわてて間違ってしまうと動きませんので。

24Vが加わったかもしれない他もパーツも安心のために交換。

手間はかかりますが、しかたありません。

取り外したピッチ変換基板に乗ったIC(死んでる)。
悔しさまぎれにハンダ付けを外してみました。

11

四方向の足にハンダを盛って、コテで順に加熱。
ハンダが溶けた状態を見計らって、基板に「コン」っとショックを。
ポロリと外れます。

| | コメント (0) | トラックバック (0)

2018年6月20日 (水)

文鎮:ハンダ付け補助ツ-ル …形状違いの素材

ハンダ付け補助ツール(文鎮) 製作元の佐藤テック君から…
『こんな鉄の端材が出てきた』っと。
11

この\/の中に、丸棒とか◎パイプがはまり込むような材料です。
12

↑これの高さは66mmで切断されていますが、残材は高さ方向に長い材料になっています。

これにクリップを付ける方法(M5のタップ切り)がいくつか考えられるんで、ちょいと皆さんに相談です。

磁石をくっつけたクリップを使って想像します。
(1)斜めのところにくっつける
13

14

(2)平面部にくっつける (これまでのと同じような形)
15

16

(3)長手方向を短く切断してクリップの向きをこんなふうに

21

22


サビ落としして「黒染め」の予定です。

(1)、(2)だと重量は「500g」をちょいと超え。
クリックポストは1kg制限ですんで二つは送れません。

(3)のようにカットすると「約300g」ほどですんで二つはok。 (3)だと一つが短くなるんで、同じ材料からたくさんとれる→ちょいとお安くなる(かも)

まだ、頒布価格は決まっていませんが、いかがでしょうか?

ご希望をお聞かせください。  (こんなんいらんわ:も含めて)

| | コメント (6) | トラックバック (0)

2018年6月19日 (火)

卓上ボール盤、復活:こんなアイデアは?

ベルトがズタズタになった中華製のやすものボール盤モノタロウで買ったベルト で、無事に復活。
で、6月6日の写真 にも写っているのですが、お気に入り:自画自賛の工夫がこれ。
チャックハンドルの固定方法。
12

百均ネオジム磁石を接着して、その左右に両面テープ付きの電線押さえを貼り付けています。
これで、チャックハンドルが行方不明になりません。

 ※鉄を加工する場合、磁石に切り粉がくっつくとイヤかも。
  私らの工作では、たいていプラかアルミですんで。

| | コメント (0) | トラックバック (0)

2018年6月18日 (月)

ロータリーエンコーダでグルグル回る角度を読み取る

RX220マイコンで2相パルスカウント:グルグル回る角度を の具体的なプログラムです。
  ※初期化部分は省略
このルーチン、最新カウント値が欲しい時だけでなく、オーバーフローをチェックするため定期的に呼び出してください。
  ※表示の関係で全角スペースを使っています

/****************************************/
/*   2相パルスカウント        */
/****************************************/
// 16bit up/downカウンタのオーバーフローをチェック
// 4逓倍で1回転1200パルス
long cnt_old;        // 前回カウンタ
WORD cnt_read;       // 読み出したカウント値 0~1199
WORD cnt_offset;      // カウンタオフセット値 0~1199
#define PLS_1200  1200  // 1200パルス/360度
#define PLS_CW   736   // CW: 65536 % 1200 = 736を加算
#define PLS_CCW   464   // CCW: 1200 - 736 = 464を加算

/***** カウンタ読み出し    *****/
// 0~1199の値を持ってリターン
// 16bitカウンタのオーバーフローをチェックしながら
// カウント1で0.3度
WORD cntread(void)
{
long cnt;
WORD a;
  cnt = (long)MTU1.TCNT;         // 16biカウンタ→longに
  if((labs(cnt - cnt_old)) >= 32768L){  // オーバーフロー発生
    P30_H;             // (!!!) P30 10pin H/L
    a = cnt_offset;         // オフセット値
    if(cnt < cnt_old){       // 右回転
      a = a + PLS_CW;       // +736
    }
    else{              // 左回転
      a = a + PLS_CCW;      // +464
    }
    cnt_offset = a % PLS_1200;   // 新オフセット値:1200で割ったあまり
  }
  else{                // 通常カウント
    P30_L;             // (!!!)
  }
  cnt_old = cnt;           // 次回チェック値
  a = (WORD)(cnt % PLS_1200);     // 16biカウンタ 1200パルスで割った余り
  cnt_read = (a + cnt_offset) % PLS_1200; // オフセット加算
  return cnt_read;          // 0~1199の値
}

※出力ポート「P30」にパルスを出すことで、オーバーフローのタイミングをオシロで観察できるようにしています。

| | コメント (6) | トラックバック (0)

2018年6月17日 (日)

RX220マイコンで2相パルスカウント:グルグル回る角度を

※前記事
今回の試作(とある装置の性能評価用ジグ)、目的はグルグル回る0~360度の角度計測です。
 (0.3度分解能で)
小さなロータリーエンコーダを選んだのは、小さな起動トルク小さなイナーシャが測定系にとって魅力だったから。
形状の大きなエンコーダだと、もっといろんなパルス数のが手に入りますが、この大きさで300パルスという分解能は十分にありがたい性能です。
48ピンですが、小さくても32ビット・マイコン。
二つのタイマーカウンタ・モジュールで位相計数モード(2相パルスをカウント)が利用できます。
ハード的には、こんな感じでこのエンコーダと接続しています。
A1
  ※今回使ったのは一つだけ。 もう一系統のカウント入力は
    空いています。
イニシャルだけしておけば、ソフトであれこれしなくてもカウント値を読み出すだけで「現在位置」が分かるという仕掛けです。
ほんとにお手軽。
ただし、カウンタは16ビットなんで、カウント範囲は「0~65535」。
ソフト的に何らかの処理を入れないと、「何回転もグルグル回る用途」では使えません。
今回のエンコーダは1200パルスなんで、手を入れない場合の回転回数は「54回転」までになります。
55回転目になると「65535」を超えて一周回ってしまいます。
それを描いてみました。
Ov2

オーバーフローするかも? そんな数値の処理 では、符号付きの16ビット値を考えていましたが、今回は符号なしの数値です。
右回りでカウントアップしている時は、カウント値を1200パルス割った余り、つまり「0~1199」の値に「3」を乗じれば「0.1度」単位の回転角が得られます。
しかし、正しいのは54回転目まで。
55回転目になると、その途中で「65535→0」のオーバーフローが発生して、それより右に回ると正しい角度が得られません。
そして、左回りだと、いきなり「0→65535」となります。
ほんとは「0度→359.7度」なのに、剰余は「735」となり、角度に直すと「220.5度」になってしまい間違った値が出てきます。

通常のグルグル回らないup/downカウンタ(上限値、下限値がある)だと、16ビットの高速カウンタをベースに、定期的にオーバーフローを監視することでソフト的に上位桁を作リ出し、カウント桁数を増やします。
1mS程度の周期で監視できるのなら、ベースにしたカウンタの応答速度を低下させることなく桁数を増やせるでしょう。

ところが、今回はグルグル回る処理をしなければなりません。
上位の桁数を増やしても、いつかは頭打ちになってしまいます。

そこで、考えを変えます。
数値として欲しいのは回転角度です。
つまり、、エンコーダの1回転カウント値である「0~1199」です。
軸が何回転したのかの情報は不要です。 
    (カウント値1200以上の値は不要)
マイコンの内蔵カウンタが「カウント範囲を0~1199にする」なん
ていう機能を持っていれば良いのですが・・・
  ※コンペアマッチでゼロクリアーという機能は
    あるが、up/downカウンタでは使えない。
(1)  まずは、オーバーフローとアンダーフローのチェックです。
  前回にカウンタを読み出した時の値を覚えておき、前回値と今回値の
  差の絶対値が16ビット値の半分、「32767」より大きかったらオーバー
  フローが発生したと判断します。
    ※32767以下なら、65536←→0 の点を通過していない。
(2) 差の正負により、右回転のオーバーフローか左回転のオーバーフロー
  (アンダーフロー)かを判断します。
(3) 右回転のOVFなら、「一周分65536を1200で割った余り=736」を、
  今回カウンタの値から算出したカウント値(0~1199)に加えます。
    (それをさらに1200の剰余を計算し0~1199を算出)
  「736」はオフセット値として記録しておき、オーバーフロー発生ごとに
  736をオフセット値に加算します。 
    (加算後のオフセット値も剰余計算で0~1199にしておく)
  これで右回転の時の補正が完了します。
    ※1回転目のオーバーフロー「65535→0」は「735→0」ではなく
      「735→736」となる
(4) 同じように左回転のOVFでは、「-736」をオフセットにすれば良いのですが、
  せっかくですんで、マイナスの値は使わずに1200に対する補数である
  「464」をオフセット値に加算することにします。
  この、加算処理後も剰余計算で0~1199にしておきます。
(5) カウント値、オフセット値とも1200の剰余計算で0~1199にすることで、
  桁あふれなくグルグル回る軸の回転角度を「符号無し16bit値」で計算する
  ことが可能になります。
こんな考えでプログラムを組んで、グルグル回る角度の値を算出します。

| | コメント (0) | トラックバック (0)

円周360度を測る時:1回転300パルス、中途半端じゃない

はじめてのロータリーエンコーダーRE12D-300(1回転300パルス)360度を測る時、「300」だと中途半端な気がしますよね。
でも、これ。 「1回転300パルス」が意外と使えるんです。
「1度」単位の計測だと確かに中途半端です。
『360パルスのエンコーダが欲しいよぅ』となるんですが、「0.1度」単位の計測だと300パルスでもうまくいくんです。
1回転300パルスを4逓倍すると、1回転が1200パルスになります。
カウントが1パルス進むと、角度だと「360度÷1200パルス」で「0.3度」進みます。
つまり、角度の最小桁を「0.1度」とすると、カウント値を3倍するだけで「0.3度」の分解能で角度が計算できるわけです。
最小桁の表示を0.1度にすると、四捨五入計算の必要がありません。
「360パルス」のエンコーダだと、1度桁での表示ではきっちり出るんですが、4逓倍すると「1カウントが0.25度」になってしまい、表示が「0.1度」だと四捨五入処理が必要になってしまいます。
かといって「0.01桁」まで表示しても「1/4度」が最小分解能ですんで、わざわざ桁を増やす意味がありません。

1回転300パルスのロータリーエンコーダと「360度」、「0.1度表示」だと、ちょいと相性が良いのです。
  (でも、絶対的な分解能は0.3度ね)

※しかし
問題はこれをカウントするup/downカウンタ。
360度をグルグル回して0~359度(0.1度単位なので0.0~359.7度)を数えるには、パルス数0~1199をカウントしなくちゃなりません。
upカウントだけなら10進カウンタ2つに12進カウンタで0→1199をカウントできます。
アップパルスが入って「1200」到達で「0」にクリアという処理です。
   (あるいは1199の次のアップパルスで0にという言い方)

しかし、downカウントとなると、「0の次のダウンカウントパルスで1199」ということにしなくてはなりません。

※続き
RX220マイコンで2相パルスカウント:グルグル回る角度を


| | コメント (0) | トラックバック (0)

2018年6月16日 (土)

はじめてのロータリーエンコーダー

過去、ロータリーエンコーダーなどの2相パルス出力装置、あれこれ使ってきましたがここまで小さな精密エンコーダは初体験。
コパルの「RE12D-300」。
ちょいと、実験で使います。
12

この大きさで1回転300パルス。
4逓倍すると1200パルスになります。
取り付けネジはM2。
出力はTTLなんで、インターフェースも簡単。

マルツ・日本橋店 に注文したら、翌日に入荷しました。

※実験回路はルネサスの「RX220」マイコン。
11

使ったのは48ピンのものなんですが、ポートの並びがぐちゃぐちゃ(PICやAVRマイコンのように8ビットのポートが順に並んでいない)。
あまり使いやすくはありません。
「NC」ピンが2つもあるし、もったいないのだ。

※関連
メカのようでもあり電気のようでもあり
オーバーフローするかも? そんな数値の処理

※続き
円周360度を測る時:1回転300パルス、中途半端じゃない
RX220マイコンで2相パルスカウント:グルグル回る角度を


| | コメント (1) | トラックバック (0)

2018年6月14日 (木)

ガレージPCのHDDが逝く!

今週になってからガレージPCの調子が悪い。
で、昨夜のこと、とうとうウィンドウズ・システムが入ってるHDDが逝ってしまいました。
そろそろヤバいかっと、夕刻、日本橋に寄ってHDDを買った、その途端でした。
写真やあれこれデータを入れてあるもう一つのHDDは大丈夫だったんですが、システムがアウトとなと復旧がめんどくさい。

そんなこんなのしてたら、JJ3ENTのノートパソコンも「ハードディスクがカッコン、カッコン言ってる!」っと。
えらい三隣亡な日でした。

| | コメント (0) | トラックバック (0)

2018年6月12日 (火)

Tele Auto FX-1 シャッター用無線リモコン

同種の無線リモコン、以前に修理しています。
・修理:電動シャッター用無線リモコン

11_2

正常品と故障品が二つやってきたんで、状態の比較が可能です。
以前に修理したのと同じ形式の無線リモコンなんですが、電源回路が異なっていました。
単4電池2本で動作します。 しかし、今回のは「TL499」で昇圧しています。
前に修理したのは電源3Vで動いていました。
   ※今回のほうが電波が強い!

2台のうち、1台が動作せずなんです。
電池のマイナス電極とスイッチが接触不良でしたんで、交換しました。

12_2

しかし、スイッチオンで電波は出るんですが、スイッチ種別による変調がかかったりかからなかったりと不安定なんです。
AM(振幅変調)なんで、電波チェッカー を使うと、変調音が聞こえます。
変調がかかるときもあり、キャリアだけのときもあり、そのキャリアも途切れたりと、状態がころころ変わります。

スイッチ操作での電源供給はOK。
セラロックによるクロック発振もOK。
パワーオンリセットかとも思ってあれこれ試したが、解決せず。

どうやら、中の制御チップそのものがアウトになっているようです。
修理不能にするのも悔しいので、別マイコンを乗せて、リモコンの変調信号を作ることにしました。

まずは、解体。
13

リモコンの制御チップは1.778mmのSDIPなんで、ID設定用DIP SWのところに8pin ICソケットを実装します。
新たな制御マイコンはATtiny13A
ID設定は固定にしちゃうんで、UP/STOP/DOWN三つのスイッチ入力と変調用の信号出力が一つ。

14

先ほど、現地で動作確認。 無事に修理完了しました。

発射電波の様子。
オシロのプローブ先端をGND線につないでワンターンアンテナにして観察。
A1
上が故障品の送出電波で、下が正常品。
正常品が出す波形を見ながら、タイミングを合わせました。
信号長短で「1,0」を示していて、32コのビット列を送っています。

こんな回路になっています。 (概略図で)

A2

元の制御ICに出入りしている、スイッチ入力の3本と送信制御出力の1本をATtiny13Aにつなぐだけ。
ID設定は固定しちゃってます。
   ※1~10の設定スイッチ、このリモコンでは「1と4」
    だけがオンで残りはオフ。

正常なリモコンの送出信号を観察して、
 ・UP スイッチ  1E DE 96 97
 ・STOPスイッチ  1E DE 3C 3D
 ・DOWNスイッチ  1E DE 5A 5B
こんな4バイトの制御コードになりました。
先頭の16ビットがIDコード、後の16ビットがスイッチコードのようです。
  ※IDコードの付け方がよくわかりません。
    現物合わせで決定。

※FX-1の修理メモ 代替マイコンの制御プログラムなど (zip)

※さまざまな電子機器の修理依頼について:(有)アクト電子


| | コメント (4) | トラックバック (0)

ベルト到着! ボール盤の修理完了

中華製のやすものボール盤 の修理で、モノタロウに注文した「HDP-10A用ベルト」 が先ほど到着。

白色のベルトになっていました。

21

1本予備で計2本を購入。
飴色のはバラバラになったベルト。
22

今度はいつまで持つか、はてさて。

| | コメント (0) | トラックバック (0)

トラ技2018年7月号付録

11

タイトル、『あなたの知らないコネクタのお話』
この別冊付録の中に、どういうわけか「B-29」の写真…二次大戦の爆撃機ね。
12

キャプションが「±60℃を超える冷熱衝撃の影響で制御不能になったB-29の試作機」っと。
ハンダ付け部が強烈な温度変化に耐えられず、接続部が破断。
これが原因で試作機が制御不能になって墜落したんだそうです。
関連、このあたりかな。

 

| | コメント (0) | トラックバック (0)

2018年6月11日 (月)

ボール盤の型番で検索したら・・・

中華製のやすものボール盤 (駆動ベルトがバラバラに)、このボール盤の製品名で検索したら予備部品としてのベルト が出てきました。

モノタロウ:「HDP-10A用ベルト」
  定価:499円

商品レビューを見ると、皆さん、同様のトラブルで困っておられるようです。
さっそく注文しますわ。

| | コメント (1) | トラックバック (0)

2018年6月 8日 (金)

文鎮:ハンダ付け補助ツール、やっぱしSUS304がいいかも

※ハンダ付け補助ツール(文鎮)まとめ を見ていただくとわかりますが、2015年11月 に素材が「SUS304(ステンレス)」の文鎮を頒布しています。
それもその時のお代は「1200円」。

これ、むちゃ安価だったんです。
たまたま、製造元である佐藤テック君のところに、適当な大きさのSUS304の材料が残っていたからというのが主たる理由です。
このときに、文鎮に使えるSUS304の材料を全部使ってしまったもんだから、その後に製作の文鎮、基本は
黒染めメッキしたり塗装したり、あるいは「生」のままだったりと、状況によりその頒布形態は変動しています。
      ※リン青銅の文鎮  ←ほんとにもうこれが最後。

佐藤テック君が文鎮を作るタイミング、「端材が出たから」というのがきっかけになるわけですが、「加工に失敗したその残り」、これが文鎮になっている場合もあります。
だもんで、「文鎮がいつできるかは不明」な状態になっています。

で、ガレージで一杯やりながら『SUS304のを新規に作ったらどうなるだろ』を話してました。
SUS304のフラットバー(定尺4mになる)を買って、それを切断して表面加工や端面仕上げ、面取り、M5のタップを立てて完成。

材料費とこの工程の加工賃・・・・・合わせていくらになる?

佐藤テック君からの回答です。
  ・厚み16mm(15mmかも)のSUS304。
  ・お代は、一つ「1900円」。
  ・SUS材のキャップボルトと平ワッシャを添付。
  ・クリックポスト(164円)で発送(最大2個まで)。
そして、次が難関か・・・
  ・リクエストの合計数=20個は必要!
ということで、20個集まったらSU304の文鎮製作を進めるっと。
欲しい方、この記事に必要数と連絡用メールアドレスを記入してコメントしてください!
20個以上集まれば、SUS304のハンダ付け補助ツールができてきます。
※鉄の文鎮は、これまでどおり、端材が出たタイミングで作るということです。

| | コメント (14) | トラックバック (0)

スタンダードC620、動かない・・・

ひさしぶりに使おうとしたら・・・動かない。
11

430MHzと1200MHzの2バンド・ハンディ機です。
パケット通信全盛の頃に買いました。

電池ボックスも外部電源も、電池ボックス接続端子直つなぎでも電源が入りません。
パワースイッチオンで、一瞬、電源電流計が振れるので通電はしてるみたいだけど、表示無しで音無し。
オン後の定常的な電流消費もゼロ。
内部が死んでいるようです。

| | コメント (4) | トラックバック (0)

2018年6月 6日 (水)

中華製のやすものボール盤

ガレージ仲間のK水道店とこからやってきた小型の卓上ボール盤。
11
プラケースに穴をあけてたら・・・
    ポロポロとボール盤の中から落下物が。
12

フタを開けて確認してみると・・・
13

14
モータ軸と錐軸とをつないでいるタイミングベルトがバラバラになりかけてました。
軸部には溝が刻まれてないんで、交換するのはタイミングベルトじゃなくても良いでしょうなぁ。
Vベルトか丸ベルト。 周長を調べてホームセンターへ探しにいってきます。

| | コメント (5) | トラックバック (0)

マイコンのリセット回路

古いCPUを使った工作で、「回路の消費電流が小さいと、マイコンのパワーオンリセットがうまくいかない」問題に悩んでおられるようです。

これ、原因の一部はシュミット入力のヒステリシスは電源電圧に依存するということ。
リセット検出ラインがシュミットになっているんで、ついつい安心してしまうんですが、中途半端な電圧低下だとリセットパルスが出てきません。
ちゃんとするには、「電圧低下」をきちんと検出して、リセットタイミングを作るコンデンサを放電しなければなりません。

BOD回路がマイコンに内蔵されていたら積極的に使いましょう。
しかし、便利なBOD、古~いマイコンには搭載されてません。

そこで外付けの電圧検出ICの出番です。
手抜きのパワーオンリセット回路がこれ。
電源電圧が落ちると、ダイオードを通してコンデンサが放電。
次回のパワーオンではリセットパルスが出るだろうと。
Q1
しかし、電源電圧低下が中途半端だとアウト。
リセット起動に失敗します。

その具体例を引っ張り出してきました。「TK-80」の回路図です。

R2

   ※図面の日付 : 1976年6月10日  設計:T.Goto さん。

01

クロックジェネレータのリセット入力に、リセットボタンとともにつながっています。
特徴的なのが「Vbb -5V」の発生。
クロック出力を倍電圧(P-P値)整流しています。
8080は+5V、+12v、-5Vの3電源。
TK-80の-5Vは基板内で作っていましたんで、5Vと12Vで動いていました。

昔、リセットIC(電圧検出)でよく使っていたのがこんな回路。
Q2
「PST600」はミツミ製。
オープンコレクタなんで、外部からもリセット信号を与えることができます。
その後、消費電流が小さなS-80845(セイコーインスツル)に代替わり。
Q3
リセットスイッチ、コンデンサを直にGNDに落とすんではなく突入電流制限抵抗(100Ωでok)を入れておくと安心。
このあたりの具体例。  私の製作物から。
  (クリックで拡大↓)
R1
    ※この図は1989年10月 PC-9801のOrCADで書いてます。

マイコンは日立の「63701」。
リセットICはPST-520。
    ※プルアップ抵抗は集合抵抗でして、図の範囲外にいます
シュミットで受けて、さらに遅延させてリセット信号を発生。
リセットがLになる前に、NMI信号を発生させて「停電」を通知。
左下にはスーパーCAPによるバックアップ回路。

最近になると、マイコンのデバッグツールが出すリセットパルスを考えておかなくてはなりません。
従来のパワーオンリセット回路につなぐと、リセット時間が長くってデバッグツールが動いてくれません。
そこで、こんな対策をすることになります。
Q4
パワーオンリセットとデバッガからのリセット信号をゲートでOR。
しかしこれは面倒。

そこで、最近はこんなリセットICを使っています。
オープンコレクタ(オープンドレイン)ではなくCMOS出力。
ただし、デバッガーのリセット出力とは直接つなげません。
そこで、間に抵抗を挿入。
デバッガーのリセット信号を優先するようにしときます。
Q5

「BD5345」は、外付けCTでリセット時間が決まります。
もうひとつ、こんなの。
Q6
「STM811」は、リセット時間は内部固定で、外付けのリセットボタンをつなげるようになっています。
最近のリセットIC、いろんな検出電圧のが入手できるんで適材適所で。

| | コメント (5) | トラックバック (0)

2018年6月 5日 (火)

やっぱ、おかしいパナの「HCリレー」

過去記事に何度か登場している松下の「HCリレー」。
今回の修理作業でもおかしなのが出てきました。

21
※過去記事
2010年02月24日:壮絶死#10 接点がパ~になった「松下」のHCリレー

開閉しているのは負荷が「35Wモータ」の出力線と基板内部回路の切り替え。
モータ開閉側のB接点はブレーキ抵抗につながっています。

今回の故障は、このリレーの接触不良で「たまにおかしくなる」という故障が発生。
交換したら正常に。
見た目、接点は汚れていません。
しかし、気になるのがこれ。
22

2回路ある片側の「ベロ」だけが変色。
24

もう片方はキレイなまま。
「ベロ」を挟み込んでいる樹脂から、何かがしみ出してきているようにも見えます。
25
(クリックで拡大↓)
26
基板に実装すると接点があるほうが「下」になるんで、樹脂からの怪しい何かが「降りて」来ているようにも見えるでしょう。
しかし、なぜ、片側のベロだけに・・・

接点の接触抵抗を計ってみましたが、そんなむちゃむちゃな値じゃありません。
23

左上の箱が「1A出力の定電流源」。
四端子法で電圧ドロップを測定して接触抵抗を算出。
ざっとの結果。
・リレー1:
   A1 10m~20mΩ  モータ出力開閉
   B1 9.9~13.8mΩ  B接点はブレーキの抵抗に
   A2 34~150mΩ ←おかしな接点 変色側
   B2 36~120mΩ ←
・リレー2:
   A1 8.8~9.6mΩ
   B1 9.5~16.2mΩ
   A2 14~84mΩ ←
   B2 8.0~8.1mΩ
変色ベロ側の接触抵抗、接点の開閉により大きく変動して、安定しません。
故障の頻度からすると、もっと何度も開閉するような連続テストをしなくちゃならないようですが…

変色側の回路は内部回路につながっているほうで、こっちのほうが接触不良に弱い。
今回のリレー、モータ側の接点は大丈夫そう。
この装置、うちで設計製作したものじゃなく「忘れた頃にやってくる修理依頼品」。
今回のも、10年以上前に作られたもの。
その修理です。
悪いのはリレーだけじゃなく…
   3端子レギュレーターがアウトに
   抵抗の焼損
   トライアックの短絡
   ボリュームが接触不良
   電解コンデンサの寿命
   OP-AMPが飛び
   トランス(電源トランスにトリガ用のパルストランス)断線
などなど、ちょいとしたパワー回路なんで、いろんな故障が発生します。
このダイオードの不良 も同じシリーズの修理対象物です(基板のバージョンは異なるが)
パナのHCリレーに関するトラブル、自分の設計じゃないので深くは追求はしないんですが、やっぱり気になってしまいます。

※オムロンのリレーにかえたいのですが、パナの端子形状が細く(AP332431F)、オムロンのでは基板のスルーホールに入らないのです。

※参考
1A定電流回路  「555」の応用回路です


※追記
どのみち捨ててしまうものだから、可動部をバラして接点ベロの樹脂内の様子を観察しました。
11

右の金属は、通電オンでコイルにくっつく可動鉄片。
そこにも、サビのようなものが浮かんでいます。
フラクタル様な図形・・・
13
いったこれは何?

ベロを保持している樹脂を割ってみると、健全に見えた方(上側)にも変色が見られます。
14

もう一つのほうも。
15

モータの回路を断続している方の接点(上の写真の右上)は消耗していますが、内部回路を切り替えている右下の接点はぱっと見大丈夫そうです。
しかし、下の接点には、左のほうから怪しげな「模様」が近づいています。
樹脂から出た怪しい何かが悪さをしているような気がします。

| | コメント (0) | トラックバック (0)

2018年6月 4日 (月)

磁石でオン/オフ

「磁石」の検出に、使い慣れたホールICを注文しようとしたら、いつのまにか製造中止。
ATS137 : Dig-iKey

10

N極、S極どちらか一方だけを検出する「ユニポーラ」特性になっています。

Mag12

内部はこんな仕掛け(ブロック図)
Z3_
電源電圧3.5~20Vでオープンコレクタ。
保護ダイオードが入っているんで、電源の極性ミスに対して、ちょいと安心。

これを使ったツール、トラ技・2015年2月号 、「私の部品箱」の載せてもらっています。
それがこんな回路。
Z5_
このホールICを使って、磁石のNとSを調べようというものです。
こんな外観。
11
百均の「LEDツリー」にぶら下がる電池ボックスです。
単3電池2本で、パワースイッチ(スライドスイッチ)が付いています。
この、電池1本分のスペースに回路を組み込みました。

12

これの他、こんなツールも作っています。
例えば、何かの回転体に磁石を貼り付けてホールICを近づけると、その回転に同期したオン・オフ信号が得られます。
それをオシロや周波数カウンタで見るためのツールです。
回路図↓
Mag11
これの外観
13

白い2pコネクタ(JST XHコネクタ)から信号を取り出します。
これも単3電池1本で動作。
14

ホールICは箱の先端にくっつけています。
15

磁気ですんで、樹脂は透過するんですが、センサーの裏表が分かるように穴を空けています。
例えば、こんな応用。
ステップモータの回転軸に磁石をぺたり。
18
磁石がセンサーに近づくと、LEDが点灯するとともに、信号がオン。
19
モータ軸が、どのくらいの回転数で回っているか、計ることができます。

ATS137の代替品を探しておかなくてはなりません。
※Diodes IncのホールIC、AH337が新規採用非推奨、
オープンドレインのAH3362、AH3363が現行品のようです。


| | コメント (0) | トラックバック (0)

« 2018年5月 | トップページ | 2018年7月 »