ソロでたのしむ

キャンプ、電子工作、DIY、乗り物などの趣味を紹介

キャンプでもシュラスコ! アウトドアで使える電動ロティサリーを自作します

ソロキャンプでも、ロティサリーチキンのような回転焼きを電動で楽しみたい!と思い、ステップモーターとArduinoで、小型の電動ロティサリー(回転BBQ器)を自作してみました。

ロティサリーBBQをコンパクトに楽しもう!Arduinoと28BYJ-48で小型の電動回転丸焼き器を自作

ソロキャンプで焼くもの

ソロキャンプでは、チキンの丸焼きは食べきれませんが、手羽やモモ肉など小さめの食材であれば、ロティサリーを使って網焼きとは違った食感が楽しめそうです。

屋外でのBBQでは、網を使ってソーセージを焼くことが多いですが、曲がっているソーセージは焼きムラができてしまい、曲がっていなくても網の上で転がっていってしまうことがあります。

ロティサリーを使えば、ソーセージのような形のものでも、転がる心配をせずに全周を均一に焼くことができそうです。

小型のロティサリーマシンを自作します

ソロキャンプ用の電動ロティサリーで、食べることだけでなく、食材がクルクル回りながら食べごろに焼きあがる過程も、見て楽しみたいと思います。

出力軸を低速回転で動かすことができれば、簡単な工作でつくれそうです。

ソロキャンプスタイルにちょうどいい大きさの電動ロティサリーを自作してみます。

部品の準備

動力部は、低速でも定電圧で動かせるステップモーター28BYJー48を、Arduinoで速度制御して動かします。

f:id:solocamptouring:20181008230435j:plain

回転速度は、可変抵抗(ボリューム)で自在に変えられるようにします。

串を脱着する時には、可変抵抗は操作せずに回転を止めたいので、電源用のスイッチを設置したいところです。

しかし、お気に入りのミサイルスイッチの入手が間に合わなかったので、当分はモバイルバッテリー側のスイッチで代用します。

  • Arduino
  • ステップモーター
  • スイッチ
  • 可変抵抗

駆動力の伝達部は、ユニバーサルジョイント2個で繋いで、BBQ台にのせる串と駆動部の出力軸との軸位置ズレを吸収します。

伝達軸は、ステップモーターの出力軸径と同じ大きさのφ5mmのアルミ棒を使います。

  • φ5mmアルミ棒
  • 同軸ジョイント#1(モーターとアルミ棒)
  • ユニバーサルジョイントx2個
  • 同軸ジョイント#2(アルミ棒と串)

f:id:solocamptouring:20181007064334j:plain

その他、モーター格納用のボックスや、同軸ジョイント#2と串を固定するための、手で締め付けられるネジなども使用します。

機構部を作ります

動力伝達部のジョイント類は既製品を使うので、ほとんどネジの締め付け作業だけで組み上げられます。

軸位置のズレ吸収用ユニバーサルジョイントを2個、動力伝達軸の途中に入れておきます。

f:id:solocamptouring:20181007064435j:plain

串との接続部だけは、様々な串への汎用性を持たせるために穴を拡大したり、手でまわすことができる大きさの締め付け用ボルトを取り付けられるように加工しました。

回路図

Fritzingで回路図をつくりました。

Rotisserie_回路図

電源はモバイルバッテリーから供給して、スイッチで全供給電源をオンオフするようにします。

Arduinoとモーターは並列に電源供給して、Arduinoに過大な電流が流れないようにしておきます。

回路図左側の可変抵抗で、中央のステップモーターの回転速度を変えられる回路になっています。

回路図の右半分は、完成品で入手できるモータードライバーボードを使いました。

 

Arduinoでステップモーター28BYJー48を回す制御仕様

今回は、可変抵抗でステップモーターのスピードを変える、基本的な手法を使います。

最初に、可変抵抗で調節した電圧を、Arduinoで読み取ります。

Arduinoでは、可変抵抗の電圧を回転速度に変換して、その回転速度に合わせたパルスをステップモータードライバーに出力します。

Arduinoの入出力ポートは5か所しか使わないので、はんだ付け作業も楽ですね! 

f:id:solocamptouring:20181008230805j:plain

28BYJー48とArduinoをボックスに取り付けます

ステップモーターやArduinoを入れるのにちょうどいい大きさの、プロジェクトボックスを入手します。

重量感がある印象にしたいので、アルミのボックスを選択しました。

f:id:solocamptouring:20181014165431j:plain

ステップモーターとスイッチ類を取り付ける穴を開けて、全ての部品を取り付けたら完成です。

ロティサリーチキンの代わりに、ソーセージとたこ焼きで試してみます

ソロキャンプ用のロティサリーなので、焼き鳥サイズの串を回してBBQをします。

ステップモーター28BYJー48は、ロティサリーにちょうどいい回転速度域では、よほど大きく重いものを串に刺さなければ、充分なトルクがあります。

少し軽めのものですが、私のキャンプ飯の定番!、ソーセージで試運転をしてみます。

ソロキャンプでいつも使っている小型ウッドストーブで炭をおこして準備します。

ウッドストーブの外縁2カ所に事務用クリップをつけて、その持ち手部分に串を通して、ソーセージを回します。

ゆっくりと回っているのを見ているだけで、電動ロティサリーを作った満足感で癒されます。

約3分で、表面をほぼ焦がさず、均一に焼き上げることができました。

youtu.be

ソロキャンプでいつも楽しんでいる、冷凍たこ焼きも、ロテイサリーで「表面カリッ、中はトローッ」と焼き上げてみました。

f:id:solocamptouring:20181014165938j:plain

まだトルクに余裕があるので、もっと重いものを焼く時でも使えそうです。

アタッチメントを工夫すれば、手動で回していたバームクーヘンにも応用できそうです。

...後日談...

数年にわたり、こっそりとキャンプでもシュラスコを楽しんでいましたが、やはりキャンパーさん達の要望は同じですね~

なんと、ロゴスさんからくるくるクッキングリルが発売されました!

私が自作したものとは違い、たいへんコンパクトに作られており、また別売の回転網を使えば魚などの平たいものも回転させられる優れものです。

自作しなくても簡単に入手できるので、キャンプ場で電動ロティサリーのお仲間を多く見かける日が遠くなさそうですね。

28BYJー48を実用するスケッチ(プログラム)

最後に、ステップモーター28BYJー48を回すスケッチを紹介いたします。

速度は変えられますが、とにかく回し続けるだけの短いスケッチです。

回転方向は、時計回りと反時計回りの両方に対応できるようにしていますが、実際には時計回りだけで使っています。

int motorPin1 = 4;    // Blue   - 28BYJ48 pin 1

int motorPin2 = 5;    // Pink   - 28BYJ48 pin 2

int motorPin3 = 6;    // Yellow - 28BYJ48 pin 3

int motorPin4 = 7;    // Orange - 28BYJ48 pin 4

// Red    - 28BYJ48 pin 5 (VCC)

int volumePin = 5;

int motorSpeed;

int motorSpeedtimes = 3;

int speedMax = 1500 ;

int waitSpeed = 0 ;

int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};



void setup() {

  pinMode(motorPin1, OUTPUT);

  pinMode(motorPin2, OUTPUT);

  pinMode(motorPin3, OUTPUT);

  pinMode(motorPin4, OUTPUT);

  Serial.begin(9600);

}

void loop() {

  motorSpeed  = 1024 * (motorSpeedtimes + 1) - (analogRead(volumePin) * motorSpeedtimes) ; //0to1023 change into speed

  clockwise();

}
void anticlockwise() { for (int i = 0; i < 8; i++) { setOutput(i); if ( motorSpeed > speedMax ) { waitSpeed = motorSpeed - speedMax ; delayMicroseconds(speedMax) ; digitalWrite(motorPin1, 0); digitalWrite(motorPin2, 0); digitalWrite(motorPin3, 0); digitalWrite(motorPin4, 0); delayMicroseconds(waitSpeed) ; } else { delayMicroseconds(motorSpeed); } } } void clockwise() { for (int i = 7; i >= 0; i--) { setOutput(i); if ( motorSpeed > speedMax ) { waitSpeed = motorSpeed - speedMax ; delayMicroseconds(speedMax) ; digitalWrite(motorPin1, 0); digitalWrite(motorPin2, 0); digitalWrite(motorPin3, 0); digitalWrite(motorPin4, 0); delayMicroseconds(waitSpeed) ; } else { delayMicroseconds(motorSpeed); } } } void setOutput(int out) { digitalWrite(motorPin1, bitRead(lookup[out], 0)); digitalWrite(motorPin2, bitRead(lookup[out], 1)); digitalWrite(motorPin3, bitRead(lookup[out], 2)); digitalWrite(motorPin4, bitRead(lookup[out], 3)); }

f:id:solocamptouring:20181014164507j:plain

ロティサリーを導入したことで、

  • 焼いて
  • 見て
  • 食べて

の合計3回楽しめるようになり、キャンプの食事時間が、さらに楽しくなりました!