[管理者用]

イゼルローン日誌
宇宙・・・それは人類に残された最後の観光地である

         
戻る 
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
1998年
1999年
2000年
2001年
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年

2015年10月
10月31日 ・I2Cによる加速度センサの読み込みでちょっとてこずる。
・どうも、上手く行かないので、低レベルのI/Oを使って、Modulioのサブセット的なI/Oライブラリを作って、動かしていく。
・なんだか要領を得なくて散々悩んだけど、結局リード後のSTOPコンディション生成を忘れていたという落ち。ここを直したらうまくいった。値が読めてみると意外と面白いな。

10月30日 ・RaspberryPiのX-Window。やっぱり文字化けするな。やはり英語モードにしておかないと無理か。
・というところで、距離センサ。こちらは4バイト送ると4バイト返ってくるということなので、DMAのトランザクションディスクリプタを4バイト転送したらまた自分自身に戻るという、LOOPにしておく。
・あとはPWMを2個使ってDMAリクエストを4回送ったら応答時間だけ待って再び4回送るという動作をさせる。
・1段目のPWMを2出力にして、DMAリクエストより少し前にCPUに割り込みをかけてやる。
・ついでに、RS-FFを用意。1段目のPWM出力を使ってDMAによる送信開始でリセット、受信DMAのターミネーションでセットする信号を作成。これを、割り込みの中で見れば受信データが来たのかどうかがわかるという小細工。
・さて、動かしてみたらそれほど苦も無く動いた。それにしても、分解能が低いな。



というところで、I2Cな加速度センサでてこずる。
10月29日 ・次なる相手は超音波距離センサと、加速度センサ。加速度センサはSTのLSM9SDS0を使ったものだけど、このセンサ、とにかくサービスが良い分、ややこしい。3軸加速度センサに角速度のセンサ、温度センサ、磁気センサと盛りだくさん。
・とりあえず資料を眺めていらないところを削ぎ落として、多分ここを設定すれば良いのだろうというリストを作っておく。
・超音波センサ側はシリアル通信だな。こちらは4バイトコマンドを出して4バイトで受け取るらしい。こんなのはDMAでやっておけばいいか。
・ポストに何か見慣れないものが入っている。と、眺めたら「法人番号のお知らせ」だった。法人も法「人」としてマイナンバーに相当する法人ナンバーが割り振られるのだな。ただ、こちらは漏洩もへったくれもないわけで、世の中大公開なので書き留めなんかじゃ送らないということ。中にはマイナンバーの扱いについてのようなことが書いてある。
・中に入っている紙に書かれている内容には本人に渡す源泉徴収票にマイナンバーの記載は必要とあるけど、これは後から不要になったらしい(税務署に出す方には必要だそうだ)。こんな「間違い書類」を堂々と送ってくるあたりにも混乱が透けて見えるな。
・別に疚しいことをしている事は無いのだけど、面倒くさいし、面倒くさいと感じる事には必ずミスが起きる。今回ケアレスミスに対する罰則が厳しすぎるのだよね。マイナンバーを使って源泉徴収をして、年末調整する前に退職した場合、「うっかり」マイナンバーの控えをシュレッダーにかけてしまった場合、その後本人と連絡が取れないと困った事になる。
・また、扶養家族のマイナンバーは扶養者が確認しろとなっているんだな。これを間違えたらどうなるのだろう。
・そんなところで、ようやくダウンロードができたRaspberryPi用のOS環境。FATなマイクロSDカードにZIPを展開して出来たものを全部単純にコピーして、RaspberryPi2に入れる。電源は1Aくらい食いそうなので、USB電源アダプタ的なものから。HDMIとPS/2キーボードマウスも繋いで準備OK。
・それにしても、このマイクロSDのコネクタって、うっかり何かで押されると簡単に抜けてきてしまうんだな。
・起動したらほぼ自動で勝手に処理が進む。勝手にパーティションをきりなおして、インストール、その後は言語選択で日本語を選ぶ程度で何もする事が無い。ここまで楽になっていたか。
・そのままLANケーブルを繋いで、TeraTermでSSHで接続してみると、いきなりOK。なるほど、こういうサービスも最初から提供状態なんだな。
・これだけ小型なのだし、LANケーブルを使わずWiFi接続くらいしたいものだな。そういえば昔買ったまま死蔵されていた安物USBドングル、I-OデータのWN-G150UMWがあったので、USBコネクタに指してみる。とりあえずifconfigを見てみるとwlan0が入り込んでいるので、勝手に認識されたようだ。こういう安物だとだいたい使っているものは一緒なんだな。
・さて、設定関係を検索すると、/etc/network/interfacesだの、/etc/wpa_supplicant/wpa_supplicant.confの編集をするものとなっているけど、ここまでサービスが良いなら何かあるだろうとGUI上を探す。設定関係のメニューには何も無かったので諦めかけたけど、何気なく目を移した画面右上の雰囲気漂うアイコンをクリックすると、見つけたネットワーク一覧がでてきた。試しに選択してみたら、パスワードを入れるだけで繋がってしまった。
・かなりお手軽になってきているな。

10月28日 ・とりあえず、帳簿入力。苦しんだけど、何とか終わった。
・次はRaspberryPiを弄らないといけないのだけど、Noobsをダウンロードが失敗に次ぐ失敗。
・900MB程度あるのだけど、回線が細すぎるるようで、「○時間くらいかかるかも〜」というメッセージ。そのうち回線が切れてアウトだったり、やっとうまくいったと思ったらPCが勝手にサスペンドという具合。
・回線切れの原因はどうやら他のPCとのバッティングにあったようなので、そちらを対策して、PCはプレゼンテーションモードでようやく安定。
・あとはひたすら待つ。待つ。待つ。


10月27日 ・昨日送ったファームウェアで不具合発生
・状況を見ていたら、どうもおかしい。じっくり眺めていたら細かいミスが数箇所。こういうときは慌てて修正せずに、もう一回深呼吸でもして、頭を冷やして全体像を描きながらやった方がいい。
・全体の動きとしてはこうなってくれないといけないのだから、ここでこういう動作になる・・と、もう一回おさらいしながらステート遷移も整理しなおしていくと、段々見通しが良くなってきた。
・最後に、もう一回テストをするとまた変なところがあったけども原因はすぐわかった。これで大丈夫かな。
・さて、そろそろ法人の方の決算を全部片付けておかねば。

10月26日 ・ファームウェアを送ってから、出張モード。あぁ遠い。片道2時間以上というのはなかなかへばる。
・帰りに甘いもののお土産を買ってたどり着いて半分食べて行き倒れ。
・夜中のニュースで冤罪被害者の方の釈放会見で目がさめて、電気を消して改めて就寝。

10月25日 ・ポンプ・バルブ類の動作も入れ込んで動作確認
・一応動いたかなというところで、やっていくうちに変なところが見つかってまた修正というところ。
・とにかくステート数が増える増える。
・さて、弄っているうちにおかしな動作をするようになってしまった。これは多分グローバル変数の絡みだなと思っていたらほら案の定。複数箇所から同一の変数を弄っているところがあったので分離。

10月24日 ・nextで買ったニットセーターがやっと到着。はるばるイギリスから一週間弱というところ。薄手のものだけど質感は思った以上に良いし、色あいもなかなか良い。この手のものは写真で見たのと印象が違うことも多いと思うのだけど、印象どおり。
・気になったのは、DHLで送られてくるのだけど、日本での配送は佐川急便がやっている。で、トラッキング情報が佐川急便に引き渡された段階で止まってしまって、そこから先は佐川急便のトラッキング番号を電話で聞かないと追跡できない。
・ホームページ上での注文処理状況表示と、この荷物のトラッキングに関しては改善して欲しいところかな。
・そのうち時間がとれたら実店舗にも行ってみよう。
・というところで、Z方向の合体作業。一応形はだいぶできてきた。今日中に単独移動を片付けて、明日上からのコマンドを処理するように書き足していこう。
・と、ここまでどのくらいコードを書いたのかなとざっと見てみたら約3000行。それほどたいした分量じゃないのになんだか疲れてるな。
・さて、動作テスト。少しミスがあったものの、何とか要素は動き出したな。
・いよいよ、ポンプやバルブの類を動かしてみる。なにせ+24Vが加わるわけで、何か間違って+5Vな回路の中に流れ込まれたら一巻の終わり。まずはテスターでON/OFF動作を確認して、勇気をもって接続。
・一応煙が出たり、怪しげな音がしたりということもないので、とりあえず一安心。ソフトウェアを動かしたら、予定どおりのタイミングで動作。まずは大丈夫そうだな。

10月23日 ・XY方向と合体前に少しZ方向の機能検討。A/Dしたセンサ値を取得してセンサ値がスレッショルド値に達したら自動停止させるかな。
・やはりリミットスイッチでも停止させなくてはならないしな。
・やりかたはいろいろある。ポーリングでチェックする手もあるし、A/DのConversion Completeで割り込みをかけてデータをチェックする手もある。
・ただ、このあたりの停止条件というのは結構重要な停止条件。とにかく条件が成立したら早く止めたいし、何があってもとにかく止まってほしい。
・ということで、CPUは経由せずにハードウェア的に止める方法にしよう。A/D値はDMAでレジスタに転送して値を比較。これとスイッチとあわせてストップ信号生成。こんなところか。
・ドラマの「下町ロケット」の第一話をやっと見る。何かのパターンをなぞっているだけという感じで、あまり面白くはない。最近でいえば、CCD撮像素子をネタにしたものと同じ展開。しかも現場の絵があまりにも玩具じみていて入り込めない。
・まぁ、今後の展開のための礎石なのだろうけど、個人的にはこういう優等生的な対処方法ではなくて、もっとシタタカに、えげつない方法や相手を錯覚させるようなトリッキーな手法を使っても良いんじゃないかなどと思ってしまう。

10月22日 ・上下方向の移動をするテストプログラムを作って、カウント数チェック。
・上に引き上げてリミットスイッチが働いたら、下に伸ばしてまたリミットスイッチまで移動というのを繰り返す。
・少しドキドキしながら、電源スイッチに手をかけながら動かしたら、一発でうまくいった。
・移動量と、カウンタの値を見比べて、カウント/mm値を算出。
・あとはキャリブレーションと指定した位置に移動させるようにすれば良し。ということで、やっていたのだけど、カウンタの初期化などでちょっと手間取って時間がかかってしまった。深夜になってようやく目的どおり動作。明日はXY方向と合体だな。

10月21日 ・とりあえず、Z方向の動きを確認すべく、電源を繋いでダミー入力で動かしてみる。なにせ、メカもので、モーターがどちらに回るとどちらに動くのかも分からないままという感じ。尋ねてもいいけど、動かした方が早いだろうということ。
・電源を繋いでとりあえず、電源ON。ダミー入力を与えたら動かない。
・しばらく資料を見ていたら、外部から速度指定がないと、コントローラボードの半固定抵抗で速度が変わるらしい。該当するものを見つけてドライバでまわしてみたら案の定0方向。
・少しまわして再度入力したら、ジジジ・・・という感じで動き出した。これで動きの方向は分かった。さて、プログラムに注力するか

10月20日 ・Z方向の検討というところで、プログラムを書く前にエンコーダ出力のカウンタの検討
・アップ方向とダウン方向があるわけで、これをカウントしてやらないといけない。また、多分気をつけなくてはならないのがバックラッシュで、多分メカのがたつきなどで、行き過ぎたり、戻ったりということが起きるだろうな。
・アップダウンカウンタを動かしてみると、なんだか思ったように動かない。調べていったら、アップ&ダウン信号がクロックで同期されて、エッジ検出で動くという仕組みだった。
・さて、ダウンしつづけてアンダーフローした時やアップしつづけてオーバーフローすると困るな。1mmあたり何カウントくらいいくのかも含めて調べなくては

10月19日 ・注文したものがとりあえず出荷されたらしい。DHLで・・というので、眺めてみたらイギリスからの出荷になっている。てっきり国内の倉庫からだと思ったのだけどな。
・なるほど、住所などを全て英文で入れなくてはならないのも道理だな。
・そういえばと思ってNextのアプリを入れてみたけど、ログインできない。試しにPCから入ってみるとOK。ということは、アカウントは国毎に管理されているということか。この調子だと、アプリからの注文は事実上できないんだろうな。
・そんなところで、明日はもう20日。いつもの振込みをやっておく。

10月18日 ・とりあえずX方向とY方向は動くようになったので、次はZ・・というところで、資料を読んで実際のメカを眺めてリミットスイッチの位置と動作について想像する。
・これまたとりあえずで、ポンプやバルブの制御が絡むので、こちらは電源と仮接続して動きを確認。バルブがバコバコと動いたり、ポンプがブーッと動くことはとりあえず確認できた。ポンプはそれほどでもないけど、バルブは結構火花が出る。それなりにインダクタンスがあるという感じなのかな。
・そんなところで、ちょっと秋冬物が欲しくなってネットを放浪して、「Next」を知る。一応国内にショップもあるけど、ここからは少々遠いので、直営通販サイトのNext Directを眺めてとりあえず安そうなものをお試し注文してみる。
・決済はクレジットカードのみなのは仕方ないとしても、注文をしても、メールで通知が来るだけで、マイアカウントページには注文履歴が表示されない。これでは本当に発注が行ってるのか、ちょっと不安ではないのかな。メールは届かないということも無いわけではないのだろうし、メールアドレスの登録をミスしていたらどうなるのだろう。

10月17日 ・当時10代だった女性の「性的暴行を受けた」という虚偽の訴えで、最高裁まで争いながら有罪が確定、刑に服していた方が、女性が虚偽だったと告白して無罪が確定したらしい。報道を見ていたら「性的暴行は受けていない」という診断書まであったという。にも関わらずである。多分、虚偽の証言をした側はお咎めなしなのだろう。
・こんな調子では、”こんな不公正な事が日常茶飯事で行われる国の裁判なんて到底受け入れられない”と海外から思われても仕方ないし、日米地位協定を盾にして帰国させてしまう米国も責められない。
・冤罪というのは司法に対する信頼という、「業務の根幹」に関わる問題なのだから、それこそ「第三者委員会による徹底した原因の究明と、再発防止策の徹底」が必要なのではないかな?
・さて、そんなところで、ロボットの続き。だいぶ動いてきたけど、X座標に0を指定するとおかしくなるという謎の現象が発生して1時間くらい悩んでしまった。
・結論は単純で、移動した後の現在位置の取得にあった。X座標はメカの都合でモータのマイナス方向の移動でプラス側に動くため、モータ側では値は常にマイナスになっている。モータから座標を貰ったときに、どうせ時間的な余裕があるからと、自前でパースせずに、sscanfで"-%d”とやったのが敗因。0が戻ってくるときに”-0”になるわけがない。そりゃそうですね。変な細工はやめて符号付きで受けてマイナスなら反転するようにしておく。


10月16日 ・CAN側の作成。
・コマンドを受けて、動かすというだけなら単純そうなのだけど、コマンドを受けた後に、一連のシーケンス的な動作が必要になる。
・静止状態も2通りあって、両方の状態で受け付けられるコマンドが微妙に違う。
・やはりブロッキングされては困るし、OSは無いしで、結局細かくステート分離して始末することにしたら、ステート数がかなりの数になってきた。

10月15日 ・さて、移動関係を大幅に見直し。いままでifやらwhileやらで動かしていたのを全部ステート遷移に置き換えて、ブロックされないように変更。
・一気に書き換えたので動かなくても仕方ないなと思いながら動かしてみるとやっぱりというのか、あまりにもおかしい。
・これまた思いのほか手間取って気付いたのがDMAを停止させたあとリスタートさせるのを忘れているところがあった。
・ここを直したら一気に動き始めて、リミットスイッチ作動による異常検出や回避動作もなんとか無事動作。とりあえず、DMA以外はノーミスだな。
・さて、次はCANとの連携だな。

10月14日 ・とりあえず書き直し、書き直し・・・というところで、まずはキャリブレーション関係を修正。
・多少てまどったけど、とりあえずうまくいった感じがする。次は移動関係だな。


10月13日 ・開通したので、コマンド処理を書いていく。書きながらステートの遷移で不味いところが分かってきたりしたので、そちらも修正しながらブラッシュアップ。
・などとやっていたら睡魔が襲ってきた。駄目だな。これ以上やってもミスが増えて後戻り作業してばかりということになりそうだ。今日はここでやめておこう。

10月12日 ・さて、昨日までの問題も片付いて、一応各リミットスイッチの処理もうまくいった。
・次は上位マイコンとのCAN通信。こちらは以前やったベースがあるので、それほど苦労なく動く筈。
・ただ、今回はCANのメッセージボックス番号がユニットのID番号ごとに変わるので、起動後にメッセージボックス番号を変更する必要がある。
・一応コンフィグレーションで変更できる切り口はあるのだけど、引数の説明があまりにもそっけない。仕方ないのでPSoC Creatorが生成したCANのAPIの中を追っていって構造体を発見。説明らしい説明は無いけれど、この中身を真似すれば良いのだな。
・Creator上で値をいろいろ変えてみてどのように構造体の初期値が変わるのかを見ていくと、ごく単純な規則性があることが分かったので、試しに手作業で変更してやってみたらうまくいった。
・あとは、ホスト側とのコミュニケーションのテスト。マスター役のPSoC5LPボードに、以前作成したテスト用のプログラムを入れて、動作確認。一応ホスト側への送信はできたけど、ホストからのコマンドが受け取れない。
・こちらもいろいろ見ていったらメッセージボックスのID番号が違うという、実につまらないオチ。疲れているのかな。とりあえず双方向開通かな。


10月11日 ・原点だしが出来たので、原点移動=>自動的に四角を描いて戻ってくるという動きをさせてみる。
・まずはマニュアルで、自動停止機能の再確認をやってみようとしたら変な動きを繰り返すように。あれ?と思ったらコマンドを間違えて、プログラム動作モードになってしまって、RAM上のランダムな値で動いていたようだ。
・しばらく動かしていたら変な状態になってしまった。原因はというと、どうもタイムアウトが短すぎてタイムアウト=>エラーになって、エラー処理がまだ無いのでそのまま次のコマンド発行ということになって、当然コマンドは破棄。動作完了した後に次のコマンドが受け付けられるという具合でコマンド抜けが起きたのが原因らしい。

10月10日 ・さて、リミットスイッチのチェックも終わったので、リミット動作をマニュアルモードで確認。
・リミットがかかると自動停止して、CPUが判定して処理という具合になるはず。まずはX方向はうまくいった。続いてY方向・・・と思ったらこれがまるで駄目。
・何が悪いのかと思って散々時間をかけて気付いたのは、スイッチ入力端子が間違っているというあまりにも単純なミス。後から入力ピンを足した後にピン番号を設定し忘れたままだったので、PSoC Creatorが空きピンから自動的に割り振った所になってしまっていた。
・これで原点出しはうまくいったな。



10月9日 ・Amazon、楽天系ともに出荷された模様。
・そんなところで、とりあえずロボットと繋いでみる。まずはマニュアルモードで動かしてみる。まずギーッと動いた。ここまでは良し。
・X方向とY方向をチェックすると、原点方向が右下隅にきてしまう。右下隅を原点にしてロボットを回転すると、X方向とY方向が逆になってしまう。
・軸を入れ替えるか、XなりYなりの座標の正負を反転させれば良い話。まぁ、とりあえずX座標の反転で片付けよう。これで左下隅が原点になる。
・さて、とりあえず動いたということで、遊んでいたらうっかり行き過ぎてギーッ!となってしまって慌てて電源OFF。
・よく見ると、リミットスイッチより先にロボットの足がフレームに衝突してそれ以上先にいかなくなっている。
・一応角方向のリミットスイッチをチェックすると結構問題あり。ここも直しておかなくては。


・まずは
10月8日 ・どうもXHコネクタだのなんだのと圧着系のものをいくつかやらねばならないようなので、この際ということで圧着ペンチを買っておくことにして、Amazonに注文。
・さて、いろいろやっていたら今度はフラットケーブル用の2.54mmピッチの圧接タイプのコネクタを使うつもりでいたら、相手がバラ線なので圧着しなくてはならない。ちょっと検索したらヒロセのコネクタが見つかって、更に検索かけたら、楽天だのAmazonだのに出店しているところから買えるようなので、そちらに手配。
・この2.54mmピッチのバラ線コネクタって、他にも色々使えそうだな。

10月7日 ・プログラムが入り組んでしまったので、整理を先行。ロボットと接続はちょっと延期。
・ついでなので、移動コマンド発行後にリミットスイッチが働いた時非常扱いで、CPUを経由せずに直接DMAで動作停止コマンドを送出するようにしてみる。
・昨日作ったケーブルで折り返しなど、色々やっていたら圧着したつもりの端子がスッポ抜け。やっぱり専用工具じゃないからなぁ。XHコネクタってどうせ実験用なので、細いラジオペンチで締めた後にちょこっとはんだ付け。



10月6日 ・さて、PSoCで動かす前の準備として、ケーブルを用意したりといろいろ。
・そういえば、XHコネクタの圧着工具なんて持っていない。失敗しながらもなんとか試験用のケーブル作成。
・実験用のPSoC5LPボードにブートローダを書き込もうとしたらMiniProg3を認識しない。こちらは何故かホストOS画面を出した状態で一回認識させてからゲストOSで見ると上手くいくという良く分からない現象だった。
・あとはPSoC5LPのプログラムだな。まずは自分自身でループバックして動作確認。シリアルのビットレートが結構大きくて、忙しそうなので、DMAで転送して行末は自動判定させるようにしてとりあえずのテスト。少しミスもあったけど、なんとかうまくいったようだな。さて、明日はロボットと繋いでみるか。


10月5日 ・いよいよロボット用のファームウェア作成にとりかかる。まずはX方向とY方向の移動から。
・とりあえず、サーボが動くのかを確認しなくてはならないということで、USBシリアルケーブルをつないで実験。電源を入れたら一応起動メッセージはきたけれど、その先の反応が無い。
・さて、どうしたものか。とりあえずマニュアルを読みほぐす感覚で見ていったらやっと分かってきた。多分、これだな・・と試したらモータが回ってズイッ・・と移動。
・色々やっているうちに細かい問題が出てきたので、パッチあてしたりして、とりあえずの実験ができる状態までもっていった。
・さて、明日はPSoC側を作りこむか。

10月4日 ・フィギュアスケート、ラグビーと、夜のスポーツは色々見所だったな。
・さて、久しぶりに信用金庫のネットバンキングをしようとしたら、「7月以降ワンタイムパスワードを採用したから登録しなさい」とのこと。スマホに専用アプリを入れてやるというもの。
・iPod Touchでもいけるようなのでやってみたら、30秒ごとに数字がバラバラと変わるので、次の数字に変わるまでに入れろということだ。規則性を見破られたら終わりだなという感じもしなくもないけれど、こういうやり方もあるのだな。
・久しぶりのログインでパスワードを忘れかけていたけど、記憶を紐解いて入力したら大丈夫だった。さて、残高は・・・言わぬが花、知らぬが仏。塞翁が馬。

10月3日 ・とりあえずのサンプルが出来た。ここまでくるのにそこそこ時間が掛かってしまったが、とりあえず予定通りというところ。あとは原稿だな。
・全機種共通I/Oシステムをちょっと再開。新しく少し大きくした基板を出図しようと思って改めて眺めていたのだけど、16PINのSOPのパッドがメーカの推奨パッド寸法より小さい。確かに自分で手載せしていてもマージンが少なかったしな。やっぱり変えておこうかなというところで、パッド寸法を少し大きめに変更。ビアが近くなりすぎた部分があったので、ここも少し移動しておく。

10月2日 ・NodeRed実験用でgmailを使ってみることにして、アカウント作成。
・そういえば、以前にも取ったような気がするんだけど、パスワードも何もすっかり忘れている。
・とりあえず、取得して実験したら、安全性の低いアプリだということで、弾かれてしまった。デフォルトでチェックするようにしているんだな。「アカウント」の「ログインとセキュリティ」で、「安全性の低いアプリの許可: 有効」に変更したらうまくいった。
・毎日定時になると自動的にSMTPサーバにアクセスして、お知らせしてくるという、それだけなのだけどもね。
・試しにHTMLを送ってみたら一応送れたみたいだな。

10月1日 ・さて、そんなところで10月。目一杯忙しい事になってきた。
・一度に考えていると頭が痛くなってくるので、まずは目先のことを片付けておかないとな。だいたい一週間単位で「今週はこれを片付ける」というスケジュールにしているのだけど、今やっているのは今週中にカタをつけねば。
・そんなことをやっている頭をよぎった旋律。そうか、これってハイドンだったな。たまにはこういうのがBGMでもいいかということで、CDを衝動注文。明日には到着するかな。


前月 次月
エース