2017 (c) S.Yoshimoto
2019 Dec. Update
プリント基板の設計(作図)にはRSコンポーネンツ社が無償配布しているプリント基板設計アプリ DesignSparkを使用しました。
DesignSparkは無償ですが下記の特色を持ち、使い易いアプリだと感じます。
部品ライブラリが多いとはいえ、ヘッドホン端子や放熱器を付けたTr等の汎用品ではない部品は部品情報を作成しなければなりません。
これら部品情報の作成には多くの労力を要します。
下図はDesignSparkでの作図画面です。
DesignSparkでの作図が完成したら、ガーバー形式でファイルに出力します。
ガーバー形式ファイルをプリント基板製造会社に送り、プリント基板を製造してもらいます。
下図は出来上がったプリント基板です。
プログラムの作成にはマイクロチップ社が提供する開発環境MPLAB_Xとプログラム書き込み・接続用ハードPICKit3を用います。
開発環境MPLAB_Xは無償、PICKit3は5000円程度です。
MPLAB_Xは
を備えます。
下図はPIC16F1823のPin機能を設定するGUIです。
5つのPinをAD変換入力に、2つのPinをデジタル出力に指定しています。
この設定により、機能設定初期化の関数とAD変換入力関数が自動生成されます。
この他にもタイマーとその割り込み処理もGUIで設定し、タイマー処理の関数を自動生成しています。
自動生成されたプログラムに保護機能の処理を書き加えて完成させます。
下記は私が書き加えたプログラムの主要部分です。
詳細設計の項のフローチャートをC言語で記述しています、わずか40行たらずです。
77 while (1) 78 { 79 // Add your application code 80 Pflg = 0; 81 //sense Power supply voltage 82 ttt = ADC_GetConversion( channel_AN2 ) ; 83 if( ttt < U_MINPSV ) Pflg = 1; 84 // if( ADC_GetConversion( channel_AN2 ) < U_MINPSV ) Pflg = 1; 85 86 //sense Lout- offset 87 offsetv = ADC_GetConversion( channel_AN4 ) ; 88 if( offsetv > U_MAXOFFSETV ) Pflg = 1; 89 if( offsetv < U_MINOFFSETV ) Pflg = 1; 90 91 //sense Lout+ offset 92 offsetv = ADC_GetConversion( channel_AN5 ) ; 93 if( offsetv > U_MAXOFFSETV ) Pflg = 1; 94 if( offsetv < U_MINOFFSETV ) Pflg = 1; 95 96 //sense Rout- offset 97 offsetv = ADC_GetConversion( channel_AN6 ) ; 98 if( offsetv > U_MAXOFFSETV ) Pflg = 1; 99 if( offsetv < U_MINOFFSETV ) Pflg = 1; 100 101 //sense Rout+ offset 102 offsetv = ADC_GetConversion( channel_AN7 ) ; 103 if( offsetv > U_MAXOFFSETV ) Pflg = 1; 104 if( offsetv < U_MINOFFSETV ) Pflg = 1; 105 106 if( Pflg == 1 ) { 107 RC4 = 0x0 ; //Cut Output 108 __delay_ms( 2000 ) ; 109 } 110 else { 111 RC4 = 0x1 ; //Connect Output 112 RC5 = 0x1 ; //Power LED ON 113 __delay_ms( 100 ) ; 114 } 115 }
例えば
ttt = ADC_GetConversion( channel_AN2 ) ;
はGUIでAD変換AN2に設定したPinから電圧を読み取り、電圧値を変数tttに格納します。
ADC_GetConversion()は自動生成されたAD変換入力関数です。
RC4 = 0x1 ; //Connect Output
はGUIでデジタル出力に設定したRC4ピンに1(5V)を出力します。
自動生成されたプログラムの内、処理を書き加えて完成させた main.c と tmr0.c を掲載します。
書き加えた部分は文字の色を変えています。
main.c
tmr0.c
基板の組み立て
表面実装部品から背の低い順に基板に半田付けします。
デュアルMOSFETとデュアルTrは小型なので慎重に取り付けます。
下図は全部品を取り付けた基板です。
全体の組み立て
筺体に入力端子、電源ソケット、電源スイッチ、電源トランス、基板を取り付けて配線を行います。
下図は組み立てが完了したアンプの内部写真です。