Wednesday, March 25, 2015

Powersupply for the DiscoveRap

The DiscoveRap should work from 12..24V DC. There are 3 voltage/power levels on the board. We have 3.3V for the STM32 Discovery Board, 12V for the fans (hotends, case) and the unregulated power supply voltage 12..24V for the heaters (bed, hotends).

To make it most efficient i decided to use 2 switching regulators. One for the 3.3V and one for the 12V. To make life easier the 12V are only 11.3V so a buck converter instead a buck/boost can be used for it.

Both switchers use the same IC, only the component values differ a little bit depending on the output voltage and startup time. The 3.3V start a first and approx. 10ms later the 12V are ready.

Here is the schematics for both regualtors:
And here the corresponding layout:
The size is approx. 20x20mm²

Sunday, March 22, 2015

Stepper driver for the DiscoveRap

A highend µController should have a highend stepper driver for the RepRap Printer. I decided to use a Trinamic chip. Here is the schematics for it.

It is able to dectect missing steps an the currents are progemmed via SPI, so no jumpers/potis are necessary to configure it.

And the Layout

ReDiscover RepRap with STMs F429 Discovery Board

STMs Discovery board offers a lot of computing power and a toch LCD for only 20€.
I'm trying to make a Comfort RepRap electronics based on that PCB. I'm currently working on the interface PCB for the Discovery. It will contain all RepRap related circuits.

Thursday, October 3, 2013

Refurbishing an old ISEL X-/Y-/Z-Axis Machine

I bought from the company i'm working for an old 3-Axis Table made by ISEL.
The sold the tool because the Controller was incompatible to the new PC equipment.

I replaced the old linear motors by NEMA 23 stepper motors.


To drive the stepper motors i decided to order a cheap (china) TB6560 controller from ebay.

Here is a photo of the controller:

It has a kepad to move all axis manually and a coordinate display which can be calibrated to the steps/mm of the axis. This can be done for each axis seperately, which was good because my Z-axis has twice the steps/mm as the X- and Y-axis.

The controller is cheap but has some drawbacks, USB isn't working the onboard voltage regulators tend to overheat.

Modifications/Improvements of the CNC controller:

Voltage regulator overheatig

The controller has an aluminium housing why don't they use it as heatsink?
I drilled a 6.5mm hole in the housing whre the voltage regulators are placed. The regulators are placed on a very small metal block which has no thermal connection to the housing. I further drilled a hole into this block and cut a thread into it. Now it is possible to screw the haetsink of the two regulators to the aluminium housing.


USB is not working

so i have to use my LPT port... BUT my PC has no LPT port anymore. What to do now? I decided to do my own USB controller. It is based on a Atmel ATmega328 and it is running the famous GRBL firmware. This has several benefits. The first is, that i will have USB on the machine, the second is that GRBL is caring for the timings and the PC. So the timing between PC and milling machine becomes uncritical.

Empty PCB

The PCB fits into the widely available TEKO 10014 housing.

TEKO 10014 (Source: Teko Website)

Populated PCB

Next tasks add spindle and spindle.

If you are interested in more details or the PCB shown contact me.

Tuesday, July 30, 2013

New News about the RepRap GLCD Controller

The factory is moving forward with the PCBs here are some actual photos they sent to me to check if the component location is correct.

Black for the PCB colour seems to be a good chioce ;-)

Monday, July 29, 2013

RUMBA pin assignments for the RepRap graphics LCD Controller

RUMBA Pin assignments for the RepRap graphics LCD Controller

Marlin pins.h for the RUMBA electronics
/* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */
//#define SDSS               24
#ifdef ULTRA_LCD
   #ifdef NEWPANEL
     //we have a buzzer installed
     #define BEEPER 37
     //LCD Pins
            #ifdef DOGLCD
                  // Pins for DOGM SPI LCD Support
                  #define DOGLCD_A0      23    // RAMPS AUX-4 Pin 16
                  #define DOGLCD_CS      17    // RAMPS AUX-4 Pin 17
                  // GLCD features
                  #define LCD_CONTRAST 1
                  // Uncomment screen orientation
                 // #define LCD_SCREEN_ROT_0
                 // #define LCD_SCREEN_ROT_90
                  #define LCD_SCREEN_ROT_180
                 // #define LCD_SCREEN_ROT_270
                  #else // standard Hitachi LCD controller
                  #define LCD_PINS_RS        4
                  #define LCD_PINS_ENABLE    17
                  #define LCD_PINS_D4        30
                  #define LCD_PINS_D5        29
                  #define LCD_PINS_D6        28
                  #define LCD_PINS_D7        27
     //The encoder and click button
     #define BTN_EN1 31  // RAMPS Aux-4 Pin 12 must be a hardware interrupt pin
     #define BTN_EN2 33  // RAMPS Aux-4 Pin 11 must be hardware interrupt pin
     #define BTN_ENC 35  // RAMPS Aux-4 Pin 10 the switch
     //not connected to a pin
     #define SDCARDDETECT 49 // RAMPS Aux-3 Pin 2
     //from the same bit in the RAMPS Newpanel define
     //encoder rotation values
     #define encrot0 0
     #define encrot1 2
     #define encrot2 3
     #define encrot3 1
     #define BLEN_C 2
     #define BLEN_B 1
     #define BLEN_A 0
   #endif //Newpanel
#endif //Ultipanel


// An RAMPS Aux-3 Pin 18 hängt der Switch für den Lüfter, den musst Du direkt in der RAMPS Section der pins.h ändern.

#define FAN_PIN   16