2017. március 28., kedd

GeeeTech 3D Printer 4.

I didn't want to give it up here, or wait for the bearings to arrive. At the thingiverse on one of the Geeetech pulley's description I seen something about, that they used bearings without pulleys in the past.
I checked, the bearings in my parts box has 4mm hole, and two of them nicely fits into the pulley holder. Yes I know, that keeping the timing belt in the center is almost impossible from now.



The printer started to work, now more clicking noise.
Win!!!!
...or not?
Started to hear the awful clicking noise. This time it was coming from the Y axis (the bed). Replaced the pulley with bearings also here.
Started to print.
It looks like the X and Y axis looks working, but I started to loose the layer adhesion at a certain height.



I thought that the Z axis needs some lubricant (as it already sounded awful during fast moves). I was looking around but found nothing. Not even some WD40.
Next day I picked up this in the shop:



Now my prints are coming out as good as never before:



At least not from this printer.
I think the build/repair of the Geeetech printer is finished now. Regarding 3D printing I can concentrate to the improvements, repairing the Robo 3D and printing parts for my other designs (like my son's plotter)
The End

2017. március 25., szombat

Project 2017#1 - ESP8266 Programmer Github

As I promised here:
http://pakahuszar.blogspot.hu/2017/03/project-20171-esp8266-programmer-3.html
cleaned the GitHub repo of the ESP programmer. It also contains the ESP based development boards of mine.
The repo can be found here:
https://github.com/sufzoli/suf-electronics-ESPDEV
If you need the libraries/modules I used for this, it can be find under my KiCAD libraries/modules account here:
https://github.com/orgs/suf-KiCAD

The surgery succeeded, the patient is dead

I got two fairly dead Electrodragon relay module from a friend to try to repair it.
The first looked like maybe repairable:


The second is completely dead:


From this wanted to salvage the terminal blocks from the secondary side to repair the first module, and the ESP module to put onto one of my dev boards.

Removed the blocks and the ESP from the board.
Created a new dev module from it:


The build succeeded perfectly (I'm getting better in SMD soldering),
but when I connected it to the programmer even the programmer felt out from the USB bus.
So the surgery succeeded, but the patient died.
I also repaired the first module, but as is it mains connected I don't want to try out without some precautions. I don't have more time for this right now.
Continue... 

2017. március 22., szerda

GeeeTech 3D Printer 3.

I had two problems:
My prints show that I've an X axis wobling issue. It is too much that can be caused by the Z threaded rods (anyway I handled that originally):


I was "monitoring" the printer with my ear during printing.
Realized that the clicking noise is coming from the Z bridge assembly's right side. My guess is there is something went terribly wrong with the timing belt pulley.
Disassembled it.
I was right.
This "was" one of the tiny bearings inside the pulley:


I tried to find a similar bearing.
Looked in the box containing the original parts of the GeeeTech printer - they provided spare parts for some things - not this one.
Looked in my box of bearings - no this size
Looked around on the net if I can find what is the exact type. I was only knowing the physical size 8x4x3 mm. After some iteration and guessing I know the type: MR84ZZ
Ordered from Aliexpress. It take a while, so I was looking for a local source. Find it, ordered it.
In the meantime I wanted to resolve the issue to be able to print.
On the thingiverse I found a replacement pulley, what has no bearings inside:
https://www.thingiverse.com/thing:1775944
I tried to print it out with only one bearing in the original pulley. It failed.
After a good start. I've a broken 3D printer. Again...
Continue...

2017. március 21., kedd

GeeeTech 3D Printer 2.

A few days ago a new project come. My son "ordered" a pen plotter (he said we will build it together).
This definitely needs some 3D printed parts. So I decided to repair the Geeetech printer.
  • I rebuilt the Raspberry PI, Ubuntu, Octoprint set using the newest versions.
  • Replaced the Bulldog motor with a higher torque one.
  • Replaced the TI driver for a new one. Just to be sure if it works correctly. Set the motor current to 1.2A (the max is 1.5A)
Finally It started to print. But...
I still hear the clicking noise from the extruder. It looks like it doesn't loose steps as the filament is coming out from the hotend as expected. I don't know what it is. I can't do anything about it right now.
So I've a working 3D printer. Or not?
Continue...

It's starting...

As every year for a while, it is time for the yearly big Hackaday competition:


Here you can read more about it:
https://hackaday.io/prize

Actually I not really have any good idea for it, so I've to think what I want to build this year.

2017. március 20., hétfő

2017. március 19., vasárnap

GeeeTech 3D Printer 1.

Ouch, I started to write about my new Geeetech 3D printer more than a year ago. I didn't finish that post, so I'm extending it now.

I started the build in December 2015. Later on suddenly my Robo3D repaired (I done a few steps on it, it started to work as perfectly as never before: http://pakahuszar.blogspot.hu/2016/01/3d-printing-seams-working.html)

About the build:

  • I'm not really satisfied with the building instructions. There are many errors in it, like listing wrong screws, building timing belt assembly for the bed completely useless, requiring the videos for some parts, because the instructions are not enough, etc. But on the other hand, I seen much worse manual already
  • The supplied 180W power supply is a joke. Five steppers, the electronics, the 40W head heating, and the bed. It will hardly keep this going. According to Thomas Sanlederer's video, you need 0.6W/cm2 for the bed (200x200cm bed require 240W). So I replaced it to a 500W one.
  • Looked around the forums, I found out that the supplied MK8 extruder is a crap. Use teflon tubing and even the motor can't provide the required torq: http://www.rc-cam.com/forum/index.php?/topic/4034-geeetech-mk8-extruder-tips-tricks-3d-printers/. So I decided, to change this to a Bulldog Lite/E3D v6 combination (the project stopped here for a while - waiting for parts and spare time)
    • Created a holder from a 25/60mm aluminum L extrusion

    • Rearranged the Z endstop, as the new hotend is longer.

  • Cut a few centimeter shorter threaded rods to elliminate the X axis wobling:
    http://www.thingiverse.com/thing:1204200
    Cutting the rod was less destructive than the original solution (btw. I kept the original rod and bought a new one in the local hardware store)

  • Added a borosilicate glass to the top of the aluminum build platform and mounted it with the supplied paper clips
  • Added a Raspberry Pi 2B with Ubuntu + Octoprint to drive it.

The above was finished during the last summer. It started to print, but the extruder's stepper continuously losing steps, or even stuck.
I tried to replace the Allegro driver to TI one, but not really helped. After a few prints around September/October I gave up.
In addition the Robo3D also stopped to work with the usual extrusion problem. So I gave up the 3D Printing for a while.
Continuing...

2017. március 15., szerda

Project 2017#1 - ESP8266 Programmer 3.

I've seen on the ebay programmers for ESP-01 module. All of them use push button for flash/reset, what was unacceptable to me. So I designed something. Not a standalone programmer, but a small extension for my ESP8266 programmer. It nothing else just two connectors and the three pull up/down resistors:


Connected to the programmer:


In work, programming an ESP-01:


To make this work, here are the settings I used in the Arduino IDE:


May some settings need explanation:

  • I used Generic ESP8266 Module to see all of the possible options.
  • QIO mode is the fastest flash access method and as we use ESP-01 here using the GPIOs occupied by the QIO is out of question.
  • 4M flash size - I replaced the 512k flash chip with a 4M one (http://pakahuszar.blogspot.hu/2016/10/esp-01-surgery.html) so it is the correct one here
  • Reset Method - nodemcu - this is the most important setting here, as this makes possible to run the programmer automatically without pressing buttons.
I think, with this I can tell, this project is finished. The only thing left, to update the github repo of it.

2017. március 14., kedd

Project 2017#1 - ESP8266 Programmer 2.

The ordered board arrived from SeeedStudio.
I built it:



It works perfectly.
Just a quick note to myself: You have to solder the USB connector first otherwise you can't access the connector pins with the soldering iron.

2017. március 13., hétfő

Raspberry Pi Zero W - landed

My shiny new Raspberry PI Zero W just arrived:



I never seen such fancy envelope sent on mail

2017. március 11., szombat

Project 2017#2 - ESP8266 Breakout Board

Yes, you can tell. Why on earth you creating yet another ESP8266 development board? There are plenty of them already available. Just check NodeMCU, Wemos D1, Sparkfun, Adafruit modules, just to name a few.
The main reason is that I'm an idiot.
I wanted to access the bottom pins of the ESP12E/F Modules:



And didn't realize that it is already available on the NodeMCU v1.0 on my desk.
So I designed and built one:


At least it is a breakout board with access to the bottom pins, without the USB/Serial adapter, what can fit in my future projects.

Now a few words about why I want these pins.
On many forums people written about these pins, that they are useless, as used by the flash chip of the module exclusively.
I'm a stubborn person. I don't believe what they said. I want to try this out myself.

Now let see, what I intend to achieve with this board. I'll mark these as tasks during the following write up.
The main problem, that the ESP8266 has a capable CPU, easily programmable Wi-Fi, lot of flash to store code and data, but limited GPIO capability. Yes, you can use bus extenders, but it isn't the same.
Let see what GPIO we have.
First of all the GPIOs can be freely use:
GPIO4, GPIO5, GPIO12, GPIO13, GPIO14
It is five, not to much if you know that SPI or I2C also can only be mapped to here.
There is also the GPIO16 maybe free, but some reports written, that it may disrupt the reset process, and it is involved in the deep sleep.
Lets continue, what else we have:
GPIO1, GPIO3 can be use if we give up the serial port used for programming and serial messages, what is quite useful during the development phase or later diagnostics.
As I want to keep this functionality I will not play with it now.
GPIO0, GPIO2, GPIO15 are used during the bootup process. This means the GPIO0 and GPIO2 pulled up and the GPIO15 is pulled down during normal boot (it isn't true when you program it or booting from SD Card).
If you don't care the state of these pins during boot process and aware of the pull ups/downs later on, you can use them as outputs, but doesn't recommended to use as inputs, because it can disrupt the boot process.
I've a simple external circuit in my mind to overcome this. So mark this as TASK#1
GPIO6-GPIO11 used by the onboard FLASH (the bottom pins).
Here is a small table, how they are connected:

GPIO6    CLK
GPIO7    SDO0      MISO
GPIO8    SDO1      MOSI
GPIO9    SDO2
GPIO10  SDO3
GPIO11  SDCMD  CS

The connection to the FLASH is required all of the time, so these pins can not be used (freely).
The system allows two modes (maybe more, but we just talking about the most common ones used in the ESP8266): QIO and DIO.
In QIO mode all of the SDx pins are used. In DIO mode just the SD0/1. This means the GPIO9/10 remain free. Check if I can use them. So mark this as TASK#2
In some documents I found some information of the HSPI remapping to the SPI pins of the flash. In theory if I use the CS of the HSPI for some external SPI peripheral (4 wire SPI), I can share the SPI between the flash chip and this external peripheral. Mark this as TASK#3
According to the documentation the ESP8266 can boot from SD card instead of the internal flash. It would be interesting to figure out, how can this be achieved. So mark this as TASK#4
This is all for now. I'd like to research the four tasks mentioned above, and write about the successes/failures.