スマホで電波時計を合わせる為の補助装置

次から次へとトラブルが発生します。今回は電波時計がリセットされてしまい、JJYで時刻を合わせようとしても二階の窓際でも受信せず。
スマホでJJYの電波を模擬的に出し、スマホの時刻に電波時計を合わせるアプリを使いましたが、電波を拾いませんでした。

このアプリはスマホの音声回路から漏れる電磁波をJJYの電波代わりにするものです。
スマホの音声回路はJJYの40KHzを出せないようで、その1/3の13.3KHzを用いて、その三次高調波を期待しているようです。

ところが、13.3KHzの波形がキレイ過ぎて高調波不足だったようです。

そこで、思い切り歪むように回路を作り試した所、無事時計は正確な日時に合いました。


スマホで電波時計を合わせる為の補助装置
毎度の見苦しさです。 200mHのコイルは電磁石のものを流用しています。


スマホ(アンドロイド)のアプリは「JJYエミュ」です。作者さん有難うございます。


スマホで電波時計を合わせる為の補助装置
黄色(CH1)がスマホのイヤフォン端子からの出力(キレイな正弦波) 青色(CH2)は2SC1815のコレクタの波形(歪大)


目的通り、歪大となりました。
※コイルにコンデンサーをパラに接続し、40KHzで共振させればいいと思いましたが、必要に迫られたら実施する事にして今回はパス。


スマホで電波時計を合わせる為の補助装置
時間軸を遅くするとこんな感じです。


メモ


模擬電波の到達距離は50cm程度です。家中の電波時計を合わせるという訳にはいきません。
その様な製品もありますが、結構な値段です。

今回利用させて貰ったアプリはNTPサーバーやGPSから時刻を貰うものではなく、スマホのシステム時刻を利用しているようです。
したがって、利用する前にはスマホの時刻を正しく合わせておく必要があります。
テストに使用したN-03Eでは2.3秒ずれており、これが反映されました。
スマホの「設定」「日付と時刻」で一旦、「日付と時刻の自動設定」のチェックを外し、手動で時刻を大きくずらした後に、「日付と時刻の自動設定」のチェックを入れ直す事で時刻が同期しました。
ただし、それでも同期しない場合があり、その時はスマホの再起動で同期しました。

しかし、スマホのアプリは色々ありますね。これもユーザーアプリの利用を広く開放したおかげですね。囲い込みは結局衰退のみという教訓ですかね。




さるところから漏れたメールアドレス宛に大量のスパムメールが毎日届きます。
引っ掛ける為の創意工夫に満ちたもの、偽装などバリエーションは豊富です。
そして、おかしな日本語、その他外国語など言語も色々。なのに、日本の連休中はスパムメールも届かないのはなぜ。
発信地は外国だけど発信者は日本在住で、しかも会社員のように連休もあるんですね。
スポンサーサイト

マイクロ波レーダーセンサーRCWL-0516スイッチモジュールヒューマンインダクションボード検出器(ドップラーセンサー)

アマゾンで

KKHMF マイクロ波レーダーセンサーRCWL-0516スイッチモジュールヒューマンインダクションボード検出器

を買ってみました。195円でした。(5個450円で売っている所もありました)

LTspice回路シュミレータによるLPFのシュミレーション(ドップラー動体検知用)」でドップラー動体検知用の回路を検討していましたが、それがバカみたいに感じる、手軽さと安さです。

秋月の「ドップラー動体検知キット」や作ろうとしていたものは感度が高いものを目指していましたが、こちらの製品は
車庫などによく付けてある人や車が進入するとライトが点灯する人感センサーなどに使われているもののようです。
CDSをつけると、暗い時のみ動作するようにしたり、コンデンサの追加により点灯時間を長くしたりできるようです。

そんな用途の為か、感度は中程度です。
忍者は検出できません。用心深く進入してくる素人なら検出できる程度です。

屋内用での人感センサーとして下図の様な回路で試しに作成してみました。
今回買ったセンサーは動体を検出すると数秒間正のパルスが出力されます。
また、動体が移動し続けているとパルスはその期間延長されれ、動体停止後数秒でパスルも停止します。
PICと315MHzの無線送信モジュールで信号を送り、受信側(今回紹介なし)でブザーを鳴らしています。
便利ですよ。それに電池式なので何処にでも設置できます。
検知範囲は5m位でした。

マイクロ波レーダーセンサーRCWL-0516スイッチモジュールヒューマンインダクションボード検出器(ドップラーセンサー)

毎度、見苦しい図ですみません。

超ローテク動体検知 本番機(監視カメラ)

監視カメラのモニター液晶CDSを貼り付けるという超ローテクの動体検知機を作成しました。

超ローテク動体検知 本番機(監視カメラ)






超ローテク動体検知 本番機(監視カメラ)
回路図


■CDS
検知用のCDSは二個直列に繋いでいます。(回路図のCDS-LとCDS-U)
センスポイントは最大10個までです。

■HPF
IC3Aの2ピンの100uFはプロトタイプでテストした結果、今回の用途では10uFが適当だったのでセラミック10uFにしています。

■コンパレータ(IC3C,IC3D)
上振れ用と下振れ用の二種類を用意しました。

■ブザー
市販の圧電ブザーでいいのですが、私には周波数が高くて聞こえないので800Hz程度のブザーをPICで作成しました。
スピーカーはPCを破棄した時にとっておいたマーザーボード用のスピーカーです。


超ローテク動体検知 本番機(監視カメラ)
CDSを四ヶ所付けた場合に一つの動体が通過した時の波形


水色:CDSからの信号を増幅した結果 黄色:上振れ検出用コンパレータの敷居電圧 マゼンタ:下振れ用



/* 
 * File:   main.c
 * Author: test
 *
 * Created on 2017/12/15
 */

/*
 * Config 設定上の注意
 * ICD3によるデバッグを行う場合、WDTは無効にする必要がある。
 * ICD3によるデバッグを行う場合、LVPは無効にする必要がある。
 */

// PIC16F18313 Configuration Bit Settings
// 'C' source line config statements
// CONFIG1
#pragma config FEXTOSC = OFF    // FEXTOSC External Oscillator mode Selection bits (Oscillator not enabled)
#pragma config RSTOSC = HFINT32 // Power-up default value for COSC bits (HFINTOSC with 2x PLL (32MHz))
#pragma config CLKOUTEN = OFF   // Clock Out Enable bit (CLKOUT function is disabled; I/O or oscillator function on OSC2)
#pragma config CSWEN = ON       // Clock Switch Enable bit (Writing to NOSC and NDIV is allowed)
#pragma config FCMEN = ON       // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled)

// CONFIG2
#pragma config MCLRE = ON       // Master Clear Enable bit (MCLR/VPP pin function is MCLR; Weak pull-up enabled )
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config WDTE = OFF       // Watchdog Timer Enable bits (WDT disabled; SWDTEN is ignored)
#pragma config LPBOREN = OFF    // Low-power BOR enable bit (ULPBOR disabled)
#pragma config BOREN = ON       // Brown-out Reset Enable bits (Brown-out Reset enabled, SBOREN bit ignored)
#pragma config BORV = LOW       // Brown-out Reset Voltage selection bit (Brown-out voltage (Vbor) set to 2.45V)
#pragma config PPS1WAY = ON     // PPSLOCK bit One-Way Set Enable bit (The PPSLOCK bit can be cleared and set only once; PPS registers remain locked after one clear/set cycle)
#pragma config STVREN = ON      // Stack Overflow/Underflow Reset Enable bit (Stack Overflow or Underflow will cause a Reset)
#pragma config DEBUG = OFF      // Debugger enable bit (Background debugger disabled)

// CONFIG3
#pragma config WRT = OFF        // User NVM self-write protection bits (Write protection off)
#pragma config LVP = OFF        // Low Voltage Programming Enable bit (HV on MCLR/VPP must be used for programming.)

// CONFIG4
#pragma config CP = OFF         // User NVM Program Memory Code Protection bit (User NVM code protection disabled)
#pragma config CPD = OFF        // Data NVM Memory Code Protection bit (Data NVM code protection disabled)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

#include <xc.h>



#include <stdio.h>
#include <stdlib.h>

#define _XTAL_FREQ 1000000

/*
 * 
 */

void interrupt intservice(){
    INTCONbits.GIE = 0;
    PIE0 = 0x00;    //bit4:IOCIE: Interrupt-on-Change Interrupt Enable bit
    IOCAF = 0x00;   //INTERRUPT-ON-CHANGE PORTA FLAG REGISTER
    asm("MOVF PORTA,W");
    
    int t = 751*2;
    for (int i=0;i<t;i++){
        PORTAbits.RA5 = 1;
        __delay_us(625);
        PORTAbits.RA5 = 0;
        __delay_us(625);
    }
    
    PIR0 = 0x00;
    PIE0 = 0x10;    //bit4:IOCIE: Interrupt-on-Change Interrupt Enable bit
    INTCONbits.GIE = 1;
}

int main(int argc, char** argv) {
    
    //INT
    INTCON = 0x01;  //GIE,PEIE:0; INTEDG:rsing;
    
    //I/O PORT
    PORTA = 0x00;   //Clear PORTA
    LATA = 0x00;    //Clear PORTA DATA LATCH REGISTER
    ANSELA = 0x00;  //digital I/O
    TRISA = 0x14;   //RA4,RA2:input; RA5:output 
    WPUA = 0x00;    //Pull-up disabled
    
    //OSC
    OSCCON1 = 0x60; //OSCILLATOR CONTROL REGISTER  NOSC:110 HFINTOSC(1 MHz)

    OSCFRQ = 0x0;   //OSCFRQ: HFINTOSC FREQUENCY SELECTION  HFFRQ<3:0> 0000:1MHz(NOSC = 110) 247.8uA
//    OSCFRQ = 0x1;   //OSCFRQ: HFINTOSC FREQUENCY SELECTION  HFFRQ<3:0> 0001:2MHz(NOSC = 110) 356.7uA
//    OSCFRQ = 0x3;   //OSCFRQ: HFINTOSC FREQUENCY SELECTION  HFFRQ<3:0> 0011:4MHz(NOSC = 110) 572.1uA
//    OSCFRQ = 0x4;   //OSCFRQ: HFINTOSC FREQUENCY SELECTION  HFFRQ<3:0> 0100:8MHz(NOSC = 110) 966.1uA
//    OSCFRQ = 0x5;   //OSCFRQ: HFINTOSC FREQUENCY SELECTION  HFFRQ<3:0> 0101:12MHz(NOSC = 110) 1.3mA
//    OSCFRQ = 0x6;   //OSCFRQ: HFINTOSC FREQUENCY SELECTION  HFFRQ<3:0> 0110:16MHz(NOSC = 110) 1.6mA
//    OSCFRQ = 0x7;   //OSCFRQ: HFINTOSC FREQUENCY SELECTION  HFFRQ<3:0> 0111:32MHz(NOSC = 110) 3.2mA
    
    //INT
    PIE0 = 0x10;    //bit4:IOCIE: Interrupt-on-Change Interrupt Enable bit
    PIE1 = 0x00;
    PIE2 = 0x00;
    PIE3 = 0x00;
    PIE4 = 0x00;
    IOCAPbits.IOCAP2 = 1;   //INTERRUPT-ON-CHANGE PORTA POSITIVE EDGE REGISTER
    IOCAPbits.IOCAP4 = 1;   //INTERRUPT-ON-CHANGE PORTA POSITIVE EDGE REGISTER
    
    PORTAbits.RA5 = 0;
    PIR0 = 0x00;
    INTCONbits.GIE = 1;
    while (1) {
        NOP();
        NOP();
        NOP();
    }
    
    return (EXIT_SUCCESS);
}

ブザー用のPICソース





■使用したCDSはアマゾンで30個183円のものです。
暗抵抗は10Mオーム超でモニターに付けた時は1~4Kオーム程度のもの。

■CDSへの配線
CDSをモニタに貼り付ける為、視認性が落ちるので配線用には0.1mmのウレタン線を使いました。
ハンダがやりにくかったのですが、下記写真上部のラッピングツールを使って、ウレタン線を巻きつけてからハンダ付する事により、ウレタンを予め剥がさなくても簡単に接続出来ました。
ただし、気がついたのは最後の一個の時です。
このラッピングツールは前世紀で使っていたもので、今世紀になってからは使っていませんでした。ラッピングって保守以外で今でも使っているのですかね。

超ローテク動体検知 本番機(監視カメラ)

■配線材
ニユバーサル基板の配線は100均の0.28mmの銅線(塗装なし)を使いました。
いままで、錫メッキ線を使っていましたが、半田がうまく乗った事はありません。銅線はやりやすい。

ウレタン線も被覆剥きなしで直接ハンダ出来るというものの、時々失敗していたので、事前にハンダで被覆を焼き除いていましたが安定して剥がせません。以前はるつぼでハンダを溶かし、これにウレタン線の先端を浸けて剥がしていました。きれいに仕上がるものの面倒なのが欠点です。

■基板
アマゾンで高品質を謳う10枚135円のものです。超低品質ですが使えます。
取り付け穴は3mmでなく、2mmなので2mmネジ(高額)の代わりに2mmの園芸用のビニール被覆の針金で代用しました。



超ローテク動体検知(監視カメラ)

ドップラー動体検知を作ってみようと思って半分は出来ていましたが、面倒でやる気が起きないで、それこそ嫌になっていた時に、
小型低価格の監視カメラのモニターが思いの外きれいに映る事が分かりました。

それを見ていて、「モニター上の動体を検知したい所に光センサーを貼り付ければ簡単なのでは」と思い浮かび、やって見たのがこれです。

超ローテク動体検知(監視カメラ)

お見苦しいのはご勘弁ください。
モニターの液晶に保護用のプラ板(カセットテープのケース)を貼り、その上にCDSをセロテープで貼ってあります。
本番用は再剥離可能な接着剤かグルーガンで貼り付ける予定です。



回路図はこちら、これも大変お見苦しくこれもご勘弁ください。

超ローテク動体検知(監視カメラ)


モニター上に貼り付け見にくくなる場合は、センサー専用にもう一つモニターを設けそれを密閉するのもいいかと思います。
なにしろ、今らな1265円+送料無料なので。


感想


結構、実用的です。
OPアンプなので、初段を加算回路にして複数箇所センスするようにしたものを本番用に作ろうと思っています。

LTspice回路シュミレータによるLPFのシュミレーション(ドップラー動体検知用)

現在、秋月の「ドップラー動体検知キット」を使っていますが、アマゾンで420円で買った「HiLetgo HB100 マイクロ波ドップラー レーダー検出センサ 無線センサモジュール 10.525GHz [並行輸入品]」でもう一台作ってみようと思っています。

秋月のはリレー接点出力の回路付ですが、アマゾンのは無線モジュールのみなので、回路部分は自作する必要があります。
その為に、フィルター(LPFまたはBPF)回路の目処をつけなくてはいけないので、LTspice回路シュミレータで回路の見当をつける事にしました。

秋月製の構成


秋月のキットでは、プリアンプ→電源ノイズフィルター(BPF)→ローパスフィルター(LPF)→コンパレータとなっています。


このままでは面白くないので、LPFの多段構成を試してみる事にしました。


LPF回路



LPFを三段カスケード接続し、各々の段でどの位の効果があるか確認する為、
LTspice回路シュミレータで図1のような回路を作成し、減衰特性を見てみました。


LTspice回路シュミレータによるLPFのシュミレーション(ドップラー動体検知用)
図1 Rの値で通過域のリップルが変わるので、{ R }とし、シュミレーション時に値を変えて変化の具合を確認するようにした



Rの値


1Hz~1KHzの間の周波数特性をRの値を10Kオームから100Kオームまで10Kステップで変化させた時の特性をグラフ化しました。
目的は、通過域のリップ、減衰域での減衰傾度、特に遮断周波数付近の減衰傾度を見る為です。

LTspice回路シュミレータによるLPFのシュミレーション(ドップラー動体検知用)
図2 c点 1Hzから1KHz間の減衰特性 回路中の{ R } の抵抗を 10Kオーム ~ 100K まで 10Kステップで変えた時の特性 (dBスケール)



LTspice回路シュミレータによるLPFのシュミレーション(ドップラー動体検知用)
図3 c点  変化の具合を掴みやすくする為に縦軸をリニアにしたもの

図2,図3ともに下のグラフがR=10kの時で上側がR=100kの時です。

通過域がフラットで減衰域がシャープなのは上から4つ目のR=70kの時です。

Rを変えるとゲインも変わるので10k,70k,100kの低域ゲインをグラフ上合わせたのが下側の図です。

LTspice回路シュミレータによるLPFのシュミレーション(ドップラー動体検知用)
図4 青丸:R=100k 赤丸R=70k 紫丸:R=10k 低域ゲインをグラフ上合わせたもの

用途的にはR=100kのようにリップルが大きくてもかえっていい結果をもたらすかもしれないので、R=100kとフラットなR=70kが狙い目かもしれません。

カスケード数



フィルターの段数は費用対効果の点で考慮する必要があります。

LTspice回路シュミレータによるLPFのシュミレーション(ドップラー動体検知用)
図5 緑(A点:一段) 紫(B点:二段) 赤(C点:三段) での減衰特性(ゲインは比較しやすいようにグラフ上合わせてあります)



制作する時にクワッドOPアンプを使うと、プリアンプ一段、LPF二段、コンパレータ一個とすると具合はいいのですが、三段が必要になるかもしれません。
シュミレーションしている回路の電源は+-2電源で大げさなので、一電源にしたい所です。
さらに直流結合している為、オフセット、ドリフト問題もあるのですが、こちらは実際のドップラーセンサーの出力を見ないとなんとも言えません。


プロトタイプ


入力信号の状況は以前の秋月のキットである程度想像は付くのですが、やはりプロトタイプを作ってみないと明後日の方向を目指す事になりそうなので、シュミレーションはこれくらいにします。



LTspice XVIIのメモ


忘れそうなものを要点のみメモ

■電源
Edit→Component→Select Component SymbolダイアログでVoltageを選択
電圧はシンボルを右クリック→Voltage Souceダイアログで指定

■信号源
Edit→Component→Select Component SymbolダイアログでVoltageを選択
シンボルを右クリック→Voltage SouceダイアログのAdvancedをクリック
Functions→(none)
Small signal AC analysis(AC)→AC amplitudeで電圧指定

■周波数sweepの指定
回路図空白部分で右クリック→Edit Simutation Commandクリック
Edit Simutation CommandダイアログでAC analysisタブ選択
Number of points per decage 100程度指定
Stat frequency sweep開始周波数(kはkhz megはMhz)
Stop frequency sweep終了周波数

■回路図中の抵抗値のパラメータ化(R4,R7,R17)
目的に抵抗シンボルを右クリック→Resistorダイアログ
Resistance[Ω]→{R}と入力 Rは任意の変数名

■変数の値を指定
Edit→SPICE Directive→Edit Text on the Schematicダイアログ
SPICE directove チェックを確認
テキスト欄に .param R=100Kと入力
※他のパラメータを使用する為に無効化する場合は、Edit Text on the SchematicダイアログでCommentにチェックを入れる

■抵抗値を変えてシュミレーションする場合(ステップ)
Edit→SPICE Directive→Edit Text on the Schematicダイアログ
SPICE directove チェックを確認
テキスト欄に .step param R 20k 100k 10kと入力 (20kから100kまで10kステップでシュミレーションの場合)

■抵抗値を変えてシュミレーションする場合(リスト)
Edit→SPICE Directive→Edit Text on the Schematicダイアログ
SPICE directove チェックを確認
テキスト欄に .step param R list 10k 70k 100k(10k,70k,100kでシュミレーション)

■シュミレーショングラフの式の変更
V(c)を表示している場合、グラフ上部のV(c)表示を右クリック→Expression Editorダイアログ表示
Enter an algebraic a expression to plot.欄に式を入力
V(c)*1.7^2 等 ... V(c)を1.7の二乗場合にして表示する例

■シュミレーショングラフで位相を表示しないようにする
クラフの位相値ラベルを右クリック→Right Vertical Axisダイアログを表示
Dont't plot phaseボタンをクリック

■シュミレーショングラフに新たにグラフ式を追加する場合
グラフウインドウ上で右クリック→Add Tracesをクリック→Add Traces to plotダイアログ表示
Expression(s) to add:欄に表示式入力 例 V(n001)



感想


LTspice XVIIはなんと便利なんでしょう。
ユーザーインターフェースもとっても使い良い。

秋月のセンサーをテストしていた時、動くものが無いのにオシロスコープの波形が妙に波打っています。
なんと、それは私の心臓の鼓動でした。
その時、これは部屋で寝ている人の容態監視に使えると思ったものです。そのうちテストしようと何年も放置。
そのうち、製品化されたニュースをみました。残念。


青い踊り子

青い踊り子
(画像クリックで1920x2880サイズ)

壁紙用はこちら

昼下がり少し寂しい時間帯

昼下がり少し寂しい時間帯
(画像クリックで1920x1080サイズ)


室内スケッチ+塗

室内スケッチ+塗
(画像クリックで1920x1280サイズ)



室内スケッチ

室内スケッチ
(画像クリックで1920x1280サイズ)


氷結の時代(photoshop練習)

氷結の時代(photoshop練習)


お知らせ
■注意:Google Chrome以外のブラウザでは動作しない事もあります。
お好みに応じて
画像だけの表示でいいよ
やっぱり全部表示して
背景は黒がいいな
背景を元に戻して
サブジャンル
メモリアルマップ
My Favorite Photo
検索フォーム
プロフィール

otsu.usiwakamaru

Author:otsu.usiwakamaru
五条の橋でひらりひらりと欄干を飛び渡る牛若丸のように、興の向くまま電子回路にプログラミングに写真にと飛び回っています。

プロフィール詳細

カレンダー
01 | 2018/02 | 03
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 - - -
キーワード
クリックしたキーワードの記事のみ表示します。

ダンサー ミニー ミッキー デイジー ドナルド グーフィー キャラクター  3D 試み MFP 電池 ティンカーベル デザイン クラリス 全天球 チップデール プルート パークテーマ キャスト IXY スクルージ マレフィセント スモールプラネット ダッフィー SPOT 改造 

最新記事
月別アーカイブ
全記事表示リンク

全ての記事を表示する

おすすめプログ(新着記事)
リンク


にほんブログ村
カテゴリ
橋 (1)
PIC (3)
カウンタ
訪問者数(UU)

アクセス数

現在の閲覧者数

tael no013用