Jump to content
SaltCritters.com

WORKING DIY Koralia Controllable Driver


mabviper

Recommended Posts

Well a generic reef controller is here(should surpass the Reef Keeper Elite in capability),

but a Koralia controller would be an extremely good complement.

Link to comment
  • 4 weeks later...
  • Replies 90
  • Created
  • Last Reply

I'm probably missing something but this seems pretty complex for the task (my mechanical engineering brain talking). Couldn't you just use an Arduino with a relay to control a 110V pump/powerhead? Is there a necessity to PWM control if I'm not looking to modulate speed?

Link to comment

Most powerheads dont hold up well to constant starting and stopping. The new koralia magnums are supposed to be better as they have no shaft as well as an electronic starting mechanism to make sure they start in the right direction. Only time will tell how long they last.

 

Then off course there is the added benefit of speed control as well. The pumps can be ramped up and down to create a wave effect without ever turning off, this is much easier on them. Wave effects often need pulse timing in tenths of seconds the exact timing depending on the frequency of the wave in the tank.

Link to comment
Most powerheads dont hold up well to constant starting and stopping. The new koralia magnums are supposed to be better as they have no shaft as well as an electronic starting mechanism to make sure they start in the right direction. Only time will tell how long they last.

 

Then off course there is the added benefit of speed control as well. The pumps can be ramped up and down to create a wave effect without ever turning off, this is much easier on them. Wave effects often need pulse timing in tenths of seconds the exact timing depending on the frequency of the wave in the tank.

 

Now I'm starting to get it.... I can understand that startup has durability implications as this is the high current part of the cycle. Starting from a dead stop requires more current (heat) than starting from an "idle".

 

I'm still unclear on what is meant by a wave in a reef aquarium. I dont own a wave generating mechanism but most of the cheaper ones that I've seen are pretty simplistic (ie relay type on/off devices). Are you implying that the higher end reef controllers have actual wave dynamic logic for exact timing? I was under the impression that "wave controller" meant alternating water flow.

 

Its pretty cool if they do actual wave generation. Is there a feedback loop that adjusts to the tank size? As you said, timing is extremely critical to set up a true wave. It does not seem like there would be a one size fits all solution without some feedback loop.

Link to comment

The term "wavemaker" is a bit of a missnomer. All most wavemakers do is create more turbulent, random flow. The only powerhead that can create a wave right now is the Vortec.

 

The startup issues don't come from startup torque and heat, but from the impeller bouncing off a anti rotation pin to make it spin in the right direction. The constant start and stop beats up the impellers pretty bad.

Link to comment
bluenassarius
The term "wavemaker" is a bit of a missnomer. All most wavemakers do is create more turbulent, random flow. The only powerhead that can create a wave right now is the Vortec.

 

The startup issues don't come from startup torque and heat, but from the impeller bouncing off a anti rotation pin to make it spin in the right direction. The constant start and stop beats up the impellers pretty bad.

 

 

the tunze wave makers do a nice job of creating a wave

Link to comment
The term "wavemaker" is a bit of a missnomer. All most wavemakers do is create more turbulent, random flow. The only powerhead that can create a wave right now is the Vortec.

 

The startup issues don't come from startup torque and heat, but from the impeller bouncing off a anti rotation pin to make it spin in the right direction. The constant start and stop beats up the impellers pretty bad.

 

So if I had a new impeller made that would solve the durability issue with starting and stopping? I'm a little familiar with designing pumps. If that's the issue, designing an impeller out of peek or some other high strenght plastic may be a quick answer.

post-46721-1259786853_thumb.jpg

Link to comment

the real trick is to have the motor start in the same direction every time so there is no "anti rotation" pin as evil puts it.

 

Like I said, the new koralia magnums seem to do just that.

Link to comment
So if I had a new impeller made that would solve the durability issue with starting and stopping? I'm a little familiar with designing pumps. If that's the issue, designing an impeller out of peek or some other high strenght plastic may be a quick answer.

 

Nice compressor wheel.

 

Making the impeller stronger only solves half the problem. You still have the horrible noise of the impeller chattering off the anti rotation pin every time the pump starts.

Link to comment

Hi guys!

 

It's me again with some good news :D Arduino CAN be used to control koralias. I am still in coding process, also still need to buy the gate drivers and FETs, but it should work as mabvipers. I'll tell more when I test it.

 

I am still trying to figure out how to do frequency changing during operation, but i think it can be done.

 

@MABVIPER sorry to steal your thread for this post, but i am also very curious how the things are going with your controller. Are you already over the barrier of frequency variation? Also did you find out what the min and max frequencies are?

 

@evilc66: could you help us with those values providing oscilloscope screenshots of koralia kontroller on lower timebase than the ones posted on the other thread?

 

Regards,T

Link to comment

Correct me if I'm here, but using PWM for frequency control in induction motors produces higher temps in the motor windings and votage spikes feedback on each pulse. I only work on industrial VFD's and never messed with small motors. PWM used to simulate a current sine wave is the old way of controlling with old processors, now with microcontrollers, you should be able to use an analog output with the hardware to produce a true sine wave which is the best method of motor control, according to what I remember.

Does anybody know what is the exact motor type?

Link to comment
Dont' know what the motor type is, but we are just replicating exactly what Hydor is doing in their controller.

 

I'm still interested in figuring out how to do this closed loop style. I may be in for a SCWD

Link to comment

I'm sitting on my hands and wondering when a new development will happen since I'm nowhere close to being any sort of engineer.

Link to comment

@isidro0: We are all trying to do what hydor did. They generate SPWM (sinus shaped PWM), as you can see on some older mabviper's posts. He is getting this control signals out of a motor controler DSP an i am trying to get arduino with ATMEL 168 micro processor to do the same job. Since now I have managed to write software that produces 2 PWM signals for p and n channel to control 2 mosfet drivers. Those 2 signals are toggled with approx 8kHz in my case (mabvipers controler uses 10kHz base frequency and koralia's controller uses 15kHz as you can see on evilc66's plots in some other theme here on NR). I also programmed the frequency variation from 50 to 100Hz and a way to control the variation speed (reading value of analog pin). I still need to incorporate the FEED mode and figure out if i perhaps went too far up with the high frequency (50Hz) or not low enough with 50 Hz (perhaps it wpuld work with 25Hz). Also i still need to get 2 mosfet drivers, 4 mosfets and some capacitors to test the controller.

 

Hope this clears out what you were asking.

 

Regards, T

Link to comment

Woops sorry for being away for a while. It's the end of the semester and exam season starts this coming week. I've been extremely busy these past few weeks :o .

 

My Controller Progress: I didn't do any ^^; It's still pretty much stuck at the phase shown in the video. Before the next semester, I should get some new developments in.

 

@tarzan: That's great news! I knew that 'regular' microcontrollers is able to do it but it will require considerable software code to make it work. One thing to note though. You need to make sure that both channels will NOT be turned on at the same time. You need to incorporate a 'dead time' of a few microseconds, depending on your carrier frequency.

 

For example, you can't turn off 1 channel and turn the other channel on simultaneously. Current does not like to change direction rapidly so this will most likely blow your mosfets. You need to make sure that for a certain period of time both channels are off so that the 'residual' current can flow through the circuit and back to the DC capacitor.

 

@isidro0: Yes, PWM scheme will cause a rise in temperature because of the spikes compared to a true sinusoid. You can work around this by introducing a filter right at the pwm output (in our case). That way, you can filter out the spikes.

 

I'm not really sure what you mean about PWM being old fashion and microprocessors being able to produce a true sine wave. In my opinion, PWM and microprocessors go hand in hand. The advancements in microprocessors allowed us to make use of PWM schemes to recreate sine waves. That lead to the ability to control 'difficult' motors like induction motors w/ the precision of DC motors, kinda like AC servos. To my knowledge (I might be wrong), most new VFDs make use of PWM schemes. If you see a true sine wave as its output, it's just the filtered output, as I proposed above.

 

Oh, I'm assuming that the Hydor motor is an induction motor and I tried to control it as such.

Link to comment

In my experiance, about 80% of all VFD's are PWM, 15% use a cheaper method that I can't remember the name, and the newer high end use stepped PWM or true sinewave. Is there any magnets in the motor?

Link to comment

@isidro0: Hmm, I think I'm kinda understanding what you mean by 'true sine wave'. There are many many ways to recreate an AC frequency used in VFDs. You can have "square wave" modulation where it's either +V or -V, alternating at some frequency. You can also have variations of these square wave scheme to provide intermediate steps from 0 to +-V. The scheme I'm using is a true PWM modulation where I recreate a true sine wave. I can provide variations in frequency as well as amplitude of the wave.

 

As for the motor, the motor does have a pair of weak magnets inside. Both the body and the shaft have weak magnets. That's why I thought this motor is weird because an induction motor doesn't work like this. This is more like a synchronous motor w/ its permanent magnet on the shaft. Though, a synchronous motor needs more than 2 phases to work.

 

So I figured, since there are only 2 wires coming out of the motor, I assumed that the controller scheme Hydor was using was just a 2 phase frequency controller, kinda like a cycloconverter.

Link to comment
  • 1 month later...

Hi,

My name is Fery, I am from Romania (Europe) and I am new on this forum. I saw the problems you have controlling the Koralias. I had the same issue (didn't want to pay so much for the controller) and I solved it. I have almost 20 years of experience in electronics, automations, microcontrollers and so on, but it still was pretty difficult because the motor is strange. I does NOT work well with sine wave voltage, but it works very well with sine wave current obtained via SPWM. Anyway the SPWM is the cheapest and the most energy efficient way to get a sinewave current on the motor, so you do not need huge heatsinks. Another problem is the relation between the amplitude and the frequency you apply to the motor to work correctly. It took me some time to figure it out... but now it really works well, from 0.2VA(this is really slow and not useful) to 9VA(which is the specified max. power).

I don't think this place is appropriate to post schematics, programs and so on, so, If you want details of the implementation ask on the mail (my address is public on this forum). I will answer according to the available time I will have.

Link to comment
I've been busy the last few days. I'll try to upload the source code this week.

 

As for the Arduino, I'd love to get it working on them but unless Arduino gets ported to an Atmel chip that is capable of hardware motor control with functions like dead gap, up/down counters etc, I personally won't consider coding on one. I'm not saying that it can't be done. They can all be implemented in sure software but I'm spoiled from hardware functions ^^;

 

Hi !

I've just visited this forum. Happy to get acquainted with you. Thanks.

Link to comment

Hey Fery,

 

Thanks for the info. Sent you an email for more info.

 

Alex

 

Hi,

My name is Fery, I am from Romania (Europe) and I am new on this forum. I saw the problems you have controlling the Koralias. I had the same issue (didn't want to pay so much for the controller) and I solved it. I have almost 20 years of experience in electronics, automations, microcontrollers and so on, but it still was pretty difficult because the motor is strange. I does NOT work well with sine wave voltage, but it works very well with sine wave current obtained via SPWM. Anyway the SPWM is the cheapest and the most energy efficient way to get a sinewave current on the motor, so you do not need huge heatsinks. Another problem is the relation between the amplitude and the frequency you apply to the motor to work correctly. It took me some time to figure it out... but now it really works well, from 0.2VA(this is really slow and not useful) to 9VA(which is the specified max. power).

I don't think this place is appropriate to post schematics, programs and so on, so, If you want details of the implementation ask on the mail (my address is public on this forum). I will answer according to the available time I will have.

Link to comment

Apparently I was wrong: this IS the right place to post schematics and so on :)

So.... you have attached everything: schematic, power table and software (assembler 8051)

Explanations:

- you have to power the thing with 15Vdc, REGULATED. Use a 1 amp or so regulated power supply.

- the 4 inputs IN3... IN0 will set the output power. I did it this way because the wave algorithm is implemented on my main controller. This schematic (twice) is used as slave controlled for controlling the koralias only. If you want you can add buttons, display etc. and modify the program to get a full blown wave maker. The limitation is that you cannot control well 2 pumps with 1 controller, the solution being to make one of them master (with buttons etc) and to use a second one as slave. 0000 is minimum power, 1111 gives the max power.

- the pump starts reliably at a power level of 12-13 (1100 - 1101). Once started it works reliably at all power levels, but it doesn't like too much big jumps (like from 0000 to 1111 or viceversa). Vary the power gradually to allow the pump to accelerate or decelerate. It can go very well from min to max or form max. to min. in 0.5sec.

- don't be scared by the 1000+ lines file! The program itself is very short, but there are the pretty big power tables at the end of it. I wrote the program in 20 minutes, but it took me a lot more to make the excel to calculate and generate the tables

- if you prefer to use other components, but you want to use the algorithm I designed and tested you have the following info: PWM frequency 22KHz (not critical); PWM output amplitude 14... 14.5 V; power-frequency-sine modulation relation: see attached table.

 

Good luck :)

Let me know if you need anything else!

koralia_slave_controller.pdf

koralia_slave.txt

powertable.txt

Link to comment

Thanks Fery!

 

Your schematic really helped me out. I didn't know about the L6203 chip you used. I've taken a look at the datasheet and the only thing I don't like is the relatively high Rds rating @ 0.3Ohms compared to discrete mosfets.

 

Do you know of any other full bridge circuits with integrated driver circuits I could look at? (I seriously didn't know these existed >.>)

 

I guess I just have one question. How come you don't have 2 output signals from the MCU? The only thing I'd be worried about is the possible short within the full bridge. Although, the 2 NAND gates on IN1 vs 1 NAND gate on IN2 might allow enough delay to insure there is sufficient dead time between input signals.

 

Anyways, I'm definately going to try out the L6203 chip. Thanks for your help Fery ^^

 

Apparently I was wrong: this IS the right place to post schematics and so on :)

So.... you have attached everything: schematic, power table and software (assembler 8051)

Explanations:

- you have to power the thing with 15Vdc, REGULATED. Use a 1 amp or so regulated power supply.

- the 4 inputs IN3... IN0 will set the output power. I did it this way because the wave algorithm is implemented on my main controller. This schematic (twice) is used as slave controlled for controlling the koralias only. If you want you can add buttons, display etc. and modify the program to get a full blown wave maker. The limitation is that you cannot control well 2 pumps with 1 controller, the solution being to make one of them master (with buttons etc) and to use a second one as slave. 0000 is minimum power, 1111 gives the max power.

- the pump starts reliably at a power level of 12-13 (1100 - 1101). Once started it works reliably at all power levels, but it doesn't like too much big jumps (like from 0000 to 1111 or viceversa). Vary the power gradually to allow the pump to accelerate or decelerate. It can go very well from min to max or form max. to min. in 0.5sec.

- don't be scared by the 1000+ lines file! The program itself is very short, but there are the pretty big power tables at the end of it. I wrote the program in 20 minutes, but it took me a lot more to make the excel to calculate and generate the tables

- if you prefer to use other components, but you want to use the algorithm I designed and tested you have the following info: PWM frequency 22KHz (not critical); PWM output amplitude 14... 14.5 V; power-frequency-sine modulation relation: see attached table.

 

Good luck :)

Let me know if you need anything else!

Link to comment

You cannot have 2 outputs form the controller. That is a hardware output from the PWM generator. And you don't need 2 outputs because the bridge has a 100ns delay (off time) when switching(dead time protection in the datasheet), so no short can happen. Actually it is safer to have one output, you cannot make stupid things and destroy transistors by program. Also using integrated H-bridges you CANNOT make shorts, they are internally protected. The only thing you can do is to put both outputs at the same voltage (either high or low), having this way 0V (differential) output.

Don't worry about the 0.3 ohm, it is ok. This is why the power supply is 15 V (you would need 14 if the transistors would be ideal (0 ohm).

Yesterday I had some spare time, so I designed a schematic and PCB for a full blown version (using 2 controllers), with display and push buttons and light sensor. I still have to clean-up the board a little and to write the software for the master controller. I don't know if I will ever manufacture the PCB because of the costs... I did it more for fun and to fill somehow the couple hours I had to wait somewhere. I don't need it (as I said my slave controllers get inputs from my main aquarium controller, which I made around a powerful controller and which has a lot of resources) and anyway for only one piece it doesn't make sense to pay for PCB, it can be built using wire wrapping or soldering on a prototyping board.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recommended Discussions


×
×
  • Create New...