Die neue CncPlayer Version 0.96.66 liegt im geschützten Benutzerbereich zum Download bereit. Dort finden Sie auch die Datei liesmich.txt. Bitte lesen!
The new CncPlayer version 0.96.66 is available for download in the restricted member area. There you will also find the file readme.txt. Please read it!
The keypad for the CncPlayer Usb Controller works. You just need to plug in the 8 pin connector. Though, if you are interested in some background information or considering to make your own keypad then read this text ...

Die neue CncPlayer Version 0.96.64 liegt im geschützten Benutzerbereich zum Download bereit. Was ist neu? Es gibt ein neues Dialogfenster (siehe Screenshot weiter unten). Sie können bei Interesse zwar reinschauen, es aber nicht nutzen, weil Sie (noch) keinen Usb Microcontroller haben. Sie können dieses Dialogfenster also getrost ignorieren. Der Arduino verfügt über nichtflüchtigen Speicher (Eeprom) in dem sich Setup-Daten ablegen lassen. Mit diesem Dialogfenster lassen sich diese Setup-Daten lesen und schreiben. Die erste Version des Usb Microcontroller ist ein Einachs-Positionier-System (z.B. für Drehtische geeignet) und kann ohne Windows PC laufen. Zu diesem Zweck verfügt der Usb Microcontroller über eine 4x4 Tastatur und ein LCD Display mit dem sich das System autonom steuern läßt. Sie werden überrascht sein wie leicht sich damit zum Beispiel Zahnräder herstellen lassen! Wo ist dieser Usb Microcontroller? Die Firmware (Software) sieht ziemlich gut aus, es hapert aber an der Platine. Der Prototyp läuft, aber die Platine hat (noch) keine Marktreife. Im Fehlerfalle ein Update per Download reinstellen geht bei Hardware ja leider nicht. Eine Platine muß (kostenträchtig) per Post verschickt werden. Tastenfeld und Lcd Display sind per I2C Bus angeschlossen, haben also jeweils ein eigenes Elektronik-Interface. Das Tastenfeld arbeitet mit Software-Entprellung und Interrupt (also kein Polling), und verursacht somit 0% CPU Last. Soviel als kurze Vorabinfo.
The new CncPlayer version 0.96.64 is available for download in the restricted member area. What is new? There is a new dialog window (pls. see screenshot below). Feel free to have a look, but actually you can't really use it because you do not (yet) have a Usb Microcontroller. That means you can ignore this window for now. Well, the arduino got 1024 Byte Eeprom memory which we use for storing our setup data. This dialog window allows to read and write the setup data. The first version of the Usb Microcontroller will be a single axis positioning system (e.g. useful for rotary tables) and can run stand alone. No host computer required. In order to achieve this the Usb Microcontroller is equipped with a 4x4 matrix keypad and a LCD display that enables one to control the system. You will be surprised how easy it is to manufacture for instance gear wheels and such things! Where is this Usb Microcontroller? Well, the firmware (software) looks promising but the pcb (printed circuit board) is still in a poor shape. The pcp prototype works but the pcb is not yet mature enough for the market. I mean in case of bugs I can not simply upload an update but has to actually ship the pcb by postal mail. This would be economically a bad thing. Well, the LCD display and the 4x4 keypad are connected via I2C bus and that means there are two I2C electronic interfaces. The keypad uses software debouncing and is interrupt driven (hence no polling) and causes 0% CPU load. End of just a brief bit of info.

Fig. Screenshot from menu "Experimental / Arduino Eeprom". If you do not see menu Experimental then click menu "Help / Expert menu" first. In case you wonder why the screenshot says Serial Port and COM: Well, the USB port is mapped to a virtual COM port by a Windows driver. The microcontroller is an USB device and you connect it to an USB port of your computer. But due to the driver to applications (e.g. CncPlayer) the USB device appears as a serial COM device. The driver works very well and is from www.ftdichip.com which is a chip manufacturer that makes the USB to UART/FIFO chips for the arduino.
Neue XY CncPlayer Demo Version 0.96.63 und die XY CPC Demo Version 0.96.63 liegen im öffentlichen Download Bereich.
The new XY CncPlayer demo version 0.96.63 and the new XY CPC demo version 0.96.63 are available in the public download area.
Die neue CncPlayer Version 0.96.62 und die CPC Version 0.96.62 liegen im geschützten Benutzerbereich zum Download bereit. Was ist neu? Es gab Fehler bei der G-Code Bearbeitung von G02 und G03 Kreisen bzw. Bögen, die behoben wurden.
The new CncPlayer version 0.96.62 and the new CPC version 0.96.62 are available for download in the restricted member area. What's new? There were some G code bugs when milling G02 and G03 arcs and circles which I fixed.
Bis heute war ich leider noch nicht erfolgreich, was das Auslesen der absoluten Position des großen, schwarzen Encoders via SSI und Gray Code angeht. Ab der 4. Umdrehung spielen die Zahlen verrückt (dazu später mehr). Aber dafür klappt das Auslesen eines Encoders über den üblichen Quadratur Ausgang überraschend gut, wie die folgenden Bilder etwas illustrieren. Mehr Infos in diesem Beitrag ...
There is bad news and good news. The bad news is that I wasn't able yet to read a encoder position via SSI and Gray code from my big, black encoder. The position runs wild after the 4th encoder revolution. Either my software code is buggy or the encoder, which is a used / second hand item, is broken. For not getting crazy I stopped that development for a while and turned to another project: Reading the position of a classic incremental quadrature encoder. It worked surprisingly well. I programmed the Arduino firmware to support up to 4 encoders, but due to a limit of free IO pins on the Arduino with ATMega328p 'only' up to 3 encoders are supported. Also linear (instead of rotary) encoders can be used because linear encoder also provide quadrature signals. In a nutshell, this stuff makes a nice and cheap DRO (digital read out) for a lathe, milling machine and so on.
|
|
|
| An incremental quadrature encoder is connected to the Arduino and the position is displayed on an lcd display. The metric system (shown as mm in the image) can be changed to the imperial system (inch) or degree (0..360 deg). |
This image looks a bit messy but it is just a test or experimental equipment / environment. What we need is one or more encoder (up to 4 are supported), a power supply, a lcd module and an Arduino. This makes a nice and cheap DRO (digital read out). |
Here is a closer look to the power supply. It is very small device because the system needs just some mA current. It got an 5 Volt USB connector and connects to the Arduino's USB connector. You can also connect the Arduino to the PC via USB for configuration. |
Wir wollen einen absoluten Multiturn Drehgeber an einem Arduino anschließen. Da der Arduino elektrisch gesehen TTL Pegel hat und der Encoder RS422/RS485 Pegel hat, brauchen wir einen TTL zu RS422/RS485 Konverter (nicht mit RS232 verwechseln). Nun kann der Arduino per SSI die Position des Drehgebers auslesen und z. B. auf einem Lcd Display in mm anzeigen. Im Ergebnis hat man eine billige Digitalanzeige oder könnte z.B. einen Schrittmotor Antrieb, der ja ein offener Regelkreis ist, auf Schrittfehler überwachen. Bitte beachten Sie, dass wir hier nicht den Quatraturausgang des Encoders nutzen sondern den 12Bit x 12Bit (4096 x 4096) Absolutausgang. Mehr Infos in meinem "Blog" ...
We got an absolute multiturn encoder and want to connect it to the Arduino. For the electric we need a so called TTL to RS422/RS485 converter because the Arduino has TTL levels and the encoder got RS422/RS485 levels (do not confuse it with RS232). Now the Arduino can read the absolute position from the encoder and e.g. display it in mm or inch on an lcd display. This makes a cheap but highly precise DRO (digital read out) device. We can also use the encoder to watch a stepper motor (which is usually operated as an open loop device) in order to prevent lost steps. Please note that we do not use the quadrature output of the encoder but the 12bit x 12bit (4096 x 4096) absolute output. You might also visit my "Blog" for further information ...
|
|
|
| Encoder (Drehgeber in German) are very useful devices. Usually encoder supply an A/B quadrature signal. This encoder is a multiturn absolute encoder that additionally supplies the absolute position, too. To read the position data (which is Gray Code encoded) from the encoder we need a SSI interface over RS422/RS485. I ordered a few parts as shown in the first picture and soldered a small experimental interface board. |
The small experimental interface board is primarily based on the MAX491 chip which is a transciever (= transmitter (sender) + receiver). The MAX491 offers full duplex which is required by the SSI interface. Instead of the MAX491 (full duplex) we can also use two MAX485 chips (half duplex = simplex) but the MAX491 is easier to use. The chip does the TTL to RS485 conversion. |
The chip is highly integrated and requires only 2 external resistors. I did a lot of interfacing in the past (e.g. Mitutoyo digital gages) but I'm new to SSI, Gray Code and RS422/RS485. By the way, the RS485 (and similar RS422) is an excellent data bus! Cheap, fast, very reliable due to the differential data transmission, and works up to 500 meter cable length. |
Der Download sollte wieder funktionieren.
Download should work again.
Sorry für den Serverausfall. Das Netzteil des Server war plötzlich kaputt und es hat gedauert ein Ersatzteil zu bekommen und den Aus-/Einbau zu organisieren.
Sorry for down time. The server's power supply was broken and it took a while to get a spare part and finaly replace it.
CncPlayer XY Demo/Trial 0.96.61 verfügbar auf der öffentlichen Download Seite.
CncPlayer XY Demo/Trial 0.96.61 available on the public download page.
CncPlayer XYZC Version 0.96.60 zum Download verfügbar. Änderungen: Unterstützung für den Usb CncPlayer Controller hinzugefügt. Davon haben Sie im Moment zwar noch keinen Nutzen, Sie sollten aber dennoch die neue Version herunterladen und nutzen.
CncPlayer XYZC Version 0.96.60 available for download. Changes: Added support for the Usb CncPlayer controller. Currently you can't use that function because you don't have a controller but you should download and use the latest version anyway.
|
|
|
| There is an interesting Usb controller board family available on the market called Arduino. I choose the Arduino Duemilanove, aka 2k9 and ordered some equipment and spare parts. |
In order to make the handling of the board a bit more convenient I also ordered a piggy-back board which is called a shield in the Arduino terminology. I thought having a board with screw terminal would be nice. |
The shield comes as a kit and I had to assemble and solder it which is a pretty easy task. |
|
|
|
| This is the controller board and attached on top is the shield with the screw terminal. As you can see it is pretty small. The microprocessor board itself comes fully assembled so nothing to do here. The board is equipped with an Atmel AVR ATmega328p microprocessor. |
Same image but I rotated the board a little bit. On the left you can see the Usb connector. The board is powered simply by usb cable. No need to deal with an external power supply (but can be used optional). |
Now it's getting a bit weird. On the Arduino board is a small reset button but once you put the shield on top you can't operate it any longer because the button is fully covered. |
|
|
|
| So what to do? There are several solutions but I opted for a pure mechanical one. I drilled a 6 mm hole in the shield, used a 2.5 mm nail and a spare part from a bycicle's front brake. It looks like a M6 bolt but got a 3 mm drilled hole inside. On a bike this bolt is used to adjust the lash or tension of the front brake's Bowden cable. |
The difficult part was to drill the 6 mm hole at the very right position. Surprisingly everything fitted perfectly. I just had to cut off the nail and grind it a little bit. The reset button extender doesn't look very well but works like a charm. Design follows function ;) |
Here we are almost done. This is my custom tailored test equipment for the moment. The board's controller has a bootloader. This means that programming the firmware is simply done via the usb cable. No external programmer/burner is required. The wires seen in the image still need to be connected to the shield. Instead of plugging the cnc machine into the PC's lpt port the cnc machine is now plugged into this 25 pin connector. |
Here are answers of few possible questions you might have
- So what is this all about? Well, I'm going to port the CncPlayer Client Cpc software to this usb microcontroller which I will call Usb CncPlayer.
- Can I buy the Usb CncPlayer? No, because the firmware is still under development. I estimate that only 40% of the programming work is done as of today. So 60% of the work is still ahead of me.
- Do I need the Usb CncPlayer hardware for the CncPlayer software? No. This board is just a future optional accessory.
- I already bought the CncPlayer software. Can I upgrade my version once the Usb CncPlayer is available? Yes. I'll offer an inexpensive upgrade plan.
- When will the Usb CncPlayer board be available? Frankly, I have no idea at the moment because I'm still in an early development stage.
- Do you use the Arduino ide for programming? No. I use the Atmel AVR studio and a C compiler. The Arduino ide is great but I wanted to have the firmware code to be as portable as possible. Maybe later I'll replace the Duemilanove board by a board with more I/O and more RAM or switch over to a PIC. Not yet sure where it will end.
- How many I/O got the Arduino Duemilanove? 14. That means we can have XYZC stepper motors = 4 * 2 = 8 pins. Then 4 homing switches = 4 pins. And finally one pin for spindle and one pin for coolant = 2 pins. So 8 + 4 + 2 makes 14 pins total. That's almost the same what a PC's lpt port offers and that's pretty well for most hobbyist's cnc job needs. You can also redefine unused pins, btw.
Neue CncPlayer Projekte: Projekt 1: Unterstützung externer USB Cnc Controller Geplant, und teilweise auch schon ein bisschen eingebaut, ist der Support für folgende Controller. Die Reihenfolge in der Liste ist rein zufällig und stellt keine Wertung dar: 1. www*deskcnc*com Dieser Controller ist die Ausnahme. Es ist seriell. 2. www*usbcnc*com Das ist ein USB Controller. 3. www*cncdudez*com Das ist auch ein USB Controller. 4. www*nc-step*de Und das ist noch ein USB Controller mit LCD Display. 5. ncpod*oemtech*com Das ist auch ein USB Controller.
Diese 3 Bilder zeigen den DeskCnc Controller (Nr. 1 in obiger Liste), den ein Anwender auf eine Einschubplatine für sein Zollgehäuse montiert hat. Dank an R. für die freundliche Leihgabe der Bilder: Infos zu USB Cnc Controller demnächst im Forum.
Projekt 2: Umbau eines alten A3 Flachbett-Plotters zum Schneidplotter Die eingebaute Elektronik des Plotters versteht nur ein heute nicht mehr gebräuchliches Protokoll. Also raus mit dieser Elektronik und durch eine normale Schrittmotor-Elektronik ersetzen und mit dem CncPlayer ansteuern. So ist es zumindest gedacht. Wir werden sehen, ob es auch so funktioniert. 

 Das gute an diesen alten Plottern ist, daß sie relativ groß, relativ stabil und sehr billig sind, weil die meisten Leute sie nicht mehr nutzen können (da veraltetes Protokoll und Schnittstelle). Für Low-Budget Cnc Anwender ist das die Gelegenheit, viel Mechanik zum Taschengeldpreis zu erwerben. Meine erste Aufgabe besteht jetzt darin, für den Stecker zu den Motoren einen Adapter zu bauen, damit ich eine eigene Schrittmotor-Elektronik anschließen kann. Dazu habe ich ein Stück Lochrasterplatine und eine Stiftleiste besorgt. Auf den Bildern ist das gut zu sehen. Abschneiden möchte ich den Stecker nicht und zwar aus folgendem Grund: Die Original-Plotter-Elektronik besteht aus Schrittmotor-Endstufe, Microprozessor, und Netzteil, alles jedoch auf einer einzigen Platine. Später möchte ich versuchen, die auf der Platine enthaltene Schrittmotor-Endstufe zu nutzen. Dazu müßte ich aber die Stelle auf der Platine finden, wo ich die vom PC kommenden Takt- und Richtungssignale einspeisen kann. Ob das gelingt, weiß ich nicht. Jedenfalls brauche ich den Original-Stecker an den Motoren, damit ich die Platine wieder anschließen kann.
Weitere Infos zum Plotter-Umbau je nach Baufortschritt.
Seite im Aufbau... Fragen? Email steht im Impressum

Vergrößern
|