---オシロスコープのプローブ---

 オシロスコープを使っていろいろやってましたが、ある時
 に、波形がパルス状になりました。

黄色の線が本来の波形だと思いますが、赤のように
 変形してしまうようです。
 周期が長くなるとこの傾向が強くでるようでした。
 調べている対象物が原因かなと思いましたが、どうも違う
 ようでした。
 オシロのマニュアルを見たり、周波数をいろいろ変えてみて
 くらべてみました。
 周波数が低くなるとその傾向が強いので、どうもプローブの
 特性のようでした。
 周波数が高いと、変形はめだちませんが、

 周波数が低くなると、○をつけた部分で、立ち上がりは上に、
 立ち下がりが下にひっぱらられるように変形するようです。
 上の写真よりもうちょっと低い周波数では、顕著になります。

 ます。プローブの特性だったんですねえ。一つまた、勉強し
 ました。

---屋根裏にLANケーブル敷設---

 光ケーブを設置するのに、ONU(終端装置)を納戸に設置
 するにあたり、茶の間から納戸までLANケーブルを引きました。
 屋根裏の端の狭い空間で、汗まみれで敷設したので、写真は、
 とれませんでした。
 敷設にあたっては、いくつかの道具を使いました。
 一番の立役者が、「電線引き込みワイヤー 」です。

 

 先が、

 

 眼鏡状になっていて、ここにLANケーブルをくくりつけ、屋根裏まで、
 引き込みました。引き込みに一番時間がかかりました。私は,屋根裏で、
 引き込みワイヤーを差し入れたり、引っ張ったりして、先に開けておいた、
 茶の間のローゼットの穴に見えるまで、操作しました。
 ローゼットの穴から見えたところで、妻に「電線引き込みワイヤー」を
 引っ張りだしてもらって、LANケーブルを結びつけてもらって、屋根裏
 まで、引き込みました。
 後は簡単で、LANコンセットに、

 

 結線します。
 溝にそれぞれの表示の色のケーブルはめ込み、パンチダウンツールを

 

 使って、奥までケーブルをはめ込みます。(もっとも、
 パンチダウンツールを使わなくても、コンセットについている
 ふたを使っても、奥までおしこめるのですが。)

 結線するにあたっては、

 

 コネクター結線セットの、

 

 を使って、ケーブルの皮むきました。
 最後は、LANテスターで、導通のテストをして無事完成です。

 

 年に一度使うか使わないかの道具、
 よく集めたものです。
 終わってみると、なぜか、足やら手やら、筋肉痛です。
 移動は、天井に足をかけられないので、サーカースよろしく
 体を乗り出したりしたりして、梁を渡り歩いた
 ためです。

---信号線用コネクタ---

 昨日もNTTから、ADSLから光に変更をお勧めする電話が
 ありました。工事費無料でできるのが、8日までということ
 で、20時過ぎの電話でした。
 料金も、プロバイダー込みで、今のADSLより安くなるという
 ことで、変更をすることになりました。
 それにともなって、電話も光へ。
 停電の時に使えなくなったり、する不便さがあるのですが、
 まあ、家電の使用頻度はそれほど多くないので、潮時の
 ようです。NTTは、アナログ回線は、全部廃止したいんで
 しょうね。
 ということで、急遽、光ケーブルを引き込むことに。
 屋根裏に上がって、電話線、ドアフォンの配線等の確認
 をしました。ご丁寧に、全部CD管の中を通っています。
 納戸の下の方で、中継をしているようです。 
 以前から気になってたのですが、

 

 細い電話線の結線に、このコネクターが使われてます。
 名前を調べたら、UR(UY)コネクターというようです。Rは赤で、
 Yは、黄色だそうです。自分でもできそうですが、電話線をいじる
 には、国家資格がいるようです。
 また、一つ勉強しました。

--「PIC」プログラミング再び (21)---

 ===AD変換後の割り込み===
 また、また、はまりました。
 ステッピングモーターのコントローラーは、一応完成しましたが、
 
 ステッピングモーターの速度の可変がスムーズにいかないの
 で、再度、PWMでのパルス発生とAD変換の組み合わせで、
 プログラムの変更を試みてます。
 諸兄のHPには、AD変換後、割り込みを発生できるとありますが、
   ADIF = 0;//AD割り込みフラグクリアー
   ADIE = 1;//AD割り込み許可
   GIE= 1;//割り込み全体の許可
 の記述をしても、AD変換後の割り込みが発生しません。
 ヘッダーファイルを眺めたり、ネットで検索しまっくりました。
 約一日あれこれやりましたが、やっとヒットしました。

 ここに、その記述がありました。

 

 なんと、周辺機器の割り込みの許可もしないと、AD変換後
 の割り込みをしないんだそうです。
   ADIF = 0;//AD割り込みフラグクリアー
   ADIE = 1;//AD割り込み許可
   PEIE=1;//周辺機器の割り込み許可
   GIE= 1;//割り込み全体の許可
 赤の周辺機器の割り込みの許可を記述すると、すんなり、割り込み
 発生。
 割り込みのロジック図を見るとすぐ分かったんですね。今まで
 見方がわかりませんでした。

 

 ロジック図を見ると、AD割り込みは、PEIE割り込みの下部にあり
 ますので、PEIEの許可が必要なことがわかります。

--「PIC」プログラミング再び (20)---

 ===「LCD表示ライブラリー」===
 PICのプログラムを組んで、検証するのに、LCDの表示が便利
 です。秋月のSD1602というLCDを使ってますが、これを使うに
 あたって、表示のためのライブラリーが必要です。

 諸先輩のHPを参考に動かしていましたが、
 使用ピンを変更したくて、あれこれやりました。
 プログラムを見ると、
           #define LCD_DATA PORTB
           void lcd_write(unsigned char c){
          __delay_us(40);
          LCD_DATA = ( ( c >> 4 ) & 0x0F );
 //上位4ビットを右に4回シフトしてRB0~RB3に書き込む
          LCD_STROBE();
          LCD_DATA = ( c & 0x0F );
 //下位4ビットをRB0~RB3に書き込む
          LCD_STROBE();
           }
 という項目があり、データをBレジスタで書き込んでいる
 ようですので、ここを書き換えるといいはずでした。
 プログラムでは、8ビットのデータを2回に分けてRB0~RB3
 に書き込んでいるようでしたので、ここを変更すれば、
 違う端子から書き込みができるはずでした。
 ここを、RB4~RN7に変更すべく、
           void lcd_write(unsigned char c){
          // 送信データのバイト列上位4ビットを処理
          RB4 = ( ( c >> 4 ) & 0x01 ) ;
          RB5 = ( ( c >> 5 ) & 0x01 ) ;
          RB6 = ( ( c >> 6 ) & 0x01 ) ;
          RB7 = ( ( c >> 7 ) & 0x01 ) ;
           LCD_STROBE() ;
          // 送信データのバイト列下位4ビットを処理
          RB4 = ( ( c ) & 0x01 ) ;
          RB5 = ( ( c >> 1 ) & 0x01 ) ;
          RB6 = ( ( c >> 2 ) & 0x01 ) ;
          RB7 = ( ( c >> 3 ) & 0x01 ) ;
          LCD_STROBE() ;
          }
 と変更してみましたが、うまくいきませんでした。考え方は、
 これでいいみたいでしたが、ネットでくぐると、
 別な方のHPに同じ考えのライブラリーが載ってました。
 最初の#defineのところで、使用ポートを記述すればいいので、
 便利だと思います。
 今日も一つ勉強しました。
 ライブラリー用に編集したものをここに掲載します。
 ヘッダーファイルは、HITEC-Cのサンプルのを
 そのまま使います。

--「PIC」プログラミング再び (19)---

 全面パネルの加工が終わり、スイッチ類を取り付けました。
 全部が丸い穴でしたので、ドリルで開けて、19mmの穴は、
 テーパーリーマで広げました。
 パネル表示、うまくいったのですが、レオ(愛犬)がそばで、
 動いていたので、気がついたら、レオの毛をはさんでしまい
 ました。まあ、愛嬌で、よしとします。

 

 スイッチ類と基板は、ワンタッチのコネクターですので、この後
 基板を固定して、スイッチ類を接続します。
 基板は、穴を開けないで、両面テープのスペーサーを
 使います。

 

 

 後は、背面のパネルの加工ですが、穴開けの形状がちょっと
 複雑なので、sable2015を使います。

--「PIC」プログラミング再び (18)---

 何カ所か変更して、やっと次のように落ち着きました。

 

 抵抗やらコンデンサーは、正確な計算はしていません
 ので、とりあえず動くといったレベルだと思います。
 今回、丁寧に回路図を書きましたが、事前に書いておくと
 チャックやら、制作が能率よくいくようです。
 なんでもそうでしょうけど、事前の準備は大切
 なんですねえ。

--「PIC」プログラミング再び (17)---

 ほぼ満足のいく結果になってきたので、ケースの操作パネル
 の作成にかかります。
 操作パネル作成のフリーソフトを探しましたが、見つけられま
 せんでしたので、花子で作りました。

 

 エーワンの屋外でも使えるラベルあたりに印刷して、
 使おうかと思います。
 それにしても、操作パネル作成のフリーソフト、ありそうな
 きがするのですが。結構需要あると思うのです。

--「PIC」プログラミング再び (16)---

 最後のチェックと調整がほぼ終わりました。
 センサーまわりがうまくいきませんでした。原因を特定する
 のにオシロでフォットカプラーの出力部分を見てみましたが、
 接近するときと離れるときに、きちんとのこぎり型のパルス
 がでてました。
 立ち上がりの割り込みが一度しかかからなかったので、
 センサーが一度働くと、フォットカプラーの出力で、電流が
 0にならない状態なのかと思いましたが、原因はPICのよ
 うでした。
 一度Hightになるとどうしてか、Lowにならならなくて、立ち
 上がりパルスの割り込みがかからないようでした。
 
 対応策がわからなかったので、入力方法を、
 アックティブハイからアクティブローに切り替えてみました。

 
 すると、やっと、思った動作ができるようになりました。
 問題を特定するのに、ネットで検索しましたが、やはり同じような
 原因でなやんでいる方がいたようです。同じTLP621での投
 がありました。解決策は書いてありませんでしたが、きっと
 TLP621の問題といいうよりは、PIC側の問題だったんでしょうね。
 ケースに組みこんで、電気部分はほぼ完成です。
 あとは、旋盤に取り付けるハードを作成します。
 スイッチでのオンオフ、センサーでの逆転、の様子です。
 
 ちょっと満足してます。

--「PIC」プログラミング再び (15)---

 基盤が組みあがり、プログラムを書き込んだPICで、試運転
 しました。最初、全く動きませんでした。
 細かい部分をチェックしていくと、配線の間違いやら、配線
 を忘れたところやら、プログラムの間違いやら、けっこうあり
 一つ一つ修正してきました。やっと、下記の動作ができるように
 なりました。
     正転・逆転・ストップ・回転数の変更
 やってることは、たいしたことなく、アナログのスイッチ等で
 制御すれば簡単だと思いますが、これも自作の醍醐味です。

 

 まだセンサーによる逆転の部分のテストがすんでいませが、
 やっと先が見えてきました。
 今回、一番のネックになったのが、やはり、フォットカプラーです。
 センサーが最低電圧で12Vで動作で、PICが5ボルトですから、
 フォットセンサーで、電位差をならす必要がありました。
 使ったのは、秋月のTLP621というフォットカプラーです。

 

 適当に選らんだのですが、入力したパルスをオシロで見て
 見ると、立ち下がりがシャープでなくなります。

 

 赤の形状になっています。きっと、反応が鈍いのでしょうね。
 デジタルタイプのカプラーもあるそうですが、こちらが、
 きっと、もっときれいな形状になるんでしょうね。