2025年1月24日金曜日

3.3Vロジック信号から5Vロジック信号への変換

 昨今、マイコンを含む各種ICにて3.3V動作品が増えてきました。
しかしながら5V動作のICも健在です。
すると当然、3.3V信号で5V動作のICを押す必要も出てくるわけでして、
レベル変換の知識が必要となってきます。

今回はそれに関するお話。

3.3V動作のマイコンで5V系ロジックICを押す場合、
もっとも簡単なのは74HCT等のTTLレベル入力のICを使う方法。





上記のような構成で、簡単にレベル変換が可能ですね。

さて、ここからが本題。

何かしらの事情で、74HCTではなく74LS等のTTLロジックを繋ぐ必要が出た場合は??




 

 74HCTを74LSに置き換えたのが上記の図。
一見、これで問題無いに見えますが、実は注意すべき点が存在します。

それは、TTLロジックからの流出電流

74HCTの場合は入力インピータンスが高いので、
特に気にする必要ありませんでしたが、TTLロジックだとそうはいきません。

TTLロジックの入力部は以下の様な感じになっています。



 

 

 

入力がHの時はほとんど電流が流れませんが、
入力がLの時は、トランジスターのベースから電流が流れてくるのが解りますね。

この図を最初の方の全体図と合体させると こんな感じに。






 


これだと、マイコン出力がHの際、
この信号線の電圧が3.3Vをオーバーしてしまうのが、お解りいただけますね?

僅かに3.3Vをオーバーする位ならば 大した問題にはならないと思いますが、
仮に4V近くまで上昇したりすると、看過できない問題になってきます。

ちなみにどの位 上昇するかは、TTLロジックからの流出電流量と、
3.3Vプルアップ抵抗値次第です。
抵抗値が低ければ、上昇量を抑える事ができますが、
それでも3.3Vを超えてしまうのは間違いないわけで、
あまり好ましい状態ではありません。

 

そこで、お勧めしたい方法がこれ。


 

 

 

 

3.3Vプルアップの代わりに、プルダウンする方法です。 

プルダウン抵抗値が高いと効き目が悪いので、4.7KΩ位がいいでしょう。
74F等の高速ロジックICの場合には もっと抵抗値を下げたいところですが、
するとマイコンの出力段に対する負荷が大きくなってしまい、
消費電流も増えてしまう点に留意が必要でしょう。

ちなみに74F等の高速ロジックICは、74LS等に比べて流出電流が多い傾向です。



まぁ専用のレベル変換ICを使えば、こんな面倒な事を考えずに済むのですが(笑)

2025年1月21日火曜日

SOP8P-DIP1

 変換基板の新作です。
1.27mmピッチのSOPをDIPへ変換する基板です。


 

 

 

左が表面、右が裏面 






 こんなの、巷にいっぱい存在するじゃん、と思われるでしょうが、
これだ!!と思う製品が無くて、自分で作ってしまいました。

既存品での不満点は主に以下の2つ。
 1.ビアにレジストが被っていない。
 2.パターンが細い。

ビアのレジストは必須というわけではありません。
試作開発用基板の場合、基板に改造を加える事が多々あるので、
そのような場合にはビアが露出してると助かる場合があります。
しかし製品基板の場合は露出しているビアは百害あって一利なし。

ビアよりも大きな問題点は2つ目のパターン幅。
ロジックICのような低速デジタル回路の場合は大して問題にならないかと。
しかしアナログ回路の場合には、細いパターンは気になってくるわけです。
デジタル回路の場合でも信号線はともかく、
電源パターンが細いと動作不安定の原因になってくるわけですね。

しかしこの手の変換基板では、どのパターンが電源線になるかは未定。
なので、どのパターンも一様に太くなってる必要があるわけです。


そんなわけで、作ってみたのが この基板。
材質はFR-4です。

厚みは1.0mm。
変換基板内のパターン長を抑えつつ、基板自体の強度もある程度確保し、
基板単価も抑えられるという厚みです。

表面処理は鉛ハンダレベラー処理です。
これも単価を抑える為ですが、鉛フリー用の需要が出てきた場合は、
金フラッシュメッキ品の製作を検討しようかと。
鉛フリーハンダレベラー処理品も製作可能ですが、
長期保存に向かないので、今回の様に長期在庫になりそうな基板には不適です。

 

DIP側のソケットは秋月電子で売ってる2227P-08G-03-L2を想定してます。
このソケットは変換基板側の飛び出しが少なくて済むので、
まさに変換基板向けと言えるでしょう。

 

機会があれば、頒布したいと考えてますが、
現時点ではその機会がありません。
もしご興味持たれた方は、直接ご連絡をお願いします。

この基板は原価が非常に安い為、1枚ずつの頒布はどうかと思うので、
2~4枚セットでの頒布を考えております。

ソケットは秋月電子で購入できることから調達は容易なので、
基板のみでも構わないかな?考えてますが、
要望があればソケット付きも有りかなと・・・・・・

2025年1月14日火曜日

窓からの冷気

 ここ最近の作業で、非常に激しい肩こりが発生し、難儀しております。
筋肉疲労は寝ればある程度回復するわけですが、
その就寝環境にちょっと問題がありまして・・・・・

現在の寝室の配置では、頭の先に窓が有るように布団を敷いてます。
問題は窓から降りてくる冷気。
これが寝てる私の頭と肩に直撃するわけですね。

冬場の一時期だけの問題だったので、今までスルーしてきたわけですが、
ここにきて その問題が大きくなってしまったいうわけ。


布団の配置を変えるのは ちょっと難しいもんで、
次に考えられるのは窓への対策。

2重窓へ置き換えられればベストですが、
費用を考えると ちょっと・・・・ね。

その代わり、お手軽に可能な対策としては、
窓の内側に断熱になるものを貼るという方法。

スタイロフォームの様な専用の断熱材もありますが、
発泡スチロールでも結構効果はあります。
ただ、どちらも光を通さないので、窓からの採光が阻害されてしまいます。

上記に比べてお手軽なのがエアーキャップ、通称ぷちぷちです。
断熱能力は劣ってしまいますが、安価で貼りやすく、ある程度は光も通ります。
なので今回は これで対処しようかと思ってるわけでして、
こんな時間にも関わらず、寝室の窓周りで作業開始。(笑)

貼りつけられそうなメドは立ちましたが、問題はエアーキャップ。
うちには帯電防止タイプのピンク色の物しかありません。
これを貼ったら、朝の光が いいムードに・・・・・ orz

さて、どうしましょうかねぇ。

2025年1月5日日曜日

3Dプリンターの歪み

 うちに2台目の3Dプリンターである、Sermoon D1が導入されてから、
既に約3年経過しています。
導入直後は色々トラブルが続出し、1台目の3DプリンターであるidBOXが
手放せない状況でした。

しかしながら現在はSermoon D1がかなり安定し、
idBOXの出番はほとんど無い状況となっております。

しかし、今更という感じではあるのですが、
Sermoon D1で出力した治具が歪んでるという事態が発生。
要対処案件勃発というわけです。


今回の歪みはX軸とY軸の交差角度について。
これは当然ながら90度でなければなりません。

しかし今回出力した治具が、ターゲットの板金パーツと微妙に合わないのが発覚。
設計上は直角になってる箇所が90度からズレていることが判ったのでした。

CAD上の設計データーは当然直角になっているので、
これが90度からズレるのは、出力した3Dプリンターの問題でしょう。

実は以前、下の様な形状を出力し、寸法を測定したことが有りました。








 

縦横20cmの正方形です。
真上から見た状態で、厚みは4mmとなっています。

これを出力し、4辺の長さを測ることで、
出力品の寸法誤差をおおよそ把握することができます。
誤差の原因は複数ありえますが、ABSの収縮による誤差が一番に考えられるかと。

これを基に、今まで出力品の寸法調整を行ってきたわけですが、
残念ながら直角がきちんと出ているかまでは確認していませんでした。

理由は単純で、この正方形の角の角度を正確に測るには、
それなりの道具が必要だからです。

XY軸の交差角度は3Dプリンターの組立精度依存が大きいです。
自分で組立てる場合は、当然留意しなければならないポイント。
しかしこのSermoon D1は組み立て済みプリンター。
当然ながら、ある程度まで調整済と解釈していました。

しかし今回のように、目に見えてズレが確認できたとなると、
改めて交差角度の具合を調べる必要がありますね。

 

では実際に確認方法ですが、先の図のような四角形を出力し、
その角度を測る方法もありますが、測定道具が高い!!
万札が飛ぶ覚悟が必要となっちゃいます。

単に直角になっているかを調べるだけならば、
大工道具でおなじみの角尺を使う手もあります。
これならば5千円程度済みます。
しかしこれだと、直角からズレているのは解っても、
どのくらいズレているかまでは把握できない点に要注意です。


そこで私が使った方法は、まず下の図のものを出力します。







 

 

はい、単純なバッテン形状です。
四角形の対角線の長さを見てやろうというもの。

私が出力したものは、対角の長さが30cmというサイズ。
出力物を実測したところ、対角線長が数mm合いませんでした。

実測値を参考にCADで形状を描いてみたところ、
XY軸が交差角度が約0.4度ズレてる模様。

たかが0.4度か、と言いたいところですが、
20~30cmくらいの出力物だと、これで数mmの歪みが出てしまうのです。
案外バカに出来ません。


おおまかなズレ角度と共に、歪みの寸法も把握できたことで、
どれくらい修正すれば良いのかが目に見えてきました。

さてでは実際にSermoon D1を修正してみることにしましょう。

Sermoon D1はX軸方向のロッドが本体の前後に2本走ってる上に、
Y軸方向のロッドを2本並べたユニットが載っており、
そのユニットにヘッド部が取り付けられております。



 

 

 

 

 

 

 

X軸のロッドは本体フレームにガッチリ固定されているので、
こちらを調整するのはほぼ不可能です。
従って調整するとしたらY軸の方。

ではY軸の傾きを調整するには??
実はこれ、そんなに難しくないんですね。
先にも書きましたが、Y軸ユニットはX軸ロット上に載ってまして、
Y軸ユニットを左右に動かすのは、X軸ロットのすぐ上に有るベルトなんです。

先の写真だと奥側のベルトしか見えてませんが、
手前側のロットの上にもベルトが存在します。
つまり、前後のベルトの位置をズラすことで、Y軸の傾きが変えられます。

わざわざ奥側のベルトに手を付ける必要は無いので、
調整は手前側のベルトを使うことにします。








 

 

3Dプリンター内部から撮った写真です。
Y軸はステッピングモーターに繋がったドライブシャフト1本で駆動されています。
このドライブシャフトの前後にプーリー(赤丸の個所)が取り付けられ、
前後のベルトをそれぞれ動かしています。

前側のプーリーの留めネジを緩め、少し回してやることで、
Y軸の傾きを変えてやることができます。
ただし、Y軸ロットの固定部に力が加わることになるので、
大幅に変更することはできません。
せいぜい5mm位が限度かな。

次に問題になるとしたら、調整位置決めです。
XY軸の歪みを解決したいのですから、
X軸ロットとY軸ロットの交差角度を測りながら調整するのが本筋です。
しかしこれ、現実的ではありません。
専用の治具と、それなりの測定器が無いと測れないからです。

結局、フレームをベースに合わせる感じで妥協することにしました。
X軸ロットが固定されているフレームからの距離を揃えることで、
Y軸の歪みを修正してみようというものです。

ただこれ、フレームが歪んでいないという前提が必要です。

先のバッテン形状の出力で、具体的なズレ寸法が大まかに把握できました。
実際にユニット部とフレームとの距離を測ってみると、
だいたいその数値と合うことが判明。
もしそうなら、フレームはあまり歪んでいないという話になります。

それを期待して、フレームからからの距離を揃えるように、
ユニットの前側位置を微調整してみました。
ちなみに前側ベルトのプーリーは2本のイモネジで固定されていますが、
2本ともあまり強く締められていませんでした。
調整しやすいように、ということだったのかは謎ですが、
本来組立時に1度だけ調整すれば済む箇所ですので、
しっかり締めていて欲しいところです。
(この辺は中華クオリティなのかな)


さていざテスト出力です。
先と同じ、バッテン形状を出力してみます。
すると、ほとんど対角線長誤差が無くなりました。
実勢、ゼロではないはずなのですが、0.5mmも無い感じです。
この位になると、ノギス等の測定器じゃないと正確に測れませんが、
うちにはそんな大きなノギスはありません(笑)

ともかく、各段に歪みが減ったことは間違いありません。
実際に最初に問題になった治具を再出力してみましたが、バッチリでした。

 

 

歪み問題は解決しましたが、ついでもう1つ情報を。

一般的なFFF式プリンターではPLAやABS等の樹脂を使います。
これを200℃位の高温で溶かして造形するわけですが、
その後は常温まで冷やすわけでして、すると当然、冷却収縮が発生します。

収縮が問題ならない用途も存在しますが、
治具等のように寸法精度が必要な用途では問題になってきます。

収縮を見越してCAD上の設計サイズに折り込む手や、
3Dプリンター出力時の造形サイズ倍率を手動変更といった方法で、
対処することも可能ですが、
私も愛用しているPrusaSlicerに、これに対する補正機能が搭載されました。








 

フィラメント設定のモード||アドバンストの項目内に、
上記のような設定が存在します。

初期値は0%ですので、補正値は自分で用意する必要があります。

方法は単純で、各自の3Dプリンターの出力可能サイズ内で、
なるべく大きな四角形を出力し、その寸法を実測して補正値を計算するだけです。

私の場合は20cm角の正方形を出力しました。
ABSでは実測値が約199mmでしたので、補正値は0.5%という結論です。

ちなみにこれ、Polymaker社のPolyLiteABSによるもの。
メーカーや品種が変われば補正値も変わる可能性ありますのでご注意を。

一応念のため、PolyTerraPLAでも測ってみましたが、
実測値で約199.6mmくらいでした。
PLAはABSと比べ、収縮は少ない感じです。
でも折角なので、ちょこっとだけ補正を入れておきました。


上の図ではZ軸方向にも補正値が入っています。
これも当然ながら実測結果に基づいた値を入れる必要があるわけですが、
Z軸方向は被測定物の出力から大変なので、あまりお勧めは出来かねるかも。
一応試してみましたが、手間に対して割りが合わない感じなので、
私はこれ以上深追いしない予定です。

2024年12月31日火曜日

差動信号通信の実験

RS-422を初め、差動信号によるシリアル通信は多用されております。
私もセンサーのデーター等で結構使用しております。

そのRS-422やRS-485と言った差動通信ですが、
実際どこまでの速度に耐えられるか?と問われ、
即答できる方は案外少ないのではないでしょうか?

 

同環境で速度を上げていった場合、
ある速度を境にいきなり通信が不可になる、なんて訳は無く、
実際に段々とエラー率が上がっていく、という状態になるでしょう。

ですので、エラー検出/修復を目的としたプロトコル変調をかければ、
限界速度はガッツリ上がるのではないかと予測されます。

しかしそれは小規模マイコンでは非常に負担の大きい話ですので、
実際のところ、私もデーターを素のまま送受信しているのが実情です。

さて、その環境下にて、どこまでの速度がいけるか、
というのは実際に試してみるのが手っ取り早いわけです。
これが今回の実験の主旨です。


早速、今回の実験の接続図がこれです。



差動トランシーバーであるLTC2862-2同士を接続し、
片方から連続でアスキーデーターを送出。
反対側で受けたデーターをRS-232へ変換してパソコンで表示します。
厳密なエラー率を測定するのが目的ではないので、今回はこれで十分かと。


今回使用しているLTC2862は私が愛用している差動トランシーバーの1つ。
差動信号のトランスミッターとレシーバーが内部接続されている、
半二重通信用のICです。

同一通信ライン上に256個のデバイスをぶら下げることが可能です。
電源電圧は3Vから動作可能なので、3.3V動作のマイコンと直結動作できます。

差動トランシーバーは世の中に沢山存在しておりますね。
オーソドックスなところではSN75176辺りでしょうか。
この手のICは5V動作で、通信速度も結構高速です。
しかし、入力インピーダンスの点であまり多くのデバイスをぶら下げられません。
ということで、当方ではあまり使っていないICです。


先の図を見て気付かれた方もいらっしゃるかもしれませんが、
LTC2862の後ろに-2というのが付いています。
これは通信速度制限でして、-2が付いているとMAX250kbpsです。
ちなみに-1が付いていると制限無し品で、MAX20Mbpsとなります。

うちで在庫しているのは全て速度制限品です。
大は小を兼ねると言いますが、ノイズ耐性やEMIの観点を考慮すると、
超高速通信が必要な案件以外、速度制限品を使った方が無難です。


通信線は当然、ツイストペア線が必要ですが、
今回はUL1007の電線を自分で撚った、自作ツイスト線を使用します。
ケーブル加工されたツイストペアケーブルも持っていますし、
実際の案件では そちらを使う事がほとんどです。

自作ツイスト線ならば既成ケーブルよりも条件が同等もしくは悪いでしょうから、
テストとしてはむしろ好ましいかなと。
まぁテストに使うケーブル代を抑えるという意味もありますが(笑)

 

最後にLTC2862への給電は送受とも3.3Vです。

ということで早速試してみます。

まずは9600bps。
私が差動通信でよく使う速度です。
結果は全く問題無し。
まぁ予想通りという感じです。

次は19200bps。
これも全く問題無し。

次に38400bps。
もしかしたら少し怪しくなってくるかな?という予想に反し、全く問題無し。
この速度で安定してるということは、9600bps程度なら超余裕状態の様ですね。

さてまだ上げてみます。
次は57600bps。
38400bpsからの上げ幅は少ないのですが、
モニターしてるパソコンのRS-232のボーレート設定の都合です。
結果はこれも全く問題無し。

次は115200bps。
どうかなぁ?と思いつつ試しましたが、結果は全く問題無し。
正直ちょっとビックリ。

こうなると230400bpsも試してみたくなりますね。
LTC2862-2の上限が250kbpsですから、ICの仕様上限近くです。
LTC2862-2への送信データーを生成しているのはPIC16F1825なのですが、
ここでちょっと問題発生。
16F1825の元クロックはクリスタルオシレーターからの8MHz。
8MHzから230400bpsを生成すると、クロック誤差が3%を超えてしまうんです。
実際試してみると、文字化けだらけで完全NG。

もちろん差動通信線の影響による文字化けという可能性もありますが、
115200bpsでの結果を踏まえると、ボーレート誤差の可能性が大きいかも?

16F1825自体のMAX動作クロックは32MHz。
8MHzを供給していますから、4倍PLLを動かして、
システムクロックを32MHzにすれば、115200bpsの際と同誤差に収める事が可能。
早速ファームを書いて試してみますが、動きません(笑)

小一時間悩んだところで、もしかして電源電圧の問題か?と気づきました。
LTC2862は3.3Vで動かしてますが、16F1825は1.8Vで動かしているのです。
改めてデーターシートを確認すると、
4倍PLLを動かしてシステムクロック32MHzで動作させるには、
最低2.5Vの電源電圧が必要でした。

ここまで来たら、最後まで確認してみたいところ。
ターゲット基板を改造してPICマイコンに3.3Vを投入する様に。
するとバッチリ動作しまして、230400bpsでの通信も完璧でした。

今回は6mのツイスト線でしたが、まだまだ延ばしても問題無さそうですね。
さすがに電線代が痛いので、おいそれとは試せませんが・・・・・

2024年12月4日水曜日

SSOPサイズの差動トランシーバー用DIP変換基板を設計

 RS-422やRS-485等で差動トランシーバーICを使うことがあるのですが、
試作実験段階でIC選択に困ることはないですか?

うちでは上記のICを複数所持しているのですが、
そのほとんどは表面実装タイプ。

でも、試作実験だとユニバーサル基板を使うケースが多いので、
DIPパッケージ品が欲しくなったりしますが、
DIP品しばりで品探しすると、かなり限定されちゃうんですよね。

だいたい見つかるのは5V動作品。
しかもそのほとんどが高速動作タイプ。

試作実験ですから、なるべく条件は本作品に近づけたいわけです。
すると3.3V動作の低速動作品が欲しいとなった場合、
DIP品が皆無なんですよね。

これには私も閉口してしまいまして、いっそ変換基板を作ってしまうことに。

 

SOPパッケージ品をDIP型に変換するのはパターン的に好ましくない感じなので、
SSOPパッケージ品をDIP型へ変換することにしました。

現状、手持ちのICで これに該当するのはアナデバのADM3061です。 

ピン配置的には同種の他ICにも流用可能かと。
残念なことに一般的な8ピンのデュアルオペアンプには使用するの難しいかと。
というのはADM3061等は5番ピンがGNDなのに対し、
一般的な8ピンのデュアルオペアンプは4番ピンという違いがあります。

変換基板上ではGNDはベタ面を使っており、更にチップのパスコンも載せてあります。
接続上は各ピンが1対1で接続されているのですが、
ベタ面とパスコンが差動トランシーバー用に特化されてしまってるという話です。

まぁオペアンプ用の変換基板ならば、秋月電子等にも有った気がするので、
この点は さほど問題にはならない気がします。


ともあれ、基板自体の設計は完了してて、あとは発注待ちという状態。

ネックになるとすれば、基板厚をいくつにするか?
一般的な t1.6でも問題無いのですが、
約10mm角の基板ですから 見た目的には もっと薄い基板でも良さそうです。
しかし薄い基板だと完成基板に力加えた際に、
パスコンにダメージ行っちゃう可能性があるかも?

ちょっと悩みどころですね。

NKKのJBシリーズのスイッチを廃棄

 NKKのJBシリーズというスイッチはご存じでしょうか?
一言で言うなら、照光式のタクトSWという代物。

 キートップは別部品になっているので、好みで選択可能。
スイッチの高さやクリック感強度もバリエーション有ります。

NKK製ですから信頼性は抜群で、見た目も良いと、
結構お気に入りの製品なのですが、難点は やや高価という点。
NKK製ですから やむを得ないとは思いますが、
そのせいで むやみに使うわけにいかず、温存ぎみの製品でした。

そんなわけで、以前購入した分に手を付けず、しばらく経っていましたが、
先日ついに出番が到来。

いざ使おうと引っ張り出したわけですが・・・・・・

あれ?なんか動きが変!!

ボタンを押した感触がおかしいのです。

どうやらスイッチ内部が経年劣化してしまったようで、
クリック感を出す部分に問題が生じてる模様。

その為、固着して全く動かなかったり、
動いても正常なストローク量が出ず、クリック感も出ない、
なんていう製品がボロボロ出てきました。(;;

JBシリーズは操作力(=ボタンを押す際の強さ)が2種類あって、
一般形と高荷重型とが存在します。

うちにも両方有ったのですが、一般形は全滅!
高荷重型は一部NGという結果。

あと、たまたまだと思うのですが、緑発光品はほぼNGで、
それに比べると他の色の物はNG率が低かったです。
同時期に購入したはずなんだけどなぁ・・・・・

 

分解・修復というわけにもいかないので、NG品は泣く泣く廃棄。
数千円相当がゴミになったというのは ちょっと悲しいですね。
幸いキートップは無関係なので、廃棄はスイッチ本体だけなのが助かります。