Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

Register Log in

To develop 3D printer in PIC controller

Status
Not open for further replies.

anboli

Full Member level 2
Joined
Mar 9, 2012
Messages
143
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,298
Activity points
2,507
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,
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
17,308
Helped
3,918
Reputation
7,834
Reaction score
3,780
Trophy points
113
Activity points
114,876
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
 

ZASto

Advanced Member level 2
Joined
Jan 9, 2008
Messages
692
Helped
140
Reputation
283
Reaction score
123
Trophy points
1,323
Location
Messy Corner, 44°47'31.56"N, 20°28'9.16"E
Activity points
4,619
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.
 

anboli

Full Member level 2
Joined
Mar 9, 2012
Messages
143
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,298
Activity points
2,507
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.
 

andre_teprom

Super Moderator
Staff member
Joined
Nov 7, 2006
Messages
9,153
Helped
1,137
Reputation
2,292
Reaction score
1,108
Trophy points
1,403
Location
Brazil
Activity points
53,119
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.
 

anboli

Full Member level 2
Joined
Mar 9, 2012
Messages
143
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,298
Activity points
2,507
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?
 

andre_teprom

Super Moderator
Staff member
Joined
Nov 7, 2006
Messages
9,153
Helped
1,137
Reputation
2,292
Reaction score
1,108
Trophy points
1,403
Location
Brazil
Activity points
53,119
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.
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
17,308
Helped
3,918
Reputation
7,834
Reaction score
3,780
Trophy points
113
Activity points
114,876
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
 

ZASto

Advanced Member level 2
Joined
Jan 9, 2008
Messages
692
Helped
140
Reputation
283
Reaction score
123
Trophy points
1,323
Location
Messy Corner, 44°47'31.56"N, 20°28'9.16"E
Activity points
4,619
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.
Toggle Sidebar

Part and Inventory Search


Welcome to EDABoard.com

Sponsor

Sponsor

Design Fast


×
Top