FrontPage 新規 編集 検索 一覧 ヘルプ

Micon

自作、マイコン&ソフト  目次

コメント

お名前: コメント:

Mbed STM32 Nucleo 2017/9/17-

今まで自作する時に32Bitマイコンが必要なのがあまり無くて手をつけていなかったが、
気がついたらMbed対応のボードが各社から出て増えていた。

Mbedはブラウザで使え、開発環境をインストールしなくても使えるのが良い。
オリジナルLPC1768に比べ安いSTM32 NucleoでADCが2つ以上のを調べてみた。

ボード名FLASHSRAMADCDAC秋月RS特徴
STM32L476RG1M128K32\1900\1934
STM32F446RE512K128K32\1900\1835高速180MHz
STM32F303RE512K80K42\1600\1418
STM32F334R864K12K23\1500\1386
STM32F103RB128K20K20\1500\1401
STM32F303K864K16K23\1600\139830pin小型

意外な事にほとんどRSコンポーネンツの方が安かった、今回はSTM32F303REを注文。

着いた、MbedのページにST-Linkをアップデートするようにと有ったので行った。
VerはV2.J28.M17→V2.J28.M18だった、やらなくても動いたかもしれない。

Lチカのテストをコンパイルして、F303REドライブへコピー、LD1が緑になれば書き込んだらしい。
LPC1768版と違い、ドライブへのファイルは残らないようだ。動作確認はできた。

AD2chの同時取り込みを調査、Mbedには使用例やライブラリが無く細部の機能を使うところが弱い。
F446で作った人のが有ったがF303用のは無し。面倒な開発環境の導入が必要か?

初期設定ツールのSTM32CubeMXをダウンロードした、344MByteと大きい。Mac,Linux対応の為か?
また、HALライブラリのSTM32cubeF3も130Mbyteと大きかった。苦労しそうだ・・・

Aliexpressで買った 2017/4/25〜7/21

前から気になっていた、中国通販サイトのAliexpressにとうとう手を出してしまった、、
買ったのは1.3型OLED-I2C(白)ユニットで国内では売っていない物。

変な所は避ける為に評価の高いショップを選んで注文。
発送方法を指定できる点がAmazonより良いかも、書留郵便にて2週間で無事着いた。

開けてみたらユニットが何故か一つ多く入っていた??サービス??間違い?思わぬトクをしてしまった。

次のはe-EMSで送ってもらったら、発送してから4日で着いた!早い。

7/21-31.AliExpress Standard Shippingは遅いという評判が多かったが、
シンガポール経由でRegistered Mailと同じ日数で着いた。予想外に良かった!

ICの方は追跡番号が無効のままで、問い合わせたら中国税関で止まってるという、どうなる?
→有効になったが動かなかった、数日後に税関から店へ返送されていたと判った。
 理由は不明、再送すると言ってるが本当に着くか??
→今度は順調に進み早く着いた、注文から25日掛かった事になる。

同ICを別ショップに注文したら、発注から10日(発送〜7日)で問題なく着いた。
やはり、少し価格差があっても評価の高い店から買う方が良いようだ。

また、別のICは出荷期限ぎりぎりでSmall Packet Plusに変更して送ったという、
たぶん在庫は持って無くて調達していたのだろう。大丈夫?
→発注から20日(発送〜13日)で着いた。ホッ

スイッチサイエンスPCB 2017/4/20

スイッチサイエンスのPCB製作サービスを利用してみた。

これはFUSIONへの代行サービスだ、FUSIONで製作した基板をスイッチサイエンスへ送り、そこから届く。
その為、中国からの郵送による紛失を心配しなくて良いし、FUSIONでFedexやDHLを利用するより安い。

一週間位まとめているようで日数はかかる。だが前にFedex使ったら倉庫に一週間置かれてた事もあった。
とにかくシンガポール郵便と中国郵政で一回ずつ紛失を経験してるので確実なのはありがたい。
製作中の進行連絡はFUSION直より少なめだ。

またFUSIONでは異種集合をVカット指定で注文できるが、スイッチサイエンスでは同種のみ。
もっとも、料金的にVカット異種集合は2つ作るのと変わらない場合もある。
Vカットしなければ異種配置はOKだ。

キャラクタLCD AQM1602の電圧 2017/4/7

I2C接続のAQM1602/AQM0802は一般的には3.3V時は内蔵ブースターを使い、5V時は使わない。
内蔵ブースター使用時の電圧範囲も3.5V以下と書いてる物もある。
だが、3.5〜4.5Vは内蔵ブースターを使わないと文字が薄くコントラストが取れない。

制御ICのST7032仕様書を調べると、Supply Voltage for LCD Driveの図にVdd=2.7-3.5Vと有った。
だが、電気的特性の表は2.7〜4.5Vと4.5〜5.5Vの2つがあり、3.5Vの境はない。
なので、内蔵ブースター使用時が2.7〜4.5Vで、未使用が4.5〜5.5Vかと思っていた。

だが、よく見たら4.5〜5.5Vの方にもUse internal Boosterと書いて有るではないか!
制限はVddが5.5V以下とVlcd(Vo)の7V以下のみの様だ。

AQM1602を測ってみると、VoutはVDDの2倍より少し低く、Voはコントラストで変わる。
Voutが7V超でも、Voは読めないほど真っ黒にしない限り7Vを超える事はなかった。

おそらくコントラスト上限値だとVout≒Voとなり、7Vの元は3.5Vと言う事ではないかと思う。

中華OLED 1.3型 SH1106 2017/3/26-5/1

AmazonでHiletgoの1.3型OLEDが安かったので入手し試してみた。

袋にBと書いてあり嫌な予感、写真と基板が違う、VCCとGNDピンが逆、大きさも少し違う。
SH1106ということで、MCSのフォーラムを漁ってSSD1306ライブラリを改変してみるが表示しない。

内部DCDCが動いていないので回路図を起こしてみた。特に変なところは無い。
OLED_13_SH1106.PNG

検索しまくった結果、Arduinoライブラリ(MicroLCD)が見つかったので、Arduinoで試すと、
表示した・・・ブルーでした、写真は白だったのに!これが中華品質か・・・

bascomforum.deにライブラリが有った、ここはダウンロードするには登録が必要でした。
試すと、LCDATとShowpicはOK。だが、Glcddataで送ると最下行しか表示しない・・

ライブラリの初期データに変な所が有ったので、修正したが変わらない。
ページ(行)指定「GLCDcmd B0〜B7」を追加したら全表示する様なった、がズレていた。
さらにセグメントリセット「GLCDcmd 01、GLCDcmd 10」追加でやっと正しく表示した。

仕様書をSSD1306と比べると無いコマンドも有るし、SH1106はSSD1306簡易版なのかも。
サンプルソース→OLEDsh1106.zip

4/27.今度のは電源/GNDピンの設定が有るものだった、上記の回路図を更新。寸法も微妙に違う感じ。
 電源に結構なノイズが載っていた、SSD1306では10uFだったのにユニットのパスコンは小さい。
 どちらも無線機に入れるとノイズ源になりそうな感じ。

ロータリーエンコーダ、クリック有 2017/2/7

最近、売ってるロータリーエンコーダはほとんどクリック有の様で、これに意外と手こずった。
物はALPSのEC11-L15。いつものソースで試すと2つカウントしたり、しなかったりと不安定。

ソースを色々変えてみたが芳しくない。
オシロで観察するとA相の変化点にクリック点が来ていた。また、チャタリングも多く見られた。

チャタリング対策に数mSの一致を入れて、A相の変化点はカウントしない事にした。
これで、概ね動作したが時々読み落とす事もあり完全ではない。

AB相の動作表→EC11_AB.gif

OLED UG-2864KSWL 2017/2/2

aitendoのOLED1306-13SMDを買ってみた、パネルは1.3型のUG-2864KSWLのパーツセットである。

説明書はないし、ホームページの回路図は値が入って無い、資料不足だ。
仕様書と昼夜逆転工作室の記事を参考に組み立てた、このキャリー基板は使いにくい。

BASCOMのSSD1306-i2cライブラリを使用、Resのリセット動作を追加したら無事に動いた。
自発光なので小さい文字もハッキリ見えていい感じ!
ただ、Lineなどの絵画コマンドが使えないので、工夫が必要そうだ。

パネル回路図マイコン回路図、サンプルソースUG2864K.bas写真

2/11.GLCDDATAで描く時、CLSで消去しても位置が戻らなかった。
 LCDAT 6,121,"E" と最後の所へ書くと初期点へ来ました。なお、GLCDCMDは使えていない。

激安なAVRaspライタ 2016/12/13-2017/3/4

AmazonでAVRaspライタが激安で出ているのをみつけた、アダプタ付けて355円! 
HiLetgo 51 AVR Atmega プログラムUSBasp、HiLetgo 10ピン to 6ピン アダプタープレート AVRISP

中国発送で追跡が進まず心配になったが11日かかって到着。
ちゃんと動いた、ただファームが古くアップデートした方が良かった。

やり方は、AVRaspのJP1を5Vにする、JP2をショート、5Vを供給。
ブレッドボード用ジャンパーで、AVRaspとAVRISPmk2のISP端子を1:1で接続。
AVRstadioから「usbasp.atmega8.2011-05-28.hex」を書き込み。

2017/1/7.そのままでは新品Chipに書き込めない事が判った、JP3をショートしたら出来た。
速度切替で書き込みも遅くなったので、JP3は切り替えられる様にした方が良さそう。
一度使ったAVRを書き換える時はWriteではエラーになる、Erase-WriteでOK。

3.3VでBASCOMからFuseBitのCLKを変えようとしたらエラーが出てISP不能になった・・(T_T)
回路を調べてみたらATmega8は5Vで、ISP信号線に保護の抵抗が入っていない
5V/3.3V供給のジャンパーピンがあって勘違いしやすいが、3.3Vへの使用は危険だ。

ISPパターンをカットして4.7KΩチップ抵抗を追加、3.3Vでのラッチアップ防止はこの位が必要らしい。
相手の端子が未使用(open)なら波形的にも問題なさそうだった。

今度は別のを頼んだら、China postの追跡に載るまで10日も掛かった。年末休暇は混雑するらしい。
その後、40日位まで待ったが着かないので、返金処理してもらった。

R820T2でSDR 2016/4/8

今ごろだが、USBチューナR820T2を入手して、ソフトウエアラジオをやってみた。

スペアナソフトは「GUI for rtl_power」の利用で設定してみた

周波数が50ppmほどズレていたので、内部のXtalに6pF,8pFを追加し合わせました。
 (10pF,8pFでは下がりすぎる様でした)

メッセージキーヤーの製作 2015/11/24-2016/1/12

手持ちの部品でCWメッセージキーヤーを作った。
エレキーの製作例はいくつか有ったが、LCD付きで文を送り出す物は意外に無かった。

文字をモールスに変換する方法で悩んで色々考えた。
1ビットでそのまま表すと、モールスコードは可変長なので前後判断が発生し処理がややこしそうだ。

最初はDot、Dash、語間を6文字列で表して一文字ずつ処理する方法で作ってみた。
変換コード表の作成はわりと簡単だった。
実用上は問題無さそうだったが、文字列処理で時間が掛かっていないか気になった。

最終的に2ビットで表わす事を思いついた!変換コードが16bitのWordで済むし処理も早そうだ。
変換コード表を作るのが面倒だったが、結果は上々と思う。

最初はピン数からTinyかと思ったが、編集まで入れると8Kは必要そう、Megaの基板で良かった。
3V以上が必要だったので、デジカメ用リチウムイオンを端子を真鍮板で自作して使ってみた。
部品をかき集めて作った割には、そこそこいい感じだ。

試作回路図Msg-keyer01.gif試作基板写真

とりあえず、5x2の文を送出でき、スペース調整など設定まで出来た、使えそうだ。
あとは文の編集と連番機能を入れ込みたいと思っている。

11/30.コンテストに使ってみた。ワンタッチ送出とオーディオOUTにサイドトーンが入らないのが良い。
  連番機能も出来た。これでWPXコンテストとか001連番を送る時に便利だ。

12/5.文の編集機能も出来るようになった。文字列の編集は数値に比べだいぶ面倒だった。
  売り物になるかな?あと、エレキー機能と基板は必要だろうな。

12/12.エレキー機能も出来た、左右入れ替えや短点長点メモリータイミングが難しい所だった。Flashは8Kぎりぎり。

1/12.その後、基板を設計、発注していました。基板は50x76mmとさらに小型に。
ベースはCDケースを、カバーは薄いプラ板を加工して作りました、いい感じです。

 
回路図Msg-keyer10.gif
メッセージキーヤー説明書

2017/4.乾電池でも大丈夫そうなのと、カバー加工の工夫で完成品を出品してみた。
予想より素早い入札で、完成品を望んで居る人が多かった。

また、改めて部品代を計算してみたら、従来のスタート価格が安すぎた事も判った。
なお、LCDコントラストをより広い電圧に対応するようソフトウエアをVerUpしました。

基板製作メーカー 2013/2/16

昔作ったAudioアンプを最近のICに入れ替えて見ようと、基板を設計した。

Olimexを使おうかと見たら「PCB製作サービス休止の案内」がでていた。
注文が多すぎて溜りすぎたようだ。

それで、PCBCARTへ注文したのだが、着ていたメールを良く見たら、納期が24日も掛かっていた。
中国だから、春節休みにハマったのか?逆算すると休みは2週間??

納期に影響する長期連休は書いておいてほしいものだ。
注文時にPaypalで支払ってしまったから、待つしか無いか・・・

Fusion PCB Service とか、Silver Circuits を使ってる例もあるし、次回は別かな。

2/26.Fusion PCBに注文してみた。手順が少し変わったようで、ガーバーファイルは注文時にUP。
 「基板シルクに注文番号を入れる」というのは無くなったようだ。

3/5.PCBCARTからやっと届いた、丸々一ヶ月掛かった事になる。正直これでは使えない。

3/7.Fusion PCBから送ったという連絡が来た、安いのに速い!ただ、郵送なのでもう少し待ち。
 3/15.8日で着いた。10枚ぴったりで出来栄えも問題無さそう。

2014/12/13.今回は発送にEMSを使った、基板完まで6日、輸送4日で着いた。

2016/4/30.Fusion PCBで基板を作ってRegistered Air Parcelで送ってもらったが一ヶ月たっても届かない。
 昔の早かった時はHongkong postで今はSingapore post、追跡Noを入れても出ない。
 ユーザーサポートに相談したら、紛失という事で対応してくれた。丸損にならず助かった。
 安いけど郵便は止めて、EMSなどにした方が良さそうだ。

BASCOM-AVRの購入 2012/10/21

 BASCOM-AVRを購入する事にした、国内代理店より直接の方が安いかとやってみたが・・・

基板CADの使い心地 2012/8/25

最近とある機器を作っていて、プリント基板を設計しています。
昔はPCBEで作ったのですが、操作が独特ですっかり忘れてしまったので、CADから検討しました。

EAGALがはやりのようなのですがフリー版のサイズでは小さいし、操作がめんどくさいと言う感想もある。
次はRSが配布してるDesignSpark、登録して使ってみたもののライブラリに使いたい部品が無いのが多く断念。
次はFreePCBを試してみるライブラリはわりと多そうだったが、日本語の情報が少ないのが弱点か。

Minimal Borad Editorは操作性が標準的で、割りとすぐに使える感じがしたのと表示が綺麗だ。
部品も作るという思想で、ライブラリが少ないのが弱点。もっとも部品を作るのは他より簡単そう。
結局、試しているうちにMinimal Borad Editorの操作を覚えたので、そのまま使うことにした。

回路図はBSch3Vで書いて、ネットリストを出してみたら最初はエラーばかり。
よく見たら、端子に番号が付いていない部品があった。 
ホームページで公開されてるライブラリを使うときは要注意です。

PCBEでは各層を意識して書いていった覚えがあったが、Minimal Borad Editorは部品やスルーホールをパターンで繋いでいくやり方だ。

困ったのは微妙なズレで接続されていない部分が多数出てしまった事。
グリッドピッチを何回も切り替えたり、意図せず部品移動モードに入ってしまう事があったからかも。

あと、公開されてるライブラリの表面実装部品はA面用でB面に置くには?と思ったら
選択してEDITの反転を利用すれば良いようだ。(使わなかったが・・)

それでも何とかエラーをなくしてDRCチェックも通過。ネットリストを出してBSchと比較したらエラー多発。
原因はR,C,FBなど極性のない部品のピン番号を意識せずに使っていた事でした。面倒で直す気になれない。
また、レポート(rpt)は出ないので接続忘れピンがあっても判らない。

どうもネットリスト比較を求めるならFreePCBとかを使った方が良さそうです。
Minimal Borad Editorはパターンをササッと書いて行けるのが特徴だと思います。

8/29.ガーバーデータビューワはGerbvを試したが、データを読み込むと落ちてしまった??
 次はViewPlot、登録不要でダウンロード、インストールできて、軽快にうごいている。
 だが、ドリルデータは何倍も大きく表示されてしまう。 2 4を選べば良い。
 PCBCARTに発注した。

8/31.PCBCARTから9/13予定と連絡有り。データは特に問題は無かったようだ。
 120mm角と40mm角の両面2種で$233、昔、国内メーカーに頼んだ時よりだいぶ安い。
 ただ、小さい方は簡単なのだが、割高になったかも。
 部品を秋月、共立エレショップ、RSに注文。一箇所で揃わないのが難で計40品超になった。

9/12.予定より一日早く出荷された。

9/15.もう到着。基板はズレなど見られず穴や端も綺麗な仕上がりで、十分満足です。

送信受信周波数のずれ 2010/10/7

RTTYやWSJTで送受信周波数にずれがあった、応答局の周波数が変わることで判ったのだが、
しばらくは、MMTTYのデコード周波数を30Hzずらして合わせ込んでいた。

やっと原因が判った、LetNote R5のサウンドサンプリング周波数がIN/OUTで違っていたのだ。
MMTTYにも校正メニューがあるが、WSJTの左下に出るRateIN/OUTを見るのが簡単でした。
IN 11025x0.98=10805Hz OUT 11025x1=11025Hz しかし、なんで差があるのかな?

RTTY(FSK)はこれで合ったが、WSJTはRateを設定しても差は残ったままだった、RITで対応。
ちなみに確認はもう一台の受信機とPCで同一の信号を使い、モニターして確認した。

Arduinoで大苦戦 2010/2/9-16.3/4

最近、巷で話題になりつつあるフィジカルコンピューティングを少し試していた。

安さからArduino Duemilanoveの互換機Freeduinoを頼んだのだが、来たのを見るとATmega168?
これは販売元に連絡してATmega328を送ってもらった。(168を得した)

ソフトウエアやドライバのインストールは問題なかったが、サンプルをマイコンにUPLoadできない!
書き込みエラーになる。COM番号を11→2にしてみたり、ResetSWを押したりしたが、やっぱり駄目。
PCを変えてみたが、駄目だった。

LEDは点滅してるが、マイコンにファームが書かれていないのか?
そういえばトラ技付録基板を使った、ISPライターの記事が合ったと急遽、作って試すがうまく動かず。
今更、AVRstadioを入れるのもめんどくさいし、ライターソフトも問題だ。

Arduino用ATmega168を外して、別のAVR基板につけて、BASCOM+シンプルライターで読む。
読めない!?動いていないような?Xtalか?

そこでシンプルライターを6pinに変換し、BASCOMのライターでFreeduinoのISPに繋ぐ。
やっとヒューズビットが読めた、FreeduinoのATmega周りは問題ないようだ。
フラッシュが読めないのはロックビットが設定してある為みたい。やっぱり書き込み済み?

別のATmega168にファームやヒューズビットを焼いて試してみるが同じ症状でNG。
USB変換ICか?うーん、これじゃBASCOMの方が簡単だぞ。困った。

2/13.結局、Duemilanoveを買った。UPloadも問題なく動いた、PC側は良いようだ。
 AVRを変えても無事動く、TX,RXのLEDの点き方が違うような。
 USB-ICの問題のか?
 ICもドライバも同じなのにCOM番号が変わってしまうのはいまいち。(Winの仕様)

2/16.Freeduinoをオシロで見たら、発振波形はきれいなサイン波なのに45nSしかなく短い。
 22MHzで発振していた。こんなの初めてだ、Xtalの刻印ミスだろうか?
 手持ちの16MHzは大きいので横にして付け変えた。UPloadもうまく行き正常動作となった。

 いっしょに買ったWaveshieldを試したら、microSDのsandisk64Mが読めず??ノーブランド2MはOK。
 きれいな音だ!やっぱ12Bitは良い、8bitとは歪が違う。消費電流は45〜105mAでした。
 こういう、他の人の成果をカスタマイズして自分用に使えるのがArduinoの強みだと思う。

3/4.秋月の100円SDカード8Mを買ったので、試したらERRとなり読めなかった。
 FAT12になっていたので、DOS窓から「Format 〜: /fs:fat /a:1024」でFAT16に直した。
 これで無事に再生できました。

AVRその3 2008/4/30

BASCOMで新たに気がついた点
LCD表示の数字を揃えるのにFORMATを使っていたが、LCD文中に書けた。
 変数に入れてLCD命令を行うよりメモリーが少し少なくてすむ。
IF文などで文字を変数に入れて、LCD命令を共通化するとメモリー増加。
 変数を使わずLCD命令を2つ使った方が良い。
RETURN命令は共通化できる。
 文中にラベルを入れてRETURN命令を共通にしてもOK。
Sfiftout命令やMakeint命令を少なくするとさらにメモリー節約できる。
 Long変数とAnd,OrやShiftをうまく使うと良い。

AVRその2 2008/2/16

ロータリーエンコーダーの読み方をいくつか試していた。
 If文を使って判定する。4分岐*2分岐 「ソースが読みにくくなりがち」
◆∩阿涼佑鬟轡侫箸気ORを取ってコード化する。8分岐 「やや長くなるが判り易い」
、グレイコード→バイナリ変換し、前の値と引き算する。4or6分岐 「コードの理解。ソースは最短」
SELECT-CASE文を使うと書きやすくなるが、動作はどれも大差ない感じだった。
結局、速く廻すと取りこぼしが起きる。

ロータリーエンコーダーの波形は早くて数mSなのに、なんで遅れるのか?
LCD表示が遅かった。13文字で20mS以上掛かっていた。
LCD自体はもっと早くて大丈夫なはずだが、BASCOMが何を基準にしているか判らない?
早くする設定が見当たらないので、書き換える文字をなるべく減らすしかなさそう。

判定はどれでも十分早いので、判り易い△任いい。

LongやSongleを使って実数計算すると、けっこうメモリーを食うみたい。
4k制限に引っかかりそうだ、まあレジストしてMega88or168を使えばいいんだが。
工夫して整数計算で代用できれば、その方が良さそうだ。

ありがたい事に、BASCOMの日本語訳があった→O-Famiry電子工作の部屋

AVRを試しています 2008/1/17-22.2/6

JUMA TRX2Aも一息ついたので次を考えています。そこで
PICやH8は扱ったことがあるが、AVR+BASCOMが簡単らしいのでやってみた。
ハムのためのAVR入門
AVRマイコン入門、ブレッドボードラジオ (文例が多く参考になりましたTNX)
AVR&BASCOM-AVR (日本語の命令リファレンスが助かります)
MCS Electonics  (Demo版で4KまでOK、太っ腹)

ライターは抵抗4本のシンプルタイプでATMEGA48に秋月の小型LCD(SD1602HULB)を繋いだ。
ひと通り配線したら、問題発生!
LCDの仕様書を良く見たらピン配が、14→1,16,15の順だ!何じゃこりゃ?
普通は16→1or1→16だろ。電源入れる前で良かった。

上の入門ページにしたがって、LCD表示プログラムを入れてみた。
BASCOMはLCDを機能化してるから、1行ですむし、ライタープログラムも内臓してる。
あっさり動きました、確かにこりゃ簡単だ。

BASCOMのHELPの目次は見えるが中身が見えない。CHMだからXP SP2のセキュリティか??
とりあえず、BASCOM-Online HELPを見てしのぐ。

1/18.SW入力もOKで、AD入力を試したら「1023」のまま変わらず。??
 入力指定が抜けていたが、直しても駄目。
 途方にくれてしばらく頭を冷やす。良く見たらArefがオープンだった。
 Arefを5Vに繋いだら無事に正しい表示が出ました。
 ADの基準はAVCCがデフォルトでArefがオプションだと勘違いしていた。

1/19.書き込みが時々失敗して不安定だったので、配線をやり直した。
 5本の線で引いていたのを、フラットケーブルでGNDを交互に配置し9本使ってみた
 また、抵抗をオリジナルどうりにPC側に持ってきた。
 安定して書き込みできるようになりました。
 <その後、電源が5Vより高いと失敗しやすくなる事が判った。4.9VはOK>

1/20.PWMをテストしてみた。出力を見るとDutyは連続で変えれるが周波数はとびとびなのか。
 任意の周波数で作りたいときはタイマーをコンパレーターでトグルすれば良いようだ。(上のリンク先に有り)
 これで、トーン周波数もできそうだ。
 短時間ならSound命令でも出せるようだが、出しっぱなしで使うにはタイマーの方が良さそう。

1/21.ロータリーエンコーダを試した。これも命令があってすぐに動いた。
 秋月の資料にEC16Bのピン配が書いてなかったが、Oline-HELPに出ていた。(??)
 動きをみるとチャタリング防止は入れた方が良さそう。
 Encoder命令は動くのを待ってしまう、同時にSWもみようとすると割り込みか個別記述だ。

1/22.実数計算を試す、周波数計算はSingle(32bit)でできそうだ。
 整数の割り算(余り無視)は16bit変数に入れないとエラーになった。
 プログラム内の定数は16bit以内でないと駄目みたい。
 余剰(MOD)に苦戦、元データがLongなら計算結果もLongに入れないと駄目な事が判った。

AVRテスト基板の回路図→AVRtest.gif

2/6.セラロック発振を試してみた。
 AVRをプログラムできる状態で、Program→Manual Program→Lock&FuseBits→FuseBits KLA987
 選択が沢山あって仕様書を再確認。低速電源で全発振が安全だとCLKSEL=0111、SUT=11に。
 WritePRGを押したが変わらず変だと思ったら、ソースに設定が加わっていた。
 しかも、カソールが有った変な位置から入ってエラーの元になっていたのだ!?
 気を取り直して、WriteFSを押したが反応が判らなかった。でも、変わっていた。
 しかも良くみたら設定を間違い低振幅のCLKSEL=1111、SUT=11で動かしていた。まあ、いいか。

Hamlog QSObank tool 2007/10/6

最近、ぼちぼちとQSO BankへデータをUPし始めたんですが、周波数欄の/以後は削られてしまいます。
そのため後からWebで備考欄にUp/Down周波数を追加しなければならず面倒でした。

QSL印刷の都合もあるのでLOG入力時に備考欄に衛星名+周波数を記入するわけにも行きません。
また、衛星名で使ってると「電子QSL備考欄」に書いても出ないので役にたちません。
そこでQSObankへ送る前に備考欄にUp/Down周波数を追加するソフトを作りました。

Hamlog QSObank toolfreq_add.ex-

使い方は、

ダウンロードしQSOBANK.EXEのあるフォルダに入れてください。

拡張子を変更します。freq_add.ex- → freq_add.exe

freq_add.exeのショートカットをデスクトップなどに作る。

Hamlogの「QSObank」で「出力開始」して「〜一括送信してください」

freq_add.exeを起動する。処理した件数が表示されたら、終了しても良いです。

その後「一括送信」でQSObankへデータをUPすればOK。

QsoBankTmp.txtという中間ファイルを加工しているのだが、デバック中に切り出すカット位置が変だった。
バイナリエディタで良く見たら項目の区切りはスペースではなくTab(09h)だった。ああ勘違い。

追加するUp/Down周波数は衛星名で判定しています。「AO-51,AO-27,SO-50,FO-29,AO-7,ISS」
AO-51のL/U,L/S,V/Sはまだ未対応です。

<コメント>

AO-7の周波数計算式 2007/9/16

AO-7を試していて、自作ソフトSATfreqのバグに気がついた。
最近ではCSATmateとかもあるので何だが、間違ったままなのは気分的にも良くないので直した。

受信側29MHzから計算する場合は合っていた。
 F145 = 116450 + F29 - ( Fdu145 * 6/5) 
送信側145MHzから計算する場合のドップラーfreqの+−が違ってた。(式を良く見ればあたりまえ・・)
 F29 = F145 - 116450 + ( Fdu145 * 6/5) 
ドップラーfreqを6/5倍してるのは、145MHz+29MHzと言うことです。

ちなみにFO-29は、435MHzと145MHzを逆にしても同じ、なのが勘違いの元でした。
 F145 = 581800 - F435 + ( Fdu435 * 2/3) 

それでもCSATmateとはAO-7だけ微妙にずれるのが気になる、サイドトーンの考慮だろうか?

周波数計算ソフトをVerUPしました 2006/1/19-2/2

年末のISSレピータでFM送信でもドップラーシフトが必要だった事などから、SATfreqをVerUPしました。
(AO-51がアナログoff期間だったし)
機能にFM衛星の送信周波数、連続表示、AO-7追加など色々と改良しています。

PS.画面位置、設定の保存などさらにVerUPしました。
http://yoshikawa.jpn.org/main/ext/link2.htm

周波数計算ソフトも作りました 2005/9/16

以下のような準備をして一ヶ月ほど前から、いちおう交信できる設備になったわけですが、FM衛星で聞こえてる人を呼んでもなかなか取ってもらえません。(FM衛星は一波だから弱いと強い信号に負けて通らないからか?)

ならばと、バンド幅のあるSSB衛星VO-52を聞いてみますが、周波数関係が逆になる逆ヘテロダイン変換とドップラーシフトで送信側をどの周波数に合わせれば良いのか、なかなか判りませんでした。
そうこうする内に、親切に送信周波数を言ってCQ出してる局が居たので、その周波数に合わせて読んだところ、無事に初の衛星通信ができました! アマチュア無線らしい交信も実に十数年ぶり!
低軌道衛星とは言え、2000km以上も離れた衛星を使って行う交信はなかなかスリルがあって、なんとも言えない面白さです。
(50MHzのEスポやHFのDXと似たところがある)

さて衛星初交信はできたものの、相変わらず周波数合わせは難しい。衛星から帰ってくる自分の声を聞いて合わせるのが基本なのですが、設備を反映して弱いので探してるうちに衛星が飛び去っちゃたりしました。

調べて見ると衛星の軌道計算ソフトCALSAT32はDDEという仕組みで、別のソフトに計算結果を渡せるらしい。また、片方の無線機は比較的新しいのでシリアル通信で周波数が読めるし、これを組み合わせて、もう片方の無線機が合わせるべき周波数を計算して表示すれば便利じゃないか?GoodIdea!と思いつきました。

さらに、DDEとシリアル通信が出来て扱いが簡単なプログラミングソフトを探したところ、フリーソフトのHSPでできそうな事が判りました。HSPでソフトを組むのは初めてでしたが、思ったより扱いやすくて無事できました。
VO-52の式は、Ftx = 581150 - Frv - Fd435 + Fd145
 Fd〜 はドップラーシフトの周波数、送信周波数Ftxと受信周波数Frvは入れ替えてもOK。
(最初はこの式もわからず苦労した・・・)

ソフトはこちら、http://yoshikawa.jpn.org/main/ext/link2.htm
無線機とつなぐケーブルは携帯用のを改造して作りました。
これで、VO-52の周波数確認は格段にやりやすくなり、この後なん局かと交信できています。

このページの目次