Jump to content

Welcome to TheMalibuCrew!

As a guest, you are welcome to poke around and view the majority of the content that we have to offer, but in order to post, search, contact members, and get full use out of the website you will need to Register for an Account. It's free and it's easy, so don't hesitate to join the TheMalibuCrew Family today!

Homebrew Mtc V2.0


scott_fx

Recommended Posts

Hey guys,

so after not being very happy with the drawbacks of a windows based mtc system (expensive, poor visibility in sunlight, EXPENSIVE, unstable, etc...) I decided to teach myself how to code micro a n00b friendly microcontroller; the arduino. There are a lot of advantages of this system over the pc based system:

THE OLD:

price: the win7 tablet, i/o, wifi hub, usb hub cost 1k+

battery life: the tablet i had was great on battery life. but even in optimal conditions it would last ~7-8 hours. This would require me to be very conscious about the usage and would require me to make sure i had a full charge before each outing and to remember to charge it each night on long weekend trips

boot time:

self explanatory. not a huge issue but annoying

stability:

the old system needed wifi connectivity, usb hub connection, front end program and the win7 os to all be stable. this wasn't always the case. and the last thing i want to do is troubleshoot on a morning when the lake is glassy.

THE NEW:

price: so far i'm less then $200 in on this. I am trying to integrate an android control for my music/media which will raise the cost if you dont own one already. but they can be purchased for < $100.

battery life: this is all wired so no issues with battery life.

boot time: seconds

stability: it's a simple program. the code is tiny and purpose built.

my new motto for this build is to be inspired by apple. to make things quick, smart and easy to interact with. with that in mind i have the following functions implemented:

Power Wedge controller. to make the system as user friendly and ergonimic as possible. i decided to include a knob for manual adjustments of the wedge. There is also a menu screen that has 4 presets as well as a 'retract' button. Each preset can be set by the user if they hold down the corresponding button when the wedge is at the position you want. Right now i have just a numeric reading of the angel of the wedge. but when i get into the design phase of the UI, it'll be a visual circular bar graph to tell you where the wedge is.

a86.jpg

i also plan on putting the wedge 'w' in the center

Ballast Control. for the most part we fill or empty all of our ballast. so i have my main ballast screen that will either fill or empty all the ballasts (based on time limits) with a simple 'flick' of the screen. 'up' will fill all ballasts. 'down' will empty all ballasts. If there was interest or I got into wakesurfing. I could split up the screen into two. one side would set the ballast for boarding, the other half would set it for surfing

a86.jpg

edit: after thinking about it over night. i think i'm going to nix the swipe control and have the 2x2 button structure like in the other menus. on the right side will be wakeboarding fill all. on the right will be wake surfing preset. I also think i may incorporate the wedge angle into those quick selects

If you want to fine tune your wake. a 'long press' of the ballast screen will take you to individual pump control.

a86.jpg

Power Control: the last screen i've worked on is the power center. Since my goal is to eliminate the need for a cd player, i have an button that will turn on or off the amps. in addition this menu will control the various lights of the boat. I'm still undecided but I'm considering having the center button open a 'keypad' to enter in a code that will lock/unlock the pushbutton starter button.

a86.jpg

things that i'm still working on, or plan to implement:

Andriod integration: music/media player as well as using the voice recognition app for voice control over all of the functions (i.e. music, wedge preset, fill ballast all through voice command)

if anyone here knows how to write android apps, i could use some help with this.

anyways.... here is the work in progress:

Edited by scott_fx
Link to comment

Where did you get the command structure you needed to talk to the boats native control?

i have an older malibu. i'm not communicating with any logic from malibu. (well besides maybe the tach wire) I installed a power wedge and all that is needed to move it is a simple +12v source. The controller i'm building will just control relays to move it up and down and then a simple magnet and sensor will tell me the angle of the wedge.

the ballast pumps are also controlled by relays. there wont be much 'logic' to this though. it'll be based on a timer. i believe that's how malibu does it. i dont really like that method as it's flying blindly but to implement a flow meter would increase the cost dramatically (two flow meters per bag = 6 meters)

I'm trying to work with the guys from perfect pass to get speed data from the controller so i can control that as well. but they aren't being very responsive as of late. so that functionality will have to take a back seat. it would have been nice to have user presets that would set speed, fill ballast and adjust the wedge from one button.

Link to comment
martinarcher

i have an older malibu. i'm not communicating with any logic from malibu. (well besides maybe the tach wire) I installed a power wedge and all that is needed to move it is a simple +12v source. The controller i'm building will just control relays to move it up and down and then a simple magnet and sensor will tell me the angle of the wedge.

the ballast pumps are also controlled by relays. there wont be much 'logic' to this though. it'll be based on a timer. i believe that's how malibu does it. i dont really like that method as it's flying blindly but to implement a flow meter would increase the cost dramatically (two flow meters per bag = 6 meters)

I'm trying to work with the guys from perfect pass to get speed data from the controller so i can control that as well. but they aren't being very responsive as of late. so that functionality will have to take a back seat. it would have been nice to have user presets that would set speed, fill ballast and adjust the wedge from one button.

That's why I pieced together a Perfect Pass system instead of building my own. They weren't totally unwilling to do it, but didn't seem interested to work with me enough to get my entire custom system done. I basically would have been making my own master module that I could interface to with my own screen. I had most all the software read to rock. I had my GPS speedo done and was going to use it as my input instead of a paddlewheel. I also used a feed forward loop so I think it would do a lot less overshooting than the PP system does with the wedge down.

As far as the Android stuff goes, download Eclipse and the Android SDK and go to town. One neat thing to check out is the IOIO for the Android platform. I used it at work with a couple reed relays to drive two bigger 120V relays to trip a pilot circuit and reboot a 480VAC incoming power source remotely with anyones Android phone. It works very well and is cheap.

Nice job on your new platform. Looks nice, simple, and reliable - as well as cheap!

Link to comment

martinarcher: nice to see you chime in again :) i have an arduino mega board that acts as a usb host so it will behave like the ioio (i think) I just downloaded eclipse and i'll have to take a look at it this weekend.

cowboy: thanks for the idea about the pressure transducer but those would add nearly $500 to the build. i wonder if there are any less expensive version available that i could use.

apparently they are coming out with a 3/4" version of this:

http://www.seeedstudio.com/depot/g12-water-flow-sensor-p-635.html?cPath=144_151

i could put that on the output port of the bag. when the fill pump fills the bag completely i could then discharge the amount of water desired until i get to the target weight. doing it this way wouldn't slow down the filling process at all and would only need one per bag.

i'm unsure about what you are asking about the arduino accepting current or voltage. do you mean voltage or frequency?

Link to comment

Most of the industrial instrumentation will be set to output 4-20ma using a 24vdc source.

Which if the i/o only accepts voltage readings you can use a 250ohm resistor to create a 1-5vdc signal across the resistor.

I have tossed around doing a automated ballast system using plc's but figured it's honestly not worth the cost.

If after all my other projects are done I might toss a pressure transmitter into the equation so it will tell me exactly how much I have in each bag.

Also using a pressure transmitter you could program your display to read in lb's based upon your bag's weight at different fill heights.

It'd be cool to tell your mtc to fill the rear with 800lbs each and the front with 200lb and it just takes off on it's own.

martinarcher: nice to see you chime in again :) i have an arduino mega board that acts as a usb host so it will behave like the ioio (i think) I just downloaded eclipse and i'll have to take a look at it this weekend.

cowboy: thanks for the idea about the pressure transducer but those would add nearly $500 to the build. i wonder if there are any less expensive version available that i could use.

apparently they are coming out with a 3/4" version of this:

http://www.seeedstudio.com/depot/g12-water-flow-sensor-p-635.html?cPath=144_151

i could put that on the output port of the bag. when the fill pump fills the bag completely i could then discharge the amount of water desired until i get to the target weight. doing it this way wouldn't slow down the filling process at all and would only need one per bag.

i'm unsure about what you are asking about the arduino accepting current or voltage. do you mean voltage or frequency?

Link to comment

i have an older malibu. i'm not communicating with any logic from malibu. (well besides maybe the tach wire) I installed a power wedge and all that is needed to move it is a simple +12v source. The controller i'm building will just control relays to move it up and down and then a simple magnet and sensor will tell me the angle of the wedge.

the ballast pumps are also controlled by relays. there wont be much 'logic' to this though. it'll be based on a timer. i believe that's how malibu does it. i dont really like that method as it's flying blindly but to implement a flow meter would increase the cost dramatically (two flow meters per bag = 6 meters)

I'm trying to work with the guys from perfect pass to get speed data from the controller so i can control that as well. but they aren't being very responsive as of late. so that functionality will have to take a back seat. it would have been nice to have user presets that would set speed, fill ballast and adjust the wedge from one button.

I am fairly sure on the 2011 models the fill and drain functions are not on a timer.

Link to comment
martinarcher

If your using aerator pumps you might be able to monitor the current of the pump and tell when the pump has the bag totally full due to an increase in current. I know the current will drop when the bag is empty since the impeller would be spinning free int he pump housing. The fill would be the thing you would have to test. it would be easy to fill up a bag with an amp clamp on a pump lead and see if the pump's current rises enough when the bag is full to set-up a threshold to turn it off with the control system. It that works be sure to put a timer on the current threshold (current > threshold) for at least a full second. If not I would think pump priming would spike the current enough to trip it off which would be a nuisance.

Something like this could work.

Link to comment
  • 3 weeks later...

a small update

updated gui.

initial tests of wedge positioning system and automatic knob system are working but need a bit of tweaking

streamlined the gui a bit

added a visual representation of approx web position (circle around the 'w')

improved responsiveness of the touch screen (swipe function)

to come:

ipod control

gps speed based wedge functions (wedge only will function at certain speeds)

features put on hold until possibly next revision:

ballast weight calculation (doing it old school for now)

and if anyone wants to laugh. here is my 'wedge proxy' that i use while testing:

As you can see from that video. when i get it in the boat i'll have to do some calibration. it's not going to go 180 degrees and (to my advantage) it wont be going as fast. The speed thing makes it a bit harder to control when it's trying to stop at a specific angle.

Edited by scott_fx
Link to comment
  • 4 weeks later...

a little update. have all of the relay functions working via touchscreen. having a tiny issue with the swipe. ever once in a while it'll execute a swipe command when i tap the screen. gonna have to look deeper into the code. its not a huge issue at the moment though.

decided to explore using a rotary encoder for wedge input instead of the more complicated motorized potentiometer. It's very cool to have but it has a larger overhead during the wedge positioning. I ordered a 74xx74 ic that i'll wire up to the potentiometer to give me a square wave digital input. (for each step it'll go high/low on input 1 for ccw and high/low on input 2 for cw). this will let the arduino spend more time reading the wedge angle sensor and controlling the actuators.

another issue i was having is that updating the display to match the wedge angle wasn't as clean as i would have liked and wasn't very accurate. And knowing if the ballast pumps were on/off/filling/emptying was a bit of a pain. i'd have to go to draw my attention to the screen and navigate to the ballast control screen. I decided to order up some switec stepper motors (the same ones the stock gauges use) and a couple of rgb leds. The revised plan is to replace one of the two speedos (no need for the second one) with this:

44e.jpg

(the gauge face is heavily 'inspired' by the oem gauge but since im not selling these i thought i could get away with it :D)

The stepper will have a needle attached to show wedge position and there will be 3 leds to give me instant feedback of the ballast pump state. (red for off, green for fill, blue for empty)

i also added control for two high current (350 amp) battery relays to 'replace' my battery switch, finilzed the code to control the lighting (nav, dash, int) as well as two thermistors to give me air and water temp readings.

I'll try to upload a wip video soon

Edited by scott_fx
Link to comment

Here is the first trial of the malibu wedge gauge:

I still need to work out how to get it to self calibrate the dial and wedge but it shouldn't be an issue. then i also have to write the code that will show the current status of the ballast pumps

Edited by scott_fx
Link to comment
  • 2 months later...
martinarcher

Nice work. I've been programming all day and needed a little break. I like seeing projects others are working on. :rockon: Looks like it's coming together really nicely! Good work Scott!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...