I’m not so sold on that belief… 3D printing has been around for about 40 years but 3 companies kept that locked up and away from the public using patents. Once those expired, a few guys started the RepRap project and started building an inexpensive 3D printer but it was fully open source from hardware to software. Within 10 years others iterated on their ideas and improved it to the point that a home machine which used to be a $100,000 “commercial” machine was under $500. FDM machines are under $200 while their commercial counterparts were 10s of thousands of dollars.
Lasers have come along for the ride mostly because the 3D printer motion platforms and control systems have become so inexpensive and thanks to the K40 and K50 machines 10s of thousands are being sold regularly and prices for CO2 tubes and power supplies have also decreased in price. I just don’t think much of it had to do with commercial vendors and it really was done in spite of commercial vendor market controls.
I don’t quite follow the idea that commercial interfaces are always the simplest and I question why would a laser controller be the most expensive part on a laser? Moore’s Law has been around and validated since 1965 and so the cost of DSP hardware, and most all other electronics, have dropped in price considerably while also becoming much more powerful. Just in the 3D printer space the RepRap group designed their own controller boards and used 8bit 8MHz micro-controllers since 16 and 32bit controllers to run a CNC machine were hundreds of dollars just over 10 years ago but now, less than $50 will get you a powerful 32bit ARM based controller running over many hundreds of MHz.
Most everything was an analog control and slowing things moved more and more to digital control since that is essentially the native language of computers. Seems logical the higher power things like spindles would continue being analog until higher power control circuits became inexpensive enough to switch the control interface to a digital control. Many times PWM(Pulse Width Modulation) based but sometimes commanded with higher level serial communications protocols like CAN, RS485, and even USB.
I’ve had a difficult time finding exactly how long the RuiDa controller has been around but the K40 goes back about 10 years. I don’t really think that is relevant though since the stock K40 controller is one of the first things replaced exactly because of how limited it is with regards to laser power control. It literally had a knob you would turn and adjust for each laser operation you were doing. But the inexpensive 3D printer controller boards were fully capable of driving a laser power supply and the 2 or 3 axis motion platforms. Their firmware was based on supporting the well defined GCode standard( used for CNC control ) so using spindle speed adjustments to control the laser output became popular. Initially there wasn’t much unique in the 3D printer firmware for lasers and things like velocity advance was already implemented for 3D printing. This prevented excess plastic when the 3DP head slowed to make corners then accelerated back to speed for straight sections. This was used for lasers and later a few laser specific adjustments were added.
Having GCode( laser files ) stored on the controller is not new or unique to RuiDa but not all 3DP boards or firmware support that as not all 3DP boards come with enough memory to store these files. Some do via SD or uSD cards and with a graphical display add-on you can select a file from the SD/uSD card and run the laser without a desktop/laptop computer connected. Others who are from the 3D printer segment have used a $30 Raspberry Pi board connected to the laser and using software called OctoPrint/OctoPi to free the computer from needing to be connected to the laser at all times. No doubt one of the added expenses of the RuiDa controller is how much filesystem memory/storage space they have to put in the system to support this print-from-controller capability. But it’s not unique to RuiDa just a standard feature of RuiDa.
if you’d like to know how the K40 M2Nano controller works, David Olsen the author of the MeerK40t software made a great video explaining it. https://www.youtube.com/watch?v=PHU7V8tCS_c
So if I understand this, LPS-L as commanded by the RuiDa is strictly and On/Off signal so no matter if the laser line being put down is grayscale or a fixed power this LPS-L line is asserted for the length of the line. BUT, what you are calling pwm( LPS-IN ) as commanded(output) from the RuiDa controller this pwm will vary it’s pulse duration for a grayscale line or remain at a fixed period for a fixed power line? This part is not so clear to me.
One of the reasons I’m not clear on this is the fact that our 3DP controller boards only have 1 output to the LPS and get design control and power control and not just dithering. We set the LPS-IN to a fixed value which is the maximum we ever want the laser output current to be, as measured on an amp meter on the laser output line. So LPS-IN is fixed and the 3DP firmware only controls the LPS-L input line. And it’s very confusing to hear that it’s so much better to have a PWM control on LPS-IN yet none of the 3DP firmware developers have bothered to use one of the many available outputs on the boards to do PWM on the LPS-IN input.
Controller boards can label their outputs what they want but if they use COTS LPS units the inputs there are typically L and IN but sometimes L is accompanied by it’s inverted pair, H. The L stands for active Low( or assert Low ) while the H is for active High(assert High). Not doubt ttl+ and ttl- are other names for the same thing.
Don knows these laser power supplies quite intimately and never have I heard him once mention sticking a tweeker(non conductive screw driver used in TV tube adjusting) into the side of the LPS to adjust the power output. He has mentioned a number of times using LPS-IN to set the laser output power level. So I think there is a disconnect between what you are talking about for adjusting the LPS output and what Don has been saying about LPS output. I think…