写真徒然草...

つれ\〃/なるまゝに、日ぐらしファインダーに向ひて、心に移り行くよしなしごとを、 そこはかとなく撮りつくれば、怪しうこそ物狂ほしけれ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

万能サーボアダプタ?!

昨日、月曜日は仕事後にkomさんと大曽根メッツのコメダで密会!
¥380のコーヒー(私)と同紅茶(komさん)で延々2時間半ダベッてました!
komさんが完成した凄いサーボアジャスタ?とホビキンで共同購入したBECの物々交換。その後、延々と電気回路やラジコンの事について情報交換していました。
komさん、長々とありがとうございました!
で、帰宅後は流石にいじる余裕も無く就寝。

今日、サーボアジャスタを初通電!
物はコレ!
凄く小さい!パターン綺麗!良くできている!感動!!!
image2261.jpg

各種機能を備えているのに、PICマイコン1個(PIC12F683)とコンデンサ1個のみ!
それをご自身で製作した表面実装のプリント基板に実装!実はコメダの店内は薄暗くて老眼では良く見えませんでしたが、明るい所で見たら細かい!

で、早速サーボコネクタケーブルを接続して実験。
先日のEasyGliderの首振りサーボの動作角拡大にQuickBladeから動作角拡大アダプタを移植したので、動作角拡大として使用予定。

ところが、動作角度は120°程度?しか広がらず...。
早速パラメータを修正!
使用するのはPICkit2。EEPROMを修正。
アジャスタをサーボ・受信機から切り離し、同時に戴いた、接続コネクタを間に挟んでPICkit2を接続。
image2262.jpg

で、PICkit2のライタプログラムを起動し、
image2263.jpg

Device FamilyからMidrange、Standardと選択。そうするとDevice:PIC12F683って認識。
image2264.jpg

Program MemoryのEnabledのチェックを外し、ReadボタンをクリックするとEEPROM読み込み完了!
image2265.jpg

EEPROM Dataのアドレス4と5をC8からFFに修正して、Limit_LとLimit_Rを最大値に修正。そして、Writeボタンをクリックしたら、EEPROMにデータ書き込み完了!
image2266.jpg

PICkit2を外し、受信機とサーボを接続して動作確認。
今度は180°振れました!

でも、振り切れてるので、値FFを最適値に調整する必要あり。でも、受信機・サーボ外してPICkit2接続して...って、やはり面倒!
komさん、本当にありがとうございます!
でも、PIC12F683ってシリアル回路内蔵していないけど、どうやってオンラインでパラメータ調整する?

追伸、
やっぱりソースコードも欲しいなぁ!
komさん、メールで送ってもらってもいいですか?
早速色々試してみたい動作が出てきたので...。
1)ビデオスイッチを動作させるためのスイッチ動作
2)スティックの傾きで点滅速度が変わる、タイマー(LED点滅用)
3)長い周期でON/OFFを繰り返すカメラシャッター用動作(サーボ動作か、リレー接点動作)
等々、アイディア色々!
  1. 2010/02/17(水) 00:07:09|
  2. ラジコン|
  3. トラックバック:0|
  4. コメント:5
<<天気良いけど、風が強い!QuickBlade秘密兵器小改造 | ホーム | バッテリコネクタ>>

コメント

こんばんは。
先日は長い時間お付き合いくださいましてありがとうございました。

>ところが、動作角度は120°程度?しか広がらず...。
>Limit_LとLimit_Rを最大値に修正。今度は180°振れました!
なんかちょっと変なかんじですね。プロポのエンドポイントで振れ幅を増やしてあるような感じ。
これ、HTにつながるチャンネルですよね。
まず、Gain=100(0x64)、Limit=255(0xFF)で、デフォルトの出力範囲を見てください。で、振れ幅を増やしたい倍率をGainに指定。振れ角を片側90度にしたいとすると、デフォルトの振れ角が60度ならGain=150(0x96)、デフォルトが30度ならGein=300(設定できないので Gain=255 → 76.5度 でガマン)になります。

Limitは、100%=片側40度を目安に決めます。Limitを片側90度なら、225(0xE1)ですね。
ちなみに、私がテストしたサーボは、片側(特にパルス幅が短くなる方)の振れ角が80度を超えたあたりから、動きが怪しくなりました。

>シリアル回路内蔵していないけど、どうやって・・・
タイマー割り込みでタイミングを取って、1bitずつ受信(送信)するプログラムを組むしかありません。面倒だけど。ただいま作成中。
シリアルの送受信が成功したら、コントロールコマンドなどのプロトコルを実装ですね。
>ソースコード・・・メールで送って・・・
いいよですよ。32bit演算をやめて、300バイトくらいバイナリが小さくなったヤツを送りますね。
mikroCのプロジェクトファイルは絶対パスを含んでいるので、そのままでは読み込めません。なので、CのソースファイルとEEPROMのデータファイルを送ります。
Cのソースに書いてあるとおりに、プロジェクトのコンフィギュレーションビットを設定してください。
パルス幅の測定とパルス出力はハードウェアにガッツリ食い込んでるので、わかりにくいと思います。データシートと見比べながら読んでください。
パルス幅の計算は、見たらすぐわかるでしょう。

>1)ビデオスイッチを動作させるためのスイッチ動作
出力をパルスじゃなくて、レベルで出力するだけだから簡単。
プルアップつきオープンドレイン出力(プルアップ無しも)にもできますよ。

>2)スティックの傾きで点滅速度が変わる、タイマー(LED点滅用)
タイミングが絡むやつは、ちょっと難しい。出来ないことは無いけど。正確なタイミングでなければ簡単。
Timer2はシリアル通信で予約済みなので、Timer0を使ってください。

>3)長い周期でON/OFFを繰り返すカメラシャッター用動作
基本的には2)と同じですね。

完成品ではなく素材と思って、いろんな機能をつくりましょう(^^)
  1. 2010/02/17(水) 20:13:49 |
  2. URL |
  3. kom #195Lvy4Y
  4. [ 編集]

komさん、いつも御訪問、コメントありがとうございます!
>なんかちょっと変なかんじですね。プロポのエンドポイントで振れ幅を増やしてあるような感じ。
変ですねぇ?!
>これ、HTにつながるチャンネルですよね。
はい!但し、受信機はCoronaでサーボは激安のHXT900...。出力はプロポのサーボモニタで見てEndPointを広げて最大振れ幅出力していました。
ちょっと色々いじってみます。
>いいよですよ。32bit演算をやめて、300バイトくらいバイナリが小さくなったヤツを送りますね。
ありゃ、そういう事でしたか?道理でコンパイルした出力のHEXが一致しない訳だ!
>完成品ではなく素材と思って、いろんな機能をつくりましょう(^^)
はい!あるといいな、こんなの便利だなって機能をドンドン作ってライブラリにしましょう!
  1. 2010/02/17(水) 23:14:07 |
  2. URL |
  3. Y.Mita #-
  4. [ 編集]

これは、そういった使い方をするもんだったんですか~
すごい!!の一言です。
私もホスィーーーーが、
ソフト側が何を言ってるのかわけわかめです。
なので、無理なんだろうな・・・

  1. 2010/02/18(木) 12:39:26 |
  2. URL |
  3. 920 #-
  4. [ 編集]

920さん、いつも御訪問、コメントありがとうございます!
>これは、そういった使い方をするもんだったんですか~
本当の使い方はまだこれからですよ!ねぇ~、komさん!
>すごい!!の一言です。
凄いですよね!
>私もホスィーーーーが、
>ソフト側が何を言ってるのかわけわかめです。
>なので、無理なんだろうな・・・
製作は簡単ですよ!コネクタ3つにIC1個、コンデンサ1個なので。
ユニバーサル基板や空中配線でも作れます。
でも、書き込みツールが大変かな?(PICkit2ってヤツです!)
  1. 2010/02/18(木) 22:38:52 |
  2. URL |
  3. Y.Mita #-
  4. [ 編集]

920さん、追伸!
komさんのブログの記事はこちら!
http://blogs.yahoo.co.jp/kom_rc/31696081.html
  1. 2010/02/18(木) 22:40:15 |
  2. URL |
  3. Y.Mita #-
  4. [ 編集]

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://ymita.blog9.fc2.com/tb.php/841-5a70c916
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。