2018年7月28日土曜日

棒テンプ時計の精度アップ Ver3

メーカーフェア東京2018に出展しました。ご来場の皆様ありがとうございました。


Ver2(リンクはこちら)では糸の長さ調整をリニアサーボで行っていましたが、動作音が大きいのと、故障しやすいことから、ステップモーターに変更しました。

写真です。ステップモーターのねじのストロークは約17mmです。



ステップモーターのドライバーとしては、TIのDRV8834を載せたPololuのボードを使用しました。電流制限があまり小電流にならないので、ENABLE端子をSTEP端子と接続して、パルスの無いときは電流を流さないようにしています。
回路図です。



3日ほど連続で動かして、誤差は+/-10秒に入っています。下の写真が直近8時間のデータで、青い線が誤差(左目盛り、単位秒)、赤い線が制御出力の相対値のグラフです。



2018年7月14日土曜日

サーボを使った超簡単倒立振子

連続回転型サーボを使って簡単に作れる倒立振子の実験をしてみました。赤外線リモコンで操縦できます。


全体像です。


基本は3つのモジュール。これらを両面提テープで貼り付けてあります。


ブレッドボードです。ジャイロセンサーは、GR-KURUMIの使っていないピンの部分に装着しています。


車輪は、サーボホーンに自己融着テープを巻き付けています。


回路図です。赤外線センサーと圧電スピーカーは無くても倒立はします。



ソースコードはこちら

2018年6月13日水曜日

振り子時計の精度改善 - その2

メーカフェアプラハでMAKER of MERIT賞をいただきました。
メーカーフェア東京2018にご来場の皆様、ありがとうございました。




以前実験に使った振り子時計(リンク)は、大きすぎてメーカーフェアに持って行けないので、小型の振り子時計を入手しました。高さ50cm程度のものです。



ドアを開けたところ。



調整デバイスはWROOM-02-DEVを使って作り直しました。



遅れ進みのデータをブラウザでグラフ表示(青線)できるようにしました。正が進み、負が遅れです。+2/-1秒以内に収まっています。赤線は正が振り子を上方向に押し上げる方向、負が振り子を下に引っ張る方向の磁力線の強さを表します。



振り子を350秒ほど止めた後の復帰の状況です。約4時間で誤差がなくなっています。(上はスマホの画面ですが、こちらはタブレット)。



回路図です。



ソースコードはこちら(Source Code)


2018年5月19日土曜日

錘式時計の自動巻き上げ機構

写真の棒テンプ時計は、1日に2回ほど錘を巻き上げる必要があり、結構面倒なので、これを自動化する機構を考えました。錘の紐をループにして、ゆっくり回るモーターで引っ張ります。





モータはAC100Vで1分間に1回転する仕様のものです。これに木製のプーリーを取り付け、紐をかけます。下にぶら下がっているボトルが錘の代用で、330㏄の水が入っています。この重さで紐とプーリーの摩擦を適度に調整します。



下の写真で木製プーリーは反時計方向に回転します。小さいアイドラは紐の引っ張り力を一定に保つ効果を持たせるために付けいています。なんらかの理由で引っ張り力が強くなると、モーターが時計回りに傾くので、モーターケースに固定されているアイドラが紐を右側押して、紐とプーリーの接触の長さが短くなり、引っ張り力が小さくなるという仕掛けです。アイドラの有り無しでの違いは検証してませんが、とにかく、1日2回の巻き上げをしなくて済むようになり、快適です。


2018年4月18日水曜日

棒テンプ時計の精度アップ Ver 2


メーカーフェア東京2018に出展します。



昨年のメーカーフェアでは、棒テンプの慣性モーメントを変えて往復回転運動の周期を調整するデバイスを紹介しました(リンクはこちら)。

今回は、棒テンプを吊っている糸の長さを変えることによって周期を調整する方式に変更しました。こうすることによって、デバイスは時計本体に固定されるので、ACアダプタから電源を供給できるようになりました。消費電流を気にしなくてよいので、WIFIでネットに接続してNTPから正確な時刻を取得します。またデバイスにWebサーバーを持たせ、タブレットなどのブラウザで履歴の確認やパラメータの変更ができるようにしました。


全体像です。本デバイスは時計本体の上部に固定され、赤外線センサーで棒テンプの回転を検出します。これより計算された時刻と、正しい時刻を比較し、誤差に応じて棒テンプを吊っている糸の長さを調整します。長さが長いときは棒テンプの周期も長くなり、短くなると周期も短くなります。


デバイスを上から撮った写真です。



デバイスを正面から撮った写真です。



周期調節部分の拡大です。吊り糸押さえより下の部分のみが捻じれるようにしてあります。吊り糸押さえを上下することにより、吊り糸の実効長を変化させ、棒テンプの周期を変えています。



回路図です。



タブレットで時刻誤差(秒)の履歴の一部を表示した写真です。109分前に8秒遅れ、60分前には11秒の進み、現在は4秒の遅れという履歴が読み取れます。棒テンプの周期が約4秒なので、現在のアルゴリズムではとびとびの秒数となります。最大15時間分の履歴が表示されます。



実験に使った棒テンプ時計は、ギヤが木製で、きちんとメンテナンスをしていなので、一日数分の誤差が生じ、これが毎日累積していく状態でした。この時計に本デバイスを取り付けて、自動調整を行った結果、一日の誤差は1分以内となりました。また時計の特性が大きく変化しない限り、原理的に誤差の累積はありません。

24時間のデータです。青が時刻の誤差(秒)です。


2018年3月20日火曜日

Improving Accuracy of Pendulum Clock





https://prague.makerfaire.com/makers-exhibits/
Maker of Merit prize won at Maker Faire Prague 2018!




Spring-powered pendulum clocks have accuracy of 10 seconds to a few minutes per day, and the inaccuracy accumulates every day.  The clock in the picture for this project is probably 50-year old and I could not get the accuracy better than 30 seconds per day.   We will see how it gets improved.


The period of pendulum swing cycle is
T = 2 * pi * sqrt( L / g )
where L is the length of the pendulum and g is the acceleration of gravity.
The idea of pendulum tuning is to add/subtract magnetic force to/from the gravity force and change the T.
 T' = 2 * pi * sqrt( L / (g + A/M) )
where A is the magnetic attraction force to the pendulum, and M is the mass of the pendulum.


Top view of the device.



Below is the side view.



Schematic diagram


The clock above should make 130 pendulum cycles per 147 seconds according to the gear train reduction ratio.  The time of the clock in seconds is
tc = C * 147 / 130
where C is the cycle count of the pendulum.
Every 60 seconds, tc is compared to the CPU time, and depending on the difference between the two, appropriate power is applied to the coil.
CPU time is calibrated every 5 minutes with NTP time server.


The device has web server function and any browser can access through WIFI connection.  The device status as well as the accuracy and coil power history for the last 15 hours can be displayed.  Below is a tablet screen showing a part of the accuracy history (in seconds).  In addition, device parameters can be modified with web browser.



Below is a graph showing time error and relative current on the coil for 26 hours.  A big delay on the left is because the pendulum was stopped for about 25 seconds during spring winding.  Other than that, the accuracy was within 2 seconds.



The latest hardware and software are here.




Click here to see another project for a wood foliot clock.  (in Japanese)



2017年11月8日水曜日

DRV8835を使った2輪倒立ロボの小改良

昨年作ったDRV8835利用の2輪倒立ロボの、その後の改良です。

赤外線受信素子を搭載し、テレビのリモコンで操縦できるようにしました。手持ちの東芝RegzaとLAPIOという液晶TVのリモコンのコードをデコードするようにしてあります。


モーターのPWM音が低周波でうるさいので、周波数を上げました。
このため、今まではモータードライバ用にProMiniの4,5,6,7番ピンを使っていましたが、8,9,10,11番ピンに変更し、
TCCR1B = TCCR1B & B11111000 | B00000001;
でPWM周波数を変更しています。


モーターからのノイズ対策を強化しました。それでもモーターに大電流がながれるとProMiniがリセットされてしまうことがあります。回路図です。