ちょっと Tea Time!? ブレッドボード用のオーディオクロックを作る(MAX9485)! 2023.2.12

旭化成のAK5572をつかってADCを動かしてみようかと思っていますが、クロック周波数が色々と変更できる
発振器が必要です。そういった用途のために、CLK5340を作っていますが、ブレッドボードの上だけで完結するような
実験のときにはすこし大き目の基板です。

 ちょこっとブレッドボードに差し込めるような周波数可変のオーディオクロックがあると便利です。
ということで、休日のまったりした日なので作ってみることに。
 
#というか、腰が痛くてほとんど座った状態なので手が暇な状態です(笑。



CLK5340です. ブレッドボードで使うにはちょっと大きい. これもデバイス(Si5340)が入手できない状態になっています.

使うのはMAX9485

オーディオクロック用のPLL発振器はいくつもありますが、MAX9485はその一つ(もう生産中止ですが・・・)。
27MHzの水晶をつけて、ジャンパーピンを設定するだけで簡単に各種の周波数を出すことができます。

そこで、変換基板に乗せてジャンパーピンをたてて、ブレッドボードにさせるような発振器を作ろうかとおもいました。
でも、ジャンパーピンでの設定だとジャンパ状態と周波数の早見表が必要です。
それに、ジャンパーピンの変更は意外と面倒です。

それならば、ジャンパーではなくDIPスイッチを使うという手もありますが、MAX9485のジャンパー設定はH,Lならびにフロートの3段階
切替なのでDIPスイッチはON/OFFだけですから使えません。DIPスイッチを2段でつかう手もありますが、設定を間違えると電源がショートして
しまいます。

ということで、ちょっと手間はかかりますがマイコンを抱かせて、スイッチ1つで周波数が変更できるようなものを
作ってみることにしました.


MAX9485は27MHzを水晶を接続して、外付けジャンパーのみで周波数変更可能な便利な素子です。
これはRenew FFASRC for SRC4392にもつかっています.


回路図作成

回路は簡単です。MAX9485はI2Cで動きますし、表示器もI2Cで動くOLEDを使います。
そのためPICに必要な端子も少ないので、8Pinタイプのものでもいけそうな気がしましたが、いかんせんプログラム容量が心配です。
あと部品箱の肥やしも減らさないといけないので、手持ちのPICで使えそうなものを捜索です。

で、見つけたのがPIC18F14K50です。プログラムも8kWありますから十分でしょう。サイズは20PinのDIPなので基板に収まります。


回路は簡単です。

回路図を書いて部品集めです。OLEDは秋月で買ったものだったかな?それともAMAZONだったかな?
ドライバーは同じSSD1306のものです。


つかう部品を集めてきました。

組み立て開始!

基板の上にすべて乗せなければなりませんので、PICはOLEDの下側に取り付けて
スペースを稼ぎます。 そのためまずPICから取り付けです。

PICの上にOLEDが搭載されるので、まずはPICを取り付け。



搭載する部品の配置はこんな感じでしょう。


配線数も少ないので、1時間程度で完成です。いや、もうちょっとかかったかな?

まずは配線完了です。


裏面側です。ブレッドボードとの配線に使うのは右下の4本です。
その他はすべて支柱です。


ソフト作成!

これもさほど、ややこしくありません。画面に周波数一覧を表示しておいて、あとはスイッチで選択するだけの
簡単なものです。

で、デバッグを進めてコンパイルエラーもなくなりましたが、最後にドキッとするエラーがでました。

メモリー足らへんで〜!

OLEDは128x64画素あるので、グラフィックとして使うためには1kByteのイメージメモリーが必要です。
使用するライブラリには1kByteの配列を宣言しているので、その容量が確保できないというエラーです。

最近使うPICはほとんどが4kByteのRAMを搭載しているので気にもしませんでしたが、今回使用した
PIC18F14K50のRAMは768Byteです。 こりゃ、画面の半分しか使えないかも? と最初は意気消沈。

でも、ライブリーを読み返してみて1kByteのイメージをつかうのはグラフィックを使う場合だけで、
キャラクター表示させる場合は不要でした。というのも、グラフィックの場合は点を描画する時に、
イメージ上でデータ点のビットを反転させて、再度OLEDに転送することが必要ですが、
キャラクターの場合はイメージを無視して書き込むだけで済みます(勿論バックにあるグラフィックは消されます)。

そのため、イメージとなる1kBのRAMは不要でした。 ということで問題なく全画面に文字が書けます。

そしてソフト完成です。最後に、表示の周波数と出力の周波数が一致していることを確認です。


ソフト完成です。


スイッチで周波数を選ぶだけです。


24.576MHzに設定したときの出力です。 オシロは24.574MHzですね。
どちらが正しいだろう?

久しぶりの登場

周波数の確認のため、久しぶりに我が家の時間標準の登場です。 GNSS校正による基準10MHz発振器
つかった周波数カウンタで測定です。その結果は、24.573910Hzなのでオシロの周波数カウンタが正しいですね。
発振器の誤差は85ppmという感じです。 これって水晶にしては悪いような〜。


久しぶりに時間標準をつかって周波数を計測です。24.576MHzに対して85ppmの誤差があります。

念のために原発振の27MHzを測定してみると、こちらも誤差は85ppmでした。
ということはPLL自体は問題なし。やっぱり水晶の精度が85ppmということなのでしょう。
気温が寒いからかな?まあ、本来はキャパシタでの調整が必要なところでもあり、IC自体にも
補正端子がありますが、未使用なのでこんなものでしょう。


原発振は26.997700MHzなので誤差は同じく85ppmです。

これで出来上がり〜。

逝ってしまいました・・・・ 2023.2.15

ちょっと動かしてやろうとして、ブレッドボードに差し込んで実験用電源と接続。
もちろん実験用電源の出力電圧の調整ができていないので電源出力はOFFのまま。
で、電圧調整つまみを動かしたところ、なにやらカチと内部のリレーが動いた様子。
なんか実験用電源がおかしい。 出力はOFFになっているのだけど、ブレッドボード上の
電圧計が動作している。どうやら電圧が出っぱなしのようだ。
スイッチを何度か操作したら元にもどったようなのだけど、ブレッドボード上の発振器
は沈黙したまま。
 一瞬、電源がおかしくなったときに、高電圧がでていて発振器を道連れに壊して
行きやがったな!!! 

 もう・・・実戦に使う前に壊れてしまうなんて・・・ちょっとショック。

何が壊れたかを調べてみましたが、PICは大丈夫でしたがMAX9485とOLEDがまったく
動作せずです。交換パーツはあるけれど、ちょっと直す気が失せてしまいました。

実はこの発振器は3.3Vで動作するのですが、いつもはブレッドボードの電圧は5Vで使うので、
実験用電源の設定を忘れてはいけないなと思っていて、安全のために3.3Vのレギュレータを
入れておいたほうがいいかなと考えていた矢先でした。

あ〜あ、またブレッドボード用の発振器作らないといけないなあ〜。

それより実験用電源はそろそろ更新した方が安心できるな〜。


最近、不調の実験用電源。 これの暴走でブレッドボード用の
オーディオクロック基板が壊れてしまいました。


(おしまい)

このまま引き下がるわけには行きません。PART2に続きます!

PICのバイナリー(PIC18F14K50)
動くも八卦、動かぬも八卦(笑.
#もう使うことはないでしょう・・・・ 2023.2.15

:04000000AEEF05F06A
:08000800046ED8CF05F0E0CF33
:1000100006F00001E9CF0CF0EACF07F0E1CF08F0DD
:10002000E2CF09F0D9CF0AF0DACF0BF0F3CF12F01C
:10003000F4CF13F0FACF14F0F5CF15F0F6CF16F099
:10004000F7CF17F000C00EF001C00FF002C010F0A3
:1000500003C011F0F2AA30EF00F0F2B46BEF01F040
:100060000EC000F00FC001F010C002F011C003F08C
:100070000CC0E9FF07C0EAFF078E08C0E1FF09C016
:10008000E2FF0AC0D9FF0BC0DAFF12C0F3FF13C0B2
:10009000F4FF14C0FAFF15C0F5FF16C0F6FF17C035
:1000A000F7FF045006C0E0FF05C0D8FF1000BC0FEA
:1000B000F66E000EF7220900F55012000000000055
:1000C0000000005F00000003000300143E143E1413
:1000D000242A7F2A1243330866613649552250008C
:1000E00005030000001C2241000041221C001408EE
:1000F0003E081408083E08080050300000080808B0
:100100000808006060000020100804023E514945C4
:100110003E04027F0000426151494622414949366E
:100120001814127F1027454545393E494949320187
:10013000017109073649494936264949493E003681
:100140003600000056360000081422410014141432
:100150001414004122140802015109063E41595568
:100160005E7E0909097E7F494949363E4141412267
:100170007F4141413E7F494949417F090909013E8B
:100180004141493A7F0808087F00417F41003040E3
:1001900040403F7F081422417F404040407F020C96
:1001A000027F7F0204087F3E4141413E7F090909E9
:1001B000061E2121215E7F09090976264949493217
:1001C00001017F01013F4040403F1F2040201F7F31
:1001D0002010207F41221C2241070870080761512E
:1001E000494543007F4100000204081020000041FF
:1001F0007F0004020102044040404040000102042C
:100200000020545454787F4444443838444444448F
:10021000384444447F385454541804047E05050877
:100220005454543C7F0804047800447D400020402E
:10023000443D007F1028440000417F40007C04784A
:1002400004787C0804047838444444387C1414143A
:1002500008081414147C007C0804044854545420E6
:1002600004043F44443C4040207C1C2040201C3C73
:100270004030403C44281028440C5050503C4464CA
:10028000544C44000836414100007F000041413693
:10029000080002010204020020202020202020204B
:1002A00020202020202020200000202020200000CE
:1002B0004932432045525220253278253278253262
:1002C00078004932435F4552524F52004932435FF2
:1002D0004552524F5200D76A070ED66E000081BCBD
:1002E00006D0325203E0010E306E326A02D0010EA7
:1002F000326E81BE06D0335203E0010E316E336A96
:1003000002D0010E336EF29430EF00F02020415500
:1003100044494F20434C4F434B20284D487A2920D5
:100320000000202020332E3037322020202032328F
:100330002E35373932200000202020342E36303838
:100340002020202032342E35373620200000202077
:1003500020382E3139322020202033332E383638C1
:1003600038200000202031312E323839362020202C
:1003700033362E38363420200000202031322E3201
:1003800038382020202034392E313532202000000A
:10039000202031362E3338342020202036372E3797
:1003A000333736200000202031362E3933343420C4
:1003B000202037332E3732382020000020204155AE
:1003C00044494F20434C4F434B28504C4C2920204C
:1003D00000002020202077697468204D415839346E
:1003E00038352020202000002020204F4B4952414A
:1003F0004B5520415544494F20202020000020200B
:100400002020323032332D4665622D3132202020BB
:1004100020200000938C938E7868F19E948C949E9B
:100420008B8EEDEF05F0EA6A3D0EE96EEF500DE0C0
:100430000A0E016E006A002EFED7012EFBD75F0E5A
:10044000006E002EFED7EF2EF3D712008B8E020E19
:10045000006E002EFED700008B9C949C020E006E56
:10046000002EFED700008B9E020E006E002EFED7DF
:1004700000001200948C020E006E002EFED70000C9
:100480008B8E020E006E002EFED700008B9E020E99
:10049000006E002EFED7000012008B9C949C020E72
:1004A000006E002EFED700008B8E020E006E002E16
:1004B000FED700008B9E020E006E002EFED70000BD
:1004C0001200466A948C020E006E002EFED70000C9
:1004D0008B8E020E006E002EFED7000082AC06D07E
:1004E000020E006E002EFED70000F8D78B9E020E83
:1004F000006E002EFED70000020E006E002EFED70A
:1005000000008B9C949C020E006E002EFED7000013
:100510004650640804E1010E016E03D002D0000EC3
:10052000016ED0EF02F08B9C949C020E006E002EA8
:10053000FED700008B8E020E006E002EFED700004C
:10054000948C020E006E002EFED70000120045AE05
:1005500002D090DF01D0A1DF45AC02D08BDF01D00B
:100560009CDF45AA02D086DF01D097DF45A802D0E4
:1005700081DF01D092DF45A602D07CDF01D08DDF84
:1005800045A402D077DF01D088DF45A202D072DF18
:1005900001D083DF45A002D06DDF01D07EDF91D78F
:1005A000015203E0C0DF010E016E1200282C22D0A0
:1005B0004DDF780E456ECBDF456AC9DFAD0E456E67
:1005C000C6DF8B0E456EC3DFAF0E456EC0DF3852FF
:1005D00007E0A10E456EBBDFC80E456EB8DF06D042
:1005E000A00E456EB4DFC00E456EB1DF9CDF000E7D
:1005F000016E26D0285222E129DF780E456EA7DF52
:10060000456AA5DF8D0E456EA2DF140E456E9FDF95
:10061000AF0E456E9CDF385207E0A10E456E97DFA6
:10062000C80E456E94DF06D0A00E456E90DFC00E5A
:10063000456E8DDF78DF000E016E02D0010E016E77
:1006400027EF03F037C028F0010E386EAFD7F3EF75
:1006500005F0282C2CD0396A3950070828E3F6DE3B
:10066000780E456E74DF456A72DF456A70DF100EE2
:10067000456E6DDF3950B0093A6E456E68DF53DF65
:10068000E5DE780E456E63DF400E456E60DF386A4A
:10069000376A385209E13750830806E3456A57DF65
:1006A000372AD8B4382AF5D73EDF392AD5D7285289
:1006B0002FE1CCDE780E456E4ADF456A48DF200E1A
:1006C000456E45DF456A43DF210E456E40DF456AD2
:1006D0003EDF7F0E456E3BDF220E456E38DF456AFA
:1006E00036DF070E456E33DF1EDFB0DE780E456E57
:1006F0002EDF400E456E2BDF386A376A385003080C
:1007000006E3456A24DF372AD8B4382AF7D70BDF47
:1007100090EF03F03EC029F03FC02AF0120099D7B5
:100720003E6A3F6AF7DFF4EF05F08B8E050E006E30
:10073000002EFED78B9C949C050E006E002EFED7DB
:100740008B9E050E006E002EFED7F1EF04F0948C08
:10075000050E006E002EFED78B8E050E006E002E4D
:10076000FED78B9E050E006E002EFED712008B9CCE
:10077000949C050E006E002EFED78B8E050E006E2B
:10078000002EFED78B9E050E006E002EFED71200A7
:100790003C6A3C50060809E33BAE02D0D8DF01D0EA
:1007A000E6DFD8903B363C2AF4D7F4EF04F03CC0A7
:1007B0003EF03DC03FF0AEDF120044504602F3CFA2
:1007C00001F0F4CF00F04702F350002645504602F6
:1007D000F3500020026E26EF04F040501F08D8B0FE
:1007E00055D034DE780E456EB2DE456AB0DE2A5052
:1007F000B009446E456EABDE2950060DF350020F72
:10080000416E41500F0B446E456EA1DE4138006EC3
:100810000F0E001600500F0B1009446E456E97DE48
:1008200082DE14DE780E456E92DE400E456E8FDE5F
:10083000200E405C426E436A435004081AE3456A46
:1008400042C044F0476A050E466EB7D702C045F075
:1008500001C044F043500124016E000E0220036EDB
:10086000015003C0F7FF23DC446E456E70DE432A5F
:10087000E3D7456A6CDE57DE292A2950150806E1C0
:10088000296A2A2A2A50080801E12A6A4BEF04F053
:100890003FC040F0A2D712000900F6CF3DF0F7CFDD
:1008A0003EF0F5CF3FF0F4DF3DC0F6FF3EC0F7FF6E
:1008B0003C2EF2D7AEEF04F03DBE0FD00F0E006E0F
:1008C0003C3800160A0E005C03E2300E002602D00F
:1008D0003D50002600C03FF0DBDF0F0E3C160A0E35
:1008E0003C5C02E2300E02D03D9E3D503C263CC0B6
:1008F0003FF0CEDF12003B6A948C050E006E002E96
:10090000FED78B8E050E006E002EFED782AC0AD06D
:10091000050E006E002EFED73B2A3B50640801E115
:1009200001D0F4D78B9E050E006E002EFED7050E6B
:10093000006E002EFED78B9C949C050E006E002E40
:10094000FED73B50640824E13C6A3D6A30DFB00EBC
:10095000F66E020EF76E080E3C6E9ED72DC03CF070
:10096000570E3D6EA9DF2EC03CF0570E3D6EA4DF42
:100970002FC03CF0570E3D6E9FDF040E3C6EFA0E0A
:100980003D6E51DD3C2EFBD7010E016E03D002D02F
:10099000000E016E12008B9C949C050E006E002EC2
:1009A000FED78B8E050E006E002EFED7948C050EA2
:1009B000006E002EFED712000900F5520CE0F6CFB3
:1009C0003BF0F7CF3CF0F5CF3FF062DF3BC0F6FFE6
:1009D0003CC0F7FFF1D7120038C02DF039C02FF01E
:1009E000A4D638C03BF0D4D6C2DE85DF015213E076
:1009F000D2DF3C6A3D6ADBDEC20EF66E020EF76E97
:100A0000DBDF020E3B6EFA0E3D6E0DDD3B2EFBD79B
:100A1000010E016E26D03A6A3A50070809E339AE52
:100A200002D095DE01D0A3DED89039363A2AF4D729
:100A300062DF015213E0AFDF3C6A3D6AB8DECC0EE4
:100A4000F66E020EF76EB8DF020E3B6EFA0E3D6ECA
:100A5000EADC3B2EFBD7010E016E03D09CDF000EBB
:100A6000016E12003C6A3D6AA2DE0C0EF66E030EA9
:100A7000F76EA2DF3C6A010E3D6E99DE220EF66E25
:100A8000030EF76E99DF3C6A020E3D6E90DE380E63
:100A9000F66E030EF76E90DF3C6A030E3D6E87DE46
:100AA0004E0EF66E030EF76E87DF3C6A040E3D6E47
:100AB0007EDE640EF66E030EF76E7EDF3C6A050E78
:100AC0003D6E75DE7A0EF66E030EF76E75DF3C6ACC
:100AD000060E3D6E6CDE900EF66E030EF76E6CDF4A
:100AE0003C6A070E3D6E63DEA60EF66E030EF76ED1
:100AF00063DF56EF06F0345006080AE2070E345C56
:100B0000010F386E0B0E3C6E38C03DF050DE08D041
:100B1000010E3424386E010E3C6E38C03DF047DEC5
:100B2000200E3F6EB5DE375006080AE2070E375C2E
:100B3000010F386E0B0E3C6E38C03DF038DE08D029
:100B4000010E3724386E010E3C6E38C03DF02FDEAA
:100B50003E0E3F6E9DDE37C034F01200F86AD09E24
:100B6000078E600ED36E9B8C9B9ED294010E276ED7
:100B70002C6A2B6A306A316A356A000E7E6EC1902B
:100B8000C192C194C1967F6E6C6A6B6A6D6A196A74
:100B9000040E1A6E010E1B6E020E1C6E030E1D6EED
:100BA000110E1E6E060E1F6E120E206E130E216E9B
:100BB000160E226E170E236E190E246E1A0E256E57
:100BC0001B0E266E010E326E336E346A366A600E6C
:100BD000D36E9B8C9B9ED2941DD4640E3D6E23DC01
:100BE00036C037F02FD59BD5F2CF37F0F29EA96AE9
:100BF000A69CA69EA680A85037BEF28E356E0F0E1C
:100C0000351635500D0816E2356AF250006EF29E28
:100C1000A96A35C0A8FFA69CA69EA6840F01550E02
:100C2000A76EAA0EA76EA682A6B2FED7A694005003
:100C3000F2120001036A3550190FE96E000E03200D
:100C4000EA6EEF50E009376EC00E386E37C039F0EB
:100C5000C3DE3C6A020E3D6EAADDBC0EF66E030ECC
:100C6000F76EAADE3C6A030E3D6EA1DDD20EF66E73
:100C7000030EF76EA1DE3C6A050E3D6E98DDE80EB0
:100C8000F66E030EF76E98DE3C6A060E3D6E8FDD43
:100C9000FE0EF66E030EF76E8FDE040E376EFA0E42
:100CA0003D6E13EC02F0372EFAD7DCD6C50ED56EAA
:100CB000D76A070ED66E0000F28AC00EF21235C057
:100CC00037F019DF036A3550190FE96E000E032063
:100CD000EA6EEF50E009376EC00E386E37C039F05B
:100CE0007BDE30522DE0352A35500E0801E1356AA1
:100CF000306AF250006EF29EA96A35C0A8FFA69C29
:100D0000A69EA6840F01550EA76EAA0EA76EA682F8
:100D1000A6B2FED7A6940050F21235C037F00001FB
:100D2000EADE036A3550190FE96E000E0320EA6E01
:100D3000EF50E009376EC00E386E37C039F04CDE28
:100D400031522EE0355203E10D0E356E01D03506DD
:100D5000316AF250006EF29EA96A35C0A8FFA69CC7
:100D6000A69EA6840F01550EA76EAA0EA76EA68298
:100D7000A6B2FED7A6940050F21235C037F000019B
:100D8000BADE036A3550190FE96E000E0320EA6ED1
:100D9000EF50E009376EC00E386E37C039F01CDEF8
:040DA000A0D70300D5
:020000040030CA
:0E00000020E81E1E0008890003C003E0034034
:00000001FF
;PIC18F14K50