2024年2月9日金曜日

hp50gで自由落下の運動方程式を解いて組み込み用の計算式を作成

重力加速度gは、自由落下の運動方程式を解くことで求められる。

手で計算しても良いのですが、手元にhp50gがあるので

これを使って運動方程式を解いてみる。

求めた計算式は、重力加速度計の計算プログラムに

組み込む予定。


hp50gは、微分方程式を解くのに

DESOLVE  <= コマンド 

を使う。


重力加速度の計算式の求め方



計算式を組み込み用に書き直す



計算式を組み込むための注意点

PIC16F1705のメモリーサイズは、

    プログラムメモリー: 8kW

    データーメモリー        1K byte

プログラムサイズが大きくならないように考慮する必要がある


考慮する点

  • 落下時間の計算は、小数点付き行う (float)
  • LCD表示は、整数表示とする (int)
  • printf()関数は使わない

組み込み 計算式

    gravity = 2 * Length / fallTime / fallTime * 1E6  * 1E3

        重力加速度 g の計算は、Length[m] , fallTime[sec] でなされる。

        PICの時間測定値は、[msec] なので、1E6をかけている

        gravityの結果は、小数点付きなので 1E3(1000倍)している

まとめ

上の組み込み計算式を使うと、次のように表示される

                            計算値    LCD表示
重力加速度 g    9.800        9800

上記で考慮した重力加速の計算式を
プログラムに組み込む。


PICのような小メモリのマイコンを使う上での泣きどころが

がこの辺の制約です。

STM32シリーズのようにメモリーが多いチップならば

この問題はないが、使える機能は少ないため

外部のセンサーなどを接続するには向かない。



0 件のコメント:

コメントを投稿

手作り電磁石の力をゼムクリップで計ってみた

手作りした電磁石があるので どのくらいの錘を吊り下げられるか 計ってみることにした 調べると、 バネ計りを使う方法などが紹介されているが 家にはないので、身近なもので試す。 大きなおもりの下にゼムクリップを ぶら下げていき、クリップが落ちた前が 限界とすると...