Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 07:24 26 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : What are the "big boy" Microcontrollers for?

     Page 1 of 3    
Author Message
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3839
Posted: 10:31am 26 Apr 2021
Copy link to clipboard 
Print this post

You can tell I'm an electronics novice so feel free to ignore or ridicule this question.

Outside of general purpose computing (and running bloated O/S and application software) what is it in the real world that requires 200 MHz+ Microcontroller's with megabytes of RAM. The AGC was ~ 2 MHz and had < 80 KB and two of those got man to the moon - have programmers just become lazy or is it all to support high-definition touch UIs

Best wishes,

Tom
Edited 2021-04-26 21:12 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3656
Posted: 11:13am 26 Apr 2021
Copy link to clipboard 
Print this post

I suppose as well as GUI (if any) it may help with such as networks (TCP/IP, https, etc).

I'm tempted to say so it can run (insert big slow language).

There are some computationally intensive things, too.

But generally it may just be that the silicon got very fast & cheap so why not LOL

John
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2287
Posted: 11:59am 26 Apr 2021
Copy link to clipboard 
Print this post

car engine management, laser printers, satellite decoders, cellphones.

you are right, many things these days are horrendously bloated. but often this is a trade-off between expensive bespoke development time, versus using inefficient off-the-shelf (free) software running on massively over-powered hardware that costs just a few dollars - often little more expensive that a small microcontroller or even dedicated hardware.

there are massive numbers of devices out there invisibly running linux, and presenting to the user just a few buttons and a couple of LEDs. for instance, the control panel of a washing machine might run linux on a $5 chunk of silicon. or the power meter on the side of your house that communicates via GSM back to the power company. while these tasks could be achieved with a fraction of the complexity, the development required might simply not justify the expense.


cheers,
rob   :-)
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3015
Posted: 12:38pm 26 Apr 2021
Copy link to clipboard 
Print this post

Think of a billion+ cellphones--communications plus GUI interface in a space constrained only by the size of the screen. If you build it, they will come.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3839
Posted: 12:51pm 26 Apr 2021
Copy link to clipboard 
Print this post

  lizby said  Think of a billion+ cellphones--communications plus GUI interface in a space constrained only by the size of the screen. If you build it, they will come.


These days a cellphone is a "general purpose computer", it was the CONTROLLER aspect I was querying about, what fixed control task requires this level of sophistication?

I guess what makes this difficult to answer is the continuum between computer and microcontroller but I'm thinking in terms of use cases involving a fixed set of tasks and that do not involve the device being reprogrammed by the consumer.

To put it another way what requires anything more powerful than a PIC32MX ?

Thanks for the answers so far,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 01:19pm 26 Apr 2021
Copy link to clipboard 
Print this post

Many systems are based on Linux or some sort of real time operating system as that makes the programmers job easier and the time to market quicker.  These operating systems require powerful 32-bit processors but silicon is cheap while programmers are expensive.

For example, the ARM Cortex-M7 used in the CMM2 has a built in graphics engine and can easily run Linux.  So you will find it used in car dashboards, medical equipment, process control consoles, etc.  Anything that needs a large colourful display panel.  Other micros with built in cryptography engines are used in routers, IP phones and other communications.  The list is endless.  Even my little book reader runs Linux so it needs a 32-bit processor to just display text.
Geoff Graham - http://geoffg.net
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3015
Posted: 01:20pm 26 Apr 2021
Copy link to clipboard 
Print this post

  thwill said  To put it another way what requires anything more powerful than a PIC32MX ?


It didn't come to fruition, but I worked on a project for a controller for a residential geothermal heating and cooling system--2 on/off sensors (mains & generator power), 2 counts (flow volume), 13 temperature inputs, 7 outputs for 12V DC & 120V AC relays, gui.

After some meandering, the F4 with MMBasic looked like a good solution: enough inputs and outputs, enough speed, SD card, Real Time Clock, built-in LCD availability.

And commercially, all the things already mentioned, including, perhaps, in time, your toaster ("requires" may be a suitable question).
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 1781
Posted: 06:17am 27 Apr 2021
Copy link to clipboard 
Print this post

Quote "I guess what makes this difficult to answer is the continuum between computer and microcontroller but I'm thinking in terms of use cases involving a fixed set of tasks and that do not involve the device being reprogrammed by the consumer.

To put it another way what requires anything more powerful than a PIC32MX ?"

For the hobbyist nothing is Required at all, its about whatever interest you.
Industry often does require fast powerful controllers.
Eg.
Some "Pick-and-Place" robots perform seemingly simple tasks over and over but when running so fast that they are a blur, it gets complicated. The mass, inertia and flexibility of every part must be allowed for on the fly. To achieve placement accuracy of 10 microns the effects of temperature and wear must also be calculated.
It takes multiple high performance microcontrollers to keep up.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3521
Posted: 07:08am 27 Apr 2021
Copy link to clipboard 
Print this post

Sometimes based on linux, but often based on an rtos, the larger microcontrollers are the heart of
Car computers
Hotel cookers and steamers
Traffic light control
Grid protection devices
Medical equipment such as respirators, heart beat monitors.
I have worked pn a grid protection device for 2 years that uses one, in combination with 4 satellite smart microcontrollers that relief the main micro from some real time tasks. Very much like a stm32h743 with 4 satellite arduino megas.

Yes, there is a market for big microcontrollers....
PicomiteVGA PETSCII ROBOTS
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1985
Posted: 08:07am 27 Apr 2021
Copy link to clipboard 
Print this post

it has gravitas; but "getting a man to the moon" is a group of fairly pedestrian calculations performed at comparatively long intervals. Anything that requires lots of calculations (regardless of complexity) in short periods of time, over and over, is a candidate for big-boys toys...

the example of pick 'n' place, Tinine's pipe benders, industrial robots etc. are excellent examples. Loads of sensor inputs, tolerances, controlled outputs all happening in milli-second timings... Boston Dynamics robots have wowed the world but the processing going on in the background is mind-blowing as anyone who has built a good balancing hobby robot can tell you.

take a look at this - simply not possible with a 1990s pentium and even that is head & shoulders over AGC. You gotta have gigahertz processing for stuff like this, so an H7 at 480MHz is possibly going to struggle even.
Edited 2021-04-27 18:13 by CaptainBoing
 
MustardMan

Senior Member

Joined: 30/08/2019
Location: Australia
Posts: 175
Posted: 08:57am 27 Apr 2021
Copy link to clipboard 
Print this post

  thwill said  ... (and running bloated O/S and application software) what is it in the real world that requires 200 MHz+ Microcontroller's with megabytes of RAM...


Right there. As many others have pointed out, programmer time is expensive, silicon is cheap. To run all those libraries that support your favourite things (ethernet, wifi, etc) it is quick and easy to use an OS like linux. Even MMbasic is essentially an "OS" with a stack of inbuilt libraries (LCD, RTC, SPI, etc).

@lizby: Don't get me wrong, I absolutely love MMbasic, and I think Geoff has done a TRULY excellent job with it, but I would not use an interpreted language to run anything other than a 'proof-of-concept' or 'at-home-hobby' controller.

In fact my last project used MMbasic for just that - a proof-of-concept using those function calls that I didn't have to spend 'programmer' time writing: timers, interrupts, UARTs, LCD access, SD card, etc, etc. I'm a hardware guy and want to prove my hardware works, so I wrote a quick & dirty PoC, that I then passed to the programmer to implement in C.

Logic errors can creep into any program, but combine logic errors with syntax errors that can occur so easily with interpreters, and that is a recipe for disaster in any interpreted language, uPython included... *especially* when we are talking industrial control!
Edited 2021-04-27 19:00 by MustardMan
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3015
Posted: 11:43am 27 Apr 2021
Copy link to clipboard 
Print this post

  MustardMan said  As many others have pointed out, programmer time is expensive, silicon is cheap.

What a reversal. In my first full-time job as a programmer (1971), I was paid $5 an hour and computer time was rented at $100 a minute. It was well worth my employer's time to have me spend days shaving some seconds off the execution time of a program which ran daily.

(P.S.--the geothermal control system was for personal use by an MIT engineer on his self-designed home system (not to give away any identification clues).)
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 01:06pm 27 Apr 2021
Copy link to clipboard 
Print this post

@MustardMan

  Quote  
Logic errors can creep into any program, but combine logic errors with syntax errors that can occur so easily with interpreters, and that is a recipe for disaster in any interpreted language, uPython included... *especially* when we are talking industrial control!


Try telling that to the CNC world

G-code is and always has been interpreted.
 
MustardMan

Senior Member

Joined: 30/08/2019
Location: Australia
Posts: 175
Posted: 09:00pm 27 Apr 2021
Copy link to clipboard 
Print this post

Good example!

These days G-code is often "compiled" (not in the traditional sense of 'compiled', but in the sense of 'written by') by a post-processor, which is customised for every different machine (model). From what I've seen a "post" (as it is called) is a script that translates generic objects from a CAD package (lines, arcs, surfaces) into a specific set of g-code commands. The script is itself an interpreted language.

What do they say, it's turtles all the way down?

There are other interpreted 'industrial processing' systems out there too, like ladder logic. Most of them lack the complexity and ability of BASIC to hide errors that crop up once in a blue moon though...

One of my favourite examples, especially crossing regularly between C and BASIC, is:
IF RND(1) > 0.999 THEN PRINT 'Message'
"Message" never gets printed, as a single quote is a comment in BASIC. Is this a logic error or a syntax error?

Sadly, I too am old enough to remember when computing time was charged at multiple zeros per minute.

Cheers,
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 10:23pm 27 Apr 2021
Copy link to clipboard 
Print this post

Post only gets you in the ballpark. Joe operator tweaks the code to compensate for the many variables. A simple brain-fart can destroy a machine  

I am a fan of an interpreter as a command language. It has proven to be a huge advantage to me, over the years.
I was making sequence changes via fax before the internet happened.
Meanwhile my competitors were mailing eproms  
 
PeteCotton

Guru

Joined: 13/08/2020
Location: Canada
Posts: 315
Posted: 10:27pm 28 Apr 2021
Copy link to clipboard 
Print this post

  thwill said  
Outside of general purpose computing (and running bloated O/S and application software) what is it in the real world that requires 200 MHz+ Microcontroller's with megabytes of RAM. The AGC was ~ 2 MHz and had < 80 KB and two of those got man to the moon - have programmers just become lazy or is it all to support high-definition touch UIs


My brothers and I have a controls company, and we've put in a number of Allen Bradley ControlLogix PLC's that fit your definition. We use these units to control Gas Turbines (Rolls Royce RB211's) with three fuel valves, two of which are constantly changing to control the shape of the flame within the engine.

An old single fuel valve engine just throws gas in to the engine and you end up with a very hot part of the flame (~2000K) by the burners and cooler (~1700K) parts of the flame further into the engine. Gas burned above 1800K produces lots of harmfull NOx pollution. With multiple fuel valves we can elongate the flame and control it's shape inside the engine. So the same amount of energy is produced, but the heat is more evenly distributed (~1800K across the whole flame), thus massively reducing the NOx emmissions from the engine.

This idea is nothing new, it's called DLE (Dry Low Emmissions), however in the old days (1990's), these calculations where done with a lookup table in the PLC and were not very good, and also failed to work at temperatures <-20C or >+20C. (These tables were calculated in England in the 90's - so the data only covers those temperature ranges). Which means that in Canada there are only two months of the year where the engine can actually operate in this DLE mode.

My brothers and I solved this by doing some pretty intense real-time (in the PLC)  calculations on the flow of gases through the engine and altering the fuel valves to produce the "coolest" possible flame. Even offloading a tonne of the slower reacting formulas, the program is still required to do about 1 million calculations per second. Not practical in the 90's, but we could just about cram it in to a controller in 2010 (when we built the first one). Nowadays, the latest ControlLogix can handle it with processing cycles to spare - but the first generation we had was running flat out with almost no spare capacity.
 
Paul_L
Guru

Joined: 03/03/2016
Location: United States
Posts: 769
Posted: 07:48am 29 Apr 2021
Copy link to clipboard 
Print this post

@PeteCotton .... Pan Am inherited a few L1011 aircraft from the defunct National Airlines about 1982 and then ordered the first group of 28 L1011-500 aircraft with the improved Rutan inspired wing which were delivered beginning about 1984. Until then we only had twin spool engines made by Pratt & Whitney.

The RB211 is a unique triple spool engine. The triple spool design was necessitated by the short engine bay for the number 2 engine in the L1011 fuselage. I had very exacting fuel control requirements to keep turbine temperatures within design limits. These are the limits you and your brother are dealing with when you test run these engines.

It was a very difficult engine to design and resulted in the bankruptcy of Rolls Royce and the final decision by Lockheed-Martin to stop trying to build commercial airliners.

Thanks to the support of the British government Rolls Royce emerged from bankruptcy and the RB211 engine, along with a GE variant, is currently still being used in new construction of aircraft by Airbus and Boeing.

Pan Am never did fully implement overhaul facilities for the RB211 since we only owned about 52 of them including spares. We concentrated on rebuilding the P&W JT9 of which we owned up to 346 engines including spares at one time. We did construct a high power test cell for the JT9 / GE CF6 engines right next to the two test cells for the earlier JT3 and JT4 engines. Those test cells are still standing at Kennedy airport but are currently unused. You see the test cells here LINK

I am bewildered by your location (GMT+10) in western Canada and your requirement to test run RB211s. I know that Air Canada uses RB211s on AirBus and Boeing twin engine aircraft but I thought that their main base maintenance was located at Toronto YYZ although they do have a hub at Vancouver YVR. Have you constructed a test cell or are you running them outdoors?

(They would probably be very good at clearing snow. I am now retired and living near Poughkeepsie NY. I am currently evaluating the purchase of a snow blowing tractor since the guy who plowed my 250 foot driveway for the past 20 years died last week. Got any tips?)

Paul in NY
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 11:21am 29 Apr 2021
Copy link to clipboard 
Print this post

@PeteCotton

I have to say that a PLC would be my last choice for this task. Why not a PC?
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 02:46pm 29 Apr 2021
Copy link to clipboard 
Print this post

  thwill said  You can tell I'm an electronics novice so feel free to ignore or ridicule this question.

Outside of general purpose computing (and running bloated O/S and application software) what is it in the real world that requires 200 MHz+ Microcontroller's with megabytes of RAM. The AGC was ~ 2 MHz and had < 80 KB and two of those got man to the moon - have programmers just become lazy or is it all to support high-definition touch UIs

Best wishes,

Tom


It's a funny old business; I constantly come across engineers with problems that could be easily solved but they don't wanna hear about simpler solutions. They continue to struggle with mountains of data-sheets, registers and "interrupt hell".


 
Paul_L
Guru

Joined: 03/03/2016
Location: United States
Posts: 769
Posted: 07:55pm 29 Apr 2021
Copy link to clipboard 
Print this post

  Tinine said  @PeteCotton

I have to say that a PLC would be my last choice for this task. Why not a PC?


HI Craig,

Controlling the fuel to that monster engine is a real time job. If Linux or Windows decided to pause the control program for a millisecond in order to poll all the peripherals and check for interrupts you could destroy the engine.

This kind of control requires an efficient program running as close to the metal as possible.

You wouldn't want to use a PC in place of the autopilot and let it actually fly the aircraft either.

Paul in NY
 
     Page 1 of 3    
Print this page
© JAQ Software 2024