2009年12月2日

すばる(プレアデス星団)食観測

 昨夜、23時前後にプレアデス星団が月(月齢15日)に一部隠されるプレアデス星団食が起こるという事で、写真を撮りに行っていた。
 天気は快晴、心配していた雲も無く空気は澄んでいて、格好の天体観測日より♪
 
 月齢15日の月はほぼ満月で、非常に明るい。
 車からいつもの展望台への道程も懐中電灯なくても全く危なくないレベル。
 
 そんなわけで、さっそく撮影開始。
 
 とにかく月が明るいので、なかなか目的の昴の姿が見えない。
 ようやっと見えたが、何しろ月が明るすぎ。
 月の明かりを避けようとすると昴が見えなくなるし、昴が写るようにすると月明かりで真っ白になる。何とか撮れたのが下の2枚。

 2009/12/01 22:33:00
 Canon EOS Kiss X3
 Tv 1
 Av 16.0
 ISO 400
 EF-S55-250mm f/4-5.6 IS
 焦点距離 250.0mm
 トリミング



 2009/12/01 23:28:22
 Canon EOS Kiss X3
 Tv 1/10
 Av 5.6
 ISO 400
 EF-S55-250mm f/4-5.6 IS
 焦点距離 250.0mm
 トリミング

 途中で望遠レンズが結露したり、風に吹かれてブレブレだったり、バッテリーが切れかけたりとなかなか問題山積みの撮影だった。
 とりあえずレンズの結露対策は、早々に行わないと真冬に突入したら目も当てられない。

 合間合間で撮ったもの。



2009年11月30日

AVR備忘録 -入出力レジスタ設定-

ちょっと意識しないとあっという間に忘れてしまいそうな事をAVR備忘録として記す。

1.各ピンの入出力はDDRxの方向レジスタで設定する。

 例1:DDRD |= ( 1 << PD1 ); // PD1ピンを出力とする。
    PORTD = ( 1 << PD1 ); // 初期値(Hi)設定。

 例2:RRDB &= ~( 1 << PB4 ); // PB4ピンを入力とする。
    PORTB = ( 1 << PB4 ); // プルアップに設定。

2.プルアップされたスイッチの押下を判定する場合。
 プルアップされたスイッチは、未押下でHi、押下でLowになる。
 
 入力の判定はPINxレジスタの各ビットを判定する。

 例1:( PIND & ( 1 << PD1 ) ) == 0 // 左記の式が真の場合は押下状態。

2009年11月24日

夜寒撮影

 勤労感謝の日を含んだ三連休、その最後を飾る連休明けの早朝、カメラを担いでいつもの展望台へ行ってきた。
 家を出る時は一面モヤに覆われていたが、標高が高くなるにつれてモヤが晴れる。
 絶好の撮影日和である。
 カメラ購入一週間ちょい、まだまだ試し中なので、とにかく数をこなしてコツを掴まないと…
 今夜はとにかく冷え込んだ。麓の温度は車の外気温計で5℃。吹きっ曝しの山頂の温度が何度になるのか知りたくもない。
 
 まぁ、寒さは事前の準備と気合いでカバーして、さっそく撮影を開始する。
 それにしても、ファインダーを覗きにくい。
 まず、乗せた三脚がエレベータをいっぱいに伸ばしても、私の胸の高さにしかならない。そのうえ、レンズを上空へ向けるため、ファインダーは限界いっぱいまで下を向く。
 そのファインダーを腰を屈めたり、背中を丸めたり、首を捻ったりで覗き込む。そこまでやって見えるのは、一等星が薄ぼんやり程度。そんなだから、なかなかピントがあってくれない。
 むぅ~。先輩諸氏はどうやっているのか…。
 
 ソレはソレとして、撮影を続ける。
 
 オリオン座と冬の大三角を視野に入れて10分近くのバルブ撮影。
 撮影完了後、画像を見てみると時間経過に従って、星の光量が落ちている。空は雲一つない快晴。満天の星空、バルブ解放中もずっと空を眺めていたので、雲が掛かったわけではない事もわかっている。なんだコレは?
 ファインダーを覗くと、さっきまで見えていた1等星の光が全く見えない!
 壊れたっ!
 とはさすがに思わない。いろいろ見てみると、レンズ先端の保護フィルターの表面にびっしりと水滴が!
 結露だぁ~orz


 結露後、しばらく放置した後、撤収間際に撮影したオリオン座~おうし座
 まともに写っていたのは、ほぼコレのみ…

 結露対策を講じなきゃなぁ~。

 寂しいので、

前日の夜に自宅ベランダから撮影した月。

2009年11月15日

念願の一眼レフ購入!

 昨日、事故のような偶然と半ば意図的な衝動買いの結果、念願の一眼レフを購入した。
 まさか、突発的な稟議にGoサインが出るとは思わなかったが、承認者(嫁)の気が変わらないうちにさっさとカメラ屋さんへGo♪

 購入物品は、カメラ屋さんと相談し、主に星の撮影であること、タテマエとして子供の写真を撮ることを伝え、ついでにお金無いよと言い添える。

 「レンズフードは?」
 「いらなくね? デジタルだといくらでも取り直し効くし」

 「減光フィルタは?」
 「プロテクトフィルターあれば十分だよ」

 「SDこっちが安いよ?」
 「転送速度速いほうがいいよ。30Mまでいらないけど、15Mで様子見てみ?」

 と言うことで、下記を見繕ってもらう。
 EOS Kiss X3 Wレンズセット+(プロテクトフィルター×2)+リモートスイッチ+SDカード(4G(転送速度:15M/s))+液晶保護フィルム

 はやりカメラはカメラ屋さんで買わんといかんな、ヤ○ダだとなかなか相談に乗ってもらえないし…。
 
 と言うわけで、早速今朝、雲の切れ間を狙って、色々テストもかねて写真を撮りに行ってきた。

 まずは、バルブ解放後のファイル書き込み時間について。
 コンデジでは問答無用で、解放時間分硬直していたのが、10~30秒解放程度なら体感で2秒(以下)程度。
 コンデジとは違うのだよコンデジとわっ!

 残念ながら、多少の期待を持って出かけた「しし座流星群」は、肉眼でも写真でもお目にかかれなかった(雲いっぱいだったし…)。
 だが、日の出直前にカミソリの刃のような月が昇ってきた。
 新月が近い。こっちを撮る。



 露光時間を変えながら、色々撮影。

 露光時間:2秒


 露光時間:1秒

 
 露光時間:0.5秒


 違いが分るほど、上手くとれてないなぁ…orz

 他にも、5秒、10秒、30秒と撮ったがシャッター押下時のブレでダメダメ。やはり長時間露光するなら、リモコン必須なのだと悟る。

 帰り途中、低い雲とその切れ間から覗く、高い雲と空が結構綺麗だったので、車を止めてぱちり。



 最初の被写体が星なので、嫁にはタテマエがタテマエ以下であると露見してしまった。
 おかげで、PC買い換えor天体望遠鏡ははるか遠くに吹き飛んでしまったが、そこはしょうがないと諦めよう。
 
 とりあえず、18日のしし座流星群の極大時に、晴れてくれることを祈るとしよう。

2009年11月10日

ISS観測できず

 本日、17:44~47にかけて、南西→北方向に移動するISSが観測できるはずだったので、会社の近くの橋の上で空を見上げる。
 車のヘッドライトに街明かり、周りの民家などで、観測ポイントとしては最悪だがISSくらいの明るさがあれば、見えるだろうと楽観的に考えての行動だ。(見えなくてもソンはないし…)
 だが、生憎の曇り空で、ここ最近夕方の南の空に一際明るく輝いている木星(のはず)も見えない。
 昨日も17:20頃に、見えるはずだったのだが、やはり曇りでまったくダメ。
 明後日は少しはやい16:55あたりからひょっとすると(かなり低い位置に)見えるかもしれないので、本社にいるようなら、ちょろっと抜け出して、見てみようかな。

 でも、今週は天気良くないんだよなぁ~。
 
 話は変わるが、今週末辺りからしし座流星群の活動期に入る極大期は18日明け方らしいが、勤め人としては平日はちょっと厳しい。
 週末辺り、天気と相談しながら、ちょっと粘って流星群観測だ。

 もっとも、コンデジしかないのだけど…

2009年10月30日

ISS観測

 本日、早朝3:45、ISS観測のため、近所の展望台へ出発。

 11月も間近に迫り、晴天ということも手伝って放射冷却でかなり冷え込んでいた。もっとも、その程度の事は織り込み済み、一月ほど早い初冬用の格好なので全く問題ない。
 家の周りはモヤがかかり、ほとんど星が見えない。「大丈夫か?」と不安になるが、天気予報と日頃の行い(!)を信じて車に乗り込み、観測ポイントへ。

 観測に使うガジェットは、
  ・コンパクトデジカメ(LUMIX)(以下コンデジ)
  ・双眼鏡
 の2つだけ。

 ビデオカメラも持ち込みたかったのだが、三脚が1台しかないので、今回はコンデジでの撮影のみに留める。(安い三脚を買おう!)

 ISSの上空通過時間まで随分と余裕を見て家を出たが、一度も行ったことのない展望台であったため、20分ほど迷う。まぁ、展望台なんてものは、だいたい山のてっぺんと相場が決まっているので、ひたすら山を登る。

で、まぁこれまた山頂へのルートってのは曲がりくねってはいてもほぼ一本道というのも相場が決まっているわけで、一旦ルートに乗ってしまえば、あっという間に到着。

 現場到着は4:15
 田舎の里山にはちょっと場違いなほど巨大な電波塔が山頂にあり、ここが目的地(途中の看板で確認)。
 近場には広場を挟んで管理棟らしい建物が1軒あったが、車のエンジンを切るとほぼ真っ暗闇。
 目的の展望台は電波塔の隣に建っているはずだが、星明かりか街灯りにぼんやりと浮かび上がる巨大な無機物というのは、どこか恐怖心を呼び起こす。

 電波塔の南側に位置する上下2相の展望台の階段を手元の小さなライトだけを頼りに、恐る々々登る。
 屋上に着くと、一気に視界が開けた。周囲の木々がちょうど視線より下になったため、周囲の街灯りがよく見える。だが、そんなことはどうでも良い。久々に見る満天(というほどでもないが)の星空の感動は、寒々しい鉄塔の恐怖感などどこかへ消えてしまうほどだ。
 しばらく独りで「ほぉ~」だの「おぉー」だのと感嘆しながら空を眺める。もう夜明けも近い事もあって、見える星座は冬のものだ。とは言っても、ソラで判るのはオリオン座と冬の第三角くらいのものだけど…。
 ここで星座早見表を持って来なかった事を大後悔するが、時既に遅し。諦めて観測準備に取りかかる。
 そこそこの広さのあるこの展望台には、先客もなくほぼ独り占め状態。展望台の端には、ご親切に東西南北の方位を示す石碑が設置されており、物置場兼方位確認にうってつけだ。
 というわけで、三脚を設置してコンデジを据え付ける。荷物は石碑の上に、方位の表示見えるように置く。そして、家でプリントアウトしてきた「国際宇宙ステーション(ISS)を見よう」のページでISSの出現方向、通過方向を確認する。
 
 このページによれば、5:03以降西の空から出現し、ほぼ天頂を通過して、南東の空へ抜ける予定。この時点で、まだ4:20を少し回った程度。
 ものは試しと、コンデジの星空モードで冬の星座を取りまくる。ここで問題発覚。この星空モード、15秒、30秒、60秒と露光時間を変更出来るのだが、撮影後同じ時間だけ「お待ち下さい」状態になる。
 なんてことだ。ISSの通過は最大で3分少々、60秒露光した後60秒何も出来ないでは、シャッターを2回しか切れない。撮影開始の位置を間違えると、ISSが画角の外に行っても、2分間何も出来ない……。いくらなんでもそりゃリスク高い。なにしろ、このコンデジの液晶、解像度の問題なのだろうが、空にレンズを向けても、全く星が見えない。何がフレームに収まっているのかカンだけを頼りにシャッターを切らなければならない。60秒はないな。という事で、最大3回シャッターを切れそうな30秒露光で撮影を行う事にした。
 
 で、まだまだ、時間が余っているので持ち込んだもう一つのガジェットである双眼鏡で星空ウォッチ。家に転がっていて、チビどものおもちゃにされていた双眼鏡であったが、思った以上によく見えた。
 オリオン座のベルトを右側へ、だいたい突き出した拳3つ分伸ばした辺りに、ぼんやりとした光塊を見つけた。双眼鏡を向けてみるとソレがスバル(プレアデス星団)のであるという事がすぐに判った。なにしろ、某自動車メーカーのエンブレムそのままだしw
 かなり感動しながら、あっちこっちの星を双眼鏡で眺める。
 うーむ、双眼鏡侮り難し。
 何しろフットワークが軽い。あっちこっちを気分の赴くままに眺められるというのは非常にイイ。こりゃ、天体望遠鏡を購入した(稟議は却下(T-T))としても双眼鏡は手放せないな。
 
 ちなみに、この間にも人工衛星らしきものが北→南に通ってゆく様が観測できたが、残念ながら写真には写らなかった。
 
 そんな風に寒さも忘れて空を眺めている内に、時間が近付いてきた。
 が、今にして思えば、何を思ったのか定かではないが、ふと、「日本海はこっちじゃん」と今までカメラを向けていた方向とは真逆にカメラをセットし直してしまった。
 時間は近づく。5:03、もういつ見えて来てもおかしくない時間だ。が、見えない。見えない。
 時計を確認すると5:05を回っていた。おかしい、おかしいぞ。
 ふと、振り返ると、かなり高い位置に周りの星より、数段明るいオレンジ色の光点が、見た目、ジェット機の数倍のスピードで天球を移動していた。
 しまったぁー!
 と叫ぶ暇もなく、カメラを光点の未来位置へ向ける。焦る気持ちを抑えつつ雲台をしっかりと固定、すかさず、しかし、やさしくシャッターを押し込む。
 かくして、30秒露光がスタート。その間こっちは肉眼で天頂を横切り、東の空へ落ちてゆくISSを追う。

 結局、シャッターは2度切る事が出来た。
 最初の呆けさえなければ、西の空で冬の星座を貫くISSの画が撮れたのかと思うと、悔しくて悔しくて…
 とはいえ、数年ぶり…いやいや十数年ぶりに気合いを入れた天体観測は、なかなか面白く、こりゃ病みつきになるなと思える感触を得た。
 
 当面の課題は一眼レフ+広角レンズとレリーズだなぁ。


天頂付近を通過中のISS


西の空に去ってゆくISS


ISSが見えなくなってすぐ空が白んできた。

まだISSにはHTVが接続競れているが、明日には分離、数日後には大気圏突入だそうな。
HTV-1の取り外し、分離の様子は、本日22:15~ここで中継される。←備忘録。

2009年7月27日

LEDハンディライト修理 =修理=

というわけで、LEDライトの修理です。

修理(改良)箇所は2つ
 (1)ヘッド部と本体部の給電方法の改善
   ヘッド部に本体部をねじ込んでも、破壊される部分がないように。
 (2)スイッチ部の位置保持
   スイッチ部の樹脂が欠けており、本来の位置保持能力が無くなっているため、
新たに何らかの方法で位置保持を行う。


現状を把握せにゃなりませんので、
いろいろ分解。

まず、スイッチ部。
画像のように4つのパーツに分解できる。
が、折れた接続足の断面だとかが、パーツ側面に見えたりと
本来ならもっとパーツ点数は多かったであろうと思われる。
たぶんソレらの今は無いパーツが、
本体内部でのスイッチ部の位置保持をしていたのであろうと思われる。

左側のパーツがスイッチ部の心臓部とも言うべき、
スイッチ本体と、そのケース。
右のパーツが、本体内部にて位置保持をするスペーサー。
これらのパーツは現状では全くかみ合っておらず、
何かの拍子に簡単にズレてしまう。

これは、ボンドで固定してしまえば簡単なのだが、
後のメンテナンスを考えると、チト厄介で、
スイッチ部は簡便に取り外せた方がよい様な気がする。

ので、ここはスイッチケースとスペーサーの間に、
かみ合わせを増す様にアクリル板を設置し、
保持力を強化する事にする。

次にヘッド部


本体接続部からのヘッド部内部。
緑色の同心円の回路に点々と付いているはんだがLEDの足。
これ全部並列接続。

同心円の中心に以前リード線が接続されていた。

さらにドーンと分解。


真ん中が肝、バネ+リフレクター+基板。
バネはたぶん、レンズ(保護板)にリフレクター+基板を
密着させるためのテンショナーだろうと推測。

で、修理の必要な2つの課題を一気に片付けるべく、
基板中央とスイッチ部の間に、アクリルパイプで位置保持用の
スペーサーを設ける。
またこのアクリルパイプを分割し、ヘッド部への本体部のねじり込み時に
ねじれない電気的な接点を実装、それぞれの端子に接続する。


肝となるのは接点部分である。
確実に接触通電し、且つ、スイッチ部の位置保持を行う必要がある。

そこで、アクリルパイプの内部に、金属バネを仕込みそこを接点として
利用する。
これによって、ある程度のヘッド部の緩みでも、バネの伸び縮みによって、
電気的な接点は確保されるし、
バネとアクリルパイプによってスイッチ部の位置保持も可能となる。

以下、工作後、本体取り付け前の、スイッチ部、ヘッド部の写真。


アクリルパイプはホットボンドで固定、
バネも通電用の銅線を基板にはんだ付け後、
ホットボンド注入で固定してある。

ヘッド部のアクリルパイプが短いのは、
アクリルパイプを垂直に取り付けられる精度の問題で、
はんだ付けの足の上に取り付けてあるヘッド部側は
直角がほとんど出せないので、誤差を最小にするために、
パイプを短くしてある。
逆に、垂直面に接着可能なスイッチ部には、長めのパイプを取り付け、
接触位置の精度を上げている。

結果、スイッチ部の「バネの出」が当初短すぎたために、
スイッチ部の位置保持のためのスペーサーとして、十分機能しなかったため、
再調整を行った以外は、特に問題なく工作を完了した。

ただし、テスターでの通電確認のみで、
実際の点灯は、依頼者にゆだねた。

幸い、点灯が確認されたが、LEDが何個か光らなかったらしい。
後日、再修理が来るかもしれない。


2009年7月24日

LEDハンディライト修理 =実況見分=

ず~~っとほったらかしてしまった本ブログだが、
更新再開。

AVR系の話題は、しばらく中断になるが、
チマチマと小間物をゴニョゴニョしてゆく予定。

で、再開一発目は、
知人より、LEDハンディライトの修理を頼まれたので、それのリペア。


本体はアルミ製、LEDは合計32個(!)、
全部並列に接続されたLEDを単一電池直列4本で駆動する。

微妙にサイズが合っていないが、リフレクターも付いていて、
殺人的に明るいらしい。
もちろん、本来の使用方法として鈍器として利用した方が痛いが…

「らしい」と付けたのは、現在このライト本体内で断線しており、
点灯不能になっており、その明るさを確認できていないからだ。
だからこそ、あえなく入院となったのだが…

どれどれ…

初見で、このライトに構造的な欠陥があることが判明。
光源部を納めるのヘッド部と、
電池、スイッチを納める本体部に大まかに分けられる作りなのだが、
ヘッド部と本体部の接合は、ねじ込み式になっていて、
さらに、スイッチ部品から、LEDの載った基板へは
リード線で繋がっていた...らしい。

もちろん、スイッチ部が本体内で自由回転するわけもなく、
ヘッド部に本体部をクルクルとねじ込んでゆくと、
回した分だけリード線にねじれが蓄積される事になる。

電池交換用の蓋は、本体尾部にあるので、通常ここは触らない場所なのだが、
運悪く、「機械の類は一度分解してみないと自分の持ち物になった気がしない」という、
持ち主の元へ転がり込むと、反復的なねじり攻撃が加えられ、
リード線の最も弱い部分、すなわち、はんだ付け部分があっという間に断線してしまう。

修理を依頼した知人が上記の様な人物か否かについては、特に言及はしないが
残念ながら、本修理品のリード線も片側は完全に断線。
もう一方も「より線」の細い線一本でかろうじて繋がっているだけの状態だった。

写真は軽くばらしてみたところ、アーでもないコーでもないと弄っているうちに
より線一本で繋がっていたリード線は、行方不明になってしまった。
真ん中の黒い塊がスイッチ部。

さらに、本体内より取り出したスイッチ兼、電池の+側端子は
樹脂製のパーツの所々が欠損し、
本体内での位置保持が難しい状態になっていた。

これを野外での蛮用に耐えるように直さなければならない。

はたして、これは修理の範囲か?

2009年3月29日

Tiny2313書き込み用アダプタ 作成

ずいぶん間が開いてしまったが、
秋月で部品を補充して、
前回の設計した2313用アダプタを実装した。

コネクタ側

Tiny2313ソケット側


なかなか密な実装になったが、
ヒューズ情報、signatureも読み込めた。


Tiny26用実験ボードに乗せてみた感じ。

横から見ると、ICソケットがTiny26用ソケットの1~10ピンを
跨ぐように設置されているのがよくわかる



作成中に、気になった事が数点、

ピンソケットの切り分けタイプは、
手持ちのニッパーが安物のせいか、
高確率で樹脂部分が破損し使えなくなった。


写真中で、割れてピンの内部が確認できる。

アダプタの固定用に、動作確認用のピンに繋げようと思っていたが、
あまりの歩留まりの悪さに、今回は使用は見送った。


もう一つ、
緑のユニバーサル基板(紙フェノール基板と言う素材らしい)を
任意のサイズに切断したかったのだが、
金鋏で切断を試みるも、半ば以降で基板が割れてしまった。
幸い、10ピン分のランドは無事だったので、そのまま使用した。


Webで調べてみると、金鋸かプラカッター辺りが妥当らしい、
金鋸ならあったのに…切りクズの発生を嫌って、横着したのが仇になった。

そして、今回使用した。
秋月のICソケットだが、はんだ付けしないソケットにICを深くまで指すと、
ソケット側の金具が抜ける事があった。

ICソケットの足は全てはんだ付けした方が無難なのだろうか?
しかし今回は、使わない足は結線の関係上、切り落としてある。
いっそ、ソケットから金具を取り除くのも有りかもしれない。

そもそも、そこまで深くICを挿す必要がないか。

さてさて、高電圧書き込みのためのソフトをなんとかしなきゃ~

2009年3月11日

Tiny2313書き込み用アダプタ 設計

ATiny26用のマイコンボードにATiny2313を
無理矢理載せるためのアダプタだが、
どうも設計がうまくいかない。

ATiny26とATiny2313では、決定的にピン配列が異なるのだ。
ピンヘッダーとICソケット間で、素直にピン配置を変換しようとすると、
結線が交差しまくって、如何ともし難い状態になる。

むぅ、困ったもんだ。

だが、そこは考えて作られているモノだけのことはある。
ちょっと視点を変えれば、こんがらがった結線も、
ちゃんとシンプルに解決する方法があった。

ATiny2313を180度回転させればいいのだ!
これでピン変換が格段にシンプルになった。



そのピン変換と接続が上記図。

これなら、剥き身の銅線を使っても、結線が交差しないので、
問題なさそうだ。

と、ここで問題発生!

なんてことだ。
ピンヘッダのピンが、ICソケットに刺さらない!
たしかに太さが全く違う。

ど、どぎゃんしよう……

2009年3月10日

Tiny2313書き込み用アダプタ 準備

やってしまった。

不手際で、残りのTiny26を全て動作不能にしてしまった。
何とかして、Tiny26を復旧したい。

幸い、fouseを書き直せば復旧できそう、
RSTDISBLをやってしまった場合、
高電圧プログラミングが出来れば、復旧できる…らしい。

RESETピンに12Vを加えながら、何かをするらしいが、
何かの部分はTiny2313辺りで制御しながら何とかするそうな。

幸い手元にはTiny2313が数個あるので、
これを使って、高電圧プログラマ…というか、
高電圧フューズイニシャライザを作成したい。

そのためには、Tiny26用に作成されているマイコンボードで
Tiny2313を書き込める用にしなければならない。

幸い、20ピンのICソケットはまだ数個残っているので、
Tiny2313用にピン配置を変更するアダプタ様のモノを
でっち上げるだけで何とかなるだろう。

ただLEDを光らせるだけで、エライ遠回りだ…

2009年3月4日

ナイトライダー風LED作成 その2

マイコンボードの不良、ありました。
プログラムモードスイッチの、プログラム側と、実行側が逆でした。
と、いうわけで、基板上のマークを書き直して、
修正完了。

LED点滅テストプログラムを実行するも、やはり、PB7はHIになりっぱなし。

むー

そうすると、PB7のRESETの機能自体が悪さをしているのかしらん?
データシートをひっくり返すと、
ありました。

FOUSEのRSTDISBL。
これにフラグがたっていないと、入力も出力も無効にされるらしい。
おまけに、RESETはLOW活性、つまり、何もしない状態では、
常にHIを出力しているらしい。

なるほど、それで辻褄が合った。

では早速、FOUSEのRSTDISBLをチェックし、
書き込み!

そして実行。

テスタで電圧を測ると・・・
おぉ~、揺れている、PB7の出力電圧が揺れているではないか。
おっけー!

んじゃ、気を取り直して、ナイトライダー風LEDのプログラムを書き込んでみよう。

ん?


書き込めない。
というか、読み込めない。
なによりも、AVRISP mkIIのstate LEDがオレンジに点滅してる…
明らかに、やばそうな雰囲気…(汗
オレンジのてんめつは「コネクタの極性が間違ってるよ」らしいが、
ピンの位置は合っている。

と、いうことは…
RESETを無効化したのが、効いているのか!


やってしまった。
はい、破損マイコン一号の完成。   orz

数少ないTiny26チップを…
ということで、FOUSEをいじる場合は、十分気をつけよう。

残弾:2

2009年3月3日

ナイトライダー風LED作成 その1

ナイトライダー風LED点灯プログラムの作成だ。

使うマイコンボードは、先日作成した
簡易実験用マイコンボード。

今回は、PORTBのPB0~PB7までの8ピン使って
点滅表示させる。

欲を言えば、点灯後の残像もほしいところだが、
それはまた今度、とりあえず光点が8つのLEDの間を、
往復する事を確認する。

まっさらから、プログラムを組むのは、ちょっと面倒なので、
LED点灯テストに用いたプログラムを改造する。

ただし、projectは新規に起こす。

// ナイトライダー風LED点滅プログラム

#include <avr\io.h>

#define PB0_OUT 0x01 // ポートPB0を出力設定
#define PB1_OUT 0x02 // ポートPB1を出力設定
#define PB2_OUT 0x04 // ポートPB2を出力設定
#define PB3_OUT 0x08 // ポートPB3を出力設定
#define PB4_OUT 0x10 // ポートPB4を出力設定
#define PB5_OUT 0x20 // ポートPB5を出力設定
#define PB6_OUT 0x40 // ポートPB6を出力設定
#define PB7_OUT 0x80 // ポートPB7を出力設定

#define HI 0x01          // Hiにする。

void wait();

int main() 
{
    int pos = PB0;
    int l2r = 1;    // PB0→PB7:1 PB7→PB0:0
//    DDRB = PB0_OUT | PB1_OUT | PB2_OUT | PB3_OUT 
//         | PB4_OUT | PB5_OUT | PB6_OUT | PB7_OUT; 
    DDRB = 0xFF;
    
    while(1){
        
        if ( l2r == 1 ) {
            for ( ; pos <= PB7; pos++ ){
                // ポートPBposを点灯
                PORTB = HI << pos;
                wait();
            }
            l2r = 0;
            pos = PB7;
        } else {
            for ( ; pos >= PB0; pos-- ){
                // ポートPBposを点灯
                PORTB = HI << pos;
                wait();
            }
            l2r = 1;
            pos = PB0;
        }
    }

    return 0;
}

void wait()
{
    int i;
    for ( i = 0; i <= 20000; i++ ) {
        // nothing to do. 
        // wait loop
    }
}



このコードで動くかと思ったが、どうも上手くいかない。
PB7が常にHIになったまま、
その他のピンがHIにならない。

こういう時は初心に返るに限る。
LED点滅プログラムを改造して、全ピンを点滅するようにする。

// LED点滅テスト

#include <avr\io.h>

//#define PB0_OUT 0x01 // ポートPB0を出力設定
#define PB0_OUT 0xFF // ポートPB0~7を出力設定

//#define PB0_HI 0x01 // ポートPB0をHiにする。
#define PB0_HI 0xFF // ポートPB0をHiにする。

int main() 
{
    long i;

    DDRB = PB0_OUT; 

    while(1){
        for ( i = 0; i <= 20000; i++ ) {
            // nothing to do. 
            // wait loop
        }
        // ポートPB0を反転
        PORTB ^= PB0_HI;
    }

    return 0;
}


これも、PB0~PB6はピコピコと点滅信号を出しているが、
PB7だけが常にHI
PB7はRESETポートと兼用なので、ひょっとすると、マイコンボード側にミスがあるのかもしれない。
ちょうど、プログラムモード切替スイッチを付けたりして、複雑な形状をしているから、あり得ない話じゃない。

というわけで、ちょっとマイコンボードを再点検する必要がある。


2009年2月27日

ATiny26専用簡易実験マイコンボード 作成

ATiny26専用簡易実験マイコンボードの作成だ。


いきなり回路図。



仕様的には何らおもしろい部分はないが、
ICソケットの横に、ピンの状態をモニタするためのピンヘッダを
植えてある。

ユニバーサル基板への実装は下記。

上から、


下から、


足付きなのは、よくできた印。


ICソケットの両脇に生えるピンヘッダの列。
これで、このマイコンボードとブレッドボードの接続も容易になる…はず

回路図と違う点は1点。
0.1μFのパスコンは、
回路図上は、ピンヘッダの外側に配置されているが、
パスコンは、ICの電源の可能な限り近くに設置した方がよい。
らしいので、ICソケットの5番、6番ピンのすぐ隣に設置した。

Atiny26を載せるとこんな感じ。



右のスイッチがPOWER、
左はモードスイッチ、Programモードと実行モードの切り替え用。

ユニバーサル基板上をのたくっているのは、エナメル線。
ICソケットとピンヘッダ間は、裸銅線を使用した。
エナメル線の皮膜は、ライターで焼いてみたりもしたが、
いまいちなので、最終的には皮膜はカッターで削り取った。
サンドペーパーよりも確実に皮膜を剥けるし、
剥く位置も確実に調整できるので、ストリッパー購入まで、
しばらくこの方法でエナメル線と付き合っていくことにする。

エナメル線の皮膜剥きが確実になると、
なるほど、この細さで絶縁された銅線は使いやすい。

エナメル線、万歳! だ。

ちなみに、ちゃんとAVRISP mkII経由で、
読み込み、書き込み、実行が出来ていることは確認できた。

さて、ついにナイトライダー風LEDを作ろう。

2009年2月23日

プログラムの書き込み・動作試験

AVR Studioで「AVRマイコン活用ブック」に入っている
LED点滅テストプログラムを入力する。



とても短いプログラムなので、
特に難しい点も無く入力完了。

唯一のインクルードファイルである”avr/io.h”は、
WInAVRをインストールしたフォルダ下に展開されているモノだ。
だが、このファイル自体に定数の定義はない。

 io.h と同じフォルダに、各チップ毎に ***io.h がある。
この***の部分がチップの型番にあたる。

今回はターゲットがATiny26なので、
ti26io.hが実際に展開されるファイルになるだろう。
中身を確認するよ、確かにプログラム中で使っている定数が定義してある。
今後、使える定数という事で、一通り目を通しておくと良さそうだ。

で、ビルド。
なんも考えずに成功。


赤線の部分に build scceeded with in 0 werning…が出力されている。

次は書き込み、
AVRISP mkIIとConnect、Programタブの下での作業となる。

まずは、マイコンの初期化。
「Erase Device」ボタンをクリック。

OK。
設定しておけば、書き込み前に自動でしてくれるらしいが、
今回は手動で行ってみる。

次に、Hexファイルの書き込み。
Buildで作成したHexファイルを指定して、
「Program」ボタンをクリック。


書き込まれたHexファイルを検証。
「Verify」ボタンをクリック。


どちらもOK。

続いてつづいて、動作確認。
マイコンボード上、RESETピンに繋がるのジャンパーを解放して、実行モード。


黒いテスタ棒の先で、横を向いているのは、片側を浮かせたジャンパー。
完全に取り外してもいいのだが、紛失防止のために片側は刺したままにしてある。


電源を投入すれば、PB0、1番ピンが周期的に、
HI と LOW を繰り返しているはず。

実測!
はい。めでたく動作しておりました。
1番ピンとGND間の電圧が、ピコピコと上下しているのが、
アナログテスタで確認出来ました。

針がぶれて見えるのは、周期的に振れているため。

うんうん。
ここまで来ると、ちゃんとLEDを繋いでみたい。
で、LEDを周期点灯させるのなら、是非やっておきたい事がある。

ナイトライダー風LED!
横に並んだLEDを光点が往復するアレ。
アレを作りたい!

というわけで、次なる目標は、ナイトライダーLED!
…ではなく、その前に、この微妙に使いにくいマイコンボードを
もう少し小規模実験に使いやすい形に作り直したいと思う。

2009年2月20日

自作マイコンボード 動作確認 その4

やはり頼りになるのはデータシートだ。

日本語版データシートの「直列プログラミング」の項目に、
ISPでの書き込みの際の結線方法を詳しく書いてある。

それと見比べると、「AVRマイコン活用ブック」の回路図は、何か足りない。

RESET と AVCCピンへの接続がない。
これAVRISP mkIIで読み込みのできない原因はこれじゃないのか? 
と疑問に思い、よ~く見ると、
なんと「AVRマイコン活用ブック」で使っているマイコンは、ATiny26だ。

ナンテコッタ。

ATiny26Lは手元にある無印”ATiny26”の低電圧版だ。
道理で本では単3電池2本で駆動しているはずだ。
”L”は駆動電圧が低い代わりに、動作速度が無印比べて遅い。
だがピン配列やその他のスペックは同様。
AVRの勉強で使う分には、どちらでも構わないと言えば、構わない。
その差異には十分な注意が必要だが…

気を取り直して、データシートを元に足りない結線を追加する。

RESETピンはそのまま短絡するのも怖いので、
ジャンパーでON/OFFできるようにしておく。

改修版のマイコンボードボードがコレ。




で、動作確認。
RESETをジャンパーでGNDに短絡させて、
いざ、AVR Studioを起動!

見事、signeture byteとfuses bitの読み込みに成功!




とりあえず、最初の山は越えた感があるが、どうなんだろぅ。

明日以降は、動作確認のためのLED点灯のためのプログラムの作成を開始する。

2009年2月19日

自作マイコンボード 動作確認 その3

Atiny26のデータシートをダウンロードして中身を確認すると、
怪しい箇所を発見。

ATiny26の動作電圧は4.7~5.5V!
いつぞや、動作電圧は3.3~5.5Vだから、DC電源を3Vモードで動かせば、OK
とか書いたが、どうやらアレは、低電圧番のATiny26Lの何かを勘違いした?
(それでも動作電圧の範囲が間違っているが…)

という事で、この前作ったDC電源の実出力電圧3.6V、6V、15.2Vでは、
動作電圧を供給できない!!

ガーン…

むむむ、DC電源を作り直すか…
それにはちょっと手持ちの部品が足りない。

ジャンクヤードをあさっていると、出所不明のACアダプターを発見。

出力5V 1.2A

これでイイやん。
という事で、5V電源確保。

コネクタ部分を工作して5Vの出力を確認。

多少電圧が高いが、まあ許容範囲内
嗚呼、この前の苦労が…

それでもこれで動いてくれるのなら
 :
 :
ハイ、動きませんでした。

相変わらずのエラーメッセージ。
やっぱりマイコンボードに致命的な何かがあるのかしらん?