DIY Roller Filter

Projects with Sam

7500 Club Member
View Badges
Joined
Dec 2, 2021
Messages
8,286
Reaction score
30,879
Location
Western Springs, IL
Rating - 100%
3   0   0
I try to explain that to folks, sometimes people are stubborn. I just point them in the right direction and its up to the individual to educate themselves and figure it out.

I've been using his stuff for a bit now and im more than happy with it compared to the exorbitant prices for replacement roller fleece which is just glorified coolant paper.
I’ve started offering floss gravity filters for Steve’s paper at http://parlaquatics.com.
 
OP
OP
igorlab

igorlab

New Member
View Badges
Joined
Jun 20, 2019
Messages
14
Reaction score
43
Location
Kyiv, Ukraine
Rating - 0%
0   0   0
Você poderia por gentileza disponibilizar o arquivo para a impressão 3d das partes do motor e tubo rotativo que faltaram? Desde já, muito obrigado
Hi and sorry for the delay with a reply I was out of "business" because of the var in Ukraine. The STL files are attached
 

Attachments

  • stl.zip
    994.5 KB · Views: 104

Ronnyking

Community Member
View Badges
Joined
Feb 9, 2017
Messages
44
Reaction score
37
Rating - 0%
0   0   0
Brilliant, thanks a lot. I'm sorry about the state of your country. I can't imagine what you're going through.

I guess you use 150mm fleece rolls? And how did you tap the acrylic rods? I found information online about using a spiral tip tap, also named a "gun tap".
 
OP
OP
igorlab

igorlab

New Member
View Badges
Joined
Jun 20, 2019
Messages
14
Reaction score
43
Location
Kyiv, Ukraine
Rating - 0%
0   0   0
Brilliant, thanks a lot. I'm sorry about the state of your country. I can't imagine what you're going through.

I guess you use 150mm fleece rolls? And how did you tap the acrylic rods? I found information online about using a spiral tip tap, also named a "gun tap".
thanks! Yes, it's 150 mm in width. First, at slow speed, I made holes with a regular metal drill, then I cut the thread also with the regular tap, it doesn't look very aesthetically, but I didn't have any other tools)
 

cvrle1

Well-Known Member
View Badges
Joined
Sep 13, 2018
Messages
902
Reaction score
988
Rating - 0%
0   0   0
This is a great project and I would love to do this for my icecap 36XL pump. Tired of replacing filter socks every 3- days. There is only 1 commercial roller filter that can fit in my sump, but it has a lot of issues.

Would someone be able and willing to post some instructions on how to go about building this. Thanks very much!
 

Ronnyking

Community Member
View Badges
Joined
Feb 9, 2017
Messages
44
Reaction score
37
Rating - 0%
0   0   0
This is a great project and I would love to do this for my icecap 36XL pump. Tired of replacing filter socks every 3- days. There is only 1 commercial roller filter that can fit in my sump, but it has a lot of issues.

Would someone be able and willing to post some instructions on how to go about building this. Thanks very much!
OP, @igorlab, has kindly shared technical drawings for the acryl and .stl files for the printed parts in previous posts. It all is fairly straightforward. He used 6mm thick acryl, plastic screws to put it together and an Attiny microcontroller to make it work. Almost everything is in this thread to make it yourself. I have recently lasercut my acrylic and printed the 3d-parts in PETG material. I have ordered an Attiny and some components and will try to make it work.
 

Ronnyking

Community Member
View Badges
Joined
Feb 9, 2017
Messages
44
Reaction score
37
Rating - 0%
0   0   0
20250411_171040.jpg

Almost finished. elektronics already working. I added a second float switch as a safety feature, if the water in the sump rises too high for any reason, the filter roller will not wind up. Next up: plumbing.
 

Projects with Sam

7500 Club Member
View Badges
Joined
Dec 2, 2021
Messages
8,286
Reaction score
30,879
Location
Western Springs, IL
Rating - 100%
3   0   0
20250411_171040.jpg

Almost finished. elektronics already working. I added a second float switch as a safety feature, if the water in the sump rises too high for any reason, the filter roller will not wind up. Next up: plumbing.
that is a really good feature.
 

Ronnyking

Community Member
View Badges
Joined
Feb 9, 2017
Messages
44
Reaction score
37
Rating - 0%
0   0   0
If anyboy is interested, here are the components I used for the electronics and the code, and the wiring:

Components:
* digispark Attiny85 (I choose this one because it has a USB interface and it accepts 12v)
* JG370 DC 12v motor, 6RPM
* RFP30N06LE MOSFET
* SB560 Diode
* Two float switches
* Resistors (1x 200 Ohm, 1 x 10 kOhm)

C++:
const int FLOAT_SWITCH_1 = 2; // PB2, Pin 7
const int FLOAT_SWITCH_2 = 3; // PB3, Pin 2
const int MOTOR_PIN = 0; // PB0, Pin 5

#define ONE_SECOND   1000UL              // ms
#define ONE_MINUTE   (ONE_SECOND * 60UL) // 60 seconds in one minute
#define ONE_HOUR     (ONE_MINUTE * 60UL) // 60 minutes in one hour
#define ONE_DAY      (ONE_HOUR * 24UL)   // 24 hours in one day

const unsigned long RUN_TIME = 10 * ONE_SECOND; // 10 seconds
const unsigned long TIMEOUT = ONE_HOUR; // 1 hour


unsigned long lastRunTime = -TIMEOUT;
bool motorRunning = false;
unsigned long motorStartTime = 0;


void setup() {
pinMode(FLOAT_SWITCH_1, INPUT_PULLUP);
pinMode(FLOAT_SWITCH_2, INPUT_PULLUP);
pinMode(MOTOR_PIN, OUTPUT);
digitalWrite(MOTOR_PIN, LOW);
}


void loop() {
bool float1High = !(digitalRead(FLOAT_SWITCH_1) == HIGH);
bool float2High = !(digitalRead(FLOAT_SWITCH_2) == HIGH);
unsigned long currentTime = millis();
if (motorRunning) {
if ((currentTime - motorStartTime) >= RUN_TIME) {
digitalWrite(MOTOR_PIN, LOW);
motorRunning = false;
lastRunTime = currentTime;
}
}
else if (float1High && !float2High && (currentTime - lastRunTime >= TIMEOUT)) {
digitalWrite(MOTOR_PIN, HIGH);
motorRunning = true;
motorStartTime = currentTime;
}
}

image (2).png
 
OP
OP
igorlab

igorlab

New Member
View Badges
Joined
Jun 20, 2019
Messages
14
Reaction score
43
Location
Kyiv, Ukraine
Rating - 0%
0   0   0
Here is my sketch, it ignores readings if it were running now, so we avoid the situation of rolling all tape in a few minutes if the sensor gets stuck

#define sensor_pin 6
#define button_pin 5
#define motor_pin 3

unsigned long interval_t = 0;

void setup() {
Serial.begin(115200);
pinMode(sensor_pin, INPUT_PULLUP);
pinMode(button_pin, INPUT_PULLUP);
pinMode(motor_pin, OUTPUT);
}

void loop() {
if(millis() > interval_t && digitalRead(sensor_pin) == LOW)
{
interval_t = millis() + 60000*3;
Serial.print("is sensor on? "); Serial.println(interval_t);
if (digitalRead(sensor_pin) == LOW)
{
interval_t = millis() + 60000*15; // was 10s
Serial.print("Run ");Serial.println(interval_t);
digitalWrite(motor_pin, HIGH);
delay(1000 * 15);
digitalWrite(motor_pin, LOW);
Serial.print("Stop ");Serial.println(interval_t);
}
}
else if (millis() < interval_t && digitalRead(sensor_pin) == LOW)
{
Serial.println("not time yet");
}
}
 

TOP 10 Trending Threads

WHAT AMOUNT OF LIVE ROCK AND SAND SHOULD BE PRIORITIZED FOR OPTIMAL BIODIVERSITY/FILTRATION?

  • 100% live rock + bagged sand

    Votes: 34 27.0%
  • 100% dry rock + 100% live sand

    Votes: 45 35.7%
  • 50/50 live/dry rock, 50/50 live/bagged sand

    Votes: 27 21.4%
  • 75% live rock, 25% live sand

    Votes: 11 8.7%
  • 25% live rock, 75% live sand

    Votes: 9 7.1%
Back
Top