イルミネーションのソフトはほぼOK

20131012_02

 delay()でのループ待ちからWDTのスリープに変更したソフトをさらに調整。電流計も届いたので電流を測ってみたが思ったほど下がらない。電池の昇圧ICの二次側で見るとそれなりに消費は下がってるけど、一次側だと10mAが4mAになる程度。まぁ、それでも半分以下になるので助かる。millisで時間調整していた部分もWDTを絡めた変数のループカウンタで処理するように修正。

 で、実機に最新版のソフト書き込みしたATtiny85Vを差し込んでテストしようとしたのだが・・・。ATtinyを逆さまに差し込んでしまっていたようで、昇圧ICのブレイクアウトを壊してしまった。肝心要のATtiny85は全然無事でした。とりあえずブレッドボード実験機の方の昇圧ICのブレイクアウトを実機で使うことにして、実験機では同じ回路をここの部品で再構築しました。HT7733の昇圧回路を構成する部品は10セットくらい持っているので復旧も楽です。さすがにディスクリートの部品では8pinDIPサイズには収まらないですが。


平兵衛まつり2013

20131012_01

 公益財団法人 鉄道総合技術研究所の「平兵衛まつり」にツレと行ってきました。自宅からは1.8Km程度なので毎度チャリにて。今回3回めの見学。
 11:00くらいですが、朝ごはんを食べてないのでまず腹ごしらえ。玉こんにゃく、ホタテ焼き、焼きそば、おやき、肉まんなどを購入して食べた。

 続いて、実験棟でレールを観察しつつ、Nゲージを見つつ。涼しい講演会の部屋で東海道新幹線の記録映画を観たり。そのまま講演の超電導フライホイールの話を聞いたり。
また外へ出て、テルミット溶接したレールの破断試験を見学して帰宅。

 今年は以前見た、乗車快適性試験機とか駅シミュレータはなかった様です。
(最近DQNが多く訪れるようになったからかな。構内の通路を歩くのに通路の全幅を複数人が並んで歩いている子供連れが多かった。まるでDQNカーが狭い道を走っているような感じ。)


Sleepのテスト

 ATtiny85でのSLEEP_MODE_PWR_DOWNを使ったdelayのテストをした。ATmega系のソースを参考にしていたらWDTCSRとあったが、tiny系だとWDTCRだな。直してSleepが効くようにはなった。ウォッチドッグ・タイマを使ってもリセットはかかってない。本当にSleepしてるかは電流計で計りたい。あ、

 Sleepするとmillis()も止まってしまう様です。待ち時間の変数から引いておけば良いのかしらん。
あとは動作モードの判定がいまいち行けてないのでそこを修正していきます。現状ままでも動くのは動くので(電池がもたないけど)、気持ちが楽。

 と言う前に、リースへのLEDの物理実装をしないとね。これが終わるとだいぶ気持ちが楽になる。


3連休の課題

三連休の課題です。
イルミネーション、Arduino系は

1) リースへのLEDの実装。
2) 消費電力低下への試み
3) Arduino開発環境を Eclipse化 & github連携

天気が良ければ外へ行きたいです。
仕事も見つけなければ。こつこつ改善しながら系は嫌いではないですというか好み。それができなくなっている環境では手詰まり。


ちょいとプログラム書き直し

ステートでの動作の部分がわかりにくくなっていたので、書き直しです。
 暗いを検知する部分(数回CDSの値を測って点灯OKを出す部分)。
 もう夜は更けたを検知する部分。
 日中のなるべく電源消費を抑えてお休みしつつ暗くなるのを待つ部分。
まぁ仕事よりは遥かに面白い。

 それとは別に常時ピカピカ点灯モードのまま36時間でも単三アルカリ電池1本で動いてました。さすがに電池の電圧が0.9Vを切る位だったのでそこでストップ。多分現状ママでも単三電池1つで1周間は持つ。でも、日中のSleepを入れたいですね。日中はLEDをは光らないので消費電力は減るのですけども。ウォッチドッグ・タイマからの復帰ってリセットみたいになるんだったら使えないとか調べ中。


イルミネーションソフトウエア開発

2013年末イルミネーションのソフトウエアテスト

今年は可変要素を増やしてテスト中。
 1.点灯の最大値
 2.点灯の速度
 3.消灯時の時間
これらを似非乱数で決定。(Arduinoの乱数はまぁそういうもんレベルです)

2.点灯の速度とは、1.点灯の最大値に行くまでの加算する値。

A) 1.点灯の最大値が100で2.点灯の速度が10だと10段階で明るくなって、10段階で暗くなる。
B) 1.点灯の最大値が100で2.点灯の速度が5だと20段階で明るくなって、20段階で暗くなる。
段階は固定の時間なので、A)よりB)の方が長く灯っている事になる。

 なんて事を今日昼間に思いついて、帰宅後にコードにしてみたら意外と旨く行きそうなので採用。

 あとは、毎年使ってる、暗くなった動作開始して、特定時間たったら終わって、次に一定タイミング以上明るくなったら暗くなるのを待つようなコードを入れ込めば完成。
追加でなるべくAVRを寝かせる様なモードにして電力消費を抑えたい。点灯パターンタイミングも微調整は必要。

 電池がなくなってきた時になんらか知らせる点灯モードも検討中。一応、元の電池の電圧を測定できるように回路は作ってある。RGBLEDを1こ入れる予定なので、それが点滅するようにするか。LEDはRGB1こ(3LED)、白6個、青6個で15個なので、1個PCA9685の端子が余る。これを「電池交換してちょうだいモード」の告知LEDにするのもありだなと。ともあれ明日にはストロベリーリナックスのINA226の電流測定モジュールが届くので消費電流を測定して調整してみたい。まぁ、今のままでも単三アルカリ電池で丸1日は動いてます(デバッグ用のLCDも表示させた状態で)。

 このあとは実際のリースへのLEDの設置配線作業が待っています。

 来年の課題は、スムースに点灯させる事かな。点灯速度が5だと5,10,15,20,25 … の様に明るさが増す。これを点灯切り替えのタイミン付を短くする事でスムースにしたい。

 こんなコードだけど、こういうのの良し悪しを議論できるような職場だったらよかったのにな。

 あ、基板はすでに完成させてます。

20131007_01