ELPA DOP-502 その4 [電子]
だんだん疲れてきましたので、トランスで昇圧された12Vをコンデンサで平滑して使用することにしました。
LEDを3つ直列、電流制限抵抗を25Ω(75Ωを3つ並列)
コンデンサを入れなくても点灯しますが、発振しており電圧が安定しません。そのまま電流量、光量に直結します。表面実装でも搭載できますが、基板裏に下駄を履かせるつもりで、リードタイプを選択しました。
47μFもあれば十分でした。
端子には1.6mmのIV線です。
表面はさび止めと、リフレクタ代わりとしてハンダをぬりぬりしました。手作業です。
基板一枚で安定しないので、両サイドに硬質スポンジをいれて固定しています。
火入れ式
比較すると
普通です。尋常でないくらい明るいですけど。
1球につき1素子みたいなので、直視できないくらい眩しいわけではありませんがすごい勢いで照射します。
外観はそのへんの100均で買ってきました、と言っても通用するものになってしまいました。
山の思い出も薄れるような質感です。
車の中に入れておいて非常用に使えそうです。
LEDを3つ直列、電流制限抵抗を25Ω(75Ωを3つ並列)
コンデンサを入れなくても点灯しますが、発振しており電圧が安定しません。そのまま電流量、光量に直結します。表面実装でも搭載できますが、基板裏に下駄を履かせるつもりで、リードタイプを選択しました。
47μFもあれば十分でした。
端子には1.6mmのIV線です。
表面はさび止めと、リフレクタ代わりとしてハンダをぬりぬりしました。手作業です。
基板一枚で安定しないので、両サイドに硬質スポンジをいれて固定しています。
火入れ式
比較すると
普通です。尋常でないくらい明るいですけど。
1球につき1素子みたいなので、直視できないくらい眩しいわけではありませんがすごい勢いで照射します。
外観はそのへんの100均で買ってきました、と言っても通用するものになってしまいました。
山の思い出も薄れるような質感です。
車の中に入れておいて非常用に使えそうです。
タグ:LED
ELPA DOP-502 その3 [電子]
この回路を作るにあたってどうしても表面実装の部品を使いたいと思いました。(勝手に)
2枚を裏同士張り付ければ2面を発光させることができます。
考えること一週間。
がんばってなれないCADで図面を引きました。
結果
すぐできたような雰囲気ですが、試行錯誤の連続です。
LEDは秋月から
定格電流80mAの大電流です。在庫処分で増量中でした。
ただし、特殊な形状の上、周りはシリコン樹脂で覆われているだけです。
手ハンダの場合は350℃で3秒と記載されています。
なかなか難しい作業を強いられました。
火入れ式
触りながら温度を確認していると、、、
熱っ! onz
お湯が沸きそうな温度。1分ともちません。
三端子レギュレータは放熱フィンが必須。というのが常識と頭でわかっていてもそれを実感することはありませんでした。
入出力の電位差が11V、400mAの大電流。これだけ小さい基板では熱の逃げ場がなくLEDやコンデンサがやられてしまいます。
やったときのない熱計算を行いました。基板裏に2mm厚のアルミ板をめいっぱいに貼り付ければ何とかなるのでしょうが、それでは乾電池がいくらあっても足りません。
残念ながらお蔵入りです。
ごきげんよう、さようなら。
続く。
2枚を裏同士張り付ければ2面を発光させることができます。
考えること一週間。
がんばってなれないCADで図面を引きました。
結果
すぐできたような雰囲気ですが、試行錯誤の連続です。
LEDは秋月から
定格電流80mAの大電流です。在庫処分で増量中でした。
ただし、特殊な形状の上、周りはシリコン樹脂で覆われているだけです。
手ハンダの場合は350℃で3秒と記載されています。
なかなか難しい作業を強いられました。
火入れ式
触りながら温度を確認していると、、、
熱っ! onz
お湯が沸きそうな温度。1分ともちません。
三端子レギュレータは放熱フィンが必須。というのが常識と頭でわかっていてもそれを実感することはありませんでした。
入出力の電位差が11V、400mAの大電流。これだけ小さい基板では熱の逃げ場がなくLEDやコンデンサがやられてしまいます。
やったときのない熱計算を行いました。基板裏に2mm厚のアルミ板をめいっぱいに貼り付ければ何とかなるのでしょうが、それでは乾電池がいくらあっても足りません。
残念ながらお蔵入りです。
ごきげんよう、さようなら。
続く。
タグ:LED
ELPA DOP-502 その2 [電子]
問題はこの蛍光管です。FL4W。
LEDがすっかり浸透した今、この蛍光管を搭載している製品はほぼ皆無です。
だいぶ前には、電子工作の定番だったそうです。
発振した後、トランスで昇圧。
FL4W蛍光管をLEDにしているケースをググってみるとこの方しかいらっしゃいませんでした。
もともと12V昇圧回路を搭載しての内容だったのでLEDテープを使用されていました。
意匠もすばらしく、蛍光灯の雰囲気も出ています。
さて、考えられる構想は
1.4.5Vを12Vに昇圧し、12VでLEDを直列接続で駆動。
この限られたスペースで昇圧回路を自作するのは難しそうです。
薄い基板がケースに沿って成形されており、ぴったりはまるように収まっています。
2.昇圧回路を取っ払い、4.5VでLEDを駆動。
できれば、ほかの製品にも流用できるように設計したい。
なので
ブリッジダイオードで整流後、三端子レギュレータで5Vまで降圧。
トランスでは12Vまで昇圧しているようです。
レギュレータの入力は約11V、出力5Vと問題ありません。
なぜ5Vかというのは、手元にあったのが5Vのレギュレータだっただけのことです。
続く。
タグ:LED
ELPA DOP-502 その1 [電子]
これも山歩きに持って行ったものです。
テントのランタンに使用していました。
単三乾電池三本で駆動です。
いまではちょっと頼りなくなってきました。
そこで
3V用です。
一応メーカーに問い合わせてみました。
--------------------------------
さて、懐中電灯用LED交換球 3.0V P13.5S GA-LED3.0Vについて、
乾電池3本の懐中電灯に使用できるかどうか、とのご質問を頂戴しました。
http://www.elpab2b.com/shop/shopdetail.html?brandcode=000000002998&search=4901087191505&sort=
残念ながらこの製品は、乾電池2本用の懐中電灯にしか、
お使い頂けないのです。
また、ELPA製品では、乾電池3本の懐中電灯に使用できる電球は、
取扱がないのです。
せっかくお問合せを頂きましたのに、
お役に立てず申し訳ございません。
ご不明なことなどありましたら、ご遠慮なくお問い合せください。
どうぞよろしくお願いいたします。
--------------------------------
丁寧な回答ありがとうございました。ということでここから自己責任です。
おおかたLEDドライバが内蔵されていることを考えれば、多少電圧を上げても問題ないと想定しました。
実際6Vまで電圧を印加して電流値を測定されていた方もいらっしゃいます。
明るくていいですね。
たまには既製品もいいものです。
自作に意義がありますが、時間とコストを比較してこちらを選択しました。
問題はこっちです。
続く。
テントのランタンに使用していました。
単三乾電池三本で駆動です。
いまではちょっと頼りなくなってきました。
そこで
3V用です。
一応メーカーに問い合わせてみました。
--------------------------------
さて、懐中電灯用LED交換球 3.0V P13.5S GA-LED3.0Vについて、
乾電池3本の懐中電灯に使用できるかどうか、とのご質問を頂戴しました。
http://www.elpab2b.com/shop/shopdetail.html?brandcode=000000002998&search=4901087191505&sort=
残念ながらこの製品は、乾電池2本用の懐中電灯にしか、
お使い頂けないのです。
また、ELPA製品では、乾電池3本の懐中電灯に使用できる電球は、
取扱がないのです。
せっかくお問合せを頂きましたのに、
お役に立てず申し訳ございません。
ご不明なことなどありましたら、ご遠慮なくお問い合せください。
どうぞよろしくお願いいたします。
--------------------------------
丁寧な回答ありがとうございました。ということでここから自己責任です。
おおかたLEDドライバが内蔵されていることを考えれば、多少電圧を上げても問題ないと想定しました。
実際6Vまで電圧を印加して電流値を測定されていた方もいらっしゃいます。
明るくていいですね。
たまには既製品もいいものです。
自作に意義がありますが、時間とコストを比較してこちらを選択しました。
問題はこっちです。
続く。
タグ:LED
National BF-199BP [電子]
山歩き用に使っていたヘッドランプが頼りなくなってきました。
もうPanasonicブランドの写真しかありません。
Panasonic HPより
「高輝度白色LED+クリプトンミニチュア球採用 リチウム2WAYヘッドランプ BF-199BP
豆球とLEDの使い分け可能な2wayヘッドランプ
冬山に強い(-20℃)リチウム電池使用
リチウムCR123A 1個用」
当時はまだ高輝度LEDが珍しいころ、電源にCR123Aを使ってコンパクトに仕上げてあるこの製品に、「世の中進んだもんだな」と感心しました。
白色LEDとされていましたが、実際はずいぶんと青色が強かったです。
早速基板を取り出し、使いまわしできないか見てみます。
……「あっ」と思った瞬間、やってしまいました。テスタを当てているうちにショート onz
直す気概もないのでスルーホールのユニバーサル基板を加工して、それっぽく作ってみました。
ですので、基板を支えるベースの部分も加工します。
クリプトン球もLEDに変更するので、リフレクタも5mmLEDが入るように少し穴を広げます。
この製品は、LEDとクリプトン球の切り替えができるので、その機構を利用して明るさの強弱をつけてみることにしました。
かっこいいことを書いていますが、同じ回路を二つ作り、片方には電流制限ダイオードを挟んでみただけです。
ドライバICは秋月からCL0118B
電流制限ダイオードは20mAを使用しました。
一方はスポット的に照射し、中央のクリプトン球だったところは光拡散キャップをかぶせ、両方点灯するようにします。
普段使いは弱、探し物をするときは強にして使用するなどができそうです。
買えば今時のいいものがたくさんありますが、バンドもへたっていないし、今までの山の思い出も詰まっています。
結構うまくいってよかったです。
しかし、後ろから光が漏れてきます。ガラスエポキシのユニバーサル基板だからです。
対策は後ほど。
もうPanasonicブランドの写真しかありません。
Panasonic HPより
「高輝度白色LED+クリプトンミニチュア球採用 リチウム2WAYヘッドランプ BF-199BP
豆球とLEDの使い分け可能な2wayヘッドランプ
冬山に強い(-20℃)リチウム電池使用
リチウムCR123A 1個用」
当時はまだ高輝度LEDが珍しいころ、電源にCR123Aを使ってコンパクトに仕上げてあるこの製品に、「世の中進んだもんだな」と感心しました。
白色LEDとされていましたが、実際はずいぶんと青色が強かったです。
早速基板を取り出し、使いまわしできないか見てみます。
……「あっ」と思った瞬間、やってしまいました。テスタを当てているうちにショート onz
直す気概もないのでスルーホールのユニバーサル基板を加工して、それっぽく作ってみました。
ですので、基板を支えるベースの部分も加工します。
クリプトン球もLEDに変更するので、リフレクタも5mmLEDが入るように少し穴を広げます。
この製品は、LEDとクリプトン球の切り替えができるので、その機構を利用して明るさの強弱をつけてみることにしました。
かっこいいことを書いていますが、同じ回路を二つ作り、片方には電流制限ダイオードを挟んでみただけです。
ドライバICは秋月からCL0118B
電流制限ダイオードは20mAを使用しました。
一方はスポット的に照射し、中央のクリプトン球だったところは光拡散キャップをかぶせ、両方点灯するようにします。
普段使いは弱、探し物をするときは強にして使用するなどができそうです。
買えば今時のいいものがたくさんありますが、バンドもへたっていないし、今までの山の思い出も詰まっています。
結構うまくいってよかったです。
しかし、後ろから光が漏れてきます。ガラスエポキシのユニバーサル基板だからです。
対策は後ほど。
懐中電灯 LED改造 [電子]
今はなきNational BF-335
4.8V 0.3Aと刻印されています。素晴らしいです。いまどきこのような製品を販売することはないでしょうが、当時は感心したものです。
捨てるのもmottainaiので改造することにしました
リフレクターを切り外します。ルーターを使いました。
空いたところにLED基板を取り付けます。
切り外したリフレクターの枠に合わせて形を整え、
LEDを取り付けます。配線はメッキ線とラッピングワイヤーを使っています。
どうせ隠れるので導通と半田部分の接合を確認しただけです。
きれいさは全くありません。
ですので半田面をお見せすることはできません。
使用したLEDは
http://eleshop.jp/shop/g/gE16361/
品名:■ジャンク■★受注単位有★超高輝度LED 3φ 白
型番:NSPW312BST-DJK _
●順電圧(VF):3.6V
●順電流(IF):20mA
●輝度:3100mcd(メーカー標準値)
●レンズ:ウォータークリア
ジャンクと書かれていました。このような使用方法ですと問題は全くありません。
品質にばらつきがあるということでしょう。
今回は電流制限に、20mAの定電流ダイオードを使用しました。
高いのですが使いたかっただけです。
完成です
1k位使ってしまいました。これだけあればハイパワーなLED懐中電灯を購入できること間違いなしですが、自分で光量を決めて、イメージ通りに完成すると少しうれしくなります。
4.8V 0.3Aと刻印されています。素晴らしいです。いまどきこのような製品を販売することはないでしょうが、当時は感心したものです。
捨てるのもmottainaiので改造することにしました
リフレクターを切り外します。ルーターを使いました。
空いたところにLED基板を取り付けます。
切り外したリフレクターの枠に合わせて形を整え、
LEDを取り付けます。配線はメッキ線とラッピングワイヤーを使っています。
どうせ隠れるので導通と半田部分の接合を確認しただけです。
きれいさは全くありません。
ですので半田面をお見せすることはできません。
使用したLEDは
http://eleshop.jp/shop/g/gE16361/
品名:■ジャンク■★受注単位有★超高輝度LED 3φ 白
型番:NSPW312BST-DJK _
●順電圧(VF):3.6V
●順電流(IF):20mA
●輝度:3100mcd(メーカー標準値)
●レンズ:ウォータークリア
ジャンクと書かれていました。このような使用方法ですと問題は全くありません。
品質にばらつきがあるということでしょう。
今回は電流制限に、20mAの定電流ダイオードを使用しました。
高いのですが使いたかっただけです。
完成です
1k位使ってしまいました。これだけあればハイパワーなLED懐中電灯を購入できること間違いなしですが、自分で光量を決めて、イメージ通りに完成すると少しうれしくなります。
タグ:LED
PWM [電子]
PICマイコン PIC18F24J10-I/SO
ライタ Pickit2
開発環境はMikro C 8.2です。
CCPが2chあるのでADCと組み合わせて、それっぽいものをつくってみました。
/*
* Project name:
PWM
* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/
void main() {
unsigned int AN0;
unsigned int AN1;
CMCON = 0x07;
ADCON1 = 0b00001110;
ADCON2 = 0b10001010;
TRISA = 0b00101111;
TRISB = 0;
LATB = 0;
TRISC = 0;
PWM1_Init(10000);
PWM2_Init(10000);
PWM1_Start();
PWM2_Start();
do {
AN0 = Adc_Read(0) >> 2;
AN1 = Adc_Read(1) >> 2;
PWM1_Change_Duty(AN0);
PWM2_Change_Duty(AN1);
} while(1);
}
動作確認が取れましたので基板作成です。
EAGLEを数年ぶりに使用しようとしていますが、ほとんど忘れています。
最近のPCBCADは苦手です。
ただPADを配置し、手配線をするCADが懐かしいです。(^^ゞ
ライタ Pickit2
開発環境はMikro C 8.2です。
CCPが2chあるのでADCと組み合わせて、それっぽいものをつくってみました。
ダウンロードは🎥こちら
/*
* Project name:
PWM
* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/
void main() {
unsigned int AN0;
unsigned int AN1;
CMCON = 0x07;
ADCON1 = 0b00001110;
ADCON2 = 0b10001010;
TRISA = 0b00101111;
TRISB = 0;
LATB = 0;
TRISC = 0;
PWM1_Init(10000);
PWM2_Init(10000);
PWM1_Start();
PWM2_Start();
do {
AN0 = Adc_Read(0) >> 2;
AN1 = Adc_Read(1) >> 2;
PWM1_Change_Duty(AN0);
PWM2_Change_Duty(AN1);
} while(1);
}
動作確認が取れましたので基板作成です。
EAGLEを数年ぶりに使用しようとしていますが、ほとんど忘れています。
最近のPCBCADは苦手です。
ただPADを配置し、手配線をするCADが懐かしいです。(^^ゞ
ADC [電子]
PICマイコン PIC18F24J10-I/SO
ライタ Pickit2
開発環境はMikro C 8.2です。
今後の使用環境では4つのアナログセンサを予定していますので、動作確認のため作成しました。
Configuration Settingは適当です。あてにしないでください。
/*
* Project name:
ADC
* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/
unsigned int cnt;
void main() {
unsigned int AN0;
int cnt = 0;
int flag = 0;
CMCON = 0x07;
ADCON1 = 0b00001110;
ADCON2 = 0b10001010;
TRISA = 0b00101111;
TRISB = 0;
LATB = 0;
TRISC = 0;
do {
if(PORTA.F5 == 0 && flag == 0){
flag = 1;
cnt++;
if(cnt > 3)cnt =0;
}
if(PORTA.F5 == 1 && flag == 1)flag = 0;
AN0 = Adc_Read(cnt) >> 2;
LATB = AN0;
} while(1);
}
ライタ Pickit2
開発環境はMikro C 8.2です。
今後の使用環境では4つのアナログセンサを予定していますので、動作確認のため作成しました。
Configuration Settingは適当です。あてにしないでください。
ダウンロードは🎥こちら
/*
* Project name:
ADC
* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/
unsigned int cnt;
void main() {
unsigned int AN0;
int cnt = 0;
int flag = 0;
CMCON = 0x07;
ADCON1 = 0b00001110;
ADCON2 = 0b10001010;
TRISA = 0b00101111;
TRISB = 0;
LATB = 0;
TRISC = 0;
do {
if(PORTA.F5 == 0 && flag == 0){
flag = 1;
cnt++;
if(cnt > 3)cnt =0;
}
if(PORTA.F5 == 1 && flag == 1)flag = 0;
AN0 = Adc_Read(cnt) >> 2;
LATB = AN0;
} while(1);
}
TMR0 [電子]
お盆の家族サービスから始まり、先週までの仕事がやっと完了して一息つけるようになってきました。
久しぶりの休日。ひたすら眠いです。
放置されていたプログラムに手をつけます。
PICマイコン PIC18F24J10-I/SO
ライタ Pickit2
開発環境はMikro C 8.2です。
タイマー0をつかった1秒インターバルタイマです。割り込みを使ったタイマーでこのような使い方をすることはまずありませんが練習だと思ってやっています。割り込みの設定はどうしても忘れてしまうのでコメント文を多めに書いています。Configuration Settingは適当です。あてにしないでください。
/*
* Project name:
TMR0 (LED_Blinking)
* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/
void main() {
CMCON = 0x07; //No Comparator
ADCON1 = 0x0F; // set all PORTB pins as digital
TRISA = 0; //No use
TRISB = 0; //All Output
LATB = 0;
TRISC = 0; //No use
T0CON = 0x87; // Set TMR0 in 16bit mode, assign prescaler to TMR0
TMR0H = 0xB3; // Timer0 initial value
TMR0L = 0xB5; // Timer0 initial value
INTCON = 0xA0; // Enable ALL interrupt
while(1){}; // endless loop
}
void interrupt() {
if(INTCON.TMR0IF) {
INTCON.TMR0IF = 0; //TMR0 Interrupt Enable Clear
TMR0H = 0xB3; // Timer0 initial value
TMR0L = 0xB5; // Timer0 initial value
LATB = ~LATB; // Toggle PORTB LEDs
}
}
久しぶりの休日。ひたすら眠いです。
放置されていたプログラムに手をつけます。
PICマイコン PIC18F24J10-I/SO
ライタ Pickit2
開発環境はMikro C 8.2です。
タイマー0をつかった1秒インターバルタイマです。割り込みを使ったタイマーでこのような使い方をすることはまずありませんが練習だと思ってやっています。割り込みの設定はどうしても忘れてしまうのでコメント文を多めに書いています。Configuration Settingは適当です。あてにしないでください。
ダウンロードは🎥こちら
/*
* Project name:
TMR0 (LED_Blinking)
* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/
void main() {
CMCON = 0x07; //No Comparator
ADCON1 = 0x0F; // set all PORTB pins as digital
TRISA = 0; //No use
TRISB = 0; //All Output
LATB = 0;
TRISC = 0; //No use
T0CON = 0x87; // Set TMR0 in 16bit mode, assign prescaler to TMR0
TMR0H = 0xB3; // Timer0 initial value
TMR0L = 0xB5; // Timer0 initial value
INTCON = 0xA0; // Enable ALL interrupt
while(1){}; // endless loop
}
void interrupt() {
if(INTCON.TMR0IF) {
INTCON.TMR0IF = 0; //TMR0 Interrupt Enable Clear
TMR0H = 0xB3; // Timer0 initial value
TMR0L = 0xB5; // Timer0 initial value
LATB = ~LATB; // Toggle PORTB LEDs
}
}
Knight Rider [電子]
まぎらわしいタイトルです。
PICマイコン PIC18F24J10-I/SO
ライタ Pickit2
開発環境はMikro C 8.2です。
はじめての低電圧コア?です。
VDDCOREに悩まされました。データシートはよく読めということを改めて痛感しました。(いつものことですが(-_-;))
動作記念にハローワールド的なものを作りました。どなたか存じ上げませんが、ネットに上がっていたのを流用させていただきました。ありがとうございます。
PLLは使用していません。手元にあった水晶をつかっただけで理由はありません。
回路図をアップする気概もなく参考になりませんが、これからADC、TMR0、PWMを動作確認後、実戦配備します?
Configuration Settingは適当です。あてにしないでください。
Brown-out Reset は今後の使用する環境を考えOFFにしております。
/*
* Project name:
LED (Simple 'Hello World' project)
* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/
void main() {
const int X = 50;
CMCON = 0x07;
ADCON1 = 0x0F;
TRISA = 0;
TRISB = 0;
LATB = 0;
TRISC = 0;
do {
LATB = 0B00000001;
Delay_ms(X);
LATB = 0B00000010;
Delay_ms(X);
LATB = 0B00000100;
Delay_ms(X);
LATB = 0B00001000;
Delay_ms(X);
LATB = 0B00010000;
Delay_ms(X);
LATB = 0B00100000;
Delay_ms(X);
LATB = 0B01000000;
Delay_ms(X);
LATB = 0B10000000;
Delay_ms(X);
LATB = 0B10000000;
Delay_ms(X);
LATB = 0B01000000;
Delay_ms(X);
LATB = 0B00100000;
Delay_ms(X);
LATB = 0B00010000;
Delay_ms(X);
LATB = 0B00001000;
Delay_ms(X);
LATB = 0B00000100;
Delay_ms(X);
LATB = 0B00000010;
Delay_ms(X);
LATB = 0B00000001;
Delay_ms(X);
} while(1);
}
PICマイコン PIC18F24J10-I/SO
ライタ Pickit2
開発環境はMikro C 8.2です。
はじめての低電圧コア?です。
VDDCOREに悩まされました。データシートはよく読めということを改めて痛感しました。(いつものことですが(-_-;))
動作記念にハローワールド的なものを作りました。どなたか存じ上げませんが、ネットに上がっていたのを流用させていただきました。ありがとうございます。
PLLは使用していません。手元にあった水晶をつかっただけで理由はありません。
回路図をアップする気概もなく参考になりませんが、これからADC、TMR0、PWMを動作確認後、実戦配備します?
ダウンロードは🎥こちら
Configuration Settingは適当です。あてにしないでください。
Brown-out Reset は今後の使用する環境を考えOFFにしております。
/*
* Project name:
LED (Simple 'Hello World' project)
* Test configuration:
MCU: P18F24J10
Oscillator: HS, 20.0000 MHz
Configuration Setting
OSC = HS ; FCMEN = OFF ; PWRT = OFF ; BOREN = OFF ; WDT = OFF
MCLRE = OFF ; PBADEN = OFF ; CCPMX = PORTC ; SEVREN = OFF
XINST = OFF ; DEBUG = OFF ; CodeProtectin = ALL OFF
* NOTES:
None.
*/
void main() {
const int X = 50;
CMCON = 0x07;
ADCON1 = 0x0F;
TRISA = 0;
TRISB = 0;
LATB = 0;
TRISC = 0;
do {
LATB = 0B00000001;
Delay_ms(X);
LATB = 0B00000010;
Delay_ms(X);
LATB = 0B00000100;
Delay_ms(X);
LATB = 0B00001000;
Delay_ms(X);
LATB = 0B00010000;
Delay_ms(X);
LATB = 0B00100000;
Delay_ms(X);
LATB = 0B01000000;
Delay_ms(X);
LATB = 0B10000000;
Delay_ms(X);
LATB = 0B10000000;
Delay_ms(X);
LATB = 0B01000000;
Delay_ms(X);
LATB = 0B00100000;
Delay_ms(X);
LATB = 0B00010000;
Delay_ms(X);
LATB = 0B00001000;
Delay_ms(X);
LATB = 0B00000100;
Delay_ms(X);
LATB = 0B00000010;
Delay_ms(X);
LATB = 0B00000001;
Delay_ms(X);
} while(1);
}