<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/phktech_tips/">
    <title>phktech_tips @ ウィキ</title>
    <link>http://w.atwiki.jp/phktech_tips/</link>
    <atom:link href="https://w.atwiki.jp/phktech_tips/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>phktech_tips @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2025-01-16T20:38:54+09:00</dc:date>
    <utime>1737027534</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/51.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/50.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/49.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/48.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/47.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/46.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/45.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/44.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/43.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/phktech_tips/pages/42.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/51.html">
    <title>KiCADライブラリ作成マイルール</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/51.html</link>
    <description>
      *KiCADライブラリの作成マイルール

***外形
コートヤードレイヤに外形を書く｡
外寸のプラス公差にさらに+1を加えた値を外形とする(リード部品の場合)
SMT部品の場合は+0.5を加える｡
手実装の際に､ピンセットを入れる隙間として必要｡

***シルク
太さ0.15､文字高さ1.5を確保する｡

***パターン幅
基本的にL/S0.15/0.15を最小とする｡

***ランド径
ドリル直径は､挿入ピンの直径(角ピンの場合は対角線)の+0.1～+0.2とする｡あまりにガバガバだと実装位置ズレにつながるため｡
ランド径は､ドリル直径+0.6とする(アニュラリングの幅が0.3になるようにする)

***1ピンマーク､極性マーク
実装後に1ピンがどちらかを判別できるようにすること｡
KiCADデフォルトのフットプリントだと､1ピンマークが部品に隠れてしまうケースがある(DIP8のICなど)｡
リード部品のICの1ピンマークは､底辺2､高さ1の二等辺三角形とする｡

**基板ルール
***シルク
挿入部品には部品番号をシルクでいれること｡
SMT部品は基本的にはシルクは印字しない｡

***部品向き
原則として､90度刻みとする｡斜め配置はよほどのことが無い限りしない｡
リード部品の極性の向きは､基板内で統一すること(e.g. 電解コンの向きは基板内で統一すること｡極性間違いの防止のため)

***識別文字列
基板品番を文字高さ2,太さ0.2でいれること｡
基板品番は､PCBXXX-Yとする｡XXXは三桁の連番｡Yは改版記号
H5W10のシルクベタを入れること｡実装仕向けのメモ書きなどに使用    </description>
    <dc:date>2025-01-16T20:38:54+09:00</dc:date>
    <utime>1737027534</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/50.html">
    <title>LD8035E六桁時計</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/50.html</link>
    <description>
      *LD8035Eを用いた時計の製作

共立電子や若松でLD8035EというVFD管が安価に出回っている｡
見た目が可愛いので時計にしてみた｡
&amp;image(VFDCLOCK.JPEG,width=500)

**コンセプト
-実用になるものを→ケースにちゃんといれる
-VFD管は古いものなので､ノスタルジックさを感じられるものに→DIP部品だけで作ってみる
-電源確保がめんどい(ACアダプタはどっか行ってしまう)→USB-C一本で動くものに
-部品を少なく→モジュールを活用

**構成
|項目|値|コメント|
|マイコン|AE-RP2040|秋月で扱っているラズピコ｡USB-Cコネクタであることと､安価なのがポイント|
|点灯方式|ダイナミック点灯|部品を少なくしたいので|
|電源系統|VFD駆動電源生成:NJM2374を用いて､USBバスパワー5Vから､昇圧回路で20Vを生成する|単電源化のため|
|計時方法|電気二重層コンデンサバックアップのRTC搭載|実用にするため|

**回路
回路図[[https://img.atwiki.jp/phktech_tips/attach/50/11/LD8035_VFD_CLOCK.pdf]]
Kicadプロジェクトアーカイブ[[https://img.atwiki.jp/phktech_tips/attach/50/12/LD8035_VFD_CLOCK.zip]]
部品一覧[[https://img.atwiki.jp/phktech_tips/attach/50/13/LD8035Clock_%E9%83%A8%E5%93%81%E4%B8%80%E8%A6%A7.xlsx]]

**基板設計
両面基板で作成｡
発注先はElecrowとした｡アクリル板のレーザーカットサービスを同時に利用したかったため｡
10枚製造して$35.09であった(送料別)｡
提出ガーバー:[[https://img.atwiki.jp/phktech_tips/attach/50/19/GERBER.zip]]
&amp;image(PCB_Panel.png,width=500)
&amp;image(PCB_Dimension.png,width=500)
&amp;image(PCB_Top.JPE    </description>
    <dc:date>2024-12-17T12:39:31+09:00</dc:date>
    <utime>1734406771</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/49.html">
    <title>CurrentProbeModule</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/49.html</link>
    <description>
      #電流測定治具の作成

オシロと組み合わせて,電流を観測するための治具を作成する.

## 仕様
|項目|値|コメント|
|--|--|--|
|チャネル数|4ch|3相モーター+電源電流を想定|
|入力範囲|±36A|レンジ切り替えは無し.オシロ側でレンジ切り替えする|
|帯域|400kHz/80kHzをスイッチで切り替え||
|出力電圧|0Vセンターの±3.6V|例えば,+10Aを入力したときの出力電圧は+1.0V|
|換算係数|10A/V||
|ゲイン精度|±1%|トリマにより±2%で調整する|
|電源|6V～12VのACアダプタ||


##主要部品の選定
###電流センサ
AKMのCZ3703を選択した.
https://www.akm.com/jp/ja/products/current-sensor/lineup-current-sensor/cz37-series/
コアレス式のホール素子式である.コアレスなので,ヒステリシスがなく,高精度が期待できる.
5V単電源で動作する.
ただし,出力がレシオメトリックのため,5V電源の電圧精度が,出力ゲインに影響を与える.

### オペアンプ


### 電源

ACアダプタの6V～12Vをもとに,以下の電源を生成する.
- 高精度5V
- -5V

電流センサの消費電流は25mAと大きい.4chあるため,100mAを消費する.
また,電流センサのゲイン精度確保のため,電圧精度が高いことも必要である.

負電圧は,チャージポンプ(LM2664 Ti)を用いて生成する.負荷電流はせいぜい10mAなので,チャージポンプで十分である.    </description>
    <dc:date>2023-03-22T00:09:43+09:00</dc:date>
    <utime>1679411383</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/48.html">
    <title>STM32_BLDC</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/48.html</link>
    <description>
      #ブラシレスモータドライバを作ってBLDCを回そう!
##概要
Nucleoボード + 自作インバータ基板で,アウターロータブラシレスモータを回してみよう.
モータをただ回すなら,市販のアンプを買ってくるのが最良の選択である(手間,時間,コスト,性能の面で).
あえて自作回路で回すのはほぼほぼ勉強が目的である.

##概要
- 15V～40V単電源で動作する
- モータ電流10Arms,ピーク20Arms,過負荷35A)
- 電流検出はローサイドシャント抵抗式
- なるべく汎用部品で作る
- 制御はUSBから
- 部品点数をなるべく減らす
- 角度センサにはエンコーダを使用する
- 部品は手付前提とする(リードレスとかは使わない.チップは1608サイズを使う)
- テストランドをたくさん入れておく

##お品書き
- CPUボード : NUCLEO-G491RE https://www.st.com/ja/evaluation-tools/nucleo-g491re.html
- インバータFET : TK6R7P06PL,RQ N-Ch 60V 1990pF 26nC 74A 66W TO-252-3
- ゲートドライバ : IRS2005STRPBF 200V high &amp; low-side 0.6A,VCC &amp; VBS UVLO	
- 電源DCDC : MAX5033BUSA+ : 500mA, 76V, High-Efficiency, MAXPower Step-Down DC-DC Converter
- 12Vドロッパ : SBCP56T3G : 80V1A
- 3.3Vドロッパ : 
- 電流検出用オペアンプ : TLV9062QDRQ1
- 電流検出抵抗 : KRL6432E-M-R003-F-T1 3mΩ3W


##各種設計
###設計ツール
KiCAD V6.0.9

プロジェクト名:STM32_BLDC_Dev

###線電流検出範囲の決定
組み合わせるモーターによって決定する.
今回は定格10Arms,ピーク20Armsとした.
ピーク20Armsなら,ピーク値は√2を乗じた28.2Aとなる.
これに20%マージンを載せて,34Aを検出範囲とする.

###電    </description>
    <dc:date>2023-02-19T11:27:07+09:00</dc:date>
    <utime>1676773627</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/47.html">
    <title>STM32_Nucleo</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/47.html</link>
    <description>
      #STM32 F411 Nucleoボードで遊ぶ

ものはこれ
https://www.st.com/ja/evaluation-tools/nucleo-f411re.html

- Lチカ
- UARTによるターミナル
- VCPによるターミナル(USB-UART)
- フラッシュROMによるEEPROMエミュレーション


##Lチカ

NucleoはPA5にHアクティブの緑色LEDが搭載されている.

    /* USER CODE BEGIN WHILE */
    while (1)
    {
      /* USER CODE END WHILE */
      /* USER CODE BEGIN 3 */
	  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, 1);
	  HAL_Delay(500);
	  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, 0);
	  HAL_Delay(500);
    }
    /* USER CODE END 3 */
    }


メモ : スペース4個でソースコードとして表示される


##UARTによるターミナル
Nucleoボードには,USB-UARTコンバータが内蔵されている.
ピンの割当は,PA2:TX(マイコン側が送信)/PA3:RX(マイコン側が受信)である.
マイコン側でUARTのエンジンを組むことで,ターミナル処理が実現可能である.

ターミナルを実現する上で必要なのは以下の要素.
- 受信データのバッファリング
- 送信データのバッファリング
- 受信データのパース
- 送信のラッパ

DMAを使うのが定石だが,UART程度なら割り込みでも実装可能である(基本的に単純なものが良い.DMA使うとコードが増える).
###通信の設定
9600bps,パリティなし.8bit長,ストップビット1.
なお,9600bpsというのはとても遅い.
1バイト送るのに10bit(本体8bit,ストップビットとスタートビットで1ビットずつで合計10bit)必要であるから,960byte/secである.
1バイト送るのに1msecかかる.

    </description>
    <dc:date>2023-02-14T21:01:30+09:00</dc:date>
    <utime>1676376090</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/46.html">
    <title>USB接続熱電対ロガー</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/46.html</link>
    <description>
      *熱電対ロガーの作製
**概要
K熱電対で観測した温度を,AD変換してUSBでHOSTに送信するだけの回路を作る.
USBと熱電対は絶縁する.
USB一本で,温度データを取り込める手軽さを提供する.

**構成
***電源
電源はUSBバスパワーとする.
電源を絶縁するため,絶縁DCDCを搭載する.
DCDCの後段に3.3VLDOを設ける.ノイズ低減および,電圧安定化を目的としている.

***通信
信号絶縁はフォトカプラとする.
USB接続はFT23Xを使う.USBのPIDで面倒なことをしたくないため.

***デジタイズ
熱電対のデジタイズは,冷接点補償を内蔵するデバイスを使う.

**コネクタ
熱電対側:普通のスクリューレス端子台を使う.素線を使うのがほとんどのため.
USB側:スルーホール付きのマイクロUSBを使う.

***その他
部品はSMTとする.
手付けを考慮し,CRは1608サイズとする.
リードレスは使わない.
無理に小型化しない.

**主要部品選定
|項目|型式|備考||
|マイコン|ATMEGA328|安心と実績のAVR.3.3Vで動作.内属クロック8MHzで動作させる.||
|USB-UART|FT230XS-R|SSOPタイプ||
|絶縁DCDC|PDP1-S5-S5-M|5V1W.最小電流20mA||
|フォトカプラ|TLP2361(TPL,E|||
|熱電対ADC|MAX31855KASA+T|K熱電対用||
|熱電対側コネクタ|1985195|3.5ピッチ2極スクリューレス端子台||
|USBコネクタ||スルーホール付きマイクロUSB||    </description>
    <dc:date>2020-05-05T20:07:53+09:00</dc:date>
    <utime>1588676873</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/45.html">
    <title>IOMODULE</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/45.html</link>
    <description>
      *IOモジュール
PCからUSB経由で叩けるロジックIOモジュールを作る

*仕様
|項目|値|
|ロジック入力点数|16|
|レベル|TTL|
|入力抵抗|100kΩプルダウン|
|ロジック出力点数|16|
|レベル|3.3V/5V切り替え|
|出力抵抗|33Ω|
|レベル|TTL|
|アナログ入力点数|4|
|入力抵抗|100kΩ|
|レベル|0-5V|
|アナログ出力点数|2|
|出力抵抗|50Ω|
|レベル|0-5V|

*通信IF
|項目|値|
|方式|USB 仮想COMポート|
|コネクタ|Micro-B|
|絶縁|Yes|

*電源
|項目|値|
|供給|USBバスパワー|

*ハードウエア構成
**マイコン
STM32F303RB
TQFP64で適当に選んだ.

**ロジックバッファ
MC74VHCT541ADTG
入出力パワーダウンプロテクション.入力TTLレベル.

**アナログバッファ
LMV722 CMOS5V Dualタイプ

*USBIF
FT232RL
絶縁する関係で,STM32内蔵のUSBは使えない

*絶縁電源
トランスドライバSN6505Bとプッシュプル絶縁トランスを用いて,USBバスパワー電源を絶縁する

*絶縁トランス
プレーナトランスを使う.コイルを巻くのがめんどい.
コアはPC95EI18/6/10-Z

*出力電圧生成LDO
ロジック出力電圧を3.3V/5Vで切り替え可能にする.
出力電圧可変タイプのLDOを使い,電圧FB抵抗を切り替えることで,電圧可変に対応する.
LP38693-ADJ
可変出力LDO 500mA

*コネクタ
MILコネクタ 20ピン 	XG4A-2034(OMRON)
ラッチ付きで頑丈.入手性も良い.

*ケース    </description>
    <dc:date>2019-09-01T13:07:14+09:00</dc:date>
    <utime>1567310834</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/44.html">
    <title>FRA_2ch</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/44.html</link>
    <description>
      汎用的に使えるFRAの試作

構成は簡単
-正弦波発振器
-ロックインアンプ
-制御部
-電源

ポイントは,正弦波発振器,ロックインアンプ間を絶縁することにある.
こうすることで,参照信号の注入が容易になる.

仕様
あまり欲張らない.
測定周波数範囲:DC～2MHz
発振器出力:10Vpp 20mA
アンプ入力:10Vpp

構成:
正弦波発振器
DDSICを使う
AD9834
50MHz 10Bit

ロックインアンプ
STM32F303内蔵のADCを使う.
最速の5.1Mspsで変換する.変換結果にsin,cosを乗じて,直交検波する.
入力段はアッテネータを,
-1/1
-1/10
-1/100
ゲインブロックを,
-1倍
-10倍
で切り替えられるようにする.    </description>
    <dc:date>2019-04-22T14:14:16+09:00</dc:date>
    <utime>1555910056</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/43.html">
    <title>HBRIDGE_EXP</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/43.html</link>
    <description>
      # ブラシモータドライバの実験


以下のwebページに刺激を受け,出力10A程度のブラシモータドライバを作る.
1. [ELM氏 DCサーボモーターの実験](http://elm-chan.org/works/smc/report_j.html)
2. [strv氏 新刊 : モータドライバのつくりかた　―Vol.3 秋月縛りでつくる―](http://strv.jp/blog)

位置決め用途として実用になるものを作ってみる.DIP部品のみで.

#仕様    </description>
    <dc:date>2019-02-10T08:33:10+09:00</dc:date>
    <utime>1549755190</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/phktech_tips/pages/42.html">
    <title>DSADC</title>
    <link>https://w.atwiki.jp/phktech_tips/pages/42.html</link>
    <description>
      *二重積分型ADCによるデータロガー作成

秋月で購入可能な電子部品のみを用い,それなりに実用になるデータロガーを作る.

**仕様
|項目|値|
|変換方式|二重積分型|
|分解能|5桁|
|変換レート|100ms/s|
|直線性|TBD|
|入力範囲|FS±20mV/2V/200V 3レンジ|
|入力インピーダンス|10MΩ|
|動作温度範囲|20℃～30℃|
|表示|キャラクタLCD|
|電源|USBバスパワー|
|絶縁|USB-ADC間 500V機能絶縁|

**なぜ作るのか
24bitΣ⊿型ADCが数百円で手に入る現状において,二重積分型を,ましてディスクリートで自作する意味はどこにもない.
が,温故知新を実感したい.

**回路方式
***入力段
アナログスイッチ式アッテネータ(スルー or 1/100)-PGA(ゲイン1 or 10)
入力インピーダンスは10MΩなので,バッファアンプはCMOSタイプを使用する.
過電圧入力でも破損しないように,保護ダイオードを設ける.

***二重積分型ADC
教科書には必ず載っている,基本的なAD変換方式.

****電圧配分の検討
-二重積分のためには,変換対象とは逆極性の基準電圧が必要となる.多くの場合,基準電圧は負電圧とする.
-変換対象は正負電圧

負電圧の生成には,チャージポンプなり,正負出力DCDCが必要で,回路が面倒.
そこで,正電圧を分圧して得た電圧を仮想GNDとし,仮想GND-本当のGNDの電位差を負の基準電圧にすることにする.
仮想GNDのレベルは,2.465Vとする.シャントレギュレータNJM1431Aを使って生成する.

もう一つ面倒な要素が,入力電圧が正負であるということである.
入力電圧の正負に応じて,基準電圧の正負を入れ替えるのは面倒である.
そのため,入力電圧に直流オフセットを加算し,常に正電圧になるようにする.
直流オフセットは,仮想GNDレベルの2倍の4.93Vとする.仮想GNDレベルをゲイン2の非反転増幅回路で増幅することで得る.

これで,電源は,正電源一系統でまかなえることになった.

****積分定数
積分オペアンプの出力が飽和しないようにすることを制約として,積分定数を決定する.    </description>
    <dc:date>2018-12-11T13:15:47+09:00</dc:date>
    <utime>1544501747</utime>
  </item>
  </rdf:RDF>
