2025年6月16日月曜日

SimpleFOC用モータドライバを実装してみた

 というわけで先日届いた基板用の部品がある程度届いたので実装してみた。けっこう大変だった。

部品はほぼアリエクで手配した。一部前に秋月で購入していた部品を使用してる。
MT6701は基板に実装されたやつに磁石まで付属してるほうが安かったので剥がして使う予定。(144円だった)

とりあえず表面はこんな感じ。TMC6300周りにちょっと詰め込みすぎて順番を考えないとコテが入らないという問題が。斜めカットC2を使用したけど結構きれいにハンダできた気がする。
STM32とINA240は足があるので足の間がショートするとちょっと面倒。新しいハンダをはんだごてに付けながら少しずつ拭っていくといい感じにハンダできた。ハンダ吸い取り線を使うとレジストに傷がついたりするので今回はハンダゴテだけで頑張った。

デバッグコネクタ(SHコネクタの3Pin)がまだ届いてないので書き込みができないんだけども、とりあえず電源を入れて3.3Vが生成されていることを確認できた。INA240A2からも1.68Vぐらい出ているのでとりあえず0Aで真ん中ぐらいで出力ができていることを確認できた。

ちなみにTPS63070は2.8Vぐらい入れないと3.3Vが生成されなかった。一旦起動したら下げても大丈夫なんだけどやはりアリエクから購入したICは怪しい気がする。(STM32F103もなんかハンダコーティングされてたから使用済み品?)

まぁとりあえず色々と安く手に入っているので動けばいいのだけれども…

モータドライバとモータの間にいれるアダプタも設計中。スペーサ兼マウント的なやつ。回転方向に力がかかったりするとアレなので穴径をギリギリにしなと滑りそう。

はやくデバッグコネクタ届かないかなぁ

2025年6月15日日曜日

SimpleFOC用にモータドライバ基板を起こしてみた

 この前BluepillとSimpleFOC miniでジンバル用モータを動かすことができたんだけど、電流センサをつけないとFOC制御とは呼べないと思うので電流センサも内蔵させた基板を起こしてみることに。

SimpleFOC miniも8V以上ってことでもうちょっと低い電圧から動かしたいし。

よくある、モータの後ろにそのまま取り付けできるような、角度センサも内蔵したモータドライバ基板を作ってみたかったし。

とりあえずKiCadの最新版を入れて、足りないフットプリントはRSのライブラリを使用してみた。

部品構成としてはマイコンはBluepillと同じSTM32F103CBT6、モータドライバはより低電圧から動作できるようにTMC6300、角度センサはこの前試したMT6701、電流センサはINA240にしてみた。
電流センサは最初ACS712がSimpleFOCフォーラムでも3.3Vでも見れる範囲は小さくなるけど一応動くということで手軽でいいなと思っていたんだけど、ホールエフェクト電流センサの近くに磁気エンコーダはまずいかな?と思ってシャント抵抗にした。
インライン電流センスにしたのでINA180でも良かったかもしれないけどINA240のTSSOP-8なら下にパターン通せるし。

電源回路はTMC6300の動作範囲にできるだけ合わせたかったのでTPS63070にしてみた。ESP32でブラシ付きモータ動かしてたときみたいに昇降圧にしておけば電圧下がってもリセットしにくいかなと。モータのトルクがどのぐらい出せるかわからないけど乾電池動作も可能かも。

ついでにこのモータドライバを複数枚使いたいときにCAN使えたらいいなと思ってCANトランシーバも乗っけてみてたり。最初はSimpleFOCのモニタとかをそのまま通せるようにRS-485にしようと思って設計していたんだけど、STM32F103にはRS-485 ModeがなかったのでGPIOでやるのも送信完了の処理が面倒そうだったのでやめた。CANトランシーバも思ったよりやすかったし。

モータよりほんの少しだけ小さい直径34mmに詰め込んでみた。
基板設計よくわからない。
丸田先生のCompact SimpleFOC Controller Boardのインスパイア的な感じかな…
CAD画面のスクショだと見づらいので3Dモードでのスクショはこんな感じ。シャント抵抗の3Dモデルはテキトー。本当は12mΩぐらい。2層基板に詰め込んでみた。はたして動くのだろうか

電子部品は結構アリエクでポチった。アリエクで大丈夫なのかな…
コネクタはJSTのフットプリントなんだけど互換の端子で行けるかな?互換の端子のほうが厚みはある気がする。
6PWMでコンプリメンタリタイマを使用するとシリアルブートローダのピンが使えなくなるのでBOOT0はGNDに直結。ライタはとりあえずBlackMagicProbeを使う予定。SWDのコネクタはRaspberry Pi Picoのパクリ。(小さいし)

ということでJLCPCBで発注してみた。
KiCADのFabrication Toolkitっていうプラグインを入れてZIPファイルを生成したらJLCPCBのサイトaにドラッグアンドドロップするだけだった。
ガーバビューワーも見やすい。とりあえず5枚で2ドル、送料がOCS NESで1ドルキャンペーンにPayPal手数料0.5ドルで合計530円ぐらいだった。
6/8に発注したら6/11には発送されていて、13日には関空に到着していたっぽい。そして今日ヤマトでネコポスとして到着。トラッキングは最初はOCSのサイトで確認できて、国内につくと同じトラッキングがヤマトで確認できるようになっていた。
あとは実装するだけ。TMC6300の真ん中のパッドが手ハンダできるようにスルーホールにしておけばよかったかな。ちょっと気合でハンダしないといけないかも。ホットプレートも安いの出てるし購入検討しようかな…
電子部品のほうがまだ全部揃ってないのでこんな感じで実装の表を作って待機かな。

2025年6月14日土曜日

アナログパネルメータをRaspberry Pi Picoで動かしてみた。

 アナログメータってかっこいいよね。ということでアリエクでアナログメータが安く売っていたので試しに買ってみた。マイコン直結で動かせたたら面白いので今回は電圧用の3V品にしてみた。

91C4
91C4っていうメータ。
やすい送料を選んでみたので送料込みで227円だった。3週間ぐらいかかった。UM~DOのトラッキングは最後まで追跡できないっぽいので追跡できなくなってから1週間後ぐらいに届いた感じ。
ネジも付属していた。
91C4
裏面は固定用と思われるネジが下に出ていて、端子が真ん中あたりから出てる感じ。この向きだと右側がGNDで左側が入力っぽい。
全部M3だった。

91C4
自立するぐらい奥行きは長い。

3V仕様なので3.3VのマイコンのPWMで動かせるんじゃないかということでRaspberry Pi Picoに接続して試してみた。
#define pwmPin 15  // PWM 出力に使う GPIO ピン

void setup() {
  Serial.begin(115200);
  while (!Serial);
  pinMode(pwmPin, OUTPUT);
  analogWriteFreq(20000);       // PWM周波数を20kHzに設定
  analogWriteResolution(8);     // 8bit分解能(0〜255)

  Serial.println("Set PWM");
}

void loop() {
  if (Serial.available()) {
    int duty = Serial.parseInt();

    if (duty < 0) duty = 0;
    if (duty > 255) duty = 255;

    analogWrite(pwmPin, duty);

    Serial.print("PWM:");
    Serial.println(duty);
  }
}
メータのプラスをGPIO15に繋いで、GNDはGNDに接続してシリアルコンソールから数字を送ると針が動くやつ。earlephilhower版のArduino環境。
マイコンは3.3Vなのでいきなり255は振り切ってしまうので振り切らないギリギリをちょっとずつ試したところ、3Vメーターだと245ぐらいが最大だった。
次に自動でスイープしてみた。
#define pwmPin 15

void setup() {
  analogWriteFreq(20000);          // 20kHzに設定
  analogWriteResolution(8);        // 8bit分解能 (0~255)
  pinMode(pwmPin, OUTPUT);
}

void loop() {
  for (int duty = 0; duty <= 245; duty++) {
    analogWrite(pwmPin, duty);
    delay(20);
  }

  for (int duty = 245; duty >= 0; duty--) {
    analogWrite(pwmPin, duty);
    delay(20);
  }
}

最大と最小付近で少し針が触れる感じが良い。

やっぱりアナログメータ味があるね。自動車用のメータとかだとステッピングモータ系になっていたりするので針がキビキビ動いたりするけど、こちらはかなり振れる。

昔テストしてみたArduinoでOBD2のデータ取るやつとか使うとレスポンスが悪いアナログメータが作れそう。
音声をADCで入力してメーターに出力するという無駄な自作VUメータとかも作れるかも。

2025年6月7日土曜日

ジンバル用ブラシレスモータをSimpleFOCで動かしてみた

 前回2804 220KVモータMT6701を取り付けて角度を検出できるようになったので、次はDRV8313を使用して回してみた。FETとゲートドライバ内蔵の3相モータドライバICでこのクラスのモータなら簡単に回すことが可能とか。同志から借りてきた。
これでArduinoからSimpleFOCライブラリを使って簡単にベクトル制御が試せるっぽい。

DRV8313は電源とPWM3つとENさえ繋げばモータが回せる構成。今回借りてきたのはSimpleFOCMiniという評価ボード。

マイコンにはBluepillを使用してみた。STM32F103はモータを回すためのタイマとかも充実しているような感じっぽいけど、今回は3PWMなのであんまり関係ないかも。6PWMでコンプリメンタリタイマを使ったり、同期でローサイドの電流測ったりするなら良いかもしれない。

DRV8313が最低8Vっぽいので昇圧回路を使用した。あとBluepillのUSB CDCだとリセット直後のログが見づらいのでSerial Bootloader経由で書き込むようにしておいた。これなら書き込んだあとにそのままシリアルのログが見れる。

とりあえず電流センサは搭載していないのでMT6701と3PWMでの角度制御を試してみた。
#include "Arduino.h"
#include "SPI.h"
#include "SimpleFOC.h"
#include "SimpleFOCDrivers.h"
#include "encoders/MT6701/MagneticSensorMT6701SSI.h"

#define CSN1 PA15
#define CLK1 PB3
#define MISO1 PB4
#define MOSI1 PB5

SPIClass SPI_1(MOSI1, MISO1, CLK1);
MagneticSensorMT6701SSI sensor(CSN1);
BLDCMotor motor = BLDCMotor(7);
BLDCDriver3PWM driver = BLDCDriver3PWM(PB6, PB7, PB8, PB5);

float target_angle = 0;
Commander command = Commander(Serial);
void doTarget(char* cmd) { command.scalar(&target_angle, cmd); }

void setup() {

  Serial.begin(115200);
  SimpleFOCDebug::enable(&Serial);

  sensor.init(&SPI_1);
  motor.linkSensor(&sensor);
  driver.voltage_power_supply = 8;
  driver.init();
  motor.linkDriver(&driver);
  motor.foc_modulation = FOCModulationType::SpaceVectorPWM;
  motor.controller = MotionControlType::angle;
  motor.PID_velocity.P = 0.2f;
  motor.PID_velocity.I = 20;
  motor.voltage_limit = 8;
  motor.LPF_velocity.Tf = 0.01f;
  motor.P_angle.P = 20;
  motor.velocity_limit = 40;
  motor.useMonitoring(Serial);
  motor.init();
  motor.initFOC();

  command.add('T', doTarget, "target angle");

  Serial.println(F("Motor ready."));
  Serial.println(F("Set the target angle using serial terminal:"));
  _delay(1000);
}

void loop() {
  motor.loopFOC();
  motor.move(target_angle);
  command.run();
}
SimpleFOC付属のサンプルスケッチにSimpleFOCDriverのMT6701の設定を追加しただけ。
これを書き込むとモータがゆっくり正転逆転してセンサのキャリブレーションを行って、シリアルコンソールからT10とか値を入力すると角度制御で無事動かすことができた。

パラメータとかいじってないのに普通に動くのでこれは楽…
昇圧回路だと電源が足りないのか、角度固定中に手で無理やり動かすと唸りを上げているのでちゃんとした電源にして試さないと…

とりあえずこれでモータの動作確認もできたので次は電流センサを追加してベクトル制御に対応させたい。

2025年6月2日月曜日

ジンバル用モータに磁気エンコーダ基板を取り付けてみた。

 この前購入した2804 220KV用にSSI接続化したMT6701センサ基板を取り付けられるような3Dプリント部品が出来上がってきたので早速組み立ててみた。

今回はM2x6で全部組み立てられる設計。センサ側は穴を少し小さめにしておいたので無理やりM2ネジをねじ込んでねじ切っておいた。バリが出たのでカッターで少し面取り。

モータを取り付けてみると固定穴はいい感じの寸法かも。使わないコネクタを避けた部分が少しズレてた。あたっていないのでまぁOK。
最後にSSI化したMT6701のセンサ基板を装着。PWM/Anarogの部分にはCSが来ている。

モータとMT6701が合体できたのでセンサの動作確認。センサと磁石のギャップは1.3mmぐらいに設定してある。
前にBluepillで試したときのスケッチでもいいんだけど、SimpleFOCで動かしたかったのでSimpleFOCのDriverライブラリを使用してMT6701の動作確認。(結局磁石の距離がいい感じなのかを調べるために使ったんだけどね…)
#include <SimpleFOC.h>
#include <SimpleFOCDrivers.h>
#include <encoders/mt6701/MagneticSensorMT6701SSI.h>

SPIClass SPI_1(PB5, PB4, PB3);  // MOSI, MISO, SCK
#define MT6701_CS PA15 //CS

MagneticSensorMT6701SSI sensor = MagneticSensorMT6701SSI(MT6701_CS);

void setup() {
  Serial.begin(115200);
  sensor.init(&SPI_1);
}

void loop() {
  sensor.update();
  float angle = sensor.getSensorAngle();
  float degrees = angle * (360.0 / (2 * PI));
  Serial.print("Angle (rad): ");
  Serial.print(angle, 4);
  Serial.print(", (deg): ");
  Serial.println(degrees, 2);
  delay(200);
}

このライブラリはSimpleFOCをMT6701のようないろんな磁気エンコーダに対応できるようなライブラリで、MT6701にも対応している。このライブラリを使用して角度を表示できるようなスケッチでまずはセンサの動作確認をしてみた。MOSIは未使用なので、基板のシルクでいうとSDAにMISOを、SCLにSCKを、PWM/AnalogピンはパターンカットしてCSに接続しているのでCSに接続、VCCは3.3Vを使用。

SimpleFOCでは角度はラジアンで扱っているのでわかりやすいように度になおして表示してみた。ちゃんと一周で360度になるので大丈夫そう。

とりあえずセンサの動作確認ができたので次回はモータドライバを接続してSimpleFOCで回せるようにしてみたい。

2025年5月31日土曜日

ジンバル用ブラシレスモータを買ってみた。

 AliExpressを見ていたらジンバル用モータが安く売っていたので購入してみた。2804の220KVらしい。

2804-220kv
2804ってのはステータのサイズを元にした規格らしく、ロータも含めたサイズ的には直径34.5ぐらいあった。真ん中の3つの穴はM2だった。
2804-220kv
裏側には磁気式エンコーダ用のセンサマグネットが装着されていた。2.54ピッチのピンヘッダが出ているけど3Pinがモータにつながっているだけで、他の2Pin×2はおそらくただの固定用。こちら側も3つM2の固定用穴が空いてる。

抵抗値は5.2Ωって書いてあったので低電圧でも回せそうな感じ?あまり情報がないけど色んな商品ページを見る限りは定格は5V-16.8Vっぽい?
バリエーションがあって、360°回るものと一回転しないようにロックがついてる物があるらしい。これはジンバル用だからかな?センターの穴計で分けられてて、7.3mmのほうが360°回るらしいので今回はそれにした。320円ぐらいだけど送料がかかる。

前に購入したMT6701でも使ってSimpleFOCで回してみようということでOnshapeで簡易的に3Dデータを作ってみた。
必要な部分の形状しか入っていないし、ノギスで測定したので寸法は微妙かもしれない。
これを元にMT6701の基板を固定できるようにアダプタを設計。
M2x6mmを持っていたので全部同じネジで固定できるようにこんな感じにしてみた。
アセンブリして見た感じはこんな感じ。Onshapeの無料版を使って作っているのでOnshapeのパブリックで「2804-220kv」とかで検索してもらえれば見れちゃうかも。

職場で家に3Dプリンタがある人が何名かいらっしゃるのでお願いしてプリントしてもらおうかと思う。

2025年5月25日日曜日

iRigをPCで試してみた。

 アリエクを眺めていたらiRigが安く売っていたのでポチってみた。210円だった。今どきヘッドホンジャックが搭載されているスマホもないのでとても安い。LightningやType Cの変換コードを使えば使えるのかな?

説明書も入っているけど、IK Multimediaのコピー品かな?模造品の見分け方みたいなのもあったけど、端子が全部金メッキになっていたり対策されてる。

ロゴの印刷は安っぽい。実は6.3mmのジャックを探していたんだけど、ジャック取り用にしても安いかなーと。
こちら側にはイヤホン接続部がある。
コピー品にしてはちゃんとネジがあって分解できる。
抵抗とコンデンサとJFET(62P Nと刻印されているのでおそらくMMBFJ201)が搭載されている。

とりあえずダイナミックマイクが使えるかどうかを確認してみた。

昔iPhoneのイヤホンをPCで使うために作った3.5mmジャックのヘッドホンとマイクを4極プラグに変換するケーブル。これを使えばiRigをPCのマイクポートに接続できる。PCのマイクポートにはバイアス電源があるのでiRigのJFETもスマホ同様動かせるはず。

ダイナミックマイクはPCのマイクポートに直結してはいけないので、バイアス電源がカットされるiRigを使えば行けるんじゃないかと。テスターで測っても端子にDC電圧が出ていなかったので接続は問題なさそう。
しかしながらPC側でマイクブースト30dBにしてマイクの音量を最大にしても音量が結構小さい。ゲインが足りてないのかなぁ。

JFETのゲインを調整してみるかマイクアンプを使うしかないのかもしれない。

端子取り用で購入したけど結構遊べるかもしれない。

2025年5月3日土曜日

QCY MeloBuds Proを買ってみた。

 出張とかでノイキャンのTWSを使っていたんだけども、以前購入したEdifier TWS330 NBのバッテリの持ちがが右側だけ悪くなってきたので今回はQCYのMeloBuds Proを購入してみた。アリエクで4200円だったところ、なかなか届かなくて遅延クーポンで150円分もらえた。

Edifierのも3500円ぐらいで購入しているので同価格帯って感じかな?アクティブノイキャン対応ではお安いと思う。

箱がプチプチの袋に入ってきただけの割には原型を保っている。
日本版はちゃんと箱まで日本語っぽい?でも中身は同じらしい。
思ったよりもコンパクトかも。
付属品は短めの充電ケーブルとイヤピース。最近楕円形おおいような?
ガッツリ保護シールが張ってある。技適マークはカバーの上に刻印されている。
保護シールを剥がすと本体側から充電開始される感じになっていた。
質感はEdifierのほうが高級感というかAirPodsに近い感じがあった。QCYのほうは軽いのも相まって安っぽい感じがする。
ANCの方もあんまり変わりはないかな?という感じがしている。アプリで色々設定はできるけども…

音質はEdifier同様ドンシャリ気味なので交換用としては良いかも。バッテリーの持ちが良くなっているみたいなのでそちらに期待。

2025年4月6日日曜日

Latitude E5470にWindows 11を入れてみた。

 知り合いがPCが未だにWindows 8.1だったのでWindows 11にアップグレードしてみた。DELLのLatitude E5470で、Core i7 6600UなのでDELL公式でもWindows 11はサポートしていないっぽい。TPMも1.2だったし。

しかしTPMを2.0にアップグレードできれば新規インストールでWindows 11が普通に使えるはず…ということでやってみた。

まずはBIOS更新から。DELLのPCは裏面にサービスタグがあるのでDELLの公式ページにサービスタグを入力してBIOSを更新してみた。OSはクリーンインストールするのでBIOSとTPMファームウェアアップデート以外はとりあえず今はやらなくても良さそう。

そこでTPMのファームウェアなんだけど、1.2は表示されてるのに2.0はリストにない…(このLatitude E5470は非対応ってこと?

でもDell TPM 2.0ファームウェア アップデート ユーティリティー 1.3.2.8, A03のリストにはE5470が乗っていたのでとりあえずこちらで更新してみることに。DellTpm2.0_Fw1.3.2.8_V3_64.exeをダウンロードしてきて実行してみると…一応再起動までするけど何も起こらず。

気を取り直して、BIOSの設定に入りTPMをいったんdisableにしてからクリアしてみる。(機能自体のオフではない)そしてもう一度実行してみると…

今度は再起動したあとにファームウェア更新中の画面に!

再起動後、デバイスマネージャーからTPM2.0になっていることを確認。

これでTPM2.0になったのでWindows 11が動かせる。Windows 11のインストールUSBメモリを作成して再起動してF12連打でブートメニューが出るのでそこからWindows 11をインストールすることができた。

TPM2.0がなくてもインストールUSBメモリに細工をすればインストールできるらしいけど今回はTPM2.0対応ということで正規にインストールできた。アップグレード非対応のCPUだったけども、新規インストールなら対応しているしサクサク動いているのでまだしばらく使えそう。SSDもM.2のSSDが入っていたし…

DELL公式では非対応ってなっているけども、DELL純正ソフトウェアもWindows 10のをインストールして使うことができた。ちなみにプロダクトキーは入力しなくても勝手にライセンス認証された。おそらくこのPC自体にWindows 10のキーも含まれているやつだったのかな?

2025年4月5日土曜日

DC電源タイプのPD充電ボードを買ってみた。

 USB PDに対応した充電器って言うとコンセントに直刺しタイプが多いけども、DC入力タイプの充電ボードが売っていたので購入してみた。

CKCS U1Eってやつの互換品かな?CKCSというロゴは入っていないけどU1Eと書いてある。降圧DCDCコンバータとUSB PDのネゴシエーションがワンチップになってる感じかな?搭載されているチップはレーザで刻印が消されているようだけども、どうやらXPM52CというICらしい。今回はDCジャック付のDC5521バージョンを購入してみた。外径5.5内径2.1の略らしい。

裏面には仕様が書いてあって、8V-30Vまでの対応らしい。一応最大出力65W(20V時かな?)。

降圧しか対応していないのでPCの充電とかで20Vの65Wを使用する際は20V以上の電圧を入力する必要があるっぽい。

試しに12Vを入力してモバイルバッテリーやiPhoneを充電してみた。デバイスに給電開始するとLEDが青く光るっぽい。デバイスを取り外すとLEDが消えるようになっていた。

65Wフルに使ったりする場合はICにヒートシンクを取り付けられるようにしたほうがいいかも。車の12Vでフルに使う場合は24Vとかに昇圧しないとだめかなぁ。



2025年3月29日土曜日

ACCUTag T11を無音化してみた。

 AirTagと同じサイズのACCUTag T11、自転車用にAirTag用防水ケースを購入してみたので無音化してみた。

電池を取り外すと基板が見えるので、基板とケースの間にコーキングヘラを突っ込んでテコの原理で開いてみたら簡単に外れた。ケースは爪三箇所で止まってる模様。

圧電スピーカーが外装ケースに貼り付けてあって、スプリングで接続されている感じ。これは前回と違ってハンダする必要がないので楽かも。圧電スピーカーにテープを貼ってもとに戻すだけ。今回はカプトンテープを使用した。

前回使用したモデルみたいにスイッチがないので電池を入れておけばあとは勝手に起動するので便利かも。音が出ないので初期化のタイミングがわからないけど、特に通常使用では問題にならなそう。CR2025なのでCR2032のモデルに比べて電池の減り具合が少し心配かな。

コツはいるけどヘラを使えばきれいに分解できて簡単に無音化できるし、AirTagより0.2mmぐらい小さいだけなのでAirTag用防水ケースが利用できたりして便利なのでおすすめかも。アリエクだとセールで500円もしないで購入可能だった。

ちなみにアリエクで購入した防水ケースは本当に防水なのかはわからない(130円だった)

2025年3月23日日曜日

AirTagサイズのACCUTag T11を買ってみた。

 アリエクでセールをやっていたのでまた中華タグをポチってみた。今回はAirTagそっくりなACCUTag T11ってやつ。

キーホルダー付きもあったけど、とりあえずついてない方をポチってみた。420円だった。商品ページにはMFi取得済みって書いてあった。

届いてみるとAirTagそっくり。サイズもAirTagより0.2mm小さいだけで、厚みは同じらしい。
裏面はこんな感じ。反時計回りにスライドさせると電池ボックスが開く感じ。裏面はAirTagと違ってプラスティックなのね。
しっかしこの蓋が開かないやつが一個あった。
開くとこんな感じ。電池についてるシートを取り外すと電源が入る。もしかして開かないやつはこのシートが挟まってる?

電源が入ったら3分以内にiPhoneの探すアプリからその他の持ち物を追加でACCUTagとして認識されて無事つながった。ちゃんと製造元はHaveDeerでモデルがACCUTagになっていた。MFiのデータベースで検索しても入っていたのでMFiなのかも。ちなみにファームウェアバージョンは1.7.25だった。

電源をいれるときの音はペアリングされてるときと初期化状態では違うみたい。iPhoneから削除するときはACCUTagのそばで削除するとACCUTagから音が出る。電源がオフの状態や離れた状態で削除すると再利用できなくなる可能性があるので注意。(一応説明書には5回電池を外したり入れたりを繰り返して、ペアリングされてないときのビープがなったら完了と書いてあった。)

Fineinタグみたいに分解はできなさそうな感じ。そして電池がCR2025なので電池持ちが少しきになる。

2025年2月2日日曜日

PLEX PX-BCUDをWindows10で使ってみた。

 ラズパイで使っているPX-BCUDを久しぶりに使用したら、録画データが半分ぐらいドロップしてしまっているのでPCに接続して原因を切り分けしてみた。

Windowsで使用するのは超久しぶりのPX-BCUD。Windows 11も出ているというのに未だにWindows 10を使用しているのだけども、公式のドライバはWindows 8までしかないのでそのままインストールできるか試してみる。

Plexの公式サイトからDriver_pxbcud_win8.zipをダウンロードしてきて、DrvInst64.exeを実行。

ツールは実行できた。

インストールも問題なくできたっぽい。デバイスマネージャーでもちゃんと認識されてる。

デジタル署名もついているので特に何もしなくても普通に認識できちゃう。FSUSB2NみたいにZadigとか使わなくていいのは良いね。
ICカードリーダはデフォルトのドライバで認識するのでドライバのインストールは不要だった。

デバイスドライバーが入れられたら次はTvTestのBonDriverの準備。5年前ぐらいに入れた32Bit版TvTest 0.10.0とBonDriver_BSCS.dllが入っていたのでそのまま使えるかと思いきやどうしてもBonDriverの初期化に失敗してしまう…

ということでBonDriver_BDAS.dllを使用してみることに。

BonDriver_BDAS-1.04.zipをダウンロードしてきて、Releaseフォルダの中のWin32の中に入っているBonDriver_BDAS.dllとルートフォルダにあったBonDriver_BDAS.iniをTvTestのexeがあるところにぶち込み、TvTestを起動してBonDriverをBDASにしたら普通に使えた。もし初期化に失敗する場合は一旦管理者モードでTvTestを起動してみるといいかも。

とりあえずスキャンしてみる。

一部チャンネルだけなんか振り切ってる?
CSの方はもっと振り切ってるのが多いな…

結局Windowsで使ってみたらもっと酷かったという…ほぼ見れない感じ。まだラズパイのほうがカクカクしながらも見れていたので、もしかしたらチューナーの劣化なのかもしれない。周波数オフセットとかしてみたらちゃんと映るかな?






2025年1月13日月曜日

recdvbのトラポン移動対応

 ラズパイで使っているPX-BCUDのpt1_dev.hファイルをトラポン移動に対応させてみた。

ちなみに使用しているrecdvbはversion 1.2.1.1

とりあえずBSの部分だけを以下のように書き換えてビルドすれば大丈夫そうだった。変更されてないところも含めてコピペしました。

    {   0, CHTYPE_SATELLITE, 0, 0x4010, "151"},  /* 151ch:BS朝日 */
    {   0, CHTYPE_SATELLITE, 1, 0x4011, "161"},  /* 161ch:BS-TBS */
    {   0, CHTYPE_SATELLITE, 2, 0x4012, "171"},  /* 171ch:BSテレ東 */
    {   1, CHTYPE_SATELLITE, 0, 0x4030, "191"},  /* 191ch:WOWOWプライム */
    {   1, CHTYPE_SATELLITE, 1, 0x4631, "236"},  /* 236ch:BSアニマックス */
    {   1, CHTYPE_SATELLITE, 2, 0x4632, "251"},  /* 251ch:BS釣りビジョン */
    {   2, CHTYPE_SATELLITE, 0, 0x4450, "192"},  /* 192ch:WOWOWライブ */
    {   2, CHTYPE_SATELLITE, 1, 0x4451, "193"},  /* 193ch:WOWOWシネマ */
    {   4, CHTYPE_SATELLITE, 0, 0x4090, "211"},  /* 211ch:BS11イレブン */
    {   4, CHTYPE_SATELLITE, 2, 0x4092, "222"},  /* 222ch:BS12トゥエルビ */
    {   6, CHTYPE_SATELLITE, 2, 0x46d2, "231"},  /* 231ch:放送大学ex */
    {   6, CHTYPE_SATELLITE, 2, 0x46d2, "232"},  /* 232ch:放送大学on */
    {   6, CHTYPE_SATELLITE, 2, 0x46d2, "531"},  /* 531ch:放送大学ラジオ */
    {   6, CHTYPE_SATELLITE, 0, 0x40d0, "141"},  /* 141ch:BS日テレ */
    {   6, CHTYPE_SATELLITE, 1, 0x40d1, "181"},  /* 181ch:BSフジ */
    {   7, CHTYPE_SATELLITE, 0, 0x40f1, "101"},  /* 101ch:NHKBS1 */
    {   7, CHTYPE_SATELLITE, 0, 0x40f1, "102"},  /* 102ch:NHK-BS1臨時 */
    {   7, CHTYPE_SATELLITE, 1, 0x48f3, "200"},  /* 200ch:BS10 */
    {   7, CHTYPE_SATELLITE, 2, 0x40f2, "201"},  /* 201ch:BS10スターチャンネル */
    {   9, CHTYPE_SATELLITE, 0, 0x4730, "245"},  /* 245ch:J SPORTS 4 */
    {   9, CHTYPE_SATELLITE, 1, 0x4731, "242"},  /* 242ch:J SPORTS 1 */
    {   9, CHTYPE_SATELLITE, 2, 0x4732, "243"},  /* 243ch:J SPORTS 2 */
    {   9, CHTYPE_SATELLITE, 3, 0x4733, "244"},  /* 244ch:J SPORTS 3 */
    {  10, CHTYPE_SATELLITE, 0, 0x4750, "252"},  /* 252ch:WOWOWプラス */
    {  10, CHTYPE_SATELLITE, 1, 0x4751, "255"},  /* 255ch:日本映画専門チャンネル */
    {  10, CHTYPE_SATELLITE, 2, 0x4752, "234"},  /* 234ch:グリーンチャンネル */
    {  11, CHTYPE_SATELLITE, 0, 0x4770, "256"},  /* 256ch:ディズニー・チャンネル */
    {  11, CHTYPE_SATELLITE, 1, 0x4971, "265"},  /* 265ch:BSよしもと */
    {  11, CHTYPE_SATELLITE, 2, 0x4973, "260"},  /* 260ch:BS松竹東急 */

こんな感じでrecdvbのソースのフォルダ内のpt1_dev.hのBSの部分だけ書き換えて

make clean
make
sudo make install 

でrecdvbの更新が完了。

あとはMirakurunのBSの部分だけチャンネルをスキャンしておいた。

curl -X PUT "http://127.0.0.1:40772/api/config/channels/scan?type=BS&setDisabledOnAdd=false&refresh=true"
curl -X PUT "http://127.0.0.1:40772/api/config/channels/scan?type=CS&setDisabledOnAdd=false&refresh=true"
sudo mirakurun restart

これでBSのトラポン移動対応完了。

Windows側でTvTestでリアルタイム視聴のBonDriverを入れてる場合はTvTest側で再スキャンかけないと反映されないので注意かも。