日々の記録

ほどよく書いてきます。

シャント抵抗

2024年07月16日 23時29分01秒 | 電子工作

電流検出のためのシャント抵抗というものがある。

1mΩなどの抵抗で流れる電流をIRドロップにより検出するものだ。

先日横浜エレクトロニクスという会社の製品を見た。表面実装(SMD, Surface Mout Devide)の抵抗体は通常表面(実装したときの最表面)にあるのを裏面(基盤側)にすることで、寄生インダクタンスを抑制するといったものだった。とても興味深いのは、SMD抵抗の高さがインダクタンス成分に結構影響するような状態であることだった。

 

ついで、大電流用のシャント抵抗は電流による発熱がバカに成らないらしく、抵抗体の温度係数が邪魔なときがあるようだ。サーミスタとか、ダイオードとか温度依存性のあるデバイスを隣接させてうまく温度補償ができたら面白いなと思った。

こういったデータがあるので、なんとなく温度にリニアな感じである。そうなると、こいつを相殺するような温度係数を持つデバイスをくっつけてあげたら、温度補償できるのでは無いだろうかと。

 

設計する側からすると温度補正の演算をせずに、素直にIRドロップだとみなせるような設計ができるといいのだが、そんなにうまいこと行くようなデバイスあるかなあ。ミリΩレベルのサーミスタ作れたら補償できるかな。

 

コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

住まい

2024年07月16日 23時05分48秒 | その他雑記

実家から離れたところでマンションを買った。中古で。

親元を離れ、子育てをしていると思うが、親は色々頑張ってくれてたんだなって思う。生きているうちに孝行しないといけないなと切に思う。

現在中古マンションを購入して生活しているが、ある程度老朽化してきた段階を考えると、マンションがいいのか戸建てがいいのかと再度考えることが多い。

 

戸建ての良い所は、決定権がすべて自分にある所である。修繕やら改造やら誰も反対しない。

マンションの良い所は、セキュリティーが良かったり、天井が熱くないとか、売却しやすいとかかな。

 

戸建ての悪いところは余り思いつかないが、都会だと土地が高いと言った所か。

マンションの悪い所は、経年劣化の修繕が高額なので年数が経過するほど維持管理にコストがかかっていくこと、建て直しが大掛かり過ぎて誰も判断できなくてどこかで詰みそうな所。

 

友人と話して思うのだが、家は二度立てろみたいな格言があるようで、確かにと思う。戸建てもマンションも住んで見ないとわからないことがあるので、色々経験しないといけないなと。
戸建てを買った友人は、風呂などにもう少しコストをかければ良かったとか、それなりに思う所があるようだ。

 

築20年ほどのマンションを買って思うのは、
・10年くらいのマンションを中古で買って生活の上で必要なことを把握する
・ある程度生活の理想や、子供の成長で部屋がほしいみたいな具体的な生活が見えてきたら戸建てに引っ越し
 (当該時期にマンションの資産価値が高いという期待による)
・戸建てかっていい感じに生活する
 (子供が独立したら、あとは自分の城になる、な感じ)

なのかなー。

コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ステンレス包丁

2024年07月12日 21時52分54秒 | その他雑記

ステンレスの包丁を買った。安田刃物の関虎徹V金10号三徳包丁180mm

8360円なり。

同梱されていた説明書に720HVと書いてあり、61HRCほどの硬さであることがわかる。職業柄HVのほうが理解しやすい。

切れ味は、思いの外というか、だいぶよくて、結構すっと切れていく。刃先がとても鋭利というわけではないのだが、刃がスルスルと入っていく感じ。不思議である。

まあ、いままで使っていた2000円くらいの包丁よりはだいぶいいだろうな。

 

鍔のところを見ると鍔は接合で別の材料を持ってきているようだ。もうちょっと高い包丁だと鍛造で盛り上げていたりして刃物と鍔の隙間がないものがある。ここに塩が溜まったりして錆びてこなければ良いが・・・

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

メモ ステンレス包丁の組成

2024年06月30日 09時27分48秒 | AVR

ステンレスの包丁を選ぼうと思っているが、組成が気になった。
だいたい炭素1%の材料で、炭化物吐き出しで固くなる類のものを使っているようだ。

  C Mn Si Cr Mo V Co Ni Cu
V10 0.95-1.05 0.3-0.5 <0.35 14.5-15.5 0.8-1.2 0.25-0.35 1.3-1.8 <0.25 <0.25
銀3 0.95-1.1 0.6-1.0 <0.35 13.0-14.5          
V1 0.95-1.05 <0.5 <0.5 13.0-15.0 0.3-0.5     <0.25 <0.25
AUS10 0.95-1.1 <1.0 <1.0 13.0-14.5 0.1-0.3 0.1-0.25   <0.50  
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

IIRフィルタの位相

2024年06月22日 23時13分03秒 | プログラム

FFTフィルタではなく、IIRフィルタを使った場合のLPFを試してみた。

次数が大きくなるほど位相遅れが大きくなり、下記では12次までやってみたが、14次は計算が破綻した(位相が1周ひっくり返るからかな)

 

例えば2次だと普通に2次のLPFですね(下はFFT後の縦軸がdBになってないです)

8次のフィルタだと位相は反転しているくらいの遅れが見られますね。ふむふむ。

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

FFTフィルタの位相シフト

2024年06月16日 22時49分10秒 | プログラム

FFTして周波数帯域をカットしてからの逆FFTで信号を戻す作戦。

単純な波形においては問題がなさそうである。

3倍高調波である75Hzまで入れると・・・(カットは100Hzで)
25Hzも75Hzも大丈夫そうな感じではある。

コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Pythonで三角波

2024年06月16日 21時01分39秒 | プログラム

pythonは配列の要素にアクセスせず、配列のまま計算できるのが良い所である。

import numpy as np
import matplotlib.pyplot as plt

freq = 1.0 #周波数として
 
time=np.arange(0.000,0.001*2**10,0.001) #時間の配列を作る
Signal = np.sin(2 * np.pi * freq * time) #正弦波を作る
 
plt.plot(time,Signal)
plt.show()
 
次のような配列要素ごとの計算をしなくて良いので、記述がやや楽。
for i = 0 to Ubound(time())
    Signal(i) = sin(2 * pi() * freq * time(i))
next i
 
 
正弦波は単一周波数しか含まれないので、矩形波や三角波を作ろうと思うと・・・・
 
import numpy as np
import matplotlib.pyplot as plt

freq = 2.0 #周波数として
time=np.arange(0.000,0.001*2**10,0.001) #時間の配列を作る

Signal = (time * freq) % 1  #余りを求める
 
plt.plot(time,Signal)  
plt.show()
 
これを0.5ずらして絶対値とったら三角波ですかね。
 
import numpy as np
import matplotlib.pyplot as plt

freq = 2.0 #周波数として
time=np.arange(0.000,0.001*2**11,0.001) #時間の配列を作る

Signal = 1-np.abs((time * freq/2) % 1-0.5)*2

plt.plot(time,Signal)
plt.show()
 
 
のこぎり波など不連続データが多いと周波数帯域が非常に高い所まで必要になるので、一旦三角波を使ってフィルタ特性を見てみようか、な。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

デジタル処理によるLPFその後

2024年06月09日 22時00分11秒 | プログラム

検証はFFTをするためにデータサイズを2のべき乗の数にしているが、実際の信号はそんなに都合よくデータ数がないので、最後はFIRフィルタとかIIRフィルタとかを作って連続信号に対して処理できればいいかな、なんて思い始めている。

 

入力信号は25Hzで振幅1の正弦波に60Hzで振幅0.5の正弦波を加算したものである。

SignalF = 25.0
SignalA = 1.0
NoiseF = 60.0
NoiseA = 0.5
time=np.arange(0.000,0.001*2**12,0.001)
SignalSUM = SignalA * np.sin(2*np.pi*SignalF*time) + NoiseA * np.sin(2*np.pi*NoiseF*time)
 

左上の入力信号をFFTして、左下のようなグラフを得る。
左下のグラフの60Hzの山をカットして右下の周波数特性を得る。
その信号を逆FFTして、波形に戻すとローパスされた信号が得られる。

 

ノイズの信号を大きくしていったらどうなるのかなと思って信号振幅を変えてみた。

 

信号:ノイズ=1:1

信号:ノイズ=1:10、なんとかなる。

 

信号:ノイズ=1:100 FFTで一律ゼロにする部分がうまく行かないので信号が歪んでくる。
40Hzでスパッと切っているのだが、40Hzの階段が40Hzのノイズを与えてしまうので、しょうがない。

 

 

import numpy as np
import matplotlib.pyplot as plt
#from scipy import signal
import csv
SignalF = 25.0
SignalA = 1.0
NoiseF = 60.0
NoiseA = 100.0
GAmp = SignalA+ NoiseA
time=np.arange(0.000,0.001*2**12,0.001)
SignalSUM = SignalA * np.sin(2*np.pi*SignalF*time) + NoiseA * np.sin(2*np.pi*NoiseF*time)
#plt.plot(time,SignalSUM, '-')

F=np.fft.fft(SignalSUM)
freq = np.linspace(0, 1000, len(time))

Fc= int(40 * len(time)/1000)
Fmod = F.copy()
Fmod[Fc:(len(time)-Fc)]=0+0j

#plt.plot(freq,F)
#plt.xlim(0,80)

G=np.fft.ifft(Fmod)

ax1 = plt.subplot(2,2,1)
ax1.plot(time, SignalSUM, "-")
ax2 = plt.subplot(2,2,2)
ax2.plot(time, G , "-")
ax1.set_xlim(0,0.5)
ax2.set_xlim(0,0.5)
ax1.set_ylim(-GAmp,GAmp)
ax2.set_ylim(-GAmp/10,GAmp/10)

ax3=plt.subplot(2,2,3)
ax3.plot(freq, F)
ax3.set_xlim(0,100)
#ax3.set_ylim(-100,100)
ax4=plt.subplot(2,2,4)
ax4.plot(freq, Fmod)
ax4.set_xlim(0,100)
#ax4.set_ylim(-10,10)


print(len(time))

plt.show()
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ハムノイズ

2024年06月06日 00時57分57秒 | その他雑記

1kHzで取得したデータを見ていると正弦波に隠れて別の信号が入っているようだ。これはハムノイズではないかな?

ということで、除去の方法を考えてみた。

試験周波数は25Hzでハムノイズは60Hzなので約2倍の周波数の隔たりが有る。

一次のLPFでカットオフ周波数を25Hzにすると、25Hzでは-3dBで60Hzでは-8dBくらい。うーん。一次のLPFではちょっと厳しいな。

 

などと思っているときに気がついた。デジタルデータなんだから、デジタル処理しちゃえばいいじゃないかと。FFTして高周波カットしてから逆FFTなどやり方はいくつかありそうだな。

ためしてみよう。

 

試すためにももとデータがないので、一旦ダミーでデータを作ってみようとなった。
25Hzの信号に60Hzのハムノイズが重畳している状態を作ってみる。
最近流行っているPythonなるものに手をだしてみた。

 

 

上のグラフだとわかりにくいが、時間を伸ばしていくと、測定したい25Hzの信号に60Hzの信号が乗ることで各サイクルのピークトップがぶれている。これが今データ処理で問題なのでダミー信号の再現はうまく言っている。

 

データ数を4096個にしてからFFTをかけてみると、ちゃんと25Hzと60Hzに信号が出てきている。
60Hzの信号を消して逆FFTしたらアナログ回路では実現できないような急峻なフィルタ特性が得られるに違いない。

 

50Hzくらいから高周波をカットして

 

逆FFTをすることで戻ってくる。ピークトップの振動がなくなっているようである。



 

端部においては高周波成分があるので、歪みが生じるが、気にならない。


 

多少時間が経過した後はきれいな波形になっているようである。

 

 

ちょっとPythonを触ってみた感じでは、配列をそのまま引数にして関数に作用できる点が良い。
例えばtime[] = 0,0.01,0.02,0.03,,,, 0.99のように0.01刻みで100個有る配列から例えば、
for i = 0 to 99
     signal = A * frequecy * time[i]
next i
とやって個別に要素を計算する必要がありそうなものだが、
signal = A*Frequency*time
でループを回した計算が実施できる。

そのへんが使い勝手良さそうだ。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

1kHzログその後

2024年06月03日 23時39分21秒 | その他雑記

1kHzのログデータその後ですが、なんとかなりそうな感じですね。

さすが高級キーエンスのデータロガー。1kHzサンプリングデータでも後からデータ圧縮として、1000個のデータの最大値最小値を出力できるので、とりあえずキーエンス純正のデータフォーマットで保存しておき、後から変換をすると大丈夫。

端的にはこれがオチなのですが、繊細な歪を扱うとハムノイズとかも除去したくなるので、一旦たくさんのデジタルデータを残しておいて、最後にIIRフィルタみたいな急峻なフィルタで試験周波数の25Hzと60Hzをうまく分離したほうがいいのかな、なんて思っています。

キーエンスのデータロガーはなかなか良い使い勝手でさすが高級品と思えます。

 

一方で疲労試験機はロードセルのアンプがシールドなしにインバーターと同じ空間に設置されているなど結構ノイズがひどい(出力にオシロをつないでも高周波ノイズたくさん)ので、プロトタイプっぽい時代に買ったものなのかなって思いました。装置は25Hzまでの試験なのでLPF入れたらある程度良いとはいえ、もうちょっとノイズ気にしようよって思った。

 

備忘:
キーエンスのデータロガー、軽くて良いのだが、軽すぎる。設置しておいてもひょんな接触でうごいちゃうので配線がちょっとスパゲッティに成りがちな時にショートリスクあり。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

データログ

2024年06月01日 08時14分29秒 | その他雑記

ちょっとしたことで、疲労試験のデータをとったが、1kHzサンプリングするととんでもないことになる。

実験前に十分わかってはいたが、毎秒1000行のデータが出てくるので、10時間も試験したら3600万行になる。もちろんエクセルでは開けないので処理に困る。200万行ごとのデータが30個あったので、結果的には6000万行程あったのかな。合計ファイルサイズ2.5GB。

エクセルマクロで処理して片付けたのだが、なかなか手間がかかった。

25Hzで振動する装置振幅のピークを検出してデータログしたいという思惑があったのだが、ピークホールド回路などを作る前にデジタル的に記録して後から処理、というようになったのだが、やっぱりピークホールド回路つくって、高速サンプリングじゃなく、低速のサンプリングでなんとかするようにしよう。

装置の出力は300mVくらいしかなく、インバーターノイズも入っているので。

・ローパスフィルタでのノイズ除去
・場合によっては増幅回路(後のデータロガーで扱いやすい電圧に)
・ピークホールド回路(とリセット回路)

こんなところからやっていこうかな。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

保育の現場

2024年05月30日 00時02分00秒 | その他雑記

子供が生まれ、保育園に子供を通わせている一人の親として。

子供が毎日保育園で楽しそうにしているのはとても喜ばしいし、毎週泥だらけの靴を見て、楽しく遊んだなーって思い充実した保育園生活を送っているのだろうと思っています。

人との付き合い方の勉強、友たちとの喧嘩や一つしか無いおもちゃの取り合い、我慢を覚えるとか、家だとつい甘やかしちゃうところなんかも結構身につけているみたいでとても嬉しい。

子供の幸せを願っている親としてはとても良い環境だなと思っています。

 

子供の幸せを支える保育士の人、保育園運営の法人なども皆子供を通して幸せであってほしいとも思っていますが、実際の保育士の待遇(職務の大変さであったり給与面であったり)については、世間の企業からみてもおそらく遅れている部分が多分にあるとも思っています。

保育園にもPTAみたいな組織があって、一緒に楽しく盛り上げていこうね、という思いがある反面、やはり保育士の処遇に目を向けざるを得ない状況も多々生じています。

保育士というのは、若い人が子供と触れ合う、育てる仕事として憧れであったりそういったイメージで就く職業ではあるものの、一般にはサービス残業とみなされること、過剰なストレスであったり、心無い父母の言葉に神経をすり減らしつつも、給与面では優遇されていない実情があります。

子供手当などの増額を政府が言っていたりしますが、子供に目線を向けるだけではなく、子供を支えている教職員の処遇を良くしていかないと若い人が継続してその職に着いてくれなくなり、将来的には次世代を育てる機能が失われつつあるのではないかとも危惧しています。

 

こども誰でも通園制度といったものの整備もされていますが、これはあくまでも親の目線のようで、「子供を預けやすい」といった目線でしかないという批判もあります。確かに保育は親の仕事継続といった目線もありますが、制度を拡大解釈すれば、親がどこかに遊びに行くために子供を一時的に知らない保育園に預ける、といったことになりますが、それは子供にどういった影響を与えるのかの議論が足りないようです。

自身が小さいとき、それが祖父母の家であっても見知らぬ土地である感じがありました。知らない保育園に預けられるというのは未知の世界にいきなり放り込まれるようなものですので、子供にとっては相当なストレスでしょう。

通っている保育園は一時保育といって、決まった保育園だが、一時的に預かってくれるという制度に力を入れています。見知った友達、見知った保育士、安心できる環境が保育の要であるとのことです。

こうした環境を維持していくのにも、やはり子供に関わる職業の処遇については改善をしていってほしいなと思っています。

 

自分の子供が健康に、幸せに育ち、またそれが継続的に発揮されるために何ができるのか、20年後、30年後の社会を支える世代への投資だと思うので、この辺を社会がなんとかしてほしいなとも思いますが、できることは少ないですね。少ないから諦めるのもまた違うので、小さくてもできることをやっていこうと思いました。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

お風呂の温度

2024年05月25日 02時26分53秒 | その他雑記

お風呂のリフォームをした。浴室は新築以来20年ぶりの新品にリニューアル。

古いお風呂は解体のときに気がついたが、あまり断熱材が使われていなかった。新しい浴槽は発泡材で囲まれておりかなり保温性が良さそうである。

以前思い立って、グラフテックの10chデータロガーをヤフオクでポチっていたので、お湯の温度を計測してみた。

しかし、測定したのは新しい浴槽のみで、古い浴槽のデータはない。

 

湯張り量は160Lで、縦軸に湯の温度、横軸に保温を止めてからの時間をプロット。データは10秒ごとに取得し、翌日のお風呂の準備までの約20時間のデータを取得した。気温は約22℃であった。お風呂の換気は実施している。

なにかの間違いかと思ったが、20時間経過しても35℃程であった。前の浴槽なら確実に常温になっていた。いや保温を切手から数時間で浴槽のしたは冷えていた。

もしかしたら対流が止まっているだけで、下の方は冷えているだろうと思って保温7時間くらい(翌朝)で浴槽をかき混ぜたが、温度は変わらなかった。

表面積はなんとも言えないが、160kgの水は160E3[g]×4.2[J/K/g]=6.72E5[J/K]の熱容量を持つ。12時間で4℃、毎時1/3℃なので、一時間に失うエネルギーは224000[J]程。これは3600秒での出来事なので、放熱量にすると、62[W]ほどの放熱となる。

 

計算してみてわかったが60Wってどんなもんなんだろうか。裏を返すと、60Wのヒーターで温度を維持できるとも言えるので、結構な保温性なのではないだろうか。

 

測定:K熱電対(Aliexpressで買った)+グラフテック GL220

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

鉄の膨張

2024年05月22日 23時16分52秒 | その他雑記

鉄鋼、特に高炭素の鋼にはちょっと面白い特性がある。

焼入れ焼戻しをした鋼がゆっくりと膨張してくるのである。

具体的な鋼材を上げると、SUJ2やSK、SKSやSKDなどで、焼入れした状態で残留オーステナイトが存在する場合にこの膨張が生じる。

オーステナイトは面心立法(FCC)なので、密度が高い。対して焼入れしたマルテンサイトやフェライトパーライトは体心立法(BCC)なのでやや密度が低い。

材料を焼入れするとオーステナイトからマルテンサイトに変態するが、炭素量が多いとマルテンサイト変態終了温度が常温以下になるので、水焼入れなどではマルテンサイト変態が完了せず、オーステナイト相のまま残留するものがいる。

この残留オーステナイトは密度がやや高いのだが、常温では不安定なので、段々とマルテンサイトに分解していく。このときに密度低下が生じるため、体積ば膨張する。

硬い材料としては、物差しや直角定規など摩擦に耐えて長期間の耐久性がほしいものに工具鋼などが使われるが、この残留オーステナイトをうまく処理しないと寸法安定性が悪く、長期の精度が担保できないという問題がある。

先人はこれを解決する方法を考えており、常温以下まで冷やすことで残留オーステナイトをマルテンサイト変態させる、サブゼロ処理というものを考えた。

 

高炭素の鋼の熱処理で特に高精度が要求されるものについては、サブゼロ処理を入れるなどして寸法安定性を担保されたし。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MathJax

2024年04月20日 01時08分52秒 | プログラム

MathJaxというものがある。TeXで数式をキレイに書いてくれるものである。

MathJaxを読み込んで終わりではあまり面白くないので、tex形式で入力した式を書いてくれるグッズを作ってみた。ChatGPTで。

仕事でちょっとほしかったのだが、悩んでいてそうだ、こういうのこそChatGPTだとおもって作ってもらったらあっさりできた。

 

 

〜〜〜以下HTMLコード〜〜〜〜

<!DOCTYPE html>
<html>
<head>
    <title>MathJax TeX Test Page</title>
    <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
    <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body>
    <textarea id="math" rows="4" cols="50"></textarea>
   


    <button onclick="renderMath()">Render</button>

    <script>
        function renderMath() {
            var math = document.getElementById('math').value;
            var output = document.getElementById('output');
            output.innerHTML = '';
            MathJax.texReset();
            var options = MathJax.getMetricsFor(output);
            options.display = true;
            MathJax.tex2chtmlPromise(math, options).then(function (node) {
                output.appendChild(node);
                MathJax.startup.document.clear();
                MathJax.startup.document.updateDocument();
            });
        }
    </script>
</body>
</html>

コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする