アマチュア無線や電子工作,バイクの話などを徒然なるままに書き散らすメモ程度のblogです.


by jq1ocr

カテゴリ:マイコン・電子工作( 276 )

CQ Parrot 3

現在試作しているところです.アルファの最終段階にきました.わかる人にはどう変わるのか見ただけでわかると思いますがちょっとだけ.笑
d0106518_0153421.jpg

左のは絆等価回路で,本体には関係ありません.実用上の不満な点をヒアリングしまして改善してみました.今夏出せたらいいなと思ってます.
[PR]
by jq1ocr | 2017-01-06 06:30 | マイコン・電子工作 | Comments(0)

soundee

AVR の tiny85 で遊んでいますが,ピン数の少なさには閉口しますね.
d0106518_21243864.jpg

8ピンのうち,電源とリセットで3ピン取られますから,残りは5ピンしかありません.まあリセットを潰せば1ピン増えますが,まだ高圧パラレルというかヒューズリセッタを作ってないので,どうしてもというもの以外は使いたくありません.

で,ピエゾのサウンダをボタン代わりに使えないかと.これです.
d0106518_21275449.jpg

音を出してないときはこれを入力デバイスにする.圧電素子ですから,圧力が加われば電圧が発生するはず.要するにポンと叩けばボタン代わりになるだろうというわけ.

で,実際に爪弾いたらどのような波形になるか見てみました.それが以下のグラフです.
d0106518_21294476.jpg

電圧軸:5V/div, 時間軸:100us/div です.空荷ですが 20V ちかくいっちゃってますね.マイコンにそのままつなぐのは危なそう.と,その前に開放だから負荷をつながないとですね.
[PR]
by jq1ocr | 2017-01-04 21:37 | マイコン・電子工作 | Comments(0)

異世代 1N60

1N60 といえば,言わずと知れたゲルマニウムダイオードなわけですが,当然今はディスコンです.でも秋月には在庫があります.
d0106518_01733100.jpg

中国製ですけどね.で,なぜかショットキーにも 1N60 ってのがあるのですよ.紛らわしすぎですよね.これも中国製ですが,名前変えればいいのに.
d0106518_0202982.jpg

そこでどう違うかなぁと思って比較してみました.仕様を見るとゲルマニウムの VF は 1V @4mA とあります.え?そんなに大きいの?ショットキー版だと 0.5V @1mA ですね.といっても,電流が違うから比較できません.そこで DCA75 で測ってみました.すると 5mA でゲルマが 0.7V, ショットキーが 0.4V でした.結構違いますね.定格は typ というわけではなくて保証値かな?しかしどっちにしても検波を考えれば IF が大きいので,もっと小さい領域の特性も見たいところです(窓じゃないとカーブトレースできないから保留).

他に定格で比べると, IR は圧倒的にショットキーの方が有利(小さい)ですね.これだけだとショットキー一択になってしまうので,一矢報いるシーンをゲルマにも与えたいところです.周波数特性とかもいずれ見てみましょう.比べるためにわざわざ買ってしまったので,もうちょっとネタを絞り出しますよ〜.笑
[PR]
by jq1ocr | 2016-12-31 08:00 | マイコン・電子工作 | Comments(2)

DCA Pro が wine でいけたら

DCA Pro ってのは,半導体アナライザ DCA75 で使用するソフトのことです.
d0106518_2337182.jpg
DCA75

これを USB で PC につなぐと,特製カーブのトレースができちゃうのです.ただこのソフトが Windows にしか対応していません.

wine で動いたらなぁと思うのですが,本体のインストールが終わって,ドライバのインストールに移るとエラーが出ます.
d0106518_23391772.jpg

試しに DCA Pro を立ち上げてみますと,こんな感じ.
d0106518_23394617.jpg

左下の赤い部分にエラーメッセージが出ています.詳しく見ると
d0106518_23401814.jpg

Not Connected になっちゃうわけです.もちろん Mac 側では認識されていますけどね.
d0106518_23424730.jpg

他に使いたい Win ソフト(といっても zlog くらいだけど)は wine で足りてるので,このためだけに Win 買うのもゴミになるだけでバカバカしいし....Peak 頑張ってくれないかな〜.
[PR]
by jq1ocr | 2016-12-30 23:50 | マイコン・電子工作 | Comments(0)
秋月でルビコンの電気二重層キャパシタの扱いが始まりました.なんと長野県で作られているということで立派な日本製です.笑 値段も悪くないですね.
d0106518_13534123.jpg

こちらは 10F 2.7V です.容量はいいですけど,耐圧の方がなんか微妙な値ですよね.3.3V いけたらいいのにと思いますが,定格を超えて使うのは危険かと思います.というのも,同社の製品で 3V 耐圧のがあるのですが,それは最大でも 3.3F なのです.ですから,2.7V と 3V の間には結構な壁があるのではないでしょうか.詳しく調べたわけじゃないですけどね.

ちなみにこういう製品の用途として,まず思いつくのはメモリのバックアップあたりかと.実際にどの程度いけるか考えてみましょう.具体的な製品としては恒例の秋月 GPS を考えます.
d0106518_13553693.jpg

こちらの仕様書を見ますと,バックアップ電源の電圧は最低 2V とあります.また電源遮断時のバックアップ電流は 6uA が typical です.

10F のキャパシタに 2.7V で満充電しますと,たまる電荷は 27C です.ここから2Vに低下するまでに引き出せる量は差し引き 7C.これを 6uA で割ると放電時間で, 1.17×106sec ですから,13日半となりますね.ざっと半月でしょうか.

GPS の almanac でさえ一週間くらいの有効期間しかありませんから,それだけもてば御の字ですね.ただしバックアップ電池のつくところにそのまま接続しても充電はできません.回路図を見るとショットキーの逆流防止が入っています.
d0106518_135637100.jpg

シンプルな解法として電源ラインから Di を過ぎたところに抵抗を介して,バッテリと入れ替えたキャパシタに充電するようにするのはどうでしょうか.要するに下図のようにするわけです.
d0106518_1356509.jpg

回路動作的には SBD2 を外して,そこに入れてもいいのですが,そこにはまるサイズは耐電力が厳しいでしょう.

さて,充電が進むと抵抗による電圧降下が小さくなり,電源ラインの 3.3V からショットキーの順方向電圧降下 VF を引いた分の電圧がかかります.この値は流れている電流によって異なりますが,GPS の定格から最大で 200uA と推測されます.すると使用されている部品の特性から VF は 0.1V くらいとなります.結局キャパシタに 3.2V かかることになるので,この回路で 2.7V 耐圧のこのキャパシタを使うのは危ないですね.

レギュレータを使えばよいのですが,店頭に並んでいるのから選ぶと 2.5V か 2.85V になってしまい微妙.それにそこまでやるなら電池でいいじゃん,となりそうなので,抵抗作戦をつづけるべく,キャパシタの方を2直にします.笑 要するに 5.4V 5F というわけです.耐圧が無駄なので,少し安い 2.5V 耐圧のに入れ替えてもいいですね.

一応この条件で使用時間を計算しますと, 5F で 3.3V から 2.0V までですから 6.5C です.容量は小さくなりますが,電圧が上げられる分でカバーできるのですね.ほとんど同じ時間使えそうです.

さて話を抵抗に戻します.ここの抵抗値の決め方ですが,小さくすると充電は早く終わるけども電源容量が必要になる,すなわち電源に負荷がかかります.逆に大きくすると充電時間がかかります.コンデンサの端子電圧 VC は電源電圧 V として(SBD1 の電圧降下はここでは無視)

VC = V (1- exp(-t/CR))

です.満充電するには無限大の時間が必要なので,ここでは仮に電源電圧の 90% まで充電できる時間を考えます.すると上の式から10Ωで2分,1kΩで3時間半かかるようです(計算合ってるかな?).2分ならいいかと思いたいですが,充電初期の最大電流が 300mA くらいになってしまうので,かなりの負荷ですね.おまけにボードに使用されているショットキーの最大定格が 200mA なので,これを超えてしまいます.100Ω くらいにしておいて,最初は長めに電源を入れておくってのがいいかもしれませんね.毎日使うならともかく,たまにしか使わない場合,電源に電池を使ってるとちょっと考えないといけませんね.

え?結局電池の方がいいんじゃないかって?いやぁ,それ言っちゃうと話が終わっちゃいますから今まで言わなかったけど,実は私もそう思ってますよ.笑
[PR]
by jq1ocr | 2016-12-18 07:30 | マイコン・電子工作 | Comments(0)

tinyGPS

ある地点を表す座標としては緯度経度がありますね.しかし,桁数も多くなりますし,そもそも区域を表すなら「地域メッシュコード」のほうが便利なケースもあります.そこで GPS ユニットからの位置情報をメッシュコードに変換するガジェットを tiny85 で作ってみました.以前のエントリが伏線というわけではありませんが,シリアル受信と TWI 通信を使っています.
d0106518_20545426.jpg

上段に時刻,下にメッシュコードを表示しています.JIS X 0410 準拠の標準地域メッシュを表示しており,第三次メッシュまで使うと概ね 1km 四方の領域を表します.例えば写真の例は秋葉の書泉付近で 5339-46-32 となります.(tinyGPS は 8×2 LCD なので 53394632 と表示)
d0106518_0183373.jpg


ちなみに GPS ユニットは秋月のこちらを使用しています.
d0106518_19281396.jpg

モジュールは太陽誘電の製品で,みちびきにも対応しています.キットにはバックアップ用の電池が付いていましたが,それは使っていません.というのも,スポット的な使い方をするためです.

具体的にはバックアップ機能で保存されるのは,almanac と ephemeris 等のデータです.前者は GPS システム全体の軌道情報で有効期間は一週間ほど,後者は個々の衛星の精密な位置と時刻情報で数時間しか有効ではありません.両者が有効な場合(ホットスタート)は1秒で再起動可能ですが, almanac だけになってしまうウォームスタートには34秒必要です.ところが,両方失ったコールドスタートでも42秒なので,数時間以内に再測定するような用途でない限りは,バックアップ電池はあってもあまり御利益がないというわけなのです.

仕事関連なので詳細は割愛しますが,あとはデータを保存する方法として SD カードでも使えれば便利だと思うので,その辺をマスターしたいと思います.
[PR]
by jq1ocr | 2016-12-16 21:15 | マイコン・電子工作 | Comments(0)

tinyTalker の動作確認

自作のリスナでの動作確認は出来ているのですが,一応 Mac でも動作確認をしておきましょう.Mac 側で使うのはこちらの変換ケーブルです.
d0106518_128242.jpg

FTDI USB-シリアル変換ケーブル(3.3V)[TTL-232R-3V3]


これを Mac にさして使えるか確認してみましょう.
$ ls /dev/tty.*

です.すると,認識されているデバイスが出てきます.
d0106518_12221512.jpg

下の usbserial 云々ってのがそうです.大丈夫そうですね.末尾の大文字アルファベット部分はシリアルナンバーも入っているので製品固有です.秋月のページには Mac に対応しているとは書かれていませんが,少なくとも MacOSX 10.11.5 ではドライバなど別途インストールしなくても使えるようです.

次いで screen コマンドです.
$ screen /dev/tty.usbserial-FTGCXCDY 9600

前述の通り,途中の FTGCXCDY の部分はものによって異なるので上をコピペしても無意味ですからね.笑 するなら screen コマンドの出力をしましょう.ちなみに最後の 9600 が通信速度です.tinyTalker は現在 9600bps 固定なのでこれでOK.

すると...
d0106518_12155834.jpg

大丈夫そうですね.

ついでにオーバーシュート防止に入れたダンパーの値が妥当かどうかもオシロで見ておきましょう.
d0106518_12384911.jpg

こっちも大丈夫そうですね.

というわけで,ケースに入れましょう.
d0106518_1638578.jpg

秋月の袋です.え?ずさんじゃないかって?いやぁ,大きいのだと紙袋(それも秋月の)がケースって場合もあるので,それよりはだいぶいい扱いではないかと.笑
[PR]
by jq1ocr | 2016-12-15 21:40 | マイコン・電子工作 | Comments(0)

tinyTalker

Arduino で作ったシリアルトーカですが,個人で Arduino を今後使うつもりがないのと,そもそも大げさなので,基板の切れ端に,これからだぶつきそうな(笑) tiny13A で作っておきました.最初はスイッチでボーレートを変えられるようにしようと思ったのですが,用途も限られるし,どうせそこまで使わないだろうと思って 9600bps 8ビット,ノンパリティ,ストップビット1で固定です.
d0106518_2342220.jpg


PB0:送信中に点灯する LED, 220Ω
PB3:シリアル出力,ダンパー 1kΩ
PB4:NC

あ,そうそう,ロジアナではわからなかったのですが,オシロでみたらオーバーシュートしてたので,ダンパー入れてみました.ドライブ能力は結構あるので,値は手元にあるものでテキトーに大きめのをつけていますが,適切かは考えていません.一応動作は確認しています.チップ抵抗を裏側につけてるので写真には見えませんけど....ソケットなんかいらないといいたいところですが,設定を変えたくなった時に書き込み治具が挟めるように履かせています.
[PR]
by jq1ocr | 2016-12-15 06:15 | マイコン・電子工作 | Comments(0)

のんびり屋さんな I2C LCD

前回までのあらすじ:0から9の文字をシリアルで繰り返し吐きまくるトーカを Arduino で,そしてそれを任意の GPIO でソフト的に受信して LCD に表示するリスナを 328 で作ってみたのですが,はてさて今回はどうなりますか.

シリアルリスナを tiny85 に書いてみたのですが,表示は化け字の嵐になりました.これはタイミングを取り損なっていることが原因と考えられます.

9600bps で流れ込むデータの表示も4ビットパラレル LCD では問題ありませんでしたが,I2C はそこまで速く詰めてない所為でしょう.要するに1字受信で1字書くというのでは間に合わないのです.これを確認するために,一旦百字くらい溜め込んでから表示するというようにしてみました.85はSRAMも大きいですから可能な芸当です.結果は...
d0106518_20275398.jpg
ビンゴですね.

まあ高速で流れ込むデータをリアルタイムで LCD に表示できるようにしたところで使い道はないので,これはこれでいいかな.

ともかくこれで tiny85 で I2C とシリアルができるようになったので,何かできそうな気がしますね.
[PR]
by jq1ocr | 2016-12-14 06:07 | マイコン・電子工作 | Comments(0)
ですよね.はい,ちゃちゃっとしましたよ.
d0106518_1521781.jpg

mega かよって声が聞こえそうですが,LCD の付いたテストボードを使っただけで,ポートは GPIO PB0 です.なので,LCD こそ異なる I/F が必要ですが,シリアル部分は tiny85 でも問題なく動くはずです.

0 に落ちてから 9 ビット目が 1 になる組み合わせが続くと,しれっと化け字を吐き続けますが,一度スタートビットがつかめれば,あとは大丈夫っぽいのでこのあたり注意すれば問題なく使えるかと思います.

#define S_HIGH bit_is_set(PINB, PINB0)
-----
while(1){
while(S_HIGH){}
data=0;
for(i=0;i<8;i++){
_delay_us(107);
if(S_HIGH)data|=1<< i ;
}
_delay_us(107);
if(S_HIGH)lcd_write(data);
}

中身の delay の 107us の話です.9600bps の場合の1シンボルは計算上 104us 強ですね.Arduino シリアルトーカーの場合 0 〜 9(文字コードは 0x30-0x39) を連続で出しています.オシロで波形を観測すると,こんな感じです.
d0106518_17251665.jpg
0x0011xxxx ですから OK ですね.プログラム上,読み始めを falling edgeにとっており,時間をおいて次を読む場合,これよりやや長い時間後にしておかないと,手前のビットを読んでしまう恐れがあります.様子を見ながら伸ばしていって今回は 107us になりました.もちろん状況によっては値は異なるでしょう.続くとずれていきそうですが,スタートビットで同期をとっているのでこの位の差であれば1バイト中に累積した遅延はリセットされます.
[PR]
by jq1ocr | 2016-12-13 21:50 | マイコン・電子工作 | Comments(0)