いつの間にか、ステッピングモーターが増えてしまいました。
それそれ目論見があって集めましたが、テスト方法に手間
取ってました。
ある方の掲示板を見てたら、以前にアドバイスを受けたこと
のある方の記事が目にとまりました。
その方は、手動パルスジェネレーターをDフリップフロップ
回路を介して、直接ドライバーに接続してるようでした。
Dフリップフロップは、初めての言葉で戸惑いましたが、
いろいろ調べて見ると、私にもできそうなので、早速部品
を調達して、トライしてみることにしました。
通常、手動パルスジェネレーターからは、A相、B相の信号
が出力されます。
このままでは、ドライバーに入力できません。ドライバーにも
よりますが、1パルス入力方式の信号に変換する必要が
あります。
この変換にDフリップフロップの回路が使えるようです。
A相の信号は、そのままドライバーのパルスに入力します。
B相の立ち上がりのタイミングで、そのときのA相の信号のHL
を判別してその信号を出力する役割をDフリップフロップの
回路に分担させます。
CW(時計方向回転)のB相の立ち上がり時のA相は、必ずH
になります。CCW(半時計回り)のB相の立ち上がり時の
A相は必ずLになります。
実際には、B相の信号をクロック入力に入れます。A相の
信号は、ドライバーへの接続とデーター入力の両方に入れ
ます。こうすると、CWの時は、出力がHに、CCWの時は、
出力が、Lになります。
Dフリップフロックを使うことによって、A相B相の信号を
1パルス(PULSE/SIG CK/DIR)方式に変換できること
になります。
幸い、回路図は、○ECさんのHPにありますので、これを
参考に部品が届きしだいトライしてみようと思います。
DフリップフロップのICは、○ルツには、
TC4013BP
という○ECさんの回路図と同じものがありますが、○月には、
SN54HC74
(SN74HC74の間違いでした。)
というICしかありません。
この二つは、同じ動作をするようですが、ピン配置・真理等が
違うようで、ICを差し替えればいいというような互換性はない
ようです。
他の部品も必要だったので、○月に注文しました。
○ECさんの回路図には、カレントダウンの回路も組み込まれ
ていますが、とりあえず必要ないので、信号変換の部分だけ、
まねをします。
AGENT: Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0
猛牛ロックさん、こんばんは。
>勉強になりました。
とんでもございません。汗ものです。
私の手パはもちろん、某オクで、確か、3000円程度でした。
とても新品は、買えません。今、新品のものが、5000円程度で某オクにでてます。
写真を見る限り、A相、B相出力なので、お手頃だと思います。中には、差動出力のものがあるので、落札するときは、気をつけて、落札しました。
AGENT: Mozilla/5.0 (Windows NT 6.2; Win64; x64; Trident/7.0; rv:11.0) like Gecko
勉強になりました。ありがとうございます。_(._.)_
以前、秋月のおもちゃロータリーエンコーダー(2色LED、SW付)をパラメータ変更の為のスイッチとして利用したのですが、チャタリングや回転方向での間隔の違いで苦労しました。
手パだと思いっきり回すだろうから高分解&光学式が必須のようですね。本格的なのは高そうなのでJOYPADで我慢します。
AGENT: Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0
猛牛ロックさん、書き込みありがとうございます。
>ADCは完了まで待たされるみたいですね。割り込みは必要ですね。
arduinoやPICの詳細については、よく分からない部分が多いのですが、
リアルタイムのパルスの処理については、処理時間のことがあるので、
難しい場合もある、そんな記述を読んだことあるので、今回は、
Dフリップフロップにしようと思いました。手パの速度ぐらいだったら、
追従可能なのもしれませんが。
>パルスジェネレータからの信号はSSボート→MACHと戻って、
>MACHから動作命令が来る、ということでしょうか?
多分そうだと思います。SS→コントロール基板→MACH→動作命令
の順番だと思います。ロータリースイッチをさらに使えば、
MACHがそれぞれの軸への割り振り等もしてくれるようです。
>あと、パルスジェネレータはただのロータリーエンコーダなのでしょうか?
このへんは、私もよくわからないのですが、Tosokuの手パのマニュアルには、
光学式のロータリーエンコーダなので出力信号にチャタリングはなく、
また非接触検出なので長寿命です
の記述がありますので、ロータリーエンコーダーだと思います。
>ロータリーエンコーダだとしたらエンコーダのパルス分しか動かない、ということでしょうか?
多分そうだと思います。私が持っている手パは、1回転100パルスのもので、
いくつかの種類があるようですが、パルス分だけ動くということだと思います。
TRさんのお求めになった手パも基本的には、通常のものと変わらないような
気がします。無線接続なので、取り扱いは、楽だと思います。
AGENT: Mozilla/5.0 (Windows NT 6.2; Win64; x64; Trident/7.0; rv:11.0) like Gecko
ARDUINOもリファレンスを見てみたら、間隔はmillis(起動時間)で測れば行けると思ったのですが
ADCは完了まで待たされるみたいですね。割り込みは必要ですね。
パルスジェネレータからの信号はSSボート→MACHと戻って、MACHから動作命令が来る、ということでしょうか?
あと、パルスジェネレータはただのロータリーエンコーダなのでしょうか?
さっきまで、原点(停止点)が中央にあり、回している手を離すとバネで原点に戻るようなものなのかと思っていたのですが、○LDMANさんの写真ではぐるぐる回りそうです。それに比べてTRさんのは超ハイテクです。(*_*)
ロータリーエンコーダだとしたらエンコーダのパルス分しか動かない、ということでしょうか?
AGENT: Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0
猛牛ロックさん、おはようございます。書き込みありがとうございます。
>今一つD-フリップフロップを使う理由が判りません。
>と、書いていたら、理由が判りました。
>シームレスに反転させたいのですね?
はい。おっしゃるように片方の相をいれて、5Vを入れればいいのですが、
余分なスイッチがいります。
Dフリップフロップを介すると手パだけで正転・反転ができ
るようです。
>Arduinoなら、ステッパーライブラリがあるのでドライバが
>無くてもトランジスタアレイ1つあれば
>簡単に動かすことが出来ます。
はい、ステッピングモーターをarduinoで動かす記事、よく見かけました。
私がやりたかったのは、専用のドライバー経由でのテストです。
arduinoでやれるかなとも考えましたが、
Dフリップフロップと同じようなことするには、割込等必要になりそうで、
arduinoの細部がまだ分からないので、時間かかるかなと思いました。
>ドライバやモーターのテストの為という
>よりも、本番で使う為ですね?
いえ、単にテストのためです。というより、好奇心だけでしょうか。(笑)
本番には、スムーズステッパー使いますが、手パ用の入力端子がありますので、
A相B相の信号をそのまま入力できます。
本番は、いつになるかわかりません。(笑)
あっちこっちつついて、勉強中です。
AGENT: Mozilla/5.0 (Windows NT 6.2; Win64; x64; Trident/7.0; rv:11.0) like Gecko
やることが速いですね。流石です。
○ックヒルさんのところも直ぐ実行に移すすごい人がゴロゴロしていて、あの頃のことを思い出しました。すごいサイトでしたね。
ところで、パルスジェネレータは使ったことが無いのですが、ドライバはPULSE-DIRでしょうから
パルスジェネレータの片方の相を入れて、スイッチでDIR(5V/0V)を入れれば良いように思うのですが、
今一つD-フリップフロップを使う理由が判りません。
と、書いていたら、理由が判りました。シームレスに反転させたいのですね?
Arduinoなら、ステッパーライブラリがあるのでドライバが無くてもトランジスタアレイ1つあれば
簡単に動かすことが出来ます。
(そんなに早く回らないでしょうけど。ステッピングモーターは専用ドライバが無いと早く回りませんから)
ボリュームを入れて、パルスジェネレーションの代わりや、ドライバに入れるPULSE-DIR信号も簡単に
作れそうな気がします。
と、ここまで書いていてまた気づきました。D-フリップフロップを使うのはドライバやモーターのテストの為という
よりも、本番で使う為ですね?
使ったことが無いのでどのような形でソフト(machなど)に組み込むのか頭が回りません。