1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

R2 limitations

Discussion in 'Mods and Upgrades' started by Lance Weston, Jan 25, 2021.

  1. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230
    I wast printing very slow to get a good finish on tubes that were about 1" in diameter (20mm/s). I jumped through all sort of hoops in flow rate and temp. I installed DVR8825 drivers set to 1/32 steps rather than the 1/16 on the Robo and began using filament with a minimum speed of 30mm/sec. I got great finish on flat vertical surfaces but on the 1" tubes it was awful. I also got messages that the log was stopped because of load.

    I decided to set the DVR8825's to 1/8 step instead of 1/16 or 1/32. All of a sudden the 1" tubes look very good. It seem the Processor just can not keep up which could explain many odd things. It may have a buffer because shot radii are fine.

    How can we put in a faster processor? 1/8 steps are really loud.

    Update:

    I have been printing a version of my product that changed the 1" tube design to a 1" octagon. I also changed back the stepper to 1/32 steps. The prints are now coming out gorgeous. Everything I thought I knew about filaments was wrong, I was working around a machine that could not keep up with the data rate. It looks like the timer that generates the steps is auto loading so it does not increase the processor load to go to 1/32 step. I am now printing at double the speed I used to. I am going to have to start from scratch learning new filament settings. The Robo should be no different than all of the other Arduino based printers. I am confused as to why this is happening but understand that a circle is a constant fast change in direction. The Arduino must convert the arc into a series of small straight lines that it can not keep up with.
     
    #1 Lance Weston, Jan 25, 2021
    Last edited: Jan 25, 2021
  2. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    Well, without doing significant surgery you can't really.
    You could swap for an Arduino Due which is a lot faster than the mega (84 MHz versus 16 MHz) BUT ... unlike the Arduino Mega it is 3.3v logic only so you would need to swap for a 3.3v RAMPS ... fortunately one for the Due DOES exist :)

    https://www.amazon.com/Pololu-RAMPS-FD-Arduino-printer-controller/dp/B06XH8L77R

    Given all of that it might be better to simply replace the entire electronics with something faster (maybe a RAMBO board) but it is certainly doable with the Mega formfactor. You would need to rethink the boards you had custom made for the Arduino/RAMPS approach.
     
  3. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230
    I do not mind hardware changes. Is this software compatible? Can I load my existing code and have it run?
    I am also converting my designs from circles to octagons. This should take a lot less processing power.
     
  4. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    I would expect that those board would be largely software compatible.
    A bit of research would be needed (or experimentation) certainly Marlin should run there.
    Getting the MotherBoard type correct would be the only thing and that (at a guess) may be the same as a regular Arduino Mega.
     
  5. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    one last comment -- be more cautious of ESD precautions with the Due. Because it is all CMOS (3.3v) logic it is more sensitive to static. Not extremely so, it is fairly rugged, but take care if you go that route.

    There are a number of faster 32-bit boards that could be used (seems a bit overkill, but you may prefer that route for simplicity) and all of them are faster than the combination you have.
     
  6. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230

    It does not use Marlin code, so I would never get it going. A good article on increasing speed:
    https://stackabuse.com/speeding-up-arduino/
    The problem is that it recommends direct writing ports. That means code re-written for the Partsbuilt board I/O will not work on the Robo board without modifying code rather than globals.

    I may play with it.
     
    mark tomlinson likes this.
  7. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    I am fairly certain you can get Marlin running on the Due, but it is not as simple as compiling it and pushing it.
    I know I have chatted with other folks who did that, but in the end did they use Marlin? I do not recall -- they may have gone with Repetier firmware or even another board.

    While I have used the Arduino Due a fair amount for other projects -- never used it for a printer controller.

    If you can get where you want to go with the Mega -- that is a much better idea.
     
  8. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    Nice article on the Mega you posted too. I have overclocked some Uno and Leonardo boards, but never looked at doing it on the Mega.
    I'd expect you would want some heat sinks :)
     
  9. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230
    Modifying the Ramps 1.4 to be Due compatible is a trivial task. The stepper drivers accept 3.3v. The other inputs: endstop and ADC inputs are easily modified. The endstop pullups are all connected by a single trace to 5v. It can be cut and jumped to 3.3v. The ADC inputs are pulled to 5v by three SMD 4.7K resitors which are easily removed. The now 3.3v on the endstop inputs is directly opposite the T0..T2 inputs and 3 1/8w 4.7k resistors can be soldered straight across with no problem.

    The Due is not a board option in my version of Marlin code 1.1.89. Does a later version of Marlin have the DUE as an option?
     
  10. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
  11. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230
    It is interesting that the link says it programs the DUE, but the DUE is not an option in their screen capture.
     
  12. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    You did include the library for it didn't you (Arduino SAM Boards)?

    119139692_10221458812173696_6049719049483679718_n.jpg


    This is with the Arduino IDE 1.8.13
     
    #12 mark tomlinson, Jan 26, 2021
    Last edited: Jan 26, 2021
  13. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230
    I did not include the library. I have be afraid to update past 1.8.9 for fear of screwing the working setups.Have you used version 1.8.9? if so, is it okay?

    The mods are trivial and I will give it a shot if the Marlin version works.
     
  14. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    I am sure I used 1.8.9 at some point prior to using 1.8.13 -- I don't pay close attention to the compiler versions.
    In most cases it just works and when it hasn't -- it was a code bug :)

    You can install multiple versions side-by-side (without uninstalling the others) if you do the manual download and install.
     
  15. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230
    I had to uninstall 1.18.9 to install 1.8.13. I went to the board manager and enable the DUE. I tried to compile the code but was missing a large number of header files that I can not find anywhere. Github has lots of header files, just none that I needed. I ordered a DUE board from eBay, but I fear that I can not get the files I need.
     
  16. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    Were you compiling Marlin 2.0?
    Point me to the download you were compiling and I will try it and see what is up.
    Or ZIP up what you are compiling and email it to me.
     
  17. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230
    Nope, I was compiling the existing code from Robo. I downloaded Marlin 2.0 but it did not have the missing header files. First missing file is avr/io.h
     
  18. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    So what were the errors with the Robo version of the source (Marlin 1.0.x is the Robo target version)?
    If you were not using stock Robo firmware but rather something downloaded from here -- let me know what you downloaded so I can match it.

    Let's solve one thing at a time and make sure your compiler/libraries are correct.
     
  19. Lance Weston

    Lance Weston Active Member

    Joined:
    Jun 2, 2018
    Messages:
    664
    Likes Received:
    230
  20. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    Got it, this is 1.1.x then let me try it.
     

Share This Page