The version 2 of the system ToslinkCNC is improved with a number of new features. You can check out the blog on previous version here.
Using the previous version for about 5 machines we’ve learnt a lot, a number of changes now make it much better. Hardware footprint has been reduced and unified, such that the CPLD based optical board can now be a transmitter or receiver, only with a firmware change. The optical control system can now be seamlessly integrated with Raspberry Pi, Arduino, Planet-CNC controller or any other CNC control system operating with step and direction signals. This makes it perfectly suitable for new machines being built as well as a retrofit of older systems.
ToslinkCNC main board is designed as a single axis device, featuring one receiver and two transmitter optical interfaces and a number of electrical connections through two versions of interfaces. RaspberryPi connector contains signals for 3 separate axis and enable signals, such that the board can be a transmitter for the complete system or extended with a shield to connect to other controllers. On board there are connections for 5V power input, one input and one output as well as a screw terminal or IDC port for step, direction and enable signals to connect to a stepper driver. The RaspberryPi connector also contains pins for JTAG programming of the main board. Currently there is only one shield available that doubles as the interface for the transmitter connected to Arduino or PlanetCNC controller. When the main board is in function of the receiver, stepper drivers can be connected to it, our default choice being PoStep25-32.
The version 2 is not yet perfect, however we are successfully using it with GoodEnoughCNC Hybrid machines also in challenging conditions, for example with plasma cutters. Future work is required to add proper support for end-switches by significantly optimizing the CPLD code and adding a few more features.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.