「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



秋月の新商品。
http://akizukidenshi.com/catalog/g/gP-04399/

例によって台湾のPicotec International社。
説明によるとAT-MEGA8、88、168、328用のI/Oボード
らしいんだけど、だれがどう見ても用途は一つだよな。
MEGA438をあえて外しているのが怪しいよな。

誰もがひとつかふたつは持っているAE-UM232Rが
そのまま取り付けられるようになっているのが
超作為的。シビレる。

>マイコンの入出力ポートがまとまって基板端に
>出ていますので、取り扱いが容易です。

だそうで…。
加えるとしたら、ブートローダと各種ライブラリも
無料で公開されていて、取り扱いが容易です。って
ところだな。

多分この値段だから買っちゃうのは間違えないと
思うんだけど、シリアル経由の自動リセットとか、
給電方式とか、その辺が気になるところだな。



コメント ( 3 )




今日もボール盤。ドリルチャックのチャックキーを
買ってきて、きっちり締め上げられるようになって
一気に作業前進…といいたいところなんだけど、
テーパーの軸にチャックが大人しくしててくれない。

オイルが残っちゃってるのか、取り付けが甘いのか…

キーレスチャックじゃないから、ドリルビットを
取り替える都度つけたり外したりしてるんだけど、
そもそもこれも問題あり?イマイチ使い方が
解ってないのが最大の問題か。

それでも6.5mmまではサクサク穴あけできてシメシメ。
ハンドドリルだと6.5mm径穴をアルミに空けるのは
一苦労だからなぁ…。しかもちゃんと直角が出るのが
ハンドドリルと違うところ。

8mmは一苦労。さすがに卓上ボール盤。音を上げる…
ナントカねじ伏せて穴を空けきる…はぁ。

5mmで開けた穴にW1/4でネジ溝切って、ボルトがちゃんと
はまることを確認。

あとは皿ネジの頭を隠すために面取りカッターで掘るのと、
あとは主軸(10mm)を貫通させるための穴については
8mmからさらに11mm程度までテーパーリーマーでがんばる
必要あり。

テーパーリーマーがまた厳しいんだよな…以前1.5mm厚
程度のアルミに15mmくらいの穴開けるのに、テーパー
リーマーでゴリゴリやったら、右手はマメだらけ、
右腕が筋肉痛になっちゃったからなぁ。やりたくない…

でもそこまで終われば残りはファームウェアだけだし、
ファーム自体も必要機能は実験済みだから、ほぼ見えて
来た感。もうちょっとだなぁ。


SX130ISがちょっとだけ前進。うーん。もう一声欲しい
ところなんだけどな。さすが人気機種。ちょっとずつしか
下がらないんだな。まぁ、手元にコンパクトデジカメが
あることはあるから急ぎはしないんだけど、もうちょっと
下がったらポチる気満々なんだけどな。


そうそう。一気に話は変わって、ネコロジーPC

久々に使おうと思ったら、windows7ではシリアルポートの
読み出しが間に合わなくなっちゃって、サンプリングの
データが読み出し途中で止まっちゃう…。windows2000以下
のOSだな。7。算数的には多分1/300近いパフォーマンス
だな。7÷2000。

ゲイツ君を恨んでても仕方ないので、できるだけ手を抜いて
ナントカ復活させることを考えてみる…。

ハードウエアフロー制御(とりあえずRTS/CTS)が使えれば
いいんだけど、空中配線を使っても現行基盤ではちょっと
大変そう。

でもソフトウェアフロー制御なら、XON/XOFF関係のコード
は元々避けるようにデータフォーマットを組んでるから、
ハード側改造なしに対応できることはできるんだけど、
USBシリアル変換の場合パケット単位での通信だから
XON/XOFFが115.2KBに追従するかどうかが問題だな。

それと、OS側のドライバ設定見てみたら、バッファサイズ
の変更はできるものの、バッファの何%使ったらXOFFを
送るのかが設定できないし、よく判らない。っていうか
その辺の仕様がまったく不明。

じゃぁ実験してみようと思って久々にVB2005を使おうと
思ったらもう2005をインストールできる環境が無いのね…

おやおやと思って試しにVB2008を入れてプロジェクト
ファイルを開いてみたら…自動変換機能を使って2008
でも無事開けた。動かしてみるとやっぱり2005と同じ
動作。(通信速度が追いつかないのも一緒)
PC側のプログラムでバッファサイズを馬鹿でかく
してみるも症状変わらず。


方向性としては、XON/XOFFでうまく動くか確認してみて、
それでもだめならUSBシリアル変換じゃなく、直接
PC本体のシリアルポート使う手かな…。先は真っ暗だな。

そもそも、PC側ソフトの読み出し速度が遅いって言う
のが根っこなんだから、VC++に乗り換えてメモリを
明示的に確保しちゃうって言う方がアタリマエな気がするな。
次から次へと環境構築するのがイヤなんだけど…。


http://headlines.yahoo.co.jp/hl?a=20101218-00000607-yom-int
密漁船って言うより、ほとんど海賊だな…。



コメント ( 0 )




回路の出来具合はまぁまぁっぽいことが判ったので、
次はモーターを長時間回しての負荷テスト。
正確に言うと、終端電圧を探るためのテスト。

モーター繋いでLCDに直近の電圧と10サンプルの
移動平均を表示し、移動平均が4.4Vを割った時点で
ブザーを鳴らして終了させるという内容でやってみる。
こんなのが簡単にサクサクできるのはやっぱりarduinoを
基盤に選んだメリット。


とりあえず1時間ちょっと稼動させてみた感じでは、
移動平均電圧が0.04Vpp~0.05Vpp程度の脈動をして
いる感じ。

ずいぶん前に充電してから多分半分以上は使ったで
あろうエネループを電源に使ったんだけど、モーター負荷
をかけた直後は記憶では確か4.6Vあたり。
で、モーターを本番同様に1-2励磁でドライブし続けて
みる…

1時間ちょっと経って、予定通りブザーが鳴って終了。

LCD上は4.4Vを少し割った数値が表示されてて、機能的
には大丈夫みたい。
で、終わった直後の電池を取り出して、1個1個テスター
で電圧を測ってみると…

・1.204V
・1.206V
・1.206V
・1.207V

さすがにまだ数回しか使っていないエネループ。ばらつき
が少ない。サンヨー電池、優秀!

4.4Vで終端(1本平均では1.1V)なんだけど、実際の残電圧
は上記のとおり。これは比較的高負荷をかけての電圧だから
内部抵抗による電圧降下も含まれるもの。

実際は既に電力をかなり使い果たし、内部抵抗がだいぶ
上がってきているんだろうと思われ、4.4Vを終端条件にする
ってことでいいんじゃないかなぁと。実際、充電器に
突っ込んでみたら4本ともほとんど空っぽの表示。

それに、ばらつきが大きくなっていった際に劣化の激しい
1本だけに負担が集まらないようにという配慮もあり。
あまり搾り出しすぎると、直列接続の場合劣化の激しい
1本が集中的にダメージを食って、あっという間に過放電
による寿命になっちゃうので、あまり搾り出しすぎない
程度でよしとしておくのが吉。


今回はスケッチの機能確認の意味もあったので中途半端
な電池を使ってみたんだけど、充電終わったらもう一度
負荷テストでどの位の時間稼動できるのかを見ておきたい。
最善でどのくらい連続稼動ができるのかは超重要。

計算上は、モーターで2ワット平均消費してスイッチング
電源の効率が70%程度と見ると、机上計算では3.5時間程度
もつはずなんだけどなぁ。どうかなぁ?



あとは、アルミ板にボール盤で穴あけしようと思って
やり始めたところ、困ったことにドリルチャックの
チャックキーが無くなっていることに気づいてしばし
唖然…。
うーん、ハンドドリルのチャックキーで代用でき
ないかなぁ…と思ってやってみると、サイズが微妙に
合わない…。(TT)

それを無理やり使ってなんとか締めこんでみたんだ
けど、2.0mmで下穴空けるのがやっと。残りは
チャックキーを手に入れてからだな。最大の課題は
8mm穴を空けられるか。オイラのミニボール盤、
アルミに8mm空けられるのかな?


そうそうウォームホイールの軸部分を留めるための
イモネジの件。買ったウォームギヤにイモネジを
ねじ込む穴が空いてなかったって話。

ハンドドリルで無理やり2.5mmの穴を空けてみる。
20分掛かったよパトラッシュ。周囲が油くさい。

こっちはM3ネジの下穴=2.5mmってことで、引き続き
タップでネジ溝を切ってみる。ネジ溝はサクッと行けた。

適当なM3ネジで10mmステン棒を締めてみると、結構
しっかり締めないとくるくる回っちゃうっぽい。

ステン用ファイルで10mm軸をわずかでもDカット
すればいいんだろうけど、ステン用のファイルって
ちょっと高いんだよね…登場の機会が少ないのに
買うのはなぁ…ダイソーに売ってないかな?


今週末、あまり時間掛けられないんだよな…
なんとか今週末に最低限のファームウェアで
稼動可能な状態に持って行きたいな。



コメント ( 0 )




昨日はLCDライブラリ用のスケッチを書き込んでみて、
arduinoとして動作できることが確認できたので、
引き続き細部の動作確認をしてみることに。

テスト対象は、「デジタル入力」「ブザー出力」「LED」
「LCD」「ステッピングモーター動作」「電源電圧監視」と
大きく分けて6点。

(1)デジタル入力

  このデジタル入力とLEDは、とにかくあまったピンを
  適当に繋いだので、ピン配置がイマイチ。arduinoの
  標準的なピン配置で言うと、デジタルI/Oは13番まで
  で、いわゆるポートCはアナログ入力用(ADC)になって
  いるんだけど、今回ADCは電源電圧監視以外には使って
  いないので、デジタルI/Oモードで使用。

  で、デジタルポートに設定してタクトスイッチからの
  入力内容をシリアルモニタで観察。ばっちり。

  ただ、回路上ではチャタリング対応をして無いので、
  ソフト側でゴニョゴニョする必要アリ。まぁこのボード
  はタイマー割り込み使う前提のモノだから、その中で
  処理すればいいでしょう。

(2)ブザー出力

  6ピンISP用のSCKと10kΩ抵抗で重畳させているので、
  それが動くかどうかの確認。ブレッドボードでは
  動いているので安心しきっていると…音が出ん!
  (耳をすますと微妙なノイズが聴こえるような…)

  もしかしてブレッドボードでは1kΩ使ってたとか?
  と思って、その前にスケッチをよーーーく見直して
  みると、ピンモードを出力に設定してなかった…

  修正してみるとちゃんと音出た。よし、よし。

(3)LED

  大した話じゃぁ無いのでサックリ確認。LED点滅
  させてみて、よし、よし。

  気になるのは、片方のLEDの取り付け場所が
  確保に困り、LCDとMP4401の隙間になっちゃったこと。
  で、実際にLCD取り付けた状態でやってみると…
  見づらい…

  まぁ見えないわけじゃないし、LCD付いた状態なら
  そっちを優先的に表示させればいいだろうから、
  これはこれで大人しくあきらめる…

(4)LCD

  オプションとしてキャラクターLCDモジュールを
  ワンタッチ取り付けできるようにしてあるので、
  表示させてみる。

  表示自体やいくつかの動作モードについては疎通確認
  で見れてるので、その他の観点について。
  あまりその他の観点は無いんだけど、周期的にカーソル
  位置を指定しながら浮動小数点数値でも表示させて
  見よう…。

  出た。とりあえず問題なし。

(5)ステッピングモーター動作

  MP4401経由でSPG20-332に接続してみる…
  問題なく動く。そこそこのトルク。よし、よし。
  マイクロステップで動かしているんだけど、およそ
  カクカク感は無いみたい。

  1周480ステップをフルパワーの約2ワット(9Vの
  1-2相励磁)で動かしてみると…
  徐々にモーターが熱を持ってくるんだけど、定格内
  なので手で持てなくなるほどでは無いので一安心。
  1ステップを10段階に分け、1/10毎にステップさせて
  いるので、1ステップ分はちょうど1秒。1周480ステップ
  はちょうど480秒 →想定どおりに動作。ok。ok。

(6)電源電圧監視

  ある意味、最大の課題。

  ニッ水電池を使う予定なので、電圧監視を行って
  終端電圧で動作を停止させないといけないので、
  今回は電池電圧を1/3に分圧してアナログ0(PC0)
  から入力する回路を用意。

  モーターへの電力を供給していない状態と、供給中
  の状態で見比べたかったので、ちょっと時間を掛けて
  色々眺めてみる…

  まず、電源電圧自体をADCから読み出すのは問題なし。
  あとは実際にニッ水電池を繋いで、モーターを駆動
  させたらどうなるのかって話。きっとモーターの動作
  に伴って電圧が上下するはずなので、そこをどう拾って
  終端電圧と判断させるのか…。

  一瞬の電圧低下だけを拾って終端電圧と判断させては
  だめなので、移動平均を取ってみる作戦。

  やってみた。シリアルモニターから電圧を拾ってから
  表計算でグラフ化するとこう↓。



  青い点線が個々の電圧入力値。橙色が10サンプルの
  移動平均。(ちなみに、橙色が6V付近から急落している
  のは、サンプルデータ10個分の初期値として仮の数値
  「6V」を設定してあるため→動作開始時にいきなり電源
  電圧低下と判断しないための方便)

  その後は、5V弱のところで周期的に脈動している様子が
  見て取れます。脈動の周期は1秒。1-2相励磁での
  1ステップ分に相当。1相分だけに給電している状態と
  2相分に給電している状態が0.5秒毎に切り替わっていく
  のに相当するので、この周期的な波模様の波形は予想
  通りのモノ。

  ただ、この波の谷間のときに終端電圧と判断しちゃうと
  よろしくないので、1ステップ分かそれ以上の周期で
  移動平均を取らないとだめだよな…。

  まぁ、テスターで計った電圧とほぼ同じ結果が得られて
  一安心。

  それにしても、無負荷に比べてモーター負荷を掛けた状態
  ではおよそ0.2~0.3V程度は低めに出るんだなぁ。
  ニッ水電池の内部抵抗に因るもの。

  というわけで、移動平均の周期の問題と、高負荷時の
  電圧低下問題を加味してどんなスケッチにすればいいか
  考えれば良さそう。

とりあえず、ボード関係については取り立ててバグは無かった
見たいで一安心。

あとは、実用に最低限必要なスケッチに組み合わせるのと、
筐体の組み立てだな。果たして21日に間に合うのか!?



コメント ( 0 )




勢いに乗って一気に半田付け。

一応作り終わったばかりの状態。


電源はテスト用に秋月の5V10Wタイプを使用。NJM2360で
9Vに昇圧して、それを一方はモーターの電源供給に、
もう一方はシリーズレギュレータ経由でAVRチップ用の5Vに。
AVRチップにはとりあえずmega328をチョイス。

ISP経由でarduinoのブートローダを書き込んでみる。
ok、ok。無事書き込みできた。

左にある赤いのは、spark fanのFTDI basic breakout。
ここを通してarduinoのIDEから以前作っておいたスケッチ
を書き込んでみる…。LCDも乗っけて…



出た!

とりあえず疎通レベルでは大丈夫みたい。

そのほかの機能(ボタンやLED、ブザーなど)や、もっとも
大事なステッピングモーター駆動についてもあとでじっくり
テストしてみないと…。

まぁ一安心。



コメント ( 0 )



« 前ページ 次ページ »