Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Alternative autofeeder wiring
#21
Good to hear, I'm still using my original screen too, definitely impressed with them.

I agree, other feeders likely work on the same principle, if one side of the manual feed switch is connected to ground it'll be the same, just need to connect the drain pin from NPN to other side of feed switch and power up.
Reply to top
#22
Think I can work with this…
   
Reply to top
#23
Nice, that looks easier to work with than the Ehiem.

Maybe the pins next to J3 and J4 is the power from the batteries, if so you can power up feeder there and check the left and right side of S4 to see if it's a ground or +3v or whatever. If one side is ground you can connect the data wire to other side of switch but if it's positive voltage you'll need to change the NPN to PNP like this.

[Image: P-Channel-Same-Voltage-with-Pull-Up.png]
Reply to top
#24
Great news :D
It still runs at 2.7v.
And the manual feed button goes to ground, so if I recall correctly I can wire it the same as the Eheim feeder
Please do note I’m still running the arduino based controller NOT the reefpi.
   
The issue I’m running into now is that I have to set the amount of food before each manual dose, otherwise it won’t feed.
The food amount is adjustable between 1 and 8 with 8 being the largest amount.
On the plus-side, if I press both buttons at the same time it wil dose the smallest amount possible
And while writing this I found out that the button used for the adjustment of the amount, once you stop adjusting the amount it wil feed.
So if the smallest dose is not enough you just need 2 or more feed pulses from the controller to set a higher amount of food
Reply to top
#25
Hmm, so that doesn't do a full rotation like the Eheim? Does the 2nd switch you press also go to ground? If so you could connect the signal wire from controller to both switches that are waiting for the ground path. That's what the controller is doing with a NPN, turning on/off a common ground. If that works you could create 2 schedules back to back for feeding.
Reply to top
#26
Well it’s a bit different from the Eheim.
The JBL doesn’t have a rotating drum, it uses a wormwheel to transport the food out of the container.
Adjusting the amount of food results in a different run time of the motor turning the wormwheel.
With amount 1 being the shortest runtime and 8 the longest.

The “manual” feed button doesn’t do anything, or at least it’s not clearly stated in the manual.
Using the “amount” button to pulse it to the desired amount will always result in a food dosing.

Shorting the buttons to ground works to activate them, so I only need the “amount” button.
I just need something to pulse it to the desired setting.
Preferable without modifying the code.
Using a 555 timer would be best I think, just have to figure out how to get it somewhere around 0.5Hz.
Or atleast a 555 timer is the only thing I know and somewhat understand.

But then it isn’t as plug& play as I would like.
Shorting the button to ground for an extended amount of time doesn’t work, it needs to be pulsed
Reply to top
#27
Never mind the additional pulses.
Just tested it out and the lowest setting is enough for me.
The highest setting is a HUGE amount of food, I wouldn’t know who would need such amounts of fish food…
Reply to top
#28
Right on, glad you got it working.

So you have signal wire going to S5 switch? According to picture is it connected to left or right side of switch?

I think the code holds the pin HIGH for 1 second, is that how you have it working?

In the bottom right hand corner, J3 + and J4 -, are those going to the battery? Could a person solder wires to those points to power it up?

I was going to make a diagram on one of your pictures, that's why I'm asking.
Reply to top
#29
No I tested it on my workbench with a powersupply.
J3 and J4 are the battery terminals.
Connecting the lower part of S4 to ground will activate the “amount” button.
It only needs a couple of milliseconds to register it as a click.

With ease you can solder pretty hefty wires to them and still be able to move them around.
Something like AWG20 or 1.0mm2 should fit easely.

Taking it apart is easy, you snap off the screen and remove 1 screw from the battery compartment and it’s open and you can do whatever you want.

That said, having a setting option in the controller to give this type of feeder anywhere between 1 and 8 pulses would be better and more reliable than the Eheim and juwel feeders which are using sliders for controlling the amount of food.
Also nice thing about this feeder is that you can 3D print the wormwheel for even smaller amounts of food :D
Nice for nano tanks and stuff like that.
Reply to top
#30
Thanks for the info, makes sense.

As you may have seen I'm working on new software so I'll think about the 1-8 pulses, shouldn't be too hard to do. Maybe that'll get you to upgrade lol, just kidding, if it ain't broke don't fix it is my moto.
[-] The following 1 user Likes Rob F's post:
  • fietsenrex
Reply to top
#31
Well… I guess I’m screwed..
Wired it up the same as the Eheim, plugged it in and the fishtank went dark..
It now hangs in the pre-boot state…

Edit:
Found it..
My stereo plug when fully assembled creates a short which screws up everything.
The controller appears fine, i managed to reach the reset button on the Ethernet shield and reset the main controller

Another edit:
I’ll post some pictures later today ;)
Reply to top
#32
Whew, glad things went back to normal. If you need help post some pics and we can check them out.
Reply to top
#33
So, got around to posting pictures :p
As you can see I started with wiring and fitting the receptacle 
   
Next I soldered everything in place (+ and - are underneath the purple wire
   
And when it was all closed up it almost looked like a stock feeder
   

It was pretty easy to do, you just have to pop off the screen, remove the container and unscrew 1 screw in the battery compartment.
I also had to remove the motor and gearbox due to the position of the receptacle but if you place it elsewhere it’s not needed

Also made a short clip showing that it works as intended
https://youtube.com/shorts/_CwDyooZNsY?feature=share
[-] The following 1 user Likes fietsenrex's post:
  • Rob F
Reply to top
#34
Right on, looks good, thanks for sharing.
Reply to top
#35
Still works good :)
Had some issues with the feeder but that is a design flaw of the feeder itself and not related to the robo-tank hardware.
When you power on the feeder it will revert back to default, which (in my case) is 4 feedings at setting 4 (out of 8).
That is a thing to keep in mind, otherwise it is superb and works better than the Eheim.

But here comes the “issue” I would like a pulse multiplier, but the only things I can find (at the moment) is related to flowsensors and needs multiple pulses to calculate the output.
I would like it to be a hardware module so (in my case) it would be compatible with the reef-pi once I upgrade.
Do you think there would be something simple to build?
Reply to top
#36
Doesn't the 3.3v keep the feeder turned on all the time?

Sorry not sure about pulse, don't know what you're trying to accomplish there?
Reply to top
#37
No the 3.3v works as it’s supposed to, I had to powercycle/reset the controller due to a I2C lock-up.

But the controller sends out 1 feed puls, which results in the smallest feed possible.
If you want to feed more you need to push the manual feed button a couple of times to get the desired amount of food.
So to get more food out of the feeder, I need more pulses on the button
Reply to top
#38
Ah, you'll need to increase how long the pin is high in the controller sketch. On v4.2 look for the following line, should be about line 2797.

if (millis() - prevMillisFeed > 2200)

Replace the 2200 which is 2.2 seconds to how long you need.
Reply to top
#39
The feeder will still count that as 1 push on the button.
It just counts the amount of times you press the button, not the duration
Reply to top
#40
Ok, use this code instead.

You should have this function at around line 2795.

Code:
void stopAutoFeeder()
{
  if (millis() - prevMillisFeed > 2200)
  {
    digitalWrite(fishFeederPin, LOW);
    feederActive = 0;
  }
}

Delete everything above and paste everything below. I added comments, the original pulse is 2.2 seconds, you can change that if you like.

The for loop runs 10 times creating 10 pulses, the delay between on and off during the pulse is 0.5 seconds. You can set that delay how you like and change the 10 to the number of pulses you want.

Code:
void stopAutoFeeder()
{
  if (millis() - prevMillisFeed > 2200)   // original pulse 2.2 seconds
  {
    for (byte b = 0; b < 10; b++)         // 10 extra pulses
    {
      digitalWrite(fishFeederPin, HIGH);
      delay(500);                         // delay between on/off pulse
      digitalWrite(fishFeederPin, LOW);
    }
    feederActive = 0;
  }
}
[-] The following 1 user Likes Rob F's post:
  • fietsenrex
Reply to top


Possibly Related Threads…
Thread Author Replies Views Last Post
  Wiring Analog 0-10v lights hemiroyd 3 6,196 11-04-2020, 02:05 PM
Last Post: Rob F

Forum Jump:

Current time: 03-29-2024, 02:24 AM