全年全月2日の投稿[34件]
2025年1月 この範囲を時系列順で読む この範囲をファイルに出力する
あけましておめでとうございます
本年もガラクタ弄りを頑張りたいと思います。
年末、Antari F1-FAZER のポンプをニコイチで直せないかと手配した定格電圧違いの同型ポンプが入荷しました。正月休みにも飽きてきたのでネタにしますか。
発煙部も酢で掃除が出来そうなんで試してみたい。
#照明器具
本年もガラクタ弄りを頑張りたいと思います。
年末、Antari F1-FAZER のポンプをニコイチで直せないかと手配した定格電圧違いの同型ポンプが入荷しました。正月休みにも飽きてきたのでネタにしますか。
発煙部も酢で掃除が出来そうなんで試してみたい。
#照明器具
2024年12月 この範囲を時系列順で読む この範囲をファイルに出力する
ノートパソコンはレッツノート、型番は CF-NX2ADHCS です。
ぶっちゃけ古い機種。しかも光学ドライブが無いビジネスリースの戻り品。実体はジャンクです。
そんなパソコンですが使えます。レッツノートは作りが良く物理的に丈夫。
で、それを Windows11Pro24H2 にしています。本来は上限が Windows8.1 です。
一度インストールしたのですがイマイチ調子が悪い。再々インストール中です。丁寧に丁寧にやっています。
ドライバは Windows8 のモノで行けてます。Panasonic のサイトからダウンロード出来ます。
左枠の番号がインストール順です。今のところここのドライバ以外が必要ないっぽい。
2度当てないといけないとか、setup.exe が無いモノとかコツがありますが、ドライバの当て方も知らん人がこんなことはしないでしょうから手順は割愛。
#パソコン
ぶっちゃけ古い機種。しかも光学ドライブが無いビジネスリースの戻り品。実体はジャンクです。
そんなパソコンですが使えます。レッツノートは作りが良く物理的に丈夫。
で、それを Windows11Pro24H2 にしています。本来は上限が Windows8.1 です。
一度インストールしたのですがイマイチ調子が悪い。再々インストール中です。丁寧に丁寧にやっています。
ドライバは Windows8 のモノで行けてます。Panasonic のサイトからダウンロード出来ます。
左枠の番号がインストール順です。今のところここのドライバ以外が必要ないっぽい。
2度当てないといけないとか、setup.exe が無いモノとかコツがありますが、ドライバの当て方も知らん人がこんなことはしないでしょうから手順は割愛。
#パソコン
2024年11月 この範囲を時系列順で読む この範囲をファイルに出力する
客席テーブルは懸念事項がクリアできたので治具を作っていきます。
仕上がりで一番大事なのはテーブル面の平滑さです。繋がりに僅かな段差があっても使い心地が悪いからです。延長部はニス仕上げにしようと思っていますので0.1~0.2mmくらい低くして塗膜で調整するつもりです。ニスはワシンの油性1液ウレタンにするか水性ウレタンにするか思案中です。木ボンドに悪さをしないのはどちら?ってのがポイントです。
なんでかんで、ワシンのニスは素晴らしいのです。
#ガチ工作
仕上がりで一番大事なのはテーブル面の平滑さです。繋がりに僅かな段差があっても使い心地が悪いからです。延長部はニス仕上げにしようと思っていますので0.1~0.2mmくらい低くして塗膜で調整するつもりです。ニスはワシンの油性1液ウレタンにするか水性ウレタンにするか思案中です。木ボンドに悪さをしないのはどちら?ってのがポイントです。
なんでかんで、ワシンのニスは素晴らしいのです。
#ガチ工作
スマホ(iPhone)の電池を交換しました。ちょっと多めに電話をすると1日持たなくなったからです。
オジサンご用達の「SE2」ですが、ゲームをしないのでスペックに不満を感じることはありませんし、何よりも買い替えは高価過ぎます。
正規のショップにお願いしましたが、新品購入の1/10の費用ですし、専用の開封工具を使わないと画面が割れるリスクがあるので自分で頑張る程でもないかなと。
#器具の修理
オジサンご用達の「SE2」ですが、ゲームをしないのでスペックに不満を感じることはありませんし、何よりも買い替えは高価過ぎます。
正規のショップにお願いしましたが、新品購入の1/10の費用ですし、専用の開封工具を使わないと画面が割れるリスクがあるので自分で頑張る程でもないかなと。
#器具の修理
テーブルの天板を削ってみました。

切り子を吸うイイ感じの集塵ノズルを見つけたのでトリマーで加工しました。一回につき深さ0.3~0.5mmくらいの切削です。Φ32mmのビットを使ったのでバックラッシュが強いかと思いましたが、一回に削る深さを抑え目にすればほとんどありません。
削ったところには3mm厚の合板を貼るつもりですが、試し切りなので2.5mmくらいで止めてます。現物合わせで深さを調整します。
板の積層は表から3mm、9mm、溝に入れるサネが3mm、12mm、裏面の渡りが3mmです。溝はチップ合板にあるので精度が期待出来ませんので、表から2枚目の9mm厚を自動カンナ盤で調整しながらサネを合わせます。
見込みが付いたので進めましょう。
#ガチ工作


切り子を吸うイイ感じの集塵ノズルを見つけたのでトリマーで加工しました。一回につき深さ0.3~0.5mmくらいの切削です。Φ32mmのビットを使ったのでバックラッシュが強いかと思いましたが、一回に削る深さを抑え目にすればほとんどありません。
削ったところには3mm厚の合板を貼るつもりですが、試し切りなので2.5mmくらいで止めてます。現物合わせで深さを調整します。
板の積層は表から3mm、9mm、溝に入れるサネが3mm、12mm、裏面の渡りが3mmです。溝はチップ合板にあるので精度が期待出来ませんので、表から2枚目の9mm厚を自動カンナ盤で調整しながらサネを合わせます。
見込みが付いたので進めましょう。
#ガチ工作
2024年10月 この範囲を時系列順で読む この範囲をファイルに出力する
少し時間が空いたので、LED-PAR の基板を触りました。

DMX の入力部の部品を換装です。
DMX コネクタからレシーバICの間に繋がる部品すべてと SN75176 を取り外し、LT1785 を取り付け、DMX コネクタから LT1785 まで繋がる様に 3216 の 0Ω を入れます。
NG 基板を使っての練習ですが、良さそうなので次は稼働機に手を付けてみます。
この作業は表面実装タイプの部品が相手になりますが、先端が平たい半田ゴテが楽です。
本体はHAKKOさんのFX600-2、コテ先には同じくHAKKOさんの2.4mm幅T18-D24と5mm幅T18-S3です。それぞれ2本使いすれば一般的な円錐型より表面実装部品を簡単に扱えます。
FX600-2・・・温度調整が可能で相手物の熱容量が大きくても極端に温度が変わらないので扱いやすい。

T18-D24・・・先端が平たく幅2.4mmです。3216や2012などの表面実装部品を扱いやすい。

T18-S3・・・先端が平たく幅5mmです。今回はSOP-8のLT1785を外すのに力を発揮しています。

#器具の修理

DMX の入力部の部品を換装です。
DMX コネクタからレシーバICの間に繋がる部品すべてと SN75176 を取り外し、LT1785 を取り付け、DMX コネクタから LT1785 まで繋がる様に 3216 の 0Ω を入れます。
NG 基板を使っての練習ですが、良さそうなので次は稼働機に手を付けてみます。
この作業は表面実装タイプの部品が相手になりますが、先端が平たい半田ゴテが楽です。
本体はHAKKOさんのFX600-2、コテ先には同じくHAKKOさんの2.4mm幅T18-D24と5mm幅T18-S3です。それぞれ2本使いすれば一般的な円錐型より表面実装部品を簡単に扱えます。
FX600-2・・・温度調整が可能で相手物の熱容量が大きくても極端に温度が変わらないので扱いやすい。

T18-D24・・・先端が平たく幅2.4mmです。3216や2012などの表面実装部品を扱いやすい。

T18-S3・・・先端が平たく幅5mmです。今回はSOP-8のLT1785を外すのに力を発揮しています。

#器具の修理
2024年9月 この範囲を時系列順で読む この範囲をファイルに出力する
LED-PAR の基板です。

赤枠で囲まれた所がRS485を受信するSN75176と保護回路の様です。これを全て取っ払い、SN75176 の代わりに LT1785 を取り付け、配線の一部をジャンパーします。
功を奏すかはやってみないとわかりませんが、中華電機に発注した SOPパッケージの LT1785CS8 が届いたら試してみましょう。
これらを外すには先端が平たい半田ゴテの2本使いが便利なのでポチリました。
追記
中華電機に発注した LT1785CS8 は日本に上陸したそうですから、遅くとも今週中には手に出来そうです。
半田ゴテも入荷しました。
さてさて。
#器具の修理

赤枠で囲まれた所がRS485を受信するSN75176と保護回路の様です。これを全て取っ払い、SN75176 の代わりに LT1785 を取り付け、配線の一部をジャンパーします。
功を奏すかはやってみないとわかりませんが、中華電機に発注した SOPパッケージの LT1785CS8 が届いたら試してみましょう。
これらを外すには先端が平たい半田ゴテの2本使いが便利なのでポチリました。
追記
中華電機に発注した LT1785CS8 は日本に上陸したそうですから、遅くとも今週中には手に出来そうです。
半田ゴテも入荷しました。
さてさて。
#器具の修理
2024年7月 この範囲を時系列順で読む この範囲をファイルに出力する
JAXAのH3ロケット3号機の打ち上げが成功しました!!
1号機の失敗がヤリ玉に挙がっただけに、2号機に続いての成功は嬉しいことです。
1号機については、H3の要である新型LE9エンジンを用いた1段目が正常に動作し、H2から流用した2段目が誤動作しました。ある意味H3のH3たる部分は成功したワケです。この点に着目せずH3全体をダメだ日本の技術はダメだと論じたメディアには疑問を感じています。プロジェクトが失敗したことは紛れもない事実ですが、H3は実現不可能とさえ言われたLE9エンジンが本丸ですから「LE9が成功したのに打ち上げが失敗だったことは残念だ」と言えないのが不思議。表面的で振り切った論評しか出来ない大手メディアの方がよっぽど性能不足だと思う。
ともかく成功しました。海外の打ち上げ手段に並ぶ低コストを実現したのですから、H2に匹敵する高成功率を積み上げ、スケジュールさえ合えばH3を選んでもらえるようになって欲しいものです。
ただ、イプシロンの時もそうですが、初期機体において詰めの甘さによる失敗が付きまとうのはどうにかして欲しい。複雑で高度な機械ですから一発で成功させるのは至難だと思いますが印象は大事です。JAXAはカグヤ、アカツキ、イカロス、コウノトリなどでNASAすら驚くことをやってのけてきたのですから、脇の甘さによる二流感を払拭できるようにご尽力を頂けたらと思っています。
これは余談かもしれませんが、JAXAの技術と成果は日本の防衛に寄与していると考えています。いざとなれば強力な兵器に転用できる技術だからです。もちろん、清すぎるくらい平和的な使い方しかしていませんが、確実な技術を持つことは実体を持つのと同義です。兵器の実体は無いが有るのと同じに扱われるなら最も平和的で低コストな抑止力です。
#雑記
1号機の失敗がヤリ玉に挙がっただけに、2号機に続いての成功は嬉しいことです。
1号機については、H3の要である新型LE9エンジンを用いた1段目が正常に動作し、H2から流用した2段目が誤動作しました。ある意味H3のH3たる部分は成功したワケです。この点に着目せずH3全体をダメだ日本の技術はダメだと論じたメディアには疑問を感じています。プロジェクトが失敗したことは紛れもない事実ですが、H3は実現不可能とさえ言われたLE9エンジンが本丸ですから「LE9が成功したのに打ち上げが失敗だったことは残念だ」と言えないのが不思議。表面的で振り切った論評しか出来ない大手メディアの方がよっぽど性能不足だと思う。
ともかく成功しました。海外の打ち上げ手段に並ぶ低コストを実現したのですから、H2に匹敵する高成功率を積み上げ、スケジュールさえ合えばH3を選んでもらえるようになって欲しいものです。
ただ、イプシロンの時もそうですが、初期機体において詰めの甘さによる失敗が付きまとうのはどうにかして欲しい。複雑で高度な機械ですから一発で成功させるのは至難だと思いますが印象は大事です。JAXAはカグヤ、アカツキ、イカロス、コウノトリなどでNASAすら驚くことをやってのけてきたのですから、脇の甘さによる二流感を払拭できるようにご尽力を頂けたらと思っています。
これは余談かもしれませんが、JAXAの技術と成果は日本の防衛に寄与していると考えています。いざとなれば強力な兵器に転用できる技術だからです。もちろん、清すぎるくらい平和的な使い方しかしていませんが、確実な技術を持つことは実体を持つのと同義です。兵器の実体は無いが有るのと同じに扱われるなら最も平和的で低コストな抑止力です。
#雑記
2024年6月 この範囲を時系列順で読む この範囲をファイルに出力する
今更ですが、PIC の開発環境を MPLAB-X に完全移行しています。このところ PIC のソースコードを書いていなかったので取り急ぎの必要がなかったのですが、DMX のスプリッターを増産することになったのでこの際といったところです。
問題点はアセンブラが MPASM から XC8 になったためソースコードの記述が違うことです。
以前にも少し書いたのですが、整理したので改めて揚げてみます。
1)ラベル文字の最後に ' : ' をつける
例:
--- MPASM ---
LOOP
NOP
GOTO LOOP
--- xc8_asm ---
LOOP:
NOP
GOTO LOOP
2)0x以外の数値識別子が異なる
例:
--- MPASM ---
2進数 B'01001111'
8進数 O'72'
10進数 D'34' または .34
16進数 H'4F' または 0x4F
--- xc8_asm ---
2進数 01001111B
8進数 72Q
10進数 34
16進数 04FH または 0x4F
3)cblock は使えないので equ を使用する
4)org の代わりに、psect を使用する
コードの開始アドレスを指示するのだが、二か所に記述する。これまで ORG を書いた本文の位置と Linker に記述。
例1:
インデックスの名前を Code_Start としアドレスを 0x0000 とする場合。
(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。
PSECT Code_Start,class=CODE,delta=2
(2) <project properties ダイアログ> <pic-as Linker> <Custom linker options> に以下を記述する。
-pStart_Code=0h
例2:
インデックスの名前を Int_Vec としアドレスを 0x0004 とする場合。
(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。
PSECT Int_Vec,class=CODE,delta=2
(2) <project properties ダイアログ> <pic-as Linker> <Custom linker options> に以下を記述する。
-pInt_Vec=4h
例3:
インデックスの名前を Tables としアドレスを 0x0400 とする場合。
(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。
PSECT Tables,class=CODE,delta=2
(2) <project properties ダイアログ> <pic-as Linker> <Custom linker options> に以下を記述する。
-pTables=400h
5)コンフィグ指定は、xc8 の形式とする
MPLABX のメニュー [Production] [Set Configuration Bits] を用いると各項目の設定から以下のようなコードの生成まで出来るので本文の冒頭にコピペする。
例:
; CONFIG1
CONFIG FOSC = EXTRCCLK ; Oscillator Selection bits (EXTRC oscillator; CLKO function on RA6/OSC2/CLKO)
CONFIG WDTE = ON ; Watchdog Timer Enable bit (WDT enabled)
CONFIG PWRTE = OFF ; Power-up Timer Enable bit (PWRT disabled)
CONFIG MCLRE = ON ; RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is MCLR)
CONFIG BOREN = ON ; Brown-out Reset Enable bit (BOR enabled)
CONFIG LVP = ON ; Low-Voltage Programming Enable bit (RB3/PGM pin has PGM function, Low-Voltage Programming enabled)
CONFIG CPD = OFF ; Data EE Memory Code Protection bit (Code protection off)
CONFIG WRT = OFF ; Flash Program Memory Write Enable bits (Write protection off)
CONFIG CCPMX = RB0 ; CCP1 Pin Selection bit (CCP1 function on RB0)
CONFIG CP = OFF ; Flash Program Memory Code Protection bit (Code protection off)
; CONFIG2
CONFIG FCMEN = ON ; Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor enabled)
CONFIG IESO = ON ; Internal External Switchover bit (Internal External Switchover mode enabled)
6)オペランドでの SFR の表記に注意する
詳細が長すぎるのでここでは割愛
追記
不思議な現象が発生。
MPLABXv5.5ではアセンプルが通るのにv6.2ではエラーが出て通らないプロジェクトがある。アセンブラはどちらも同じバージョンのXC8。
エラーメッセージを見ると書いたソースコードではなく内部的なツールにエラーが起きているとある。
さて、とこから詰めていきましょうか。
#PIC
問題点はアセンブラが MPASM から XC8 になったためソースコードの記述が違うことです。
以前にも少し書いたのですが、整理したので改めて揚げてみます。
1)ラベル文字の最後に ' : ' をつける
例:
--- MPASM ---
LOOP
NOP
GOTO LOOP
--- xc8_asm ---
LOOP:
NOP
GOTO LOOP
2)0x以外の数値識別子が異なる
例:
--- MPASM ---
2進数 B'01001111'
8進数 O'72'
10進数 D'34' または .34
16進数 H'4F' または 0x4F
--- xc8_asm ---
2進数 01001111B
8進数 72Q
10進数 34
16進数 04FH または 0x4F
3)cblock は使えないので equ を使用する
4)org の代わりに、psect を使用する
コードの開始アドレスを指示するのだが、二か所に記述する。これまで ORG を書いた本文の位置と Linker に記述。
例1:
インデックスの名前を Code_Start としアドレスを 0x0000 とする場合。
(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。
PSECT Code_Start,class=CODE,delta=2
(2) <project properties ダイアログ> <pic-as Linker> <Custom linker options> に以下を記述する。
-pStart_Code=0h
例2:
インデックスの名前を Int_Vec としアドレスを 0x0004 とする場合。
(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。
PSECT Int_Vec,class=CODE,delta=2
(2) <project properties ダイアログ> <pic-as Linker> <Custom linker options> に以下を記述する。
-pInt_Vec=4h
例3:
インデックスの名前を Tables としアドレスを 0x0400 とする場合。
(1) 開始アドレスを与えたいコードの直上に次を記述する。ORG の代わりに用いるものである。
PSECT Tables,class=CODE,delta=2
(2) <project properties ダイアログ> <pic-as Linker> <Custom linker options> に以下を記述する。
-pTables=400h
5)コンフィグ指定は、xc8 の形式とする
MPLABX のメニュー [Production] [Set Configuration Bits] を用いると各項目の設定から以下のようなコードの生成まで出来るので本文の冒頭にコピペする。
例:
; CONFIG1
CONFIG FOSC = EXTRCCLK ; Oscillator Selection bits (EXTRC oscillator; CLKO function on RA6/OSC2/CLKO)
CONFIG WDTE = ON ; Watchdog Timer Enable bit (WDT enabled)
CONFIG PWRTE = OFF ; Power-up Timer Enable bit (PWRT disabled)
CONFIG MCLRE = ON ; RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is MCLR)
CONFIG BOREN = ON ; Brown-out Reset Enable bit (BOR enabled)
CONFIG LVP = ON ; Low-Voltage Programming Enable bit (RB3/PGM pin has PGM function, Low-Voltage Programming enabled)
CONFIG CPD = OFF ; Data EE Memory Code Protection bit (Code protection off)
CONFIG WRT = OFF ; Flash Program Memory Write Enable bits (Write protection off)
CONFIG CCPMX = RB0 ; CCP1 Pin Selection bit (CCP1 function on RB0)
CONFIG CP = OFF ; Flash Program Memory Code Protection bit (Code protection off)
; CONFIG2
CONFIG FCMEN = ON ; Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor enabled)
CONFIG IESO = ON ; Internal External Switchover bit (Internal External Switchover mode enabled)
6)オペランドでの SFR の表記に注意する
詳細が長すぎるのでここでは割愛
追記
不思議な現象が発生。
MPLABXv5.5ではアセンプルが通るのにv6.2ではエラーが出て通らないプロジェクトがある。アセンブラはどちらも同じバージョンのXC8。
エラーメッセージを見ると書いたソースコードではなく内部的なツールにエラーが起きているとある。
さて、とこから詰めていきましょうか。
#PIC