COUNTER



新BLOG
 
新BBS
MN-BBS
旧BBS
CALENDAR
S M T W T F S
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
<<  2024 - 11  >>
 
LOGIN
現在モード: ゲストモード
USER ID:
PASS:
CATEGORIES
ARCHIVES
PROFILE
OTHERS
    処理時間 0.33444秒
POWERED BY
POWERED BY
ぶろぐん
DESIGN BY
ブログンサポート
          
<<前の10件 | 1 | ... | 47 | 48 | 49 | 50 | 51 | 52 | 53 | ... | 125 | 次の10件>>

--「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のサンプルのを

 そのまま使います。Webはくしゅ

| mabo52 | 21:06 | comments (0) | trackback (0) | DIY::  -pic |
NCVCで原点レイヤーが読み込めない。
 ステッピングモーターのコントローラーをケースれるために、

 パネルの加工をしています。

 形状のちょっと複雑な電源の差し込みコネクターの穴を開け

 るのにsable2015を使おうと思い、Gコードの作成にかかった。

 いつもの通り、「花子→JWCAD→NCVC」とデータを作成した

 が、NCVCで「原点レイヤーが読めない。」と怒られてしまう。

 あれこれやってネットでも検索して、JWCADのデーターを

 そのまま読み込むときちんと原点レイヤーも読み込まれる。

 JWCADで、DXFファイルに変更すると原点レイヤーが読み

 こまれなくなる。

 あれこれさがして、JWCADのレイヤーの書き込みか、と

 あたりをつけて、設定のところを見てみると、

 

 ありました。オプションのところに「レイヤーに番号を付加する」

 オプションがあり、しっかりチェックが入っていました。

 ここを外して、保存して、読み込むと、あっさりよみこめました。

 めでたし、めでたし。

 ちなみに、新しくNCVCとJWCADをインストールしたばかり

 でした。デフォルトでは、だめだったんですね。Webはくしゅ

| mabo52 | 23:24 | comments (0) | trackback (0) | DIY::CNC |
--「PIC」プログラミング再び (19)---
 全面パネルの加工が終わり、スイッチ類を取り付けました。

 全部が丸い穴でしたので、ドリルで開けて、19mmの穴は、

 テーパーリーマで広げました。

 パネル表示、うまくいったのですが、レオ(愛犬)がそばで、

 動いていたので、気がついたら、レオの毛をはさんでしまい

 ました。まあ、愛嬌で、よしとします。

 

 スイッチ類と基板は、ワンタッチのコネクターですので、この後

 基板を固定して、スイッチ類を接続します。

 基板は、穴を開けないで、両面テープのスペーサーを

 使います。

 

 

 後は、背面のパネルの加工ですが、穴開けの形状がちょっと

 複雑なので、sable2015を使います。Webはくしゅ

| mabo52 | 11:22 | comments (2) | trackback (0) | DIY::  -pic |
--「PIC」プログラミング再び (18)---
 何カ所か変更して、やっと次のように落ち着きました。

 

 抵抗やらコンデンサーは、正確な計算はしていません

 ので、とりあえず動くといったレベルだと思います。

 今回、丁寧に回路図を書きましたが、事前に書いておくと

 チャックやら、制作が能率よくいくようです。

 なんでもそうでしょうけど、事前の準備は大切

 なんですねえ。Webはくしゅ

| mabo52 | 12:27 | comments (0) | trackback (0) | DIY::  -pic |
--「PIC」プログラミング再び (17)---
 ほぼ満足のいく結果になってきたので、ケースの操作パネル

 の作成にかかります。

 操作パネル作成のフリーソフトを探しましたが、見つけられま

 せんでしたので、花子で作りました。

 

 エーワンの屋外でも使えるラベルあたりに印刷して、

 使おうかと思います。

 それにしても、操作パネル作成のフリーソフト、ありそうな

 きがするのですが。結構需要あると思うのです。Webはくしゅ

| mabo52 | 00:27 | comments (0) | trackback (0) | DIY::  -pic |
---「玉掛け」講習---
 重量物(工作機械)を将来買ったときの運搬のために、

 「玉掛け」と「小型移動クレーン」の講習を受けたいなと思って

 ました。

 手始めに、「玉掛け」の講習を受けてきました。

 講習の空きをインターネットで確認し、インターネットで申し込むと、

 申し込み用紙が送られてきました。必要事項を書き込んで、当日、

 本籍の確認できる住民票と写真を持って、行ってきました。

 場所が不安でしたが、駐車場につくと、

 

 表示がありその方向に行くと、入り口が表示してありました。

 

 建物の中に入ると学校の教室のようでした。

 

 ここで、一日目は、5時近くまで講義。二日目は、講義と

 筆記試験でした。三日目は、周りにたくさんおいてある重機

 に囲まれたちょっとした広場で実技をしました。

 

 実技の後は、3人一組で、代わる代わるリーダーと

 補助者になりながら、リーダーとして玉掛けの指示と実際

 の移動の試験で、6時過ぎまでかかりました。

 実技試験では、うまくできなかった部分もありますが、

 それとなくヒントがでたりで、無事合格できました。

 基本的に、落とす試験ではないようです。

 免許証大の写真入りの修了証とヘルメットに

 貼るステッカーをもらってきました。

 

 無事取得できましたが、久しぶりに疲れました。

 次回は、たぶん来年でしょうが、小型移動式クレーン(ユニック)

 の講習を受けたいです。

 玉掛けは、3日間で、2福沢諭吉4野口英世でした。

 ちなみに、移動式小型クレーンは、4野口英世割引で、

 4福沢諭吉ですから、ジェジェジェです。Webはくしゅ

| mabo52 | 20:34 | comments (0) | trackback (0) | DIY |
--「PIC」プログラミング再び (16)---
 最後のチェックと調整がほぼ終わりました。

 センサーまわりがうまくいきませんでした。原因を特定する

 のにオシロでフォットカプラーの出力部分を見てみましたが、

 接近するときと離れるときに、きちんとのこぎり型のパルス

 がでてました。

 立ち上がりの割り込みが一度しかかからなかったので、

 センサーが一度働くと、フォットカプラーの出力で、電流が

 0にならない状態なのかと思いましたが、原因はPICのよ

 うでした。

 一度Hightになるとどうしてか、Lowにならならなくて、立ち

 上がりパルスの割り込みがかからないようでした。
 
 対応策がわからなかったので、入力方法を、

 アックティブハイからアクティブローに切り替えてみました。

 

 すると、やっと、思った動作ができるようになりました。

 問題を特定するのに、ネットで検索しましたが、やはり同じような

 原因でなやんでいる方がいたようです。同じTLP621での投

 がありました。解決策は書いてありませんでしたが、きっと

 TLP621の問題といいうよりは、PIC側の問題だったんでしょうね。

 ケースに組みこんで、電気部分はほぼ完成です。

 あとは、旋盤に取り付けるハードを作成します。

 スイッチでのオンオフ、センサーでの逆転、の様子です。

 

 ちょっと満足してます。Webはくしゅ

| mabo52 | 23:27 | comments (0) | trackback (0) | DIY::  -pic |
--「PIC」プログラミング再び (15)---
 基盤が組みあがり、プログラムを書き込んだPICで、試運転

 しました。最初、全く動きませんでした。

 細かい部分をチェックしていくと、配線の間違いやら、配線

 を忘れたところやら、プログラムの間違いやら、けっこうあり

 一つ一つ修正してきました。やっと、下記の動作ができるように

 なりました。

     正転・逆転・ストップ・回転数の変更

 やってることは、たいしたことなく、アナログのスイッチ等で

 制御すれば簡単だと思いますが、これも自作の醍醐味です。

 

 まだセンサーによる逆転の部分のテストがすんでいませが、

 やっと先が見えてきました。

 今回、一番のネックになったのが、やはり、フォットカプラーです。

 センサーが最低電圧で12Vで動作で、PICが5ボルトですから、

 フォットセンサーで、電位差をならす必要がありました。

 使ったのは、秋月のTLP621というフォットカプラーです。

 

 適当に選らんだのですが、入力したパルスをオシロで見て

 見ると、立ち下がりがシャープでなくなります。

 

 赤の形状になっています。きっと、反応が鈍いのでしょうね。

 デジタルタイプのカプラーもあるそうですが、こちらが、

 きっと、もっときれいな形状になるんでしょうね。Webはくしゅ

| mabo52 | 22:26 | comments (0) | trackback (0) | DIY::  -pic |
--「PIC」プログラミング再び (14)---
 ハードの作成と、プログラムの作成を同時に進めてきました。

 やっと、制御部分のPICのプログラムとハードのテストがいい

 結果になりました。

 テストボードで、ハードの仮組をし、ソフトを確認しながら、手を

 加えて、プログラムを作成しました。

 今回は、PICを二つ使ってます。なんとも、もったいない使い方

 で、プログラムは、容量の20パーセントぐらいしかつかって

 ません。余分なコメントもありますが、掲載します。

 制御プログラム----main.c

 今回のプログラムは、タイマー0の割り込みと外部割り込み

 を使ってます。

 当初、押しボタンスイッチは、スタートとストップだけでしたが、

 急遽、リセットの押しボタンスイッチを追加しました。

 この、コントローラーは、ステッピングモーターの回転数と

 正転・逆転のコントロール、センサーで正転から逆転への

 切り替え、の動作を制御するだけです。

   自動で
     正転→センサーで逆転
   手動で
     正転 逆転 停止

 これだけの動作です。パルスをカウントして、その分だけ

 戻るようにすれば、停止も自動でできますが、ちょっと面倒

 ですね。確か、ワンパルスで1.8度ぐらい回転しますので、

 一回転には、360÷1.8=200パルス。

 リードが2ミリとすると5cm動くのには、

 200×50mm÷2=5000パルス往復では、

 5000×2=10000パルス。

 このくらいのパルス数なら、それほど苦労しなくてもカウント

 できそうですが、まあ、この次の課題ですね。

 ちなみに、unsigned int の整数だと

       0 ~ 65535

 カウントが可能ですので、Long型の整数を使わなくても

 大丈夫のようです。ここまで細かいプログラムを組むと、

 CNCになってしまうので、CNCにしてしまったほうが楽

 でしょうね。Webはくしゅ

| mabo52 | 11:46 | comments (0) | trackback (0) | DIY::  -pic |
--「PIC」プログラミング再び (13)---
 今日もまた一つ勉強。

 センサーをフォットカプラー接続して、センサーのON-OFFを

 フォットカプラーを介して、PICに取り込む簡単な回路とプログラムで、

 実験しました。

 PICじゃなくて、LEDを接続して実験すると、センサーのON-OFF

 でLEDのLED-OFFができるのに、PICに接続すると、PIC入力端子

 のレベルが、HIGHT(ON)、LOW(OFF)に変化しませんでした。

 

 問題を切り分けるのに、あれこれやりましたが、マイナスコント

 ロールするとうまくいきます。

 

 プログラムで、入力端子の初期設定で、LOWレベルにしても

 LOWになりません。

 あれこれ悩みましたが、ソフトの原因ではなくて、ハードの原因の

 ようで、電源を入れると入力端子がHIGHTになるようでした。

 教科書のように、プルダウン抵抗を入れてみました。

 

 すると、電源投入直後も、入力端子がLOWレベルになり、思った

 動作ができるようになりました。

 プルダウン抵抗やプルアップ抵抗が必要だと教科書には、

 書いてありますが、その意味がやっと

 分かりました。Webはくしゅ

| mabo52 | 00:29 | comments (3) | trackback (0) | DIY::  -pic |

こんな物欲しいな
CLOCK
NEW ENTRIES
COMMENTS
    ---SPINDLEのPWM制御 (その2) (7)
  • TR >06.18
    ---番外編---
  • TR >06.02
    ---SPINDLEのPWM制御 (その2) (5)
  • mabo >05.30
保留中コメント:10件
LINKS
    相互リンクさせていただいてます。
  • The Rider
Search Box
名言集
メール
   
連絡は下記から
名前:

メールアドレス:

件名:

メッセージ(必須):


TOP PAGE