« 2026年3月 | トップページ | 2026年5月 »

2026年4月

2026年4月30日 (木)

ATtiny3224の12bit ADC

ATtiny3224の12bit ADCを評価するため、電源回路
からあれこれと・・・

電源回路 主電源より0.1V~0.2V低い電圧の電源が欲しい
電源回路 主電源より0.1V~0.2V低い電圧の電源が欲しい #2

で、結局、こんな評価回路になりました。
Lm74

ラズパイ・ピコのAD入力テストでもマルチプレクサを
使って、PWMを用いたDACを試していました。

Arduino IDEでRaspberry Pi Pico:PWMでD/A出力してA/D入力を試す
Arduino IDEでRaspberry Pi Pico:A/D入力が…あれっ?

ATtiny3224での結果、そのうちまとめますが
あんまし良くありません。

単調性は大丈夫なのですが、12bit値として
想定より6~8くらい小さな値が出てくるのです。
いわゆるオフセット誤差です。
  電源電圧で変化
  Vref値で変化

データシートを見ると
代表値は「1.5LSB」と良い値が示されているのですが、
最大最小値が「±28LSB」とエラい大きな値になって
います。
Arduino UNO R3のATmega328Pの10bit ADCが
調子良かっただけに、ちょいと不満です。

取り急ぎ、ATtiny3224のADC特性です。
TCA0で12bitのPWM波を発生させ、LPFを通して
DAC出力を得ます。
それをAD変換。
出力も入力も12bitなので、その差を求めて正確さ
を見つめます。

まず、0~4095をスキャンしたときのようす。
電源電圧Vddは5.0V。
  DA電圧得るオペアンプは電圧を少し
  拡大して出力がサチるのを防いでいます。
VrefをVddと外部基準電圧2.5Vにして計ってみました。
Cap012_20260501131901
想定値より低い測定電圧になっています。
Vrefを2.5Vにするとさらに下がりました。
AD入力端子にVref電圧をつっこんでも、
フルスケールの4095は得られません。
VrefがVddなら電源につないでもフルスケール
値が出ないのです。

また、ゼロボルト付近の挙動もやっかいです。
Cap013_20260501132201
入力電圧が上昇してもしばらくゼロが続き、
あるところから変換値が出始めます。

ATtiny3224のAD部には差動増幅回路が仕込ま
れていて最大16倍のゲインを設定できるように
なっています。
この内部回路のせいで、単純なAD変換が苦手な
のでしょう。


もう一つ。
LM7705でマイナス電源を作ってオペアンプを
駆動したときの効果を。

LMC6482(今はエラい高価に)の出力特性が
改善されているようすです。

LMC6482での0V付近出力
+------------ 電源0~+5.0V
+ +---- -0.2V~+5.2V
PWM (mV) (mV)
0 6.9 0.2
1 6.9 1.3
2 7.1 2.4
3 7.2 3.7
4 7.4 5.0
5 7.8 6.2
6 8.3 7.4
7 9.0 8.5
8 10.1 10.0
9 11.0 11.0

いちばん右側に数字が±電源での出力電圧。
あたりまえですが、0V付近のリニアリティがちゃんと
なっています。
単電源だと入力が0Vでも出力は10mVくらいまで
しか落ちませんが、マイナス電源が入るだけで
ちゃんと0Vから出るようになります。

・ATtiny3224 12bit ADCテストプログラム
  ダウンロード - ad_test1.txt
    ファイルタイプをinoではなくtxtにしています

プロンプトに対し、
 ?:コマンド一覧表示
 数値(0~4096):DA用PWM値出力
 Enter(CR):PWM値と12 bit ADC値を表示
 G:スキャン開始 scan_lo→scan_hi
 L:スキャン開始PWM値
 H:スキャン終了PWM値
 S:スキャンstep
 W:スキャン待ち時間(約1ms)

 

| | コメント (0)

2026年4月24日 (金)

電源回路 主電源より0.1V~0.2V低い電圧の電源が欲しい #2

電源回路 主電源より0.1V~0.2V低い電圧の電源が欲しい
これの目的は、電源電圧の最大が6Vくらいの
入出力レールツーレール・オペアンプ、その
電源電圧をちょいと広くして、確実に0V付近と
電源電圧付近の出力を出したいぞ、です。

ATtiny3224などの「tinyAVR2」マイコンでは
ADCが12bitになってます。
  Arduino UNO R3のATmega328Pなど
  多くのAVRマイコンのADCは10bit。
その直線性などを確かめたいなぁという
試みです。

こんな回路で実験予定。
  まだこれから
Lm72
自分で出すPWMパルスをLPFに通して
DA変換。
それをAD変換して変化を見てみたろと
考えてます。

電源部はこんな回路にしました。
Lm71
プラス側はLM317Lを2つ。
VR200で+VLと+VHの電圧差を決めます。

マイナス側はLM7705-0.23Vを発生。
 ・マイナス電圧をちょこっと作ってくれるIC
この石を初めて使ってみます。

Lm73

tinyAVR2、いろんな内蔵基準電圧が使えますが
それを外に取り出せないのが欠点かと。
  VREFAに外から基準電圧を加えられるけど

| | コメント (0)

2026年4月23日 (木)

アイリスオーヤマ BIGCAPA単3 BCR-R3MH 1600サイクル目

スタートが2025年6月12日。 
1200サイクル目が2月11日
順調に充放電サイクルが進んでいます。

1600サイクル目のようすです。
Cap011_20260423113001
Cap010_20260423113001

JISでの寿命の判断、
 50サイクルごとの0.2C放電で180分。
 毎サイクルの0.5C放電で72分。
さて、どうなりますか。

■■■ 電池あれこれ ■■■

| | コメント (0)

2026年4月17日 (金)

電源回路 主電源より0.1V~0.2V低い電圧の電源が欲しい

ちょっとした実験回路での要求仕様。
標題のように直流の主電源から
 「0.1V~0.2V低い電圧の電源が欲しい」
あるいは、
 「0.1V~0.2V高い電圧の電源が欲しい」

【1】ショットキダイオード
簡単には、ショットキダイオードでドロップさ
せれば作れます。
Vv1_20260417112801
Vin電圧を変化させるとそれに追従してVloも変化。
都合がいいのですが、「安定化」させたい。
消費電流でドロップ電圧が変化して欲しくない
わけです。

【2】
次に考えられるのが、可変電圧出力のレギュレータ。
Vv2

ドロップ電圧が0.2V。 普通のLM317では無理。
調べると、AP2210とかTLV75801とかMIC5205など
低ドロップの可変電圧出力のレギュレータが出てきます。
手元にもTPS76201というのがありました。
しかし、Vin電圧に追従して「何V低い」にはなって
くれません。
その都度、要調整。

【3】
Vin=Vhiはあきらめて、Vhiより高めのVinを供給して
VhiもVloも固定電圧にというのが、ややこしくないで
しょか。
Vv3

Vin電圧が変動してもVhi、Vloは変化せず安定。
ということになります。
両方とも可変電圧のレギュレータにすれば、
自由に電圧差が決められます。
Vinを高めにすればLM317が使えます。

【4】
オペアンプを使って定電圧回路を作るという
方法もあります。
Vv4
VloはR1とR2の比になるので「何V低い」という
制御にはなりません。

【5】
「何V低く」ならこんな回路かなぁ。
Vv5

はてさて。
どうしたものか・・・
安定度を重視するなら【3】かなぁ。
両方LM317にしておけば、ややこしくないし。

| | コメント (2)

2026年4月15日 (水)

基板検査をしていたら消費電流が小さいのが出現

もう何枚も作っている制御回路基板。
  1ロットが年に1回くらいのサイクルで
その検査(動作確認)をしていたら、消費電流が小さな
基板に出くわしたのです。
機能は異常なし。 正常に働きます。
しかし、いつものと比べて、電流が50mAほど少ないのです。

電流が大きいと
 「どこかがショートしてるのか?」
 「悪い部品があるのか?」
 「実装を間違っているのか?」
っとなりますが、正常動作しているのに
電流が小さくなったって「なに?!」。

で、この電流が小さいのは何が原因やねんを調べました。
50mAも違いがあると、「1μV」を計れるテスターで
GNDやVccラインの電圧差を見れば、部品が実装された
ままでもアタリが付けられます。

結果。RS-422のレシーバICでした。
4ch入力の「AM26LS32A」を1つ使っています。
これの電流消費が少なかったのです。
  電流小の基板数とあらたに買ったこのICの
  数とが合っていたのも証拠

これが電流小ICの面構え↓
261
いつもの電流値の↓
262
同じ型番です。

AM26LS32Aのデータシートを見ると、消費電流は
52mA(typ)~70mA(max)。
減った電流とおおよそ合っています。

このレシーバICの仲間を探すと「AM26C32」という
のがあって、これは出力部分がC-MOSです。
これの消費電流が10mA(typ)~15mA(max)。

TTLかCMOSかの判断、出力レベルが目安になります。
H出力時、TTLならトランジスタのB-E間電圧やダイオード
を通るのでVccから1V以上ドロップします。
対し、無負荷でのC-MOSのHレベル出力はほぼ電源電圧。

電流小基板のH時出力レベル電圧を計るとほぼ5V。
TTL互換出力のAM26LS32Aとはあきらかに出力電圧が
違います。

さらに・・・TIのデータシートを見るとこんなグラフが。
263
  拡大
264

これ、TTL互換出力の出力特性じゃないです。
あきらかにC-MOS。
データシートにも「AM26LS32A」と「AM26C32」が
混じってしまったのか・・・

今回、電流が小さかった基板には、マーキングは
「AM26LS32A」なのに、中味は「AM26C32」のICが
混じってしまったのかとしか、考えられないのです。
  ※性能的には大丈夫

客先には、この記事をまとめてレポートしときます。
「TIの石がおかしい!」っと。

www.alldatasheetで探してきた
 古いAM26LS32ACの出力特性
26c1
これはちゃんとLS-TTLの出力特性になってました。

| | コメント (0)

2026年4月14日 (火)

「猪飼野」を発見(本でだけど)

大阪市立図書館のページで「双眼鏡」を検索していて出会った本。
 沢井 実 著 輸出立国の時代
  名古屋大学出版会 2022年10月発行
M11_20260414174601

戦後間もない頃の輸出産業。
その中の「双眼鏡」「ミシン」「カメラ」を取り上げられてます。
  日本製の自動車や家電製品が海を渡る前のお話し。
まず、この本のあとがき。
 『東京板橋区の四畳半メーカーでつくられた双眼鏡も、
  大阪の今里近辺でアセンブルされたミシンも、重要
  な外貨獲得商品であった。』
ここに「今里」が出てきます。
  仕事場の住所が「東成区大今里南」

そして、本文にはミシンメーカやミシンの部品工場の一覧。
生野区、東成区、布施市など、今のような住居表示に
なる前の地名です。
  1973年に生野区の住居表示変更がありました。

・生野区猪飼野

M12_20260414174701
M16_20260414174801

M13_20260414174801
  大友町や中川町も。

・東成区
M14_20260414174901

・布施市 (今は東大阪市)
M15_20260414175001

「猪飼野」の地名、現存してるのは、通勤途中にある
猪飼野橋交差点バス停 猪飼野橋、そして猪飼野新橋くらい。

  猪飼野:読みは「いかいの」ね。

| | コメント (3)

2026年4月12日 (日)

地域の会館から「6CA7 P-P」アンプを発掘

地域の会館が耐用年数の絡みで建て替え。
そのお引っ越しの片付けをしていたら、
こんなのが出てきました。
東亜特殊電気(現・TOA)の拡声器用アンプ「HA-30」
真空管「6CA7 P-P」で出力30W。
残念ながらモノラル。
  ・TOAの歴史 にHA-30の紹介がありました。

 ・1963年|アンプの名機
 1961年(昭和36年)に「白バイ用拡声装置」を開発、
 続く1962年には大出力PAの開発のための超巨大PA通達
 テストを成功させ、さらに1963年に真空管アンプ
 「HA-30」を世に送り出しました。
 「HA-30」は小型ながら高性能のアンプとして、さま
 ざまな用途に広く使用することができました。
 「この出力でこの価格」をセールスポイントに
 「HA-30」の評価は徐々に高まり、アンプの名機と
 いわれるようになりました。

これ、どなたかいりませんか?
  いつものように「送料+お駄賃」を
  ビール券で。

こんな木製の箱に入れられて眠っていました。
Am11_20260412103401
Am12
マイクも入ってましたんで、会館での挨拶などの
拡声に使われていたのでしょう。
Am13
Am14
Am15
Am16

通電はしていません。
  火を入れようとすると、あれこれチェックしてから
  でないと、球を痛めるかもしれないので。


| | コメント (4)

2026年4月 8日 (水)

HS-CMOS 1MΩ抵抗直列でAC100Vに直つなぎ

ATtiny3224で電源周波数測定を試す #2
の絡みでラジオペンチさんのページを見ていたら…
Arduinoで商用電源周波数を測定(ESP32編)
この記事への私のコメント書き込み(2021-02-28)で
 『1MΩの抵抗を通して100Vに直接つなぐ』
と。 さらに…
 『※メーカーの出すアプレケーションにもあるはずなんです
   が、探すのが・・・』
HC14のラッチアップ(したかも)に関してあれこれ書いていました。

で、ついさっきのこと、モトローラのHS-CMOSデータブック
をパラパラめくりしていたら、AC100V(日本と違うんでAC120V)
直つなぎの回路図を発見できました。
  ※落書きしてあったんで、昔に気付いてたはず。

1983年のデータブック
Mt11_20260408094601

12bitバイナリカウンタ74HC4040
そのアプレ-ケーション。
Mt12_20260408094601

4入力NANDを追加して60Hzを1/3600。
1分パルスを得ようという回路です。

ということで、AC電源ライン直つなぎ例を再発見。

※追記
マイクロチップのアプリケーションノートでも
抵抗を入れてAC電源に直つなぎ!
 ・AN521:Interfacing to AC Power Lines

Mt22
※この例を参考にして、トラ技2008年4月号 の
記事を書いたのです。

Mt25
  この元ネタであるPICマイコンのアプリケーション
  ノートを探してました。
  やっと見つけられた。でも・・・
  あらためてトラ技を見たら、参考文献にちゃんと
  記してましたわ。

| | コメント (4)

2026年4月 4日 (土)

ATtiny3224で電源周波数測定を試す #2

ATtiny3224で電源周波数測定を試す
自分でやってみて初めて分かった電源周波数の変動。
思いのほか動いてる!

電源周波数が低下した際に確認したいサイト:ラジオペンチ

長期的な記録などはラジオペンチさんなど他の方々にお願いして
「ほんとにこんなに変動するの?」を(ちょっとだけ)
追いかけてみました。

まず・・・
私の回路で周波数の検出に使ったのは
単純にフォトカプラ。
F12_20260402163901
発光素子は60Hzでの点滅を繰り返します。
このタイミングの変動はどうなんだ?
という疑問です。
  100V60Hzの正弦波の正側で発光。
  波形が下降してゼロクロス点手前で消灯。
  負側ではずっと消灯してて、上昇時、
  ゼロクロス点を通過して再点灯。
この点灯・消灯のポイントが変動すると、周期の計測
に影響するんじゃないかという心配です。

点灯・消灯の検出ポイントはフォトカプラの特性任せ。
現実に影響があるかどうかは不明ですが電源系負荷
の変動で「正弦波の形」が変動することもあるかと
思うのです。
  ピーク部が痩せた電源波形ってあるでしょ
この形の変動が、計測してる周期を振らせてるのじゃ
っと考えたのです。
フォトカプラの点灯・消灯スレッショルドの微妙な変動ですな。
  TIのAMC23C10のデータシートを見たからよけいです。

そこで、コンパレータを使い、できるだけゼロクロス点に
近いところを検出してみたのです。
こんな回路。
Ee51

D3とD4で入力正弦波を「絞り」、ゼロクロス付近
の波形を得ます。
これで、電圧が高い部分の波形変化は無視できます。
これをD5電圧の1/2を基準にして比較します。
TIのAMC23C10は完全に0Vで比較できますが、単電源で
使うLM393ではちょいとプラス目でないとダメ。

その結果。
昨日の昼過ぎから今朝まで。
Cap009_20260404110401
やっぱり、同じような変動が出ました。

そこで、検出周波数の分布を先日のフォトカプラだけ
で得たデータと比べてみました。
Cap008_20260404110501

コンパレータを使ったほう(緑)が、ちょっとだけ
裾の部分がせまくなりました。
しかし、これが検出回路を変えたからなのか、
元からこういう周波数制御だったのかは
わかりません。
  同時に比較しなくちゃ

検出回路は捨てようかと置いていたガラケーの充電器。
殻割りして元のスイッチング電源基板を取り外し、
プラグ部分が使えるようにして、回路を組み込みました。
J11_20260404111201
J12_20260404111201

周波数検出だけなら簡単なフォトカプラで大丈夫そうです。
無理して作るような回路じゃないかと。

今回の周波数計測、ATtiny3224の内蔵ハードウェアが頑張って
ますんでソフト的な変動は無視できます。
  Arduino環境ならバックグランドで動いてる
  タイマ割り込みとか、micros()の変動とか。

| | コメント (2)

2026年4月 2日 (木)

ATtiny3224で電源周波数測定を試す

ラジオペンチさんの「電源周波数測定・監視」
うまいこと周波数変化を計っておられるので、気になって
おりました。
 ・ATtiny3224のタイマでは・・・言うことを聞かないゾ
に記しました、「16bitタイマ TCB0とTCB1」の連結機能
による32bitカウント、
 「これで周波数カウンタを作るんだ!」
と訴えています。
そこで試したのが、
 ・ATtiny3224で裸の32bit周波数カウンタ #3
10MHzのTCXOを主クロックにして、周期を計る方法で周波数を
計ってみようという実験です。
32.768kHzの時計用水晶だと1秒のゲート時間に何発パルスが
来たかを数えて周波数を得ます。
必然的に周波数分解能は1Hz。
  これは高い周波数を計るとき向け

周波数の高い基準クロックで、入力パルスの周期を計る
方法だと、低い周波数を精度良く測定できます。
  手にいれた10MHzのTCXOだと0.1μ秒の分解能。
  60Hzのパルスを60発、1秒間累積すると
  1000万カウント。
  17カウントの違いが60.0001Hzあるいは
  59.9999Hzとなります。

ATtiny3224の場合、2つのTCBを連結して32bitカウンタ
を構成し、基準クロックをカウントします。
そして、もう一つあるタイマ機能、16bitのTCAで
入力パルスを数えて累積させ、所定の数になったら
TCBカウンタをキャプチャして、周期データを得ます。

・実験回路回路図
F14_20260402163101
16文字×2行の液晶表示とシリアル出力だけ。
スイッチはゲートモードの切り替え。

・試しの手組み回路
Ff11

・TCAとTCBの接続
F11_20260402163201
チップ内蔵のタイマ機能、みんな使ってる

・1秒ゲートモードでのカウント方法
F15

・周期測定モードでのカウント方法
F16

ハードは触らずに、うまいこと1秒ゲートと周期測定を
切り替えできます。

・電源周波数の取り込み
F12_20260402163901
簡単にフォトカプラで。

・試してみると
Cap006_20260402164301
20時間ほどのデータ。
  1秒に1行なんで7万行ほど。
60Hzからのズレをグラフに。
赤線はgnuplotの「smooth bezier」機能で平均化
した変動。

こちら、60Hzなんですが、けっこう変動があるものですなぁ。
ラジオペンチさんが「追跡」したくなるのがわかります。

※追記
計測開始から18時間30分ばかり(朝7時ごろ)のところに
急激な周波数変化が2回見えています。
その部分を拡大してみました。
   生の1秒ごとの周波数データをgnuplotで
   グラフに。平均処理せず。
Cap007_20260403085001
1回目(赤)は60.0Hzから4分ほどで60.2Hz付近まで上昇。
さらにそこから4分で59.86Hzまで低下。
2回目(緑)は、上昇→下降を10分ほどかけてという変化。
こんなデータが得られました。
3月31日の朝ってなにかありましたかな?

※ゲートモードの切り替え

/*****  ゲートモード *****/
byte gate_mode; // ゲートモード
// 0:1秒ゲート 1Hz単位の周波数計測
// 1~9:1/1~1/10000 周期計測モード
const struct{
const short fdiv; // 分周値
const char *msg; // 表示文字
}gate_tbl[]={
{ 0, "1sec " }, // 0 1秒ゲート
{ 1, "1/1 " }, // 1 周期計測
{ 10, "1/10 " }, // 2 〃
{ 50, "1/50 " }, // 3 〃
{ 60, "1/60 " }, // 4 〃
{ 100, "1/100" }, // 5 〃
{ 120, "1/120" }, // 6 〃
{ 440, "1/440" }, // 7 〃
{ 1000, "1/1k " }, // 8 〃
{ 10000, "1/10k" }, // 9 〃
};

こんなテーブルで1秒ゲートと周期計測による周波数測定
を切り替えています。
「fdiv」値をTCA0にセットして、入力パルスを「1/N」
しています。
SW1を押して選択。
長押しでEEPROMに現在値を保存。
  次の起動で読み出し。

※スケッチとシリアル出力、液晶表示ライブラリ
   ・ダウンロード - tn3224_fcnt03.zip

※参
「ゼロクロス検出回路」を検索していたらこんなICが
出てきました。
テキサスインスツルメンツ,絶縁型ゼロクロス検出回路:AMC23C10

※続き
ATtiny3224で電源周波数測定を試す #2

| | コメント (0)

« 2026年3月 | トップページ | 2026年5月 »