工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

DIY自動猫フィーダー

コンポーネントと消耗品

メカニカルアウトレットタイマー
× 1
ステッピングモーター
× 1
ステッピングモータードライバーL9110S
× 1
リニアシャフトサポートSHF8
× 1
USBウォールチャージャー
× 1
SparkFun Arduino Pro Mini 328-5V / 16MHz
× 1
USBオスコネクタからDIPアダプタへ
× 1
USB延長ケーブル
× 1
ブラケットコーナーブレース
× 1

このプロジェクトについて

私が数日間家を出るとき、私の猫に餌をやるのはいつも大きな挑戦です。友達や親戚に猫の世話をしてもらう必要があります。インターネットで解決策を探したところ、ペット用のフードディスペンサー製品がたくさん見つかりましたが、気に入らなかったのです。第一に、それらは非常に高価です。第二に、それらはドライキャットフードの取り扱いにのみ適しています(mycatはほとんどの場合ウェットフードを食べます)。最後に、それらは大きすぎます、私は私のアパートに十分なスペースがありません。そこで私は、コンパクトで自動化された、ウェットフードに最適化された猫用フィーダーを作ることにしました。ウェットフードの問題は、すぐに悪くなることです。キャットフードの缶詰を開けてから最大1日で使えることに気づきました。スペースを節約し、食品の品質を維持し、このプロジェクトをできるだけ安くシンプルにするために、私はペットに1回だけ食事を与えることができる機械を設計しました。猫の餌やりを2日間休むことになります(自由:))。

フィーダーは非常に簡単に動作します。食品容器(空のヨーグルトボックス)に食品を入れ、容器のドアを閉め、コンセントタイマー付きのケーブルを230VACネットワークに接続します。 1日後にフィーダーの電源が入るようにタイマーを設定しました。機器の電源を入れると、サーボモーターによってフードコンテナが開きます。 1日後、ドアが開き、猫はおいしい食事をすることができます。家に着いたら、食品容器を取り出し、残ったものを片付けて生鮮食品を入れ、それを元に戻し、箱の上部を閉じると、サイクルを再開できます。…

<図>

このビデオでは、すべての主要な手順を見ることができます:

コード

  • Automatic_cat_feederarduinoコード
Automatic_cat_feederarduinoコード C / C ++
Arduinoファームウェアのソースコード。 Arduino IDEソフトウェア(https://www.arduino.cc/en/Main/Software)、FTDIアダプターおよびMini-B USBケーブルを使用して、コードをArduinoproミニボードにアップロードしました。このプロセスの方法に関するビデオは次のとおりです:https://www.youtube.com/watch?v =78HCgaYsA70
コードは単純です。セットアップでは、メインループよりもステッパーを回転させ、ボタンが押されるまで待機してから、もう一度移動します。
 //自動猫フィーダー:J。Rundhall//ステッパーの元のコード: 2016年10月に書かれたR.Jordan Kreindlerによるスケッチで、回転フロートRPM; boolean isButtonpressed =false; unsigned long timee; //ピン割り当てintbuttonPIN =6; int aPin =4; // IN1:1つの端をコイル状にするbPin =3; // IN2:コイルb one endint aPrimePin =5; // IN3:コイルaPrimeコイルのもう一方の端はbPrimePin =2ではありません。 // IN4:コイルbPrimeコイルのもう一方の端bint one =aPin; int two =bPin; int three =aPrimePin; int four =bPrimePin; intdegrees =0; // int delay1 =20; //各ステップ間の遅延(ミリ秒単位)int delay1 =5; //各ステップ間の遅延(ミリ秒単位)// intdelay2 =50; //各完全回転後の遅延(ミリ秒単位)int delay2 =200; //各完全回転後の遅延(ミリ秒単位)int count =0; //ステップ数intnumberOfRotations =1; //ローターが360度回転した回数.voidsetup(){//すべてのピンを出力として設定し、Arduino // UNOからstatorSerial.begin(9600);のコイル巻線に出力信号を送信します。 //シリアルポートを開き、データレートを9600 bpsに設定しますpinMode(6、INPUT_PULLUP); // ButtonpinMode(aPin、OUTPUT); pinMode(bPin、OUTPUT); pinMode(aPrimePin、OUTPUT); pinMode(bPrimePin、OUTPUT); Serial.println( "Clockwise"); //すべてのコイルから開始offdigitalWrite(aPin、LOW ); digitalWrite(bPin、LOW); digitalWrite(aPrimePin、LOW); digitalWrite(bPrimePin、LOW); for(int ii =0; ii <20; ii ++)doTurn();} void loop(){//読み取りプッシュボタンの値を変数intsensorVal =digitalRead(6);に入力します。 //プルアップは、プッシュボタンのロジックが反転していることを意味することに注意してください。 //開いているときはHIGHになり、押すとLOWになります。 //ボタンが押されたときにピン13をオンにし、押されていないときにオフにします。if(sensorVal ==LOW){isButtonpressed =true; } else {if(isButtonpressed){isButtonpressed =false; doTurn(); digitalWrite(aPin、LOW); digitalWrite(bPin、LOW); digitalWrite(aPrimePin、LOW); digitalWrite(bPrimePin、LOW); }}} void doTurn(){//電流を// 1. aPin // 2. aPin、およびbPin // 3. bPin // 4.次に、bPinおよびaPrimePin // 5に送信します。次にaPrimePinに// 6。次にaPrimePinとbPrimeピンに// 7。次にbPrimePinに// 8。次にbPrimePinとaPinに移動します。 //したがって、ハーフステップメソッドを使用してステップを生成します// 1. aPin Highを設定しますdigitalWrite(aPin、HIGH); digitalWrite(bPin、LOW); digitalWrite(aPrimePin、LOW); digitalWrite(bPrimePin、LOW); //コイルに通電する間にある程度の遅延を設けて、//ステッパーローターが応答できるようにします。 delay(delay1); //したがって、delay1 // 2. aPinとbPinをHIGHに通電しますdigitalWrite(aPin、HIGH); digitalWrite(bPin、HIGH); digitalWrite(aPrimePin、LOW); digitalWrite(bPrimePin、LOW); //コイルに通電する間にある程度の遅延を設けて、//ステッパーローターが応答できるようにします。 delay(delay1); //したがって、delay1ミリ秒// 3. bPinをHighに設定しますdigitalWrite(aPin、LOW); digitalWrite(bPin、HIGH); digitalWrite(aPrimePin、LOW); digitalWrite(bPrimePin、LOW); //コイルに通電する間にある程度の遅延を設けて、//ステッパーローターが応答できるようにします。 delay(delay1); //したがって、delay1ミリ秒// 4. bPinとaPrimePinをHIGHに設定しますdigitalWrite(aPin、LOW); digitalWrite(bPin、HIGH); digitalWrite(aPrimePin、HIGH); digitalWrite(bPrimePin、LOW); //コイルに通電する間にある程度の遅延を設けて、//ステッパーローターが応答できるようにします。 delay(delay1); //したがって、delay1ミリ秒// 5. aPrime Pinをhighに設定しますdigitalWrite(aPin、LOW); digitalWrite(bPin、LOW); digitalWrite(aPrimePin、HIGH); digitalWrite(bPrimePin、LOW); //コイルに通電する間にある程度の遅延を設けて、//ステッパーローターが応答できるようにします。 delay(delay1); //したがって、delay1ミリ秒// 6.aPrimePinとbPrimePinをHIGHに設定しますdigitalWrite(aPin、LOW); digitalWrite(bPin、LOW); digitalWrite(aPrimePin、HIGH); digitalWrite(bPrimePin、HIGH); //コイルに通電する間にある程度の遅延を設けて、//ステッパーローターが応答できるようにします。 delay(delay1); //したがって、delay1ミリ秒// 7. bPrimePinをHIGHに設定しますdigitalWrite(aPin、LOW); digitalWrite(bPin、LOW); digitalWrite(aPrimePin、LOW); digitalWrite(bPrimePin、HIGH); //コイルに通電する間にある程度の遅延を設けて、//ステッパーローターが応答できるようにします。 delay(delay1); //したがって、delay1ミリ秒// 8. bPrimePinとaPinをHIGHに設定しますdigitalWrite(aPin、HIGH); digitalWrite(bPin、LOW); digitalWrite(aPrimePin、LOW); digitalWrite(bPrimePin、HIGH); //コイルに通電する間にある程度の遅延を設けて、//ステッパーローターが応答できるようにします。 delay(delay1); //したがって、delay1ミリ秒count =count + 8;度=(360.0 *(カウント/ 400.0)); if((numberOfRotations%2)==1){//回転数が偶数かどうかを確認Serial.println( "Clockwise"); Serial.println(度); //角位置を度単位で出力します} else {// numberOfRotationsが奇数の場合Serial.println( "Anti-Clockwise");度=360度; Serial.print( "-"); //マイナス記号を出力しますSerial.println(degrees); //角位置を度で出力} if(count ==160){//ステッパーの1回転numberOfRotations =++ numberOfRotations; timee =millis(); RPM =timee / numberOfRotations; //回転の平均時間RPM =(60000.00 / RPM); // 1分あたりの回転数if(numberOfRotations> =10){Serial.print( "RPM:"); Serial.println(round(RPM)); // RPMを整数として出力します} delay(delay2); //各完全回転カウント後のdelay2 / 1000秒=0; //ステップカウンターをゼロにリセットします//各ターン後の逆方向if((numberOfRotations)%2 ==0){//回転数が偶数かどうかを確認します//逆方向の場合aPin =4; bPin =3; aPrimePin =2; bPrimePin =one; } else {//回転数が奇数の場合aPin =one; bPin =2; aPrimePin =3; bPrimePin =4; } digitalWrite(aPin、LOW); digitalWrite(bPin、LOW); digitalWrite(aPrimePin、LOW); digitalWrite(bPrimePin、LOW); }} 

回路図

まず、電子機器のケーブル接続を行いました。電源ケーブルをUSBアダプタPCBに接続するために、はんだごてを2回だけ使用しました。 230Vネットワークに接続する前に、電流制御と電流測定を備えた実験用ベンチ電源を使用することをお勧めします。何かを間違ってケーブル接続した場合、このチェックにより、アダプターまたは別のコンポーネントの損傷を防ぐことができます。全体の消費量は、5ボルトで1アンペア未満である必要があります。
次に、コーナーブレースを組み立て、ボックスを変更して、機械の構造に固定しました。

製造プロセス

  1. 自動ドリップコーヒーメーカー
  2. DIYサーモカムを作る
  3. 自動棒材供給機のインとアウト
  4. 自動プレス機とは?
  5. プレスフィーダーとは
  6. 自動パワープレスとは?
  7. 空気圧バーフィーダーとは?
  8. 自動パイプベンダーとは
  9. 自動回転テーブルとは
  10. オートマチックトランスミッションシステムを理解する
  11. 自動潤滑システムを理解する