Go Down

Topic: Machine Control and Automation (Read 2728 times) previous topic - next topic

Ilprofessore

I am a complete newb here and have found my skills are a little rusty.


(also tech has changed a little as well, I used to programme in HEX and occasionally BASIC if I was lucky.)



This project has kind of developed a lot faster than my skills.... but my timescales have shrunk.


As a prototype for a I think I can do everything with the bits I have, but would really appreciate any help you could give me.



Certainly since the last time (before the last manic 13 days) programming was a wee bit different.


I know that many OPs get asked for code...….



I do not have any, other than a few stand alone bits such as display libraries and the examples. Although I do have the very early code which proved the Arduino range can provide me with the capabilities (And the vacant drool on my face is testament to the lack of my capabilities) I do have some pictures of the current set up.... By the way, one of the available,Nanos has been epoxy potted and is effectively unchangeable (it was the easiest way to allow me to pick up and move my test rig without wires moving, Am having enough problems learning code, let alone trying work out if failure is code-or loose wire.

Anyhow, I ramble as always... the plan is as follows:-

Need to construct a control system for a machine in abut two days..... (This is this point I say I need help, and the doctors come :smiley-mr-green: )

So I have a simulation of the machine input panel:-
This has a Nano potted in the back. The plan would be to use the serial port to send the condition of the 6 buttons that are used... they are all latching switches, and two analogue voltages.

 
I want to display some pertinent info on the LCD, maybe mode, speed, direction or something along the lines of that on the input panel (Arduino Nano with16,2 LCS1602) (all potted).


That information needs to be sent by the two available TX/RX pins to what will be the CPU (Arduino mega) this will provide necessary logic on the inputs, send the information to a Uno with a 2.8" display. Then send any relevant info back to the LCD on the input panel and activates an 8 gang solid state relay module that interfaces to the machine....


Further is available.... but is this even possible?

It is good to be outside you comfort zone, but I could not now see my comfort zone on a good day with a powerful telescope..... Please Help





cedarlakeinstruments

Electronics and firmware/software design and assistance. No project too small

Ilprofessore

#2
Oct 05, 2018, 08:58 pm Last Edit: Oct 05, 2018, 09:03 pm by Ilprofessore
Well, hello again....

And thankyou to CedarLakeInstruments for you reply and and PM, the project is not yet at the point I can get others involved....

So... I think we are now back on track with the original design project. I guess the first thought people will have, is why am I using Arduino and not a more industrial system...


Well, the final incarnation of this system will be using a system manufactured by a company called Beckhoff. I have used this system in other projects and really found it brilliant. Admittedly it is not just a little more expensive than Arduino, it is an order of magnitude more expensive than Arduino.


When I designed the last system using Beckhoff, the biggest expense was the programmer, and rightly so. I was paying to have the best software that could be written.

The biggest cost of the software was actually paying for the programmer to work out what I wanted. This time, I have decided to create a functional prototype using arduino, just so I can modify and change things, once I have worked out what those things are....

At the same time, I want to try and simulate the Beckhoff functionality and I also want to create the control heirarchy that the Beckhoff system will follow.

And just to add a further level of complexity, it is possible that different servos, motors, and even number of axis will be added, or removed in the future. The system needs to be able to include that flexibility right from the initial prototype. It will also have to interface with other existing systems and external devices.

There is a vast difference in the perfomance between the two systems, so my plan is to try to extract the maximum capabilities from an arduino based system, when that is then transferred to the Beckhoff, then it logically means that I will get the best out of that system as well.

This entire system is being based on a distributed processing method, so that each function will have it's own software (so that any change in function needs a local change, rather than changing the whole programme). It also should lower communication traffic, and also speed the system up.

My background is specifically in hardware.... and as previously mentioned, I have not written a line of code in 30 years.



It also means a huge learning curve for me. In less than a month I have gone from never owning an arduino, to working through as many examples as poss and also trying to use as many modules or the arduino as I can.  :smiley-razz:

So the system as it currently stands breaks down into 11 units, at the minute, 10 of those units have an arduino of one flavour or another (Some specs to follow) and an array of modules, all communicating with each other and being controlled by a touch screen HMI  :smiley-eek: .

The first task is to be able to have each module communicate to the central processor.


The modules for the system are as below.


1) Central Processor (Arduino Mega)

2) Communications Bus (Arduino Leonardo)

3) Servo Bus (Arduino Uno)

4) Servo 1 and Servo 2 (Arduino Nano)
 
5) Reference Unit (Arduino Nano)

6) Pump Contol (Arduino Nano)

7) Setup input (Arduino Nano)

8 ) HMI (External Touchscreen PC)

9) Switch Unit (Arduino Uno, for now)

10) Real time Feedback Unit (Arduino Uno)

11) External Power Supply (Arduino Nano)


As can be seen from the selection of arduinos, some functions will need more abilities than others.

Same with communications, some need to be a lot faster than others. I am considering using a combination of ethernet and CANopen.

So back to first task is to get each module to connect to the central processor by one method or another, identify themselves and the central processor to receive those iD's and to display them on the PC screen (Not the Arduino programming PC).

For the PC, I shall just open up a serial monitor....

For everything else, I am lost at sea at the minute. I would be very interested in any advice as to how to get each arduino to connect to this internal network.







Ilprofessore

So.... Been down at the workshop today ..

Got power to some of the devices, including the mega that will be the main processor, and also to the PC which will act as an HMI....

I have put a USB to serial adapter on the PC, and my first step is to have something like Meguno have an interface panel that will show the connection exists between the two, and receive a serial message giving the board identification....

Could someone offer a suggestion in this please?

vffgaston

So.... Been down at the workshop today ..

Got power to some of the devices, including the mega that will be the main processor, and also to the PC which will act as an HMI....

I have put a USB to serial adapter on the PC, and my first step is to have something like Meguno have an interface panel that will show the connection exists between the two, and receive a serial message giving the board identification....

Could someone offer a suggestion in this please?
Hi,
As your project seems quite ambitious, I understand that the conventional arduino console does not fit your needs ...
Nevertheless, your project involves quite a big effort on software development; As I see it, a human simple interface on the PC has to be one of the first steps.
Regards

Go Up