2024年4月28日日曜日

コイル(3)

300uHのバーアンテナを作ろうと思ってる。コイルを巻いてみる。

とりあえず、aitendoからきたフェライトバーになんとなく38t巻いてみる。空芯で円形の巻線インダクタを作る場合はこういうところ(https://keisan.casio.jp/exec/user/1488083605)でざっくり計算できるけど、素材の比透磁率もわからんし、断面も長円だし、えいやっ※でやるしかない。(※昭和なワードらしい)
フェライトとエナメル線がこすれてエナメルにキズが付かないようポリイミドテープを巻いてからコイルを巻いてます。
まぁこんな感じ。で、エクセル、、、じゃないLibreOfficeCalcで計算すると、
まぁ、だいたい82uH、、、ぜんぜんたらんかったorz。むしろ大きめに出てくれて剥いていく方がラクだったのに( ̄д ̄ )チッ、、、自分の無能を呪いながらやり直す。
で、92t巻いてみた。
ちなみに、巻くときは今何tかなーとか考えない。コアのざっくりここからここまで巻こうって巻いて、巻き終わった後に写真にして印刷して鉛筆でしるしをつけながらカウントすることにしている。
で、測定した結果、270uH、、、
ぎゃーまだ足りんのかー
まぁもうこんくらいでいいや


2024年4月27日土曜日

コイル(2)

 

300uHのバーアンテナを作ろうと思ってる。まずはインダクタンスの測定方法を検討。

最近フェライトバーって入手しにくくって、通販で購入できるのはaitendoくらいしかない。でこちらを発注。以前品物間違った前科もあるしドキドキする。今回、発送の連絡もなく突然ブツが届いた。そして、、、おそらくこっちが届いた。前回間違ったときには連絡すると必要以上に丁寧な対応でびっくりしたってこともあり、もう今回の差は大したことではないので、放置することにする。(大須とかでフェライトバー売ってるとこないんかな、、、大須まで行く交通費を考えると通販のほうが安いんだけど、例えばリード線とか専門家のいる店じゃないと買えないし、フェライトもそういう位置づけかも)

で、まずはインダクタンスをどう測定するか。以前FGとオシロで測定した(https://sunday-engineer.jimdofree.com/2022/10/09/%E3%82%B3%E3%82%A4%E3%83%AB-1/)んだけど、結構手間がかかる。そういえばうちにはNanoVNA(https://sunday-engineer.jimdofree.com/2020/11/22/nanovna-h4/)とかいうネットアナあるじゃんね。これで測定してみる。測定原理はこちら(https://engineer-climb.com/impedance-measurement/)。今回はインダクタなので「シリーズスルー法」にする。
ところで、NanoVNAをPCで制御するWindowsソフトで、NanoVNASaverってやつがある。以前はバイナリでダウンロードできてたんだけど、バイナリがなくなった。モノはPythonっぽいので、環境を整えてPythonから実行すればいいんやろ、、、が面倒なので、今回は以前ダウンロードしてあったバイナリを使う(歳とるといろんなことが面倒に感じる。または、あの病の後遺症かもしれない。)。
で、自分で作成したバーアンテナを測定する前に、値のわかっている(330uH)インダクタを測定してみる。
まぁこんな感じで。そすっと、
こんな感じで測定できる。で、これをs2pで保存してLibreOffice Calcで開くと
こんな感じで、S11とS21が保存されているわけだ。NanoVNAはハード的にPort2にソースがないのでまぁ、こうなっちゃうわけで、これをこのままシミュレーションとかには使えないわけだが、波形を保存できるってこと、それ自体が良い事だと思う。
では、数字をいじくっていく。
\[ Z_{DUT}=100\times \frac{\left(1-S_{21}\right)}{S_{21}} \tag{1} \]
まぁ単にこれを計算するだけ。で、こうなる。
まぁ、ざっくり1MHzくらいで300uHくらい。まぁまぁ測定できているって感じがする。

世の中は連休だー。この連休に色々取り返さんといかん。と思いつつも、以前にも増してなかなかやる気が起こらない。後遺症かなー。まったくどこでもらっちまったのかわからんかかりかただったのは、免疫低めの生活をしていたからよなー。

2024年3月31日日曜日

Raspberry Pi Picoでロジアナ(3)

μLAってのがあって、Raspberry Pi Picoをロジアナにできちゃうらしいのでやてみる。

電圧問題についてちょっと考える。Raspberry Pi PicoのGPIOは3.3V系なので5V系を観測するには何か工夫が必要。で、こんなもの(秋月LVCH16T245使用16ビット双方向レベル変換モジュール(https://akizukidenshi.com/catalog/g/g115696/))を使ってみる。本来レベル変換用のモジュールなんだけど、このモジュールで使用しているSN74LVCH16T245DIRxは電源に関わらず、6.5Vが限界の入力電圧なので、入力側(VA)も出力側(VB)も電源電圧を3.3Vで運用できる(と思う)。VA=3.3Vの時にHと認識されるのは2V以上でLと認識されるのは0.8Vなので、0V<-->5Vでも使える。なおDIRxで方向を切り替えられるけど、今回はA-->Bで固定。
5Vのテスト波形生成はArduinoUNO R3を使う。単に上げ下げすればいいので、こんな感じで。
  1. uint8_t portb_val[2];
  2. void setup(){
  3.     uint8_t portb_ini_val;
  4.     DDRB|=0x3F;
  5.     PORTB&=(~0x3F);
  6.     portb_ini_val=PORTB;
  7.     portb_val[0]=(portb_ini_val|0x15);
  8.     portb_val[1]=(portb_ini_val|0x2A);
  9. }
  10. void loop(){
  11.     delay(10);
  12.     PORTB=portb_val[0];
  13.     delay(10);
  14.     PORTB=portb_val[1];
  15. }
ちなみに、delay(2000)として、テスターを使っていちおう、電圧が5V-->3.3Vに変換されていることを確認しました。(やっぱいきなりは怖い。でうまくいっていた。)
こんな感じでつなぎます。でPulseviewで見ると、
、、、あれ?DUTYがクソというか不安定なんやけど。
自宅のまじめなロジアナ(LAP-C(16128))でとってみた。
そこそこきれい。うーん。やっぱ夢見ちゃいかんなー。700円+300円だもんなー。
ロジアナ自作の野望はすててないけどRP2040はこんなもんだってわかったのがよかった。用途によるだろうけどRP2040ってマイコンは魅力的。なんといっても秋月で160円で買える。ATSAMD21G18Aだと530円もする。同じCortex M0+コアでメモリーも格段に大きいRP2040のほうがめちゃくちゃ安い。今後、何かボードを作るときにRP2040が選択肢に入るよなー。

でもSWDで書き込む練習(というか何か準備)しないと。ドライブに書き込む方式、使えない会社多いよね。まったく誰がこんな困った仕様を考えたんだか、、、ライターを買いたくないホビーユーザとか、ある程度ニーズはあるんだろうけど。SWDの説明とか実施例が一掃されてしまうので、ほんと迷惑。

2024年3月30日土曜日

Raspberry Pi Picoでロジアナ(2)

 

μLAってのがあって、Raspberry Pi Picoをロジアナにできちゃうらしいのでやてみる。

動かすところまでやったので、何か波形を入れてみる。何とか簡単に波形を作れんやろうか、、、そうだドットネットしよう。
で、
  1. using System;
  2. using System.Timers;
  3. using System.Device.Gpio;
  4. using Iot.Device.Ft232H;
  5. using Iot.Device.FtCommon;
  6. public class study4{
  7.     private static System.Timers.Timer? aTimer;
  8.     private static Ft232HDevice? ft232h;
  9.     private static GpioController? controller;
  10.     private static int[]? pin;
  11.     private static int[]? ledOn;
  12.     private static PinValue[] pin_state={PinValue.High,PinValue.Low};
  13.     public static void Main(){
  14.         ft232h = new Ft232HDevice(FtCommon.GetDevices()[0]);
  15.         controller = ft232h.CreateGpioController();
  16.         pin = new int[8];
  17.         ledOn=new int[8];
  18.         pin[0] = Ft232HDevice.GetPinNumberFromString("C0");
  19.         pin[1] = Ft232HDevice.GetPinNumberFromString("C1");
  20.         pin[2] = Ft232HDevice.GetPinNumberFromString("C2");
  21.         pin[3] = Ft232HDevice.GetPinNumberFromString("C3");
  22.         pin[4] = Ft232HDevice.GetPinNumberFromString("C4");
  23.         pin[5] = Ft232HDevice.GetPinNumberFromString("C5");
  24.         pin[6] = Ft232HDevice.GetPinNumberFromString("C6");
  25.         pin[7] = Ft232HDevice.GetPinNumberFromString("C7");
  26.         for(int i=0;i<8;i++){
  27.             controller.OpenPin(pin[i], PinMode.Output);
  28.             ledOn[i]=(i%2);
  29.         }
  30.         SetTimer(10);
  31.         Console.WriteLine("\nPress the Enter key to exit the application...\n");
  32.         Console.WriteLine("The application started at {0:HH:mm:ss.fff}", DateTime.Now);
  33.         Console.ReadLine();
  34.         aTimer.Stop();
  35.         aTimer.Dispose();
  36.     }
  37.     private static void OnTimedEvent(Object source, ElapsedEventArgs e)
  38.     {
  39.         for(int i=0;i<8;i++){
  40.             ledOn[i]^=1;
  41.             controller.Write(pin[i], pin_state[ledOn[i]]);
  42.         }
  43.     }
  44.    private static void SetTimer(Double intvl)
  45.    {
  46.         // Create a timer with a two second interval.
  47.         // Hook up the Elapsed event for the timer.
  48.         aTimer=new System.Timers.Timer(intvl);
  49.         aTimer.Elapsed += OnTimedEvent;
  50.         aTimer.AutoReset = true;
  51.         aTimer.Enabled = true;
  52.     }
  53. }
まぁこんな感じでFT232Hのピンをトグルする。タイミングはクサっているが、まぁロジアナで見たいのでむしろ好都合。
で、結線は、、、何も考えないで直結です。
実際のところ、こうなる。
で、LinuxだとなぜかPulseviewを先に起動していないとちゃんと動いてくれないとか、色々あるけど、Pulseviewを起動して、いつでも来いな状態にしておいて、dotnet runってすると、
なるほど、ちゃんと取れているようです。こう見るとDutyだいぶひどいね。拡大すると、1ピンずつ設定していっていることによる、ずれがわかります。
こういうのはあかんね、改善しようよ某超巨大世界企業の方。

明日から新年度なので、気持ちを新たに、、、できるわけない。とめどなく襲ってくるアレや、終わりの見えないアレや、もんもんとするアレ



2024年3月29日金曜日

Raspberry Pi Picoでロジアナ(1)

 

μLAってのがあって、Raspberry Pi Picoをロジアナにできちゃうらしいのでやてみる。

uLAはこちら(https://github.com/dotcypress/ula)。
Raspberry Pi Picoって書いたけど、実際に使ったのは秋月のこちら(https://akizukidenshi.com/catalog/g/g117542/)。RP2040を使っているから、問題ない。たった700円なので買うっきゃないわな。uLAのページのReleases pageっていうリンクからビルド済みのuLAを落としてきて、Raspberry Pi Picoに書き込めばいい。書き込むにはBOOTボタンを押しながらUSBでPCに接続して、現れたドライブにビルド済みuLAをコピペするだけ。
ちなみに、拙者Linuxでやっているので、ちょっと悩んだ。が、BOOTボタンを押しながら接続して(接続後はBOOTボタンを離してよい。ずっと押しておけ的な記述をしているページもあるけど、そんなことなかった。)、
ls /dev/disk/by-id/ -l
ってすると
合計 0
lrwxrwxrwx 1 root root  9  3月 28 09:13 ata-HL-DT-ST_DVDRAM_GUD0N_802H3029296 -> ../../sr0
lrwxrwxrwx 1 root root  9  3月 28 09:13 ata-SAMSUNG_MZNLN256HMHQ-00007_S334NX0JC33194 -> ../../sda
lrwxrwxrwx 1 root root 10  3月 28 09:13 ata-SAMSUNG_MZNLN256HMHQ-00007_S334NX0JC33194-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10  3月 28 09:13 ata-SAMSUNG_MZNLN256HMHQ-00007_S334NX0JC33194-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9  3月 29 21:59 usb-RPI_RP2_E0C9125B0D9B-0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10  3月 29 21:59 usb-RPI_RP2_E0C9125B0D9B-0:0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root  9  3月 28 09:13 wwn-0x5001480000000000 -> ../../sr0
lrwxrwxrwx 1 root root  9  3月 28 09:13 wwn-0x5002538d4281f39e -> ../../sda
lrwxrwxrwx 1 root root 10  3月 28 09:13 wwn-0x5002538d4281f39e-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10  3月 28 09:13 wwn-0x5002538d4281f39e-part2 -> ../../sda2
ってでるので、/dev/sdb1なのねってわかる。で前もってマウントポイントを作ってある
(例えばsudo mkdir /mnt/pico1)として、
sudo mount -o uid=hoge,gid=hoge /dev/sdb1 /mnt/pico1
ってすると、hogeって人が所有権を持った状態でマウントできる。
で、これでコピペできるわい。
で、コピペしたら一度USBを抜いてもいっかい挿す。
lsusbでみると、CDC-ACMクラスで認識されている。
ls -la /dev/ttyACM*
ってすると、
crw-rw---- 1 root dialout 166, 0  3月 29 22:12 /dev/ttyACM0
ってでるので、dialoutグループにいないとアクセスできないぜってわかる。で
sudo adduser hoge dialout
ってして、hogeさんをdialoutグループに追加して再起動(sudo shutdown -r now)。
これでアクセスできるようになったので、
sudo apt install pulseview
でpulseviewをインストールする。
でpulseviewってコマンドを撃って起動する。と
で、No Deviceってやつを押す。




こんな感じで押していく。
こうなるので、後はやりたいようにやる。
てかWindowsならもっと簡単やん、、、そす。
では、もちっとしたら、実際に何か見てみることにする。このままだと、5V系の観測はできないので、そのへんもちと考えんといかん。

さて、約一ヶ月ぶりの更新。いやーなんかやる気せんのよねー。いや、やりたいことが多すぎてどれから手を付けていいかわからんわけだよ(言い訳)。