AquaticTechTank.net

A forum dedicated to design and program aquatic tanks
It is currently Sat Nov 18, 2017 11:56 pm

All times are UTC - 5 hours




Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Sat Apr 13, 2013 10:02 am 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 275
Here's the pump hooked up to an arduino. The ardunio is sending PWM 0-255, waits 500ms, then 255-0.
You can see and here the change in (variable) speed.

The noise is reduced pumping water and is on some padding. I'm sure the vibration wouldn't bee too bad if it was screwed down.




Here it is running at a constant speed at 100 pwm.


Top
 Profile  
 
PostPosted: Sat Apr 13, 2013 1:16 pm 
Offline

Joined: Sat Feb 23, 2013 11:03 am
Posts: 13
Interesting - PWM drive does seem to make it much quieter - thanks for posting. Based in this I'm reconsidering, since i think i'd be able to get more precise flow rates with a peristaltic versus a diaphram pump like the Aqualifter. Any opinions on how long the motor is likely to last if it is driven at a very slow rate continuously? Does it have brushes or is it brushless? My nitrate filter probably needs about 0.5L/hr and it will work better with a fairly constant slow flow than with a faster flow that is cycled on and off.

thanks


Top
 Profile  
 
PostPosted: Sat Apr 13, 2013 2:03 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 275
doninla wrote:
Interesting - PWM drive does seem to make it much quieter - thanks for posting. Based in this I'm reconsidering, since i think i'd be able to get more precise flow rates with a peristaltic versus a diaphram pump like the Aqualifter. Any opinions on how long the motor is likely to last if it is driven at a very slow rate continuously? Does it have brushes or is it brushless? My nitrate filter probably needs about 0.5L/hr and it will work better with a fairly constant slow flow than with a faster flow that is cycled on and off.

thanks


It is brushed from what I can see inside. If you plan on having it run constantly, it'll probably wear out at some point.


Top
 Profile  
 
PostPosted: Mon Apr 22, 2013 8:04 pm 
Offline

Joined: Mon Apr 22, 2013 8:02 pm
Posts: 2
are you powering the motor off of the Arduino? Wouldnt it be to much draw for the board and only be supplying the 5V from usb power?

Any chance you can post your sketch?


Top
 Profile  
 
PostPosted: Mon Apr 22, 2013 9:21 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 275
shift wrote:
are you powering the motor off of the Arduino? Wouldnt it be to much draw for the board and only be supplying the 5V from usb power?

Any chance you can post your sketch?

The motor is a 12vdc. Power is supplied by a 12vdc adaptor. Follow the diagram shown. The pwm with the transistor limits current to the motor thus slowing it down or speeding it up. Make sure to use a capacitor and diode to protect the arduino from the motor.

The sketch is a generic pwm sketch.

Code:
//Define Pins
int motorPin = 9;

void setup()
{
  //Set the PWM Motor pin as an output
  pinMode(motorPin, OUTPUT);
}

void loop()
{
 
  analogWrite(motorPin, 100);
  delay(500); //Hold it!

}




Sent from my iPad using Tapatalk HD


Top
 Profile  
 
PostPosted: Mon May 27, 2013 8:02 pm 
Offline

Joined: Mon Apr 22, 2013 8:02 pm
Posts: 2
I finally got mine all setup aswell :)



Top
 Profile  
 
PostPosted: Tue May 28, 2013 10:28 pm 
Offline

Joined: Sat Feb 23, 2013 11:03 am
Posts: 13
Nice! I attempted to use the same pump to handle the flow into my Nitrate reactor, but didn't have much luck. I don't think these pumps are suitable for extended use. For my application, I needed a fairly steady flow rather than sporadic pumping of a very small volume, so the pump needs to be on somewhere around 40% of the time.

Pump #1 - the rotor started slipping on the shaft, then the motor burnt out. I think I got maybe 200 hours out of it. Adafruit promptly sent me a new pump (#2). Pump #2 worked fine for about a month (perhaps 300 hours) but I came downstairs last Saturday morning to find that the silicone tube inside the rotor housing had cracked and I had flooded our hardwood floors (luckily, only with about a quart of water). So I've given up on these and have gone back to a drip irrigation 1/2GPH flow restrictor and a solenoid valve, which works fine in my case because the flow into the Nitrate filter is under pressure from my canister filter. If I can get the silicone tubing replaced I may try to use the pump to feed nutrient into the filter, which would only require it to be on for a few minutes a day...

Don


Top
 Profile  
 
PostPosted: Tue May 28, 2013 10:45 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 275
doninla wrote:
Nice! I attempted to use the same pump to handle the flow into my Nitrate reactor, but didn't have much luck. I don't think these pumps are suitable for extended use. For my application, I needed a fairly steady flow rather than sporadic pumping of a very small volume, so the pump needs to be on somewhere around 40% of the time.

Pump #1 - the rotor started slipping on the shaft, then the motor burnt out. I think I got maybe 200 hours out of it. Adafruit promptly sent me a new pump (#2). Pump #2 worked fine for about a month (perhaps 300 hours) but I came downstairs last Saturday morning to find that the silicone tube inside the rotor housing had cracked and I had flooded our hardwood floors (luckily, only with about a quart of water). So I've given up on these and have gone back to a drip irrigation 1/2GPH flow restrictor and a solenoid valve, which works fine in my case because the flow into the Nitrate filter is under pressure from my canister filter. If I can get the silicone tubing replaced I may try to use the pump to feed nutrient into the filter, which would only require it to be on for a few minutes a day...

Don


ouch, yeah, I don't think peristaltic pumps are meant to run all the time. Can you find a regular small water pump where you can restrict the slow or hack the impeller or magnetic motor?


Top
 Profile  
 
PostPosted: Wed Jan 11, 2017 10:38 pm 
Offline
Site Admin

Joined: Fri Nov 30, 2012 1:54 pm
Posts: 275
Code using RTC to keep time for the pumps

Code:

// if you have compiler problems with Time or TimeAlarms, get the latest libraries
// https://github.com/PaulStoffregen/TimeAlarms
// https://github.com/PaulStoffregen/Time

#include <Time.h>
#include <TimeAlarms.h>
#include <Wire.h>
#include "RTClib.h"

// your pins
#define RELAYPIN1 2
#define RELAYPIN2 4
#define RELAYPIN3 7
#define PUMPPIN1 3
#define PUMPPIN2 5
#define PUMPPIN3 6


RTC_DS1307 rtc;    // RTClib comes with Arduino
//RTC_DS3231 rtc;  // for 3231 RTC You will have to download another RTClib
                   // https://github.com/adafruit/RTClib
                   // see for setup https://learn.adafruit.com/adafruit-ds3231-precision-rtc-breakout/wiring-and-test

void setup()
{
  Serial.begin(9600);
 
  #ifdef AVR
    Wire.begin();
  #else
    Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due
  #endif
    rtc.begin();

    //set time if not
    if (! rtc.isrunning()) {
      Serial.println("RTC is NOT running!");
      // following line sets the RTC to the date & time this sketch was compiled
      rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
      // This line sets the RTC with an explicit date & time, for example to set
      // January 21, 2014 at 3am you would call:
      // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
    }


    setSyncProvider(syncProvider);   // the function to get the time from the RTC
    if(timeStatus()!= timeSet)
     Serial.println("Unable to sync with the RTC");
    else
     Serial.println("RTC has set the system time");     
 
  //setup pins
  pinMode(RELAYPIN1, OUTPUT);
  pinMode(RELAYPIN2, OUTPUT);
  pinMode(RELAYPIN3, OUTPUT);
  pinMode(PUMPPIN1, OUTPUT);
  pinMode(PUMPPIN2, OUTPUT);
  pinMode(PUMPPIN3, OUTPUT);

 
  // create the alarms
  //macros
  Alarm.alarmRepeat(8,30,0, StartPump1); // morning for 1 minute
  Alarm.alarmRepeat(8,31,0, StopPump1);
 
  Alarm.alarmRepeat(8,32,0, StartPump2);
  Alarm.alarmRepeat(8,33,0, StopPump2);
 
  //micros
  Alarm.alarmRepeat(17,0,0, StartPump3); // evening
  Alarm.alarmRepeat(17,1,0, StopPump3);
 
}

void  loop(){ 
 
  Alarm.delay(1000); // wait one second between clock display
}

// functions to be called when an alarm triggers:
void StartPump1(){
  Serial.println("pump1 start"); 
  //turn on relay
  digitalWrite(RELAYPIN1, HIGH);
  //turn on pump
  analogWrite(PUMPPIN1, 650); // play with the 650 value (0-1023) for vaious speed
}

void StopPump1(){
  Serial.println("pump1 stop"); 
  //turn off relay
  digitalWrite(RELAYPIN1, LOW);
  //turn off pump
  analogWrite(PUMPPIN1, 0); // you can get rid of the relay by just setting to 0, to turn off pump
}


void StartPump2(){
  Serial.println("pump2 start"); 
  //turn on relay
  digitalWrite(RELAYPIN2, HIGH);
  //turn on pump
  analogWrite(PUMPPIN2, 650); // play with the 650 value (0-1023) for vaious speed
}

void StopPump2(){
  Serial.println("pump2 stop"); 
  //turn off relay1
  digitalWrite(RELAYPIN2, LOW);
  //turn off pump
  analogWrite(PUMPPIN2, 0); // you can get rid of the relay by just setting to 0, to turn off pump
}

void StartPump3(){
  Serial.println("pump3 start"); 
  //turn on relay
  digitalWrite(RELAYPIN3, HIGH);
  //turn on pump
  analogWrite(PUMPPIN3, 650); // play with the 650 value (0-1023) for vaious speed
}

void StopPump3(){
  Serial.println("pump1 stop"); 
  //turn off relay
  digitalWrite(RELAYPIN3, LOW);
  //turn off pump
  analogWrite(PUMPPIN3, 0); // you can get rid of the relay by just setting to 0, to turn off pump
}

//
time_t syncProvider()
{
  return rtc.now().unixtime();
}




Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Copyright 2noodles LLC 2012