Comments (8)
Progress on UP Mini
I am happy to report progress on the Up Mini Teacup firmware conversion! After a long hybernation due to work pressure, I was able to get back to the Up Mini Teacup conversion. The problem was that had I used an AVR328 (Arduino Pro-mini) to run the firmware and the Up Mini had stepper motor drivers pre-configured for 128 microstepping. This caused the math calculations to overflow and it just did not work. There was no way to change the microstepping in the hardware. Even the stepper motor drivers were unidentified.
After looking at the stepper motor driver chips I found that they were an oddball 30 pin SSOP package. When I checked stepper motor driver chips with 30 pins, THB6128 came up. Surely, comparing the datasheet and board connections, the signals matched and indeed the drivers had been wired for 128 microstepping.
It is confirmed now that Up Mini uses THB6128 as stepper motor drivers.
The next problem is how to change the hardwired 128 microstepping to a more reasonable 32 or so. The datasheet says 3 pins control the microstepping rate: Pins 26,27 & 28, which were all wired to logic high. Pin 27 must be logic low for 32 microsteps. I managed to desolder, lift up and airwire Pin 27 to GND on all 4 motor drivers as desired (under a makeshift microscope).
After doing the firmware setup, motor positioning is running as desired now. I still need to adjust the extruder and bed temperature control parameters, but that is a known path and should be manageable.
Some photos show what was done inside the machine.
Best,
Ahmet
from teacup_firmware.
I'd guess you run into integer overflows. Teacup stores distances in micrometers and 2^31รท1000000 = 2,147. And there's some margin needed for calculations.
Workaround could be to multiply everything distance related by 10. Configuring ten times more steps/mm and for compensation, dividing speeds and commanded distances by 10. One might still run into overflows if more than 4 billion steps are needed for a movement.
from teacup_firmware.
Here are the lines depending for the ~1700mm.
Lines 328 to 330 in 9b934c3
from teacup_firmware.
I have the same problem but with -apparently- much smaller values.
I am trying to retrofit an old UpMini! printer with an Arduino Nano.
It has 1/128 microstepping, 1.5mm pich belt 1.8 deg/step and 20 tooth pulley.
These numbers prodce 853333 steps/m
When I select acceleration as RepRap or Ramping, the movement starts fast, but then drops to extremely slow just as FelipeDelgadoR mentions.
EDIT: At these extreme low speeds, the positions seem to be correct and repeatable.
If I set 499999 steps/min, for example, speed is good, but of course positioning is wrong.
There is another problem: When I set the movement to 700000steps/m for example, and select 10mm of movement from Repetier Host, the first 10mm is smooth, but all subsequent movements are slow as described above.
Any ideas?
- I did not understand Traumflug or Wurstnase's comments as it seems they would change dimensions of the print.
from teacup_firmware.
I would reduce the microstep size to 1/16 and check again. I suspect some overflows. The Teacup firmware does not have many regression tests for such values. At such high values there could be overflows that would cause such an observation.
from teacup_firmware.
Thanks for the reply!
Yes, most probably there is overflow. If I reduce the steps/m setting to 500,000 (arbitrarily) the problem goes away. This is the same thing as changing the microstep size to a coarser value than 1/128 as you say.
However, if I do that, the size of the printed object would be wrong.
Probably the actual solution is to increase the type of the overflowing variables to int_64t or something.
However, which ones?!! Do you have any suggestions?
Is it possible to use the simulator to check if some variables are overflowing?
from teacup_firmware.
I would reduce the microstep size to something smaller. E.g. 16. In that case you can reduce your steps/m by a factor of 8.
from teacup_firmware.
Yes, that wolud have been my first choice, but on this printer (Up! Mini) the motor driver chips are soldered directly on the PCB, have heat sinks glued on them, and their part numbers have been scraped off. I could not find any reference to the board design on the Internet either.
Even halving the microstep setting to 64 would have saved the day for me.
So unfortunately essentially I am stuck with the microstep setting. Will still check to see if I can do it.
from teacup_firmware.
Related Issues (20)
- ZProbing implementation HOT 7
- Compile error on Mint with Teacup Master Branch for ARM LCP1114 HOT 5
- How to add SD card reader to the CNC shield V3
- Cant Read NTC temp HOT 14
- Heat bed using cnc shield
- Teacup freezes during print HOT 13
- Teacup not setting Y-MAX correctly after homing against the Y-Max-Switch HOT 13
- Teacup does not start, if a defined 4-bit-bus LCD is not conected
- configtool colors all wrong in Ubuntu HOT 3
- Config tool doesn't load board.cnc-shield-v3-nucleo.h HOT 1
- Build broken on Fedora 34 HOT 4
- PWM M106 command extra pulse at value = 0 (0%) and solution
- ===== RESTART
- Infinite connecting to slicer when i2c SSD1306 is enabled
- Support fot PT100 sensor HOT 3
- Homing direction cannot be set HOT 3
- Communication timeout HOT 3
- G0 is always at max X speed! HOT 1
- My awesome journey ends here HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from teacup_firmware.