Jump to content
  • projects-database-banner3.png

  • Share your completed boat projects!  DIY or Professional Installs

    Imagine a single giant database of boat projects for all brands, organized by category, boat type or budget.   Share your projects, find inspiration for a new upgrade, or learn the basics or low budget solutions from projects before you.   We can all share and learn from each other in one place.  

    No project is too plain, cheap or lame to post... all will be helpful to someone.  Let's build this thing!

    Please register or log in first:

    1) Pick a category

    2) Click "Add New Project"

    3) Update your project anytime!

    ***Professional Shops are also welcome to showcase custom work for any category, but you must designate your company name under "installation shop"  with included info.

  • Arduino Controller for Automatic gates


    Jhartt3
    • Year: 1999 Brand: Malibu Model / Trim: Sunsetter VLX Device Type : Other Surf Device Material: Other Control: Powered with Automated Controller Cost: $0-$249 Installation Shop: Self Install Platform Type: Teak
     Share

    THANKS TO THE AWESOMENESS OF THIS COMMUNITY THIS IS NO LONGER THE BEST SOLUTION FOR AN ARDUINO BASED CONTROLLER THANKS @SONICJK

    FOLLOW THE LINK BELOW TO A MUCH BETTER BUILD

    https://www.wakegarage.com/forums/topic/610-arduino-controlled-diy-surf-system-with-bt-app/

     

     

     

    The following is a low-cost automated controller based on the Arduino, which can be used for many things — including controlling surf devices.   Per Arduino's website: "Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects.”   Arduino board are able to read inputs - such as a switch or sensor, and turn it into an output - such as activating a motor.  You can tell your board what to do by sending a set of instructions to the microcontroller on the board.

    If you find this helpful consider making a donation to Wake the World - KC  venmo @WTWKC   PayPal -  Donation Link 

    If you'd like to purchase a pre programmed arduino i have a classified for that HERE

    So the Arduino beast has been conquered.

    Parts list and Pin out can be found HERE  (or below)
     

     

    Arduino Pin GPS Pin Motor Driver Pin Surf Left Switch Surf Right Switch
    0        
    1        
    2 TXD      
    3 RXD      
    4       L1/white
    5     L2black  
    6   in1    
    7   in2    
    8   in3    
    9   in4    
    10        
    11        
    12        
    13        
    5V VCC +5V    
    GND GND   B2 B1
             
             
             
    Motor Driver Board
           
    GND Battery GND      
    out1 Right Lenco - White white    
    out2 Right Lenco - Black black    
    out3 Left Lenco - White green    
    out4 Left Lenco - Black red    
    POWER Battery +12VDC      
             
    Relay        
    87 Blue
    12vDC from battery
       
    87a yellow Ground    
    86 white
    Motor driver board
       
    85 black Ground    
    30 red To lenco    
    Qty Item Price  
    1 GPS Antenna $12.95
    1 Antenna Pigtail $3.95
    1 Enclosure $32.00
    1 9VDC Power Supply $11.85
    1 Arduino $12.99
    1 GPS Module $20.99
    1 Screw Shield $9.98
    1 Jumper Wires $6.98
    1 Motor Driver $6.98
    1 Rotary Switch $15.86
    2 Lenco Fast Actuators $169.97
    1 Relays $24.99

     


    Logic for the NEWLY TESTED transfer capable surf devices can be found HERE 
    Libraries needed - Serial Library - GPS Library - you'll need to add these to your online or offline arduino editor library for the code to work properly. 

    Video of the test with just the switch can be found HERE

     

    The gate is set to deploy between 7 and 15 MPH you can edit the logic to change those speeds - 

    the gate is set to deploy for ~2 seconds and retract for ~3 seconds you can change that time in the logic

    next step will be using some type of pot device to vary the deploy time. 

    Attached are some pictures of the bench test wiring setup - i'll get the final boxed version uploaded sometime in the next week hopefully if my parts show up

     

     

    IMG_20171216_092324.jpg

    IMG_20171216_092328.jpg

    IMG_20171216_092335.jpg

    IMG_20171216_092340.jpg

    IMG_20171216_092349.jpg

    IMG_20171216_092742.jpg

     

     Share


    User Feedback

    Recommended Comments

    Transfer code tested with GPS good to go. only "issue" is the outputs stay high for 2x as long when transferring - not a big deal but just an FYI gates still retract and deploy in about 4 seconds. 

    I'll update the table and the video shortly - 

     

    Also has auto manual logic now 

    Pin 10 when connected to gnd allows you to run just off the switch with no GPS.  

    Link to comment
    Share on other sites

    Nice work - glad to see it open sourced.  That said - Have you tested this under load?  You really shouldn't use the motor controller to drive the lencos, even for these short periods, the board will overheat quickly.  Under load they will draw 7-8A+ which is more than that board can handle without heatsink modifications (the amazon/ebay specs are inaccurate at best...)

    You should swap in standard marine relays to control the actuators (4 of them - just like you'd normally wire in tabs with switches.)  You can then use your existing motor driver -- or just get an even cheaper L298N h-bridge (<$5) or just an h-bridge chip to just trigger the relays the same way you have it wired now.  That reduces the amps from 7-10A+ on the h-bridge to ~120ma and lets you put your control box at the dash or someplace else nice and dry.

    Edited by jonthompson
    Link to comment
    Share on other sites

    I dont think it should be an issue they say they are rated for that and they arent running for long amounts of time - while testing if they ran continuously for over 30 seconds the FETs would get hot to the touch.  but there is never a time these will be running for that long.  i'll watch the draw under load.  not sure why this couldnt be mounted under the dash with this setup either.  i'll watch temp when i test it once the weather warms up. 

    Link to comment
    Share on other sites

    Sorry in advance for the long reply ;)

     

    They will draw significantly more power when there is load (IE water) pushing on them.  Like 3-4x as much.  Retracting will be the same as you see now (or less with the water assist) but both running at the same time, one extending and one retracting will put you over 10-12a easily.  Altho those boards claim 15A+ they are not properly heatsinked to support anywhere near that (they usually melt down around 7 in my experience.)  If it's getting hot at 30s with no load that's not a great sign.

    You'll need to watch out for voltage drops (and heat) with long runs - the electric motor in the actuator will fry pretty easily if you undersize the wiring.  Optimally you don't really want the wiring to be > 10-12ft total on each actuator.  The relays fix that issue and are super cheap/easy.  At the end of the current actuator 6ft cable should be the relay -- which is tied directly into the battery.  From there you can run your relay controls where ever you want with no concerns around load.  If you just add the relays to your setup nothing else has to change. Wiring example - just use your relays in place of the switch http://www.instructables.com/id/Troubleshooting-Testing-and-Bypassing-SPDT-Power-/

    Although preferred <10-12ft, below is a helpful table - electric motors are in the 3% drop  class.  Each actuator run needs a 15A line as per specs, so you may need 8AWG depending on total length between actuator and battery (including actuator 6ft -  realistically to the dash you're going to be over 30ft, it adds up quickly.)  Or you can just toss a relay there and run 16-18AWG as far as you want since there's < 200ma on it!

    DC_wire_selection_chartlg.jpg

     

    Incase it helps, here's the logic ripped out of mine for the deploy/retracts that will fix your long run time - no need for delays.  Similar logic to yours, i just use an array to reduce the code. coolDown is a period to prevent the actuator from running in the opposite direction too quickly if i'm bouncing around speed limit or GPS has issues -- currently 500ms.  On mine tabTime is specific to the profile loaded and can be adjusted on demand with a pot to adjust the deployment- you can just set it to a static number for your config.

    surf=0/1/2  (off, left, right)

    tabMap[0] =off, tabMap[1] = left, tabMap[2] = right (this is just for reporting on a small screen and phone app I have, and serial)

    deployed[ ] is 0 off, 1= left 2= right.. etc..  for all the other ones.  Timers are -1 when they are not running.

    I call tabTimers() at the start of my loop() and goSurf() after I have collected GPS data/etc in the loop.

     

    void deployTab(int tab) {
        Serial.print("Deploying: ");
        Serial.println(tabMap[tab]);
        for (i = 1; i < 3; i = i + 1) { // loop thru to see if we need to retract anything before starting.  Skipping cooldown currently to reduce any lags since this should only be for transfers.
          if(i != tab and (deployed[i] == 1 or deployTimers[i] > 0)) {
            retractTab(i);
          }
        }
    
        //Do deploy start logic here
        deployTimers[tab] = millis();
    }
    
    void retractTab(int tab) {
        Serial.print("Retracting: ");
        Serial.println(tabMap[tab]);
        //do retract start logic here
        retractTimers[tab] = millis();
    }
    
    void goSurf() {
      
      if(surf > 0) { // Is surf enabled?  surf 1=left surf2=right
        
        if(speedlimit ==1) { // Are we in a deploy speed range
          if(deployTimers[surf] == -1 and retractTimers[surf] ==-1 and deployed[surf] != 1 and (millis()- coolDownTimers[surf]) > coolDown) { // are we not deploying or retracting and not deployed and not in a cooldown for this actuator?
            deployTab(surf);
          }
        }
        
        // Check if we have anything to retract
        if(speedlimit ==0) { // Are we outside of a deploy speed range
            for (i = 1; i < 3; i = i + 1) { // loop thru both to see if we need to retract
              if(retractTimers[i] == -1 and deployTimers[i] ==-1 and deployed[i] == 1 and (millis()- coolDownTimers[surf]) > coolDown) { // are we not deploying or retracting and deployed and not in a cooldown for this actuator?
                retractTab(i);
              }
            }
          }
          
      } else { //  auto-retract when surf is off
       for (i = 1; i < 3; i = i + 1) { // loop thru both to see if we need to retract
        if(retractTimers[i] == -1 and deployTimers[i] ==-1 and deployed[i] == 1 and (millis()- coolDownTimers[surf]) > coolDown) { // are we not deploying or retracting and deployed and not in a cooldown for this actuator?
            retractTab(i);
          }
        }
      }
    }
    
    void tabTimers() {
      // Check timers for status
      for (i = 1; i < 3; i = i + 1) {
        if(deployTimers[i] > 0 and (millis()- deployTimers[i]) > tabTime[i] and retractTimers[i] == -1) {
          deployed[i] = 1;
          //Do your deploy complete logic here, IE: set pins
          Serial.print("Deploy complete: ");
          Serial.println(tabMap[i]);
          deployTimers[i]=-1;
          coolDownTimers[i] = millis();
        }
      }
      for (i = 1; i < 3; i = i + 1) {
        if(retractTimers[i] > 0 and (millis()- retractTimers[i]) > tabTime[i] and deployTimers[i] ==-1) {
          deployed[i]=0;
          //Do your retract complete logic here, IE: set pins
          Serial.print("Retract complete: ");
          Serial.println(tabMap[i]);
          retractTimers[i]=-1;
          coolDownTimers[i] = millis();
    
         }
      }
    }

     

    Edited by jonthompson
    Link to comment
    Share on other sites

    if what you're saying is true about the motors not working well if being extended to the dash of the boat the martin's box that has the motors tie in at his box would be causing people's setups to die earlier.  i understand what you're saying about over heating it - i feel if it melts down i have reason to go get my money back from amazon and change to the relay setup.  b/c the product description was wrong.  if i install these relays you speak of now i have about 40% more wiring to do plus i have to find a place to mount them in my boat ... i'm skeptical of its need. as running both motors doesnt cause any warmth to the FETs under no load even when they are on for 8 seconds.  

    Thanks for you logic its harder to read someone else's and apply it.  but i'll look at in detail tonight.  i tried forever to get the millis function to work properly really wish this was just a PLC and my life would have been much easier. 

    Link to comment
    Share on other sites

    He's actually using the same marine relays I mentioned, but inside his control box.  In his doc he doesn't address wiring lengths, but does say to use the same size wiring - and specified a 30A fuse - so his wires must be sufficient size. 

    If you do go your route, just double check the volts at the actuator once you're all wired up (and that your driver and wires aren't hot when in use under load.)  IMHO the relays are easier but as long as you're getting +12v and not melting down you're probably ok :) 

    If you wanna test your bridge before you put it in the water - try picking up some heavy things with them (there will be 200+lb force on them) attach to a piece of plywood and pick some stuff up (and down, repeat.)

    Happy to help with the code changes if you have any questions - i just didnt include your pin logic, but it's pretty straight forward start/stop logic - everything else should be handled for you.  If you want my full code let me know, i just stripped out a lot as i have a ton of other stuff in there.

    Edited by jonthompson
    Link to comment
    Share on other sites

    the voltage will be quite a bit higher than 12Volts when the gates are operating due to the engine running should be around 13.3Volts so the drop shouldnt be too significant.  i'll hook it up this weekend.  there are some heat sinks i could add to them as well if they are getting hot.  i'm going back and forth on the relays b/c i'm not sure where to mount them.  but the enclosed plastic box will already be hot in the summer so the FETs will heat up faster.  

    Link to comment
    Share on other sites

    The relays are the small cube style ones and take up no space - they usually have nice little mount tabs or just leave them bundled inline (Make sure you use "marine"/waterproof ones - and don't forget fuses whichever way you go!)

    The voltage drops are larger than you'd think (and the distance adds up fast!) - but as long as you're using the right gauge you're fine - just google DC voltage calculator and enter in all your amps/length/voltage/etc.  Manual calls for a 15A fuse on each -- 30A total from battery if you run a single line.  You'll probably find 8-10AWG will work for you.  http://assets.bluesea.com/files/resources/reference/20010.pdf 

    The way i see it, the main plus for you on the relays is no more heat issues on your FETs as they'd be only driving <200ma vs 7-10A+ and saving money on the smaller gauge wiring including not having to haul 30A all the way up front to begin with..) 

     

    Edited by jonthompson
    Link to comment
    Share on other sites

    Not to thread-jack but since I had a couple people ask - I have shared full code of the above example  - feel free to submit any changes you'd like to propose or any issues you run into.  You can use all the hardware above but I would recommend wiring relays in as I will including in my wiring diagram and not driving off the motor driver alone.

    https://github.com/jonthompson/surfgate

    I'll also post my more advanced code once i remove a few of my specific configurations and a fritzing diagram when I have a second.

    Link to comment
    Share on other sites

    Did you ever get a chance to hook these up in boat and test them?

    Watching video's, I see the lenco's fully deploy and detract, are you also going to be able to fine tune if you want....like bring tab up/down an inch to see how it effects the wave? I ask cause I know on some boats the optimal degree of deployment can be different for best wave.

    This is pretty awesome, my brain is not wired for stuff like this....I have really considering adding something like GSA but the cost is prohibitive since suck gate works so well, but if something like this were available for a more reasonable cost, I would do it. You mentioned something about listing a complete system in the classified section once it was a done deal and working, is that still in the works?

    Link to comment
    Share on other sites

    not setup to be fine tuned still working the kinks out - i think the motor driver board i was using will need to be replaced with a smaller board.  i currently do not have any external inputs to change the time delay used for deploying the gates to shape the wave differently its a 100% deploy 100% retract.  since the system runs off of a timer you could fine tune it to your boats needs by changing the deploy times. - i may tackle this once its working well - still have not had this work properly and be trouble free so i'm just focusing on that right now. 

    Link to comment
    Share on other sites

    Pretty sure I've got this figured out. Old motor control board was the problem. Usung and L298n now with 4 marine relays. Went on a short lake test this evening and all is well I'll post updated info to install the setup I have now as well as new code in the next few days after I test it a few more times. Also the spray problem I was having was fixed by trimming my gates. 

    Link to comment
    Share on other sites

    the logic in the post has been updated i have no manual mode - you'll need to use an L298n Motor controller board with interposing 12vdc relays i've included links above.  I really think this is it guys but its only been on one minor lake test just driving it to my life after dropping it in.  Planning to go out tonight to ride and see if we have any issues.  

     

    My next step will be to add control for the ability to adjust deploy times.  if anyone has any ideas on this i'm all ears.  havent research but was hoping to get some type of knob with LCD display that shows in seconds. 

    Link to comment
    Share on other sites

    On 5/23/2018 at 8:15 AM, Jhartt3 said:

    the logic in the post has been updated i have no manual mode - you'll need to use an L298n Motor controller board with interposing 12vdc relays i've included links above.  I really think this is it guys but its only been on one minor lake test just driving it to my life after dropping it in.  Planning to go out tonight to ride and see if we have any issues.  

     

    My next step will be to add control for the ability to adjust deploy times.  if anyone has any ideas on this i'm all ears.  havent research but was hoping to get some type of knob with LCD display that shows in seconds. 

    Glad you got the kinks worked out!  Just a heads up - after a bunch of work on this - and a few boats running it - i found the best was a rotary encoder for fine tuning.  I had a fancy screen and wifi controls and it was a huge pain in the ass to do while on the water.  The dial works great, you do it in real time - and has a click button to save deploy state to eeprom on the arduino when you dial it in so your state is saved and ready to go the next time you hit surf speeds.  I'll upload that code to my repo this weekend if you wanna grab it, i just installed it on a friends boat today and it's working great!

    Link to comment
    Share on other sites

    On 5/29/2018 at 1:28 PM, Jhartt3 said:

    what rotary encoder are you using? 

    Sorry for delay - missed this.  I'm using - https://www.amazon.com/gp/product/B06XQTHDRR/ref=oh_aui_search_detailpage?ie=UTF8&amp;psc=1

    20 pulses + push button (I use the dial to tweak and once happy you can push the button in to save that setting to the eeprom for that surf tab so it persists through reboots.)  I'm using rotary instead of a pot because it was a nicer feel to just turn the dial infinitely to tweak and not have issues with current state settings each time you switch sides.

    I'm also using a single led for status (deploy solid, moving flash, fast flash for gps errors.)  I haven't searched out a not-ugly one yet - so i'm using these right now - https://www.amazon.com/gp/product/B07BL2FR4B/

     

    I'll check in the rotary code shortly on github - i had some tweaks to it to improve feel after a test this weekend.  I've also replaced the uno in my builds with nanos as they are much smaller and the screw shield is solid and there's no chance of it falling out.  Otherwise everything is the same.

    Link to comment
    Share on other sites

    2 hours ago, Jhartt3 said:

    interested to see your final build with the nano its screw shield is much better i'll likely upgrade to your system in the offseason 

    yeah the nano screw shield is much more secure and MUCH smaller - i've been building them in junction boxes: https://www.homedepot.com/p/4-in-x-4-in-x-2-in-PVC-Junction-Box-E989NNJ-CAR/100404097

    I was using aviation connectors for all the inputs before but i got so sick of soldering i'm just running wire out with bullet connectors -  MUCH easier instead of soldering 16 tiny aviation pins.

    Amusingly now all of my friends have slick gps controlled gates running my software and i'm still on a suckgate... haven't had time to design my gate design yet - nor plan to till fall.

    Link to comment
    Share on other sites

    On 5/28/2018 at 10:50 PM, jonthompson said:

    Glad you got the kinks worked out!  Just a heads up - after a bunch of work on this - and a few boats running it - i found the best was a rotary encoder for fine tuning.  I had a fancy screen and wifi controls and it was a huge pain in the ass to do while on the water.  The dial works great, you do it in real time - and has a click button to save deploy state to eeprom on the arduino when you dial it in so your state is saved and ready to go the next time you hit surf speeds.  I'll upload that code to my repo this weekend if you wanna grab it, i just installed it on a friends boat today and it's working great!

    is the current code on github updated for the rotary encoder?  awesome work guys....i'm an IT geek by trade but have never gotten into this level of coding so i'm amazed at what you're doing!

    Link to comment
    Share on other sites

    On 6/8/2018 at 8:46 AM, jtryon said:

    is the current code on github updated for the rotary encoder?  awesome work guys....i'm an IT geek by trade but have never gotten into this level of coding so i'm amazed at what you're doing!

    sorry not yet - i wanted to test a few changes this weekend on my friends SAN -- i did - have a couple tweaks to make - and will upload in the next day or two along with a full wiring description instead of just a fritzing as it will be easier for folks to understand ;)  

    Either way - if you do build it - its easy to do software updates over USB so you can tweak/apply new changes down the line..

    Edited by jonthompson
    Link to comment
    Share on other sites

    Hi guys!  I have just about finished my new swimdeck with surfgates and I am ready to start building the adruino controller. 

    Thank you both for posting all that information and working all the bugs out of this built. It is something that i would have never even imagined possible, but once its been done, i am hoping that i will be able to just copy it, even if i do not understand everything that i am doing. 

    At this point, i bought everything on the list including the new motor board and relays  

    can you guide to the next step?  I just follow the chart and connect and solder everything?

    Quick question. On the pictures i see a white board used for quick connections i guess, i do not have one like that. Do i just solder those wires?

    I will probably have a lot more dumb questions like that haha.  

     

     

     

    Link to comment
    Share on other sites

    Here is a picture of where I stand right now with this project. This is the information that I was not able to figure out

    I do not understand how to hookup the 4 relays.  I understand that they will be instaled at the end of the actuators cables. At the back of the boat. I should run an 8 gage wire, directly from the battery for power but the pin chart says that the ground from the battery shoud go to the motor driver board? Is that right? 

    I can then run 16-18 gage From the motor driver board to the relays

    my other question has to do with the 9vdc power supply.  How do I hook it up?6EBB8689-68FE-40EE-AEC0-4EA2A7179EEB.thumb.jpeg.f0f07bf713c81405a6aab0d2ab3acab3.jpeg

     

    Link to comment
    Share on other sites

    Your wire gauge assumptions work. 9vdc power supply connects to 12vdc from battery then Vin and ground on the Arduino. There are many grounds that need to be connected. They are all the same

    Edited by Jhartt3
    Link to comment
    Share on other sites

    Ok. I hooked up the power supply. 

    For the relays. Do I connect the 4 blue wires together to the battery 12vDC, the 4 Yellows together to the battery ground?

    The white wire from each relay to: out, 1 to 4 on the motor driver board.  

    And then the black and red to the actuators. I am guessing there will be 2 relays per actuator, one for opening one for closing, so there should be 2 red wires from the relay, connected to the white wire of the actuator and 2 black wires from the relay connected to the black wire of the actuator.

    this is just my best guess. Hopefully i am not too far off. 

    Thanks again

     

     

    Link to comment
    Share on other sites

    It's a bit off the relay pin out is listed above both grounds on the relay connect to battery ground. Only one wire from the actuator connects to one wire on each relay. The relay output. I'm on my phone and can get you a more detailed answer tomorrow. 

    Link to comment
    Share on other sites

    Relay        
    87 Blue
    12vDC from battery
       
    87a yellow Ground    
    86 white
    Motor driver board
       
    85 black Ground    
    30 red To lenco

    I guess i need you to be more specific as to what you dont understand from this Black and yellow are tied together to battery ground - the White goes to the motor control board output, and the red goes to the proper wire for the lenco.  only one lenco wire per relay per the table below.  Out1 would go to Relay1 for sake of simplicity and then that would wire to the white wire on your starboard mounted actuator.  Out2 would go to relay 2 and the black wire of the starboard mounted actuator.  

    Motor Driver Board
           
    GND Battery GND      
    out1 Right Lenco - White white    
    out2 Right Lenco - Black black    
    out3 Left Lenco - White green    
    out4 Left Lenco - Black red    
    POWER Battery +12VDC
    Link to comment
    Share on other sites

    Thanks again for the clarifications. This is a crude drawing of the way I understand it now. Hopefully I am a little closer to the solution. I guess thst one thing that is throwing me off is the column with the wires white black green red. All my relays have red wireBAFD7E48-2DD6-4D24-94FC-ED6DA6EDC740.thumb.jpeg.8e0e1e565b87279560179a0d237e4461.jpeg

    Link to comment
    Share on other sites

    Do i install the motor board close to the adruino in the dash?

    Can i run a single paire of 8 gage wire from the battery (power and gnd) to the dash, and then split between the power supply and the motor board ?

    I would then run an other pair of 8 gage wire from the battery to the back of the boat and split it between the 4 blue wires of the relays for the power and the 4, black and yellow for the ground   i would run 4, 16-18 gage wires to connect the white wires from the relays to the motor board out, 1to4  

    is that right?

     

    Link to comment
    Share on other sites

    The adruino, motor board and gps?

    does it matter what size of wire for the 5 volts connection from adruino to motor board?  I used the small wires like the rest of the connections inside the adruino. And for the switch. i used a blue wire that i had on hand but i am not sure exactly what it is. 

    Link to comment
    Share on other sites

    From tour experience is 10awg enough?  Or if you had to do it again you would use 8awg??? There is a bit of a of a price difference between the two, so if 10 is good, i will use 10awg

    Edited by Antoine
    Link to comment
    Share on other sites

    Marine ancor primary wire, size 10 is $0.47 a foot and size 8 is $1.12 a foot. I figure i will need somthing like 80 feet total to run two wires to the dash and 2 wires to the back of the boat. 

    Edited by Antoine
    Link to comment
    Share on other sites

    hey guys - sorry i have been MIA and haven't been back up to my boat to test the latest code - will be up on Friday to upload it and once I am done with a test run i'll upload it.

     

    In the interim - here is the latest code and instructions on github - i renamed everything to avoid any legal hassles with the name - https://github.com/jonthompson/surfactuator

     

    Just a note - i don't know if you mentioned it, but you MUST PULL THE 5V REGULATOR JUMPER ON THE MOTOR CONTROLLER.  Otherwise you will fry the motor controller with >12V from the battery and potentially your arduino if it fries the regulator.  You will power the logic with 5v from the arduino.  L298N_Motor_Driver_Connections.jpg

    Edited by jonthompson
    Link to comment
    Share on other sites

    21 hours ago, Antoine said:

    Marine ancor primary wire, size 10 is $0.47 a foot and size 8 is $1.12 a foot. I figure i will need somthing like 80 feet total to run two wires to the dash and 2 wires to the back of the boat. 

    Just to clarify, the only wire you need at 10-12AWG is a single run from your battery to the relays for the actuators. You can size that wire up to 25-30a from that chart above to cover both actuators safely - put appropriate sized fuses for the wiring. Dont way overdo it on the fuses - you want them to blow if there's an issue ;)

    Everything else can be 18ga as they are low draw.  The arduino/motor controller/gps/etc draws<300ma.  You can wire that into something else under your dash that has power - and then run 2 pairs of 18ga wire back to the relays to control them.

    The code I have posted on github currently works great with just a switch (the uno version is the latest.)  I'll upload the rotary encoder changes (optional) once i get to test on the water.

    I've also found the cheapest enclosure for everything are standard junction boxes -- if you use a nano - you can fit everything in a 4x4x2 (tightly) - otherwise size up to a 6x6x4 for more space.

    Link to comment
    Share on other sites

    Incase you're curious this is what it looks like in a 4x4x2 box - it's tight - but it fits well.  I'm no longer doing aviation connectors as they are a huge pain to solder - i'm just doing RJ45 from here on out, easy to replace if there's an issue and it doesnt need to be water tight under the dash.  This has the latest code on it and i'm tossing it in my friends boat Friday morning to confirm it all works well.

    IMG-2487.JPG

    Link to comment
    Share on other sites

    On 6/27/2018 at 2:35 PM, jonthompson said:

    Just to clarify, the only wire you need at 10-12AWG is a single run from your battery to the relays for the actuators. You can size that wire up to 25-30a from that chart above to cover both actuators safely - put appropriate sized fuses for the wiring. Dont way overdo it on the fuses - you want them to blow if there's an issue ;)

    Everything else can be 18ga as they are low draw.  The arduino/motor controller/gps/etc draws<300ma.  You can wire that into something else under your dash that has power - and then run 2 pairs of 18ga wire back to the relays to control them.

    The code I have posted on github currently works great with just a switch (the uno version is the latest.)  I'll upload the rotary encoder changes (optional) once i get to test on the water.

    I've also found the cheapest enclosure for everything are standard junction boxes -- if you use a nano - you can fit everything in a 4x4x2 (tightly) - otherwise size up to a 6x6x4 for more space.

    I thought that I had to run a separate pair of 10agw wire to the dash for the power supply of the adruino, but I will happily save me the trouble and piggy back on something else in the dash.  Thanks for the info.

    Link to comment
    Share on other sites

    If you are using the L298N you need to remove this jumper:

    cdn3.bigcommerce.com/s-vt19phz/product_images/uploaded_images/l298n-dual-2a-motor-driver-module-tronixlabs-australia-pinout.jpg?t=1416543556

    You also need to run 5V to the L298N from the 5V pin on the arduino - he mentioned this above - everything can be small gauge wire as you're not dealing with high draws with the arduino stuff - that is the point of the relays, they isolate the high amperage actuators and just operate like a light switch between them and the battery.)

     

    (Tech detail on why: this jumper controls the onboard regulator which converts 12V or less power to a regulated 5V output on the 5V screw.  This is super handy if you're dealing with <12V because you can power your arduino with this 5V output efficiently.  That said, boats run at 14V+ when running and >12V will fry the regulator killing the motor board - and potentially your arduino and other accessories..)

    Edited by jonthompson
    Link to comment
    Share on other sites

    On 6/25/2018 at 8:27 AM, Jhartt3 said:
    Relay        
    87 Blue
    12vDC from battery
       
    87a yellow Ground    
    86 white
    Motor driver board
       
    85 black Ground    
    30 red To lenco

    I guess i need you to be more specific as to what you dont understand from this Black and yellow are tied together to battery ground - the White goes to the motor control board output, and the red goes to the proper wire for the lenco.  only one lenco wire per relay per the table below.  Out1 would go to Relay1 for sake of simplicity and then that would wire to the white wire on your starboard mounted actuator.  Out2 would go to relay 2 and the black wire of the starboard mounted actuator.  

    Motor Driver Board
           
    GND Battery GND      
    out1 Right Lenco - White white    
    out2 Right Lenco - Black black    
    out3 Left Lenco - White green    
    out4 Left Lenco - Black red    
    POWER Battery +12VDC

    Thanks jon,, the jumper is removed.  sorry I have one more question, To be more specific, for the motor board, Do I wire the ground and the power directly to the battery, or to the output of the power supply, or do i just connect the 5v and the ground to the adruino screwsheild 5v and gnd with the small wires?

    Edited by Antoine
    Link to comment
    Share on other sites

    27 minutes ago, Antoine said:

    To be more specific, for the motor board, Do I wire the ground and the power directly to the battery, or to the output of the power supply, or do i just connect the 5v and the ground to the adruino screwsheild 5v and gnd with the small wires?

    Wire the 12V/GND on the motor controller to the 12v BEFORE the 12-9V regulator  (but make sure both are on switched power that is not always on, do not run directly to battery.)

    Treat it as 2 independent power systems:

    1) Ardiuno controller (GPS, motor shield, etc - low draw, use whatever you want) - everything here shares a common ground.

    2) Acutator relays (High amp draw, make sure power/gnd are same gauge.)  This is a dedicated power/ground from the battery of an acceptable gauge.

    You are dealing with 4 different voltages on the arduino - so that makes it confusing, 12v source (regulator, motor driver), 9v (arduino output from regulator), 5v (motor controller and anything on the 5v arduino regulator) and 3.3V (gps, switch, etc).

    The wiring diagram on my project might help - i am using the LM2596 in place of the 12-9V but it is doing the same thing -https://github.com/jonthompson/surfactuator

     

    Edited by jonthompson
    Link to comment
    Share on other sites

    53 minutes ago, Antoine said:

    thanks for the clarifications

    I can still run directly from the battery to the relays?

    Yup! A single pair of the same gauge wire for both +12 and GND - so a 25A-30A line under-30ft should be 10AWG - as per the power table i shared above.  

    Edited by jonthompson
    Link to comment
    Share on other sites

    Ok, i am going to try this tomorrow morning on the boat. My actuators are already installed so the easiest way to test is to install it. I double checked everything but chances are, i am missing something. 

    Please let me know if you see something wrong. C12781F5-B1FD-49C4-9B8D-C7D3784EF006.thumb.jpeg.0e09e684c6a410a0546238ff1662eb47.jpeg27AE6CC4-EE4A-4DD1-A468-E8A851B038EB.thumb.jpeg.550f3c2f62bd856ea75fadde61029809.jpegA079DA77-8DB2-4F53-8C13-9E5387C07651.thumb.jpeg.602368236eb80afd8f080adfa9c34cb0.jpegCF6B5F1F-3BFA-4EFB-8916-EF22264F3855.thumb.jpeg.5080850174f9092b343af7e1e6875036.jpeg

    Link to comment
    Share on other sites

    SUCCESS,  it works, almost perfect.

    Guys, thank you soo much for creating this and all the help you provided.  I would have never been able to do it, but just copying your project, i learned a bunch of stuff, and I realy enjoyed the process.

    Unfortunately, the gps does not work.  Everything works good when I change the speed in the code for -1, but when I put back 7 mph, it becomes very unreliable. So it does realy does itsd function but at leasrt, i know that all the connections and the hardware part is good.

     

    Link to comment
    Share on other sites

    Wait NVM it's in the wrong spot should be on inputs 2/3 not tx rx.  See the pin out above in op for where txd and rxd go. Should solve your problem

    Edited by Jhartt3
    Link to comment
    Share on other sites

    Thanks jhartt3. I am going back to the boat this afternoon. I can’t wait to try this.

    I went this morning to tiewrap the wires in place and cleanup the boat  

    It’s Canada Day here in the national capital (Ottawa). There’s going to be a million boats on the river to participate in the celebrations and watch the fireworks. Its a real zoo on the water. 

     

    Link to comment
    Share on other sites

    Jhartt3, i didn’t have a chance to re-test during the long weekend. I double checked the connections and it was on imput 2/3. It is just the angle at which the picture was taken. 

    I took the time to install everything properly and glue the gps antenna in front of the windshield. Hopefully it will help, originally i had just installed it quickly to test, with the intention of doing a better job after i was certain it worked  

    One of the reason i didn’t finish the test is that i had a couple of problems with the boat.  One of my ballast pumps keeps starting on its own even when the switch is off and even when the key is off. And then one of my surfgate connection to the actuator came off .  I will have to use bolts and go through the gates instead of using screws.

    So it will be a few more days before i can test it again. I will certainly keep you posted

     

     

     

     

    Link to comment
    Share on other sites

    The test didn’t go so well. 

    The gates are repaired and they held good this time.

    When I set the speed to -1mph, I can use the switch to activate one side, the other side and even  switch side and both actuators work together perfectly. 

    When I set the speed to 7 mph, it will work for the first time and even retract when I slow down but after a that, nothing works.

    I have tried different speed settings, use 5v for the gps instead of 3v, I installed the gps antena in front of the boat, but nothing seems to work. 

    I am starting to think that I have a bad gps or antenna. For now this is a huge improvement over the suck gates that I was using so I am still extremely happy with the system. And very greatfull for your contribution.  I have triple check all connections. At this point i might juste order a gps and antenna. 

    Would you know if we can see the readinds of the gps on the computer. I would like to find out if it is reading speed properly

    Link to comment
    Share on other sites

    33 minutes ago, Jhartt3 said:

    yeah could be that. i'm not really sure.  what your issue is other than hardware at this point. you can read the GPS @jonthompson maybe able to help better than I. 

    Do you have the ability to hook up a laptop to the controller to get serial printouts while you are testing?  Kind of a pain - but it'd be much easier to debug this issue.  Are you using jhartt3's code or mine on github?  Mine prints stats out every second to serial - if you point me at the code you're using i can add some debug logic to it for you to see if we can track down the issue.

     

    Link to comment
    Share on other sites

    I am using Jhartt3 logic and hardware.  Its easy for me to hook up a laptop in the boat.  I have done that to test the system and go bakc and forth with different min speed settings.  I use my cell phone to share an internet connection.

    If you guys can help, it would be great

    Link to comment
    Share on other sites

    7 minutes ago, Antoine said:

    I am using Jhartt3 logic and hardware.  Its easy for me to hook up a laptop in the boat.  I have done that to test the system and go bakc and forth with different min speed settings.  I use my cell phone to share an internet connection.

     If you guys can help, it would be great

    Happy to help  -- not to hijack jhartts thread - do you want to drop this to PM?   Or you can facebook chat me -- just we dont clutter up this thread further!  - https://www.facebook.com/jon.thompson1  -- can post back the final response once we troubleshoot it.  

    Link to comment
    Share on other sites

    Just a heads up - I added a simple cheap DIY surf band to my controller over the weekend and just checked in the code to my github  The added parts are under $20:

    This waterproof SOS band (cheap, waterproof, sealed battery, somewhat lame looking but easier than building one.)  https://www.amazon.com/gp/product/B01BQYTM6Q/ref=oh_aui_detailpage_o04_s00?ie=UTF8&amp;psc=1

    and

    Using the receiver like this: https://www.amazon.com/Transmitter-Receiver-Regeneration-Wireless-Burglar/dp/B01AL5Q7SC

    (Can also get a 5 pack for about the same price without the antennas and just add your own wiring.)

    Logic is - pressing button while surfing overrides the current deploy state until the boat slows below the speed limit - then it returns to whatever you have the switch set to.  This is great for transfers controlled by surfer -- and then not confusing for the driver when restarting.

    Link to comment
    Share on other sites

    I know this stuff is all relatively cheap and all, but I have a different Arduino (Mega 2560) and Motor Board than you guys are using, so the pins are also labeled differently. Should I just bite the bullet and buy what you guys are using, or do you think my stuff will work with this project? Here are pictures:

     

     

    Edited by jtryon
    Link to comment
    Share on other sites

    If you end up grabbing my code (which I am actually updating right now moving a pin around to work better with the surf band) the code will work exactly the same on your board as the nano and mega share the same pin configs - the mega just adds a ton more (which is great!)  The only thing i would change is i'd use one of the mega's dedicated RX/TX for GPS instead of the pins I'm using (8/9.) This should just work out of box with my code - no changes required (GPSPort handles that magically for you.)

    Your motor driver looks a little confusing but your pin outs are actually the same as the L298N.  You likely just bridge M1ENA -> M1PWM and M2ENA->P2PWM (we have jumpers for this.)  I didn't check the specs but if you have a 5V regulator onboard that cant handle >12V make sure you disable that (The L298N does, its a jumper.)  Just double check the sheet for how to correctly wire to  make sure i'm not missing anything as Im not familiar with that board.

    Otherwise you just wire the INA/INB the same way as the L298N - you have M1INA, M1INB, M2INA, M2INB instead of IN1, IN2, IN3, IN4 on the L298N - but its the same just different names.

    Link to comment
    Share on other sites

    Perfect - then yes - it is basically identical.  Just wire it the same as the L298N.. You don't need speed control (normally done with the PWM pins) but you will need to drive the PWM pins high most likely - so you'll need 2 additional wires (the ENA/PWM bridging wont work on that one i dont think.)

    That said - Is there a reason you're using it?  I might pick up a $1 L298N vs a $50 motor board ;)

    I would still plan to use automotive relays with it instead of driving the lencos directly from that board (although it says it can drive 12A, there's really no need to have it do all that work and run all that larger gauge wiring.)

    Link to comment
    Share on other sites

    i only have it because the first iteration of this project was 2 years ago and that's what the guy i got the code at that time from said to get haha

    I'm still going to use the relay's--i already bought those.  thanks again Jon!

    Link to comment
    Share on other sites

    On 7/19/2018 at 11:32 AM, jonthompson said:

    Just a heads up - I added a simple cheap DIY surf band to my controller over the weekend and just checked in the code to my github  The added parts are under $20:

    @jonthompson what is the pinout for the surf band receiver to the arduino?

    Link to comment
    Share on other sites

    On 8/6/2018 at 10:53 AM, jtryon said:

    @jonthompson what is the pinout for the surf band receiver to the arduino?

    Power/gnd should be self explanatory ;)  but one of the RX wires -> D2 (INT0 --There are 2 interrupt pins on the arduino, D2=INT0 and D3=INT1.)  Sorry i haven't addressed the surfband in the docs yet.  It will only switch sides when "speedlimit" is valid -- and it resets once speedlimit is no longer valid (this is intentional since there is a physical switch at the helm, i didnt want it to be confusing.)

    I havent verified if multiple of those bands have the same transmitting ID - i assume they do - but if it doesnt work let me know and I'll send you some simple testing code to capture the output from your band so update the source until I get a chance to write a capture-code part.

    Link to comment
    Share on other sites

    I apologize in advance, as I have no previous experience with arduinos.  I tried following the install on github, but I didn't have the gpsport or the rcswitch packages.  I was able to locate the rcswitch and install, but not the gpsport.  Also in the .ino I didn't see the AltSoftSerial.  I'm assuming the code is up to date, but maybe not the install in the readme?  Once again, sorry if this is a no brainer, but I don't speak the language haha.

    Link to comment
    Share on other sites

    Greetings Gentlemen.

    This is my first post on the Garage.  I have been intently reading this thread for some time now and I finally got around to building one and My God...  It works!  Great job JHart and jonthompson.  I will be sending in a donation to the Garage soon.

    I have a question that maybe the Garage Gurus can assist.  I used a simple SPDT switch to control the L/R Lencos.  It works great.  I wanted to geek out and use these LED push button switches, one for each side red and green. (see below)  I wanted to press the button on the surf side and the LED would turn on.

     

    Here is the switch schematics.(see below)

     

    I set the program at -1 MPH to test the controller.  When I connected the switches, the arduino controller works in reverse.  I press the switch and the lenco retracts.  I turn off the switch and the lenco extends.   I connected Pin 4 and Pin 5 to the right side (NO) of each switch on the schematic.  The negative obviously went to ground.  On the left side (NO) I connected to 12V.  The top was jumped to the right side to power the internal LED.  

    What am I doing wrong?  I'm thinking I'm sending 12v back into the arduino board.  Do I need to install a diode?  Can you guys help? 

    IMG_1530.jpg

    IMG_1531.jpg

    Edited by Clutch-n-Throttle
    fixed pictures
    Link to comment
    Share on other sites

    I just looked at your schenatic more. The switch should connect to the Arduino you should pull 5v off of it and send that back to the input. You should not be sending 12v to an Arduino. You may have friend it. 

     

    On a separate note this stuff is really robust. Somehow my controller box ended up full of water.  The only part that needed replaced after drying out was the GPS module. 

    • Like 1
    Link to comment
    Share on other sites

    18 hours ago, Jhartt3 said:

    I just looked at your schenatic more. The switch should connect to the Arduino you should pull 5v off of it and send that back to the input. You should not be sending 12v to an Arduino. You may have friend it. 

     

    On a separate note this stuff is really robust. Somehow my controller box ended up full of water.  The only part that needed replaced after drying out was the GPS module. 

    Thanks for the response Jhartt.  You are correct.  I did fry a few Arduino boards.  🤣  My problem was that I was connecting the switch from a 12V source and connecting it to 5V Arduino.  My electronics-Fu is not strong.  But I think I worked it out like you suggested.  

    I thought I could connect the LED switch to 12V so I can get a bright light out of the switch.  If I connect the switch straight from the Arduino's 5V (Pin 4 or 5) source, I can get it to work.  The LED switch light is a little dimmer than if it was connected to a 12V source, but I think it will be fine.  I made a quick circuit to test it out.  Its below in black:

    In red would be the arduino board and its connections.  I will try it out later this week. 

     

    IMG_1545.jpg

    Edited by Clutch-n-Throttle
    Link to comment
    Share on other sites

    no clue, my code would have to be altered to accept it. i have been reno'ing my kitchen and this works well enough for me as is so i havent looked to add that at this point.  also looking at maybe getting a 2013 or 2014 VLX with surfgate and selling my 99VLX so i may never get to it. 

    Link to comment
    Share on other sites

    On 8/7/2018 at 11:28 AM, jonthompson said:
    On 8/6/2018 at 8:53 AM, jtryon said:

    @jonthompson what is the pinout for the surf band receiver to the arduino?

    Power/gnd should be self explanatory ;)  but one of the RX wires -> D2 (INT0 --There are 2 interrupt pins on the arduino, D2=INT0 and D3=INT1.)  Sorry i haven't addressed the surfband in the docs yet.  It will only switch sides when "speedlimit" is valid -- and it resets once speedlimit is no longer valid (this is intentional since there is a physical switch at the helm, i didnt want it to be confusing.)

    I havent verified if multiple of those bands have the same transmitting ID - i assume they do - but if it doesnt work let me know and I'll send you some simple testing code to capture the output from your band so update the source until I get a chance to write a capture-code part.

    I haven't been able to see this trigger in the serial monitor yet, im waiting on a new GPS arriving Thursday. Everything else seams to be working fine when opting out the speed //. But when i test it moving, i have been having an issue with the GPS. When i resolve that, I will update on the band.

    Link to comment
    Share on other sites

    7 hours ago, RLCurl said:

    I haven't been able to see this trigger in the serial monitor yet, im waiting on a new GPS arriving Thursday. Everything else seams to be working fine when opting out the speed //. But when i test it moving, i have been having an issue with the GPS. When i resolve that, I will update on the band.

    i'm on my second GPS (same one jon used this time) and can't get it to talk to the arduino.  it does have a solid light indoors which indicates no satellites, and a blinking light every second when outdoors which indicates a satellite fix.  it still shows "sats=0" in the serial monitor though.  i've switched the TX/RX pins with no change.  let me know if you have success with another GPS!

    Link to comment
    Share on other sites

    If i remember the led indicators correctly,

    Slow blink = deploying (in or out)

    Solid on = deployed

    Fast blink = GPS problem

    Should try to add the code to have a much slower blink ( 2 to 3 sec. apart ) for GPS lock.

    Link to comment
    Share on other sites

    Hey all - my apologies - i just logged back in for the first time since the fall and see i missed a lot of messages!

     

    I'll start out by saying, I have since replaced my original arduino system with a new bluetooth BLE enabled one - which is much simpler to build - and based on a single robotics board - and a single GPS module.  I plan to upload the code and post schematics for it - i just haven't gotten around to it as i had a big move and a bit of a crazy fall/winter/spring.  I did drop the surf band - as i never really used it and it kept eating batteries.

    The new version lets me adjust settings (and control) via an app on my phone - as well as the hard wired controls.  A smart watch app would be trivial as well.

    I'll upload the new version to a net github location leaving the legacy one in place - and get back to people who messaged me over the next few days!  If anything is urgent drop a line and I'll see if i can help get you on the water asap.  Sorry no i wont build you one!  But the new one is much simpler to build!

    • Like 3
    Link to comment
    Share on other sites

    I’m interested in the BT version. 

     

    BTW. I hook up the LED switches. It didn’t work. It went back to reversing the signal to the lencos. I think it’s the actual LED in the switch  that is throwing off the Arduino. I went with a simple DPDT switch to control the arduino on one side and the separate LEDs on the other side. 

    Link to comment
    Share on other sites

    On 5/29/2019 at 8:28 AM, jtryon said:

    i'm on my second GPS (same one jon used this time) and can't get it to talk to the arduino.  it does have a solid light indoors which indicates no satellites, and a blinking light every second when outdoors which indicates a satellite fix.  it still shows "sats=0" in the serial monitor though.  i've switched the TX/RX pins with no change.  let me know if you have success with another GPS!

    success!!  i switched the tx and rx pins on the GPS and it's working immediately!  i get 7-8 satellites even indoors, and shows a speed of just above zero while not moving, but that's good because it's a readout.  for anyone using @jonthompson code, the wiring sheet should say RX-->D9, TX-->D8 rather than the other way around.  hope that helps someone.

    • Like 1
    Link to comment
    Share on other sites

    I had to switch the pins also. Never got back to post it though. I have finished the install, and decided to add a short (6”) usb cable hooked up permanently to the Arduino board so I don’t have to open the housing every time I want to see the serial monitor or change some code. Link for the cable is below. I also attached a link to the switch I used. It was the best fit for my build.

    https://www.amazon.com/gp/product/B00IFG9FDO?ref=ppx_pt2_tab_b_prod_image  6” usb cable

    https://www.wakemakers.com/xlink-rocker-switch-cover.html Rocker switch cover. You will need the switch also. 

    This picture also shows where I put the led indicator, next to the ignition key.

    Switches are from left to right- surf gates, wedge up and down then ballast bags. I will have to show my wedge automation (was manual) on another post.

    image.jpg.03bd7cbae924d50ab1db5fd1ed16baaf.jpg

    Link to comment
    Share on other sites

    23 hours ago, RLCurl said:

     I will have to show my wedge automation (was manual) on another post.

     

    yeah.... please do!  Would love to read that one!  

    Also you can get a Malibu wedge switch cover, although the right edge of rocker is curved.   So would work better as right side book end.   

    Link to comment
    Share on other sites

    Hello again Fellow Garage Monkeys

    Im hoping you guys can help me with my arduino controller.  I got it to work fine.  But I think I have a glitch somewhere in the system.   A couple of weeks ago, I took the boat out for the first time with the system.  Everything thing was going great for about 15 minutes.  While surfing behind the boat, the wave would collapse and I would get white water behind the boat.  After about 4 seconds the wave would shape up again.  It did this 2-3 times while surfing.  I was holding the rope when it happened so I could stay behind the boat.  When I was done, I asked my daughter (driving at the time) if she was moving the throttle or if the boat was dropping out of the speed range.  She said everything was running fine.  It was late so we packed it up.

    This weekend, I decided to check the system.  When I first power up the system, the lencos turn on to bring the gates back into the stowed position.  I wait about a minute for to the GPS module to acquire the satellite signal and the GPS module flashes every second.  I leave the system powered on for about twenty minutes.  Then after about 20 minutes, the system activates the lencos for 4 seconds to stow the gates back in. After 5 to 10 seconds, the lencos activate again(stowing the gates in).  There is a pause and then the lencos activate again. It will do this for 5-6 activations and then nothing for about 20 minutes.  Then it does the same multiple lenco activation for for 5-6 times.  It seems like the system is resetting itself.  

     I updated the GPS libraries and loaded the most recent code for the system.  Do you guys think its the arduino board?  Should I swap out the GPS module?  Arduino board?  GPS antenna?  Everything looks to be running fine.  I checked all the connections for the circuit.  

    All help and ideas will be appreciated.

     

     

    Link to comment
    Share on other sites

    the other thing that i had trouble with was the rotary encoder, and jon said that he had problems with them as well.  are you using the encoder?  if not, i'd second what jhartt said--check power connections to the arduino, or change the speed setting to see if that helps.  if you are on a river maybe you need to lower the deploy speed to account for the river current. 

    Link to comment
    Share on other sites

    I guess People should be posting who's code they are using here mine or jon's mine doesnt have an encoder and has less parts making it simpler to troubleshoot if you dont really understand what you're doing and just following the guide. 

    Link to comment
    Share on other sites

    My god love this thread !! Thanks guys for all the hard work ! Im not wired this way with computers BUT my work is and have plenty of really good programmers !! I have sent this stuff over to them and they are going to make some tweaks here as im just looking for the simplest way without a ton of wiring etc BUT have all the high tech stuff (arent we all right !!) . Anyway they will be workin gon this for me the next couple weeks and have already handed my Lencos to them so they can play around with deployment retraction small adjustments AND also hooking it up to a LCD display for dash mount that can actually bypass the switches and use TOUCH SCREEN for all the functions . Will keep you posted !! THANKS AGAIN guys !! 

    • Like 1
    Link to comment
    Share on other sites

    @tylerstrop  awesome thanks for having others look into it - I'd say have them look at an android/apple app vs an lcd screen.  would be easier and more versatile and we all already have them in our pockets or on our dash to play tunes.  Wouldnt take much to have that for tweaking the gates in.  @jonthompson said he'd done this but i'm not sure with what.  Please openly share their progress i'd love to upgrade my system from the simple controller i built. 

    Link to comment
    Share on other sites

    @tylerstrop I would love an LCD add-on personally. I like the ability to tweak from an app too, but being able to see speed, GPS lock, deploy side and errors in real time would be awesome. Even better if your guys can program a button to switch from manual mode to GPS mode on the fly for testing.

    Link to comment
    Share on other sites

    @Jhartt3 Yes absolutely  ! My idea was to have a custom display that could be fiber glassed in or have it attach just like fish finder type display to upgrade from regular analog. Also, this would allow literally a PC inside your boat . If you did aHotSpot off your phone you could literally use the screen and surf the net or whatever . Just kind of a tech type thing i guess .

     

    @jtryon I agree i think making a custom touch screen would look pretty cool being able to make different colors , different types of buttons , slide up buttong by finger or turn knobs with your finger tip . From what my programmers are saying they dont think it would be very difficult ....to me it seems extremely difficult haha !! But they do this for a living so we will see what they come up with . 

    They did state that they can write the program to have small adjustments for the tabs/gates . So that you can make small adjustments rather than fully deployed or retracted as was mentioned earlier on the thread . So as soon as they get time i will keep everyone posted and hopefully be able to post pics of the process ....all though there is no pictures allowed in the area they are but might be able to work around this :-) 

    Link to comment
    Share on other sites

    On 8/12/2019 at 4:54 PM, Jhartt3 said:

    @tylerstrop  awesome thanks for having others look into it - I'd say have them look at an android/apple app vs an lcd screen.  would be easier and more versatile and we all already have them in our pockets or on our dash to play tunes.  Wouldnt take much to have that for tweaking the gates in.  @jonthompson said he'd done this but i'm not sure with what.  Please openly share their progress i'd love to upgrade my system from the simple controller i built. 

    Sorry all, i do have the new controller built - and 2 installed - just slowed down with a broken finger (cast on since 4 weeks ago, the day after i put my boat in finally..)

    I'll post up my bluetooth controller code and build list today - it's a rewrite of most of the code (including removing the rotary encoders - you can tweak in the app niw.)  The build is much simpler and only requires the controller (https://www.amazon.com/DFROBOT-Romeo-BLE-Arduino-Bluetooth/dp/B00PS3XHSQ/ref=sr_1_1?keywords=romeo+ble+arduino&qid=1565643755&s=gateway&sr=8-1)  and GPS (same gps as before)  (https://www.amazon.com/gp/product/B01MRNN3YZ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 ) 

    If you want physical controls it supports a 3 way switch like before, and 3 buttons (left/off/right) with LED lights for modes - or just app control.  You wire it and set the specific configuration in the app - no code mods needed.  The app lets you adjust the deploy times on the fly while riding,  default settings - as well as tweaking all the settings the controller uses.  Currently the app is only an android APK and i need to make it a prettier, but it works fine.  Control is over wireless bluetooth.  I do have an android wear app for controlling while surfing but the range is spotty at the moment -if i can improve i'll release.

    From personal experience - i would not recommend a screen/touchscreen arduino on a boat.  Marine environment is tough on parts in general - and there's no decent arduino driven touchscreens that aren't expensive or extremely fragile.  I had an OLED display on my previous build that i removed because it was a pain in the butt.  The phone is a MUCH better controller, everyone has one already, and you can see speed, deploy, settings, etc all on the app. You're better off grabbing a $20 fire tablet and using that than a dedicated screen.

    Anyway, the new code will be up here in the next day or so: https://github.com/jonthompson/surfactuator

    • Like 3
    Link to comment
    Share on other sites

    14 hours ago, jonthompson said:

    Sorry all, i do have the new controller built - and 2 installed - just slowed down with a broken finger (cast on since 4 weeks ago, the day after i put my boat in finally..)

    I'll post up my bluetooth controller code and build list today - it's a rewrite of most of the code (including removing the rotary encoders - you can tweak in the app niw.)  The build is much simpler and only requires the controller (https://www.amazon.com/DFROBOT-Romeo-BLE-Arduino-Bluetooth/dp/B00PS3XHSQ/ref=sr_1_1?keywords=romeo+ble+arduino&qid=1565643755&s=gateway&sr=8-1)  and GPS (same gps as before)  (https://www.amazon.com/gp/product/B01MRNN3YZ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 ) 

    If you want physical controls it supports a 3 way switch like before, and 3 buttons (left/off/right) with LED lights for modes - or just app control.  You wire it and set the specific configuration in the app - no code mods needed.  The app lets you adjust the deploy times on the fly while riding,  default settings - as well as tweaking all the settings the controller uses.  Currently the app is only an android APK and i need to make it a prettier, but it works fine.  Control is over wireless bluetooth.  I do have an android wear app for controlling while surfing but the range is spotty at the moment -if i can improve i'll release.

    From personal experience - i would not recommend a screen/touchscreen arduino on a boat.  Marine environment is tough on parts in general - and there's no decent arduino driven touchscreens that aren't expensive or extremely fragile.  I had an OLED display on my previous build that i removed because it was a pain in the butt.  The phone is a MUCH better controller, everyone has one already, and you can see speed, deploy, settings, etc all on the app. You're better off grabbing a $20 fire tablet and using that than a dedicated screen.

    Anyway, the new code will be up here in the next day or so: https://github.com/jonthompson/surfactuator

    Are you still selling these controllers?

     

    Link to comment
    Share on other sites

    6 hours ago, Chris Chilcott said:

    Are you still selling these controllers?

     

    Sorry I dont/havent sold any of the controllers - but with the new design you can get away without having to solder anything - it's pretty straight forward - you can wire it up pretty easily which was the main goal for using the above all-in-one robotics/bluetooth controller.  It includes everything you need, an arduino, 2 motor drivers to control the actuators, bluetooth, a decent power interface, etc - can just plug in the GPS with breadboard jumper wires (https://www.amazon.com/EDGELEC-Breadboard-Optional-Assorted-Multicolored/dp/B07GD2BWPY/ref=sr_1_14?keywords=breadboard+wiring&qid=1565873219&s=gateway&sr=8-14) and you don't even need to solder.  I'm just cleaning up the code now and will post it and a basic build sheet.  

    Just an important note, especially for the other person working on updated code, same as before, you still don't power the actuators from the arduino directly, you use the arduino to trigger relays which power the actuators.  The arduino cannot put out enough amps to control the actuators. So besides the controller itself, you need to wire waterproof relays to control the actuators.  I'll include a full wiring diagram as i know there were questions previously, attached is a photo of mine.  My controller attaches to the breakout in the middle and is also mounted on the board now. The actuator power lines run out the back.  For size comparisons, I have this relay controller up under my observer seat next to my amps - it's on a 12x12 piece of seaboard.

    66817557_1016084825412034_814175428221599744_n.jpg.e79721211c811c14685df1be14a051b4.jpg

    Edited by jonthompson
    • Like 2
    Link to comment
    Share on other sites

    First off this is an awesome thread and you guys have done a great job.  I have my controller and actuators wired in but I'm having some problems.  I can turn my switch to the left and it deploys to the left correctly.  Then back to the middle and it retracts correctly.  Then when I turn the switch to the right it will deploy right, deploy left and retract right.  It does this repeatedly.  I believe it did the opposite sequence when I deployed right for the first time after startup.  The print out shows surf side: right.  When I turn the switch back to the center it retracts both sides.  Any idea where I may have messed up?

    I did have a few bumps when I started because I wired things up per Jharts wiring diagram and then realized I had to rewire to match jthompson code.  I have double checked the wiring per the jthompson wiring diagram and downloaded fresh code.  I have the default times set to 5900 and the min speed set to -1.  I couldn't get it to work by just removing the // at the end of the code on the //speed limit=1.

    I'm using jthompsons code and I bought all the parts jhart specked out. 

    Link to comment
    Share on other sites

    I'm likely upgrading to @jonthompson new controller setup he posted.  Will have bluetooth connectivity to your phone .  and less parts to wire up since the motor controllers are integrated to the board.  Hopefully he gets that all posted up in the next few weeks.  my old arduino gave out and rather than get a new one i'm going to try out his new setup.  it appears it maybe able to run off of 12VDC straight from the battery as well. 

     

    Edited by Jhartt3
    Link to comment
    Share on other sites

    15 hours ago, Wyoming Malibu said:

    First off this is an awesome thread and you guys have done a great job.  I have my controller and actuators wired in but I'm having some problems.  I can turn my switch to the left and it deploys to the left correctly.  Then back to the middle and it retracts correctly.  Then when I turn the switch to the right it will deploy right, deploy left and retract right.  It does this repeatedly.  I believe it did the opposite sequence when I deployed right for the first time after startup.  The print out shows surf side: right.  When I turn the switch back to the center it retracts both sides.  Any idea where I may have messed up?

    I did have a few bumps when I started because I wired things up per Jharts wiring diagram and then realized I had to rewire to match jthompson code.  I have double checked the wiring per the jthompson wiring diagram and downloaded fresh code.  I have the default times set to 5900 and the min speed set to -1.  I couldn't get it to work by just removing the // at the end of the code on the //speed limit=1.

    I'm using jthompsons code and I bought all the parts jhart specked out. 

    do you have the rotary encoder connected?  remove that and see if it works better...i had problems with the encoder that i used in the beginning.

    Link to comment
    Share on other sites

    1 hour ago, jtryon said:

    do you have the rotary encoder connected?  remove that and see if it works better...i had problems with the encoder that i used in the beginning.

    yep was coming here to say that - the #1 issue people have is the rotary encoder, they all vary and it was a huge pain. if you have that in. pull it out.  otherwise it sounds like a speed issue is your gps displaying a valid speed? can you paste the debug code in?

     

    just a heads up, ontop of a broken finger i was in a bike accident right after posting on thurs and am still recovering.. clearly not my summer - concussion and bumps and bruises and maybe a broken hand, tbd still.  i will post the code this week, just got slowed down on cleaning up and commenting it further.  if anyone already got the new romeo ble controller, hold off, the old code isnt compatible with that one.

    • Sad 1
    Link to comment
    Share on other sites

    10 minutes ago, jonthompson said:

    yep was coming here to say that - the #1 issue people have is the rotary encoder, they all vary and it was a huge pain. if you have that in. pull it out.  otherwise it sounds like a speed issue is your gps displaying a valid speed? can you paste the debug code in?

     

    just a heads up, ontop of a broken finger i was in a bike accident right after posting on thurs and am still recovering.. clearly not my summer - concussion and bumps and bruises and maybe a broken hand, tbd still.  i will post the code this week, just got slowed down on cleaning up and commenting it further.  if anyone already got the new romeo ble controller, hold off, the old code isnt compatible with that one.

    @jonthompson  wait you're saying i need to send back the romeo i bought from your previous post? 

    Link to comment
    Share on other sites

    11 minutes ago, jonthompson said:

    just a heads up, ontop of a broken finger i was in a bike accident right after posting on thurs and am still recovering.. clearly not my summer - concussion and bumps and bruises and maybe a broken hand, tbd still.  i will post the code this week, just got slowed down on cleaning up and commenting it further.  if anyone already got the new romeo ble controller, hold off, the old code isnt compatible with that one.

    yikes sorry to hear!

    Link to comment
    Share on other sites

    1 minute ago, Jhartt3 said:

    @jonthompson  wait you're saying i need to send back the romeo i bought from your previous post? 

    nono - just saying dont flash my currently released code onto it - as it wont work.  sorry for the confusion - i'll get the released code for the romeo out asap.  

    • Like 1
    Link to comment
    Share on other sites

    On 8/14/2019 at 8:50 AM, jonthompson said:

    Sorry all, i do have the new controller built - and 2 installed - just slowed down with a broken finger (cast on since 4 weeks ago, the day after i put my boat in finally..)

    I'll post up my bluetooth controller code and build list today - it's a rewrite of most of the code (including removing the rotary encoders - you can tweak in the app niw.)  The build is much simpler and only requires the controller (https://www.amazon.com/DFROBOT-Romeo-BLE-Arduino-Bluetooth/dp/B00PS3XHSQ/ref=sr_1_1?keywords=romeo+ble+arduino&qid=1565643755&s=gateway&sr=8-1)  and GPS (same gps as before)  (https://www.amazon.com/gp/product/B01MRNN3YZ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 ) 

    If you want physical controls it supports a 3 way switch like before, and 3 buttons (left/off/right) with LED lights for modes - or just app control.  You wire it and set the specific configuration in the app - no code mods needed.  The app lets you adjust the deploy times on the fly while riding,  default settings - as well as tweaking all the settings the controller uses.  Currently the app is only an android APK and i need to make it a prettier, but it works fine.  Control is over wireless bluetooth.  I do have an android wear app for controlling while surfing but the range is spotty at the moment -if i can improve i'll release.

    From personal experience - i would not recommend a screen/touchscreen arduino on a boat.  Marine environment is tough on parts in general - and there's no decent arduino driven touchscreens that aren't expensive or extremely fragile.  I had an OLED display on my previous build that i removed because it was a pain in the butt.  The phone is a MUCH better controller, everyone has one already, and you can see speed, deploy, settings, etc all on the app. You're better off grabbing a $20 fire tablet and using that than a dedicated screen.

    Anyway, the new code will be up here in the next day or so: https://github.com/jonthompson/surfactuator

    First the old code and build list was awsome!  But the link still just goes to the old code build sheet... (I have built the old one and am in the process of testing, (made quite a few changes to the build and a few small code additions...

    But I would love to see the NEW code and build!!!

    Link to comment
    Share on other sites

    On 8/28/2019 at 4:52 PM, Jhartt3 said:

    @jonthompson you feeling any better man?  

    Hey all - finally back on my feet...thanks!  Haven't surfed in a month - but plan to make it out today..I adjusted my tabs yesterday and made a few last controller updates - i'm going to test on the water this afternoon and i think the controllers all ready to go.

    I will need to improve the UI on the app its pretty barebones at the moment - but i think all the features are there.  It should also be coded flexibly enough that you dont need to update the controller, just the app, to add new features/app updates.  Once i hit the water with these last changes, I'll post things up!

    • Like 3
    • Thanks 2
    Link to comment
    Share on other sites

    i bought the new all-in-one board last week and attempted to upload the code to it today.  after changing some of the pinouts once i read up a little on the dfrobot site, the new board took the code upload without any of the initial errors i was getting, which is good.  i'm going to grab my bench testing switches, LED's, etc. from the boat garage this week and see if this thing works as is, and will update everyone on progress.

    • Like 1
    Link to comment
    Share on other sites

    so i have the board behaving correctly finally in the arduino serial monitor, deploying left and right without the errors i was getting for the past week.  however, only two of the motor driver outputs are putting out voltage on retraction or deployment of the switch, but i can't get more than two functions to work at a time.  for instance, i can get left retract and right retract voltage, or left deploy and right retract voltage, etc. but never a single side deploy/retract voltage.  when i look at the roMeo pinout and read up on it, the functions say they are for a motor control and directional control, which i'm not sure translates to a polarity-reversing 12v motor like the lenco's we're trying to drive. 

    pinout of the motor driver below. does anyone have experience with this romeo board and/or a general idea if this motor controller is even capable of working how we want it to?

    Pin  Function
    Digital 4 Motor 1 Direction control
    Digital 5                Motor 1 PWM control
    Digital 6 Motor 2 PWM control
    Digital 7 Motor 2 Direction control  
    Link to comment
    Share on other sites

    functionally it is working in the console output, but the integrated motor pins still aren't putting out voltage when they should.  admittedly i stopped working on it for the past month, but want to pick it back up because i have a couple things to try after doing some more research.  i hope to have an update in another week or so.

    Link to comment
    Share on other sites

    Okay, so here's the code that works with the new board. 
    One oddity is that the polarity of each motor is inverted, I don't know why, not sure if it's a board thing or a programming thing, but retract puts -12V on one output and +12V on the other. This is a bit annoying but very easy to solve, just swap your leads on the lenco or at the relays and all will be well. 

    I have not tested the GPS functions or the rotray yes but it should be unchanged from Johns original code, I'll update once I get it put together. 

    I'm also working on a bluetooth app, but I'm having to learn all that from scratch so don't hold your breath lol. 

     

    Surf_Tabs_JB_Working_V2.ino

    • Thanks 1
    Link to comment
    Share on other sites

    tested on my board and working great!  i'll order up a GPS and test that in my car once it comes in, to make sure speed input and everything is working.  i also found a better rotary encoder than the ones i previously used, which had always seemed to crap out easily so i don't trust them in a marine environment.  jon had also said his testers had the same problem with the rotarys working reliably.  i'll order one of these and see if it works better: https://www.digikey.com/en/videos/p/panasonic/waterproof-encoder

    great job justin!

    Link to comment
    Share on other sites

    Awesome Josh. 

    My encoder comes in today along with some jumper wires so I should be able to fully test this afternoon hopefully. 
    That encoder looks promising, keep s updated there waterproof is always better on a boat

    Link to comment
    Share on other sites

    4 minutes ago, SONICJK said:

    So rotary encoder is working in the code. Now just need to test GPS.
    Once everything is up and running effectively I'll put up a wiring diagram. 

    Can you set the pinout such that the GPS just plugs into the board i know jon said he did that so there is almost no wiring  between internal devices. 

    Link to comment
    Share on other sites

    6 minutes ago, SONICJK said:

    So rotary encoder is working in the code. Now just need to test GPS.
    Once everything is up and running effectively I'll put up a wiring diagram. 

    i have a GPS coming that will be delivered today and i should know if it's working by tomorrow as well.

    jhartt, on the GPS i'm using here, it has external male pins so all you need is a female/female jumper pins from the board to the GPS and you're good to go with no soldering.

    Link to comment
    Share on other sites

    3 minutes ago, jtryon said:

    i have a GPS coming that will be delivered today and i should know if it's working by tomorrow as well.

    jhartt, on the GPS i'm using here, it has external male pins so all you need is a female/female jumper pins from the board to the GPS and you're good to go with no soldering.

    Yes thats what i have but Thompson said he was able to configure the board in such a way that you could just plug the GPS straight into the main board. Not sure what he did though

    Link to comment
    Share on other sites

    Somehow I missed your replies last fall and still don't have the bugs worked out.  If your still willing to help I would appreciate it.  Attached is a screen shot of the debug report.

    I want to add that is not always the left side that has issues. Whichever side we turn to first deploys and retracts. Then when we go to the second side both deploy and the first one to deploy retracts.

     

    Screenshot (1).png

    Edited by Wyoming Malibu
    Link to comment
    Share on other sites

    We've been trying to trouble shoot this all day.  We commented out all of the rotary encoder lines with no change.  I even commented out the GPS loop with no change.  Late in the day we stumbled onto some interesting stuff.  We reloaded the original program and found it works pretty good if the serial monitor is not connected.  If the serial monitor is connected we get the same problems shown in the debug code above.  If the serial monitor is not connected we get one little glitch but other than that glitch it seems to work well.  The glitch is when we turn to surf left the actuator does a brief retract, then nothing for about half a second and then deploys as it should.  Overall it is working but that glitch still has me concerned.   I'm wondering if it is a power supply issue.  I checked my power supply output and have 9.4volts.  Any ideas?

    Link to comment
    Share on other sites

    Hi, have not read the full series of posts, so apologies in advance if this has already been eliminated as the cause but -  I used to run this Arduino Website - rcarduino.blogspot.com before switching to boating.

    9 out of 10 issues with Arduino projects are current draw from a motor or servo pulling the voltage down so the Arduino resets - the other 1 out of 10 is electrical noise from the motor.

    Have look at this old post and part 2 of it for an explanation and demo - 

    http://rcarduino.blogspot.com/2012/04/servo-problems-with-arduino-part-1.html

    I used to use Arduino for all sorts, including RC Vehicles where there was noone in attendance and reliability at a distance in a performance high noise environment was key. hope it helps

    Duane B

     

     

     

     

     

     

    • Like 1
    Link to comment
    Share on other sites

    DuaneB thanks for the ideas.

    I had one power wire for the actuator power and the arduino power.  The setup seems to be even less predictable the more testing I do.  After reading your info I ran a new power and ground from the boat battery to the arduino.  Same problem.  Any other ideas?

    I'm starting to wonder if I need to replace the arduino.

    Link to comment
    Share on other sites

    So it appears my switch was mounted to far away from the Arduino.  I had my box with the Arduino on the transom and ran two wires up to the dash for the switch.  Apparently that is just to long of a run (probably 17').  If I connect the switch close to the Arduino it seems to work good.  Where is everyone mounting their control box?

    Link to comment
    Share on other sites

    Hi,

    Have never built anything with wires over a few inches however seems your not the first to find long wire runs directly from Arduino are not ideal - 

    https://forum.arduino.cc/index.php?topic=19254.0

    https://forum.arduino.cc/index.php?topic=483371.0

     

    The second link suggests CAT5 Cables would give you more reliability and might be a quick fix - if you wanted to go the full on engineering route, the first link suggest line drivers or differential signals - have never used either approach but if you want reliability you should probably investigate both

     

    Duane

     

    Link to comment
    Share on other sites

    Thanks guys.  I remounted my controller on a flat board and put it above the cup holders inside the side rail.  I had my GPS antenna mounted near my blower exhaust port which meant I run out of cord before reaching the dash.  I was able to snake the wire through the hole without drilling another hole and it's pretty well protected in this location.  Mounting my controller under the side seems to work well.  My switch line is now about 4' to 5' long and it is working very well.  Thanks for the help on this.

    • Like 1
    Link to comment
    Share on other sites

    I'm building the original version of this controller right now and was wondering if anyone has pictures and or sizes for the gates they used?  Also what have people been doing with the swim deck?  I have made a custom deck from 1 inch HDPE with a 1 inch riser and I may weld up some new brackets so it sits up even higher.  Lastly where on the boat have people been mounting the gates.  I know I'm new to the forum and really hope that I'm posting in the appropriate area.  Any help would be welcome.  I have a 2000 Malibu Sunsetter that I'm putting the setup on.

    Link to comment
    Share on other sites

    i dont have my gate sizes i cut them down alot after i built them. but its not too important just make sure its mounted at least a 1/2in from the bottom of the boat and a 1/2in insde the outer edge.  if you search posts under my name i have a thread where i had pics of my hdpe gates on my 99vlx

     

     

    Edited by Jhartt3
    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Featured Products

  • Tell a friend

    Love Wake Garage? Tell a friend!
×
×
  • Create New...