Welcome to Our Community

Some features disabled for guests. Register Today.

RADDS - is it a solid system?

Discussion in '3D printers' started by halfshavedyaks, Jan 8, 2019.

  1. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    I am looking about for a better set of printer electronics. (I have a heavily modified 400x400mm CR10S with it's 2560 based board and integral stepper drivers)

    It should probably be mentioned that I own a printer to print stuff - not to tinker with the printer - I'll tinker with the printer as needed to make it print better but if there's a set and forget solution that works I'll take it.

    RADDS appeals because:

    * Modular - the arduino, RADDS board and stepper drivers are all replaceable separately.
    * the RADDS board gives me more steppers and other connectors than i have now.
    * 32 bit - but this is a theoretical advantage I don't have a specific need for it - i can just see that it ought to allow better software, smoother faster prints and so on. (But that depends on good software existing for it and software is usually the weak point.)

    Questions:

    * Is RADDS solid and reliable compared to RAMPS (or whatever)
    * which firmware is solid and reliable, easy to work on, and also takes advantage of the 32 bit hardware.
    * which stepper drivers are recommended? DRV8825 seems to be the default is there a better option I should consider?

    lastly - is there a system that is better than RADDs given the criteria above?

    Thanks!

    Thet
     
  2. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    From my (brief) sojourn into researching a possible 3D printer build, it seemed that Klipper was the best firmware out there. I don't remember the specifics like bitdepth now though. 32 bit should allow for higher precision calculations at faster rates, though I think Klipper offloads the calculations and uses an 8 bit board purely for motion control? You can probably Google "RADDS vs Klipper" and find some discussion.

    For drivers, I'm done trying to use StepStick style daughter cards on shields- they give no end of problems- and have been very happy with these cheap "TB6600" drivers: https://smile.amazon.com/gp/product/B07B9ZQF5D. Probably actually a TB67S109 in there- 3A recommended instead of 4A- but that shouldn't be an issue on non-spindle builds. These low cost drivers have been happily powering my laser head (probably at least as heavy as a 3D printer head, possibly more so?) at rapids of up to 20,000mm/min, accelerations of up to 1000mm/s/s at 24V. Mix of OpenBuilds and StepperOnline NEMA 17s in the 50-80oz-in range. They stay cool and quiet without active cooling.
     
  3. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    OK - what sort of problems? Stepstick seemed like a big step up from the integral drivers on my existing board where if a driver blows the whole board has to be replaced.

    The separate drivers as you describe are more like what I have on my CNC machine so sure, I get that it is a good way to go, I'm just disturbed to hear that the apparently neat stepstick daughterboard system gives problems.

    I don't think it is a question of RADDS vs Klipper is it? my understanding is that clipper adds a host computer to the stack ie a Rpi, and then that could run a RADDS hardware setup or a variety of other microcontrollers. Seems like a lot of stages of hardware.
     
  4. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    No, they're basically the same- they just blow pins on the base board instead. They're not optocoupled, so have a stack of microcontroller boards ready if you go that way (I can show you a picture of my pile of dead/crippled ones, even knowing the issues and being careful...) The separate drivers are optocoupled, have built in over/under voltage protection, current protection, etc etc. They protect the rest of your system if something goes wrong.

    As far as I'm aware, both the a4988s and the DRV8825s are known for being relatively noisy drivers. The newer generation (including StepSticks with that TB67S109 chip) may be better, but then you're still looking at an insufficient (I think) thermal envelope for what's being asked of them. The heatsink locating has to be quite specific, but that restriction results in really puny surface areas and probably need active cooling- at which point, you've bulked your system up to the point where you may as well just use discrete drivers.

    So my conclusion was simply not to bother with the StepSticks any more. They're too much of a compromise in too many directions, I think.

    If you can find StepSticks that have the same protections (primarily, really, optocoupling for the logic, and thermal overload would be good) then you could definitely go that way. But at $10 or so for a quality StepStick vs $12-15 for an order of magnitude higher performance with proper system protections and appropriate thermal management, it doesn't seem like it would be worth it.

    It's altogether possible that Klipper could run RADDS, but I'd defer that to a 3D printing expert who knows that software stack better. I'm a subtractive guy who had an Opinion on stepper drivers, haha. :D
     
  5. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    thanks. The TB6600 look like great value. Do you use them directly from an arduino with no shield board? if so that saves some money too.

    Klipper-Rpi-arduino due-TB6600x4 looks like a good and relatively inexpensive setup to me so far and more robust than RADDS. Probably overkill for just a printer but that's OK.
     
  6. JustinTime

    JustinTime Veteran
    Builder

    Joined:
    Dec 18, 2013
    Messages:
    784
    Likes Received:
    259
    I don't know about RADDS but I do know about the noisy steppers. I use, on my 3d printer, the SilentStepStick TMC2130 v1.1. They make the stepper really run quiet. They don't have optocoupler but I never burned my 2560 board, yet :D, and I did a lot of fiddling with the electronics.
     
  7. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    If I were to build a printer, that's more or less what I'd guess my stack would look like (probably TB6600x5 though, because sometimes dual-axis-motors disagree with being on one driver even if it has the current capacity, for a variety of reasons). With the laser it's just Windows/bCNC (later RPi/bCNC)->Uno/grbl->TB6600x4 (XYYZ), nice and easy. I'm a fan of overkill when it comes to productivity from DIY machines; careful engineering of close tolerances is well and good for a well-funded machine manufacturer, but I'd rather have bulletproof reliability at the price of a little elegance.

    Currently they're plugged directly into my Uno. Now that I'm starting to finalise and build my enclosure, I'm making a simple breakout shield (with one of these: https://smile.amazon.com/gp/product/B01J1KM3RM) with single stack (male-only) pins on the outside and 2.54mm pitch mini terminal strips (like these: https://smile.amazon.com/gp/product/B07FTJSNN7) on the inside connected to those. You could use a cheap CNC shield as a breakout board though, and just ignore the driver headers. But then you need to crimp a lot of Dupont plugs, which I'm not a fan of doing, and terminal blocks are much more sturdy. If you're mounting them all super close together, you might just be able to cut one end off of pre-crimped Dupont ribbon and not worry about a shield.

    :p
     
  8. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    further thoughts:

    * AFAICT Klipper relies on octoprint for a GUI - so that's an extra piece of software. Furthermore the default way of installing octoprint is to use it remotely from another computer, so that's yet another computer in the setup. That system doesn't support a display and controls connected directly to the printer. So there's a huge stack of tech that all has to be up and running to do anything at all.

    (I don't get the point of running the printer remotely , monitoring it remotely might be nice but most tasks require physical intervention, wiping down the print bed, removing the last print etc so remote control doesn't interest me much.)

    * The main purpose of klipper is to increase the number of instructions that can be fed to the printer by farming out most of the heavy work to the Rpi, and just streaming the raw instructions to the microciontroller. With a 32bit microcontroller this seems less necessary.

    * If running a printer from a arduino with external drivers such as the TB6600 then some sort of shield or extra circuitry is still required to handle the nozzle heater and the bed heater. My bed heater is on a Solid State Relay anyway since it is mains powered but I'd have to look into whether i can run the SSR directly from an arduino pin. I would still need a mosfet or some such to switch the 12v to the nozzle heater. There's also the thermistor inputs to consider, I don't yet know if they need additional circuitry such as provided on a shield.

    * The Due I think is discontinued, but it isn't clear to me what 32 bit board is a suitable widely adopted replacement. The Due is still around and maybe would be fine.
     
  9. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    the radds.org website appears to not exist I get a 404 - doesn't bode well.
     
  10. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    Arduino pins are pretty fragile- I'd add an optocoupler at minimum before any power semiconductors, and I don't recall off-hand if SSRs need a high-capacitance dump like a MOSFET does, but if so then some kind of additional driver for that too.

    From my cursory Google search, Octoprint installs happily on a Pi along with Klippy(?), feeding a Due (which is still available for sale on the official Arduino US webstore?) running Klipper. Seems fairly straightforward to me, similar to how I use bCNC and grbl currently. Not sure what the purpose of using a 32-bit Due would be when the end-effector is intended to be an 8-bit controller, but my prior research concerned "what is the best," not "how to implement printing toolchains".

    Remote monitoring would be nice just for knowing when a print's done, when you're talking about double-digit hours of print times. Especially if you have a stack of parts to make and want to keep the printer idle for as little time as possible over the course of say, a week.

    I'm not sure how the printer-specific I/O would work, I imagine that's dictated by Klipper running the Arduino I/O.

    From another cursory Google search, RADDS appears to be a hardware solution (ie. shield) for RepRap on Due rather than any kind of firmware implementation- I see a lot of discussion of Repetier around it. Other than making interfacing with an Arduino Due quite easy (and potentially a solution for the above questions surrounding Klipper), it doesn't appear to actively do anything of its own volition.
     
  11. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    yes RADDS is a hardware system, it can be run with Marlin, Repetier, Reprap or Klipper firmware. Although I don't need the stepper driver slots on RADDS I'd still be inclined to use it as it handles the heater switching, the power supply input up to 24v and allows 5v connections to the 3.3V Due.

    Presumably it is possible to connect external steppers to RADDS although I haven't found a guide as to how.

    The purpose of the Due is just to use the best hardware at a reasonable cost. It costs so little more than a mega2560 that is seems like an obvious choice. If running Klipper the extra compute power may not be needed, but if running any of the other firmware options then it might be helpful.

    OTOH Due and RADDS are less widely used than Mega2560 and RAMPS and RADDS seems to be just a little orphaned.

    Using Klipper if I want to control the machine while standing next to it then I have to have a stack of Regular Computer->Rpi->Due all connected and running within arms reach. Then for remote control I'd need another regular computer somewhere else. Using any other firmware I can do simple things on the printer from it's own screen without the Rpi and regular computer being present.
     
  12. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    If Octoprint can be installed on the Pi, why can't a monitor and peripherals simply be plugged into that Pi? It sounded like it replaced Cura and other visual elements of the toolchain; Klippy is emulating some kind of serial socket and sending it on to the kinematics module (I think), and Octoprint is simply the head end of the chain. So, one RasPi, one Arduino (maybe two, but it doesn't seem like it from what I saw), and you're done. Maybe there's a way of directly interfacing with Klipper on the Due for jogging and stuff like that, but maybe it's unnecessary. I'm positive there must be a simple way of directly interfacing with the machine of some variety, though even if there isn't, I'd be willing to pay the price of some complexity for higher quality and performance (just not at the cost of reliability).

    The easiest way to get the step/dir/enable out of RADDS if it doesn't have dedicated takeoffs would simply be to make jumpers for the StepStick sockets.

    I'm not a huge fan of dedicated hardware anyway, even if it's ostensibly "open"- websites vanish, creators move on... Not everything garners a community to keep it alive. I'd rather build a custom deck for an Arduino myself and know that I'm not adding unnecessary features. I'm also a fan of local single-use boards; one for the heater MOSFETS actually situated right next to the mat and enclosure heaters, for example, for minimum transmission loss. Even more important when you're talking about PWM-controlled things and you want power distribution measured in millimeters, not inches...

    I have a computer in the office and a computer in the shop. Currently the shop computer is tethered to the laser, which I'm not sure about keeping that way since I'll probably want it available for future machines as well as general purpose stuff... RasPi machine head-ends might be a nice option there. bCNC has a web pendant accessible on LAN via my phone too, which is pretty cool. I have other stuff to do than watch machines work, so being able to keep an eye on times and error messages (and maybe cameras, in future?) is good. In future when multiple machines are running simultaneously on completely different jobs and I'm working on some kind of hand work- sculpting or forging or something, I dunno, the system will all come together! :thumbsup:
     
    Mark Carew likes this.
  13. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    Yes I think it can, but the default assumption is that you connect to octoprint over the network and all the documentations and easy Rpi images and everything assume that, but i think it can be done locally with a bit more manual setup.

    It could be argued that a 32bit microcontroller renders Klipper unnecessary - it isn't clear to me whether Klipper is a better system than say the reprap firmware on Due. However If I get a Due I can try both.

    I'm not sure I want to try to design custom addons to run heaters and so on - but if there are known tested designs out there I would build separate boards for each purpose as you suggest - I'm also a fan of that approach - just reluctant to reinvent the wheel with minimal knowledge of what I'm doing.
     
  14. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    I think setting it up for convenient local use would be worth the effort, for sure. Although sometimes sending a job downstairs without having to get up would be nice, hahaha.

    Yeah, I'm still not quite fully clear on why Klipper needs a pair of 32 bit devices (or a 64 and a 32 bit, I dunno) to run and not just one 32 bit and one 8 bit device. But I'm also not trying to build a printer right now, so I haven't looked into it much.

    Probably sensible- keep it as simple as possible for as long as possible until you understand why machines are designed the way they are. Or go the way I went and spend 3 years learning machine design through the University of Google and not actually building anything! Hahaha.
     
  15. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    I'm clear on that - Klipper needs an Rpi or other "real" computer to run the main body of code because it is written in python which is terribly inefficient of cpu, (but supposedly easier to add to and modify), and because it integrates with octoprint, which also needs the services of a real computer.

    Klipper doesn't need a 32bit microcontroller - it will run just fine on a 8 bit board - but it is also compatible with 32bit boards - so if I want a hardware system that can also give high performance using different firmware without Klipper and the Rpi then the 32bit board leaves my options open.

    If designing a system just for Klipper it might be simpler to stick with a tried and true 8 bit board unless you know you need the really extreme throughput of instructions offered by Klipper AND a 32bit board.
     
  16. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    The thing i'm most stuck on is the best way to make individual external boards for controlling heaters and so on.

    the RADDS board offers several different things that would have to be done externally if it is not used.

    * Buffers 5v signals to 3.3v for the Due
    * Allows the Due to be powered from the main 12-24v supply.
    * Gives several power switching mosfets for heaters and fans
    * gives thermistor inputs (not sure if this involves more circuitry than just connecting to an arduino pin)

    a RAMPs board does much the same for a Mega2560

    Either way to not use the shield board and go with a more modular setup requires a bunch of little external boards to be made. If anyone knows of designs that have already been made and tested for that then please share!
     
  17. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    Those are all super simple tasks, though:

    • Level shifting is trivial- just look up "bidirectional level shifter" on Amazon, you can get five 8-channel boards for ten bucks.
    • This is just a buck converter, probably also available on Amazon for like $7 or something.
    • Power MOSFETS are dirt cheap, if you can make a decent driver circuit for them you're set. A fairly straightforward analogue electronic project. Alternatively, a multi-channel optocoupled relay board is also super cheap, and probably more appropriate for the low-speed switching involved. Transistors are better for high-frequency switching.
    • This is probably just hooking up the thermistor outputs to Arduino analog pins. Maybe a variable resistor divider to bring the output into the Arduino's ADC range, if necessary.

    Throw in some 2.54mm pitch terminal blocks (I love those things) for breaking out the arduino pins, and you're set for maybe $35 or so and a couple of afternoons of casual designing and soldering?

    Obviously this is if someone actually wanted to do the manual work, but for me personally, I think it's worth it for the cleanliness of a build and general performance.
     
  18. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    Yes, it is all quite simple in principle - I just wish there were some known good solutions for this application documented... I will look for that.

    Thanks for the tips about the relay board and the level switching boards. A relay board appeals. Keeps the power and the logic quite separate - that's got to be safer.

    I'm not sure how fast the heaters are switched on and off, I know with the bed heater it is slow, on for tens of seconds at a time then off. The nozzle heater is probably faster but not fast.

    Wiring it all up without creating a horrible rats nest could be a challenge.

    I'm using terminal blocks that plug in the top of the arduino on my workbee , and they bother me, they feel like the blocks and heavy wires on them drag on the delicate arduino sockets. Terminal blocks that are mechanically supported by more than the arduino board would be better.
     
  19. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    Hmm, I'm not sure how many people get into the details like that in builds, since typically they're either using off-the-shelf systems, or tend to describe the larger system details, maybe a simple flow diagram, but probably not detailed like, wiring diagrams and part numbers and stuff. Generally I suppose it's assumed that if you're following a build, you already know how to figure out the details. Not very helpful for people trying to advance their systems but not already familiar with the electronics!

    Relays are perfect for switching heaters and the like, for sure, and they're much bigger than MOSFETS but don't need heatsinking or any of that, so they'll tuck away in some discreet part of the enclosure. I think it's all measured in seconds, rather than milliseconds or less, so relays should be just fine.

    Wiring is what I get to do next, and why I'm thinking about this all now; the rat's nest of random hookups I have has to get converted into a nice, logical flow that fits within as compact a volume as possible. That's one of the reasons I made this grbl logic breakout board I was telling you about:

    Photo Jan 11, 16 12 33.jpg

    Photo Jan 11, 16 12 17.jpg

    The excessive jumper length and destroyed perf holes are from the previous attempt with a low-power soldering iron... That didn't go well. New soldering station and a bunch of Dremelling later, the result was quite reasonable, if less clean than I'd originally liked. But it won't affect the final usage, so it's fine.
     
  20. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    looks like we are designing a fully modular printer setup. Not what I set out to do, but maybe a better result.

    * I just realised that I will need a mosfet for the PWM part cooling fan. However cheap external mosfet boards are readily available, and some have optocouplers.

    * The mosfets and relays should run from 3.3v logic so that's good. The TB6600 stepper drivers it is unclear - some datasheets say down to 3.3v others specify 5v so those may require level shifters. It may depend on whether they are really a TB6600, or more likely on the details of the internal optocoupler.

    * I can't find a proto shield specifically for the Due - does it have the same pinout as the Mega? I strongly suspect so, but can't find confirmation. (not sure I actually need a proto shield but that's another matter)

    * The external relay and mosfet boards all have screw terminal outputs so I'm inclined to use dupont jumpers from the Arduino to the external boards. The steppers may want screw terminals as you've done above - or else a pin to screw converter that is separate and mounted on the chassis to avoid strain on the arduino pins. A setup where it is clearly visible which Arduino pin connects to which device appeals to me.

    * The Due runs on 7-12v if powered from the power jack - so if running a 12v system no buck converter is necessary. If running Klipper it may be possible to power the Due from the USB port on the Pi. My current fans and nozzle heater are 12v - so if I use 24v at all it would only be for the motors.
     
  21. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    with the above breakout board; why not line up the screw terminals and the header pins and run the wires flat to the board and straight across? Then there's no way anything can short if a wire gets pressed inwards.
     
  22. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    That's true. Definitely get optocouplers, that way a minor oversight won't start frying your Arduino pins.

    Largely the same, look to be identical dimensionally- which is all you need- but there are a handful of minor differences when designing an actual system around them: Arduino Mega Vs Arduino Due : Key Differences - Everything I see primarily calls out the need for care with 5V vs 3.3V.

    Dupont connectors is how I prototype things, for the most part, but I haven't found them to be generally reliable. Stepper drivers also use screw terminals, and if everything in a project uses screw terminals, I don't have to crimp any connectors, nor do I have to worry about connectors pulling out inside a housing! I'm a relatively recent convert to all-terminals-all-the-time, but I couldn't go back at this point- the reliability is just so much higher.

    Shields spread out any shear tension amongst all of the pins on the Arduino board, which are surprisingly strong even individually, and unless you're seriously skimping on wire, there shouldn't be any significant tension between any components. How you want to do it is up to you, of course, but the last few years of Arduino tinkering for me have dictated the direction I'm using.

    12V into the barrel port might need a heatsink on the voltage regulator, bear in mind. Buck converters are definitely more efficient, but 12V straight in is definitely the simplest option.

    Definitely should be possible to run the Arduino from the Pi (I've looked into that for grbl too) with a powerful enough DC adaptor for the Pi. 24V on the motors will give you very high rapids and high feed rates, but I don't know how useful that would be on a printer vs my laser etcher? You can only lay down plastic so fast before it starts doing strange things, I would assume.

    You mean have the ports facing straight out the sides? Cable management, basically. I want all of the cables from each component to come into that component at a single point, so everything is neat and easily traceable. You could separate them into smaller bundles and do it your way though, nothing wrong with that. It's really however you want it, once you're designing your own system there's not always a "right" way.
     
  23. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    the relay boards I can find are all "active low" is that normal and correct? surely that means if the arduino is powered down then the relay is on? That doesn't sound safe to me...
     
  24. Gary Caruso

    Gary Caruso OpenBuilds Volunteer
    Staff Member Moderator Builder

    Joined:
    May 19, 2016
    Messages:
    1,193
    Likes Received:
    532
    Normally Open is still NO, but when the arduino commands (NO to closed) it takes signal to ground (Like NPN transistor).. that's how all the aruduino outputs typically act.
    Cheers
    Gary
     
  25. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    Active Low just means that the switch gets activated when it's pulled to ground, rather than connected to circuit voltage. The Arduino keeps the pin's signal line "pulled up" with a resistor to 3.3V, and then when the pin switches, it connects the pin to ground, dropping it to 0v, and therefore the solenoid input as well.

    I'm not sure I like the sound of that though; it means that the high-power circuit could easily fail closed. Components (especially Arduino pins) largely tend to fail low/grounded, rather than high- which is possible, but rare. A pin blowing to ground would leave your circuit on permanently. Personally, I think I'd use a simple NPN transistor and a resistor on each relay output to bring it into active high operation (but remember, the optoisolation means the chance of the Arduino pin blowing is very low) if I was planning on leaving printers working alone for extended periods of time. Unless anyone else can think of a good reason for it to be active low, other than manufacturer convenience based on the existing behaviour of the off-the-shelf components?
     
  26. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    well it seems to be the norm - i don't know if it causes anyone problems.

    My SSR is active high - ie When I send it +12v it switches the 240v on to the heater. I could leave that in the setup. I'm not sure how much current/voltage the SSR requires to operate, maybe it would operate directly off the pin.

    I don't know/understand if there is a difference between the arduino being powered off and the pin being pulled to ground.

    Presumably the arduino pin's operation can be flipped in the firmware, but then I'd have to find an active high relay board.

    It think it probably isn't a big deal - I'll stick with the norm which is active low, it seems.
     
    #26 halfshavedyaks, Jan 14, 2019
    Last edited: Jan 14, 2019
  27. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
  28. Rob Taylor

    Rob Taylor Master
    Builder

    Joined:
    Dec 15, 2013
    Messages:
    1,470
    Likes Received:
    749
    The SSR looks like it's internally optocoupled and doesn't take much power to run, so you should be ok directly tying that to a pin.

    The relays have to have power applied to work- logic and power are not the same, even when it's all 5V. Here's a circuit diagram that shows exactly how they work: 2 Channel 5V Relay Module - Wiki

    So power is applied to Vcc from the Arduino's 5V output. As long as the jumper J5 is in place between Vcc and Vcc-RY, the entire thing runs off of that same 5V rail. For the optocoupling, power wants to get down through R1 through the photoemitter side of U1, through the indicator LED IN1, and out to ground. If you hold that pin high ("pull it up") at 5V, no current can flow, because there's no potential difference- 5V in to 5V out is 0V, as far as the circuit is concerned. The whole thing may as well be disconnected, it makes no difference.

    (That's the difference between it being pulled low and the circuit being off; the RELATIVE difference, not the actual voltage. Is the Arduino GND at true Earth ground, if it's powered from an ungrounded wallwart or battery? Probably not, who knows, doesn't matter. You could run it off a 300VDC supply, as long as your "ground" was 5 to 15V lower than that.)

    Anyway, when you connect that relay-control pin to ground (drop or pull down), you complete the circuit- the current can flow from Arduino 5V rail, through the optocoupler and the LED indicator, and out back to Arduino GND. The optocoupler turns on, allows current to flow into the base of the NPN transistor Q1, which switches and pulls current down to ground through the relay solenoid, activating the relay switch.

    The diodes D1/D2 I hadn't mentioned inside the coil is a flyback diode, just there to provide a current pathway for the monster voltages induced by the collapsing magnetic field in a recently-unpowered coil and stop them from frying the transistor or the Arduino. Lots of inductive components use them, nothing of note in this case.

    That make sense? I'm looking at a 2-channel relay board here at my desk that I forgot I had, and it all looks good. May add it to the laser if I find a suitable air assist/lens protection air pump.
     
    #28 Rob Taylor, Jan 14, 2019
    Last edited: Jan 14, 2019
  29. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    hmm OK I get the gist of the schematic. I was thinking I'd run the relay operating power (RY-VCC) off the 12v supply since 12v relays are available but then it is unclear what the optocoupler VCC would be.

    I wouldn't want to source too many channels of 5v at 15-20ma each from the arduino. That's why i was assuming the relay board operating voltage would be from elsewhere. But if the optocoupler is operating at 12v too will that overload the arduino pin?

    the sentence on that page: "When you need to drive a large power load, you can take the jumper cap off and connect an extra power to RY-VCC to supply the relay; " makes no sense to me - surely the operating power of the relay coil is the same irrespective of the load power?
     
  30. halfshavedyaks

    halfshavedyaks Well-Known
    Builder

    Joined:
    Apr 10, 2018
    Messages:
    102
    Likes Received:
    9
    what I'm trying to say is that I has assumed I would run the optocoupler from arduino 3.3v from the due and the relay coil from 12v from the main power supply. I'm now not sure if that is possible or what board I would need.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice