2008-11-20

ソーラーパネル その後  @バケさん

ソーラーパネルをつけて、何に使おうかいろいろ試しています。

12Vのバッテリーに充電してためています。
そのままでは使いにくいので掘り出し物(12VシガーライターからUSB5V出力に変換するもの)で5Vにして使うようにしています。
USBを電源にして動作するものが増えてきて結構つかえます。

今注目しているのはeneloopですね、これに充電して他の機器で使うようにしています。
eneloop関連商品も増えてきて要チェックです。

寒くなって重宝しているのがeneloopのカイロです。
充電のACアダプターがついているのですが、電圧を確認すると5VなのでUSB変換コネクターを作成して掘り出し物を使って充電できるようにしています。
太陽の熱を凝縮して持ち歩いている感じです

USBで動作するものをコレクション中です。(アマゾンで検索中)
http://astore.amazon.co.jp/bakesan-22?%5Fencoding=UTF8&node=7

2008-09-13

過去ログの一部が見れなくなっていた @バケさん

このGoogleのブログ(Blogger)はどうも完全に日本語に対応できていないらしく。
タイトルの最後の文字に一部の日本語を使うと過去ログが表示されなくなるようです。
わかっている文字は句読点(。)は駄目のようです。
気づいたものには最後に全角のスペースをいれていたのですが、これも再構築かなにかをすると自動的に最後のスペースをカットされるらしく、いつもまにかまみれなくなっています。

今回は試しに最後に(.)をつけてみました。
これでうまくみれるようでしたら、過去の書き込みも直しておこうかと思います。
さすがに(.)は勝手にカットしないでしょう。

試したら(.)でも見れなくなってしまいました、 それでは(バケ)を最後につけてみましょう。
これは上手く行きました、でもこれでは意味不明なので -にしてみました。

OKですね、-でも意味不明ですが(バケ)よりはましでしょう。
OKだと思っていたのですが、リフレッシュがきいていなかったようです、-もダメでした。
@バケさんをつけてみます。

2008-09-12

ソーラーパネルをつけました。 @バケさん

久々の書き込みです、秋月のサイト見ていたらはソーラーパネルがこの価格は在庫限りで高くなるとあったので買ってしまいました。
ついでにバッテリーと鉛蓄電池充電キットも買いました。
基板についているメータは100円ショップで電池チェッカを購入(300円した)したものを取り付けています。
もう1つ購入して電圧も計れるようにもしています(12V~14Vの間を見れるように回路を作りました、回路図等はまた書き込みします)
セメント抵抗の両端を測ると1Vで1A流れている計算になります、電池チェッカは1.5Vを計測するものなのでちょうどいいのではと思いつけてみたらビンゴです。
写真ではソーラーパネルがフルパワー(1A)の状態のものです。
充電終了電圧の13.86Vに近くなると針が下がってくるので充電キットが上手く動作しているのがよくわかります。

最近、天気がいいのでいつもフル充電の状態です。
今のところ携帯電話の充電ぐらいにしかつかっていないので、何に使おうかと考え中です。
12Vなので車で使えるものがほとんど使えます、インバーターを使って100Vも可能です。

どう使うかはこれからですね。

2008-06-14

LinuxでLCDを表示(汎用USB-IO) 続き

バケさんの電子工作 : LinuxでLCDを表示(汎用USB-IO) 
前回、汎用USB-IOでLCDをLinuxから簡単に制御できるように関数ライブラリー(usblcd.h)を公開しましたが。
半角カナも表示できるように手直しをしてみました。
usblcd.h

また、テストプログラムも少し実用的なものを作成してみました。
コマンド画面から表示させたい文字列を引数に与えて実行すると表示できるようにしてみました。

使い方;

usblcd "USB-IO de LCD!!"

これで1行目に表示されます。


usblcd "usb-io de LCD" "(^_^)/ by BAKE"

これで1行目に"usb-io de LCD"、2行目に"(^_^)/ by BAKE"が表示されます。 さらに、


usblcd " start " " usb-io de lcd" "2 page 1 line" "2 page 3 line" " E N D "

これで最初に" start " " usb-io de lcd"を表示して、
1秒後、"2 page 1 line" "2 page 3 line" を表示し
1秒後、" E N D "を表示して終了します。

usblcd.c

2008-06-12

LinuxでLCDを表示(汎用USB-IO) 

Linuxで汎用USB-IOがLinux(FC5)で汎用USB-IOを使う で使えるようになりましたが、今度はLCDを簡単に制御できるように usblcd.h というヘッダーファイルを作成してみました。
LCDを初期化して使える状態にし
lcd_init(udev);

表示位置を指定して文字を出力
lcd_locate(udev,0,0);
lcd_text(udev,"Linux de USBLCD");

これで表示できます。

まず、ヘッダーファイル msubiobase.h の内容です。
これは変更ありませんが、使用されるUSB-IOにあわせて修正してください
musbiobase.h



次に今回LCDのためのヘッダーファイル usblcd.h の内容です。
usblcd.h



サンプルソースも作成してみました。
usblcd_test.c の内容です。
usblcd_test.c

usblcd.h
usblcd.txt

2008-05-02

掘り出し物

近くのパソコンショップでワゴンセールをしていたものです。
100円ショップだと300円するものと同じICがしかも正規のメーカー製?でMC型番でした。
なおかつ消費税込みの100円ポッキリでした。
なんとなく3個買ってしまった。

流れるウインカー基板 16連 ソフト

ただ単に左右をON/OFFするだけでは面白く無いので、明るさも制御出来るようにしようかと思っています。
ベースクロックかタイマー周期を上げて高速にON/OFFさせ、ON/OFFの比率を変えれば、明るさが変えられます。
専門的にはPWM制御の事ですね。

2008-04-30

流れるウインカー基板 16連 

プラス側の制御用にトランジスタを2個追加しました。
プログラムの対応はこれからになります。

2008-04-29

流れるウインカー基板 LED16連 

現在、予備基板で考え中の16連対応時のLED配線を考えてみました。
LEDは1連につき10個の設計です、ハザードでは左右一度に点くので余裕をもって10個になっています。

流れるウインカー基板 予備基板

せぃさんバージョン以外にもう1個作成しました、色々テストをするための予備基板です。
マイコンを抜き出ししやすいようにスペースを空けています。
LEDのプラス側も2系統制御して片側だけで8連にならないかと考え中です。
良く考えると左右とも同じパターンなのでプラス側をON OFFするだけで大丈夫なのではと思っています。
基板のサイズは変わらずトランジスタの追加だけで考えています。
頭の中ではバッチリなのですがどうかなぁ。

2008-04-02

過去ログ 全て 2008.04.02現在 

2008-03-29

ICウインカーリレー


流れるウインカー基板をテストしているとウインカーの様にON/OFFさせるのがめんどくさくなり作ってしまいました。
パワーMOS-FETを使用しているので車やバイク(12V)でもしっかり使える本格的なものです。
タイトルのリンク先に詳しく製作記事が載っています。
ICやMOS-FETの説明が無いのでぐぐってデータシートを取り寄せて作成しました。
100kΩの抵抗を半固定にして4.7μFのコンデンサを10μFに変更して点滅速度を変更できるようにしてみました。

これでテストが楽になりました。
Posted by Picasa

2008-03-27

プリント基板編集ソフトウェア


いつも汎用基板を使って電子工作をしていましたが、そろそろ基板も作成してみようかと思っています。


水魚堂さんのサイトでプリント基板編集ソフトウェアを公開されているので(詳細はタイトルをクリックしてね)これで勉強中です。


ためしに流れるウインカー基板をイメージだけですが作成してみました。
基板の表(半田面ではない)から見たイメージです。
結構簡単にできてしまいました。

ドアロック連動ミラー格納ユニット 

オデッセイのオーナーから頼まれてドアロック連動ミラー格納ユニットを作成してみました。
タイトルをクリックすると製作の詳しい情報が見れます。

まず自分のムーブで試して上手く出来たので、依頼者の車にもつけました。

最初はもっとコンパクトにしようとWEBに載っているものより部品の配置を考えたつもりなのですが、上手く行かずヒューズを2回もとばしてしまった。
忠実に作り直して全く問題なしで動作しました。
ムーブの場合は常時電源がドアに来ていないのでヒューズボックスからとりました。
自分の車につけたユニットの写真
制作の様子(みんカラの整備手帳)

依頼者と一緒に「なんちゃって高級車!!」といって喜んでいます。

冬までにキャンセルスイッチをつけたいと思っています、自分の住んでいるところは寒いところなので凍結して動かなくなる可能性があるので。
キャンセルスイッチはWEBにあるような完全な切替ではなく、ドアロックの信号線をスイッチで切るようにしたいと思っています、「信号が行かなければ普通の動作だけになる」これでいいと思っています。

2008-03-25

流れるウインカー基板 せぃさんVer PG作成中

ウインカーSWの回路変更のプログラム修正をして動作確認しました。
とりあえずKAYOちゃんバージョンと同じ動きはできました。
パターン追加の要望があったので、その対応とせぃさんバージョンのウェイクアップを考えないといけませんね。

2008-03-24

流れるウインカー基板 せぃさんバージョン 基板完成

流れるウインカー基板 せぃさんバージョン 完成です。
ウインカーSWの回路を変更しているのでプログラムも変更が必要です。
とりあえずKAYOちゃんバージョンと同じ動きをするところまで直したいと思います。

2008-03-23

流れるウインカー基板 せぃさんバージョン 基板作成中

基板のパターンも決まり作成に着手しました。

両面スルーの基板は半田が反対側に流れて意外に使いにくかった、用途を考えて選択する必要があるようですね。
そんな感じで部品はつけたけどパターンの配線ができていません。

2008-03-18

流れるウインカー基板 せぃさんバージョン 着手 

第1作目(KAYOちゃんバージョン)が上手くできたので、2作目に着手しました。
こんどはせぃさんバージョンになります。

まったく同じでは面白くないのでバージョンアップを考えています。
今考えているのは。
・基板はガラスエポキシで両面スルー(ちょっと高級?)を使う。
・ウインカーSWの入力部にフォトカプラ-を使用する。
・基板の配線パターンの最適化。
・ワンタッチウインカー
 (ちょんとSWを入れるだけで一定時間ウインカー動作する)
 この機能は本人に確認しないといけませんね。

部品はほとんどそろったので基板の配線パターンの見直しをしています。
基板の配線パターンを考えるのはパズルみたいで面白いですよ。
きれいにパターンが出来た時には、ちょっとうれしいですね。

2008-03-14

流れるウインカー基板 作成後記  

今回、作成してみて一番はまったのが動作クロックですね。
内部クロックをF88ではプログラムで設定しないといけない。ということに気づかなかった。

プログラムの先頭に4MHzで動作させる場合は次のコマンドが必要です。
OSCCON = %01100100
当然、OPTIONレジスタの設定も必要です。

タイマー割り込み関係のみを抜き出してみました。
参考にしてください。
(空白に全角文字を使っているのでコピペには注意)

program F88WINKER

dim counter as word

’割り込み処理
sub procedure interrupt
 'ここで割り込み処理を記述します。
 inc(counter) ' Increment value of counter on every interrupt
 TMR0 = 64
 INTCON = $20 ' Set T0IE, claer T0IF
end sub

’初期処理
sub procedure init_rtn
 OPTION_REG = $82 ' Assign prescaler to TMR0
 counter = 0 ' Initialize counter
TMR0 = 64
 INTCON = $A0 ' Enable TMRO interrupt
end sub

main:

 OSCCON = %01100100 ' 内部クロックを4MHzに設定

 init_rtn ’初期処理

 while true

  ’メイン処理
  if counter = 200 then ' if counter is 200, then
   ' ここで一定周期ごとの処理をする
   counter = 0
  end if

 wend

end.

2008-03-05

流れるウインカー基板 最終調整

ちょっと、修正して色んなパターンに対応できるようにしました。

・ウェイクアップ動作後、現在の設定パターンがわかるようにハザード動作をするようにした。
・モード切替時に、設定パターンがわかるようにハザード動作をするようにした。
・ON/OFF動作を続けて行うパターンも可能にした。
・パターンを3種類から6種類に増やした。


動作は下記の動画を参照してしてください(重いよ!30MB)


流れるウインカー

2008-03-02

流れるウインカー基板 完成

一応完成です。

PICマイコンの内部クロックが最低速度で動いているのに気付かず、スピードが思うように出ずあせりました。

写真は回路図をおこすために記録としてアップしました。

2008-02-28

流れるウインカー基板 スイッチ入力処理  

複数のパターン処理対応も済み、スイッチ入力の処理に取り掛かっています。
スイッチ入力の骨組みが出来ました。
モード切替、ウインカー右、ウインカー左の入力の処理を作ればほぼ完成のところまできました。

スイッチ入力はチャタリングというものがあり、ONにしただけなのに接触不良当でON/OFFを繰り返す症状をいいます。
これがあるとPICマイコンは処理が早いのでその都度処理が走ってしまい、たとえばモード切替をしたつもりでも何回もボタンを押したことになり、正常に処理が出来ません。
短時間でのON/OFFは処理しないようにプログラムが必要です。
頭の中で一気に考えてコーディングしましたが、すんなり動きました。(良かった!)

週末には一度お披露目できるかも?

2008-02-27

流れるウインカー基板 パターン処理  

パターン処理も骨組みが出来ました。
複数パターンを考慮しスイッチ入力の処理をつければ全体的な骨組みが出来ます。
スイッチ入力が簡単なようで難しいのです、これはちょっと後回しにしています。

参考資料・・・

const ptntbl as byte[15] = ($00,$18,$3C,$7E,$FF,$E7,$C3,$81,$00,$00,$00,$00,$00,$00,$00)
const ptnctl as byte[15] = (1,2,3,4,5,6,7,0,0,0,0,0,0,0,0)
const ptntim as byte[15] = (2,1,0,0,0,0,1,2,0,0,0,0,0,0,0)

こんな感じでパターンの情報をもたせます。
ptntblの変数が実際のパターンを管理します。
上記の場合こんな感じで点灯します。
○○○○○○○○ $00 0番目
○○○●●○○○ $18 1番目
○○●●●●○○ $3C 2番目
○●●●●●●○ $7E 3番目
●●●●●●●● $FF 4番目
●●●○○●●● $E7 5番目
●●○○○○●● $C3 6番目
●○○○○○○● $81 7番目
以下繰り返し
データは16進でセットしています。

ptnctlが次のパターンを示しています。
1,2,3,4,5,6,7,0と順に7番目までセットすると次は0番目に戻りぐるぐる繰り返すように設定しています。

ptntimが時間(回数)です。設定された数値+1回セットします。
これを考慮して説明すると
○○○○○○○○ $00 0番目 2
○○○○○○○○ $00 0番目
○○○○○○○○ $00 0番目
○○○●●○○○ $18 1番目 1
○○○●●○○○ $18 1番目
○○●●●●○○ $3C 2番目 0
○●●●●●●○ $7E 3番目 0
●●●●●●●● $FF 4番目 0
●●●○○●●● $E7 5番目 0
●●○○○○●● $C3 6番目 1
●●○○○○●● $C3 6番目 1
●○○○○○○● $81 7番目 2
●○○○○○○● $81 7番目 2
●○○○○○○● $81 7番目 2
こんな感じになります。

メインの処理です、あくまでも参考です。
main:
init_rtn
while true
if counter > speed then ' if counter is speed, then
led = ptntbl[ptnstep]
inc(ptncnt)
if ptncnt>ptntim[ptnstep] then
ptnstep=ptnctl[ptnstep]
ptncnt=0
end if
counter = 0
end if
sw_chk
PORTB =led
wend
end.

2008-02-26

流れるウインカー基板 確定  

基板は確定でプログラムを作成中です。

一番ベースとなるスピードコントロール処理が出来ました。
次はパターンテーブルからセットする処理を作る予定です。
今は点滅のみです。

2008-02-16

流れるウインカー基板

流れるウインカー基板出来ました。
PICマイコンのプログラムはこれからです。

全部半田で基板のパターンを作ったのでちょっと大変でした。

動作確認用のLED基板も作成して準備完了です、プログラム作成頑張ります。

2008-01-26

流れるウインカー バイク編

本拠地普通車のウインカーを流すの製作記事をのせていましたが、せいさんと力を合わせて今度はバイクのウインカーを流してみたいと思っています。

普通車のウインカーを流すでは、ロジックIC(シフトレジスタ)を使いましたが、自由なパターンでできるようにPICマイコンで制御を考えています。

制御系は自分が担当で実装系はせいさん担当になるのではと思います。

PICの開発はmikroBASICを使う予定ですが、思うようにならないときはアセンブラで切り替える予定です。

いままで色々やりかけましたが、実装系が面倒で挫折していましたが、今回は力を合わせてできるのでいいものができるのではと楽しみにしています。

2008-01-17

VBAUSBIO.DLLのベータ版(Ver0.51) USB-An命令修正 

VBAUSBIO.DLLにUSB-An命令を追加したベータ版を作成中です。
アナログ入力で255までの値しか取り込めないBUGがあり対応させました。
ダウンロードは以下のアドレスです。
http://bake-san.com/download/vbausbio/beta/vbausbio_v051.lzh

参考までに追加されたUSB-An命令の簡単な説明です

【新機能】
USBで電子制御(Km2Net様著者)のサンプルソースで使われている
USB-An用の関数と互換命令を追加しました。

・openUsbIo
関数 :USB-IOオープン
概要 :接続中のUSB-IOを全てオープン
戻り値:発見したUSB-IO数 存在しない場合は 0

・closeUsbIo
関数 :USB-IOクローズ
概要 :オープン中のハンドルクローズ
戻り値:なし

・outputUsbIo
関数 :USB-IO 出力
引数 :int iUsbioNo オープンしたUsbIo 0~
  :int iPort 出力ポート 0 or 1
:int iData 出力データ
概要 :USB-IO の指定ポートを出力
戻り値:0 出力成功 その他エラー

・inputUsbIo
関数 :USB-IO リード
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iPort 入力ポート 0 or 1
概要 :USB-IOの指定ポートを読取
戻り値:0 以上 入力値 0 未満 エラー

・setUsbAnChannel
関数 :USB-An チャンネルセット
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iCh チャンネル
: 8: 8Bit変換 4Ch 2DIO
: 10:10Bit変換 4Ch DIOなし
概要 :USB-Anの読み取りチャンネル設定
戻り値:0 設定成功 その他エラー

・setUsbAnMode
関数 :USB-An モードセット
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iAnModeParam
: 8: 8Bit変換 4Ch 2DIO
: 10:10Bit変換 4Ch DIOなし
概要 :USB-Anの読み取りモードを設定
戻り値:0 設定成功 その他エラー

・inputUsbAn
関数 :USB-An 入力
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iCh 読み込みチャンネル
概要 :指定チャンネルのアナログ値読み取り
戻り値:0 以上 入力値 0 未満 エラー

・outputUsbAnD
関数 :USB-An デジタル出力
引数 :int iUsbioNo オープンしたUsbIo 0~
:int iData 出力データ
概要 :USB-An 出力
戻り値:0 以上 入力値 0 未満 エラー

・inputUsbAnD
関数 :USB-An デジタル入力
引数 :int iUsbioNo オープンしたUsbIo 0~
概要 :USB-An デジタル入力
戻り値:0 以上 入力値 0 未満 エラー