お客様の案件で原理試作を造る事に成りました
本来、風量パルスが外部から来るのですが原理試作では
内部にSG(Pulse Generator)を実装してスイッチでどちらでも
使える様にして置くと便利な訳です
で、以前 555 timer で組んでいたのですが何か能が無いと思い
折角持って居るんだからPICを遣おうと思い立ちました
こんな波形が出ます、50Hz 固定です。
↓現物です
回路図、きたないのはご容赦
RA0=High / Low でデジトラをドライブしLチカさせて居ますが
最終的にはPLCの入力端子へと繋ぎます、だから相手はDC24V
ですね、で、お気づきでしょうが 24V → 5V のレギュレータ
が無いです、ツェナーダイオードでスライスして5Vにしてます
良ゐ子は真似しないで下さい
↓
最終的にはPLCの入力端子へと繋ぎます、だから相手はDC24V
ですね、で、お気づきでしょうが 24V → 5V のレギュレータ
が無いです、ツェナーダイオードでスライスして5Vにしてます
良ゐ子は真似しないで下さい
↓
この回路図は以前 555 Timerで造ったSG(Pulse Generator)です
ご参考まで、本当に良く出来たICですよね応用範囲が凄いPWMとか
出来ちゃうじゃないですか
↓
ご参考まで、本当に良く出来たICですよね応用範囲が凄いPWMとか
出来ちゃうじゃないですか
↓
ソースコードはまたパクリです、下記のブログから拝借致しました。
meideru blog
この場を借りて御礼申し上げます、で、少しいじってます。
meideru blog
この場を借りて御礼申し上げます、で、少しいじってます。
/* * File: 3243_LVD10W_PULSE_SG.c * Author: maru * 50Hz Pluse Generator * Created on 2019/12/10, 16:38 */ #include#pragma config FOSC = INTOSCIO #pragma config WDTE = OFF #pragma config PWRTE = ON #pragma config MCLRE = OFF #pragma config CP = OFF #pragma config CPD = OFF #pragma config BOREN = OFF #pragma config IESO = OFF #pragma config FCMEN = OFF #define _XTAL_FREQ 4000000 int main(void) { OSCCON=0b01101000; ANSEL=0b00000000; TRISIO=0b00000000; while(1) { //GPIO=0b00000000; GP0 = 0; __delay_ms(10); //GPIO=0b00000001; GP0 = 1; __delay_ms(10); } return(0); } //↑ここまで
GPIO部分は GP0 とした方が何番ピンかすぐわかるので書き替えました
周波数変えるには __delay_ms(10); 変えるだけですね、恐ろしく
明快です、書き込みは Pickit3 を遣いました。
周波数変えるには __delay_ms(10); 変えるだけですね、恐ろしく
明快です、書き込みは Pickit3 を遣いました。