2019年1月18日 (金)

引っ越し

第一弾の送り出し終了
週明けは開梱作業?

4~5年おきの引っ越しローテーションから抜けられない。
どうしてこうなった。

| | コメント (0) | トラックバック (0)

専門性と実績

分野にもよるとは思うけど、実績あれば、50代でも60代でも
外から呼ばれる程度には、仕事はあるもんなんだなあ、と実感。

まだまだ精進しないといけないな。

| | コメント (0) | トラックバック (0)

2019年1月17日 (木)

趣味のIMU

剥き身のIMUを使うような趣味なんて、普通、あるとは思わないな。

ボの営業さん、世界が広がってよかった。

| | コメント (0) | トラックバック (0)

2019年1月15日 (火)

道具メンテ(ピンセットの脱磁)

0603メトリックとかのチップ部品を取り扱うのに、
良いピンセットは必須なんだけど。

ピンセットが着磁していると大変扱いづらい。
チップフェラエトビーズとか、あるいは小さなパッケージほど
鉄系の材料を使っているのか、部品をつかもうとすると、
勝手にピンセットの先に吸着されてしまう。

ホーザンのP-891のタッチが気に入っているので、
先を研ぎだして使っているのだけれど。
材質が磁性体なので、うっかりすると、いつのまにか
着磁していたりする。

1901151

最近は、ネオジの小さな磁石がそこら中にあるので、
油断ならない。
非磁性のピンセットもあるけど、リン青銅のは、はんだ付けに使うと
ハンダが付きそうだし...

着磁器/脱磁器もあるけど、これでできるレベルの脱磁では
まだまだチップ部品程度だと吸いつけてしまう。

------

メンテナンスの一つとして、普通の脱磁器のような、
力任せではなくて、精密に脱磁することを考える。

こんなものを用意する。

1901152

ピンセットが通せるような非磁性の筒に、#20くらいのワイヤを
100回くらい巻いたもの。
あと、5~10A位流せる、定電圧定電流電源。

用意できる電源の容量と、電線径で巻き数を決める。
組み合わせで、だいたい数百~1000アンペアターン位が目安。

ピンセットを通す。

1901153
ピンセットの先に、小さいねじなどを吸着させて準備終了。

1901154

安定化電源を接続、定電流モードにして、少しずつ電流を
増やしていく。

着磁分と電流が打ち消し合うと、吸い付いているねじが落下する。

1901155

ねじが落ちたら、電流を止め、もう一度吸着させて
電流を少しづつ増やす、を繰り返す。

繰り返すとだんだんと、ねじが落ちるまでの電流が減ってくる。

一気に電流を上げると、オーバーシュートさせてしまい、
逆側に着磁するので、要注意。

ある程度電流を流しても、磁力が減ってく感じが無い時は
電流による磁界と、着磁している方向が同じになっている。
その場合は、ピンセットを逆から差し込むか、
電流の向きを変える。

何度か繰り返すと、電流を止めても、ねじ程度では
吸着しなくなるようになる。

今度は、チップ部品に変え、同じ手順を繰り返す。

1901156

チップ部品は、磁性だけでなく、静電気などでも吸着するために
電流を流しながら、軽くトントンと叩いて調節するとやりやすい。

これをある程度繰り返すことで、チップ部品も吸着しなくなる
程度にまで脱磁できる。

------

はんだ付け用のピンセットも、普通に工具として使っていると、
どうしても着磁してしまうこともある。
着磁したピンセットをそのまま使うと、かなり作業性が悪いが、
この手順で脱磁することで、作業性を取り戻せる。

刃物を研ぐようなものなので、気になるようになったら、
時々調整している。

0603あたりのはんだ付けに、ピンセットがうまく使えない
のは、着磁の所為もあるかもしれない。

ピンセットの脱磁、お勧めである。

| | コメント (0) | トラックバック (0)

2019年1月14日 (月)

移動中開発

今日も自宅からベースキャンプへの戻りの新幹線車内で、諸々作業。
最近の国際線の飛行機もだけど、PCの電源が用意できるので、
体力の続く限り作業できる。

長時間移動作業のいい所は、疲れたら即仮眠に入れるのがいい。
疲れても、15分か30分寝ると、ずいぶんリフレッシュできるんだけど。
通常の作業環境で、好きな時にスパッと寝るってのも
なかなか難しい。

その所為で、通常は作業効率が落ちても、簡単には
復帰できないことが多いんだけど。

まあ織り込み済み、ってことで特に対策は打たない。

趣味の開発だと、さらに時間が限られていて、
効率ははるかに重要なので、移動中開発は大変重要だ。

出張とかの移動中に、開発作業の大半をできるようにしておく。

------

ターゲットボードを、シリアルでのフルコントロールと、
ブレッドボードの組み合わせとすることで、出先での
開発の自由度が広がる。

1901141

一日終わって、宿まで戻れるなら、はんだごてと
オシロスコープくらいならターゲットになるんだけど。

昔はビジネスホテルの部屋は、コンセントの設置が少なくて
(鏡の前のドライヤー用と、湯沸かし用くらいしかなかった)
自前でテーブルタップをたくさん持ち込んでいたけど。

今どきは、みんなスマホだのなんだのを、
たくさん持ち歩いている所為か、ビジネスホテルの部屋も
コンセントだらけになった。

助かる。

------

今日の帰路では、stmの書き込みツールのブラッシュアップ作業。

1901142

シリアル経由で書き込むツールを作って運用しているんだけど。

(主に)手抜きにより、メッセージハンドラ内で、
すべての処理をしている所為で、動作が不安定?微妙?で、
ちょくちょく書き込みに失敗する。

まあ、リトライすれば何とかなるので、だましだまし
使っていたのだけれど。

今日の作業で、時間のかかる通信部分を
別スレッド回すように変更すると、だいぶ安定して
動作するようになった。

------

ついでに公式ツールでは、ボーレートが256kまでとなっている
のだけれど、どこまで行くのか試してみた。

921kまでは、まあ普通に大丈夫のようだけど、
115.2k辺りからは、フラッシュの書き込み時間の方が
支配的なせいか、あまり全体の速度が上がらないようだ。

------

今日の作業で、書き込みストレスもさらに低減された。

いつも通り、周辺ばかりやっているが、
そろそろ本編に戻らねば。

新作(同構成の新型、Ver.2ともいう)を走らせるなら、
そろそろ本体の設計を始めなければいけない...

| | コメント (0) | トラックバック (0)

2019年1月13日 (日)

ペットボトルのお茶

面接のときに、お茶を飲むのがマナー違反かどうかは、
TPOによると思う。

無理筋の営業(押し売りとも言う)を掛けに行ってる、とか
無理筋の謝罪に行ってるときに、相手の前でペットボトルから
お茶を飲むのも、まあ、なんだなとは思うが...

理不尽なことを言われに行ってるときに、わざわざ突っ込まれる様な
事をすることもないのも確かだけど。

採用面接って理不尽なことを言われに行っている場
なのかどうか?かと。

この件に関しては、採用する側が、そういうつもりで
見ている、ってことなんだろうなあ。

------

そういう扱いで採用されても、先行き不幸だなあ、とは思うし。

そういう扱いしか残されていない(と思い込んでいる)人には、
まあ頑張って...と言うしかないし。

そんなところに、わざわざ近づく必要のない人のほうが
大多数なのになあ、と思ったりとか。

------

リクナビとかのエージェント業が、自分たちの商売のために
展開して流布しようとしている価値観全般については、
まあ、...どうなのよ、とは思うけど。

まあ、それが彼らの商売のための環境だから、
彼らが如何こうすることに、言うことはないけれど。

よく見てない人が、真に受けてしまったりとか、
うっかり乗せられて、貢いでしまったりも、
社会勉強かなあ....とも思う。

| | コメント (0) | トラックバック (0)

2019年1月12日 (土)

DWT追記

ループ内で、sprintfを使わないように書き替えると、
丁度、スタックポインタがDWT_COMP0を超えたところで
例外に入るようだ。

やはりsprintfで、200バイト弱は、AUTO変数で使われるということか。

| | コメント (0) | トラックバック (0)

DWT

新幹線移動中の開発により、DWTを動作させることができるようになった。
割り込みで処理を追加した後に、正常動作に復帰できるし、これはいい。

純粋にデバッガの動作だけど、オンチップペリフェラルだけで
(アダプタとかプローブの類なしで)実現できるのはありがたい。

スタックの上限(というか余裕を持たせた警告エリアの方がいいが)
にウオッチポイントとアクセス方法(読み、書きの別など)を設定しておく。

スタックが侵食して、アクセスの条件が成立すると、
デバッグベクタに分岐して、通常の割り込みと同様に処理できる。

スタックポインタに余裕を持たせておけば、破綻することなしに
処理が続けられ、スタックの残りが少ないことが
実行されているプログラム自身で把握できる。

------

今回のターゲットはstm32l433だけど、Cortex-M3,M4なら
どれでも使える可能性はありそうだ。
設定例は以下。

プログラムの初期設定部分に記述して、DWTを有効にする。

    //  デバッグ例外、モニタ制御レジスタ
    CoreDebug->DEMCR =
        (1 << 24)|    //    TRCENA
        (1 << 16)|    //    MON_EN
        0;

    CoreDebug->DHCSR =
        (0xa05f << 16) |        //    書き込みキー
        (1 << 0) |
        0;

    *(volatile unsigned long*)(0xe0001020) = 0x2000e000;    //    DWT_COMP0
    *(volatile unsigned long*)(0xe0001024) = 0x00000000;    //    DWT_MASK0
    *(volatile unsigned long*)(0xe0001028) = 0x00000007;    //    DWT_FUNCTION0  書き込み/読み出しのウオッチポイント
    *(volatile unsigned long*)(0xe0001000) |= 0x00000001;    //    DWT_CONTROL




割り込みハンドラも記述する。

//****************************************************************
//          デバッグ   割り込みハンドラ
//****************************************************************
void DebugMon_Handler(void) {

    static unsigned char temp[32];
    volatile int i;

    sprintf(temp, "\r\nDebug [%08X]\r\n\r\n", *(volatile unsigned long*)(0xe0001020));
    Puts(temp);

    stop = 1;

}

DWTがウオッチポイントへのアクセスを検出すると、
ハンドラが呼ばれるので、コンソールにメッセージを出力する。

0xe0001020は、DWTのコンペアレジスタ。
全部で4つあるので、最大4つのアドレス(エリア)を
同時に監視できる。
グローバル変数で定義されているstopにフラグを立てて戻る。

------

テストに、実際にスタックポインタを進めて、
どの辺で止まるか試してみる。

再起呼び出しで、毎回AUTO変数を定義するコードを書く。
一回の呼び出しで、116バイト分の変数を宣言するのだけど
実際のアドレスは、変数の呼び出し分のレジスタ退避エリア
などで、もう20バイト使われて、136バイトづつ消費されるようだ。

スタックの初期値は、0x20010000。
DWTの設定は上記のコードの通り、0x2000e000として、
動作させてみる。

シリアルコンソールに動作状態を出力させてみる。

1901122_2

58回目の呼び出しで、DWTが動作して、再起呼び出しが停止している。
この時のAUTO変数のポインタは、0x2000e0bcあたりを示していて、
DWTの設定値には、もう少しあるようにも見える。

今の場合でnewlib(sprintfとか)が、内部で使っているエリアが、180バイトくらい
あるのかなあ、という印象。

まあ、現実的な処かな?と思うので、なんとなく意図通りの
動きはしているように思える。

------

スタックの監視だけでなく、任意のエリアの不正なアクセスも
実行状態で、オーバヘッドなしにソフトウエアだけで監視できるので、
発見しにくいバグ(アクセス違反)を押さえるのに、大変役立ちそうだ。

標準コマンドとして整備しよう。

| | コメント (0) | トラックバック (0)

開発環境

来るべき、長時間通勤の日々に備え、電車内開発環境の整備にいそしむ。

まあ、もともとノートPCだけで完結するシステムを作ってはいるんだけど。
ターゲットボードをUSB接続して、ボードには一切手を触れずに
書き込み、再起動、諸々をできるように考える。

------

想定しているターゲットはハーフマウスなので、実機運用時に不要なものは
使いたくない。(デバッグポートとか、USBバス直接接続はNG)
stm32をメインで使っているとはいえ、プロセッサ依存も避けたいので、
フラッシュ書き込みも含め、シリアル接続一択だ。

通常のTxDとRxDに加え、DTRとRTSも使えるように自家製USB
(CP2102)シリアルケーブルを改造。

ターゲットボードも、モードピンとリセットをコントロール
できるように、回路追加。
ピンを増やしたくない(増やせない)ので、モードピンと
リセットを一つのピンでコントロールできるように改造。

書き込みツールも、stm32L4は公式が対応しておらず
自前で作ったので、このツールもDTRとRTSを
コントロールするように書き直す。

st公式のFlash Loader Demonstratorは、RTS、DTRを
動かしてないのか...
公式ツールを使うときは、RTS、DTRを切り離せるような
エクステンションハーネスが必要になるな。

まあ、現行で使っている、F3、F4、L4は全て自前ツールで
書けるようだから、当面問題ないかな。

------

見た目怪しいターゲットボードを仕舞ったまま、
コード編集、書き込み、実行のサイクルが可能になったので、
さっそく新幹線移動中に、DWTのデバッグ中...

シリアルターミナルから、ターゲットの再起動が
できるようになったので、色々捗る。

これは快適だ。

| | コメント (0) | トラックバック (0)

2019年1月 9日 (水)

キラキラベンチャー

ああ。

なんか、多くの言葉は要らないなあ...思い当たるのがいくつも。
でも投資家は欲に目がくらんで、素人目にもどうしようもない物でも、
お金を出すんだよなあ。

で、実体が発覚しても、限界までひた隠しにするんだよなあ。
発覚しないように、出した方と受け取った方が結託すらしたりする。

これじゃ、投資なんてリスクにしか見えなくて、
本当に投資を必要とするところは、
いい迷惑だよなあ、と何度も思った。

------

ベンチャー?じゃないかもしれないけど、
過去最凶の物言い(われ)は
”何でもいいから、先進的な技術のネタを出せ。
そこから俺が選ぶ。それがお前の仕事だ。” (原文ママ)

なんてことを面と向かって、仰った方が居たが...
この発言のおかげで、当人の口から出るもの諸々、
ほとんど欺瞞だということに、確信をもてた。

”何でもいいから先進的な技術”は、いまだこれを打ち破る
パワーワードに出会わない。
技術をなんだと思っているんだろう...

まさか、このレベルの電波発信塔が実存するとは
思ってもみなかったけど、まあ長く生きてみるもんだな、と思ったり。

| | コメント (0) | トラックバック (0)

2019年1月 7日 (月)

専門的な話

専門的な話は分からないんだけど、といつも前置きされるんだけど。

いや、有史以来、あなたに対して、専門的な話はおろか、
単語レベルですら、会話に出したことはないと
断言できるんだけどなあ...

何かの予防線を張っているのか、10年以上経つがいまだ分からない...

知る限り、他にそんなことを言ってくる人は居ない。
一体何なんだろう?

あり得る可能性としては。
話が通じないことに対し、専門性の問題だ、ということ
にしたいのかな?と言う辺り。
それならまあ、分からんでもないのだが...

話が通じないのは、専門性の有無では無(以下規制)

| | コメント (0) | トラックバック (0)

2019年1月 6日 (日)

モバイルバッテリとハイパワーUSBとか

事実上、USBのコネクタを汎用電源ポートとして使うようになって久しい。

規格上は、5V、0.5Aを超える出力を取り出すときは、
ホストとハンドシェイクして、あれやこれややった後でないと、
取り出せないことになっているハズだけど。

実際には、5V3A出力とかの、USBコネクタのついた
ACアダプタなんかが普通に出回ってるし、
そういうもんらしい。

------

最近の規格は、色々拡張されているようだけど、昔から
USB周りはなんだか、微妙な話も多い。

USBケーブルの構造も、結構厳格に決まっている。
データ線の番数(線径)まで決まっていて、
よく出回っているような細いケーブルは作れないはずなんだけど。

試しに、スリムケーブルとやらをばらしてみると、
データ線は規格通りの番数(#24だったかな?)なんだけど。
なんと、規格に定められてない、電源線の方は#30くらいの
ほっそい線で作られていて、びっくりしたことがある。

まあ、たしかにこれでUSB規格は満たしているんだろうけどなぁ。
0.5Aなんて流したら、1Vは電圧降下しそうだ。

まあそんなだから、わざわざ高速充電対応なんてうたった
USB?ケーブルを売ったりしているんだろうなあ。
実質、無法地帯に近い。

なので、USB形状のポートを使って電力を供給できる
モバイルバッテリ、もとい、パワーバンクも、ちゃんとUSBの
規格を守っているかなんてのは、あてにならないかも。

------

ただまあ、USBかどうかにかかわらず、供給源として
ある程度の容量のバッテリを使っているときは、
ヒューズの類は、絶対に外すことはできないが...

しかし事故防止には、これも完全ではない。
ショート事故時でも、導体が即蒸発してくれれば、大した
事故にはならないけど、微妙に抵抗値を持った状態で
電流が流れると、発火事故になる。

カーボン素材辺りでのショートでは、ヒューズや
ブレーカーが応答せずに、激しく発熱して炎上したりする。

激しい火炎と、猛烈な煙を上げているのに、ヒューズ系が
平然としているのはトラウマだ。
経験的に、ヒューズ(ポリスイッチも)を信用しきれないのは
この辺の経験から来ている。

------

いや、USB電源の話だ。
USBにかかわらず、出来合いのバッテリにはBMSとかの
過電流過充電防止回路が抱き合わされているだろうから、
改めて、炎上防止くらいの意味合いの保護素子追加は
あまり効かないかな?という気がする。

もちろん、裸のセルを使うなら必須。

どちらかというと、本来のUSBポート(PCとか)を
使うときの方が、気を遣う気がする。
マザーボード、壊すと高価いしね...

------

ところで昔、モバイルバッテリを電源に使おうとしたことが
あったんだけど。

動き始めると、ちょっと触れないところに設置する機材で、
3か月間くらい動作し続けて、データを記録するものなんだけど。
もちろん、3か月間ずっと動作させるのは電源容量的に無理なので、
普段はスリープしていて、時々起動するようになっている。

これをモバイルバッテリを何個か使って動かそうとしたのだけど。

消費電流が小さすぎると、勝手に電源を切ってしまう仕様だった。
使う前に、手動でスイッチを押すか、コネクタを差しなおして
やらないと動かない。
大きなお世話なんだけど、こんなの現物が無いと
仕様を確認できない。

モバイルバッテリ的は、気をきかせてくれているんだろうけど
おかげで用意したものは、全部没になった。

それで、その時に理解したのは、一次電池の容量は相当な
ものだということ。

結局、アルカリ乾電池を使ったんだけど、これでも同体積の
モバイルバッテリよりも動作時間が長く取れた。
もちろん毎回電池は新品が必要だけど、3か月のサイクルなので
コスト面でも断然安いし、運用もらくだ。
(充電管理は面倒くさいし、運用リスクも大きい)

3か月で1サイクルなので、20サイクルでも5年間となって、
よく考えると、充電できるメリットが、全くなかった。

...なんてこともあったので、一次電池でも行けるかも、
と言うのは常に考えるようになったな。

| | コメント (0) | トラックバック (0)

2019年1月 5日 (土)

ボーダーライン

〇ワット数が大きい
〇カロリー総量が少ない
------
×USBを用意して下さい(~メモリの意)
×ギガが少ない(~ビット/月の意)

(※個人の意見です)

| | コメント (0) | トラックバック (0)

MPU(メモリ保護ユニット)続き

stm32で、Cortex-MのMPUを使って、スタックオーバーフローを
検出する方法について。

armの提供するドキュメントを参照すると、Cortex-Mコアに存在する
(チップベンダ依存だけど)MPUを使うと、最小32バイト単位のエリアを
アクセス禁止エリアに設定できるとある。

これを使って、スタティックエリアの最後か、想定するスタックの上限に
アクセス禁止エリアを作った上で、
MPUのメモリ管理ハンドラへの割り込みを許可する。

これで、アクセス禁止エリアへのアクセスを、ソフトウエアで処理できる。

ペリフェラルの初期設定は、

    SCB->SHCSR = (1 << 16);       //メモリフォルト許可
                                                  (許可しないとハードフォルトとして処理される)
    MPU->RBAR = 0x20002010;     //保護エリア先頭アドレス+イネーブルビット
    MPU->RASR =                      //保護エリアアトリビュート指定(サイズなど)
         (0 << 24) |
        (4 <<  1) |
        (1 <<  0) |
        0;
    MPU->CTRL =       //メモリ管理イベント許可
        (1 << 2) |
        (1 << 1) |
        (1 << 0) |
        0;

で、アドレス0x20002000から、32バイトが
アクセス禁止エリアとして指定される。

このエリアを読み書きすると、メモリ保護違反イベントが発生して
ベクタテーブルのオフセット0x10にある
アドレスに分岐するので、こちらもハンドラを記述する。

void MemManage_Handler(void){

    __ASM volatile ("bl    main");       

}

CFSRの当該ビットをクリアできれば、元の処理に戻れそうな
気がするんだけど、なぜかクリアできない...
ので、仕方なく、無条件ジャンプで、main()へ戻っている。


このコードでは、普通の変数初期化が実行されないので、
通常リセットとの区別は簡単に付けられる。

(適当なスタティック変数をメモリ保護エラーフラグにしておいて、
起動直後に参照する。

色々なサンプルコードを当たると、ハードフォルトや
今回のようなメモリ保護違反での例外処理時は、
元の処理に復帰せず、ブレークポイントを設定して、
whike(1)の無限ループで停止する例ばかり出てくる。

まあ、スタックオーバーフローしているような状況で
処理を戻して如何にする?のも確かだ。

これで、まあなんとか、ソフトウエアのオーバーヘッド
無しで、スタックオーバーフローを検出できるようには
なったようだ。

------

MPUでなくて、DWTを使えば、もっとうまく実装できそうなんだけど、
こっちはなんだかうまく行かない。

色々ドキュメントを当たっているんだけど、
コア部分なので、チップベンダの資料にはほとんど記述が無い。

そもそもarmのドキュメントは、なかなか不親切だ(日本文も英文も)

まあ、実装するかどうはチップベンダ依存なので、
armのドキュメントがそっけないのも分かるけど、
もうちょっと何とかならないかなあ。

検索しても、あんまりいい情報にめくり合わない。
質問は色々ヒットするんだけど、ロクな回答がない。

------

まあ、チップベンダはコアのペリフェラルを手厚くサポートしても
得るもの少ないだろうし、需要はマルチプラットフォームの
デバッガなんかを開発しているベンダーくらいかなあ。

あんまり深追いしても、アレな気がしてきては居るんだけど、
DWTなんかは面白そうな機能が用意されているようだし、
stm32のCortex-M4は、コアのペリフェラルも
結構実装されているようなので、使いこなしたい気もしている。

| | コメント (0) | トラックバック (0)

2019年1月 4日 (金)

F1みたいなロボット競技

これですかね。

なかなか、思惑通りには進んでないみたいですけど....

| | コメント (0) | トラックバック (0)

USBポート電源

USBを電源として使うときには、電流制限は上流側に
入っているので、あまりポリスイッチの類は使わないですかね。

ポリスイッチの動作を見ていると、リミットに対する応答が遅いので
USBポートみたいなところでは使いにくいように思います。

バッテリを電源とした場合のように、異常時には
正常時に対して10倍とかの電流が流れるような条件でないと、
有意な時間(数秒程度)に動作しないような。

ブレーカーもそうですけど、定格電流の2倍流れている状態で、
切れるまで数十秒かかるとかなので、
もともと0.5Aまでしか許容しないUSBで、
許容電流内かつ、まともな時間で応答するポリスイッチの定格は、
50mA程度になってしまいます。

電流リミットを動作させたいなら、FPF2002とかの電源分配スイッチ
を使う方がよいでしょう。

------

ポリスイッチとかは、上流のPC側にもついているので、
ショートで壊すことは無いですけど、
(今使っているPCは壊れてた...
SMDポリスイッチのはんだが、自己発熱で外れて、
自分ではんだやり直して復旧)
外部サージでは、USB側の保護が効かず、
一発でマザーボートが逝きます。

このサージに対しては、USBポートは、かなり耐電圧低いです。
(10V以下位?)
なので、外部サージ対策も込みで、逆接防止のダイオードは
必須です。

サージが発生する様な負荷はかなり危険です。
モーター回すときは、回生ブレーキが電源に還流しないように
しとかないと、突然死したりします。

------

あと、USBの規格から、外部に付けられる電源用の
コンデンサの容量が決まります。

数値は覚えてないですが、かなり小さいはず。
100uFなんてつけるのは、本当は全然無理だったような。
(付けたりするけど)

ハッピーなUSB電源ライフをお過ごしください。

| | コメント (0) | トラックバック (0)

2019年1月 3日 (木)

帰還

自宅に帰還。
やはり普請の違いは快適さに直結するんだよな...

若い頃ならいざ知らず、この年になると日々を過ごすだけでも
それなりのエネルギーを消耗する。
過酷な環境で、無駄にベースラインを上げなきゃいけないのは
つらいものだ。

と、いうわけでもないけど。
キャンプ撤収も、実に天の采配のような気もしてくるのだ。

今月は撤収の手続きで終始かなあ。

| | コメント (0) | トラックバック (0)

2019年1月 1日 (火)

電流連続モード

直流モーターをPWM駆動するときに、俗にいう
”電流連続モード”になるかどうかは、回路定数や
PWM周波数だけじゃ決まらなくて、モーターの運転状態
次第だと思うのだけど。

そのことに言及している物を見たことが無いし、
電流が連続的かどうかで、トルクの変動が無く、
なめらかに回るという一意的な解説も、
今一つしっくりこない...

この論説がいつも成り立つなら、
速度制御が発散していても、マクロには滑らかに
回っているように見えたりするのは、どう説明すればいいんだろうか。

DCDCとかのPWMで、電流連続/不連続モードになるってのは、
モーターの駆動とは全く関係ない話だと思うんだけど、
混同されてないかな...

本当にこれでいいんだっけ??

| | コメント (0) | トラックバック (0)

雑煮

新年らしいことをしたりする。
開発は、いったん休み。

190101

| | コメント (0) | トラックバック (0)

新年

明けましておめでとうございます。
本年も宜しくお願い致します。

------

さて、2月より、愛知県となりました。
近隣の皆様、どうぞよろしくお願いいたします。

------

今の構成のマウスも3年目となって、概ね必要なことも
まとまってきたし、構造に起因するトラブルも頻発しているので
この際、新規に仕立てたいと思います。

まあ、生活ペースがつかめるかどうかにもよりますが...

| | コメント (0) | トラックバック (0)

2018年12月31日 (月)

冬休みの工作

ちょっと話題になっていた、スタックオーバーフローの話。
スタックの上限部分にガードエリアを設定して、マジックナンバで埋めて
アクセスがあったことを判定する話が出ていた。

stm32(Cortex-M)だったら、ガードエリアをMPUでアクセス禁止にしておけば、

メモリフォルト例外で処理できるのでは?
と思って実装してみた。


例外ハンドラに分岐するところまでは行くんだけど、
メモリフォルトが解除できなくて、通常処理に戻れない...

もうちょっとで、動きそうなんだけど、時間切れだ。
今日の所はここまで。

まあ、スタックオーバーフローする様な状況で、
処理を戻してもしょうがないかな。

------

各位、良いお年をお迎えください。

| | コメント (0) | トラックバック (0)

2018年12月29日 (土)

マイクテスト

マウスを通常運用するのに、何らかの入力デバイスが欲しいのだけど。
今のマウスは小さくて、スイッチを付けても押しづらいので、
各人色々工夫している所。

ホールICとか、加速度センサなんかを使っている例が多いように思う。
スタートは、センサを手で切ってスタートってのが多いな。

去年~今年の大会で出て来た、音声コマンド入力。
絵的にも面白いし、デバイスの取り付け位置がかなり自由なのもいい。

ただ普通のマイクエレメントを付けようとすると、
プリアンプが必要になったり、あれやこれやでついてくるものが多かった。


最近は、秋月なんかで、直接デジタル信号として扱えるマイクが手に入る。
stm32にはこれの接続に使える、SAIが搭載されている。
この組み合わせでうまく行くならば、指笛でスタートってのが実現できそうだ。

いつものテストボードに、秋月モジュールを取り付けてテスト。

181229

ひとまずそれっぽい波形を取り込んではいるようだ。
続けてテストしてみる。

うまく取り込めるようなら、次の機体に採用だな。

| | コメント (0) | トラックバック (0)

2018年12月28日 (金)

コンデンサ

うーん。
直流かけて、そこまで容量変化する
ような種類のコンデンサの容量自体に、
どれほどの意味が有るのかといえば...

逆に、こんな特性のコンデンサが、
製品として出回っているということは、
容量に意味がないアプリケーション
がたくさんあって、そういう用途専用って
ことなんでしょうね。

| | コメント (0) | トラックバック (0)

オシロ修理

LCDモジュール換装してみたが、何も表示されず...

よくよく見ると、この液晶モジュール、青白だな。
元のモジュールは、白黒なんだが。
同じ型番でも、違うのがあるってことか。
ということは...コントラスト調整電源をいじってみる。

なんとか、表示が見える範囲に調整できるようになった。
やはり、元々の白黒液晶用の電圧では全然ダメみたいだ。
ハンダごてで、ちょっと細工。

181228

けど、青白液晶って、見える角度範囲も狭いし、そもそもコントラスト
低いんだよな...まあ格安部品だから仕方ないか。
なんか、モジュール内にゴミ入ってるし...

でもまあ、贅沢を言わなきゃ、オシロスコープとしては
機能を回復したようだ。

一時はどうなるかと思ったけど、冬休み一発目の工作としては、
なんとかまとまったかな。

| | コメント (0) | トラックバック (0)

2018年12月27日 (木)

休暇

人並み?に冬休暇に入る。
まあ、たっぷり年明けまで。

雑用を色々と済ます日々。
ロボット工作に注力したいんだけど、なかなか。

色々と動きがありそうだが、年明け位から動き始めるのかなあ。

| | コメント (0) | トラックバック (0)

2018年12月24日 (月)

cheese杯参加

当日の朝まで自宅に居たのだけど、10時の新幹線に乗り、
直接大岡山へ。
前日調整していた時に、左側のエンコーダーが反応しなくなり、
諦めてしまったのだけど。

現地で起動してみると、エンコーダーが機能回復している。
急いで準備するも、やはり前壁センサの誤検知で、まともに走れなかった...

なかなかこのマウスをゴールに入れるのは難しい。

------

大会は、ノリが良くて、楽しく過ごせた。
運営お疲れさまでした。

参加者自体は去年より、少し少ないか?と言う感じだったけど、
無印12台、クラシック27台?もエントリがあり、
一昔前の東日本地区大会並みだ。

MATLABマウスタイマーの再現度が凄いw
公式にリンクされていても不思議でないレベル。
よくまあ、こんなの作るよな...

ただ、無線コントロールの部分はちょっと苦戦していた模様。
経験的にイベント(人が集まる)時って、無線(wifiとかの2.4GHz系)は、
なかなか厳しいことがある。
有線でもつなげられるように作っておくのが堅い。

本業で、過去に何度もひどい目に遭った。
始まる直前まで平気で動いてるのに、始まった瞬間に
無線全部落ちる、なんていつものことだ。
多分、みんなが持ち歩いている無線端末(スマホとかwifiルーター)
の影響だと思っているんだけど。

全日本大会の3週間後というのも、いいタイミングに思う。
本大会の日程が短くなって、ちょっと忙しいのもあって、
このタイミングの大会は、エキシビション感があっていいな。

------

マウスの大会も、色々個性があった方が
いいような気がする。

以前は、全日本大会が包括的で、
すべてのひな型だった感じがあるけれど。

全日本大会がスリム化する過程で、カバーしなくなった
(できなくなった)諸々を、地区大会やプライベートな大会が
カバーすればいいように思う。

全日本にはフレッシュマンクラスが無くなったけど、
地区大会には残っているし、クラシックの事実上の頂点は
中部地区の本大会や、台湾大会で良いんじゃないだろうか?

| | コメント (0) | トラックバック (0)

2018年12月23日 (日)

KEYSIGHT

なんだろう?と思っていたら、アジレントが社名変更したのか。

その前は、ヒューレット・パッカードだったけど。

アジレントの時は、PCのブランドと計測器を別にしたのかなあ?
くらいに思っていたけど、今回はどんなところなんだろう。

ヒューレット・パッカードと言えば、PCのメーカーとして云々
の話だったけど、自分的には、高級ペンプロッタメーカーの
イメージが強い。

A0とかの、巨大なペンプロッタをバイト先で使っていたし、
仕事を始めてからも、A3のデスクトップをよく使った。

カシャカシャと、ペンを交換しながら出力するペンプロッタは
メカメカしくて、結構好きだった。

ロットリングチップや、フェルトチップのほかに、
シャープペンシルチップとかあったな。
時々、上に上がってきて、芯をノックしながら出力するのがなんとも。

当時は、プリンタと言っても、カラーはほとんどなくて、
在っても、A4サイズがせいぜいだった。
カラーで紙に出力できるペンプロッタは、高級品だったけど、
(数百万円~)よく目にしたものだ。

| | コメント (0) | トラックバック (0)

ゴール座標

なるほど。
確かにそれじゃ、全面探査するしかないけど。

逆に、スタート区画に(後ろの壁とかに)ゴール座標が
書いてあるってのはどうだろう?

| | コメント (0) | トラックバック (0)

2018年12月22日 (土)

終戦

調整中に左のエンコーダが反応しなくなった。
やっちまったか...

まあ、そもそもポリウレタン線の空中配線だから、
普通に使っていても、断線するんだけど。
ここまで何度も修理しているけど、左側は初めてだな。
ここ(自宅)では、機材の問題で、これ以上作業ができない。
明日までの修理は無理だ。

明日、朝移動で直接大岡山に行こうと思ったんだけど、
全く残念だが、明日は棄権だな...
用意した品だけ持ってって、見学かな。

まあ、こんな構造で何とかしようってのが無理なんだけど。
ここまで粘ったおかげで、目途が立ったことは多いので、
本来の形になるように、作り直すかなあ...

| | コメント (0) | トラックバック (0)

色々メンテ

普段家を空けているので、久々にいくつか家メンテ。

ばらして掃除して、水洗いして組みなおす。
不調だったものが復帰。
うむ。

まあPCとかも大概、動作が重い、なんてときは
ばらしてヒートシンク周り掃除すると、
途端に速度が戻ったりするもんだ。

ノートPCも、てきめんFANが静かになったりする。

| | コメント (0) | トラックバック (0)

«色々修理