Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

To develop 3D printer in PIC controller

Status
Not open for further replies.

anboli

Full Member level 2
Full Member level 2
Joined
Mar 9, 2012
Messages
144
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,298
Activity points
2,513
Hi all,
I found that, 3d printers are developed in atmega controller by the Marlin Software. Can we develop the printer by the help of PIC controllers or any other controllers than atmega/raspi. Please suggest any possible way of doing.

Thanks,
 

Hi,

For sure you can "develop" you own software for any microcontroller you like.

But maybe you mean "compile":
Then it may or may not be possible. It depends on how the source code is written.
In any case it needs a lot of adjustmenst for the different hardware.

Klaus
 

First of all, you have to figure out what is the difference between microcontroller (AtMEGA, PIC) and microprocessor (ARM, Intel, AMD).
Second, Marlin firmware or GRBL firmware are ment to be motion controllers.
Third, you have to have good knowledge of programming languages which you intend to use for "developing" your code for motion controller.

PC, as well as RasPi are computers with microprocessors that are overwhelmed with a lot of different tasks that has to be performed "simultaneously" so they are not good candidates for motion control, but are more than good for GUI front-ends.

Some motion controllers even do not utilize microcontrollers but utilizes FPGAs for generating Step/Dir pulses for stepper/servo motors.
 

First of all, you have to figure out what is the difference between microcontroller (AtMEGA, PIC) and microprocessor (ARM, Intel, AMD).
Second, Marlin firmware or GRBL firmware are ment to be motion controllers.
Third, you have to have good knowledge of programming languages which you intend to use for "developing" your code for motion controller.

PC, as well as RasPi are computers with microprocessors that are overwhelmed with a lot of different tasks that has to be performed "simultaneously" so they are not good candidates for motion control, but are more than good for GUI front-ends.

Some motion controllers even do not utilize microcontrollers but utilizes FPGAs for generating Step/Dir pulses for stepper/servo motors.

Thanks for your reply,

I know the difference between Controller and processor.

i asking for how to process a G code comments in PIC controllers like what they did in ATMEGA. is there any tutorials for the executing G_Code comments?

- - - Updated - - -

Hi,

For sure you can "develop" you own software for any microcontroller you like.

But maybe you mean "compile":
Then it may or may not be possible. It depends on how the source code is written.
In any case it needs a lot of adjustmenst for the different hardware.

Klaus

Hi KlausST,
Basically we can develop anything in the controller, i just new to G-Code comments, i don't know how to start the process in the pic. have you done anything in the G-Codes comment? if anything you have done, please share the idea.
 

What you refer to G codes are nothing less than printhead positioning, inject, and moving instructions which I highly doubt a microcontroller with small internal RAM capacity would be able to handle such as the PIC core you mentioned. Another thing to consider is that a simpler 8-bit microcontroller is capable of decently work only with cartesian printers (x, y, z axes) which you did not specify but perhaps is what you are talking about.
 

What you refer to G codes are nothing less than printhead positioning, inject, and moving instructions which I highly doubt a microcontroller with small internal RAM capacity would be able to handle such as the PIC core you mentioned. Another thing to consider is that a simpler 8-bit microcontroller is capable of decently work only with cartesian printers (x, y, z axes) which you did not specify but perhaps is what you are talking about.

Thanks andre,
I want to make a 3D printers for the fabrication of the plastic parts, i found that in few videos that marlin firmware with AT2560 is working fine, i want to develop the same with our PIC(8/16bit) or renesas controller(RF series). and moreover the AT2560 also a 8bit controller. can we make the printers with PIC24EP512GU814 controller?
 

marlin firmware with AT2560 is working fine, i want to develop the same with our PIC(8/16bit) or renesas controller(RF series). and moreover the AT2560 also a 8bit controller.

Certainly in this case the microcontroller is acting as a mere slave without locally buffering the contents of the G code, instead, receiving remotely the control commands from the PC side.

Actually any microcontroller can do that.

can we make the printers with PIC24EP512GU814 controller?

Are you wondering if a larger-capacity microcontroller can do this on the same project that you have the source codes for the 8-bit microcontroller? What would be the impediment, or the logic behind the question? If it is related to the syntax difference between local registers and/or compilers, you will really have to deal with some re-engineering.
 

Hi,

G Code is rather simple. Almost human readable. The description of the code is available in the internet.

But in my eyes parsing the G code is the simplest part of your code. Controlling the motors with exact timing will be the bigger challenge.

Klaus
 

On Github, you can find source for Marlin, GRBL, if you search a bit more, you can find source for GRBL (6 axes) running on STM32F1xxx, aka. Blue Pill
"Small" micro is not just a dumb slave (sorry Andre), but has a small buffer and is a fully fledged trajectory planer with a look ahead.

As for developing code from scratch, OP should first understand how a trajectory planer works. Sources can be found in LinuxCNC (previously EMC2), in GRBL, ...
Processing G-code commands requires you to understand what each of G-code means (there are also M-codes). Without that knowledge you will not be able to develop a decent motion controller.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top