Robotics and CNC


Recommendations for CNC machines

If you need advice on search engines to use, mechanical components or how to assemble them and buy them, Please contact Fabio di Arezzo which in recent years has gathered a lot of experience on CNC milling and engraving machines with lasers.

In upcoming pictures you can see some of his achievements. Clicking the images get bigger and you may notice that are combined machines, that is, that you can mount either a laser that a cutter.

CNC machine CNC machine CNC with laser

Write to Fabio for recommendations, to buy together components or to make you procure from him of the kits of components. Or you might even agree to build parts or complete machines.

Fabio di Arezzo – Civitella in Val di Chiana (AR) – fabio.cve31@gmail.com


Radar and robotic arms


This is the first sonar das Riboni, l ’ application ThereminoRadar was born from this prototype. We thank Mauro, for keeping us involved and for insisting, up to get it to work.
Download ThereminoRadar here: /downloads/automation * radar and information on sensors here: /hardware/inputs/sensors # usound

– – – – – – –

Mauro Radan is also experimenting with different versions of parallel grippers. His mechanics are designed very well. This is a version with high power servo. These servos are not suitable to write because of their dead band, but are great for catching and lifting objects. The two servo at the base and the very robust construction, heavy enough to lift objects.

– – – – – – –



One of the first prototypes of ThereminoArm. This version was still a Master and a Slave, because the first Master did not have configurable PIN. Now you do everything with just Master and advance even two pins. The April update 2017: the new firmware of the Master, increases the number of pins to 6 to 12, so now they advance eight pins for general purposes. Also new firmware may also drive the stepper motors.

You can then build very precise robot arms using small stepper motors and belts. I recommend using a very high reduction ratio, at least five but better if you manage to get to ten. In this way the 200 steps per revolution will become 2000 steps per revolution and you can get an accuracy of 0.7 mm with half-meter long arms. Accuracy that will increase to about one-tenth of mm and above using the microstep.

– – – – – – –

A Robot is not necessarily an articulated arm. With a little’ fancy, You can compose simple and efficient machines.

A robot “instructional” built by students of the Institute ’, C. of Corniglio

The Institute's proposal, motivation i.c. Corniglio is: “…join the digital world with the real world and concrete” and that's precisely why is born on system Theremino. A warm thanks for your research!


Sketch and Firmware

Many after learning the language Arduino sketch, they wrote that they would like to use it, for Theremino. Unfortunately the language sketch was thought, only dell processors ’ Arduino and transplanting it on other “micro”, would become so different, to lose any possibility, Exchange programs between the two.

Our PIC programming in C or C++, using an IDE standard and standard compilers, We use GNU Compiler, It is Open Source.

As far as the huge popularity of Arduino, It can make us look “several”, in fact quite the opposite is true, is Arduino using a nonstandard language, made especially for Arduino and valid only for Arduino.

Sketches are not true firmware programming, but a simple programming, that hides all the “outline”. With the sketch, l ’ efficiency is the ability to maneuver, are limited.

In addition to a didactic deformation sketches, you learn to use an abstraction of micro, instead of the micro itself. To learn how to use a micro, You should consider the data sheet of the manufacturer, not the instructions of Arduino.

That being said, Luckily, the system firmware Theremino, requires no programming. We are in 20xx and supposedly the InOut a PC, as well as the firmware of a mobile phone, or a washing machine, are working. “How are”, without having to re-schedule every time, Depending on whether you want to wash shirts, or blue jeans.


Shift of perspective

The shift of perspective, between Arduino and Theremino is in fact, move the ’ intelligence from the firmware to the software. This shift multiplies per thousand the available speed, the computing power, the memory, and the ease of programming.

For this approach, You must be permanently connected to a PC (or a NetBook, a eeeBox, a Tablet, an embedded PC or a Raspberry Pi, as explained here: blog/standalone-applications#standalone, and also here: downloads/notes-on-software # computers)

Many devices, like printers, monitors and mice, they are constantly connected to the PC and all they find “normal”. Yet many people think that a “device”, such as a robotic arm, or a 3D printer, should be autonomous, and probably a pile…


Robotic arms and intelligence

We do l ’ example, watch case, a “robotic arm”. Many manufacturers of robotic arms Arduinici, they realized that their arm “battery powered standalone”, in the end he always does the same thing. What he's missing? Communication and software, powerful algorithms that keep in touch 3D data, with the outside world, sensors, Webcams, microphones, understand the GCode, and communicate with other applications, in real time.

Micro are not designed to handle 3D files, or decode audio signals, do not have adequate power, to play midi files, or decode the video of a WebCam. And even if they are forced to do so, the hurt. Said with other words: “The appropriate place for the brain, It's not close to the muscles”

Another reason, that makes it very smart, connect firmly the arms and 3D printers to your PC, is that you have to supply them power. When you exceed the phase toy, power needs, become too heavy, for batteries.

How are the professional robotic arms ?

  • Have big cables, that carry power and data.
  • Communicate constantly with a hub PC.
  • Contain only the firmware, intelligent algorithms, they're all on PC.

Click on the image, for a better look.


Which language to use?

Once you have decided to move the ’ intelligence, from the firmware to a high-level language, which is the best language to learn?

Here is a matter of taste, Some say that only exists on C++, and treat with contempt, every other language.

Other, like us, think that C++ is a language older, that requires much more time and energy, recent languages. And they also think that C++ and similar (C, Java and all languages with the semicolon to each row) formal languages are poorly structured and poorly, that invite you to write, so “dirty” and confused. In these languages, you can write, things acceptable by the compiler, but absolutely unreadable, for humans.

We prefer more structured languages, that help to write well, and to minimize errors. This process of gradual estrangement, from machine language, is underway for fifty ’ years and with each new step, c ’ is anyone who complains and complains about the old languages. But the process will continue, and eventually we'll get to program, in human language. Currently the human language is VbNet.

As the modern languages (VBNET and C #), they have a power and impressive speed, because their basic functions, are not rewritten every time from scratch, but are instead ready in “Runtime” and written with optimized algorithms, and adapted to the operating system.

A second advantage of modern languages, is to be independent of the operating system. An application written in C # or Visual Basic, runs without changing a comma even on Mac, Linux and Unix. (This in theory… in practice only on Windows works fine, While on other operating systems, implementations are incomplete and full of errors)

In conclusion we We suggest using VbNet or C # (very similar to each other) Almost all applications, of the system Theremino, are written in VbNet, because we find it more “Human”, but you can easily switch from one language all ’ more, using SharpDevelop to translate.

To install the developer tools, read here: downloads/notes-on-software # instruments

  1. Luca says:

    good morning to you.
    I bought a Theremino StepperDriver card that will serve to replace the electronic original file of a Chinese cnc I use to produce PCBs. I saw that that schedule can also manage in addition to engines 2 power lines with mosfet, so I imagine that you can also connect an electric. But I did not find detailed instructions on what the ports to handle it and the images that I find on the net, I still have some doubts. You also know if there is a pdf file with all the details for schedaStepperDriver?
    I thank you in advance for your answer.

    • Livio says:

      Usually the spindles operate at mains voltage, so the mosfet of this card can not fly it. These MOSFETs are designed to adjust the PWM heating elements of 3D printers.

      To turn on and off the spindle should use a mechanical relay or our Optotriac (but bearable attention to power and cooling of the Triac). To adjust the spindle speed should send Pwm from a master output and having a PWM adapter that can withstand the power. Or the spindle itself should accept a PWM signal.

      The Stepper Driver tab is explained on this page:
      https://www.theremino.com/hardware/adapters

      The pin and slot to be used are explained in the documentation of the CNC application (Slots to use are on page 43).

      For general concepts about the operation of slot you should also read the documentation of HAL application and Master modules.

      —-

      If you need more ask, He explains in detail what it is not clear, so we can focus on what you need.

  2. Marco says:

    Some time ago I asked for advice on how to Livio produce a gcode for Theremino CNC with Eagle and Fastgcode.ulp. If you remember gcode product was limited to the circuit holes “printed” and not draw the slopes. I also made screenshots of the Fastgcode configuration page to get help. Eventually I gave up for time and had used other software to the gcode. Yesterday, though, I finally solved my problem and everything works perfectly with your Fastgcode 7.9, it was necessary to set at least two depth step on the Z, in any of the boxes (I did it for milling contour of the board). Thanks again for your availability

    • Livio says:

      Thank you for your evidence.
      FastGcode is a little-used application and some operations are difficult to understand or even worse.

      And’ advisable to also try older versions, they had not the first drilling. The latest versions, with drilling beginning, They have been recently tested and may have faults.

Leave a Reply to Livio Cancel reply

Your email address will not be published.