脚パートの作成しました。
前回AVRの使用考えていましたが、基板上のパーツの配置を工夫してarduinoの使用としましたw
だって書き換えが簡単というのは私にとってはかなり重要なファクターなんですもんww
色々考えるとこの部分に基板を作って入れたいのですが、arduino、ステップモータードライバー、DCモータードライバーと結構場所を取ります^^;
前後方向に並べるとメインギアに干渉するのでこのスペースに並べるために
こんな感じで3次元的な配置を行いましたwww
こんな感じでピッタリハマりますw
とりあえず可動状態をテスト
とりあえず動くみたいで~す^^
で、モーターを戻す前に編隊灯部分の光漏れ凄いので遮光しておきます
アシェットの物はリミットスイッチが無くステップ数で強引に制御されていますが、流石にそれでは怖いのでリミットスイッチを付けます。そのための位置を探しますw
ここに取り付けました~。
これでテストするのですが、ステップモーターの方は良いのですが、あの編隊灯の光漏れが凄いwww
ガチガチにアルミテープ巻いておきましたwww
で、組み立てようとすると
あっwヒンジの軸が無くなってるwww
紛失していますwまっ、まず見つからないのでアマゾンで2.2mmの金属線購入して切断挿入しましたw
さらに、この付近よく見てると
うをwwwww切れる直前www
面倒なので瞬着盛って固めておきましたwww
もう少し上にも切れそうな所あるなww
さてこれでテスト
動きは良さそうです。とりあえず閉じて別のarduinoをマスターとしてI2Cの信号を送ってみました。
おっけ~~~!
次右の脚の作成
左右逆になるので結構混乱しながら作成w
それでも2個目ですから比較的早く出来上がりました。
さて、ここからが結構な地獄wwww
基板をセットしてみましたが、モーター系が全部動きませんwww
とりあえず左の方は同じ構成で動いているので、やはり疑うはモータードライバーたちですので、これを除去
交換しました。
それでも動かない・・・・・・・
ドライバーを交換したのに動かない?左では動いているのでプログラム的には問題ないはずなんだけどな・・・・でも両方動かないとなるとタイマー割り込みがおかしいのか??
arduinoの端子の電圧変化をみてみるとなんか予期しない所で変化が起こっている時がある・・・・・このarduinoのタイマー壊れているのか???
てかタイマーが壊れる事なんてあるのかw???
てなことで、とりあえずarduinoも交換w
・・・・・・動かない・・・・・・何故だ????????
これで2日位作業停止wwww左は同じ構成同じプログラムで動いているのに!!!!どう考えても わからんw
で、基板を確認すると・・・・・あれっ??
そういえばこのMODE端子見るとプラス端子に繋げて有るな!左の方は????
左はココはどこにもつなげてないじゃないwww
そっかw左はIN/INモードだけど、右はPASE/ENABLEモードになってるのか!
あれ、でもBIN1が1、BIN2が0ならPASE/ENABLEモード(赤線の表)正転するんじゃないの???ここでまた少し悩みw
ところがよく表と配線図を見るとENABLE端子はBIN2端子で、PASE端子がBIN1とIN/INモードとは順番が逆に記述されてるのかwwwwだから実際はブレーキかけてる状態だったのかwwww
今まで何個も使ってきたけど今回初めて気が付いた(/ω\)
DCモータードライバー変えたけど必要なかったww
MODEのプラス接続を外してやると動き始めましたwww
ただ、それでも時々動いた入り動かなかったりする時が有ります・・・・・・
となるとやはりプログラムがおかしいと検証してみると、
モーターをオンにするタイミングとタイマーのカウントをリセットするタイミングの順番がまずい
1 2 3 4 5 6 |
if(x==60){ x=0; digitalWrite(landing_light,LOW); digitalWrite(main_gear_up,HIGH); digitalWrite(main_gear_down,LOW); mg_count=0; } |
これを
1 2 3 4 5 6 |
if(x==60){ x=0; mg_count=0; digitalWrite(landing_light,LOW); digitalWrite(main_gear_up,HIGH); digitalWrite(main_gear_down,LOW); } |
こうすると動き始めました!!
タイマーのカウントのリセットである
mg_count=0;
の位置を変えただけですwww
要はたった3つのピンの操作をしてる間にタイマー割込みが入っちゃってキャンセルされてたのね^^;
動かない状態は無くなりましたが、今度は設定は5秒なのに30秒近く回り続ける症状がww
もうっ!何よこいつらwwww!!
どうもタイマーの時間がおかしい。
シリアルで読みだしてみるとmg_timeが25500m秒にwww
真新しいarduinoの場合はEEPROMの数値が書き込まれていません。ですからセットアップ部分に
1 2 3 4 5 6 7 8 9 |
//----------EEPROM------------------------------ if(EEPROM[0x000]==0){EEPROM[0x000]=50;}//255まで v_step=10*EEPROM[0x000]; if(EEPROM[0x001]==0){EEPROM[0x001]=50;} v_speed=10*EEPROM[0x001]; if(EEPROM[0x02]==0){EEPROM[0x002]=50;} mg_time=100*EEPROM[0x002]; |
こんな感じのプログラムを書いていたのですが、どうもEEPROM中の数字がおかしい!!!
で、調べてみると
なにっ!!聞いてないよ~!まっ調べてもないからねww
書き込まれていない場合は255が入っているのかよww
0が入っているんだと思ってたwwこれじゃ上のプログラムでは予定の数字が代入されないですよねwww
じゃっ、なんで左の方は動いてたの?
プログラムを見るとEEPROM部分の設定を書き込んでませんでしたw普通に変数を使ってたww
右左と微妙にプログラム違う部分有るので、プログラムを修正したら、もう一方も修正を繰り返していたのですがEEPROM部分は書き直すの忘れてて、それで偶然動いていたようですww
うっかりラッキーですね\(^o^)/・・・・・・
いや、よけい問題を複雑にした隠れうっかりだなw
さて、次にステップモーター。
コイツもドライバー交換しましたが動きません。念のため再度プログラムをチェック。
うん!絶対間違っていない(ホントかよww
arduinoも交換したし、信号もロジアナで確認してちゃんとタイミング合ってる。
怪しいのはドライバー??念のため再度交換w
おりょwwww
動き始めたwwマジかよステップモータードライバーまた不良に当たったww
ただ、動き始めたがなんかおかしい・・・・・・・
本来ならこんな感じの動きなのですが、
こんな感じでタイミングやステップ数もグチャグチャw
残すはモーターか・・・・・・と見てみると
左のモーターと比べます。あっwwwww!
赤とオレンジの線が逆にハンダ付けされてるwww
は~~~~~今回は、つまらんうっかりばかりで面白くなかったwwww
それにしても、ここまで右脚は問題あったのに、偶然動いていた左脚!!凄すぎwww!
関連すると思われる記事:
- None Found
こんばんは
基板を小さな所に押し込むには「3D基板」はGOOD IDEAですね! これはぜひ覚えておきます。
前半の「足」の電飾と動きの動作は凄く迅速で、ノズルの方向変化も機敏に行えそうです。
問題は後半でしょうか!(笑)
モータードライバーのモード設定とモード毎に制御ピンの意味が変わるややこしさ、ありますね。
写真では赤とオレンジは同じ様に半田されていると見えますが、こういうのは見つけるのが大変ですよね。
充実した週、お疲れさまでした。
(追伸)当方もこの一週間はMjpegの動画表示のライブラリに悩まされておりました。(笑)
Vividさん こんばんは!
ベクタードノズルはアシェットの物よりも多少早く動かせることが出来るようになりました^^
これは一つの課題でもあったんですけど、意外とすんなりww
基板はとにかく詰め込みましたwww
後半はホントいろいろとボロが出てきて悩まされました~w
まっ、色々と今まで何となくやっていた事の確認が出来て良かったのかなとも思いますw
Vividさん ごめんなさい!ステップモーターのハンダ写真間違えて同じ物載せてましたm(_ _)m
変更しておきました。
あっ、そうそう、らびやんさんから聞いた画像の一部表示等をテストしてみましたのでまたそのうち掲載しますね^^
Mjpeg色々と難しそう(´Д`)
こっくりこっくり。
むにゃむにゃ、すぴーっ。
おやすみなさーい。
もうついていけそうになーい。
いやー、よくこれでちゃんと動いてたねっていうか、よく原因突き止めました。
色々すごいww
作ってる最中だと細かいところのプラグラムや配線とか毎日見てるから、おかしいところの目星が付けやすいんですよね。
これが1年くらい経って時限装置が発動した時は地獄ですね。
3D実装するとデバッグも大変?
複数の原因が絡んでると余計わけわかんなくなりがちですよね。
いろいろ使いこなせてしまうゆえの悩みかもw
このペースだと他の部位でもまだまだウッカリが期待できるかな(^^;
てつのさん こんばんは!
色々端折って書いてるから分かりにくいだけだと思いますよw
プログラムの一部だけ見せられても、その変数が何かなんて分からないからねw
本当は今回のプログラムなんて全文載せて解説したいくらいうっかりが埋入されていましたwww
gyoさん こんばんは!
今回は地獄と書いてるけど、久しぶりにハマってなかなか進展しなかしなかったんですよw
原因の振り分けで、最初に組んだ左の基板が下手に動いているから色々とハマってwww
ホント左の基板よく動いてたよwww偶然怖いww
でもarduinoは気軽にシリアルで変数の確認とロジアナでタイミング見たりできたので、何とかたどり着けましたよw
確かに1年後くらいにこの症状出てたらお手上げだっただろうねwww
なおさん こんばんは!
今までここまでタイマー割り込みを活用したことが無かった事と、EEPROMをあまり理解せずに使っていた事が原因でしたねw
EEPROM、なにも格納されてなかったら0と思うじゃないww
255入っているなんてww実際にEEPROM.readしたら、操作していない領域部分には255きっちり入っていましたww
次は台座の部分ですが、ここはスイッチ部分壊しちゃって修理しました~!
また載せますw