トラブル遭遇

2025年5月 6日 (火)

Arduino UNO R4、GPTのレジスタ定義にミス発見

汎用PWMタイマのプリスケーラ設定、これが言うことを
聞かないので、追いかけてみました。

・きっかけは先日の1MHz方形波出力
・それを100Hzにしたかった。
・ハードウェアマニュアルにはこんな表。

G11_20250506114501

・タイマプリスケーラをPCLKD/16にすると、
 48MHz/16で3MHzクロックに。
 これを1/15000して200Hzにして、さらに
 トグル出力で100Hzに。
   こんな目論見。
・しかし出てきたのは400Hz。
   なぜ???

そこで、レジスタ定義ファイルを調べてみたら

__IOM uint32_t GTCR;  /*!< General PWM Timer Control Register */
struct
 {
 __IOM uint32_t CST : 1;  /*!< [0..0] Count Start */
 uint32_t : 15;
 __IOM uint32_t MD : 3;  /*!< [18..16] Mode Select */
 uint32_t : 4;
★ __IOM uint32_t TPCS : 4;  /*!< [26..23] Timer Prescaler Select */
 uint32_t : 5;
} GTCR_b;

「TPCS」が4bitになってました。
  ほんとは3bit

ということは、
  0b0000  1/1  これはok
  0b0010  1/4
  0b0100  1/16
  0b0110  1/64
  0b1010  1/256
  0b1010  1/1024

こんな具合にLSBに1bitの0を足して4bitにしなく
ちゃなりません。

GPTを触るときはちょいと注意ということで。

 

| | コメント (0)

2025年4月16日 (水)

失敗は成功の母<第3回>: 同じ型名なのに内部回路が違う!?

トラ技編集部に送った原稿、紙にプリントして置いてあった
のを整理(廃棄)していたら、
  「こんな話を載せてもらったなぁ」
っと読み返してしまって、作業が前に進みません。

「そやそや こんなこともあった」がこれ。
失敗談を載せてもらった、トラ技の記事
失敗は成功の母』。

Ss11_20250416153701

2005年4月号が第1回で2007年9月号がいちおうの最終回。
そして、2010年1月号から再開して2011年11月号が最後。
  (載せてもらったのは第3回と第6回、第23回の3号)

この第3回に、記事のタイトルでCMOS「4013」と「4001
での体験を書きました。
  20年前の投稿記事だぁ。

4013」はこの話↓の元。
2021年9月11日:単安定マルチバイブレータ 74123、74423、4538(TC4013を追記)

「4001もあったなぁ」ということで、原稿(一部)を
拾い出してきて置いておきます。


~~~~~~~~~~~~~~~~~~~~~~~~~
 もう一つ、入れ替え部品で罠にはまりました。
バッファ・タイプとアンバッファ・タイプの差です。
元回路で「B」タイプが使われていたのでそのまま
新ICに替えたところ、動作していた部分が動かなくな
りました。
回路を追いかけてみるとそのIC(4001:NORゲート)の
入力に微分回路が付いています。
 元回路のBタイプCMOSは出力だけバッファされた
ゲートICだったのでしょう、買ってきた新ICは入力に
もバッファが入っているタイプで、それが原因で微分
パルスにヒゲが出たのです。
 アンバッファ・タイプのゲートIC(4001UB)に交換
して解決です。
無駄があったとはいえICの全数交換は正解だったかと
思います。
 結局、なにが悪いか決定的な原因は不明なままです。
複数の不具合が関連していたのでしょう。
それにしても、回路図の無い修理は手間がかかります。

※4001入力段の構造の違いで、修理回路が動かなかった。

Ss12_20250416153701
~~~~~~~~~~~~~~~~~~~~~~~~~

CMOS ICをアナログ的用途(発振回路など)で使うときは
アンバッファ・タイプを選ばなければなりません。
このトラブルでは微分回路。
微分してパルスを出したいときはシュミット入力ゲートを
使いたいところです。

| | コメント (0)

2025年2月19日 (水)

中華製ボール盤 2018年に交換したベルトが再びアウトに

ついさっき、中華製のボール盤を使って穴あけ作業を
していたら、何やら茶色い樹脂状のものがパラパラと
落ちてきました。

「ありゃ また、ベルトがアウトかっ」と。

Vv11

2018年6月6日:中華製のやすものボール盤
2018年6月12日:ベルト到着! ボール盤の修理完了

この時、2本買っていたんで予備に置いていた一本を
探し出してきて交換。

以前の写真と比べると、置いてあったのも変色が
進んでいます。
Vv12

前の交換では、もっと白かった。
  2018年の↓
Vv13

さて。 まだモノタロウで売ってるのかしら。
  「取扱い終了」でした。
代替品、どうして見つければ良いのかな?
「幅」と「外周長さ」でエエんかな?
  ピッチは?っと

ノギスで計った幅が5mm。
長さが230mm。


| | コメント (6)

2025年1月24日 (金)

イヤホンのケーブルが・・・

長男の悲鳴!
ピピちゃん がイヤホンのケーブルをかじった!』っと。

エエ値のものだったらしく、
「おとん。 直せるかな?」っという相談。
E11_20250124104001
拡大↓
E12_20250124104101
※電線全部が切れてました。
   恐るべしピピちゃん。
 とりあえずハンダして熱収縮チューブで保護。
 ちゃんと鳴るかどうかは今夜に。
   結果:ちゃんと鳴りました。

で、この手のイヤホン、どんな音で聞こえるのか、別ので
試さしてもらったところ、エライことが発覚。
私の「耳」の感度がむちゃくちゃ低下してることが
判明したのです。

私以外の家族3人はボリュームレベル15で
  「これで十分な音量」
という感想なのですが、私、このレベルだと
  低音が聞こえない。
  高音部もシャリシャリしてるだけ。
  歌声の歌詞が聞き取れない。
という状態。
音楽を楽しもうとするとボリュームレベル50あたり
まで上げないといけません。

他の3人は、
  「これはうるさ過ぎやで」とボロクソ。

確かに、テレビを見る時の音量は大きくしています。
小さいと、会話のシーンでBGMが流れていると、BGMばっかり
聞こえてしまって、テレビの中の話し声が聞こえにくいの
です。


義父のために作ったツールでしたが、そのうち自分自身が
必要になるかもでっす。
 ・2025年1月3日:補聴器をどうにか!
 ・2025年1月5日:補聴器をどうにか! #2


| | コメント (0)

2025年1月 9日 (木)

ピンセット、危うし!

1980年頃から愛用しているスイス製のピンセット。
Pi11
昨日の続きで1608サイズの抵抗を基板にハンダ付け
しようしたら・・・
作業台の周りを見渡しても見つからない。
  定位置に置いてあるはずなんだが・・・
他の工具に紛れたかっと探しても発見できず。
「ひょっとして」っと作業机下の「ゴミ箱」を見たら
入ってました。

昨日の作業のお片付け、何かの拍子にピンセットを
落としてしまったのでしょう。
それがゴミ箱だっという、たいへん危険な状態でした。

今朝の作業でピンセットを探さなかったら次の
ゴミ出し日(土曜)に出していたでしょうから・・・
良かった良かった。

手に馴染んだ工具類、それらが無くなるとたいへんです。

2010年02月13日:ピンセット
2019年10月24日:くっついたらイヤっ! 着磁した安物ピンセット
2011年12月15日:百均ピンセット4種類


| | コメント (0)

2025年1月 8日 (水)

ハサミの指穴樹脂が破断「コクヨ:ハサ-10」

長年使っているハサミの指を入れる
穴の樹脂が断裂したので修理したの
が正月明け。
  (補聴器あれこれ中のこと)
その修理場所が(A)。
今朝、使おうとしたらほぼ反対部の
(B)が破断。
Has11

落としたとじゃなく、切ろうと握ったらポロ。
(A)の時も同じでした。
ほんとにポロ。

コクヨ製「ハサ-10」という型番。
いつから使っているのかは不明。
 20世紀から作業机にあるかと
刃部の厚みがあるので、しっかりと
切れます。

一週間も経たずに同じ部位がアウトに
なるなんて・・・
指穴部樹脂、同じ頃に作られたもので
あるとしても、不思議です。

瞬間接着剤で仮くっつけしてから、
2液ボンドをめぐらせて固定。
その上にカプトン・テープを巻きました。

| | コメント (0)

2024年12月24日 (火)

年末夜警用ピカピカ棒

ガレージ仲間の町会長(私とこは4町会で彼は8町会)、
 『夜警で使うピカピカ棒が光れへん』
 『ほかしてもエエから見てみるか?』っと。
修理依頼じゃなく、ゴミにする前の故障原因追及
サンプルとして持って来てくれました。
  ※酒呑みが主体でのガレージ訪問

電池部分(単2が2本)はネジで外れるのですが、
かんじんの回路部分は接着されていて解体する
には破壊するしかありません。
  ※だもんで修理は不能

点灯不良の原因調査、まずはLED部分を切り離して
CVCC電源につないで光るかどうか・・・

しかし・・・4つある赤色LEDのうち、中央の2つしか
光りません。
Ll11_20241224153501

それも、光り始める電圧が高いのです。
普通の赤色LEDだと2Vを越えれば光るはず。
それが3V以上に。

4パラになっているので切り離してどうだ、を
確かめようとごそごそしていたら、みんな
点かなくなっちゃいました。

+/-の電線には、ハンダ付けじゃなく溶接でハシゴ状に
くっつけてありました。
それもLEDの足を急角度で曲げて。
Ll2_20241224153601
LEDの足をニッパーで切ったのですが、
そのときのチカラがトドメを刺したのかも
しれません。

点滅回路は生きていました。
Ll4_20241224153701
Ll3_20241224153701
起動スイッチも大丈夫。

SS8550はPNPトランジスタ。
2013年10月09日:新定番の予感!!トランジスタ「SS8050」と「SS8550」が入荷!(デジットBlog)

見えている抵抗(51Ω)はTrのベースに入ってます。
でも、LEDの電流制限抵抗が見当たりません。
それが気になります。

| | コメント (0)

2024年10月11日 (金)

不安定なDCプラグ

実験用電源(低圧小電流CVCC)からいろんな負荷に
つなげるよう、JSTのSMコネクタを電源から出した
リード線の先に付けています。
電源からはメスピンのSMP-02V
負荷側にはオスピンのSMR-02
その先に、基板に挿さるコネクタやらダミー電池
つないでいるのです。

そんな中に、φ2.1のDCプラグを付けた中間コードが
ありました。
Ss1_20241011092801
それが、なんとなく接触不良。
プラグから出ている電線をグニグニすると接触が変わるのです。
以前、トラブル遭遇:3点  スイッチ、プラグ、電線
というのがありましたが、これは中央の
  +側電極部のカシメ
が不安定になっていたのが原因でした。

今回のは外側のマイナス部のようです。
完全に離れるのではないのですが、グニグニで接触状態が変わります。
Ss2_20241011092901
  中央のカシメは大丈夫
マイナスのベロと、プラグの外側、ネジを切った部分をハンダして
とりあえず乗り切ることにしました。
S3_20241011093001
しかし、このハンダでは、使っているうちの断裂が心配。

で、その後・・・
 「そういや、同じようなことがあったなぁ」っと
思い出して中継用ケーブル類を入れた箱を漁ったら、
似たような処置をしたDCプラグが出てきました。
S4_20241011093001
これの場合、樹脂の付属ケーブルカバーは使わず、
透明の熱収縮チューブをかぶせていました。

こんなこともありましたんで。
2021年6月8日:またもやリード線切れ 今度はオシロのプローブ


| | コメント (2)

2024年9月13日 (金)

ロータリーエンコーダ:操作感覚が重要なんだけど

ロータリーエンコーダ、あれこれ使っていますが、
秋月での部品購入のついでに買ったのが
  ・TAIWAN ALPHA ELECTRONICのRE160F-40E3-20A-24P-003
    価格が200円。
そして、よく使っているのが、
  ・アルプスのEC12E2420801
    これは100円。

Re31

台湾製のほうがが高価だし、性能が良いのかと思いきや・・・
早く回すと接触が不安定になっちゃうのです。

A相、B相パルスの周期を10msくらいまで上げると
  (24クリックなんでざっと1/4秒で1回転
   の速度)
こんな具合にLレベルの信号にノイズが出てきます。
Re32
   ※ツマミを付けて手で回した時の最高速あたり。

入力のプルアップ抵抗はArduino UNO R3の内蔵プルアップ。
  30~40kΩくらい。
そしてGND間に1000pFのコンデンサを入れてます。

回転する接触子とベース面との接触が悪くなり、
接触子が離れてしまうのでしょう。
いわゆるチャタリングとは違った現象です。

ゆっくり回していると大丈夫なんですが、早回しすると
こんな波形になってしまいます。

同じような回し具合でもアルプスのは大丈夫。
回す感覚もアルプスのが軽快です。

| | コメント (0)

2024年9月12日 (木)

液晶表示:CG-RAMの表示がちょいと違う

昔人間ですんで、「これで行こう」と決めたことは
いつまでも引きずっています。
今回のトラブルは液晶表示器の外字登録。

使ったのは秋月で買ったI2C液晶 AQM1602XA
  I2Cで安定して使えるようになって、6本線で
  つなぐ液晶表示器はちょいと縁遠くなりました。

キャラクタ表示の液晶表示器、8文字分のCG-RAMに
外字を登録できます。
文字コードとして0x00~0x07に対応するパターンを書き
込むと、登録した文字が出てくるという仕掛けです。

しかし、その先頭文字が「0x00」となり、C言語の
ヌル終端文字列:Wikipedia に引っかかってしまうので、
文字列の中に入れられません。
実質、7つの外字しか利用できないのです。
そこで、この表にあるよう、
L11_20240912102801

CG-RAMの文字コード0x00~0x07を0x08~0x0Fと
して定義しておくという手法を使ってきました。
  文字列の中に入れずに単独文字として書き込む
  ぶんには0x00で問題なしなんですが

ところが今回のAQM1602XAでこれをすると、定義した
CG-RAMではなく、内蔵された文字が出てきちゃったのです。
L12_20240912102901
16文字×2行の液晶、その下段に0x00~0x0Fの文字を
表示してみました。
L13_20240912103001

左の8つがCG-RAMに入れた登録外字。
昔の液晶なら同じ字が右に8つ並ぶのですが、
この液晶だと、内蔵文字になってしまい、
今までの手法が使えません。

ということで、登録した8つのCG-RAM文字は
0x00~0x07で表示するという、まっとうな処理に
変更しなくちゃなりませんでした。

※関連
PIC AVR 工作室別館 arduinoの館->キャラクターLCD
よく使うパラレル接続液晶(LCDモジュール)のコネクタ信号
液晶表示モジュールを4ビットモードで使ったときの空きピン処理


| | コメント (0)

より以前の記事一覧