見出し画像

33.3回転へ、道半ば

結構諦めが悪いやつ!
よく言えば、ネチッコイやつ!
俺のことです。

Arduino のスケッチでは、理論的に正しくても、実際にターンテーブルを回してみると、なかなか思う様に動いてくれないので、そろそろ、諦めて、市販の単純なPWM制御基盤を使って、ボリューム調整だけで完成させるという事もあり、と頭の中では理解しているのだけど、気持ちが諦められないらしい。

Arduino一台に全仕様を詰め込むと、負荷がかかりそうなので二台のArduinoを連携して試してみることにした。
ターンテーブルの回転数をフォトレジスタセンサーで読んだ値を取得して、それを元に、33.3回転よりも速すぎる場合は、PWMを下げる、逆の場合は、上げる様に指示するスケッチをArduino UNOに書き込み、そのUNOから受け取った指示を元に、NANO Every側で実際にPWM出力を行うという二台のArduinoでターンテーブルを回そうとしている。

本来は、UNOとNANO Every間は、シリアル通信(TX→RX)で行えばいいのだろうが、いくらやっても繋がらなかった。
なので、digitalピン(7、8ピン)を使って、UNOからHIGH、LOWを送り、NANO Everyでそれを受け取って、そのステータスを使い、PWM値を増減するというスケッチを組んだ。

33.3回転の精度を突き詰めると、PWM値が頻繁に上がったり下がったりする。そして、Arduinoでは、256段階しか値を指定できないので、一ポイントの上げ下げだけで結構音が揺らいでしまう。

なので、PWM値をできるだけ変更せず、モーターの安定稼働にできるだけ頼る様なセッティングに変えてみた。つまり、センサーでは、35.5回転、もしくは、31.5回転の閾値を超えた場合だけPWM値を上げ下げすることにした。

すると、かなり安定した回転をキープして、聴いていても違和感が少なくなって来た。

今使っているモーター(写真の一番左)では、以前使っていた中古のモーターと違い、無負荷では安定して回ってくれるのだが、針をターンテーブルに落とすと回転数が落ちるし、上げると回転数が上がってしまう。
秋葉原で数百円で手に入れたものだが、トルクが足りないのだろうか?

最近手に入れたDCモーター

今日、新たにNIDECの数千円のDCモーターを手に入れた。12Vを出来合いのPWM基盤を介して回してみると、結構力強いのがわかる。これがトルクが強いというのだろうか?

次なる挑戦は、このNIDECのDCモーターを使ってArduinoで動かしてみようと思う。
そうすれば、針の芯圧による回転数への影響は少なくなるのではないだろうか?と思っている。

というわけで、まだまだ実験は続きそうである。