Ultrasonic generator

Go To Last Post
43 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For a special purpose ultrasonic cleaning transducer I need to design a sweep generator according to the IECC norms. Does anyone have a starting point for me?

True RMS power: 1000W-1500W
Frequency: 28Khz.

Incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I once used a software DDS with an amplifier for an ultrasonic generator. It worked very well. My client only needed 200W, though.

Leon

Leon Heller G1HSM

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Not to be picky, but being picky, there is no such thing as RMS power!

RMS voltage times RMS current is just plain power.

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I wonder how such amount of power should be handled. My first thought is if it can use a simple square wave generator and a LC filter (RC would waste much power). Then it could be done 'easily' with a big H bridge hooked to the PWM output of an ATmega. And then I would use the H birdge to heat up the water bath, since it would disipate a nice amount of power too.

Guillem.
"Common sense is the least common of the senses" Anonymous.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

True RMS power: 1000W-1500W
Frequency: 28Khz.


Now, THAT should drive the squirrels nuts. No rodent problems in that building.

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I use a H Bridge as full bridge in other products and have already the board and design, so I thought I can derive a new product -an ultrasonic generator- from my standard product line, But I dont know if there are some hidden problems with these transducers

1.Ultrasonic Transducer

MODEL: CN2838-59LB

Technical Parameter:

Resonant frequency: 28 KHZ

Static capacitance:3800 PF

power: 60 W

radiating suface: 59 MM

wave length:26.8 MM
[url]
http://www.alibaba.com/product-g...
[/url]

I will connect 16 of them in paralel to achieve apprx 1000W cleaning power.

I think I should use an isolation transformer, The transducer part will stay under water.

Have someone dimensioned such a generator?

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sounds interesting.. I'm working on something similiar ... but not as a commercial product..

Instead of sweeping the frequency, I measure the phase angle between the current and voltage and use this to adjust the frequency for maximum power transfer with varying loads...

Just a guess, but at this power level, if it's not at resonance, it may waste alot of energy...

Also tried measuring the power with the ADC but the phase angle method is much better/faster...

I used an AD9833 for generating a sinewave, but am currently working on replacing this with PWM from an tiny26..
The tiny 26 has a 64Mhz PPL clock, at 8bit this gives a pwm base of 250kHz ...

If your interested, I can post the code...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm a bit scared of driving things in parallel. Unless they are very evenly matched, power sharing doesn't work as expected. Think about ways and means to ensure power distribution among the 16 transducers.

IMHO at these power levels you should be looking at Class C operation using a resonant tank for each transducer.

Have you thought about how are you going to sweep a transducer that is designed for a single frequency? I don't see any datasheet/ application notes in the link you provided. Maybe you should look at other vendors who will give you more information to go on. Otherwise you'll have to plot the power curves for these transducers - which is a project in itself.

What range of frequencies did you have in mind for the sweep?

If you think education is expensive, try ignorance.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krazathcu: What do you think abaout using only a fixed duty cycle PWM ex: &50 and then filter it through an inductor. If we try to shape the PWM for a real sinus then the mathematics will be time consuming and maybe a ATPWM2 be needed.
What ,I mean, this should be the sinus generating PWM with a very small or no inductor needed:
----------------------- +++++++++++++++++++++++
!! !!!! !!!!!! !!!! !! !! !!!! !!!!!! !!!! !!

But this one has a simpler PWM, but would need a little bir larger inductor.
---- ++++ ---- ++++ ---- ++++ ----
!!!! !!!! !!!! !!!! !!!! !!!! !!!!

If the duty cycle is %50 it will look like a sine wave after a relative bigger inductor.

These relative bigger inductors can be placed directly on the transcuders that are paralel connected (16 of them)

And if I use a sweep mode. I mean if I change the frequency with f=27kHz+2Khz*sin(wt=1sec) (here the sinus is there to show that the frequency sweeps between 25Khz and 29Khz. Sweep rate= wt=apprx 1sec) so the frequency sweeps each second continiously.

Just under these circumstances I hope to eliminate the feedback and related resonance adjustments.

What do you think abaout that?. This waste of energy for a resonance miss may be through this sweep not completely eliminated but significantly reduced?

I could not find proper information from the chineese website, but plan to use the ones on this link because I believe they are the most economic ones.

Does anyone have better documentation for these transducers?

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

emuler:

What abaout series connection of transducers? in case of serial connaction the power distrubiution should be a much less severe problem to fix

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk: RMS power.

Maybe if the power is also pulsating one can define the word RMS power:
Assume:

P(t)=Po+Poffset x sinwt

SO: P(t=to) is my momentary power
Po is my base power ?!?!?
integral(P(t) over t = my RMS (plain power).

for ultrasonics I see the word RMS power I think the fluctuation on power is large so If they give peak power it is too much marketing, and if they call the average plain power it will be less marketing. SO IMHO they use the word RMS power.

But I am not sure if one can say RMS energy, it will be too much imagination.

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

incal99 wrote:
emuler:

What about series connection of transducers? in case of serial connection the power distribution should be a much less severe problem to fix

incal99


Nope. :( The effective impedance of the transducers is not likely to be equal, so the voltage division across individual transducers in the chain will not be equal either, thus screwing up the power sharing.

Tell me in more detail why you plan to sweep the transducers over the range 25kHz to 29kHz?

If you think education is expensive, try ignorance.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Academic discussion: If you want to talk about RMS power, then you need to start with instantaneous power using instantaneous voltage and instantaneous current.

If you start with RMS values for voltage and current, the instantaneous variations have already been dealt with and processed out of the equation. IMHO this is not a good way of doing things as due to power factor/ phase considerations, multiplying RMS voltage and RMS current will not give you a true representation of the power. Take the case of a pure reactive load and see if what I'm saying makes sense.

If you think education is expensive, try ignorance.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why sweeping: The whole thing is a ultrasonic cleaning bath. The transducers in a water proof inox case will be fixed in the bath filled with liquid cleaning solution.

If the frequency is fix ex 27Khz, the ground waves in the bath will decrease the cleaning effect of the part that is being processed. So sweeping the frequency increases the cleaning effect. Sweeping around a 1KHz so that power will not degrade too much.

And as a second advantage of that I thought abaout eliminating the whole feedback circuit to achieve a more robust and cheaper implementation.

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hmm...

I'm no expert on this stuff... just trying to fumble thru it and make sense of it as I go along...
So please take my advice with a grain of salt, or a kg...

Here's my thoughts on this...

From experimenting, it seems the sweep frequency is too large, you may want to check the specs on some commercial units to see what/if they sweep...
The reason I say this can be seen is this thread,
https://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=62560&postdays=0&postorder=asc&start=40
Where I had driven a similiar BLT transducer bolted to an ALU plate (4mm x 75mm x 145mm roughly)...
About half way down page 3 of that thread I posted a chart or my results of sweeping the transducer...
Purple shows the phase angle and blue shows the ADC output...
The frequency scale on the bottom is x10...
Allthou it's not calibrated, you can see how fast the power drops off away from the resonant freq...

When I loaded the plate with a bit of water, the resonant freq altered greatly ...
No chart for that thou...

As for ultrasonic baths, there is the option of gluing on a disk transducer as opposed to a BLT type like you have shown... The downside being that they are difficult to change if/when the pzt ceramic develops cracks near the end of it's life cycle...

I believe there is an advantage to using multiple transducers at different frequencies, to prevent standing waves... Sweeping should also achieve this..

In my situation, I plan on assembling my own transduer, with 2 PZT donuts of approx 50mm dia, for a power output of about 1kW... I think in the range of 6ohms at resonance at 78Vrms...
Tracking the resonant mode by way of phase angle...
Likely PWM sine drive into an half bridge, much like a class D amp.. base freq at 250Khz or perhaps higher...
Currently working on the PWM sine generation for variable frequency... Haven't gotten to designing the half bridge yet, using a class AB I built for testing...

In your case, if the final product is entirely self contained, the driver and transducers, etc...
I think you might want to consider driving each transducer separately, square wave for efficiency and probably self resonanting...
Much like a multitude of ultrasonic humidifers...
I think this is how alot of self contained ultrasonic cleaners are...

I opened up a humidifier a while back, the board is pretty simple..
Drives around 40 watts into a disk transducer at high frequency (perhaps 1.6 Mhz)...

You may also want to go the route of gluing on some cheaper disk transducers as opposed to BLT types..
The thicker the disk is, the lower the frequency range and the courser the cavitation will be... mounting also affects the resonant freq..

Like I said earlier tho, I'm no expert on this stuff...

Last Edited: Sat. Jun 7, 2008 - 03:33 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Another thing... You will need to know what the resonant impedance is of the transducer... should be on the datasheet...

The BLT 200w transducer I use for testing is 30ohms at resonance... So I drive it at about 78Vrms

And if you want, I may be able to dig up some schematics on self resonant drivers I found a while back...

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krazatchu: I believe according to your experience , I will not be able to catch the optimal point by just sweeping. Do you have some schematics for phase angle measurement. I plan to use ATMEGA128, so if you use something other AVR , it wont be difficult to adopt.

SO according to your experience control system should catch the right base frequency where the resonance occurs. and then should sweep something like +/- 500Hz just to optimize the ground wave effect. this range should be calculated so that it should not go too much away from resonance, maybe +/- 200-300Hz.

I also heard something like magnetic based ultrasonic, This system use magnetic transducers other than piezoelectric Lead zirconium titanate packs.

Magnetic transducers are very robust, they wont crack like piezoelectric ceramics. Have anyoone haerd abaout them,

How can it be designed magnetic based vibrator in the range of piezoelectric transducers.

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have anyone used terfenol-D based magnetic transducer?

Any starting point to build a ultrasonic transducer based on magnetostriction in 1000W-1500W range?

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I briefly looked at magnetic transducers... If I remember correctly I choose PZT for economic reasons ... I don't think there is much difference in terms of driving them, but you'd better double check that...

For the phase angle measurement, I used a Mega8 to capture the the time difference between the voltage phase and the current phase...

In both phases I used an LM393 setup to detect zero crossing...
And fed this to INT0 and INT1 on the Mega8..
The voltage phase came off the Ad9833 DDS I used for signal generation...
The current phase came off a series resistor from the transducer to gnd...

I have been meaning to draw up the schematic as it's still on a protoboard, I should have some time on Monday to do that...

As for the code, a good part of it is in the other thread..
https://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=62560&postdays=0&postorder=asc&start=40&sid=e052716eaf7fd9a8e567439bf0264b2b
It's missing the SPI functions to talk to the AD9833 but there in the projects section...

Once I get the schematic drawn up, I will post it along with the complete code in the projects section...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Of course it might be easier to just use a bunch of smaller transducers, each with a it's own driver...

To eliminate the standing waves, there operation time could be cycled such that one or two of them were off for at a time for a short period... could be sufficient to break up standing waves...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Another thing I just thought of, in terms of cativation and cleaning potentcial...
There is a level of power per unit volume that once exceeded, gives diminishing returns...

What size bath are you considering?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Allrighty...

Just posted the complete project in the projects section...
"Resonant Tracking System"...

Code in GCC and schematic in PNG and Eagle format ...

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krazatchu: Bath size is variable, So I thought of 1 KW modular units, For bigger baths 2 or 3 of them should be used with seperate controllers.

I thank you for uploading the project

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No problem, hope it is of some use...

I'm also working on a PWM H-bridge variable frequency sine driver...
Using an accumulator to step thru the sine table at different points...

I'm trying to replace the ad9833 with this...
I'm using a Tiny26, which like the AT90PWMx, has a PLL for 64Mhz clocking...
It also has built in dead-time, however it's not very adjustable...

Allthou I thought I had properly implemented the timing, the introduction of a control protocol seems to have messed it up...
So I'm still working out the bugs...

If it doesn't implement well, I may just keep the ad9833 and use a comparator to generate the PWM...
But that is another thread (literally)...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The problem I see here is that the usual driver is piezeoelectric and has a fairly shrp reoponse at the specified frequency. in fact most commercial ultrsonic baths use a oscillator design that lets the mass driver set the frequency. It IS modelled as an LRC filter.

So suspect that trying to drive it at off-FO frequencies will result in little actual power transfer.

DFR

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

danafraymond: You have brought up an interesting point...

I looked around the net and found quite a few ultrasonic cleaners that do sweep upto 2Khz...

And while I have noticed the same in experimentation, that the transducer has a very sharp peak...

I believe the answer to this is the attached mass...
An isolated transducer will have a very sharp resonant zone...
While one that is part of a larger assembly may not be so sharp...

The reason behind sweeping is to breakup standing-waves in the cleaning solution, in order to eliminate areas where they is no cleaning action...

I'm pretty sure I saw an implementation where there were multiple trasducers at different frequencies operating with one or more of the transducers cycling off and on to break up standing waves...

I wonder if they could be driven at a higher power since they wouldn't be on constantly... Or whether this would lead to premature failure...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

incal99:

If your interested... I just finished the PWM sine wave generator...
It's using a Tiny26 with 64Mhz PLL... PWM base is 250KHz

At 28Khz it makes 8.928610 steps thru a 1024 point lookup table...
So the sinewave isn't pretty, but good enough for me...
Frequency step size is 0.953674 Hz

The frequency change interface is 8 bit signed parallel and it steps on INT0...

I will add it to the projects section shortly...
And I will re-work the previous project, ultrasonic resonant tracking to replace the ad9833...

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krazatchu: I thought that sine wave generation via PWM is CPU intensive. SO I am curious abaout your algorithm as lookup table.

Thank you for your help.

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It's in the projects section "accumulated pwm sinewave"...

The CPU itself is clocked at 16Mhz, while timer1 is on the PLL at 64Mhz...
Using 8bit resolution, we get 64M/256 = 250KHz base frequency...
So the maximum number of cycles for the calculation must be less than 16M/250K = 64 cpu cycles...

64 cycles is lots of time to get it done, even without using ASM, which I didn't... cus I'm nil at ASM...

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

incal99 :

The Tiny26 PWM sine generator is nearly integrated with exsisting Ultrasonic phase tracker...
Gone is the AD9833...

I will probably have it completed by tomorrow and tested by Saturday if time permits...

I will be testing it with an Class AB amp I built previously...
However, I would really like to run some tests with it driving a proper half bridge...

So... Do you have any suggestions for the half bridge?

The Tiny26 has built in dead time, I think it's equal to 1 clock cycle...
I think all that is required is isolation and level shifting...
However, I have never built nor designed a half bridge b4, so I don't really know...

Thanks!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krazatchu: I recommend you use gate pulse transformer instead of level shifting CMOS ICs

follow that link below. choose a good mosfet with lower gate capacitance to avoid ringing.

http://users.tkk.fi/~jwagner/tesla/SSTC/general-sstc-notes-gatedrv.htm

good luck. inform me about your experience.

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krazatchu: I recommend you use gate pulse transformer instead of level shifting CMOS ICs

follow that link below. choose a good mosfet with lower gate capacitance to avoid ringing.

http://users.tkk.fi/~jwagner/tesla/SSTC/general-sstc-notes-gatedrv.htm

good luck. inform me about your experience.

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

krazatchu: I recommend you use gate pulse transformer instead of level shifting CMOS ICs

follow that link below. choose a good mosfet with lower gate capacitance to avoid ringing.

http://users.tkk.fi/~jwagner/tesla/SSTC/general-sstc-notes-gatedrv.htm

good luck. inform me about your experience.

incal99

________________________________ We dream of a world where current does not need the voltage to flow.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:
Not to be picky, but being picky, there is no such thing as RMS power!

RMS voltage times RMS current is just plain power.

Jim

Not to be picky but there is RMS power it is used to decribe the equivelant dc power terms also useful for stopping confusing errors made between such as "peak power and average power " better you go back to the books before you lead the newbs astray!!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Naaah... Jim's 'technically' right and you are 'common usage' right. Voltage and current are vectors and have a sign. Power is a scaler. Big foofoo about this terminology in Journal of the Audio Engineering Society. RMS volts times RMS current is average power, but that isnt any clearer than peak power or peak to peak power or music power or any other term dreamed up by a salesman.

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

incal wrote:

Why sweeping: The whole thing is a ultrasonic cleaning bath. The transducers in a water proof inox case will be fixed in the bath filled with liquid cleaning solution.

If the frequency is fix ex 27Khz, the ground waves in the bath will decrease the cleaning effect of the part that is being processed. So sweeping the frequency increases the cleaning effect. Sweeping around a 1KHz so that power will not degrade too much.

And as a second advantage of that I thought abaout eliminating the whole feedback circuit to achieve a more robust and cheaper implementation.

 

Sounds good, and this may allow you to use an AVR with good Oscillator trim to do the sweeping.

Using Fixed osc, and dividers only, may be too coarse in steps, especially if you want PWM at the same time.

 

If you instead use PWM to control the DC/Power, and drive a simple square wave, then 16 MHz => 27kHz is ~ /593

( or 32Mhz of a XMega is /1185)

Scan the AVR data for Osc Trim info, and choose a part that allows fine trim.

 

You could also look at a device like Si504, which can give any frequency 32kHz~100MHz from a serial 4 byte real

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Who-me wrote:
 incal wrote ... 

But did you note the date on which he wrote it ... ?

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:

But did you note the date on which he wrote it ... ?

 

Wow, wonder why the forum SW served it up on page 1 of new posts then ??

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Who-me wrote:
the forum SW served it up on page 1 of new posts

Did it?!

 

In that case, please provide details in this thread: https://www.avrfreaks.net/forum/e...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow, wonder why the forum SW served it up on page 1 of new posts then ??

 

It was displayed as having a new post as it did have a new post.

 

But, the new post was a spammer.

 

But, now both the spammer's post, and several posts discussing the spammer's post, have been surgically removed from the Thread, without leaving a trace of their prior existence.

 

Hence the confusion.

 

Sometimes the Moderators just can't win.

 

JC 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wasn't that a different thread?

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Was it?

Perhaps I am mistaken, but I though it was this one.

 

In any event, a few more comments and this Dead Thread is going to roll over to two pages, which will add even more confusion.

 

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I guess I cannot win in trying to restore "order and good manners" cheeky

 

Most probably I will delete these newer posts also, tomorrow... as superfluous to requirements despite the obvious well meant intentions of all.

Ross McKenzie ValuSoft Melbourne Australia