落ち葉掃除機その2
はじめに
以前製作した砂利敷用落ち葉掃除機では大きい葉が吸い込み口に水平に引っかかることがあり、そうなると一旦スイッチを切る必要がありました。
かといって吸引力を強くすると砂利や土も吸い上げてしまいます。
そのため吸い込みパイプの直径を大きくすることを検討していました。
そうこうしているうちに、百均の店で底面までメッシュになったバスケットを見つけました。
これを"ふるい"として使えば、落ち葉と砂利や土を簡単に分離できそうです。
さらにバスケットの側面に穴を開け、その前に回転ブラシを取り付けて掃除機にすることを思いつきました。
バキューム式の掃除機より"回転ブラシ+塵取り"方式の方が短時間で掃除できるような気がしたので作ってみました。
収納や作りやすさを考えて、今回も柄付きではなくひもで吊り下げて使う形にしました。
またバキューム式と比べてモーターパワーを必要としないので、大きなLiPo電池ではなく単3型充電式電池(eneloop)3本でOKとなりました。
使ってみたところ大きな落ち葉でも引っかかりがなくなり掃除時間が短縮できると思います。
かといって吸引力を強くすると砂利や土も吸い上げてしまいます。
そのため吸い込みパイプの直径を大きくすることを検討していました。
そうこうしているうちに、百均の店で底面までメッシュになったバスケットを見つけました。
これを"ふるい"として使えば、落ち葉と砂利や土を簡単に分離できそうです。
さらにバスケットの側面に穴を開け、その前に回転ブラシを取り付けて掃除機にすることを思いつきました。
バキューム式の掃除機より"回転ブラシ+塵取り"方式の方が短時間で掃除できるような気がしたので作ってみました。
収納や作りやすさを考えて、今回も柄付きではなくひもで吊り下げて使う形にしました。
またバキューム式と比べてモーターパワーを必要としないので、大きなLiPo電池ではなく単3型充電式電池(eneloop)3本でOKとなりました。
使ってみたところ大きな落ち葉でも引っかかりがなくなり掃除時間が短縮できると思います。
回転ブラシ
回転ブラシでちょうど良さそうなものを探しましたが見つけることが出来ず、自作しました。
最初にプラスチックの細いひもを使おうとしましたが接着が面倒で途中であきらめました。
最終的に弾力のあるTPU 64Dというフィラメントで断面1.2mm角、直径106mmの"放射状の毛"を3Dプリントしました。
"放射状の毛"(brush.stl)を溝付き円盤(brush_hub.stl)2枚と連結用円盤(brush_spacer.stl)2枚で挟んで接着しました。
最初にプラスチックの細いひもを使おうとしましたが接着が面倒で途中であきらめました。
最終的に弾力のあるTPU 64Dというフィラメントで断面1.2mm角、直径106mmの"放射状の毛"を3Dプリントしました。
"放射状の毛"(brush.stl)を溝付き円盤(brush_hub.stl)2枚と連結用円盤(brush_spacer.stl)2枚で挟んで接着しました。
できたブラシ付き円盤21枚を外径8mmのアルミパイプの軸に挿し、両端の円盤のみM3のタップ加工をしたストッパー(brush_stopper.stl)を接着してΦ3mmイモネジで軸に固定しました。
以下が使用した3Dプリント用stlデータです。
brush.stl
brush_hub.stl
brush_spacer.stl
brush_stopper.stl
TPU 64Dの弾力のあるフィラメントはスライサーソフトのフレキシブルフィラメント用設定を使ってゆっくりプリントする必要があります。
軸に固定する円盤はABS樹脂フィラメントで3Dプリントしたので、刷毛付きの缶に入った塩ビパイプ用接着剤で接着しました。
モーターとギヤ比
モーターは秋月電子通商で扱っているRS-385PH-4045を使いました。
別途、固定用M2.6のL=5~6mmのネジが2本必要です。
値段が高くなりますが同形状のマブチのRS-380PH-4045も使えると思います。
こちらにはM2.6ネジが付属しています。
当初ギヤとプーリーで1/12に減速して試作しましたがトルク不足でした。
なので最終的にギア歯数8対80、プーリー直径20mm対50mmで合わせて1/25の減速比としました。
ギヤのモジュールは0.8と小さめでFDM方式3Dプリンタ(ノズル径0.4mm)で製作するには精度的に余裕がない感じです。
少し形状が崩れて飛び出た部分があったので小さいやすりで修正して使用しました。
ピニオンギヤは3Dプリント後にΦ2.3mmのドリルでモーター軸用の穴を後加工しました。
さらにイモネジ用にM3タップ加工をしてイモネジでモーター軸に固定します。
モーター軸のイモネジに当たる部分は滑り止めのためにやすりで平に削っています。
3Dプリンタ用データを以下に置きます。
モーター台 Motor_base.stl
ピニオンギヤ Gear_M0.8_T8.stl
平ギヤ+プーリー(小) Gear_M0.8_T80.stl
ギヤかみ合わせ調整板 Motor_base_adjuster_T0.4.stl
プーリー(大) Pulley50.stl
別途、固定用M2.6のL=5~6mmのネジが2本必要です。
値段が高くなりますが同形状のマブチのRS-380PH-4045も使えると思います。
こちらにはM2.6ネジが付属しています。
当初ギヤとプーリーで1/12に減速して試作しましたがトルク不足でした。
なので最終的にギア歯数8対80、プーリー直径20mm対50mmで合わせて1/25の減速比としました。
ギヤのモジュールは0.8と小さめでFDM方式3Dプリンタ(ノズル径0.4mm)で製作するには精度的に余裕がない感じです。
少し形状が崩れて飛び出た部分があったので小さいやすりで修正して使用しました。
ピニオンギヤは3Dプリント後にΦ2.3mmのドリルでモーター軸用の穴を後加工しました。
さらにイモネジ用にM3タップ加工をしてイモネジでモーター軸に固定します。
モーター軸のイモネジに当たる部分は滑り止めのためにやすりで平に削っています。
3Dプリンタ用データを以下に置きます。
モーター台 Motor_base.stl
ピニオンギヤ Gear_M0.8_T8.stl
平ギヤ+プーリー(小) Gear_M0.8_T80.stl
ギヤかみ合わせ調整板 Motor_base_adjuster_T0.4.stl
プーリー(大) Pulley50.stl
天板は手持ちの3mm厚シナべニアを2枚重ねて6mm厚として使い、その天板とモーター台の間にギアかみ合わせ調整板を挟んでギア間距離を調整しました。
調整は紙を挟んでもできますが、調整板を3DプリントするとスライサーソフトのZ軸方向のリサイズ機能で任意の厚みにできて便利です。
調整は紙を挟んでもできますが、調整板を3DプリントするとスライサーソフトのZ軸方向のリサイズ機能で任意の厚みにできて便利です。
プーリー(大)はイモネジ用にM3タップ加工してイモネジでアルミパイプに固定しています。
平ギヤ+プーリー(小)にはフランジ付きのベアリング2個をはめてアルミパイプに通しています。
プーリー(大)側のアルミパイプは左右の支柱にはめた同じフランジ付きベアリングで軽く回転するようになっています。
平ギヤ+プーリー(小)にはフランジ付きのベアリング2個をはめてアルミパイプに通しています。
プーリー(大)側のアルミパイプは左右の支柱にはめた同じフランジ付きベアリングで軽く回転するようになっています。
ベルトは外径3mmのウレタンベルトを使用しました。
ループに加工するには切断面をガスコンロ等であぶって突き合わせて溶着します。
その際に位置合わせが楽にできるような治具を3Dプリントして使用しました。
--> Urethane_belt_connection_jig.stl
溶着部ではみ出た部分は刃先の薄いニッパーやカッターナイフで切り落とします。
ぴったりの長さのループを1回で作るのは難しいので少しづつ長さを変えて数本作り、現物合わせでちょうどよいサイズの物を選びました。
バスケットへの部品取り付け
ダイソーで購入したバスケットの側面下側に5cm×19cmの穴を開け、下面に枯葉を掃き込むための傾斜版を園芸用のビニールタイで取り付けました。
傾斜版はアルミ板を曲げて作った方が高さ調整しやすかったと思うのですが、在庫がなかったので3Dプリンタで作りました。
シナベニアの天板は3mmネジとナットでバスケットに固定し、上面にモーター、駆動回路、電池ボックス、下面に支柱をM4ネジ、ナットで取り付けました。
3Dプリントしたstlデータは以下の通り。
傾斜板 Slope_panel.stl
支柱 Pillar.stl
モーター&ウレタンベルトカバー Belt_cover.stl
パイプ止め Stopper.stl
ねじ止めの穴は使用するネジに合わせてドリルやタップで仕上げ加工しています。
傾斜版はアルミ板を曲げて作った方が高さ調整しやすかったと思うのですが、在庫がなかったので3Dプリンタで作りました。
シナベニアの天板は3mmネジとナットでバスケットに固定し、上面にモーター、駆動回路、電池ボックス、下面に支柱をM4ネジ、ナットで取り付けました。
3Dプリントしたstlデータは以下の通り。
傾斜板 Slope_panel.stl
支柱 Pillar.stl
モーター&ウレタンベルトカバー Belt_cover.stl
パイプ止め Stopper.stl
ねじ止めの穴は使用するネジに合わせてドリルやタップで仕上げ加工しています。
機構設計図
JW-CAD用2次元図面データを添付します。
==> Cleaner2.jww
JW-CADで開くとレイヤー0~7に部品別の設計図、8~Fに部品別寸法図が入っています。
上記JW-CADの各レイヤーの重ね合わせとレイヤー別の図をpdf(9ページ)にしたものも添付します。
==> Cleaner2_jww.pdf
==> Cleaner2.jww
JW-CADで開くとレイヤー0~7に部品別の設計図、8~Fに部品別寸法図が入っています。
上記JW-CADの各レイヤーの重ね合わせとレイヤー別の図をpdf(9ページ)にしたものも添付します。
==> Cleaner2_jww.pdf
回路
電源は単三型の充電電池(eneloop)3本としました。
電流が結構流れるので乾電池では内部抵抗による電圧ドロップが大きく、経済的な問題もあり充電電池を使っています。
電池電圧はPICマイコンの電圧上限5Vを超えないため、電圧レギュレーターは省略しました。
電流の検出精度を上げるためにA/D変換用リファレンス電圧をマイコン内蔵の1.024Vにしました。
そのため電源電圧とボリュームからの入力は抵抗分圧して1V以下にしてPICマイコンに入れています。
緑のLEDは電源電圧表示用、赤はモーター電流の平均値表示用です。
回路図を添付します。
dcmdrv-circuit.pdf
電流が結構流れるので乾電池では内部抵抗による電圧ドロップが大きく、経済的な問題もあり充電電池を使っています。
電池電圧はPICマイコンの電圧上限5Vを超えないため、電圧レギュレーターは省略しました。
電流の検出精度を上げるためにA/D変換用リファレンス電圧をマイコン内蔵の1.024Vにしました。
そのため電源電圧とボリュームからの入力は抵抗分圧して1V以下にしてPICマイコンに入れています。
緑のLEDは電源電圧表示用、赤はモーター電流の平均値表示用です。
回路図を添付します。
dcmdrv-circuit.pdf
PICマイコンのPWM機能を使ってNMOSトランジスタをON/OFFし、ブラシの回転速度を制御しています。
NMOSトランジスタはA03400Aにしました。
これは小型ですがON抵抗がVgs=4.5V時に32mΩ以下と低く、仕様はDC電流でMAX5.7A、瞬時ピークは30Aとなっています。
小さい基板で放熱しずらいため実際の電流上限はかなり下がると思われますが、平均で1~2A程度なら問題無いと考えました。
電池やモーター、NMOSトランジスタにつながり大きな電流が流れる配線パターンにはハンダを載せて補強しています。
電池、モーターとの接続はコネクタは使わずに直ハンダで引き出しました。
念のためモーター電流と電源電圧をPICマイコンのA/D変換機能で検出してLED表示や電流制限をしています。(後述)
1本だけジャンパ線のはんだ付けが必要です。
基板関連のpdfを添付します。
部品表 dcmdrv-parts.pdf
裏面マスクパターン(NEG:ドライフィルム用) NEG_dcmtrdrv-B_Cu.pdf
裏面マスクパターン(POS:感光基板用) POS_dcmtrdrv-B_Cu.pdf
ドリルマップ、部品配置図、ジャンパ配線図(2ページ) dcmdrv-map.pdf
基板は片面銅箔基板に感光ドライフィルムを貼ってエッチング、穴あけして自作しました。
回路基板のケースは3Dプリントし、止めネジ用のM3タップ加工をして基板を取り付けました。
circuit_cover.stl
circuit_cover_fix.stl(4個を本体に接着)
dcmdrv-circuit-cover.pdf
ボリューム(13mm径)はケース側に取り付けて3本の配線で基板に接続しました。
電源ON/OFF用に電池と基板間にはトグルスイッチを入れています。
ブラシ回転のON/OFF用プッシュスイッチは基板の2ピンコネクタ経由で配線を引出して接続しました。
alt="Cleaner2_11.jpg">
プッシュスイッチを取り付ける持ち手とスイッチカバーは前回と同様に3Dプリントしました。
ハンドル
LeavesCleaner_Handle_L.stl
LeavesCleaner_Handle_R.stl
裏側にスイッチ配線用の溝があるため、サポート有、充填率25%で3Dプリントしました。
(R側のネジ穴はM4タップ加工、L側はΦ4.1ドリルで仕上げ加工)
電流波形
電流波形をオシロで観測してみました。
電池はeneloop standard 単3×3本フル充電状態で測定しました。
測定点は
[1] 0.1Ωの電流検出抵抗のMOS Tr側端点
[2] 上記から1KΩ+10μFのフィルタを通ったあとのPICマイコン9ピン入力
で、電流検出抵抗が0.1Ωなので1A流れると100mVになります。
なお、ボリュームの位置でPWM出力幅を変えています。
【オシロでの測定結果】
VR位置 負荷 [1]ピーク電流(A) [2]平均電流(A)
1/2 ブラシ空転 1.5 0.4
1/2 ベルトスリップ直前 3 1.2
5/6 ブラシ空転 1 0.5
5/6 ベルトスリップ直前 2.2 1.3
平均電流が大きい2番目と4番目(ほぼ最大負荷)の観測波形を添付します。
電池はeneloop standard 単3×3本フル充電状態で測定しました。
測定点は
[1] 0.1Ωの電流検出抵抗のMOS Tr側端点
[2] 上記から1KΩ+10μFのフィルタを通ったあとのPICマイコン9ピン入力
で、電流検出抵抗が0.1Ωなので1A流れると100mVになります。
なお、ボリュームの位置でPWM出力幅を変えています。
【オシロでの測定結果】
VR位置 負荷 [1]ピーク電流(A) [2]平均電流(A)
1/2 ブラシ空転 1.5 0.4
1/2 ベルトスリップ直前 3 1.2
5/6 ブラシ空転 1 0.5
5/6 ベルトスリップ直前 2.2 1.3
平均電流が大きい2番目と4番目(ほぼ最大負荷)の観測波形を添付します。
ソフトウェア
プッシュスイッチを押すたびにモーターのON/OFFを切り替えます。
モーターの回転速度はボリュームの位置を読み取ってPWM制御しています。
10msec毎に電池電圧、モーター電流をA/D変換で読み取って以下の表示やモーター制御を行ないます。
ボリュームの位置やモーター電流は直前16回の測定値を10msec毎に平均して求めています。
以下、動作の詳細です。
【プッシュスイッチ監視】
・10msec毎にプッシュスイッチをチェックし、ONが10回続いたら(0.1秒以上のON検出で)モーターをOFFからON、またはONからOFFに切り替える。
・2.56秒以上ON(プッシュスイッチを押し続ける)が継続すると2.56秒毎にON/OFFが切り替わる。
【電池電圧監視】
・電池電圧<2.4V の場合、緑LEDは消灯しモーターはOFFになる。
・2.4V≦電池電圧≦5V の場合、モーターONでは緑LEDが約1.6秒毎に点滅し点灯時間幅は電圧比例となる。
モーターOFFでは消灯する。
・5V<電池電圧 の場合、緑LEDが0.3秒で高速点滅して過電圧を表示し、モーターをOFFにする。
【モーター電流監視】
・モーター電流<0.1A の場合、赤LEDは消灯
・0.1A <モーター電流≦2A の場合、赤LEDが約1.25秒毎に点滅し1回の点灯時間幅は電流比例となる。
・2A<モーター電流 の場合、赤LEDが0.3秒周期で高速点滅し過電流を表示する。
この状態が0.5秒続くとモーターがOFFになる。
モーターOFFとなっても過電流を示す高速点滅はプッシュボタンを押すまで継続される。
MPLAB X IDE(PICマイコンのソフト開発ツール)内でMCCを用た内蔵ハードウェア設定は以下の通りです。
【MPLA X IDEのMCC(Code Configurator V5)による設定】
・HFINTOSC 4_MHz,Clock Divider 4 (System clock 1MHz)
・TMR0 Period 10ms, Enable Timer Interrupt
・TMR2 Period 1.024ms
・PWM5 Select a Timer=TMR2, active_hi, PWM Period 1.024ms, Resolution 10bits
・FVR 1.04V
・ADC Clock=FOSC/2, +Reference=FVR, Alignment=right, Conversion Time 23μs
MPLAB X IDE(PICマイコンのソフト開発ツール)用プロジェクトファイルをZip圧縮したものと、コンパイル済みの書き込み用データを添付します。
dcmdrv.X.zip
上記のプロジェクトファイルを展開してMPLAB X IDEで開けばソースファイルやCode Configuratorの設定を見たり、修正&コンパイルしてPICマイコンに書き込むことができます。
dcmdrv.X.production.hex
windows PCの場合、右クリック➡名前を付けてリンク先を保存 でダウンロードできます。
コンパイル済のhexファイルを書き込むには【PICマイコンと開発ツール】のプログラム(HEXファイル)書き込みソフトを参照してください。
!!!! 注意:書き込み前にRelease from Resetモードの設定が必須 !!!!
モーターの回転速度はボリュームの位置を読み取ってPWM制御しています。
10msec毎に電池電圧、モーター電流をA/D変換で読み取って以下の表示やモーター制御を行ないます。
ボリュームの位置やモーター電流は直前16回の測定値を10msec毎に平均して求めています。
以下、動作の詳細です。
【プッシュスイッチ監視】
・10msec毎にプッシュスイッチをチェックし、ONが10回続いたら(0.1秒以上のON検出で)モーターをOFFからON、またはONからOFFに切り替える。
・2.56秒以上ON(プッシュスイッチを押し続ける)が継続すると2.56秒毎にON/OFFが切り替わる。
【電池電圧監視】
・電池電圧<2.4V の場合、緑LEDは消灯しモーターはOFFになる。
・2.4V≦電池電圧≦5V の場合、モーターONでは緑LEDが約1.6秒毎に点滅し点灯時間幅は電圧比例となる。
モーターOFFでは消灯する。
・5V<電池電圧 の場合、緑LEDが0.3秒で高速点滅して過電圧を表示し、モーターをOFFにする。
【モーター電流監視】
・モーター電流<0.1A の場合、赤LEDは消灯
・0.1A <モーター電流≦2A の場合、赤LEDが約1.25秒毎に点滅し1回の点灯時間幅は電流比例となる。
・2A<モーター電流 の場合、赤LEDが0.3秒周期で高速点滅し過電流を表示する。
この状態が0.5秒続くとモーターがOFFになる。
モーターOFFとなっても過電流を示す高速点滅はプッシュボタンを押すまで継続される。
MPLAB X IDE(PICマイコンのソフト開発ツール)内でMCCを用た内蔵ハードウェア設定は以下の通りです。
【MPLA X IDEのMCC(Code Configurator V5)による設定】
・HFINTOSC 4_MHz,Clock Divider 4 (System clock 1MHz)
・TMR0 Period 10ms, Enable Timer Interrupt
・TMR2 Period 1.024ms
・PWM5 Select a Timer=TMR2, active_hi, PWM Period 1.024ms, Resolution 10bits
・FVR 1.04V
・ADC Clock=FOSC/2, +Reference=FVR, Alignment=right, Conversion Time 23μs
MPLAB X IDE(PICマイコンのソフト開発ツール)用プロジェクトファイルをZip圧縮したものと、コンパイル済みの書き込み用データを添付します。
dcmdrv.X.zip
上記のプロジェクトファイルを展開してMPLAB X IDEで開けばソースファイルやCode Configuratorの設定を見たり、修正&コンパイルしてPICマイコンに書き込むことができます。
dcmdrv.X.production.hex
windows PCの場合、右クリック➡名前を付けてリンク先を保存 でダウンロードできます。
コンパイル済のhexファイルを書き込むには【PICマイコンと開発ツール】のプログラム(HEXファイル)書き込みソフトを参照してください。
!!!! 注意:書き込み前にRelease from Resetモードの設定が必須 !!!!