質量とアラゴーの円盤とハンドスピナー

前回のハンドスピナーの記事の後、回転の様子から気になった事を試してみました。

質量とアラゴーの円盤とハンドスピナー

それは、回転速度を上げても、すぐに回転は落ちむしろ低速回転で持ちこたえている感じでした。
そこで、回転速度より質量を上げてやるともっと長く回転するのではないか思い、適当な物を探した所、ダイソーの 「ネオジム磁石」が目に付きました。
なんと、ハンドスピナーのアームの穴にピッタリです。
写真は磁石を穴の両サイドから挟むようにセットした所です。三穴計6個の磁石を付けました。

結果は、手で回しても2分40秒まで回転しました。新記録です。

さらに、6個追加し片側二層構造で試しましたが、むしろ回転時間は下がりました。


理科の実験に最適


磁石の回転を見ていて、電力量計にも使われている「アラゴーの円板」が連想されたので、ブレーキがどれ程かかるか試してみました。

実験はアルミ板の上で写真の磁石付きハンドスピナーを回転させました。

結果はなんと、予想を遥かに超え5秒で停止しました。感動ものでした。
理科の先生、実験にピッタリですよ。

試してはいませんが、プラスチックのボックの上に磁石付きハンドスピナーを置き、
見えない内部でアルミ板を回転させると、ハンドスピナーが永遠に回転するというのも面白いかもしれませんね。
誘導電動機と同じ原理なので、先生、実験にどうですか。

スポンサーサイト

ダイソーのハンドスピナーとコマ回し

ダイソーで100円のハンドスピナーを売っていました。

手でまわしても一分以上は回転しますが、二分は無理でした。
回転中はベアリングの傷の音がします。

昔遊んだ、コマ回しを思い出し、

ダイソーのハンドスピナーとコマ回し

こんな風にして、回してみました。

最大、2分17秒でした。


ダイソーのハンドスピナーとコマ回し

もっと簡単にと、輪ゴムでもやってみました。
三本束ねた輪ゴムで最大、1分50秒でした。



オイルと脱脂


ハンドスピナーの記事にはよく「脱脂」という言葉が出てきます。

そこで、一度ベアリング部分にオイルをさしてみました。
結果は、1分40秒まで届きません。

そこで、「油落としクリーナー」でオイルを取り除いてみました。
結果は、2分45秒まで回転しました。
上記は「コマ回し」方式の結果ですが、手で回転させても1分54秒回転しました。

goo g08 特徴

「g08ってどう?」と聞かれた時の為に。 更新は随時。

※私の個人的意見。知識不足の為の誤解の可能性もあります。



購入


■6800円
 2018年3月にOCNモバイルONEのらくらくセットにて、新発売キャンペーンの6800円で購入。
 音声通話SIM購入(3000円)必須だったが、必要としていた為、余分な出費にあらず。



基本


■OS Android 7.1.2

■モデル名
 View Prime

■指紋認証
 ギリギリセーフ。
指の先を重視した登録をすると指の腹では応答しない。しかも、指の腹重視で追加登録すると登録済でハネられる。
認証時間は早いとは言えないし、数度置き直しをする場合が殆ど。

■電源ON時の画面
 ダサイ!「グーのスマホ」と表示される。そのデザイン性はダサイの一言。人前で電源ONは恥ずかしい感じ。

設定項目


■設定アプリ
 ギヤーマークの「設定」以外に「スマホ管理」アプリがある。
この中に「省電力」「通知マネージャー」「権限管理」「デフォルトのアプリケーション」がある。
その他、メモリ解放なども。

■スクリーンショット
 PNGのみ。jpegに変えられない。ZenFone Go ZB551KLにはあった。


GPS


現在保有端末の中でもトップクラスで満足な状態。
GPSTest(barbeauDev)でのMapでは室内にて+-1m以内の位置を表示。QZSSも表示した。

■「みちびき探知機」
 アプリ「みちびき探知機」でみちびき探知となった。

困ったこと


■スリープ中にK-9 mail、050pluseのメッセージ、googleのカレンダーの受信、通知がされない
 Android6から実装されたらしい、Doze機能が原因と思われる。

(2018/04)有料アプリ「Disable Doze」にて対応し、検証中
(2018/05)「Disable Doze」導入時にすんなりと問題解決した訳ではなく、色々やっている内にスリープ中もK-9でメールを受信できるようになった。が、一ヶ月ほどすると、受信しなくなる。原因は不明。050plusやgoogleカレンダーはスリープ中でも通知する。

■手帳型ケース
 指紋認証を使用する場合、ケースの上蓋(扉)のヒンジ側から指をセンサーに当てる事が出来ない。
もちろん、両手で持てば出来ますし、g08に限った事ではありませんが。


疑問


■アプリの起動ロック
 「アプリロック」というアプリで「ドライブ」をロックしても、「ダウンロード」アプリからは「ドライブ」をロックなく開くことができる。
対策としては「ダウンロード」アプリもロックをかける方法があるが、そもそもこの様な抜け穴がある事が信頼性を損なっている。
と思いながら...なんと、「ダウンロード」は「アプリロック」アプリでは対象外であった為、ロックをかけられない。(2018/04)

プリント基板用スペーサー代わり(パーラービーズ)

プリント基板用の格安スペーサーを探していました。

見つかりました。

パーラービーズです。アイロンビーズの名で覚えていました。

プリント基板用スペーサー代わり(パーラービーズ)


穴径は3mm以下のようですが、M3でも使えます。
キツキツなのでナット代わりに使えます。また、熱加工しやすそうなのでケースに溶着して、M3をタッピン代わりに使えるかも。
長さは約5mmでした。


プリント基板用スペーサー代わり(パーラービーズ)

約1000個で送料無料のヨドバシカメラにて181円で購入。

油断大敵スマホグッズ(goo g08)

ZenFone Go ZB551KL のGPSの駄目さ加減が半端なく、肝心の場面で役立たず。
それに、IP電話のみでは、万が一車で事故の時110,119番も出来ない。

そんな時、P10 lite + 通話付きSIMが6800+3000円でセールしていました。
しかし、P10 liteはガラス多用なので、よく落下させる私向きではありません。
で、g00 g08(6800+3000円)になりました。

早速、二回程落下させたので、ケースと液晶保護ガラスフィルムを買いました。

両方共、☆一つです。



ケース


こちらのケース、g08との相性や使い勝手はいいのですが、一つ問題がありました。


油断大敵スマホグッズ(goo g08)

扉を閉じておくバンドがありません。見た目良し! 平面性良し!
蓋を閉めると吸着するように閉じます。凄い!

ん! 磁石??吸引する相手はスマホか?そんなバカな。
裏側にもう一つ磁石がありました。
要は、磁力線はスマホを貫通しています。しかも、スマホの厚み分の距離を隔ててなお力強く吸着。
試しにニッパーを付けてみました。ケースから落下しません。
この状態では電子コンパスは使い物にならなくなるし、磁気を利用したカード類は消磁されてトラブルになる可能性があるかもしれません。

捨てる事にして、どんな磁石が入っているのが金切りバサミで大胆に切り取り(捨てるので)、磁石を取り出しました。
上の写真の白い金属板。

構造が分かったので、底側の方は外観に影響なく取り出しました。

捨てるには勿体ないので、それにマイナーな機種で選択肢は多くない事情もあり、
接続し直しました。
フランケンシュタイン状態ですが。


保護フィルム


そうこうするうち、同時に注文してあった保護フィルムが到着しました。



油断大敵スマホグッズ(goo g08)

液晶表示部をカバー出来ていません。

商品の登録情報にある「Amazon.co.jp での取り扱い開始日」を見ると「2016/7/6」。
g08ってこんなに古い機種だったのかな。

それに、以前買った同じ「AGC旭硝子社製の国産特殊ガラスを使用した強化ガラス製液晶保護フィルム」と比べて
熱伝導率が違います。汚れが取れにくいです。汚れ易いです。個人の感想ですが。



感想


油断大敵です。

これ、使います。「油断をするな」の戒めの意味を兼ねて。

100均ニッケル水素電池充電器の倍速化

100均のニッケル水素電池充電器を倍速充電できるように改造してみました。

■結果
2倍速とはならず、1.5倍速になりました。
充電中のモニター用のLEDが暗くなり実用性が低下しました。

低価格化と一度に充電する電池の数(1本/2本)に関わらず、充電能力が変わらないように設計されていて、よくできた製品でした。
改造はしないほうが良いと結論付けしました。


100均ニッケル水素電池充電器の倍速化
改造前


100均ニッケル水素電池充電器の倍速化
オリジナルの回路です。 毎度の見苦しさはご勘弁ください。

半波整流で一本目は正弦波の上側を、二本目は下側を使うようになっています。
この為、一本充電でも、二本同時充電でも充電能力は変わりません。

充電モニター用のLEDは大胆な設計です。私でもこの回路は避けますが、コストダウン最優先な感じです。



改造


元は半波整流なので全波整流に変えます。


100均ニッケル水素電池充電器の倍速化
改造後の回路

ブリッジのダイオードは出来るだけドロップ量を減らすためショットキーダイオードにしました。
※結果的には、このタイオードでのドロップで2倍速にはならず、充電モニター用のLED点灯も「ほぼ点灯せず」の状態になりました。



100均ニッケル水素電池充電器の倍速化
ブリッジと基板のパターンのカット

基板のカット位置は下図通りです。

100均ニッケル水素電池充電器の倍速化
配線



100均ニッケル水素電池充電器の倍速化
ブリッジ部分を紙で絶縁


波形



100均ニッケル水素電池充電器の倍速化
2.7オーム両端の波形(電池の充電電流)(改造前)



100均ニッケル水素電池充電器の倍速化
負荷(電池)がない状態でのトランズ二次側の電圧波形



100均ニッケル水素電池充電器の倍速化
全波整流化後の2.7オーム両端の波形(電池の充電電流)



100均ニッケル水素電池充電器の倍速化
電池を二本同時に充電した時の2.7オーム両端の波形(電池の充電電流)



感想


この充電器は半波整流がミソですね。二本同時でも性能が低下しないので。
それを全波整流にすると、同時に二本分の電流がトランスに流れ、電圧低下して少し供給電圧が低下します。
ただでさえブリッジのダイオードで電圧が低下しているのに供給電圧が低下するとモニター用ダイオードは点灯しません。

コストや手間を考えると2倍速でなく、1.5倍にしかならないこの改造は値打ちなしです。








100均万年筆 ZEBRA fuente Disposable Fountain pen の分解(破壊)

セリアで売っている「ZEBRA fuente Disposable Fountain pen」は分解の仕方が分かりません。
ネットで検索しても発見できなかったので、気になっていました。
目的はインクの詰替えです。

一本持ってはいましたが、なかなか使い勝手が良いので無理やり分解せずにいたところ、
セリアで再び売っているのを見かけたので分解目的に購入しました。

結果は分解できませんでした。
この際だから、切り開いてみました。


100均万年筆 ZEBRA fuente Disposable Fountain pen の分解(破壊)(画像クリックで2328x1310サイズ)

ペン先はテープを貼り付けて引っ張る方式で簡単、綺麗に外せました。

ペン軸は胴体から外す事が出来ず、最終的にプライヤーで引っ張った為、千切れてしまいました。
このペン軸と胴体の部分は嵌め込んだ後、熱処理で胴体を縮めて密着させていると思います。

写真右上の線上の物は、ペン軸内に通されていて、インクの誘導を担うものと思います。

胴軸は後部に隔壁があり、インクタンクの役目を果たしていると思われます。

100均万年筆 ZEBRA fuente Disposable Fountain pen の分解(破壊)隔壁部分のクローズアップ

その隔壁の中央に臍のようなものがあり、
後部からインクを注入後、樹脂で密封しているのではと推測しました。

右側の黒い三つの部品は、元々一つの部品で、カットした為このようになっていますが、
インク注入後に差し込んだものと思われます。

感想


このペンは100円であるのに、書きやすくてインク量も多いので優秀な万年筆です。
ただ、ペン軸が分解洗浄出来ないので、色インクに変えて楽しむ事は出来ませんでした。
残念。

すごい! 1000円GPSモジュール(アンテナ付)(2828UBG5LF)

Banggoodで買った1046円の「Geekcreit®1-5Hz VK2828U7G5LF TTL Ublox GPSモジュール(アンテナ付)」の
1PPSパルスで正確な1秒のゲート信号を作り、周波数カウンターにするテストをしました。
0.15PPM以下の精度がある事が確認できました。
これで、8桁の信頼できる周波数カウンターを作ろうと思います。

すごい!GPS


すごい! 1000円GPSモジュール(アンテナ付)(2828UBG5LF)送られてきた実物の基板型番は 2828UBG5LF、ケースの型番表示は VK2828U7G5L でした。 ケーブル&コネクターも付属していました。
GがGND VがVCC BがPPS出力です。

ピンアサインについては、Googleで「2828UBG5LF」を検索すれば出てきます。(型番はすこしちがいますが、推測で判断しました)
※基盤の型番によっては P と表示されているものもある模様。

PPS出力の安定性と精度


精度について直接確認する術はありませんが、手持ちのカウンターや超高精度発振器と謳った部品が示す周波数からは、
最も信頼できると思われます。

しかし、長期間の精度と1パルスの揺らぎの問題は別なので、ある程度心配していました。
結果は非常に安定していて、8桁のカウンター + 超高精度12,800,000Hz発振器のテストでは3日間、室温7度以上の変動の環境で揺らぎは検出出来ませんでした。

これを正確な一秒源として使うことにしました。


1PPSの取り込み



以前の記事「TTL7476の遅延と揺らぎ」でテストした回路を使います。

TTL7476の遅延と揺らぎ(備忘録)GPSからの1PPS出力は2SC1815を通してCKに供給しました。

カウンター


カウントはPIC 16F18313、表示はMAX7219(7segLED8桁用)で構成。
回路図は省略して接続メモのみ。

/*
* OSC 内部32MHz ソフトでの設定 CSWEN:OFF
* 計測パルス入力端子:RA2 TMR0 clock(input)
* 表示タイミング入力端子:RA3 : 1秒パルス(input)立ち上がりエッジで7seg表示指示
* * テスト信号:
* RA5:(output)
* * 7セグ8桁LED:
* RA4:7segLOAD(output) 橙
* RA1:7segCLK(output) 黄
* RA0:7segDIN(output) 緑
*
*/

■PICソース
/* 
 * File:   main.c
 * Author: 
 *
 * Created on 2018/02/01, 18:07
 */

/* 
 * OSC 内部32MHz ソフトでの設定 CSWEN:OFF
 * 計測パルス入力端子:RA2 TMR0 clock(input)
 * 表示タイミング入力端子:RA3 : 1秒パルス(input)立ち上がりエッジで7seg表示指示
 * * テスト信号:
 *      RA5:(output)
 * * 7セグ8桁LED:
 *      RA4:7segLOAD(output) 橙
 *      RA1:7segCLK(output)  黄
 *      RA0:7segDIN(output)  緑
 */

/*
 * * *概要
 * *カウンター
 * カウンターはunsigned long
 * パルスのカウントはTMR0を16bitカウンターとして使用(RA2をTMR0のclockとする)
 * TMR0のオーバーフロー割り込みで、unsigned long counterHを+1
 * TMR0は常にカウントしている。停止する事はないが、
 * 前段のTTL回路でRA2へ計測パルスを1秒間送り出し、次の一秒間は遮断する。
 * 遮断期間中に7segに計数結果を表示する。
 * *7seg表示
 * MAX7219(7segLED8桁用)を使用
 * メモリ節約と簡易化の為、カウンタ値は最大999,999,999以下と仮定する
 * 99,999,999以下の時、上位ゼロサプレスをする
 * ゼロの時は下一桁に0を表示
 */


/*
 * 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 = OFF      // Master Clear Enable bit (MCLR/VPP pin function is digital input; MCLR internally disabled; Weak pull-up under control of port pin's WPU control bit.)
#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 32000000

#define testp PORTAbits.RA5 = 1;PORTAbits.RA5 = 0;

#define M7219LOAD PORTAbits.RA4
#define M7219CLK PORTAbits.RA1
#define M7219DIN PORTAbits.RA0

unsigned long counterH;
char go_disp;

void max7219businit() {
    M7219LOAD = 1;
    NOP(); //32MHz対策
    M7219CLK = 0;
    M7219DIN = 0;
}

void max7219sendloaddata(unsigned char address, unsigned char data) {
    //LOAD OFF
    M7219CLK = 0;
    M7219LOAD = 0;

    //address 送出
    unsigned char m = 0x80;
    do {
        M7219DIN = ((address & m) != 0);
        NOP(); //32MHz対策
        M7219CLK = 1;
        M7219CLK = 0;
    } while (m >>= 1);

    //data送出
    unsigned char m = 0x80;
    do {
        M7219DIN = ((data & m) != 0);
        NOP(); //32MHz対策
        M7219CLK = 1;
        M7219CLK = 0;
    } while (m >>= 1);

    M7219LOAD = 1; //LOAD ON (送信データラッチ指示)
    NOP(); //32MHz対策
    M7219DIN = 0;
}

void max7219bcddisp(unsigned long x, int punctuation_capability, int zero_suppress) {
    char buff[10];
    char n;

    ultoa(buff, 1000000000 + x, 10);

    if (punctuation_capability) {
        buff[6] = buff[6] | 0x80;
        buff[3] = buff[3] | 0x80;
    }

    if (zero_suppress) {
        for (n = 1; n < 9; n++) {
            if (buff[n] & 0x0F) {
                break;
            }
            buff[n] = 0x0F;
        }
    }

    max7219sendloaddata(0x09, 0xFF);
    for (n = 0; n < 8; n++) {
        max7219sendloaddata(0x08 - n, buff[n + 2]);
    }
}


char hosei_sw;
void counter_disp(){
    unsigned long count; 
    unsigned long hosei;
    
    //TMR0H,TMR0Lの順次変更禁止。TMR0Hを読み出せない   
    count = (((unsigned long) counterH * 0x10000) + ((unsigned long) TMR0H * 0x100) + TMR0L);
    count = count * 2;
    
    //ゲート時間が狂っている場合の補正(今回は補正の必要なしのため、0)
    if (hosei_sw) {
        hosei = ((count / 1000) * 0)/100000;
    } else {
        hosei = 0;
    }
    hosei_sw = !hosei_sw;
    
    max7219bcddisp(count-hosei, 1, 1);
}

void interrupt intservice() {
    INTCONbits.GIE = 0;
    asm("MOVF PORTA,W");

    if (PIR0bits.TMR0IF) {
        PIR0bits.TMR0IF = 0;
        counterH++;
    } else if (PIR0bits.IOCIF) {
        PIR0bits.IOCIF = 0;
        IOCAFbits.IOCAF3 = 0;
        go_disp = 1;
    } else {
        PIR0 = 0;
    }

    INTCONbits.GIE = 1;
}

/*
 * 
 */
int main(int argc, char** argv) {

    //INT Disable 
    INTCON = 0x00; //GIE,PEIE:0;

    //I/O PORT
    PORTA = 0x00; //Clear PORTA
    LATA = 0x00; //Clear PORTA DATA LATCH REGISTER
    ANSELA = 0x00; //digital I/O
    TRISA = 0x0C; //RA2:input; (RA3はinput only) 
    WPUA = 0x0C; //RA3,RA2:Pull-up enabled
    
    
    OSCCON1 = 0x60; //OSCILLATOR CONTROL REGISTER  NOSC:110 HFINTOSC(1 MHz)
    OSCFRQ = 0x7; //OSCFRQ: HFINTOSC FREQUENCY SELECTION  HFFRQ<3:0>  32MHz

    //OSCTUNE = 0x3B; //HFINTOSC TUNING REGISTER

    //INT reg clear
    PIE0 = 0x00;
    PIE1 = 0x00;
    PIE2 = 0x00;
    PIE3 = 0x00;
    PIE4 = 0x00;
    IOCAP = 0x08;   //INTERRUPT-ON-CHANGE PORTA POSITIVE PORTA30:1
    IOCAN = 0x00;   //INTERRUPT-ON-CHANGE PORTA NEGATIVE

    //PPS
    //T0CKIPPS =  0x02; //T0CKI input is RA2 明示的に指定すると機能せず

    //TMR0 init
    //TMR0 is an 8-bit timer 1:1 Postscaler
    T0CON0 = 0x90; //The module is enabled and operating;TMR0 is a 16-bit timer;T0OUTPS:1:1; 
    T0CON1 = 0x10; //T0CKIPPS (True);not synchronized;1:0
    TMR0H = 0;
    TMR0L = 0;


    //MAX7219
    //初期化
    __delay_us(1000); //7seg起動待ち
    max7219businit();
    max7219sendloaddata(0x0c, 0x01); //シャットダウンレジスタ,Normal Operation
    max7219sendloaddata(0x0b, 0x07); //スキャン制限レジスタ,Display digits 0 1 2 3 4 5 6 7

    counterH = 0;
    TMR0H = 0;
    TMR0L = 0;
//    counter_disp();
    
    max7219bcddisp(0,1,1);
    go_disp = 0;
    hosei_sw = 0;


    PIR0 = 0;   //PERIPHERAL INTERRUPT REQUEST REGISTER 0
    PIE0 = 0x30; //TMR0IE=1;IOCIE:1;
    INTCONbits.GIE = 1;
    while (1) {
        if (go_disp) {
            counter_disp();
            go_disp = 0;
            counterH = 0;
            TMR0H = 0;
            TMR0L = 0;
        }
    }

    return (EXIT_SUCCESS);
}



感想


室温に影響されない一秒の正確なパルスがGPSで簡単に得られるとは驚きました。
GPSモジュールも千円だなんて!
しかも、室内で受信できました。ZenFone Go ZB551KLのGPSは受信出来ない場所で。

そして、たった8ピンで75円のPIC 16F18313で周波数カウンターが出来てしまうなんて!

その昔秋月で買った「12.8MHz +-1ppm/年 超高精度クリスタルモジュール」も調整し、12,800,000Hzに調整しました。
三日間、室温7度程度の変動環境で1Hz程度の変動でした。

アマゾンで2980円で買った
【SANCTUS】 周波数カウンタ モジュール 8LED 0.1~60MHz 20MHz~2.4GHz 信号発生器による動作確認済
もTCXO calを調整してGPSの精度に合わせました。
ただし、こちらは少し温度に対して変動がある様で上記環境で4Hz程度の変動がありました。

安定度はもちろん、絶対的な精度がこんなに安く簡単に出来るなって、すごい!!

ディズニーにうつつを抜かしている間に世の中進歩していました。

100均掛け時計用クォーツの精度

ダイソーの100円の壁掛け時計に使われているクォーツムーブメントの一秒パルスを周波数カウンターのゲート信号に使用してみました。

中心周波数は10ppm程のズレがあるようですが、パルス間の揺らぎは0.04ppm以下のようです。
安定した温度の環境では、これも0.04ppm以下の安定性がありました。
これを簡易な恒温槽に入れればどうなるのか興味が沸いてきました。



100均掛け時計用クォーツの精度
右上のコイル部分が2極単相2スロットステッピングモータ(このモータは必要ありません)

このモータの直流抵抗値は約119オームでした。ということは駆動力のあるパルス信号が手に入るという事です。


100均掛け時計用クォーツの精度
モータ部分を取り外したところ 赤黒線は電源1.5V 橙灰色線はモータ駆動用


100均掛け時計用クォーツの精度
GND(黒線)と駆動用の端子の波形(橙灰色線はモータ駆動用)

モータは一秒に半回転(180度)。各パルスは2秒間隔でした。

100均掛け時計用クォーツの精度
バルス幅


メモ


PIC 16F18313とMAX7219(7segLED8桁用)、それとGPSの1PPSパルスで正確な周波数計を作る積りでプロトタイプを作っていました。
カウンターの方は出来、GPS受信器を買おうと思って秋月を覗くと、予定のGPS受信キットは在庫切れ。
仕方なく、恐る恐るBanggoodで代替品の注文をだしましが、到着まで一ヶ月程覚悟しなくてはならないので、
ふとダイソーの時計が目に入り「これ使えるのでは」で、こうなりました。

短時間的には8桁の周波数計で25,000,000Hzの入力で1デジットの変化でした。
100円で安定した2秒間隔のパルス源が手に入るとは、びっくりです。

ならば、簡易な恒温槽に入れたらどうなるのか?やってみたくなりました。
恒温槽など作った事がありませんので挑戦です。



コイルの電線は0.06mmΦだったので抵抗値から換算すると17mある模様。
0.06mmのウレタン線が17m手に入りました。0.1mmが保有している一番細いウレタン線だったのでこれはいいかも。

24MHz 8チャンネル USBロジックアナライザ

アマゾンで「HiLetgo 24MHz 8チャンネル USBロジックアナライザ 8CHロジックアナライザ UART IIC SPI デバッグ MCU FPGA ARMに対応 [並行輸入品]」を買ってみました。1,180円でした。

すでに、秋月で買った「ZEROPLUSロジックアナライザ64kビット16ch100M LAP-C(16064)」を持っていますが、双方の弱点を補い合って「買ってよかった」になっています。


24MHz 8チャンネル USBロジックアナライザ
USBはmini

秋月で買った「LAP-C(16064)」の20分の1の値段ですが、場面によっては遥かに便利です。
LAP-Cは既存システムのデータの解析などに、
今回のロジアナは信号の確認に。
ただし、高速信号はLAP-Cの出番です。
今回のロジアナのクロック周波数はMAX24MHz、LAP-Cは100MHzです。


ソフトウェア


ソフトはなにも付属していません。説明書もありません。

ソフトは sigrok.org から入手可能です。
Downloadページから「pulseview-NIGHTLY-32bit-static-release-installer.exe」をダウンロードして使用しました。
インストールは標準的なので省略します。

※使用した環境はWindows10 64bit版

ドライバー


ロジアナをUSBに接続すると以下のように、不明なデバイスとなります。

24MHz 8チャンネル USBロジックアナライザ
または
24MHz 8チャンネル USBロジックアナライザ

インストールした「sigrok」から「Zadig(PulseView)」を起動する。
24MHz 8チャンネル USBロジックアナライザ

24MHz 8チャンネル USBロジックアナライザ

「Options」→「List All Devices」指定
24MHz 8チャンネル USBロジックアナライザ

上部プルダウンメニューから、デバイスマネージャーに表示されているデバイス名(この場合「Unknown Device #1」)を指定
24MHz 8チャンネル USBロジックアナライザ

「Driver」はデフオルトを使用しました。
「Reinstall Driver」ボタンクリック
24MHz 8チャンネル USBロジックアナライザ

24MHz 8チャンネル USBロジックアナライザ


設定


インストールした「sigrok」から「PulseView」を起動する。
24MHz 8チャンネル USBロジックアナライザ

24MHz 8チャンネル USBロジックアナライザ

メニューのプルダウンから「Connect to Deivce..」をクリック
24MHz 8チャンネル USBロジックアナライザ

「Connect to Device」ダイアログの「Setp1: Choose the driver」のプルダウンから「fx2lafw」を選択。
24MHz 8チャンネル USBロジックアナライザ

「Step2」欄でUSBを選択し
「Step3」の「Scan for devices using driver adove」ボタンをクリック
「Step4」に表示された「Saleae Logic whth 8 channels」を選択し
「OK」ボタンをクリックする。
24MHz 8チャンネル USBロジックアナライザ

一方、「デバイス マネージャー」では、「fx2lafw」に変わっている
24MHz 8チャンネル USBロジックアナライザ

デバイスに接続された時の画面
24MHz 8チャンネル USBロジックアナライザ



使用例


■使用するチャネルの指定
メニューのICクリップアイコンをクリックする
24MHz 8チャンネル USBロジックアナライザ

使用するチャネルにチェックを入れる
24MHz 8チャンネル USBロジックアナライザ

■sample数の指定
24MHz 8チャンネル USBロジックアナライザ


■サンプリングクロック周波数の指定
上記sample数の横のプルダウン


■チャネルの設定
チャネルのアイコンを左クリックし、指定する
24MHz 8チャンネル USBロジックアナライザ


■サンプリング実行
メニューの「Run」をクリック
24MHz 8チャンネル USBロジックアナライザ


■結果の拡大と移動
拡大、縮小は、マウスのホイール
移動は、マウスの左ボタンでドラック
24MHz 8チャンネル USBロジックアナライザ


■結果の保存
24MHz 8チャンネル USBロジックアナライザ
各種フォーマットで格納されます。


■プロトコルのデコード
メニューの波形マークのアイコンをクリック
プロトコルを選択
24MHz 8チャンネル USBロジックアナライザ

以下では選択された「UART」のアイコンを左クリックし、パラメータを指定
24MHz 8チャンネル USBロジックアナライザ


■複数のデコードも可能
24MHz 8チャンネル USBロジックアナライザ


感想


ブログにメモるのは面倒。でも残して置かないとすぐに忘れるので。

このロジックアナライザは750円で売られていた事もあるそうです。
最近、中国製品も値上がりしていますね。
そうなると思って使えそうな物は買い溜めていましたが、これは少しナメていました。値上がりしてから買ってしまいました。
使ってみると非常に使い勝手が良く、LAP-Cは出番が減るでしょう。

■今回のロジックアナライザのお気に入り点
ハードが小さいのでテスト環境の邪魔になりにくい。

UIがLAP-Cに比べて、簡素でマウス操作が直感的イメージと一致している。LAP-CはWindowsの思想に添っている感じで使いにくい。

サンプリング位置がチャート上にドットで表示されているので、分解能の存在を意識させてくれる。
24MHz 8チャンネル USBロジックアナライザ

■住み分け
LAP-Cはデコードの表示方法など豊富で、信号のタイミングよりデータ内容の解析などに適し、
オシロスコープは分解能が高く、波形の確認など、ハード寄りな信号の確認に適し、
このロジックアナライザはLAP-Cと・オシロスコープの中間的に位置に属して、信号のタイミングやシーケンスの観察に向いていると感じました。

使用例での波形はPICでプログラムした、MAX7219での7セグLED表示インターフェースの確認に使用した時のものです。
お知らせ
■注意:Google Chrome以外のブラウザでは動作しない事もあります。
お好みに応じて
画像だけの表示でいいよ
やっぱり全部表示して
背景は黒がいいな
背景を元に戻して
サブジャンル
メモリアルマップ
My Favorite Photo
検索フォーム
プロフィール

otsu.usiwakamaru

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

プロフィール詳細

カレンダー
06 | 2018/07 | 08
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
29 30 31 - - - -
キーワード
クリックしたキーワードの記事のみ表示します。

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

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

全ての記事を表示する

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


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

アクセス数

現在の閲覧者数

tael no013用