昨日、午前3時まで9時間掛かってやっとこさ100%まで再充電(寝たいんだがそれだと実験がますます遅れる)

現在2回目の24時間耐久扇風機レースの19時間目を継続中

だが、朝起きたら既に回転数が落ちていたのだ。

明日明け方3時に24時間になるが、今回は止めずの0になるまで回し続けてやる。

どう考えてもBMSかモーター制御がおかしい

今まではレビューは到着後2日以内にはアップしてたが今回は、とことんゆっくりやってやる、と覚悟を決めた。

現役時代の翌朝レポート提出が身につきすぎてイライラするのだが・・・

ホント苦しいんだよ、ズルズル懸案事項を持ち続けるのが。

ーーーー

 

本日は梅雨の雨がずっと降ってるし、昨日の疲れも残ってるので家でダラダラしてたが、

ファンの回転数を計測してみたくなった。

湿度は85%とかで、部屋の中ベタベタ! もう生きていけない。エアコンずっと回しました。

外気温は23度なので、結構寒いんよ。

 

まずはジャンクのファンを測定したが、位置が定まらず変な値ばっかり出てくる。

しょうがないのでマジに腰を据えて環境を作ることにした。

 

アルミ箔を貼った黒色円盤をPWM制御のDCモータで回す。

距離とか感度の調整が結構シビアで面倒くさかった。

マブチモータを台座に乗せて固定、例の赤外線センサーをArduino2番ピンへ繋いで、針金で浮かせる。

今回はダイソーの有孔ボードへ固定して作ったよ。

この実験ボード作るほうが遥かに時間がかかってるw

やっぱり安定し味件環境が必須なのです!
 

プログラムは、
扇風機のペラにアルミ箔を貼って回転数を数えさせればいいはずなので、Arduinoで簡単に実現できるはず。

が、プログラムを一から作るのも面倒なので、GPTにやらせることにした。

この初期プログラム、考えは簡単なんだがダメですわ。手抜きで値がコロコロ変わる。

何回か改良させて完成。

計測値も安定しているし、いい感じじゃないだろか。
AI使えるとは、便利な時代になったもんだ。(が、退化まっしぐら)
確かに効率は上がるけどもね、その先の発展は無くなる。
 
=======以下はソース=======
Arduinoと安価なIRセンサー基板を使った扇風機の羽を対象とした回転数計測器を作りたい。
羽根にはアルミ箔を貼って反射率を高めてパルスを捉える。
Arduino側では基板信号をキャッチする。
パルスを拾って回転数を計算させる。
そんな感じの簡単な装置でOK
まずは概要を提案して
  :
ソースを表示して 
(など改良を数回)
  :
数回分を平均し、整数だけ表示するように変更し、全ソースを表示して
ただし、回転数が上がっても3秒に一回シリアル通信するだけに制御
 
【GPT回答】

2026-06-20

条件を反映した版です。

変更点

・直近5回分の回転周期を平均化
・表示は整数RPMのみ
・シリアル出力は3秒に1回だけ
・内部では常時測定
・ノイズ除去
・停止判定あり

volatile unsigned long pulseInterval = 0;
volatile unsigned long lastPulseTime = 0;
volatile bool newData = false;

const int AVG_COUNT = 5;

unsigned long intervalBuf[AVG_COUNT];
int bufIndex = 0;
int bufCount = 0;

unsigned long lastPrint = 0;

float rpmFiltered = 0;


void pulse()
{
    unsigned long now = micros();

    // 10ms以下はノイズ扱い
    if ((now - lastPulseTime) < 10000UL)
        return;

    if (lastPulseTime != 0)
    {
        pulseInterval = now - lastPulseTime;
        newData = true;
    }

    lastPulseTime = now;
}


void setup()
{
    Serial.begin(9600);

    attachInterrupt(
        digitalPinToInterrupt(2),
        pulse,
        RISING
    );
}


void loop()
{
    unsigned long interval;


    // 新しい回転周期を取得
    if (newData)
    {
        noInterrupts();
        interval = pulseInterval;
        newData = false;
        interrupts();


        if (interval > 0)
        {
            float rpm = 60000000.0 / interval;


            // 扇風機範囲
            if (rpm >= 50 && rpm <= 3000)
            {
                intervalBuf[bufIndex] = interval;

                bufIndex++;
                if (bufIndex >= AVG_COUNT)
                    bufIndex = 0;

                if (bufCount < AVG_COUNT)
                    bufCount++;


                // 周期平均
                unsigned long sum = 0;

                for (int i = 0; i < bufCount; i++)
                {
                    sum += intervalBuf[i];
                }

                unsigned long avgInterval =
                    sum / bufCount;


                rpmFiltered =
                    60000000.0 / avgInterval;
            }
        }
    }


    // 1秒間パルスなし → 停止
    if ((micros() - lastPulseTime) > 1000000UL)
    {
        rpmFiltered = 0;

        bufCount = 0;
        bufIndex = 0;
    }



    // 表示は3秒ごとだけ
    if (millis() - lastPrint >= 3000)
    {
        lastPrint = millis();

        Serial.print("RPM = ");
        Serial.println((int)(rpmFiltered + 0.5));
    }
}

動作イメージ

低速

RPM = 520
(3秒)
RPM = 518
(3秒)
RPM = 521

高速にしても

RPM = 1240
(3秒)
RPM = 1252
(3秒)
RPM = 1248

のようになります。

また、3秒表示なのでシリアルモニタが流れず、扇風機の風量切替確認用として見やすい設定です。

本日から4週にわたって講座開催。私はサポータで出仕

朝からExcel+大嫌いなWordで直前実習

やっぱりクセが悪いわWord。皆さん奴隷脳にされて平気で使い続けるらしい。

本日内容はExcelで作ったデータをWordで差し込み印刷するというところだが、

印刷条件をif then で柔軟に対応するとかは良い機能だが、

最重要ポイントが「Excelでの書式(日付と数値,区切り)がWordへ反映されないので、矯正する。というもの。

編集記号をON設定にして、

  \@ "GGe年M月d日(aaa)" 
  \# "#,##0"
を入力しさらに更新を押すという作業。
はぁ?

印刷条件でif then を作り付けるとかは良い機能だが、

くだらん機能を毎年毎年追加する儲け主義は続けてるが、ユーザの利便など全部置き去りなまま数十年。
講師もやんわりと「この措置も安定動作しないことがあるが、腹立てると負けです。何回でもやり直しましょうね」だってさ。これイヤミだろ。長年の怒りがにじみ出ている。
なので、私は未だに一太郎13w
 
サポータも走り回りましたとさ。
帰ってサイト更新、新入会案内送信、金銭管理、そして葡萄システムの記録
疲れたよ。
 

入手した充電式ファン全体の製品完成度はイマイチ(フツー★3)だが、謳い文句は「最大パワーで22時間」

電池容量計測もできないし、やったとて余り意味がない。

実は先日から2件ほど空調服バッテリの電池容量推測(※)&爆風持続時間計測をやったが、

やはり実測のほうが説得力がある。
入手する側も(私自身)何万mAhなんかで書かれてもピンとこないし、結局マニアの自己満でしかない。

ということで、以前からやらないとマズイと思っていた、実測装置作成に取り掛かった。

ほんとに長時間にわたるので付きっ切りにはなれないし、終了したことに気づかなければ全部パー

カメラを回すのも無駄だし22時間だからねぇ。

おまけに容量偽装が有りうるので、数分の一で終わるかもしれない。

 ※数日後に計測器接触不良が生じたので計測結果数値の掲載は取りやめ。

ーーーーー

思えばマジで工作するのは、micro:bit講座無線ネタが終わった3月以来。
さて、どうやったら効率的に稼働時間が測れるか。

音、振動、光、電流、等々いろんなセンサーがあるし、それをどう使用するのがいいか・・

精度、簡単さ、経済性、応用性とかも考えないといけない。

結局、超アナログに「風の力を赤外線で動いてる/止まった」を測ることにした。

これで、公称時速時間が正しいか(容量偽装?)だけは確実に判明する。

これでイイのだ。

色んな角度からのプレビューが出るんだし、実際にやるヤツはほぼいない。一人勝ち!

 

【風をどう測るか】

そりゃ吹き流しでしょ! ということで、

  ・細長い紙を2枚紙テープで繋いで、「字型とし

  ・片側は扇風機の枠へ固定、片側をファンの上に伸ばす

  ・先端にアルミ箔の反射板を付けて

  ・赤外線物体センサで反射を検知する

  ・風が無くなりしおれると(Λ型)反射が無くなるので、電池切れと判断

  ・終了時間までを記録する。

と決めた。

まずはマスクテープで髪を折って、扇風機に付けてみる。情けない。

 

発展形として、勢いでストローでレールを作って風力で上下(しそうな)物体を作る。

確かに動くが適当な作りで精度が出ないので、あまりスムーズに動かない。

アフォですね。シンプルイズベスト!

しょうがないので、元の「字型構造に戻るw

結局ここまでで約2時間

どこで入手したか忘れたプラ被膜付き針金(赤色)これがすごく良い

自由な形が手で簡単に作れ、そこそこ強度があって、固定も楽と三拍子そろってる。

これを加工しP型の紙で作った部品をテープで固定、先端の□と軸は、紙テープで折れ曲がる構造

先端の□は広くして、赤外線反射用のアルミ箔を貼り付け。

首が、起動時の勢いで背中側におれないように爪楊枝でストッパを付けた。

我ながらいい感じじゃん!

 

続いてマイコンとセンサー側

OSMO専用で使い道がなくなったブドウ園由来の小型三脚へ固定台座から作り付け、

部品あれこれをゴム紐で固定(有孔板で基盤作成

こういう固定台座って安定計測には案外必須。

でないと、設置/移動の際にケーブルやらアレコレがグジャグジャになって、

結局どこかが断線で失敗・・みたいな結果になりやすい。

 

過去のMyブログ記事を検索して、micro:bitを使って

 ・赤外線センサー基盤(没ネタ 獅子舞くん

 ・OLED表示板(パケットモニター

を使って、プログラムを作成

こちらは過去実績があるのでスムーズに進行。

結局20時過ぎにイチから作り始めて、プログラム完成が午前1時半

今回は超高速で出来上がりました! 我ながら感心している。

翌日朝早かったので睡眠不足。ちょっとお疲れモードでした。

でもねぇ、これ会心の作なんだよ。

 

==========

  動作試験

==========

あれこれ動作試験などを経てプログラムを改良し、(※ここでUSB計測器の接触不良が判明)

翌日昼14:35から連続運転試験を開始

そろそろ7時間目に入りました。マイコンは夜を徹して動き続けております。

ブドウ農園でもらった空調服用バッテリー、7時間で5%使用した。

21時間なら85%程度は残るはずだ。

micro:bitは低消費電力なので良き。

という販売ページの記載。明日の昼まで動くはずだが・・・どうなんでしょうか。

 

 

======================

 扇風機が何時間動くかを計測するプログラム

======================

プログラムは こちら



Pin1に赤外線検知基板を結び、アナログ値を読み取る
動作試験する対象は今のところ扇風機なので、
 ファンが動いてると反射板が風で立っていて、赤外線を反射する
 ファンが止まると、反射板が倒れて、反射が返らなくなる
ことを利用して稼働時間を計測する仕組み。

反射があると値が1000以上ある。無いと17程度に落ちる
これを判断し何時間何分何秒動いたかを計測する。
現在2秒単位程度で動いてるが、本来は分単位ででOKと思う。

I2Cで繋いだOLEDへ詳細情報を表示する。
起動からのマイクロ秒を時分秒表示に変換

 

怒涛のぶどう狩り8件をやっとこなして、夕方から終末から始まる講座のテキスト印字に出かけた。

本日は男性は私一人で、あと4人は女性

賑やかに同じペースで喋りイジるので、脳が超活性化されますw

 

帰宅したらまた葡萄収穫が2件 orz (Primeお試しの呪いがまだ残っている)

今回は中身が濃い品なので、手間がかかるがそれもまた面白い。

まずは事前勉強してから、開封する。

最近ちょっとズルくなって、ますAIにネット上の評価をリサーチさせ、評価ポイントをまとめさせる。

記事を書くうえで必要な内容や気をつけるポイントも列挙させてから、実際の評価を開始する。

これで内容に落ちがないw

 

電気系はパチモンや半/完全詐欺品がたまに混ざるので、AIとともにギチギチと追い詰めていく。

いーかげんなヤツラがテキトーな★5個記事を書くんだが、それをひっくり返すのも、ある意味痛快w

ま、そういうヤツラって他人の記事なんか読まないだろうし、記事修正・追記なんかもしないだろうな。

ホントいい勉強になります。

ここ暫く空調服関係のバッテリー容量を検査することが多い。

普通は放電器を使って、5V充放電で実効容量を出してるんだが、


この空調バッテリ、1/3程度しか実用量がでないっぽい。

個人的な発言をするなら「容量詐欺」レベル

うっかり断定もできないが、実験結果を淡々と書き込む。

非情のライセンスだ。

 

空調服の場合はやはり実際にどの程度稼働し続けるかを出さないとマズイよね。

ということで、空き箱を使って実験装置を作ってみた。

このバッテリ、サイトでは「50V出力で3.5時間持ちます」という売り込み。

5分おきの撮影でピン球が落下するまでを撮影するという、超アナログ手法で採証開始

20年前のリコーDigitalを使ったタイムラプス

だけど現役退任カメラなのでポンコツバッテリー。3時間は電池が持ちそうにないし、外部電源持ってない。

今回は部屋の外へ置いてテストをしたが、スピーカBOX構造でまるでヘリが駐機場で待機しているような爆音

気にする人だと気が狂うだろうな・・

 

あああ・・・やっぱりカメラ電源が持たなかった。

 

マイコン使って、ピン球落下を通報する装置を作ろ。

 ・赤外物体検知基板でピン球の検知+時間計測

 ・落ちたらリレーで玄関ピンポンを鳴らす

これもやっつけ装置だなぁ・・・(動きゃいいんですっ)

カッコよくやるならクラウド経由でメール通知なんだが、面倒くさw

暇になったら、やってみるかも。

 

ーーーーーーーーーー

あれこれ遊んでる内に秋文化祭のゲームネタを思いついた。

今を去ること60年前にあったゲーム。確か花の都Tokioでやったヤツ(広島には無かった)

月面車に設置された巨大パラボラの上空5cm辺りにボールを浮揚させ、A点からB点へ運ぶと言うやつ。

これ、この爆風ファン+パチモンバッテリで作れるじゃんか。

 

どうせ空調服自体を持ってないんだし、着る予定もないんだし。(暑い盛りは日陰に籠るので)

昨日空調服がどんなもんかコーナンに見に行ったんだけど、服だけで3300~4400円するので、恐ろしくて手が出ませんでした。

着もしないものに、年金生活者はそんな無駄金出せません。

それにしてもMakitaなどの一流製品は、一式33,000円もする。驚きだ。

5Vの貧相なバッテリとファン+服セットでも11,000円!