Getting in to embedded systems for a living without EE?
rwgast_logicdesign
Posts: 1,464
I have talked about this on another forum, but I am going to ask here too, because I know there are some guys on this board working in the industry and I also know there are people out there consulting using propeller chips.
I have a few ideas to build products to sell on tindie and bootstrap myself, it is mostly precision gear where there are no hobbyist entry level tools (that is anything under $500 bucks). I plan to use a propeller or cypress PSoC4/5 for these products/kits. This is more of a side thing though. I have been a sparky for along time, Ive taken the last year off with maximum unemployment to take care of my now 16 month old daughter. Ive had some issues were trying to work through with her mom so I am a full time parent, and I'm glad I didn't miss these years. I may be taking a job in the cell industry working on LTE base stations which requires 6 weeks blocks of travel and then 10 days off. My idea was to develop these kits with all the hotel time. Really all I need to learn is an EDA tool. I have 3 years of autocad classes under my belt so im thinking it shouldnt be an issue. I currently have full versions of eagle, diptrace, and KiCad im just not sure which route to take while diptrace seems easy and awesome Eagle is more of the norm these days and KiCad allows me to have complete OSH if I decide too.
My real question here is how exactly do you guys go about getting these consulting contracts with a propeller? I know most of them are used in the industrial areas, this is my background as a sparky! Power Plants, Factorys, Casinos etc... when I look at these jobs on line they all use PLC's which unfortunately while I know what a PLC is an ironically there is a micro inside that optocoupled device, I have never programmed or worked with an actual PLC so I really don't apply for those type of jobs... where is it you find places using custom built micro boards to handle industrial stuff or whatever you are sticking the prop in when doing consultation?
I also know erco works for a toy companies if im not mistaken? And I know we are both located in southern CA, I was a member of the Riverside Cunty chapter of the International Brotherhood of Electrical Workers . I have heard working on toys is a good way to break in to an embedded job what kind of requirements do they have? Where exactly do your work and are there other toy companies around the RS/SB/LA area?
I have a few ideas to build products to sell on tindie and bootstrap myself, it is mostly precision gear where there are no hobbyist entry level tools (that is anything under $500 bucks). I plan to use a propeller or cypress PSoC4/5 for these products/kits. This is more of a side thing though. I have been a sparky for along time, Ive taken the last year off with maximum unemployment to take care of my now 16 month old daughter. Ive had some issues were trying to work through with her mom so I am a full time parent, and I'm glad I didn't miss these years. I may be taking a job in the cell industry working on LTE base stations which requires 6 weeks blocks of travel and then 10 days off. My idea was to develop these kits with all the hotel time. Really all I need to learn is an EDA tool. I have 3 years of autocad classes under my belt so im thinking it shouldnt be an issue. I currently have full versions of eagle, diptrace, and KiCad im just not sure which route to take while diptrace seems easy and awesome Eagle is more of the norm these days and KiCad allows me to have complete OSH if I decide too.
My real question here is how exactly do you guys go about getting these consulting contracts with a propeller? I know most of them are used in the industrial areas, this is my background as a sparky! Power Plants, Factorys, Casinos etc... when I look at these jobs on line they all use PLC's which unfortunately while I know what a PLC is an ironically there is a micro inside that optocoupled device, I have never programmed or worked with an actual PLC so I really don't apply for those type of jobs... where is it you find places using custom built micro boards to handle industrial stuff or whatever you are sticking the prop in when doing consultation?
I also know erco works for a toy companies if im not mistaken? And I know we are both located in southern CA, I was a member of the Riverside Cunty chapter of the International Brotherhood of Electrical Workers . I have heard working on toys is a good way to break in to an embedded job what kind of requirements do they have? Where exactly do your work and are there other toy companies around the RS/SB/LA area?
Comments
For a long time now all the work I have done has come about because whenever I finished the last job someone that I had gotten to know whilst doing that would call me and ask if I'm interested in whatever they are doing. Yeah, OK, I'm running out of cash soon!
So where did that all start?
Back in the mists of time I as a young graduate I applied for anything I had any interest in and any tenuous connection to. I knew nothing much of electronics or programming.
And so it starts, somebody wants an assembler programmer for an embedded system? OK, I don't know their system or their processor but they seemed to have faith I could pick it up. A very nerve wracking challenge but certainly fun.
I always remember telling one project manager at an interview straight out that I did not know anything about the processors and languages they were using, let alone the 3D radar system they were working on. And that I did not think I could help them. Fine "your hired".
That led to becoming a freelancer for many years, working on military, avionic, and industrial systems all over the place.
I think in todays web connected world there is a lot to be said for just doing whatever your passion dictates. Write it up nicely on the web. Make a project out of it. May be it works, may be it does not. But I'm convinced that a passion for the work goes a long way, today as it ever did.
Sticking to the Propeller maybe a little limiting of your scope.
One has to realized that the 'big boys' are extremely well-funded and often allied with the national defense of nations. They can and do get equipment from sources and supply channels that are not made public. And they pretty much recruit the best and brightest from the military that come over after an early retirement. These guys may have trained well in the military, but have no EE or other credentials until after working in the corporate world and going to school at the same time.
So can one simply start out in a shack in one's backyard and by-pass all their organization and recruitment? It is a very very long shot. It did happen in the early days of Silicon Valley just because all the engineers and defense contractors were parents in the community and the kids were getting mentoring that might have otherwise been beyond one of today's non-disclosure agreements. Xerox gave away so much of what Apple and Microsoft put into today's personal computer just because they only thought of themselves as a copier business.
About all that I know for sure is that if you want to start a venture, make it pay for iteself. IF there is real demand for your product, growth will occur and you will have the resouces available to grow along with the demand. If there is no demand, you won't waste your money trying to create demand where there is none.
It wouldn't hurt to get a job with a company like Hewlett-Packard and let them pay for your education if you really have a lot to offer in innovation.
By all accounts such big companies now would now rather hire cheap foreign labor that is trained already. Unless you are a really smart, young, graduate in what they want already.
That does not mean there is not room for the smart little guys to do something. As many forum members here demonstrate.
My dad actually graduated from Stanford University at the height of the depression as the youngest member of his class (he started Stanford at 16) and supposedly the two poorest guys in the class were provided with suits to graduate in purchased by their classmates -- Bob Hewlett and Dave Packard.
They went on to make more than any of their classmates.
BTW, my dad never told me this story. I actually heard it form one his fellow graduates that I ran into while working on a construction project at his home.
Yes, do not limit to the Propeller. Do take what you have learned on the Propeller and seek a problem someone has.
Then nail it. Do whatever it takes.
That is how you start. Your first few problems are likely to be painful. Get help, research, etc... whatever it takes.
The real risk is problem scope. Try to keep this small. You can take bigger ones later.
Years ago, I actually used ordinary BASIC and a terminal program to automate a simple manufacturing task. Doing this was not sexy, but it saved a ton of money. I realized there is a huge demand for even simple solutions. So many people do not realize they even have a potential gain to be had. Show them.
Make sure you undertand what the solution is worth. Seek high value, simple things and again, nail them.
For each success, document it, get them to tell you the actual value, or enough to estimate and explain to others in general terms, and build a portfolio of killer things you did. That is your diploma from the school of hard knocks. Cleaning up messes others made and or making old solutions work when broken are two areas ripe for your efforts and they are often very high value too.
Wash, rinse, repeat, and ask people for referrals and more work.
Do not botch it. Pay for help, if you must. The success is worth more than the short term dollars are. Trade favors too.
Network. Make friends. Make them by asking how you can help them. They will return the favor and bring you work.
You want to get known for solving problems. Others will mention you or call you again and again as you actualize each success.
My other post will be about how to find problems and or gains to be had.
at one end you have a potential customer that has a problem. They may not even know they have a problem until you show them how to save a ton of money or just take a ton of pain out of their lives.
At the other end, you have a problem. How to make that solution identified above a reality.
Obviously both problem and solution have to be related to something you know how to do. Else you have no place to start from.
That means not being dedicated to the "one solution" you know but a willingness and ability to make a stretch to the unknown.
Unless of course you are one of the few who genuinely has a whole new idea. Sadly that is not me.
potatohead is right, making contacts, getting known, even friends in whatever business is worth a lot. I'm terrible at that.
Then again, knowledge and experience of what these people want is worth more than any specific technical skill. You pick that up, as best you can, as you go along.
First, what is a "problem?"
Typically, this boils down to cost, quality, time, etc... some basic thing that can be measured and quantified. In the end, it's almost always time and that almost always is framed as a cost of some sort. It frequently can be resources too. Those actually come down to time and cost, in that limited resources are in conflict with multiple needs fighting for access or use or consumption, or cost and time both as the resource is difficult to source and expensive when sourced.
When you identify something like this, how you frame it is important. Sometimes "problems" aren't! They are opportunities for some net gain or other. Use this framing when the "problem" isn't obvious or known or being quantified or targeted. You need to manufacture the opportunity and sell others on what it takes to take advantage of it.
Where that's all not true, it's just a "problem" and people will already be looking for or desire solutions and they may even have identified what that solution actually could be or looks like too.
Long ago, when I first started down this path, I was always looking at manufacturing cycle time. Often, this isn't measured in an inclusive way and when people make this mistake, there is almost always some great and basic improvement to be made. I would measure *ALL* of the time associated with a manufacturing operation, from the time the parts are staged and sitting to the time when they can be staged somewhere else. *ALL* of that time counts. The actual operation cycle time may be quick, while the related activity getting to and from the operation may be terrible, for example.
One of my favorites was eliminating the need to handle parts more than one time. Each time they must be handled, the cost of that operation multiplies by all the time involved, despite fast cycle times. For this, a slower cycle time that eliminates handling parts multiple times will almost always be a win! Special setups, fixtures, control features added to a machine, etc... are all things that can be pretty simple with big pay offs.
This is the domain of basic automation. The amount of embedded understanding you need ranges from none, and you just make better use of the gear involved, to some basics needed to perhaps take the operator out of some tasks, freeing them to do more or do it much better or consistently.
What I did was take metrics to fully understand the "as is" case, and simulate the "to be" case, add up the dollars and or time, then frame the automation or process change in terms of an initial cost, per run return, and then payback after that.
Most "investment" type "problems" end up being opportunities when thought of this way. And you sell your work as the thing that executes the opportunity for them and when your work is done, they get the benefit over time, and ideally that same benefit for a considerable payback time too.
Cost type problems work a similar way, but instead of showing a net gain, you show a net reduction in cost and the gains are implied. Same process, just different framing and positioning.
One of my very first ones involved hacking on a spot welder, only to discover it's program language was far more expressive than the simple guide we had to work from. It could branch, handle variables, etc... What I did was add states to the pedal operation. A tap would execute a weld, a hold would move to the next state, etc... I developed this by busting Smile on jobs, freeing up bits of time where I could run an experiment and learn, write it down, and let it all accumulate. One day, I just setup a job with my new understanding and cut it's time in half. Great! I made sure I kept that info, and I made sure others knew I had it and I did the work to find out what that info really was worth, then I acted on all of that to my benefit as well as everyone else involved. Don't leave dirty laundry. Be sneaky, but fair and leave it all better than you found it and they will only complain a little, if they do at all.
Result: Many parts moved from multiple handling to single handling. This was worth maybe $100k to them over a year. I was making $7.50 / hour. I asked for more. Didn't get it, so I walked and found somebody who would pay for it proper. You gotta do this. Take the risks, get your rewards.
The company I worked for at the time actually complained about longer setup times, etc... and shut up after I asked them for end of month cost and quantity reports.
This became a little business for every other place that had similar welding gear, but I had to quit before I could actually do that. And I did, taking another job, looking for more problems and gains. I was 19 at the time and could get $50 / hour training and optimization rates. All they had to do was let me in the building, show me what their parts were and I would optimize a ton of them, leaving instructions behind. Easy, sweet, profitable. Before I was 22, I had been in and around a lot of the shops optimizing the Smile out of things. Word got around, and I ended up taking a job with a dealer of CAD systems, who happened to notice their own service bookings going down. When they investigated it, they found me. So I stepped up and out of grunt manufacturing production work and began to work at the tools and machine and software level and that step up also meant talking to people who were managers, owners, etc... instead of supervisors and production peers.
Side note: You might ask how a 19 - 22 year old got into all this stuff. Great question! I made friends with and asked questions of the older guys who told me precisely how to do it. Then I went and did it and told them all about it! Of course, they continued to mentor me, and a lot of good came from that. Do not underestimate this. When you find an opportunity, it's almost always a great investment of your time. And they get to share hard won understanding and share in the joy of seeing it applied too. My current mentor is 20 years ahead of me. We talk every week and we get into everything. It's a lifestyle now. No joke here either. We scheme, find niches, figure out ways to sell exploiting them and then do it. Lots of fun. Hard though. Damn hard sometimes. But it can pay well.
I wrote programs, connected things, changed processes, hacked on equipment, learned the science behind the various manufacturing, followed the trades and got to know who was who and what was what... It all adds up. Quick, if you are having fun and success. Where did I get the knowledge? From the books, early Internet, talking to older, experienced people, experimenting (when I could slip that in), etc... So much of that is there for the asking too. You just gotta ask.
I cannot overstate how important doing that really is. One job and it's skills can lead you to another and it's skills and if you do the work to nail it while you are there, it all multiplies fairly quickly. You will find yourself in a whole different class of work and among different peers. And you will leave behind a legacy of savings and gains and people who know you did it and who can refer you or back you when you want to do it again.
The next place I worked, I was doing CNC programming on DOS PC's. Lots of trouble here. The process was crappy, lots of manual edits going on, paper tape being used to transfer program, machine setup and parameter configuration was manual and error prone... So, I tackled each one using BASIC, a terminal program and eventually a network and some shop floor computers. On the CAD system, there was a TON of great things to be done, and I worked on the thing late to build the skill needed to write the programs to automate away a ton of drudge work and errors. That was my first commercial program. Wrote it on a $20 PC I got from a thrifty store too. Made $3K on that box, and gave it to somebody who used it for college papers. That program contained process optimizations for sheet metal manufacturers. Run it, get stuff right, get it faster, net gain, easy sell.
Got good, sold that knowledge as services and software around the region too. People talk, and when they are talking about the good things you did, opportunity will follow. Always does. And if you work for somebody crappy that really doesn't allow for that to happen?
I'll be frank: Sneak and do it anyway, and or get another job with people who will let you and help you grow, not just grind you away for profit every day. That's what I did with the program to be honest.
Life is short. Every friend you make is a potential opportunity, or a source of work, or a partner in the "crime" of that sneak you might just do. No joke.
Wash, rinse, repeat.
One way to find these things is to evaluate everything where you work and convince people to let you take little, tiny, safe risks with big payoffs. A couple of those saved tens of thousands of dollars, and they spent a quarter million on a new machine based on a string of these payoffs. Frankly, they funded the machine, which was the point. I wanted that machine, so I kept shaving money off everything I could find, until it made sense to buy it.
And I wanted that machine, partially because it was very cool and I wanted to learn to operate it, and partially because I saw that thing could very seriously improve the kinds and quantities and costs of work the company was doing. I made all of that known and didn't shut up, instead connecting every single gain I made to the increasingly attractive machine. When it arrived, I got them to hire a friend who knew the thing well, and we set it up together, start to finish. When I was done, I knew that thing cold, and that's yet another consulting offering. Each one adds up. Take 'em, sell 'em, and keep going. You may end up where you want, or you may end up somewhere else too. Won't matter if you are having fun and making good money.
Take the risks, invest some of your personal time, advance, move up and out. That's the game.
Something as simple as a BASIC STAMP, capable of taking a little input, making a decision and delivering some output can save a ton of money when it's dropped into just the right place. These are typically low risk, big reward type problems, and when you can find one, do what it takes to attempt a solution for it. Learn the thing at home, then apply it to some real world scenario when you are ready. Doing this won't cost you much, but the skills you get, and the more important of those is being able to have the kinds of conversations needed to make this all happen, are totally worth some $$$ and time.
The other way to find problems is to read industry trade publications and talk to people about what they do and how they do it. Often, you can come across a common set of trouble or potential for gain and then figure out a product or service or both that presents a gain or cost reduction.
Funny thing. You will often find simple embedded type products in trade magazines that do exactly what I'm writing here and they sell for a lot of money. They sell for a lot of money because the people who made them are asking for a share of the gain to be had, not just marking up their BOM by X percent.
Look these over in industries you are familiar with or are interested in. Then go make one and beat them and make your own money. Almost everything can be further optimized. Look for the slackers and target them specifically. They deserve it for resting on their laurels.
Finding problems and getting into the field of consultant means taking an interest in what others do, caring about it enough to have your own thoughts and then selling those ideas to people interested in doing things better, faster, cheaper.
It's that simple. Start by something you feel passionate about it and consume everything you can to get domain expertise. Take a job doing it. Whatever. Then optimize it. Almost everything can be further optimized. Maybe it's just a procedure, or simple program. Maybe it's a simple embedded board with sensor and or some active component that makes a fixture easier to use, or that takes some human labor or error out of doing something. Who knows? That's the point. When you do, be sure to make the arguments in dollars so you can know what you are doing and what it's really worth and that is the information needed to talk to people in ways that convince them to pay you to do it.
A good example is a set of weigh scales. Usually they are wash-down proof for a starters, then there is the accuracy and precision that is hard to achieve without a dedicated circuit, and the standalone display is often desired as well. Of course, there is a million designs for scales already, you'd have to have something special to catch a buyers eye.
That said, I have yet to see examples of PLCs that take advantage of multi-core CPUs. Not that I've looked that hard. Coming up with a fancy PLC that can handle lots of rapid I/O because the ladder code is more parallel might be something new to sell.
I hadn't planned on just using the propeller chip, Currently I use Prop's, AVR's, and Cypress PSoC4/5 chips. Usually if i need to do something simple, and want it done quickly, ill burn Arduino on to an atmega328 and use that, if anything needs to be optimized like a quad encoder or even pin flipping speed I will prototype the thing using digitalRead/Write, there LCD library, etc. After that I will go back through the code and write all those functions in straight C twiddling bits. I use the PSoC when I need to do mixed signal systems, it is a nice chip! It has an arm as the CPU with programmable digital and analog fabric around it. So you can just drop in pre made objects like hardware based Quadrature Decoders, Shift Registers, etc. But the nicest part of the PSoC is you can drop in analog parts ADC's DAC's OpAmp's and a bunch of other stuff. Not to mention all its pins are re routable at < $5 a chip you get a handful of parts! the problem with that is its all 12 bit stuff, and the opamps are better than jelly bean but they wont cut it in some places, when you need good instrumentation amps, error amps, or even just really low noise high bandwidth rail to rail op amps. And once I get more in to building my own SDR i REALLY REALLY want to learn this platform Parallela! It uses the Xilinx Zynq so it is a dual core A10 SBC with FPGA fabric connected to it, which then controls and adapteva 18 core chip. This thing makes an xmos look like a 6502! There is a fair amount of learning about VHDL and DSP I need to learn before I can actually make this thing do what I want though. Like my my bot to implement SLAM and Vision, this is one of those multi year projects but this one acually has potential to make a $1000 dollar Ettus Research SDR look like yesterdays old junk. I'm sure ill get beaten to this idea though.
Now one of the kits I want to make for example is a digital kelvin clip u/Ohm meter with a few extra features. I only see big boys making these! I have only seen one cheap kit and it was a deal from TAOBAO (some Chinese store) where an EEVBlog member with an ebay store bought 100 and translated the instructions then sold them. u/Ohm meters seem to start at about $500 from what I can tell. I also wanted to build a digital load, funny thing is I was working on one before my daughter was born and this came out while I was working on mine, it is almost exactly what I had envisioned at the time Reload:Pro its a nice piece of kit, he uses a PSoC4 connected to decent FET basically, with a wide ohmic region. He also sells a lot of them too, theres over 1,100 orders on tindie and that doesnt count the hack a day store which is also selling his kits now! If it were me I would slash that price and use a cheaper case, etc, The reason I haven't bought one is you can get a real digital load for about $300 dollars so im not sure why it so popular when $110 more will buy heavy duty Chinese made digital load. I have been thinking about picking this thing back up after seeing his success because I think a digital load should also work as a constant current source since most of the hardware is already there, it really only involves adding a relay on the FET to make the FET source instead of sync... Most people can get buy with just a handful of power resistors to test a PSU under load, but having a constant current source is invaluable in my opinion, especially on that can step in micro amps.
The kits above are the type of project I would be using a Propeller chip in though. Firstly multi core allows it to do more than one function at a time, assuming there are multiple analog front ends. Besides bots I think the prop is excellent for multi-function gear, how about something as simple as reading DC volts and AMPs at the same time without two DMM's, then displaying the power, prop wouldn't blink an eye! Secondly for test tools what I feel I could bring to the table is to use to use 16 bit dithered DACs and 24bit ADCs for over sampling. I want to make all my tool 5-8 digit resolution, with proper calibration. I use .007% voltage standards trimmed on a NIST calibrated HP 8.5 digit meter. I don't own this equipment but the guy who trims my voltage standards is willing to calibrate any of my stuff for 10 dollars a pop, hell maybe he would even want to become partners seeing as he runs voltagestandard.com and has an established business, it would make sense if he like the gear to sell through his site too.
Im thinking I can keep all my kits under $100 dollars if done right which means hobbyist or broke consultants can afford gear that is functionally better than the cheapest offerings from the likes of ExTech/BK etc... I would say my gear is more on par with agilent/tektronix as far as resalution, that is if your looking for functionality and not a pretty case with a 7 inch touch screen which then boost the cost of the tool.
Do any of you guys think that this is really a market you could bootstrap yourself with tindie and start selling to make a living? Obviously huge engineering firms wont buy my test tools but there not the target... basically im finding expensive niche test tools and giving a way for the small guys to afford them. Is this in line with your reply potatohead? It seems to me like people make a living off the most rediclous stuff like the teensy.... anyone with a toaster oven can slap that together, the only real work they did was porting the Arduino framework, im sure that wasn't easy but in the end its just another arduino based dev board it has a chip a voltage regulator and breakout pins.....
As far as consulting goes, I am guessing you would flood your local area with advertising? My mom actually runs the privately contracted part of the local marine bases PR/Social Media campaign and deals with all of there analytics and things like that. Im sure she could help me with marketing and web stuff (I know HTML but I just dont want to take the time to learn how to make modern website). But when your standing in a store and you see a better way to do something how do you approach that?! Just ask to talk to the owner and make a proposal?? How would you be around something like industrial scales in the first place lol?
I have been advised that my theory knowledge (part of being a union electrician was a year of DC and a year of AC theory) is most likely adequate enough to go back and upgrade from my HAM Technicians License to the Extra, which is the highest level. I did about an hour of study to get my technician license, and my electronics knowledge saved my butt I missed 6 out of the allowable 9. I guess the General and then the Extra class exams are much more theory and a lot less about FCC rules and HAM speak. The point being, is while HAM it self wont get me to far, any other HAM that see I have an Extra License will almost treat that like a degree and it will help me build a solid network if I choose to attend HAM events. He had also told me about something called the GROL which I guess is like HAM but for commercial applications and apparently if you can get your extra you can pass the GROL, which is an industry certification that also opens some doors in a more direct way.
Any other tips for getting contracts? I have sporadically done IT and A/V consulting along with electronics repair and electrical work (mostly people who need 240 for a hot tub lol..) over the years but its always just been word of mouth and seems to come all at once then nothing for a year, then one day ill get a call out of the blue with so and so said you helped him with this... but this has always just been extra side money nothing I ever tried to take as a serious career. Id rather go back to being a sparky and slinging panels than cleaning peoples windows machines up all day (ughh rip my eyes out)!
I just want to work with what I love and be able to support my family and it seems to me like so many Americans at least think electronics and electricity in general is some kind of magic! I would think knowing the things we all know make us more in the minority and it should be easy for a knowledgeable and passionate person to get a job that pays at least 45k a year, I would be pulling in 70 if I took a residential solar job. Im use to making about 60-70 but I can get by on a lot less heck Ive had times where I only worked 6 months just ~40k was enough.
When looking for actual jobs i feel like A I am either using the wrong search terms, or B since this is California people who understand tech are a lot more prevalent. Even though im in the southern part of the state all those guys who got EE's and Computer Engineering degrees that google or MS didn't pick up have to take there degree somewhere. We have an old guy in my really small town who owns a TV/AMP repair business, Id told him I knew electronics and asked if he needed any help and he gave me a pretty grumpy no, its a shame because I'm sure that guy has a lot to teach being it looks as if hes 70 with analog scopes everywhere in there. It makes me sad there aren't technician apprenticeships any more I guess because people just throw stuff away. Unfortunately I wasted my time as a kid with VB and cgi scripting, and then the .com bubble happened and VB kind of died.. seems like a parallel to the technician industry.
In milling, people need to know where the tool is. Your typical mill tool gets fitted into a chuck that is part of a holder. That goes into the machine, and the precision between the holder and machine is very good. Usually good enough.
When pushing a mill to it's limits, say for micro machining, that holder / machine position tolerance may not be acceptable anymore. And there is always the variance in tool length to deal with too.
On a recent project, we needed to use .008" ball end mills. Those things are tiny! To make them work, we needed to position the tool length with a tolerance of .0005"
Electrical sensing is killer, but the contact creates a burr on the end mill. Mechanical sensing requires some motion, and will either bend the tool, or won't actually work to that .0005" precision.
We ended up doing two things:
One was optical. Position two of those little USB microscopes and lower the tool against a precision background graphic. Visual inspection got us well within that .0005", but this was convoluted. You gotta get all that Smile into the mill, and it's messy in there. Set it up, drag computers out there, etc...
The other was mechanical, and a bit of a risk. What we did was take shim material and slide it under the tool. This can put a burr on the tool, but it was much faster. Soft materials can work, but it requires considerable operator dexterity. It's marginal too. Getting .0005" is just tough with manual means and methods. Damn tough.
We've thought about some clever thing one can place in a mill and do an optical inspection. It would be awesome to have this battery powered, in a nice precision metal case, and just shop friendly.
Wipe it down, wipe the mill workspace down, place it, turn it on, and see the display on something else. That something else would, in the best case, be a dedicated device that just works. Turn it on, off, zoom, etc... that's it. But a computer would be OK too. Many people have shop computers near their mill, or will brave it with a laptop, etc...
Then the operator moves the tool, does the inspection, and when the tip of the tool is where it needs to be, they set offsets in the mill so the program runs in the right place and the tool is in the right place.
Features like autofocus, or some kind of processing to make the optical comparison dead simple would be big hits. When we used the USB microscopes, depth of field was a big problem. It ended up a tight mess to get everything in there, but once we did, tool positioning was dead simple, and plenty accurate. We were able to position to .0001-2" consistently. More than good enough.
When P2 gets real, I might attempt this one. Heck, I might once the FPGA settles to a working point. For me, it's a hobby / fun use. I won't do a product on it. Well, maybe not. That always depends.
I would buy yours though. Just nail it.
The target is people doing micro machining on existing milling machines. Many of them can handle smaller jobs with retrofits and add ons of various kinds.
Oh, and the probing systems on many of these machines just aren't good enough, and the difference between the probe and the effective tool position once the tool is fitted to the mill varies by more than .0005" Just, almost there... not quite.
This setup takes us an hour or two to complete. If a tool breaks, then we do it again. Mostly we don't have tools break, but a stray chip or error in positioning can cause breakage as can a poor G-CODE program...
While the setup time isn't too bad, cost of error is very high! A micro machined part can take a couple days of machine time to complete. A failed run is quite expensive when we can't simply continue the machining.
There is an opportunity cost too. We avoid this kind of machining. If the setup were more consistent and general operator friendly, we would attempt it more.
Maybe a thread full of problems would help the OP. Just drop 'em here and give them some thoughts.
I don't know the actual history but it's easy to see it was born of pre-solidstate days, ie: Very early control wiring was drawn out semi-grid-like on paper, it looked like a collection of ladders with control supply rails as vertical lines and switching elements strung horizontally between them.
PLC's have just taken that basic concept and virtualised it. All rungs are drawn in parallel but in reality, inside a PLC, each rung is processed one at a time. One can and frequently does make use of this to achieve procedural calculations for example.
There has always been many specialised extensions to the basic ladder though, so changing the rules a little to incorporate multiprocessor execution wouldn't be unwieldy. Maybe each section or each program can be allowed to be parallel to others, programs would seem to be the natural division for paralleling. Maybe have a section execution mapping overview.
PS: I've thought it would be interesting to do my own PLC but never even got as far as building a ladder interpreter.
@evanh, I have unfortunately strapped my cash until I get a new job. I really wanted a lab set up so I got a new DSO, 2 40,000 count meters.. a few voltage/current standards and a mix of new tools and dev boards. If I had money I would definitely pick up a second hand PLC and programmer so I could learn all the hi level stuff about PLC's. Becuase #1 that would make my job hunt easier and #3 I think you have a great idea. When I think of developing kits/products I always think about just advertising the hell out of them where ever I can and boot strapping using something like tindie. Im scared to throw a prototype up on kick starter because what happens if someone likes it and then you for some reason have a million dollars in backing.... Well that sounds great huh? Im not sure if you are like me and no nothing about volume manufacturing then your screwed big time. I figure with tindie you can gradually grow your product and learn more about manufacturing without being in to debt to anyone. I guess where this ramble is going is a new PLC project would only really work a few ways, one of those being a kick starter, that way you can raise the money for UL approval. I think VC firm, or selling the IP to a MegaCorp would be the better way to go with it that way you could stay out of the public eye until its ready and siemens doesn't steal your idea. But I have no idea how you would go about that at all. Maybe another route would be to send an application to y-combinator or hacksellerator and see what happens from there. My question is all though speed is always good what would a multicore PLC do that is so special? Most industrial tasks connected to PLC's are rather slow arent they?
Of course none of these are easy tasks but you are definitely blowing things out of proportion wanting to deal with standards bodies straight off the bat like that. Use 24Vdc only, no safety requirements then. You can start with small sales and direct selling to local sparkies. You've obviously got contacts already. Get experience with what works before trying to deal with selling to Joe Blogs.
The safe easy bet is of course just go back to the regular sparky job and perfectly good wage. Why not do both and continue developing the hobby towards a sellable product?
PS: Don't go worrying about theft of ideas or speed to market. Ideas a dime a dozen as they say. It's the hard work to bring it market as a quality product that wins the sales. You aren't doing to for get-rich-quick, right? What really is driving your quest here? You aren't doing it directly for the money so that leaves something deeper ...
The people who botch that spend the money poorly, do not make a viable product, and do not get help.
Make sure it works, and make sure your cost is sane and the rest is just common sense work.
It's true that loop time is rarely paid must attention to now simply because the jobs are usually simple enough and the processors used are so fast that it just works every time. So, that probably sums up the current state of the art - There isn't much demand for faster PLCs.
Consistency of loop time will be the best selling point. Normally the scan times of the ladder + I/O + comms + OS dictate the overall loop time.
I recently added an interrupt routine to an oldish Omron C200 PLC. The purpose was to add cheap PLC control of heated tackers, ie: use ordinary digital outputs, this involved a PWM in ladder. It worked okay but above something like 100Hz sampling it really started to eat at the main loop time of a quite decent sized overall program.
The trick to making a multiprocessor PLC would be to resolve some of those sorts of issues. Eliminate any talk of interrupts for a starters.
This is all nice and clean until some bright spark wants to get direct I/O at a specific rate, like say some idiot requests to have a timer interrupt for example. One simple solution is to have a fixed scan rate that is slower than the worst case overall loop time. But this obviously can be quite a lot slower than average loop times so, although every PLC has this feature, no-one generally uses it.
So, how to match the I/O scanning to multiple ladder programs on a multiprocessor PLC? The simplest solution would be just follow the existing arrangement and have all programs complete their respective scan then perform a global I/O page flip in one hit.
But a little smarter partitioning should be able to provide some decoupling of the I/O scan into physical groupings at least. To do well, it might require some fancy hardware like multiple serial links on the expansion bus though ...
Persevere.
Network.
Have confidence.
With that sort of stupid simplification, can you tell I work for a large corporation?
XD
you wouldn't happen to have some old PLC, and programming gear you would be willing to donate, lend, trade? Im not so interested in the internals more of learning how to use one, as it advances my career and then lets me also see what could be improved on? If I were to make my own id definitely want to open one up look at the insides and take any good ideas/standards then incorporate them in to my own ideas. Or if you even have a recommendation to get a used one for about 20 bucks that I can DIY a cable for. I just want to make sure whatever im working with is a decent equivalent to what might be found in the field. How fast can you flip the opt-couplers? I mean a prop can pin flip at 12ns in asm, that is 83mhz, im sure the optocoupler cant even touch that speed, or id be optically isolating usb lol.
Also I know most factory equipment is run on 24vs but, arent the PLC's themselves mains powered? Im sorry like I said ive never fiddled with one, only seen them in electrical rooms. Usually the PLC isn't programmed by the sparkys in places like power plants etc..
I'm in New Zealand. Again, I think you'll do better asking around your local contacts. It shouldn't take much to find electrical contractors that do this work and will have second hand PLCs.
You can get general interfacing info from the PLC instruction manuals, eg: https://www.ia.omron.com/products/family/2055/specification.html
That's about the best you can expect to learn by eye-balling a PLC, trying to make sense of any deeper circuitry won't get you very far. There's not really a lot else useful to know except maybe how many of each is used.