JEBO WP-40

Basic / Standard Reef Angel hardware
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: JEBO WP-40

Post by rimai »

lnevo wrote:So what would the recommended dimming type be? I know you said either would work...but which would work out of the box?
Natively the pump uses 0-5VDC analog signal, but the harness that will be available will accept both 0-10VDC PWM and 0-10VDC analog and will convert to 0-5VDC analog to control the pumps.
In other words, everyone will be able to use it :)
Roberto.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

JEBO WP-40

Post by lnevo »

Wow, very cool.
treetopflyn
Posts: 89
Joined: Fri Oct 05, 2012 1:58 am

Re: JEBO WP-40

Post by treetopflyn »

rimai wrote:Yeap :)
Throw away their controller and mod the cable or wait for it to be available in the webstore.
AWESOME!! How long will we have to wait? :mrgreen:
topjimmy
Posts: 146
Joined: Tue May 08, 2012 8:16 am

Re: JEBO WP-40

Post by topjimmy »

That's great news and great work.

Now I'll just have to buy an expansion mod for pwm since I am using the built in ones to control my led.
Image
bhazard
Posts: 79
Joined: Mon Mar 11, 2013 11:25 am

Re: JEBO WP-40

Post by bhazard »

Awesome job.

I'll be all over this harness once its released.
treetopflyn
Posts: 89
Joined: Fri Oct 05, 2012 1:58 am

Re: JEBO WP-40

Post by treetopflyn »

bhazard wrote:Awesome job.

I'll be all over this harness once its released.
Ditto
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: JEBO WP-40

Post by lnevo »

rimai wrote:Someone requested Vortech modes to be used for this pump or controllable Tunzes.
I went ahead and created ReefCrest to start.

Code: Select all

byte ReefCrestMode(byte s)
{
  static unsigned long lastmillis=millis();
  static int newspeed=s;
  if ((millis()-lastmillis) > 5000)
  {
    int delta;
    delta=random(20);
    if (delta<10) newspeed--; else newspeed++;
    newspeed=constrain(newspeed,s-20,s+20);
    newspeed=constrain(newspeed,0,100);
    lastmillis=millis();
  }  
  return newspeed;
}
Place it at the very end of your code.
To use the function, you can use like this:

Code: Select all

  ReefAngel.PWM.SetDaylight( ReefCrestMode(80) );
Just an FYI... if you try to use this function more than once (i.e. for two different pumps, they will both get the same speed, or rather one will adjust and the other won't. I copied the function to a second one ReefCrestModeSlave() and played a little with the parameters.
jtomasi
Posts: 22
Joined: Thu Oct 25, 2012 11:35 am

Re: JEBO WP-40

Post by jtomasi »

A+++++

2 MP25s and 2 connectors for less than an mp10?!!! Cant Wait!!!

...and the reef angel controller and owners continue to outperform the competition.
tentacles
Posts: 21
Joined: Sun Oct 07, 2012 10:21 pm

Re: JEBO WP-40

Post by tentacles »

Roberto, could you do me a favor and measure the current draw on the 0-5V line of the WP40; I am thinking a simple mod for the basic pump would be to put a potentiometer between the stock controller and the pump itself, but to know the required resistance, I need to know the current draw.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: JEBO WP-40

Post by rimai »

I'm not following.
Where do you intend to place the potentiometer?
Roberto.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

JEBO WP-40

Post by lnevo »

I know the guy testing and using the apex has modded it to keep the stock controller and control through the apex as well..
tentacles
Posts: 21
Joined: Sun Oct 07, 2012 10:21 pm

Re: JEBO WP-40

Post by tentacles »

Between the WP40's 0-5V signal output and the motor, it would retain the original function but you can reduce the flow. Just a cheap way to make these adjustable output without changing power supplies or using a controller like RA.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: JEBO WP-40

Post by rimai »

You can do that.
I think that's what someone else did. Manual pot control.
The current is very weak...
It's for sure less than 0.5mA, because I'm using 10K resistors and it works just fine.
Roberto.
bhazard
Posts: 79
Joined: Mon Mar 11, 2013 11:25 am

Re: JEBO WP-40

Post by bhazard »

lnevo wrote:I know the guy testing and using the apex has modded it to keep the stock controller and control through the apex as well..
I'm that guy. I just got banned at reef central because the mods there are (expletive deleted), so I'll post here more.

Once you guys code more vortech like modes for this pump, I'll probably convert to a RA.

BTW, the tunze safety connector works to provide a battery backup solution for this pump too, with a variable power supply that uses universal tips. If you can design the relay and fuse for this too, I would also buy it in a heartbeat, and it would be the greatest reef pump setup value of all time.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: JEBO WP-40

Post by rimai »

bhazard wrote: Once you guys code more vortech like modes for this pump, I'll probably convert to a RA.
I have them already :)
I just didn't tell anyone...lol
I'll use the same logic I used to code the RF module :)
So, we'll have all vortech modes plus the sine waves created by discocarp
http://forum.reefangel.com/viewtopic.php?f=2&t=2386
Roberto.
bhazard
Posts: 79
Joined: Mon Mar 11, 2013 11:25 am

Re: JEBO WP-40

Post by bhazard »

rimai wrote:
bhazard wrote: Once you guys code more vortech like modes for this pump, I'll probably convert to a RA.
I have them already :)
I just didn't tell anyone...lol
I'll use the same logic I used to code the RF module :)
So, we'll have all vortech modes plus the sine waves created by discocarp
I love you guys. This is the reason I will be buying your product. Too bad I can't sell the apex on Reef Central anymore. Lol
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

JEBO WP-40

Post by lnevo »

Someone on MR will take it! Lol they are such apex die hards!
Nuno Dinis
Posts: 5
Joined: Mon Mar 18, 2013 3:31 am

Re: JEBO WP-40

Post by Nuno Dinis »

Hi Guys,

I don't have an RA but i'm having some trouble with this pump...
My controler burned up 4 days after i connected the pump, so its not working. Tried to plug an AC/DC converter to reduce the noise and run the thing at 22V but the converter was probably a bad piece of equipment and it burned the controler...

When i plug everything know i Have(on the output to the pump):
- +24V
- -24V
- 0V (va)

so i have an arduino and started to understand what i could do with it...i've been reading this topic and learned very interesting things, and want to share a little bite more of what i've done so far.

So the arduino PWM signal is digital and non stable, it means i need to build a low pass filter(has Roberto said earlier), so i cant pass a stable(analog) signal to the pump. i've made the coding to 6 modes, here it is(it has not been tested in the pump yet).
So if it helps to code any more functions for you guys... here it goes:

Code: Select all

#include <Arduino.h>
/*
 Software para controlar bomba WP-40 - 1 canal
 Arduino
 Bomba WP-40
 Transformador
 Reset do Arduino faz a função Feed(Para a bomba por 5m) e reinicializa passados esses 5m.
 */

// constantes
const int ModoFuncionamento = 3;
const int PWMPin =  9;

// Variaveis:
int EstadoPulse = 0;
long previousMillis = 0;
unsigned long currentMillis = millis();

void setup()
{
  // Inicializa PWM
  Serial.begin(9600);
  pinMode(PWMPin, OUTPUT);
  previousMillis = millis();

  /* Isto faz uma espera de 5 Minutos (5*60 = 300 Segundos = 300000 Milisegundos quando se faz o reset do arduino) Podem retirar se não quiserem esta funcionalidade, ou optar por colocar um butão e nesse caso a pausa teria que ser feita com milis() e quando pressionado o botão, fazer o delay do tempo que se quiser */

  //delay(300000);

}

/* Pulse(Imax, Imin, MilSegundos) - Modo 1
 Recebe de entrada:
 Imax: Intensidade máxima do Pulse
 Imin: Intensidade Minima depois do pulse
 MilSegundos: Nr de MiliSegundos de intervalo entre intesidade Máxima e Minima
 O Objectivo é variar directo, sem incremento gradual entre a velocidade máxima e velocidade minima pelo nr de segundos indicado
 Ex:
 Pulse(255, 100, 500)
 A Bomba deveria começar a cerca de 40%(100/255) durante 0,5 Segundos, em seguida faz 100% durante 0,5 Segundos
 */

void Pulse(int Imax, int Imin, int MiliSegundos)
{
  currentMillis = millis();

  if(currentMillis - previousMillis > MiliSegundos) {
    previousMillis = currentMillis;

    if(EstadoPulse==0){
      analogWrite(PWMPin, Imax);
      EstadoPulse = 1;
    } else {
      analogWrite(PWMPin, Imin);
      EstadoPulse = 0;
    }
  }
}

/* RampUp(IntMin, IntMax, Increm, Percent) - Modo 2
 Recebe de entrada:
 IntMin: Intensidade Inicial
 IntMax: Intensidade Final
 Increm: Nr de MiliSegundos de intervalo entre intesidade

 O Objectivo é variar directo com incremento gradual entre a intensidade minima e máxima, com Increm segundos de intervalo entre o incremento
 Ex:
 RampUp(50, 225, 500, 15)
 A Bomba faria:
 Começa nos 20% e fica durante 0,5 Seg
 Incrementa 15 ao PWM(65/255) ficando a 25% durante 0,5 Seg
 Vai incrementando 5% durante 0,5 Seg até chegar a 88%(225/255)
 */

void RampUp(int IntMin, int IntMax, int Increm, int Percent) {
  int ValorPwm = IntMin;

  analogWrite(PWMPin, ValorPwm);

  do
  {
    currentMillis = millis();
    if(currentMillis - previousMillis > Increm) {
      previousMillis = currentMillis;
      if(ValorPwm > IntMax) {
        ValorPwm = IntMax;
      }
      analogWrite(PWMPin, ValorPwm);
      ValorPwm = ValorPwm + Percent;

    }

  }
  while(ValorPwm < IntMax && ValorPwm >= IntMin);
}

/* RampDown(IntMin, IntMax, Increm, Percent) - Modo 2
 Recebe de entrada:
 IntMin: Intensidade Inicial
 IntMax: Intensidade Final
 Increm: Nr de MiliSegundos de intervalo entre intesidade

 O Objectivo é variar directo com incremento gradual entre a intensidade minima e máxima, com Increm segundos de intervalo entre o incremento
 Ex:
 RampUp(50, 225, 500, 15)
 A Bomba faria:
 Começa nos 20% e fica durante 0,5 Seg
 Incrementa 15 ao PWM(65/255) ficando a 25% durante 0,5 Seg
 Vai incrementando 5% durante 0,5 Seg até chegar a 88%(225/255)
 */
void RampDown(int IntMin, int IntMax, int Increm, int Percent) {
  int ValorPWM = IntMax;

  analogWrite(PWMPin, ValorPWM);

  do
  {
    currentMillis = millis();
    if(currentMillis - previousMillis > Increm) {
      previousMillis = currentMillis;
      if(ValorPWM < IntMin) {
        ValorPWM = IntMin;
      }
      analogWrite(PWMPin, ValorPWM);
      ValorPWM = ValorPWM - Percent;
    }

  }
  while(ValorPWM <= IntMax && ValorPWM > IntMin);

}

/*
Modo a utilizar dentro do ReefCrazy - Faz nX Pulse
 */
void PulseSingle(int Imax, int MiliSegundos, int NrTimes)
{
  int Contador = 0;
  do {
    Contador = Contador + 1;
    analogWrite(PWMPin, Imax);
    delay(MiliSegundos);
    analogWrite(PWMPin, 0);
    delay(100);
  }
  while (Contador <= NrTimes);

}

/* ReefCrazy(IntMin, IntMax, SegMud) - Modo 3
 Recebe de Entrada:
 Intensidade Minima: Intensidade minima a que a bomba Roda
 Intensidade Máxima: Intensidade Máxima a que a bomba roda
 Segundos entre as mudanças: Segundos até mudança de modo aleatório


 */
void ReefCrazy(int IntMin, int IntMax, int SegMud)
{
  int RNumber = random(IntMin, IntMax);
  int MidleR = (IntMin + IntMax) / 2;

  if(RNumber > (MidleR - 20) && RNumber < (MidleR + 20)) {
     PulseSingle(200, 500, 3);
  }

  if(RNumber > MidleR) {
    RampDown(IntMin, MidleR, 500, 15);

  }
  else
  {
    RampUp(MidleR, IntMax, 500, 15);

  }

  RNumber = random(IntMin, IntMax);
  MidleR = (IntMin + IntMax) / 2;
}

/* Modo 4
 Sem parametros de entrada, sobe dos 0 aos 125PWM, faz Pulse 2X, continua a subir aos 255;
 Começa a descer dos 255 até 125, faz pulse, e continua até 0;
 */
void JumpingHorse()
{

  RampUp(0, 125, 200, 5);

  PulseSingle(200, 500, 2);

  RampUp(125, 255, 200, 5);

  RampDown(125, 255, 200, 5);

  PulseSingle(200, 500, 2);

  RampDown(0, 125, 200, 5);
}

/* Modo 5
 - Nutrient Export Mode(5 Pulses a 0,5s, muito pequenos, mais 5 maiores, pulse grande para fazer onda, e o processo de pulses inverso).
 */
void NutrientZero()
{

  PulseSingle(125, 500, 5);
  PulseSingle(225, 500, 5);

  PulseSingle(255, 1000, 1);

  PulseSingle(225, 500, 5);
  PulseSingle(125, 500, 5);
}

/* Modo Desligar - Modo 6 Para fazer por exemplo manutenção ao aquario, fica preparado para quem usar botão*/
void Desligar()
{
  analogWrite(PWMPin, 0);
}

void loop(){

  if (ModoFuncionamento == 1) {
    Pulse(235, 50, 500);
  }

  if (ModoFuncionamento == 2) {
    RampUp(50, 225, 500, 15);
    RampDown(50, 225, 500, 15);
  }

  if (ModoFuncionamento == 3) {
    ReefCrazy(50, 225, 500);
  }

  if (ModoFuncionamento == 4) {
    JumpingHorse();
  }

  if (ModoFuncionamento == 5) {
    NutrientZero();
  }

  if (ModoFuncionamento == 6) {
    Desligar();
  }

}
So, know i have something that i'm willing to understand... my electronics knowledge comes from 1998 at college...
But for what i understood, RA is a lot similar to Arduino(having much more functions and open source).

In order to connect my arduino to the pump, i only need to plug the pwm to the low pass filter and the output of the LowPassFilter to the va line, am i correct?
I'm sorry, i know that you guys don't have an arduino, have a reef angel, but if we could share somethings between eachother, maybe it's easier :(

BTW, the code hasn't been tested yet(it was in a debugger, but not in the arduino), so it might have some other issue...i'm going to buy material today to test it with leds first and build my LowPass Filter.

Question is, in order to test the va line(without the arduino), is there an easy way so i can pass 3V to the pump? A small battery maybe?

Thanks in advance, and once again i'm sorry to stop by a reef angel dedicated forum with doubts on a diferent platform...
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

JEBO WP-40

Post by lnevo »

No worries Nuno, this is right on topic and your modes look great. We're gonna need a whole library soon!
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: JEBO WP-40

Post by rimai »

Nuno, yes, you can use PWM to go through the filter and then into the VA line.
You can also use a AA battery to go 1.5V or 2 AA batteries and go 3V to test the VA line and eventually the pump too.
Brazilian? :)
Roberto.
Nuno Dinis
Posts: 5
Joined: Mon Mar 18, 2013 3:31 am

Re: JEBO WP-40

Post by Nuno Dinis »

Hi,

No, Portuguese :)
I'll try to test with a battery get the + from the battery to the va line, and the minus to the ground right?

I'm a really noob with electronics so i'm reading loads of info and triyn to get this working.
I do know something on coding(IT professional for 13 years now), so wether it is Arduino or Reef Angel, i think i might be able to help in coding some new modes.

The modes are described in Portuguese, i'll try to take a few minutes and translate them to english so everyone can understand ;)

It was my first coding for arduino so i'll try to make it better once it is very simple.

In a very quick description the modes are:
- Pulse(to make waves) - Working at desired intensity for X miliseconds, and stopping for the same time;
- Ramp up - Going from Minimum Value to Max Value within a period of time;
- Ramp Down - Inverse from Ramp Up;
- Pulse Single is just a function to other modes(It pulses for the given times);
- Reef Crazy should be similar to ReefCrest from the vortech;
- JumpingHorse - Ramps up to half the power, Pulses 2 times; up to high power, down to half, pulse again, and goes down until it stops again; I Just figure this could be a good mode to add diferent flows within the same mode to the tank;
- Nutrient Zero - Is more like nutrient export or at least the way i think it would be;
- Desligar - is just to stop the pump to feed mode or to WC, general maintenance. Its not really a mode.

Using RampUp, RampDown and Pulse allows you to do almost everything and a lot of combinations.
The problem with Pulse is the delay() function, but i will change it to get milliSeconds same as the other functions.

As i said before if you guys need some help in coding, please tell me so i can try to do something to help.
In the meanwhile ill post my findings whenever i have some.

All the best.
Nuno Dinis
Posts: 5
Joined: Mon Mar 18, 2013 3:31 am

Re: JEBO WP-40

Post by Nuno Dinis »

Hi guys,

Just to say that i was able to restart the pump with a 3V battery like the ones used for watches.
Plug + to va and - to -24V in the pump.
Ok, lets do this!
markywmson
Posts: 51
Joined: Wed Feb 27, 2013 11:35 am

Re: JEBO WP-40

Post by markywmson »

Hi all

Someone posted this on RC and I was curious about if something like this was possible (quite a bit in the future perhaps...) They were going to try and make their Arduino look at the National Weather Service and sync it to that with a storm mode. That sounds amazingly cool, but also amazingly complex...

Just wanted to bring it up here. I assume people are following both threads...

You guys are amazing!

-mark
Image
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: JEBO WP-40

Post by rimai »

Check this out :)
http://i761.photobucket.com/albums/xx25 ... 4d7d27.jpg
I only ordered a few cables to check the connector and they fit!!
I'll have pre-order on the webstore tonight.
Roberto.
markywmson
Posts: 51
Joined: Wed Feb 27, 2013 11:35 am

Re: JEBO WP-40

Post by markywmson »

AWESOME!!! I will have my order in tonight as soon as that shows up! Thanks Roberto!
Image
jayathome
Posts: 9
Joined: Thu Mar 21, 2013 4:22 am

Re: JEBO WP-40

Post by jayathome »

Been following this thread.
Yesterday ordered the WP40. Also ordered the RA+ with analog dimmable from bay city - they sell the RA in the US, guess they are the distributor. But I don't see them on dist list here ..... wonder if I should have just ordered here instead?

Anyway, glad to be onboard RA with WP40. I see the harness is now on preorder - Wife is putting in order now with her paypal account.

Really looking forward to trying this out on my new 75.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

JEBO WP-40

Post by lnevo »

Welcome to the club!
jtomasi
Posts: 22
Joined: Thu Oct 25, 2012 11:35 am

Re: JEBO WP-40

Post by jtomasi »

Not sure if I can say this, delete if I cant. I didn't post this on RC because I didnt want to overwhelm the goup buy person, but a guy on Atlantic Reefs is doing a group buy and the final price is $55 + $10 shipping no matter how many pumps you order....though I would let the RA group know.....hey, you guys should order some and sell them with the cable 8-)
Piper
Posts: 296
Joined: Fri Jul 20, 2012 7:13 am
Location: Oakley, CA

Re: JEBO WP-40

Post by Piper »

rimai wrote: I have them already :)
I just didn't tell anyone...lol
I'll use the same logic I used to code the RF module :)
So, we'll have all vortech modes plus the sine waves created by discocarp
http://forum.reefangel.com/viewtopic.php?f=2&t=2386
Roberto - Is the code on GitHub already? Do you have a rough idea when it will be officially pushed out to the compiler?

Thanks!

~Charlie
Paulturner911
Posts: 288
Joined: Wed Jan 23, 2013 12:36 pm

Re: JEBO WP-40

Post by Paulturner911 »

rimai wrote:
bhazard wrote: Once you guys code more vortech like modes for this pump, I'll probably convert to a RA.
I have them already :)
I just didn't tell anyone...lol
I'll use the same logic I used to code the RF module :)
So, we'll have all vortech modes plus the sine waves created by discocarp
http://forum.reefangel.com/viewtopic.php?f=2&t=2386
Ive purchased the WP40 and the harness is preordered, along with the PWM module. I glanced at the reef crest code Lee posted.
My questions is will I have a way to ENSURE that the pump DOES NOT reach maximum power? I get the impression that it would blow my tank across the room.
Also, and Im sure this is possible. Will we have "vortech" like modes to select on the controller or only in programming?
Will it also be coded to integrate with the "storm on command"?
Ill be tagging along on this one for sure. I finally got my 4 pwm drivers and 2 72in heatsinks for my future light fixture...NOW Ive got to get a 6ft tank to go with it :)
Image
Post Reply