Show all posts by user
Printing issues ...
Page 1 of 6
Pages: 12345
Results 1 — 30 of 174
Right. Currently the "ok" has dual functions - flow control and notification of command completion. In reality these two events doesn't happen together, they don't depend on each other. This "ok" must be redesigned.
by
sam0737
-
Firmware - experimental, borrowed, and future
I agree with layered approach. Or at least we should think in layers. Separated channels.
> Whenever a packet is transmitted without errors it should be recognized as such by the receiving side.
I don't agree. The either thing could get lost - Maybe the UART TTL line is simple disconnected, maybe the firmware hangs.
The host must be able to recognize this without confusing with lack of activi
by
sam0737
-
Firmware - experimental, borrowed, and future
I agree on data and control channel separation. That's something I desperately needed - I can't stand to have M105/M112 not responding while waiting for temperature to reach.
Your scheme doesn't address data corruption.
What if the command sent was corrupted? The host does not know if the command is received and working (D4/M116 will take a long time), or the command is not received properly suc
by
sam0737
-
Firmware - experimental, borrowed, and future
Ok here is my v2 proposal.
I am going to called the following commands as "out-of-band commands": M105 (Get temp), M114 (Get pos), M112 (Estop), etc. Other normal commands would be in-band commands.
It is not the same as non-buffered commands. non-buffered commands like G4 still have to be executed in-order.
Problem to solve
Transmission corruption should be able to heal in all cases which mean
by
sam0737
-
Firmware - experimental, borrowed, and future
I agree on you that firmware must do multitasking/out-of-order handling to accept out of band command like M112 (EStop) /M105 (Check temp), no matter what solution it's going to be.
Secondly, as we the community is moving to faster CPU (Due) which has native hi speed USB, maybe the original argument of multiline buffering - speeding up the communication - no longer holds.
Maybe checksum and ret
by
sam0737
-
Firmware - experimental, borrowed, and future
Well I am going to answer my own question. If host doesn't heard "ok" for a command, it could just resend every second.
It's easy for the firmware to check if it is a duplicated command because of the line number. Then it could act accordingly -
* Firmware would reply with ack if the command is indeed still in progress, or
* resend the ok, if the command was finished.
by
sam0737
-
Firmware - experimental, borrowed, and future
Hi I am Sam. Back in 2009 I was working on EMCReprap (http://reprap.org/wiki/EMCRepRap) and I finally gave up and got myself an Arduino Mega + hand wrapped RAMPS with TB6560 driver, resulting in this . However, I am quite unsatisfied with firmwares today, and the processing power of AVR - which limited the software architecture design and possibilities. And hence a started a new firmware project
by
sam0737
-
Firmware - experimental, borrowed, and future
Depends on how much. Delta bot translation has been done on RAMPS, it involves one trigonometric functions and segmenting a G1 into hundreds of line segments, so you get the idea.
You could as well find all the #define DELTA and swap out the functions.
by
sam0737
-
Firmware - experimental, borrowed, and future
I didn't notice it until I check the wiki . I was looking for confirmation on the official website but I couldn't find any info if the it is currently open or closed source.
If it is, that would be a big lost to the 3DP community.
by
sam0737
-
Repetier
So is that a switching relay?
Relay is rated for 100 thousands or a million of switching at most, then it will fail.
Even printing 1 layer could probably need 10-thousands steps...I bet the relay will fail before you can even finishing printing one object.
by
sam0737
-
Controllers
it's actually configurable in firmware. I recommend you to learn how to configure and flash one if you dunno yet. (you probably need to tune step per mm anyway)
by
sam0737
-
General
Before re-inventing the wheel, look around the local interest groups, they might have 2nd hand parts, or some advice on saving money in purchase.
I would suggest you to go with a proper driver - maybe Toshiba TB6560 which is significantly cheaper here but works. The hotend will give you enough headache, and you don't want to have even more bugs/quality issue/smoke due to the control system.
by
sam0737
-
Controllers
L293D is a very primitive driver, and is 600mA max. it doesn't actively limit/control the current and its functionality is very straight forward. For these kinds of IC, you must use a motor that its short circuit current is below the operation limit.
Those drivers with microstepping must have active.current control, it does use pwm chopping to actively limit the current to a configured value - f
by
sam0737
-
Controllers
If you can, get yourself a cartridge heater, which is designed for the job.
My last enameled broke after a few months, cartridge heater doesn't fail me yet. (Even I have left it on, have grown red, and melted the PEEK accidentally, oops)
by
sam0737
-
General
so you mean the X axis shifted to the left in 2nd layer?
by
sam0737
-
General
If you want microstepping, more sophisticated decay control, but with big motor - there are chips like LS8292 that offers such advanced feature, yet designed to be used with external MOSFET or L298.
by
sam0737
-
Controllers
But to coordinate all axes, and make sure they accelerate the same fashion and such...is complicated.
I think it's easier to be done in the software, at least it has been done.
by
sam0737
-
Controllers
The default mosfet of RAMPS BOM mightnot work well for 3.3v but as said planning for using an external one already...
The SD extension board designed for RAMPS might not work because of the voltage translator.
Other than that, it should work.
Though dont understimitate the software issue, u might end up rewriting the whole firmware, not an easy job.
p.S. I am working on writing a firmware for
by
sam0737
-
Controllers
what's the IC of "the other driver" that smoked?
by
sam0737
-
Controllers
I actually like SMD much more. IMHO, hand soldering SMD resistor/cap is more enjoyable than the through hole version - IC might need more practice. With stencil and solder paste, handling SMD is actually like a snap of finger...
by
sam0737
-
Controllers
L297/298 has no microstepping, and much much bigger footprint and needs even more passive component, not SMD friendly.
by
sam0737
-
Controllers
TB6560 has a much big footprint, not SMD friendly, yet it can only drive 3A.
When you need more than 2.5A that A3977 suoports, most likely you need a much bigger one instead of #A.
TB6560 also need a big heatsink to drive at 3A contiuously, in this sense it has no difference from A3977.
by
sam0737
-
Controllers
Max current is the only thing that matter. "Voltage" of the motor is that the current you will get when you apply that voltage blindly - which doesn't matter when we are using drivers like polulu which limit the max current.
Your motor accept higher driving current, that's fine. (It will be a problem if the motor rated "voltage" is higher than your input voltage because that mean you could neve
by
sam0737
-
Controllers
Oh. I really missed that. Thanks.
I am also taking this chance to reinvent the wheel - as a professional programmer, I am not happy with the architecture and design of the Marlin firmware I have been using.
A real RTOS would allow better design (by using task/thread), and better use of the hardware (DMA of the IO peripherals) - and that's the approach I am going with.
by
sam0737
-
Controllers
For the 4m/s ~ ±4µm/m error quoted above - The spec says it's the linear optical encoder having ±4µm/m accuracy, not the motor.
But at any case, I agree timing belts is fairly accurate, as long as it's under tension.
I have T5 belt + "Chinese" metal timing pulley. (Disclaimer: I do live in China and 5 USD can buy you a pulley freshly fabricated).
So far so good.
The pulley I made has 14-tooth
by
sam0737
-
General
Looks like my thread has been hijacked LOL. But nevermind, it's all good info. Too busy with work, and I'm too lazy to check the forums...
I think the point of having fuse today is not preventing the IC from smoking, but the house from smoking.
I got my board fabbed and soldered, a few minor bugs (mostly placement) but so far it's working.
It runs too hot (like I can't stick my finger to the
by
sam0737
-
Controllers
I thought mainland US and UK is the only part of the world still using imperial widely, apparently I am wrong.
It's correct that without the drivers on board, everything will fit much more easily. However, my goal is to have them onboard to handle my scenario (and most common scenarios I believe).
That said - it's a shield, so anyone could grab the step/dir signals and every other pins directly
by
sam0737
-
Controllers
Thanks for your input. It certainly helps.
I strongly agree with you about the connectors. Even with a hard made mega shield that I am using now I am using the phoneix-screw connector, or for all the extruder, sensor connections. (I use some other motor drivers module). Stick the screw driver on the PCB just for connecting/disconnecting is such an troublesome job. I don't understand why RAMPS c
by
sam0737
-
Controllers
Page 1 of 6
Pages: 12345