エントリー

カテゴリー「make:」の検索結果は以下のとおりです。

GPS時計についての考え方

  • 2010/12/03 16:47
  • カテゴリー:make:

 ちょうど1年前に作ったGPS時計は,私にしてはソースの公開をしたこともあり,「作ってみたよ」と言う反響を頂く事があります。

 先日メールを頂戴した方は,どうしたら正確なGPS時計を作る事が出来るのか,という問題について悩んでらっしゃるとありました。

 貴重な情報なのでご紹介したいのですが,世の中にGPSモジュールを使って時計を作っている方はいても,1PPSのパルスを使って正確な時計を作っている方は,この方が知る限りいらっしゃらないのだそうです。つまり,GPSモジュールから出てくるメッセージの時刻情報を,そのまま表示しているだけということでしょう。

 この方法では,特にGT-720Fというモジュールを使った場合には,私が昨年悩んだのと同じように,大きな表示誤差を含んでしまいます。最悪で1秒の誤差(というよりここまでずれれば表示ミス)になるため,もはや時計と呼んではいけないレベルです。

 原因は,GT-720Fの時刻情報が,1/10秒以下を.999としてくる場合があることでした。例えば34秒という時刻を,33.999と1/1000秒前の時刻で送ってくることがあり,これを小数点以下省略で表示すると,1秒ずれてしまうわけですね。もっとも,次の更新で正しい時刻表示がなされますが,更新周期が1秒だったりすると,まるまる1秒ずれたままになります。

 34.500とか34.600だと0.5秒,0.6秒ずれるように考えがちですが,この.500や.600は書略されてしまうので,どちらも34秒と表示されます。よって,表示時刻と現実の時刻との間には,ズレはないことになります。

 ということは,現実の時刻が34秒の時に,33秒と表示されることがないようにすれば,表示誤差は更新周期以内に抑えられます。この考え方から,私は33.999は34と見なす,と言う仕組みを入れ込んだのです。

 実際,GT-720Fは33.999だけではなく,33.950という時刻も送ってくることがありますので,1/100秒を四捨五入することで,この問題を回避しています。

 これも,時刻情報の更新周期が1秒だったりすると成り立ちません。GT-720Fはツールを使って更新周期を0.1秒に出来ますから,1秒に10回時刻情報が出てきます。

 これだと,小数点から上の桁が,1/10秒以上ずれることは基本的には発生しません。例外は先程から書いているように,.999に近いところで起こる表示の誤差です。

 33.900なら,次の更新で34.000になりますから,小数点以下を表示しない方法でも誤差は1/10秒以下です。しかし,33.999なら,次に更新されるのは34.100付近ですので,33.900付近の前回の更新から34.100付近の更新まで,下手をすると0.2秒ほどの誤差を作ってしまいます。

 これを,0.950以上は1.000とするという処理で,1/10秒という最小分解能以下の誤差になるようしたのが,今回のミソだというわけです。

 結果として,出来上がったGPS時計が,GPS衛星が原子時計を搭載して,しかも相対性理論まで使って正確な時刻をもっていながら,それらをふいにしてしまうほど大きな1/10秒の誤差を含むという時計に仕上がってしまったわけです。これでいいのか?という疑問は,当然のことです。

 ・・・私自身のおさらいはこのくらいにして,この頂いたご意見を読んで思った事を書くことにします。直接のお返事としてもよかったのですが,このGPS時計について私がどんな考えでいるのかを,公開してもよいと考えました。


 現在,個人レベルで現実的に手に入れられる時計で正確なものは,電源同期式の時計か,電波時計だろうと私個人は思っています。

 ご存じのように前者にはAC専用,後者には電波を受信出来る環境であることという制約があり,これは実生活で無視できるほど軽い制約ではありません。GPS時計にはその欠点を補う事を目指して作ってみたので,精度として「ばれない程度」ならそれで目的達成としました。

 といいますのも,1/100や1/1000秒の精度は,どうせ表示に至るまでの間で狂ってしまいますから,追い込むことにそれほど意味がありません。

 ただし,過去に書いたように,1秒近くずれることは論外としても,電波時計と並べて目視でずれているのが分かるくらいの差があると,時計としてもはや成り立っていません。

 これを根本解決するには,1PPSのパルスが出てくるモジュールを使い,しかもこのパルスの少し前に,パルスが出るときの時刻(つまり未来の時刻)を吐き出してくれていることが必要です。

 GT-720Fにはあいにくこんな機能はなく,どうしたって「過去」の時刻しか届きません。手前味噌ですが,1PPSを利用出来ないモジュールを使ったGPS時計として,私の作ったGPS時計はよく検討されて,上手く動いているGPS時計ではないかと思っています。

 GPS時計のメリットは,誤差の蓄積がないことです。水晶発振子を使った電波時計は,校正直後の精度は高くとも,その後は水晶発振子の精度で誤差が蓄積するため,校正後の経過時間が大きくなれば,絶対時刻との間にズレがどんどん大きくなってしまうわけです。

 電源同期式の場合は,発電所や変電所で作られた高精度な50Hzもしくは60Hzを分周して1秒を作るので誤差蓄積はありませんが,あくまで24時間での管理ですので,ある瞬間では大きな誤差を含んでいる可能性があります。

 GPS時計というのは,GPS衛星からの時刻情報ですので,基本的にどの瞬間も同じ精度の時刻情報を得ることが出来ます。これがGPS時計の最大のメリットではないかと,私は思っています。

 ですので,GPS時計を作るということは,この「いつでも同じ程度に正確」という点を生かしたものであるべきだと思いますし,それゆえ精度を衛星に搭載された原子時計レベルにすることまでは必要ないと考えています。

 そうなるとおのずと設計の仕方が見えてきて,表示が実際の時刻とどれくらい狂っているかを,きちんと実用上問題のない程度であるかどうかを含めて把握して,それ以上のズレにならないことを保証することに力点を置くことになります。

 この力点に向かって進めて,結局私は1/10秒の精度を常に保証する時計を作りました。これが自作の醍醐味です。本当に正確なGPS時計が欲しければ,市販のGPSロガーを数千円で買うのが一番なのですから。

 さらにその醍醐味は,より高精度なものを作ろうと思案することにもあるでしょう。しかし残念ながら,1PPSが取り出せないGT-720Fでは,もう無理だと当時は考えました。だって,衛星の時計と同期したパルスが出てこないんだから,どうしようもないじゃないですか。

 ・・・ん,まてよ,もう1つGT-720Fを使ったらどうだろう,いや1つと言わず,10個くらい同時に動かして,時刻の情報の多数決や平均など,統計的手法でデータの処理を行うと誤差が薄まらないか。うーん,やってみる価値はありそうだなあ。でもいくらかかるんだろ。

 こんな風に,いろいろなアイデアを出しては実験できることが,自作のおもしろさ,なんですね。

雨のアキバと秋月で買った容量計の話

  • 2010/11/08 14:19
  • カテゴリー:make:

 少し前のこととなりますが,10月半ばの3連休の初日のことです。当日の東京地方は雨だったのですが,先頃定年された会社の方と一緒に,アキバ巡りをしようという話を実行に移すべく,私は待ち合わせの時刻に秋葉原にいました。

 彼の用事は主にPCパーツで,特に電源ユニットにいいものが欲しいということと,手に入れられたばかりのNEX-5向けに,32GBのSDカードを買いたいということだったのですが,私は元来PCパーツはからっきしで,アキバへはもっぱら電子パーツを買うために訪れます。

 前回行ったのは半年ほど前ですから,ちょうど今年の酷暑のアキバを知らないのは幸いだったと言えるのでしょうが,今のアキバは再開発のまっただ中で,ビルがなくなり向こう側が見えたり,背の高いビルが視線をふさいだりと,景観がコロコロ変わるので,毎度毎度驚きがあります。

 まだ残暑の残る10月ではありましたが雨のおかげで涼しく,また人が少なかったこともあって随分助かりました。みんな「面白いものを買おう」とがっついた視線がビリビリしている,この街には独特の雰囲気があります。

 今回私は,特に急ぎで買うものもなかったのですが,秋月電子では欲しいものが溜まっていたので,彼には事前に秋月で買い物をしたいという事は伝えてありました。

 電源ユニットは案外高価であることがわかったのですが,足で稼ぐのが秋葉原,さすがに歩き回ると予算ぴったりでとてもよいものが見つかったようでした。ただ,雨という事で後日買うということになりました。

 SDカードは価格を見て回ったところ,やっぱり今の旬は8GBから16GBというところです。私の目安は,半分の容量のSDカードを2枚買ったときの値段と比較して,1割程度安いとそれを旬と認定,といった感じなのですが,まだ16GBは8GBの2倍ちょうどくらいという線でした。しかし8GBと16GBではちょっと用途が違ってくる(16GBなら動画も躊躇なく扱える)ので,目的によってどちらが旬かは違ってくると感じました。

 いずれにせよ32GBはまだまだ高価で,16GBを2枚買った方が全然安いわけですから,どうしても32GBでなければならない人向けに売られている商品を,とりあえず大きなものが欲しいなという理由ではちょっともったいないと思いました。よってこちらも買わない事に。

 ちょっとした細々としたものは別にして,ほとんど手ぶらの二人は最後の店である秋月電子に向かいますが,電子パーツでアドレナリンが出るのは私だけで,彼は秋月の外でタバコを吸っておられました。

 この段階で二人はすでに3時間歩き回っていて,天気の悪さもあってすっかり疲れていたのですが,私は秋月に,彼はタバコで復活を遂げたということですね。

 秋月では,電池や白色のLED,ATtiny2313を1レールという感じで,部材の在庫を確保したのですが,前日に秋月のホームページで見つけた,コンデンサ容量計のキットを楽しみにしていました。

 この容量計,中国のキットらしいのですが,ATmega48を使ったもので,誤差1%(2%という記述も・・・どっちや),1pFから500uFを測定可能,オートレンジとゼロアジャスト機能を装備,無調整で組み立てたら即利用可能で,お値段は950円と安いものです。

 基板と部品がセットになっているし,当然ファームは書き込み済みですので,気楽に作る事の出来るキットと言えるでしょう。少し前にStrawberryLinuxのLCメーターを組み立てましたが,あれより全然安く,測定範囲も広くて,誤差が1%ということですので,ちょっと期待して,購入翌日の日曜日に組み立ててみました。

 まず,A4の紙に英文で組み立て方,回路図,部品表が印刷されています。組み立て方には大したことは書いていませんが,回路図と部品表を照らし合わせると,どうも抵抗がいくつか入っていないようです。

 どの抵抗がいらないのかはわかりにくく,確かに部品表に記載がない部品は取り付けられませんが,一言「部品表にない部品は取り付けないでください」と書いてあると安心なんだけどなと思います。

 また,中国の抵抗って,カラーコードが読みにくくて困りました。1%品は5本のコードが書かれていますが,日本のように左右をはっきりさせるための,誤差を示す帯を細くするということが徹底されておらず,カラーコードを読み続けて30年のこの私が,読み違いをして取り付けてしまうという,自尊心の砕けるようなミスを起こしてしまい,落ち込みました。

 さらに,1%である必要のない抵抗が1%だったりして,回路図をみて首をかしげたり,もっと深刻だったのは10kΩが1本足らず,39kΩが1本多かったことです。入れ間違えたんですね,きっと。

 回路図を見ると単純なプルアップでしたので,炭素皮膜の5%の10kΩをパーツケースから取り出して完成です。秋月に言えばもらえた抵抗だとは思いますが,電話代で抵抗が買えますので,今回はまあいいや。

 電源をいれて,ストレー容量をキャンセルするゼロアジャストボタンを押します。値は比較的安定して,0pFを表示しています。

 ここで,先日日本橋で買った1000pF,1%を測定してみます。

 すると,値がバラバラ動きます。最低値は976pF,最大値は997pFで,1秒に3回ほど値が変わります。これは結構困ったものです。1000pFくらいの容量なら,ちゃんとゼロアジャストしてあればストレー容量の影響は5pF以下と考えたいので,最大値と考えるとまあこんなものかと考えられそうです。

 しかし,値が変動するのはおかしいです。

 今度は0.1uFの1%を測定してみます。結果は97.5nFと言う感じで,やはりやや小さめに出てくるようです。さすがにこのくらいの容量だと,ストレー容量が5pFあっても影響は小さいはずで,1%のコンデンサなのですからここはやはり100nFと,ばちっと値を出して欲しいところです。

 部品の付け間違いなどを調べて見ましたが,あいにくそういう間違いはありません。近い値が出ていることを考えると,精度はともかく動作はしていると考えて良いでしょう。

 真面目にこの容量計を考えてみます。

 まず,詳細が全然書かれていないので推測となりますが,実はELMさんのホームページに昔から掲載されている「デジタル容量計」の回路を見比べて見ると,非常によく似ています。特に3.3MΩと3.3kΩという特徴的な値も含め,そっくりな回路です。(私自身,この容量計の評判を耳にして,そのまま作ってみようと部品を揃えていましたが,時間がなくて取りかかれないままなのです)

 仮に,ELMさんの容量計のコピーであるとして,その原理を考えてみます。ELMさんのホームページから,回路図,動作説明,そしてソースリストを手に入れます。

 そして,今回のキットの回路図を眺めて下さい。(キットの回路図の入手はjyetechでgoogle先生に尋ねてみて下さい)

 原理的には,被測定コンデンサに充電をし,少しずつ上昇する電圧をAVRのコンパレータでキャプチャして,電源電圧の0.17倍の電圧に達した時刻と電源電圧の0.5倍の電圧に達した時刻から,その時間差を求めます。

 充電に使った抵抗の誤差が1%なら,この時間差によって一意に決まる被測定コンデンサの容量も,また1%の誤差となるわけです。2つの電圧の差から時間を求めていますので,電圧の絶対精度は結果に影響せず,測定中の電圧変動が誤差に直結します。

 この回路では,充電に使う抵抗を3.3kΩと3.3MΩと切り替えています。これは測定レンジの切り替えのためで,ELMさんの回路の場合約60nFを境に3.3MΩをLow,3.3kΩをHighとしているとのことです。

 さて,その0.17倍と0.5倍の切り替えですが,まずは被測定コンデンサを放電させねばなりません。これはAVRのPD6がLowになると,被測定コンデンサの両端がR9の120Ωでショートされます。

 続いて,コンパレータに0.17Vccの電圧を与え,この電圧になったらタイマをトリガするように設定しますが,これはAVRのPB5を出力方向にし,Highにすると,R13の10kΩとR15の39kΩの合成抵抗である7.959kΩと,R16の39kΩによって作られます。

 被測定コンデンサの電圧が上昇し,0.17Vccを越えると,AVRのPB5の方向を入力に切り替え,Hi-Zにします。こうするとコンパレータの電圧はR15とR16による分圧で作られる0.5Vccとなります。

 こうして,0.17Vccになった時刻と0.5Vccになった時刻の2つから,かかった時間を求めて,容量に換算して表示するという仕組みです。

 この方式で問題となる誤差は,まず被測定コンデンサに充電電流を流す抵抗です。ここはキットでも1%品を使っています。

 次に,コンパレータの電圧を作る分圧抵抗で,これもすべて1%品です。0.5Vccを作る39kΩは0.17Vccでも使いますから誤差は相殺されるとしても,R13の10kΩについては1%がまるまる効いてきそうですね。この段階で2%の誤差が蓄積されました。

 そうそう,クロックの精度も一応みておきましょう。タイマのカウントを使って時間の測定を行っているのですから,クロックの誤差がそのまま測定値に影響を与えます。このキットでは12MHzのクロックですので,おそらくタイマの最小カウントは83nsという時間です。しかし,いくらラフな設計であっても,水晶発振子を使う限り,多くても100ppm,普通は50ppmまでですので,これはほとんど気にしなくてもよいでしょう。

 そう考えていくと,影響として支配的なのは,R13の10kΩと,R11の3.3kΩもしくはR12の3.3MΩですね。

 これくらいなら無調整でもなんとかいけそうな気がしますが,ELMさんの容量計では,校正機能がついていて,校正用のコンデンサを使ってデジタル的にゲインを補正することができます。この結果,1%精度での測定が可能になるのですが,今回のこのキットではこうした機能は,少なくとも説明書には見当たりません。

 ということで,このキットでは校正が出来ず,また安定性も今ひとつという事もあり,ちょっと真面目に検討をしなければならなくなりそうです。ちなみに,この100pF1%のコンデンサを,1年ほど前に買った秋月のテスタで測定すると,ばっちり1nFと表示されました。あんなに長いテスタリードを経て測定しているのに,なんでぴったりの値が出てくるのか不思議な気もしますが,うまくキャンセルする仕組みがあるのかも知れません。

 回路図やスペックを見ると,ELMさんのコピーであることはほぼ間違いないと思います。ELMさんのオリジナルでは,AT90S2313を使っていますが,7segLEDを駆動するのにピンが足りなくなり,外に別のロジックICを追加するという方法を取っています。

 このキットではそれを嫌って,ピン数の多いAVRを使い,ICの数を減らすという工夫を行っています。

 原理的に素性はいいはずで,ちゃんと作れば精度はそれなりにでると思うのですが,やはり金属ケースに入れるなどの工夫は必要かも知れません。

 本当は真面目に検討したいのですが,いいアイデアが浮かばず,1ヶ月近くが経過してしまいました。校正をするのにクロックを可変するとか,1%の抵抗を可変にするとか,いろいろ考えてみたのですがいずれも一長一短があって,実行に移していません。いい方法はないものでしょうか。

日曜の午後のケース加工

  • 2010/10/04 15:54
  • カテゴリー:make:

ファイル 413-1.jpg

 TA1101を使ったデジタルアンプを,リビングのAirTunes(AirMacExpressにはオーディオ出力端子が付いており,iTunesから音楽を飛ばせるのです)専用アンプとして使っています。

 半年前の引っ越し時には,オリジナル設計の6V6シングルアンプを使っていました。スピーカはパイオニアのPE-101Aに専用エンクロージャLE-101Aです。このスピーカが大変に良い音をしていまして,いつ音を出しても「おっ」と手を止め,ついつい聴き入ってします。

 6V6シングルは2W+2W程度と低出力で,PE-101Aにはちと厳しいところではありますが,PE-101Aとの組み合わせで負帰還量を「自分が最も心地よいと思う」量に調整したものです。こういう調整の仕方は私は普段はしないのですが,たまには感性でチューニングってのもやってみようかと思った次第です。

 そんな訳で,この組み合わせはかなり気に入った音を出すのですが,いかんせん消費電力と発熱が大きいことが致命的で,今年の夏は特に稼働させるのが不可能なレベルでした。

 また,私だけが使うのではなく,嫁さんも使うものになったわけですが,電源スイッチの切り忘れが頻発し,危険だったという事も気になっていました。そこで半導体アンプ,特に効率の良いデジタルアンプに置き換えてしまおうと考えたのですが,いちから設計して作るのは大変なので,安易にケース加工済みのキットでも買ってこようと思っていました。

 けど,この手のキットというのは,ありそうでない,という感じでして,ちょうど手頃なものが見当たりません。共立電子で売られていたキットに目を付けていたのですが,入荷未定で品切れ。

 やむなく,10年ほど前に手に入れたトライパスのTA1101の評価ボードを引っ張り出して来ました。トライパスはすでに存在しないメーカーですが,デジタルアンプを一気にHi-Fi用途に耐えうるものに押し上げ,高い効率と音質の両立に成功したメーカーです。多くの製品に組み込まれ,キットにもよく使われていたもので,デジタルアンプが使い物になることを証明した功績は多大だと思います。

 その初期の製品がTA1101で,BTL,10W+10Wのものです。放熱器も必要ないくらいに効率が高く,特性上も十分Hi-Fiに耐えます。PowerMacG4に採用されたことで世に知られることになったICですが,どういうわけだか,この純正評価基板が,私の手元にありました・・・

 経緯は覚えていませんが,確実に動作する基板があるのですから,使わない手はありません。ところが,手頃なケースがありません。40度近い猛暑でアキバに出かける気も起きず,やむなくCD-Rの50枚スピンドルケースに組み込み,ちゃんとしたケースを買うまでのつなぎとしました。

 先月末,大阪に戻った時,日本橋でケース一式を調達してきたのですが,そのケースがアイデアルのCL140であることは,先日も書いたとおりです。

 その穴開け加工を昨日の昼過ぎ,急に思い立って始めたところ,18時頃には完成し,実用に供することが出来ました。

 電源はACスイッチング式のACアダプタを使いますが,これまではちょうどいい手持ちがなく,12V-1Aのものを使っていました。今度は大阪から持ち帰った,12V-2.5Aのものです。これでフルパワーもいけるでしょう。なお,このACアダプタ,HPのハンドヘルドPCである,Jorunada720に付属していたものです。

 このCL140というケースは,フロントパネルがスモークアクリルとアルミの二重になっていて,7セグメントLEDなどのディスプレイを組み込むことを念頭においたケースです。ひさしが出っ張っていることも,それらしいデザインです。

 綺麗なモスグリーンで塗装された丈夫な鉄製のケースで,大きさも手頃,形もかわいらしく,仕上がりが楽しみではありました。一緒に買ってきたつまみも,大きさやデザインが良くて楽しみです。さすがLEX製,昔はどこのパーツ屋でも買えましたが,今はちょっと探さないと買えません。

 しかし,フロントパネルは思案しました。アンプですから,光り物といえばパイロットランプくらいしかありません。アクリル板など必要ありませんが,これがないとパネルが随分と奥に引っ込んでしまいますから,やはりこれはアクリルを使う事を考えたいところです。

 問題はナットを挟むだけの隙間が,アクリル板とアルミ板の間に出来るかどうかです。ボリュームのナットは大きな穴を開けて表面に出てきてもつまみで隠れるからいいとし,スイッチは普通のトグルスイッチですから,なっとを表に出すのは格好が悪いです。まあ,1mmや1.5mmくらいの隙間ならなんとかなるだろうと,いい加減なのりで加工開始です。

 リアパネルにスピーカ端子,RCAジャック,ACアダプタのジャックを取り付けます。フロントは3mm径のLED,電源スイッチに2連ボリュームを付けるだけです。あとはTA1101基板の固定穴を4つ開ければ出来上がり。アクリル板は現物あわせとし,アルミパネルに重ねて位置決めをし,ボリュームとスイッチの穴を割れないように慎重に開けます。

 組み付けて見ると,意外にぱちっとおさまります。大体勢いで始めた加工では失敗をするものなのですが,昨日は失敗らしい失敗もなく,気分良く加工を終えることができました。

 欲を言えば,電源スイッチの位置がやや低く,LEDの位置がやや高い気がするという感じでしょうか。ま,ひさしがあるだけ印象も違ってきますので,あまり細かいことにこだわることはしないでおきましょう。

 さて,肝心の音ですが,iTunesが圧縮オーディオであることもあってか,どうもざらつく印象です。電源ラインは10000uFの電源コンデンサを付けてありますが,もともとそんなに良い電源でもないでしょうから,音の悪さはACアダプタのせいかも知れません。

 ただ,スピーカの良さには,やっぱり「おっ」と手を止めてしまいます。

 TA1101は低発熱で,出力も小さなものですので,特に放熱を考えなくても構いませんし,ケースに密封しても平気です。こうして,誰にでも扱えるお手頃アンプが1つ出来て,うちのリビングに,ちょこんと座ることになりました。

 音質の改善だなんだといじり回すのも1つですが,私としては余計なことをせず,このまま使おうかなと思います。

 

ストロベリーリナックスのL/Cメータを作る

  • 2010/09/29 13:27
  • カテゴリー:make:

ファイル 410-1.jpg

 先日,日本橋のシリコンハウス共立で購入した,ストロベリーリナックスのL/Cメーターキットを作ってみたわけですが,その感想をば。

 Ver2になってからも結構な時間が経っている定番キットですので,その感想なぞ誰ももう期待しないと思いますが,遠慮せず書いてみます。

・キット?
 書き込み済みのAVR,LCDもCR類も揃っていて,ガラエポの両面基板にハンダ付けするだけのキットですから,とても気楽ですし楽しく製作できます。スイッチも基板上にハンダ付けするので,ケースに入れなければ使えないというものではなく,私のようにものぐさでケースに入れるのを億劫がる人でも,さっと使える実用キットだと思います。

・回路図?
 キットとして致命的というか,もはや言語道断なのは,回路図がないことです。AVRのソフトを公開せよ,といってるのではないですよ。純粋に,キットで回路図がないのは話にならない,ということです。
 なにか公開できない秘密でもあるんでしょうか。Ver1では公開されていたそうですから,別にストロベリーリナックスが意地悪をしているような感じではなさそうです。
 しかし,回路図がないと壊れた時に修理も難しくなりますし,実はキットの組み立ての段階でも,間違わずに部品を取り付ける重要な情報になります。
 それに,キットというのは,改造して性能アップを行ったり,使いやすくするということが日常的に行われるものですが,回路図がないと,それも難しくなってしまいます。
 どこが性能に影響するのか,なにか精度を左右するのか,その部品はどういう働きをするのか,そういうことが回路図には出ています。初学者が勉強になるのはキットのそういう所が優れているからですし,電子工作を実体配線図だけでやり遂げたところで,あまり意味がないのではないかと思います。
 私は,この事実で,ストロベリーリナックスという会社に,ちょっと疑問を感じるようになりました。

・説明書?
 苦言を呈してばかりですが,なにせ説明書が読みにくく,よく読んでもいまひとつピンときません。ボタンは4つありますが,なぜ4つのボタンを用意したのか,4つのボタンにはどういう機能をアサインしたのかが体系的に書かれておらず,校正時にはこうしろ,コントラスト調整はこうしろ,ゼロ調整はこうしろと,機能を軸に説明をしてあるのですね。
 それでもいいのですが,結局使わないスイッチがあると,これってなんのスイッチだ,と言うことなるわけで,それを解決することも説明書の役割です。いかにも理系の人が書いたという感じがする説明書という印象で,悪意はないのですが,褒められたものではないでしょう。

・性能?
 誤差は1%と大々的にいってはいますが,誤差1%をキープできるのは,コンデンサでは10pFから0.01uFくらいまでです。もちろん,小さい方に浮遊容量由来の誤差があるのはわかりますが,フィルムコンデンサやセラミックコンデンサでも1uFを越えるものが普通に手に入る昨今,0.01uFくらいまでしかダメというのは,ちょっと厳しいです。
 さらに致命的(致命的な話ばかりですみません)なのは,0.01uFから0.1uFだと,誤差が3%くらいになると書かれているのです。
 いや,3%になるのは仕方がありません。しかし,問題は,1%をうたった測定器が,あるところで3%,それ以上の誤差を持つ事を書いてしまっていることです。では,1.2%はどこのあたりから,1.8%はどのあたりから,と,表示されている値をどこまで信じていいのか,わからなくなってしまうのです。
 これなら,1%を維持できる容量はどこからどこまで,3%ならどこからどこまで,と書くべきであり,この製品のように0.01uFから0.1uFで3%程度,では,あんまりだと思うのです。
 これを少し深読みして,0.01uFまでなら1%,0.1uFまでは3%と判断してもよいのですが,なら0.03uFならどうなのか,0.082uFならどうなのか,3%程度というのはどういうことなのか,使う人の想像力に任されてしまいます。測定器を名乗るなら,これはダメです。
 それと,0.47uFのコンデンサを測定してみたのですが,0.26uFと半分ほどの値を示しました。説明書には誤差が大きくて使えないとあるので文句は言えませんが,未知の値を測定するのに,倍近く異なる値を平気な顔をして表示するというのは,ちょっと不親切かなという感じもします。いや,これは使う人が気をつければよいということにしておきましょう。
 なお,インダクタはなかなか良さそうです。測定範囲は0.1uHから10mHですので,普通に使うものは十分測定可能ですし,コンデンサのようにテスタに測定機能があるわけではありませんので,この際コンデンサの容量計はオマケで,インダクタンスメーターとして割り切って使うべきだと思います。

・バグ?
 ゼロ調整ですが,どういうわけだか電源を切っても保存されるべきなのに,保存されずにもどってしまいます。
 一度,コンデンサを付けたままゼロ調整を誤って行って,大きくずれたオフセットが記録されてしまい,戻せなくなってリセットをかけたのですが,どうもゼロ調整は2回連続で行わないと,記録されないっぽいです。バグですかね。

・結論?
 とりあえず,容量計はあまり信用できません。小容量品の測定には威力を発揮しそうですが,私のように高周波に無縁な人には,あまり必要性がないといえるでしょう。1000pFとか,1%精度で追い込む人なんかにはありがたいかも知れませんが,そんな回路の設計なんて,正しい設計なんですかね。
 インダクタンスの測定はとても便利に使えそうです。スイッチング電源を自作することがホビーストにも求められる時代になりましたが,そこで活躍するのがインダクタンスメーターでしょう。ジャンク品の流用,実測値の測定,手巻きで作るなどなど,テスタで代用できないだけに,貴重な測定器だといえそうです。

・おすすめできる?
 難しいですね,インダクタンスを測定したい人は,4600円の価値があります。コンデンサの容量測定をメインにするなら,買わない方がいいでしょう。もう4600円追加して,よいテスタを買いましょう。
 1000pFくらいを1%で測定したい極端なマニアは,すでにこんなの持っていると思いますので,今から買おうかどうか考えている人は,ちょっと考えた方がよいように思います。
 決して使いやすいわけではないし,回路図もない,実用機器を作るだけのキットで,しかし案外実用度が低いとくれば,残念ですが積極的にはおすすめ出来ないなというのが,私の結論です。

 ということで,もう作らなくてもいいかなあと思っていた容量計ですが,やっぱり作ろうと思います。

GPS時計 - 後日談

  • 2010/01/28 17:01
  • カテゴリー:make:

 先日,ここをご覧頂いているある方からメールを頂きました。

 内容は,GPS時計を作ったが動かない,なにか思いつくことはないか,ということでした。

 昨年末にAVRのtiny2313を使ってGPS時計を作り,その顛末をここに書いたのですが,私にしては珍しくソースも公開したので,自分も作ってみようと思って下さった方がいらっしゃったようです。

 最初に申し上げておかねばならないのですが,この日誌は自分のためのメモがわりなので,他の方が見て問題なく制作できるほどの情報を書いていません。今回のGPS時計にしても,実は回路図はどこにも書いていませんし,ソースの変更履歴もありません。さらに掲載した画面の写真は最新のソースのものではありません。

 ということで,誰もこんなの作ってみようと思わないだろうと,不親切きわまりない内容だったにもかかわらず,果敢にも実際に手を動かした方がいらっしゃるとは,ちょっと驚くと共に,申し訳ないなあという気がしました。

 頂いたメールは非常にシンプルで,「SATと20だけが表示されあとは何も出てこない」ということだけが書かれていました。

 うーん,正直なところ,これだけでは原因として思いつくことがあまりに多すぎて,ちょっと答えようがないなあ,と思っていたのですが,まず最初にピンと来たことを中心に答えることにしようと考えました。

 私のお返事は,

----
 その原因として,思いつくものを列挙します。
LCDに表示が出ているので,AVRとLCDは動作していると
仮定します。

 また,ソースは「GPS時計 - 完結編」にある
最新版(起動時にV1.33と出る)であるとします。

(1)GPSモジュールのボーレートを変更していない。
 購入直後の設定は9600bpsなので,これを
 19200bpsに設定する必要がある。(やりかたは
 ぐぐってください)

(2)AVRを外部発振で動かしていない。
 AVR側のボーレートは,内蔵発振では
 補正を入れないと正確にならず,受信出来ない。
 (最終版のV1.33では20MHzの外部発振でなくては
  動きません)

(3)書き込み時のヒューズビットの設定ミス。
 特に外部発振の設定はヒューズビットで行うため
 適切な設定を行う必要がある。

(4)配線ミス。
 GPSモジュールのピン配置は?
 GPSモジュールの信号レベルは?
 GPSモジュールは動作している?
 単純な配線ミスは?
----

 としました。

 ピンと来たというのは(1)もしくは(2)の話で,表示も出ていることからAVRは動作しているし,通信が出来ていない時にこの症状になることは私も経験しているので,この2つを確かめてもらおうということにしたのです。

 とりわけ(1)は,GPSモジュールに手を入れて,ボーレートをデフォルトの9600bpsから19200bpsにしないといけないことを詳しく書いていなかったので,可能性は低くないと思いました。

 (2)も実際に実験したのですが,内蔵発振器でクロックを用意する場合,その周波数は結構ずれるため,正確なボーレートになってくれません。それでAVRライタを使ってある領域に書き込まれている補正値を読み出し,その値を周波数補正レジスタに書き込んで8MHzを作る事が必要になります。

 私が実験したというのは,あるチップで有効な補正値を別のチップに書き込んだらどうなるかだったのですが,予想通りボーレートも狂ってしまい,受信が出来なくなりました。結構面倒な話なので,私はUARTを使う場合には外部に発振子を用意しようと,この時から考えるようになりました。

 (3)は今回の現象を直接引き起こすか確証はないのですが,私の思うAVRの欠点の1つだと思うことでもあるので,書いておきました。

 AVRもマイコンですから,ソースをコンパイルしバイナリを生成し,これをライタで書き込むことで動くようになります。ただ,AVRの場合それだけではだめで,書き込み時にライタによってヒューズビットを設定しなければなりません。

 私が嫌だなと思うのは,ヒューズビットの設定をファイルに保存しておけないことです。ソースもバイナリも保存できるので残しておけますが,ヒューズビットはメモで残すか,テキストファイルで残すかした上で,ライタにいちいち設定しないといけなかったりします。(なにかいい方法があるのかも知れませんが,ライタによらない共通のフォーマットで保存出来なければ意味がありません)

 しかも,ヒューズビットの設定をあやまって,外部発振子を使わずに外部発振モード設定にしてしまうと,ISPでの書き込みが出来なくなってしまいます。ごく普通に使われているライタはISPですので,それしか持っていない人にとって,復活の方法がないという恐ろしい状況がおこります。

 チップごとに設定が異なっていて,しかもマイコンが動作する前に設定をしないといけないような部分があって,そこをヒューズビットにするという考え方は普通だと思いますが,それならそれでAVRstudioでヒューズビットの設定を行う事にし,バイナリと一緒にヒューズビットの設定ファイルを生成して,ライタはそれらをただ書き込むだけ,と言うふうにしてくれた方がよかったと思います。

 まあ,そんなことを言っていても仕方がありませんが,とにかくヒューズビットは回路によっても変わってくるので,作った方に再確認をしてもらうしかありません。


 翌日,お返事を頂きました。

 無事に動いたという事です。よかったよかった。

 原因は,GPSモジュールのボーレートを変更していなかったことにあったとのこと。私の勘もなかなかのものです。

 一緒に,正常に動作した状態の写真も送って下さいました。LCDは秋月あたりでよく売られているものをお使いのようですが,私はデジットで買った大きめのものを使っているので,同じ画面が小さい液晶で表示されたものを見るのは当然初めてです。

 こうしてみると,自分が作った覚えのないものが,同じように動いているのを見るというのは,なんだか不思議な感覚になります。自分が手を動かして作ったものは,やっぱり強い記憶に残りますから,写真を見てもなんとも思わないのですが,自分が作っていないものが同じ動作をしているのをみると,「あれこんなのいつの間に作ったのかな」という感じになるのです。

 もしかすると,突然「あなたの子よ」と子供の写真を見せられたら,こんな気分になるのでしょうか。

 私は,自分の電子工作は,自分が楽しかったらそれでいいという動機でやっていることなので,積極的に他の方に作って頂こうなどと思ったことはありませんから,今回のことは意外だったなと思うのと,こんなものでも興味をもって作ってみようと思って下さった事が,素直にうれしいと思いました。

 余談ですが,エレキジャックのNo.16に,私も使ったGPSモジュールであるGT-720Fを使って,GPS時計を作った例が記事として出ているようです。

 なぜかある領域でブームになってるニキシー管を使っているのも売りのようですが,私が疑問なのは,GT-720Fのような1PPS出力がないモジュールを使っておきながら,正確とか原子時計レベルとかいっていいものなのかな,ということです。

 GT-720Fというモジュールは,1/10秒や1/100秒の桁がゼロになっている時刻にだけ,時刻情報を送信してくるというわけではありません。

 つまり,12時12分12秒00という時刻情報が送られて来るとは限らず,12時12分12秒99といった,1/10秒や1/100秒の桁が0以外の時刻情報を送ってくることがあるということです。

 だから,単純に受信データのうち,1秒から上の桁を表示するだけでは,最悪1秒近いズレを発生させてしまうことになります。

 そりゃそうですね,GT-720Fは,12時12分12秒99の時点で「12時12分12秒99ですよ」と時刻情報を送信しているに過ぎませんから,受けた側がそれを勝手に12時12分12秒と表示したら,約1秒ずれますわね。私はここで,随分苦労しました。

 エレキジャックには最近愛想を尽かしてしまっているので買っておらず詳細は分からないのですが,ちょっとだけ気になってサポートページにあるソースを見ると,特別な処理は行っておらず,1/10秒以下を単純に切り捨てて表示させ,結果的に最大1秒のズレを発生させる可能性があります。

 もちろん,私がやったような方法で1/10秒以下を考慮しても,1PPS出力がなければGPS衛星に搭載される原子時計に同期したパルスを手に入れられませんから,12時12分12秒00になってから12時12分12秒00と送信されたデータを受信して表示をしているようでは,どうしたって遅れが生じます。これはGT-720Fを使う限り避けようがありません。

 なのに,原子時計レベルの正確な時計だ,というのはかなり無理があるように思います。私がおかしいのかなあ?

 みんな,電波時計なんかと比較しないんでしょうか・・・作りっぱなしで比較もせず,GPSで得られる時刻情報は原子時計レベルなのだという知識だけで,盲目的に自分の作った時計も正確だと信じちゃうのでしょうか。

 さて,同じ電子回路の設計技術を持つ者でも,量産品を設計するプロと,アマチュアとの間には大きな差があります。プロは1000個や10000個を「同じように」「効率よく」作る事を前提として設計を行う事になります。アマチュアは1つ動けばそれでいいので,極端な話,全部の抵抗を可変抵抗にしても別に構いません。

 こうした差から生まれる決定的な違いは,プロは記録を残すことも仕事と考えていることです。自分がいなくなっても同じものが作れるようにするには,詳細な記録がなくてはなりません。それが回路図であり,ソースコードであり,履歴であり,各種のドキュメントです。

 アマチュアはこういったものをあまり積極的に残しません。プロは,残すだけではなく,誰が見ても同じ結果になるように,決まったフォーマットで残す事を求められます。

 仕事なんだから当たり前なのですが,何が言いたいかというと,アマチュアも,しっかりしたドキュメントを残すべきだということです。私もGPS時計について,自宅にはちゃんとした資料を残しています。

 最近,電子工作を楽しむ方が増えているようです。それはとてもよい事ですし,長年楽しんでいる私にとっても心強いものがありますが,設計,製作,測定,考察,というプロセスをきちんと踏んで,それらをきちんと記録して残しておくことを特におすすめしておきたいと思います。

 必ず次に繋がりますし,飛躍的にその人の技術力を高めます。なにより,後で読み返したら面白いですよ。

 とくにオーディオマニアでアンプなどを自作する人に言いたいのですが,地に響く低音とか伸びのある高域とか静寂が身を包むとか躍動感あふれるとか艶やかなボーカルとか,そんなことを「作った結果」として誇らしげに言ってるだけじゃ,ダメですよ。

ページ移動

ユーティリティ

2020年06月

- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

新着エントリー

過去ログ

Feed