https://reprap.org/mediawiki/api.php?action=feedcontributions&user=Joshj&feedformat=atomRepRap - User contributions [en]2024-03-29T10:35:23ZUser contributionsMediaWiki 1.30.0https://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106695RUG/Pennsylvania/State College/Electronics2013-09-19T23:59:56Z<p>Joshj: Added section on Monotronics, added Old Information super-heading</p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
==RAMPS Electronics==<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
===Current Firmware===<br />
https://github.com/joshpj/Marlin<br />
<br />
===Thermocouple Adapter Boards===<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
<br />
==Old Information==<br />
<br />
===Monotronics===<br />
<br />
For a time we used TechZone Monotronics on several of our printers.<br />
Details are here: [[/Monotronics]]<br />
<br />
===Generation 3 Electronics===<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
* [[/Gen3|More about our Gen3 electronics]]<br />
<br />
===Comparison of Electronics===<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
Once we decided that RAMPS seemed to be one of the best choices for electronics on the Prusa-style RepRaps we were building, we compiled a list of prices from various possible sources: [[/RAMPS|RAMPS]]<br />
<br />
===Building Custom Motherboard===<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
In the meantime, see here: [http://reprap.org/mediawiki/index.php?title=Special%3APrefixIndex&prefix=RUG%2FPennsylvania%2FState+College%2FElectronics&namespace=0].<br />
<br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106694RUG/Pennsylvania/State College/Electronics2013-09-19T23:56:06Z<p>Joshj: /* Page List */</p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
==RAMPS Electronics==<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
===Current Firmware===<br />
https://github.com/joshpj/Marlin<br />
<br />
===Thermocouple Adapter Boards===<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
<br />
==Generation 3 Electronics==<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
* [[/Gen3|More about our Gen3 electronics]]<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
Once we decided that RAMPS seemed to be one of the best choices for electronics on the Prusa-style RepRaps we were building, we compiled a list of prices from various possible sources: [[/RAMPS|RAMPS]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
In the meantime, see here: [http://reprap.org/mediawiki/index.php?title=Special%3APrefixIndex&prefix=RUG%2FPennsylvania%2FState+College%2FElectronics&namespace=0].<br />
<br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106693RUG/Pennsylvania/State College/Electronics2013-09-19T23:54:00Z<p>Joshj: /* Generation 3 Electronics */</p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
==RAMPS Electronics==<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
===Current Firmware===<br />
https://github.com/joshpj/Marlin<br />
<br />
===Thermocouple Adapter Boards===<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
<br />
==Generation 3 Electronics==<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
* [[/Gen3|More about our Gen3 electronics]]<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
Once we decided that RAMPS seemed to be one of the best choices for electronics on the Prusa-style RepRaps we were building, we compiled a list of prices from various possible sources: [[/RAMPS|RAMPS]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106692RUG/Pennsylvania/State College/Electronics2013-09-19T23:49:23Z<p>Joshj: /* Generation 3 Electronics */ Fixed links to reflect past page moves</p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
==RAMPS Electronics==<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
===Current Firmware===<br />
https://github.com/joshpj/Marlin<br />
<br />
===Thermocouple Adapter Boards===<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
<br />
==Generation 3 Electronics==<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
=== Repairs ===<br />
* [[/Gen3/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Gen3/Firmware/]]<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
Once we decided that RAMPS seemed to be one of the best choices for electronics on the Prusa-style RepRaps we were building, we compiled a list of prices from various possible sources: [[/RAMPS|RAMPS]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106691RUG/Pennsylvania/State College/Electronics2013-09-19T23:46:58Z<p>Joshj: Tweaked heading levels</p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
==RAMPS Electronics==<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
===Current Firmware===<br />
https://github.com/joshpj/Marlin<br />
<br />
===Thermocouple Adapter Boards===<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
<br />
==Generation 3 Electronics==<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
Once we decided that RAMPS seemed to be one of the best choices for electronics on the Prusa-style RepRaps we were building, we compiled a list of prices from various possible sources: [[/RAMPS|RAMPS]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106690RUG/Pennsylvania/State College/Electronics2013-09-19T23:45:16Z<p>Joshj: </p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
==RAMPS Electronics==<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
==Current Firmware==<br />
https://github.com/joshpj/Marlin<br />
<br />
==Thermocouple Adapter Boards==<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
Once we decided that RAMPS seemed to be one of the best choices for electronics on the Prusa-style RepRaps we were building, we compiled a list of prices from various possible sources: [[/RAMPS|RAMPS]]<br />
<br />
=Generation 3 Electronics=<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106689RUG/Pennsylvania/State College/Electronics2013-09-19T23:43:33Z<p>Joshj: Moved and merged "Generation 3 Electronics" and "Repairs and Modifications"</p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
=RAMPS Electronics=<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
==Current Firmware==<br />
https://github.com/joshpj/Marlin<br />
<br />
==Thermocouple Adapter Boards==<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
Once we decided that RAMPS seemed to be one of the best choices for electronics on the Prusa-style RepRaps we were building, we compiled a list of prices from various possible sources: [[/RAMPS|RAMPS]]<br />
<br />
=Generation 3 Electronics=<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106688RUG/Pennsylvania/State College/Electronics2013-09-19T23:41:23Z<p>Joshj: Moved and merged "Comparison of Electronics" and "RAMPS Supply Info"</p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
=RAMPS Electronics=<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
==Current Firmware==<br />
https://github.com/joshpj/Marlin<br />
<br />
==Thermocouple Adapter Boards==<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
=Generation 3 Electronics=<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
*Hardware<br />
**[[/ExtruderMOSFETs|Extruder MOSFETS]]<br />
<br />
*Firmware<br />
**[[/Firmware|Firmware]]<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
Once we decided that RAMPS seemed to be one of the best choices for electronics on the Prusa-style RepRaps we were building, we compiled a list of prices from various possible sources: [[/RAMPS|RAMPS]]<br />
<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
==Repairs and Modifications==<br />
As we continue to maintain our existing machines, we will undoubtedly need to repair and modify their electronics. This section will document our efforts in this area.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106687RUG/Pennsylvania/State College/Electronics2013-09-19T23:35:58Z<p>Joshj: Added section on our RAMPS electronics</p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
=RAMPS Electronics=<br />
The majority of our printers are [[Ohm|Open Hybrid Mendels]], most of which are running [[RAMPS]] 1.4 electronics.<br />
<br />
==Current Firmware==<br />
https://github.com/joshpj/Marlin<br />
<br />
==Thermocouple Adapter Boards==<br />
Instead of using thermistors for temperature monitoring, we currently use [[Thermocouple_Sensor_1.0|thermocouple adapter boards]] based on Analog Devices's AD595 IC. We connect the thermocouple board to pins 1,2,3 of AUX1 (5V, GND, and A3), and change TEMP_0_PIN to 3.<br />
<br />
We have found that connecting the AD595 backwards results in the destruction of the IC. To avoid this, we use keyed connectors (digikey 487526-2-ND and A28527-ND). The connectors have a slot/key that divides one pin from the others; we use this pin as 5V and the others for signal and ground (which swap pins from one side of the cable to the other). This allows the cable to be reversible.<br />
<br />
=Generation 3 Electronics=<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
*Hardware<br />
**[[/ExtruderMOSFETs|Extruder MOSFETS]]<br />
<br />
*Firmware<br />
**[[/Firmware|Firmware]]<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
==RAMPS Supply Info==<br />
Since the [[/RAMPS|RAMPS]] electronics seems to be one of the best bets for the alternate electronics on the PRUSA RepRaps this is a compiled list of where to purchase and the cost. Some of these are located in America and other companies are International.<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
==Repairs and Modifications==<br />
As we continue to maintain our existing machines, we will undoubtedly need to repair and modify their electronics. This section will document our efforts in this area.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=Talk:RUG/Pennsylvania/State_College/Presentation&diff=106685Talk:RUG/Pennsylvania/State College/Presentation2013-09-19T23:15:55Z<p>Joshj: Joshj moved page Talk:RUG/Pennsylvania/State College/Main to Talk:RUG/Pennsylvania/State College/Presentation over redirect: revert - This move broke links and adds clicks for little reason.</p>
<hr />
<div>==Notes==<br />
<br />
Add hottip project information.<br />
<br />
--[[User:Afs2015|Afs2015]] 00:12, 14 November 2012 (UTC)<br />
<br />
We haven't bothered to use this space yet, but perhaps we can have a chat about the format of this main page. <br />
<br />
'''Can we put our members list into a table/grid to take up less space?'''<br />
<br />
I did that today, if you have any way you want to make it more customized just send me the specifications. --[[User:Afs2015|Afs2015]] 03:02, 5 September 2012 (UTC)<br />
<br />
==Operating Specifications==<br />
<br />
If you are updating the Operating Specifications table with the status of printers, please utilize the following standardized format.<br />
<br />
{|border="1" cellpadding="2" colspan="2"<br />
|-<br />
! Status <br />
! Reasons to put printer in this category<br />
|-<br />
|style="background-color: green;"|Working<br />
|Printer is working fine and has no problems. The style code is "green".<br />
|-<br />
|style="background-color: lightskyblue;"|Printing<br />
|Printer has some problems or requires adjustments, but otherwise is able to print. Please list reasons why printer is blue in the comments column. The style code is "lightskyblue".<br />
|-<br />
|style="background-color: pink;"|Not Working<br />
|Printer is unable to print. Please list if the printer is under construction, has damage, or other reasons why it is unable to print in the comments column. The style code is "pink".<br />
|-<br />
|style="background-color: lightgrey;"|Retired<br />
|Printer is retired. Please list the reason why the printer is retired in the comments column. The style code is "grey".<br />
|-<br />
|style="background-color: yellow;"|Transferred<br />
|Printer is transferred. Please list where the printer was transferred to the comments column. The style code is "yellow".<br />
|}</div>Joshjhttps://reprap.org/mediawiki/index.php?title=Talk:RUG/Pennsylvania/State_College/Main_old&diff=106686Talk:RUG/Pennsylvania/State College/Main old2013-09-19T23:15:55Z<p>Joshj: Joshj moved page Talk:RUG/Pennsylvania/State College/Main to Talk:RUG/Pennsylvania/State College/Presentation over redirect: revert - This move broke links and adds clicks for little reason.</p>
<hr />
<div>#REDIRECT [[Talk:RUG/Pennsylvania/State College/Presentation]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Presentation&diff=106683RUG/Pennsylvania/State College/Presentation2013-09-19T23:15:52Z<p>Joshj: Joshj moved page RUG/Pennsylvania/State College/Main to RUG/Pennsylvania/State College/Presentation over redirect: revert - This move broke links and adds clicks for little reason.</p>
<hr />
<div>{| align="center"<br />
| [[File:Scrug_logo_small.png|500 px|link=RUG/Pennsylvania/State_College/Presentation]]<br />
|}<br />
<br />
{{RUG/Pennsylvania/State_College/Navbar}}<br />
<br />
__TOC__<br />
<br />
= Welcome! =<br />
<br />
Welcome to the State College RepRap User's Group Wiki! <br />
<br />
*Our meetings are on the 1st and 3rd Wednesdays of the month at 7pm at [http://themakespace.com/ The Make Space], downtown in the alley behind Green Bowl and the Fraser Street garage.<br />
<br />
*Thank you for visiting our page. We are a group of RepRap users based out of Penn State & the State College area. We participate in designing new parts and improvements for RepRap and have created a new merging of the [[Mendel | Mendel]] and [[Prusa Mendel | Prusa]] RepRap designs which we call the [[Ohm | Open Hybrid Mendel]], or [[Ohm | OHM]] for short. We also are developing the RepRap [[Mullis]] as a low-cost laboratory robot capable of preforming DNA amplification via a polymerase chain reaction.<br />
<br />
*Our project is combined with class offerings at Penn State, so if you are interested and attend PSU be sure to contact us for information!<br />
<br />
= What's New? =<br />
<br />
For what used to be new, check [[RUG/Pennsylvania/State College/History|PSU RUG History]].<br />
*'''04.25.13''' Printer showcase in the Engineering Design Expo at the Bryce Jordan Center.<br />
*'''12.13.12''' Printer showcase in the Engineering Design Expo at the Bryce Jordan Center.<br />
*'''11.28.12''' Samantha Yuhas had her article about [http://onwardstate.com/community/power-to-the-people-mass-manufacturing-for-the-masses-takes-off-with-edsgn-497d/ EDSGN 497D] published in Onward State. <br />
<br />
*'''11.12.12''': Participation in the [http://onwardstate.com/2012/04/11/calling-all-computer-geeks-psu-hackathon-starts-friday/ PSU Hackathon].<br />
*'''9.17.12''': Prior newslines archived.<br />
<br />
=Electronics & Software=<br />
<br />
*All information about our [[RUG/Pennsylvania/State College/Electronics|electronics]] including firmware that we use can be found here.<br />
<br />
*Anything and everything that deals with [[RUG/Pennsylvania/State College/Software|software]] will be here eventually. (WIP)<br />
<br />
*REPSNAPPER: Here is a [http://www.youtube.com/watch?v=JL1NFGRR4rY basic video tutorial] to help you get started!<br />
<br />
*[[User:Jfo5039/installingonwindows7 | Guide to printing from Windows 7]].<br />
*[http://reprap.org/wiki/RUG/Pennsylvania/State_College/linux_ubuntu Guide to printing from Ubuntu]<br />
*[[RUG/Pennsylvania/State College/Soldering| Soldering]]<br />
<br />
=WorkShop=<br />
[[File:panorama.jpg]]<br />
<br />
This is the working area of PSU RUG, which the room 312 of Hammond Building of Penn State. Most of the printers are placed in this area. <br />
<br />
[[File:StatusBoard.jpg]]<br />
<br />
This is the status board of some of the printers. Check this first before using any printers.<br />
<br />
=Projects & [[RUG/Pennsylvania/State College/Exceptional Edits|Exceptional Edits]]=<br />
<br />
<br />
{| border="1" cellpadding="2"<br />
!colspan="2"|'''PROJECTS'''<br />
<br />
|-<br />
|[[RUG/Pennsylvania/State College/Solidworks OHM | Solidworks OHM]] || Fully assembled OHM in SolidWorks.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Mullis | Mullis]] || Open Source PCR machine.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Hot_Tip | Hot Tip]] || Hot Tip project.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Base_Plate | Base Plate]] || Base Plate project.<br />
|-<br />
|[[RUG/Pennsylvania/State College/TechZone_InfoHub|TechZone Projects]] || Projects from TechZone we have completed or plan on undertaking.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Razor Blade Designs | Razor Blade Designs]] || These are designs for razorblade holders designed by our 497D class.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Pen_Plotter | Pen Plotter]] || A design for a universal pen holder. STL files posted.<br />
|-<br />
|[[RUG/Pennsylvania/State College/CAD | CAD files]] || Posting Page for CAD files.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Dual_Extruder | Dual Extruder]] || Development of a dual extrusion system for existing machines.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Waste Reclamation System | Waste Reclamation System]] || Discussion on recycling print material.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Stepper_Paste_Extruder | Stepper Paste Extruder]] || Development of paste extruder driven by a stepper motor.<br />
|-<br />
|[[RUG/Pennsylvania/State_College/Vertex_Param | Vertex Parametrization]] || Development of OpenSCAD code for variable-angle vertices.<br />
|-<br />
|[[RUG/Pennsylvania/State_College/Printed_Quadcopter | Printed Quadcopter]] || Printed Quadcopter project.<br />
|-<br />
|[[RUG/Pennsylvania/State_College/3D_scanning | 3D Scanning]] || Replicating objects using a 3D scanner.<br />
|}<br />
<br />
=Useful Links=<br />
*[http://reprap.org/wiki/Full_Rod_Cut_List Full Rod Cut List]<br />
*[http://www.reprap.org/wiki/PCB_Design PCB Design using RepRap]<br />
*[[Gcode#RepRap_G_Code_Fields | G-Code]]<br />
*[http://wiki.makerbot.com/configuring-skeinforge Good Skeinforge primer]<br />
*[http://ultimachine.com/content/mendel-notes Skeinforge PLA Profile]<br />
*[http://www.mendel-parts.com/new_forum/phpBB3/viewtopic.php?f=37&t=119 Gen6 SF Settings]<br />
*[http://www.hive76.org/all-about-patents All About Patents]<br />
*[[Tips for Printing with RepSnapper]]<br />
*[http://reprap.org/wiki/Teacup_Firmware Teacup Firmware]<br />
*[[Plotting]]<br />
*[http://www.riccibitti.com/pcb/pcb.htm DIY PCBs toner transfer method]<br />
*[[File:PSURUGQR.png|20px]] [http://reprap.org/wiki/File:PSURUGQR.png Our RUG's QR Code ]<br />
*[http://reprap.org/wiki/File:jan30-2012.zip A Skeinforge Profile]<br />
*[http://reprap.org/wiki/RUG/Pennsylvania/State_College/Trouble_Shooting_Guide Troubleshooting Guide]<br />
<br />
<br><br><br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?223 Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?223,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br><br><br />
{{PSURUG}}<br />
<br />
[[Category:RUG, Pennsylvania, State College| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Inventory&diff=106682RUG/Pennsylvania/State College/Electronics/Inventory2013-09-19T23:00:19Z<p>Joshj: /* Digi-Key Parts */ Added keyed connecters</p>
<hr />
<div>= Digi-Key Parts =<br />
<br />
{|border="1" cellpadding="5" cellspacing="0"<br />
! Digi-key Part !! Name !! Description/Purpose !! Ordered !! Cost/Part<br />
|-<br />
|CP-010A-ND||PWR JCK 2.0X6.4MM PNL MNT W/TABS||Jack for laptop power bricks||25||$0.93<br />
<br />
|-<br />
|A100531CT-ND||FFC RCPT CONTACT STD PRESSURE||Crimp pin for slim connectors||270||$0.18<br />
<br />
|-<br />
|487378-3-ND||CONN RECEPT 4POS .100 SLIMLINE||4-pin slim connector||25||$0.79<br />
<br />
|-<br />
|487378-2-ND||CONN RECEPT 3POS .100 SLIMLINE||3-pin slim connector||25||$0.87<br />
<br />
|-<br />
|487526-2-ND||CONN RCPT 3POS.100 SLIM W/LATCH||keyed connector for AD595 board||?||$0.95<br />
<br />
|-<br />
|A28527-ND||CONN HEADER VERT .100 3POS 15AU||keyed header for AD595 board||?||$0.76<br />
<br />
|-<br />
|A26509-40-ND||CONN HDR BRKWAY .100 40POS VERT||pin headers for slim connectors||10||$1.90<br />
<br />
|-<br />
|ED2995-ND||CONN TERMINAL STRIP 8MM 2CIRC||terminal block for heater wires||25||$0.42<br />
<br />
|-<br />
|PARTNUM||NAME||PURPOSE||NUM||$COST<br />
<br />
|}</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=106681RUG/Pennsylvania/State College/Electronics2013-09-19T22:50:05Z<p>Joshj: </p>
<hr />
<div>== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
=Generation 3 Electronics=<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
*Hardware<br />
**[[/ExtruderMOSFETs|Extruder MOSFETS]]<br />
<br />
*Firmware<br />
**[[/Firmware|Firmware]]<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
==RAMPS Supply Info==<br />
Since the [[/RAMPS|RAMPS]] electronics seems to be one of the best bets for the alternate electronics on the PRUSA RepRaps this is a compiled list of where to purchase and the cost. Some of these are located in America and other companies are International.<br />
<br />
==RAMBO==<br />
Two of the new printers this year are using RAMBO electronics. RAMBO is an integrated Atmel ATmega 2560 micro-controller and RAMPS board. It also contains the the stepper controller boards on device instead of having them plug in. The benefit of using RAMBO is that it is slightly cheaper to have everything on device. The downside is that if anything breaks you will need to get a whole new board (or very carefully use a hot air rework station to remove the smd chips) since everything is surface mount. In addition, one must send g-code to set the motor current since there is a digipot instead of real potentiometers. More info (especially on the firmware) can be found here: http://reprap.org/wiki/Rambo<br />
<br />
===Known Issue===<br />
Currently, M907 (set stepper motor current) cannot be used to change the extruder motor current (M907 E$ does nothing). As a work around, use M907 S$ to change the current of all stepper motors, including the extruder motor, to some value (represented by $) then change each other motor individually by using M907 X$ Y$ Z$.<br />
<br />
Enter these commands at the start:<br />
<br />
M907 S70 ;sets all motor current levels to 70<br />
<br />
M907 Z100 ;sets the z motor current level to 100<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
==Repairs and Modifications==<br />
As we continue to maintain our existing machines, we will undoubtedly need to repair and modify their electronics. This section will document our efforts in this area.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
== Page List ==<br />
Removed because it was causing server error messages:<br />
<nowiki><splist/></nowiki><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/RAMPS&diff=74123RUG/Pennsylvania/State College/Electronics/RAMPS2012-12-06T23:57:25Z<p>Joshj: /* Current Firmware */</p>
<hr />
<div>=== Current Firmware ===<br />
<br />
https://github.com/joshpj/Marlin<br />
<br />
=== Old Price Info ===<br />
<br />
Since the RAMPS electronics seems to be one of the best bets for the alternate electronics on the PRUSA RepRaps this is a compiled list of where to purchase and the cost. Some of these are located in America and other companies are International.<br />
<br />
The company ULTIMACHINE seems to be the best bet for cheap electronics in the US. also purchasing the stepper controllers from them also seems like a good idea as they come with heatsinks for only $1. I would recommend purchasing the unassembled kit<br />
<br />
<br />
*http://ultimachine.com/content/ramps-pre-assembled-kit-complete<br />
** $200 everything 4 steppers, and end stops<br />
<br />
*http://ultimachine.com/content/ramps-pre-assembled-kit<br />
** $85 the board fully assembled<br />
<br />
*http://ultimachine.com/content/ramps-diy-kit-complete<br />
** $162 unassembled kit but has pololu and end stops<br />
<br />
*http://ultimachine.com/content/ramps-diy-kit<br />
** $50 just the board and electronics <br />
<br />
*http://ultimachine.com/ramps<br />
** $10 this is just the ramps board no electronics<br />
<br />
*http://reprapsource.com/shop/show/6603<br />
** 49.9 Euros built<br />
<br />
*http://xyzprinters.com/23-ramps<br />
** 7.97 Euros for the Board<br />
** 30.67 Euros for Electronics<br />
** 72.26 Euros for RAMPS (everything needs assembled)<br />
** 33.60 Euros for RAMPS board (also un-assembled)<br />
<br />
*https://shop.grrf.de/electronics-c-68.html<br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/RAMPS&diff=71712RUG/Pennsylvania/State College/Electronics/RAMPS2012-11-16T02:23:35Z<p>Joshj: Added link to current firmware</p>
<hr />
<div>=== Current Firmware ===<br />
<br />
https://github.com/joshpj/Marlin_OHM<br />
<br />
<br />
=== Old Price Info ===<br />
<br />
Since the RAMPS electronics seems to be one of the best bets for the alternate electronics on the PRUSA RepRaps this is a compiled list of where to purchase and the cost. Some of these are located in America and other companies are International.<br />
<br />
The company ULTIMACHINE seems to be the best bet for cheap electronics in the US. also purchasing the stepper controllers from them also seems like a good idea as they come with heatsinks for only $1. I would recommend purchasing the unassembled kit<br />
<br />
<br />
*http://ultimachine.com/content/ramps-pre-assembled-kit-complete<br />
** $200 everything 4 steppers, and end stops<br />
<br />
*http://ultimachine.com/content/ramps-pre-assembled-kit<br />
** $85 the board fully assembled<br />
<br />
*http://ultimachine.com/content/ramps-diy-kit-complete<br />
** $162 unassembled kit but has pololu and end stops<br />
<br />
*http://ultimachine.com/content/ramps-diy-kit<br />
** $50 just the board and electronics <br />
<br />
*http://ultimachine.com/ramps<br />
** $10 this is just the ramps board no electronics<br />
<br />
*http://reprapsource.com/shop/show/6603<br />
** 49.9 Euros built<br />
<br />
*http://xyzprinters.com/23-ramps<br />
** 7.97 Euros for the Board<br />
** 30.67 Euros for Electronics<br />
** 72.26 Euros for RAMPS (everything needs assembled)<br />
** 33.60 Euros for RAMPS board (also un-assembled)<br />
<br />
*https://shop.grrf.de/electronics-c-68.html<br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Inventory&diff=67288RUG/Pennsylvania/State College/Electronics/Inventory2012-10-04T22:32:10Z<p>Joshj: /* Digi-Key Parts */</p>
<hr />
<div>= Digi-Key Parts =<br />
<br />
{|border="1" cellpadding="5" cellspacing="0"<br />
! Digi-key Part !! Name !! Description/Purpose !! Ordered !! Cost/Part<br />
|-<br />
|CP-010A-ND||PWR JCK 2.0X6.4MM PNL MNT W/TABS||Jack for laptop power bricks||25||$0.93<br />
<br />
|-<br />
|A100531CT-ND||FFC RCPT CONTACT STD PRESSURE||Crimp pin for slim connectors||270||$0.18<br />
<br />
|-<br />
|487378-3-ND||CONN RECEPT 4POS .100 SLIMLINE||4-pin slim connector||25||$0.79<br />
<br />
|-<br />
|487378-2-ND||CONN RECEPT 3POS .100 SLIMLINE||3-pin slim connector||25||$0.87<br />
<br />
|-<br />
|A26509-40-ND||CONN HDR BRKWAY .100 40POS VERT||pin headers for slim connectors||10||$1.90<br />
<br />
|-<br />
|ED2995-ND||CONN TERMINAL STRIP 8MM 2CIRC||terminal block for heater wires||25||$0.42<br />
<br />
|-<br />
|PARTNUM||NAME||PURPOSE||NUM||$COST<br />
<br />
|}</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Inventory&diff=67287RUG/Pennsylvania/State College/Electronics/Inventory2012-10-04T22:30:09Z<p>Joshj: </p>
<hr />
<div>= Digi-Key Parts =<br />
<br />
{|border="1" cellpadding="5" cellspacing="0"<br />
! Digi-key Part !! Name !! Description/Purpose !! Ordered !! Cost/Part<br />
|-<br />
|CP-010A-ND||PWR JCK 2.0X6.4MM PNL MNT W/TABS||Jack for laptop power bricks||25||$0.93<br />
<br />
|-<br />
|A100531CT-ND||FFC RCPT CONTACT STD PRESSURE||Crimp pin for slim connectors||270||$0.18<br />
<br />
|-<br />
|487378-3-ND||CONN RECEPT 4POS .100 SLIMLINE||4-pin slim connector||25||$0.79<br />
<br />
|-<br />
|487378-2-ND||CONN RECEPT 3POS .100 SLIMLINE||3-pin slim connector||25||$0.87<br />
<br />
|-<br />
|A26509-40-ND||CONN HDR BRKWAY .100 40POS VERT||pin headers for slim connectors||10||$1.90<br />
<br />
<br />
|-<br />
|PARTNUM||NAME||PURPOSE||NUM||$COST<br />
<br />
|}</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Inventory&diff=67282RUG/Pennsylvania/State College/Electronics/Inventory2012-10-04T21:41:33Z<p>Joshj: Created page with '= Digikey Parts ='</p>
<hr />
<div>= Digikey Parts =</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=67281RUG/Pennsylvania/State College/Electronics2012-10-04T21:40:43Z<p>Joshj: </p>
<hr />
<div><br />
== Overview ==<br />
This section is for info on the electronics we're using with RepRap. This mainly relates to our control boards, but may include supporting electronics, like the Thermocouple adapter boards we're using with RAMPS.<br />
<br />
[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
=Generation 3 Electronics=<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
*Hardware<br />
**[[/ExtruderMOSFETs|Extruder MOSFETS]]<br />
<br />
*Firmware<br />
**[[/Firmware|Firmware]]<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
==RAMPS Supply Info==<br />
Since the [[/RAMPS|RAMPS]] electronics seems to be one of the best bets for the alternate electronics on the PRUSA RepRaps this is a compiled list of where to purchase and the cost. Some of these are located in America and other companies are International.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
==Repairs and Modifications==<br />
As we continue to maintain our existing machines, we will undoubtedly need to repair and modify their electronics. This section will document our efforts in this area.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
== Page List ==<br />
<splist/><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=67280RUG/Pennsylvania/State College/Electronics2012-10-04T21:38:47Z<p>Joshj: </p>
<hr />
<div>[[/Inventory|Parts Inventory]] A list of electronics parts we're using-- or intended to.<br />
<br />
=Generation 3 Electronics=<br />
We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix|Gen 3 TechZone Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
*Hardware<br />
**[[/ExtruderMOSFETs|Extruder MOSFETS]]<br />
<br />
*Firmware<br />
**[[/Firmware|Firmware]]<br />
<br />
==Comparison of Electronics==<br />
On [[/Comparison|this page]] there is a comparison of [[Sanguinololu]], [[/Gen3|Generation 3]], [[Generation_7_Electronics|Generation 7]] and [[Ramps|RAMPS]] Electronics<br />
<br />
==Hot Tips==<br />
[[/Extruder_Tips|Here]] is a compiled list of information about hot tips for extruding.<br />
<br />
Information includes electronics used, number of thermocouples and operating temperatures we have found effective.<br />
<br />
==RAMPS Supply Info==<br />
Since the [[/RAMPS|RAMPS]] electronics seems to be one of the best bets for the alternate electronics on the PRUSA RepRaps this is a compiled list of where to purchase and the cost. Some of these are located in America and other companies are International.<br />
<br />
<br />
==General Electronic Components==<br />
* [[Lever_Switch_Endstops|Lever Switch Endstop Assembly]]<br />
<br />
==Building Custom Motherboard==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
*'''Requirements'''<br />
** [[/Heated_Bed|Heated bed support]]<br />
** Multiple head support<br />
** Themistors<br />
** 2 Z motors<br />
** protected outputs<br />
<br />
*'''Would be nice'''<br />
** High step count<br />
** SD Card support<br />
** Control panel (computerless)<br />
<br />
==Repairs and Modifications==<br />
As we continue to maintain our existing machines, we will undoubtedly need to repair and modify their electronics. This section will document our efforts in this area.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
== Page List ==<br />
<splist/><br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=53819RUG/Pennsylvania/State College/RepSnapper2012-02-01T02:59:48Z<p>Joshj: /* Repsnapper Beta (1.1.x) */</p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
<br />
This version is available [http://svn.kulitorum.com/RepSnapper/MSVC/Release/RepSnapper.exe here].<br />
It's a win32 binary compiled using VC2005, using the RepSnapper source at revision 257.<br />
<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
We get improved gcode from RepSnapper Zero by using the shrink algorithm "Much slower, perfect, small details". This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. This code was disabled in RepSnapper at subversion revision 289, "due to license incompatibility". I presume this is because GPC is "free for non-commercial use", while RepSnapper is GPL licensed.<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
=== Repsnapper Beta (1.1.x) ===<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
=== RepSnapper Zero ===<br />
<br />
Compiling RepSnapper "Zero" is equally straightforward, once a copy of the source is obtained from the SVN repository (I used revision 255).<br />
The readme recommends installing dependencies by running<br />
<br />
<code><br />
sudo apt-get install build-essential libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost1.37-dev<br />
</code><br />
<br />
However, because I had previously build repsnapper-1.1.x, I was able to compile without any further configuration, since these dependencies are a subset of those I had already installed. The code was compiled by running make as before.<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
We initially built Repsnapper 1.0.x in hopes that it would include the Gcode generation used by Repsnapper Zero.<br />
Unfortunately, Repsnapper 1.0.x is not old enough to include the desired code.<br />
Therefore, there doesn't seem to be a good reason to use Repsnapper 1.0.x -- use either 1.1.x, or Zero.<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=53818RUG/Pennsylvania/State College/RepSnapper2012-02-01T02:59:08Z<p>Joshj: /* Compiling on Ubuntu Linux */</p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
<br />
This version is available [http://svn.kulitorum.com/RepSnapper/MSVC/Release/RepSnapper.exe here].<br />
It's a win32 binary compiled using VC2005, using the RepSnapper source at revision 257.<br />
<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
We get improved gcode from RepSnapper Zero by using the shrink algorithm "Much slower, perfect, small details". This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. This code was disabled in RepSnapper at subversion revision 289, "due to license incompatibility". I presume this is because GPC is "free for non-commercial use", while RepSnapper is GPL licensed.<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
=== Repsnapper Beta (1.1.x) ===<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
<br />
=== RepSnapper Zero ===<br />
<br />
Compiling RepSnapper "Zero" is equally straightforward, once a copy of the source is obtained from the SVN repository (I used revision 255).<br />
The readme recommends installing dependencies by running<br />
<br />
<code><br />
sudo apt-get install build-essential libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost1.37-dev<br />
</code><br />
<br />
However, because I had previously build repsnapper-1.1.x, I was able to compile without any further configuration, since these dependencies are a subset of those I had already installed. The code was compiled by running make as before.<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
We initially built Repsnapper 1.0.x in hopes that it would include the Gcode generation used by Repsnapper Zero.<br />
Unfortunately, Repsnapper 1.0.x is not old enough to include the desired code.<br />
Therefore, there doesn't seem to be a good reason to use Repsnapper 1.0.x -- use either 1.1.x, or Zero.<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=53577RUG/Pennsylvania/State College/RepSnapper2012-01-27T01:45:16Z<p>Joshj: /* Notes */</p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
<br />
This version is available [http://svn.kulitorum.com/RepSnapper/MSVC/Release/RepSnapper.exe here].<br />
It's a win32 binary compiled using VC2005, using the RepSnapper source at revision 257.<br />
<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
We get improved gcode from RepSnapper Zero by using the shrink algorithm "Much slower, perfect, small details". This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. This code was disabled in RepSnapper at subversion revision 289, "due to license incompatibility". I presume this is because GPC is "free for non-commercial use", while RepSnapper is GPL licensed.<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
We initially built Repsnapper 1.0.x in hopes that it would include the Gcode generation used by Repsnapper Zero.<br />
Unfortunately, Repsnapper 1.0.x is not old enough to include the desired code.<br />
Therefore, there doesn't seem to be a good reason to use Repsnapper 1.0.x -- use either 1.1.x, or Zero.<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=53576RUG/Pennsylvania/State College/RepSnapper2012-01-27T01:31:38Z<p>Joshj: /* Notes */</p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
This version is available [http://svn.kulitorum.com/RepSnapper/MSVC/Release/RepSnapper.exe here].<br />
It's a win32 binary compiled using VC2005, using the RepSnapper source at revision 257.<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
The earliest code I have found is the old subversion repository, from which I can get a current checkout but not a clone of version history. This code is not as old as our version of RepSnapper, as it does list Logick's Algoritm. However, it does list the "Much slower, perfect, small details" which ours does. This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. The earliest commits in the git repository, after the initial import, modify the code to remove the gpc files. I'm not sure why this code was dropped-- perhaps because its license limits it to non-commercial use?<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
We initially built Repsnapper 1.0.x in hopes that it would include the Gcode generation used by Repsnapper Zero.<br />
Unfortunately, Repsnapper 1.0.x is not old enough to include the desired code.<br />
Therefore, there doesn't seem to be a good reason to use Repsnapper 1.0.x -- use either 1.1.x, or Zero.<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=53575RUG/Pennsylvania/State College/RepSnapper2012-01-27T01:30:52Z<p>Joshj: /* Notes */</p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
This version is available [http://svn.kulitorum.com/RepSnapper/MSVC/Release/RepSnapper.exe| here].<br />
It's a win32 binary compiled using VC2005, using the RepSnapper source at revision 257.<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
The earliest code I have found is the old subversion repository, from which I can get a current checkout but not a clone of version history. This code is not as old as our version of RepSnapper, as it does list Logick's Algoritm. However, it does list the "Much slower, perfect, small details" which ours does. This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. The earliest commits in the git repository, after the initial import, modify the code to remove the gpc files. I'm not sure why this code was dropped-- perhaps because its license limits it to non-commercial use?<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
We initially built Repsnapper 1.0.x in hopes that it would include the Gcode generation used by Repsnapper Zero.<br />
Unfortunately, Repsnapper 1.0.x is not old enough to include the desired code.<br />
Therefore, there doesn't seem to be a good reason to use Repsnapper 1.0.x -- use either 1.1.x, or Zero.<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=53574RUG/Pennsylvania/State College/RepSnapper2012-01-27T01:30:30Z<p>Joshj: /* Notes */</p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
This version is available [[http://svn.kulitorum.com/RepSnapper/MSVC/Release/RepSnapper.exe| here]].<br />
It's a win32 binary compiled using VC2005, using the RepSnapper source at revision 257.<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
The earliest code I have found is the old subversion repository, from which I can get a current checkout but not a clone of version history. This code is not as old as our version of RepSnapper, as it does list Logick's Algoritm. However, it does list the "Much slower, perfect, small details" which ours does. This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. The earliest commits in the git repository, after the initial import, modify the code to remove the gpc files. I'm not sure why this code was dropped-- perhaps because its license limits it to non-commercial use?<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
We initially built Repsnapper 1.0.x in hopes that it would include the Gcode generation used by Repsnapper Zero.<br />
Unfortunately, Repsnapper 1.0.x is not old enough to include the desired code.<br />
Therefore, there doesn't seem to be a good reason to use Repsnapper 1.0.x -- use either 1.1.x, or Zero.<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=52813RUG/Pennsylvania/State College/RepSnapper2012-01-13T17:09:32Z<p>Joshj: </p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
This version seems to predate the git repository, and thus far I am unable to find source code for it.<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
The earliest code I have found is the old subversion repository, from which I can get a current checkout but not a clone of version history. This code is not as old as our version of RepSnapper, as it does list Logick's Algoritm. However, it does list the "Much slower, perfect, small details" which ours does. This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. The earliest commits in the git repository, after the initial import, modify the code to remove the gpc files. I'm not sure why this code was dropped-- perhaps because its license limits it to non-commercial use?<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
We initially built Repsnapper 1.0.x in hopes that it would include the Gcode generation used by Repsnapper Zero.<br />
Unfortunately, Repsnapper 1.0.x is not old enough to include the desired code.<br />
Therefore, there doesn't seem to be a good reason to use Repsnapper 1.0.x -- use either 1.1.x, or Zero.<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=52800RUG/Pennsylvania/State College/RepSnapper2012-01-13T16:55:47Z<p>Joshj: /* Notes */</p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
This version seems to predate the git repository, and thus far I am unable to find source code for it.<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
The earliest code I have found is the old subversion repository, from which I can get a current checkout but not a clone of version history. This code is not as old as our version of RepSnapper, as it does list Logick's Algoritm. However, it does list the "Much slower, perfect, small details" which ours does. This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. The earliest commits in the git repository, after the initial import, modify the code to remove the gpc files. I'm not sure why this code was dropped-- perhaps because its license limits it to non-commercial use?<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/RepSnapper&diff=52797RUG/Pennsylvania/State College/RepSnapper2012-01-13T16:54:39Z<p>Joshj: Moved Repsnapper Zero download link from discussion of Repsnapper 1.0 to "Notes", which discuss Repsnapper Zero</p>
<hr />
<div>== Notes ==<br />
<br />
Currently, we are using an old version of RepSnapper which we refer to as "RepSnapper Zero".<br />
It saves to XML files, and does not list "Logick's Algorithm" among the shrink algorithms.<br />
This version seems to predate the git repository, and thus far I am unable to find source code for it.<br />
We use it instead of RepSnapper beta (1.1.x) because we find it generates better gcode, and does not crash as frequently.<br />
<br />
A windows binary of RepSnapper Zero, including our settings as of 1/12/11, can be found here [[File:PSURUGrepsnapper.zip]].<br />
<br />
However, we have put effort into being able to compile RepSnapper beta ourselves, in hopes of being able to tweak/revert the gcode generation and fix other minor issues.<br />
<br />
The earliest code I have found is the old subversion repository, from which I can get a current checkout but not a clone of version history. This code is not as old as our version of RepSnapper, as it does list Logick's Algoritm. However, it does list the "Much slower, perfect, small details" which ours does. This shrink option corresponds to a "ShrinkNice" function in stl.cpp, which uses a "Generic Polygon Clipper" library (gpc.h, gpc.cpp) written by Alan Murta of the Advanced Interfaces Group at the University of Manchester. The earliest commits in the git repository, after the initial import, modify the code to remove the gpc files. I'm not sure why this code was dropped-- perhaps because its license limits it to non-commercial use?<br />
<br />
== Compiling on Ubuntu Linux ==<br />
<br />
One of our machines runs Ubuntu linux 10.10. Here is how we installed repsnapper 1.1.x:<br />
<br />
Note: The machine is not connected to the internet, so packages are transferred using Synaptic's "Generate Download Script" option on a separate computer.<br />
<br />
The following packages were required, as listed by the readme:<br />
<br />
<code><br />
build-essential fluid libgtk2.0-dev libfltk1.1 libfltk1.1-dev libglut3 libglut3-dev libboost-thread-dev libboost-system-dev libconfig++8-dev libconfig8-dev<br />
</code><br />
<br />
Note: Initially I neglected to install libgtk2.0-dev, which caused confusing build errors that the packages "gtk+-2.0" and "gthread-2.0" could not be found. Installing libgtk2.0-dev fixed the problem (gtk+-2.0 is satisfied by libgtk2.0-dev, and gthread-2.0 is satisfied by libglib2.0-dev, which is a dependency).<br />
<br />
The codebase was downloaded using Git on a windows pc:<br />
<br />
<code>git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x</code><br />
<br />
The code was compiled:<br />
<br />
<code><br />
cd repsnapper/src<br />
<br />
make<br />
</code><br />
<br />
The resulting executable "repsnapper" was then moved to ~/toolchain, and a desktop shortcut created.<br />
<br />
<br />
== Compiling on Windows MinGW ==<br />
<br />
==== Notes ====<br />
* This process is fairly involved.<br />
* The resulting executable requires a number of dynamic link libraries.<br />
* According to the MinGW documentation, it would have been better to install libraries into /mingw instead of /usr/local where possible. (eg. using make --prefix=/mingw)<br />
* In the MinGW shell, /mingw/* corresponds to C:\Path\to\MinGW\* and /usr/local/* corresponds to C:\Path\to\MinGW\msys\1.0\local\*<br />
<br />
<br />
==== Install MinGW ====<br />
1. Install MinGW 20110802 (mingw-get-inst-20110802.exe from http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/mingw-get-inst-20110802.exe/download)<br />
* I installed to C:\PROGRAMS\MinGW. Path shouldn't matter as long as there are no spaces.<br />
2. Open a MinGW Shell<br />
<br />
==== Install fltk library ====<br />
1. Download and extract fltk-1.1.10 (http://www.fltk.org/software.php?VERSION=1.3.0&FILE=fltk/1.1.10/fltk-1.1.10-source.zip)<br />
2. $ cd /c/path/to/fltk-1.1.10-source/fltk-1.1.10/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
6. $ cd FL/<br />
7. $ make install<br />
<br />
==== Install lua library ====<br />
1. Download and extract lua-5.1.4.tar.gz (http://www.lua.org/ftp/lua-5.1.4.tar.gz)<br />
2. $ cd /c/path/to/lua-5.1.4/<br />
3. $ make mingw<br />
4. $ make install<br />
<br />
==== Install boost-build engine ====<br />
<br />
1. Download and extract boost_1_47_0.zip (http://sourceforge.net/projects/boost/files/boost/1.47.0/boost_1_47_0.zip/download)<br />
2. $ cd /c/path/to/boost_1_47_0/tools/build/v2/engine<br />
3. $ ./build.sh mingw<br />
4. $ cp bin.ntx86/*.exe /usr/local/bin<br />
<br />
==== Install luabind library ====<br />
1. Download and extract luabind-0.9.1.zip (http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.zip/download)<br />
2. $ cd /c/path/to/luabind-0.9.1<br />
3. $ cp -r luabind /usr/local/include<br />
4. $ b2 --toolset=gcc link=static variant=release -sBOOST_ROOT=../boost_1_47_0/ -sLUA_PATH=/usr/local<br />
5. $ cp bin/gcc-mingw-4.5.2/release/link-static/libluabind.a /usr/local/lib<br />
<br />
==== Install boost libraries ====<br />
1. $ cd /c/path/to/boost_1_47_0/<br />
2. $ b2 --toolst=gcc link=static threading=multi variant=release system filesystem<br />
3. $ b2 --toolset=gcc link=shared theading=muli variant=release thread<br />
4. $ cp bin.v2/libs/thread/build/gcc-mingw-4.5.2/release/threading-multi/libboost_thread-mgw45-mt-1_47.* /usr/local/lib/<br />
5. $ cp bin.v2/libs/system/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_system-mgw45-mt-1_47.a /usr/local/lib/<br />
6. $ cp bin.v2/libs/filesystem/build/gcc-mingw-4.5.2/release/link-static/threading-multi/libboost_filesystem-mgw45-mt-1_47.a /usr/local/lib/<br />
7. $ cp -r boost/ /usr/local/include<br />
<br />
==== Install GLUT ====<br />
1. Download and extract glutdlls37beta.zip (http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip)<br />
2. $ cd /c/path/to/glutdlls37beta<br />
3. $ mkdir /usr/local/include/GL<br />
4. $ cp *.h /usr/local/include/GL<br />
5. $ cp *.lib /usr/local/lib<br />
6. $ cp *.dll /usr/local/bin<br />
<br />
==== Install libconfig ====<br />
1. Download and extract libconfig-1.4.8.tar.gz (http://www.hyperrealm.com/libconfig/libconfig-1.4.8.tar.gz)<br />
2. $ cd /c/path/to/libconfig-1.4.8/<br />
3. $ ./configure<br />
4. $ make<br />
5. $ make install<br />
<br />
==== Install GTK+ ====<br />
1. Download and extract gtk+-bundle_2.16.6-20100912_win32.zip (http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20100912_win32.zip)<br />
2. $ cd /c/path/to/gtk+-bundle_*_win32<br />
3. $ cp -r bin/* /usr/local/bin<br />
4. $ cp -r lib/* /usr/local/lib<br />
5. $ cp -r include/* /usr/local/include<br />
<br />
==== Build repsnapper ====<br />
1. Obtain the repsnapper source from the repository:<br />
git clone git://github.com/timschmidt/repsnapper.git -b repsnapper-1.1.x<br />
2. You'll also need the windows Serial libraries from:<br />
http://svn.kulitorum.com/RepSnapper/Libraries/Serial/<br />
Put them in repsnapper_1_1/src/Serial<br />
3. cd /c/path/to/repsnapper_1_1<br />
4. Add the following to the Makefile above "# Linux":<br />
----------<br />
# MinGW<br />
ifeq ($(UNAME),MINGW32_NT-6.1)<br />
GTK_LIBS=`pkg-config --libs gtk+-2.0 gthread-2.0`<br />
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0 gthread-2.0` -DHAVE_GTK<br />
INC=$(GTK_CFLAGS) -I/usr/include -I/mingw/include -I/mingw/include/GL -I$(LIB_DIR) -I$(LIB_DIR)/vmmlib/include -I/usr/include/boost -I/usr/include/lua5.1 -I/usr/local/include<br />
INC+=-I$(LIB_DIR)/polylib<br />
LDFLAGS=$(GTK_LIBS) -L/usr/lib -L/usr/local/lib -L/mingw/lib -lfltk -lfltk_gl -lfltk_forms -lglut32 -lopengl32 -lglu32 -lboost_thread-mgw45-mt-1_47.dll -lboost_system-mgw45-mt-1_47 -lboost_filesystem-mgw45-mt-1_47 -lws2_32 -llua -lluabind -lgdi32 -lole32 -luuid -luser32 -lcomctl32 -lkernel32 -lconfig++<br />
LDFLAGS+=-L$(LIB_DIR)/polylib -lpolylib<br />
TEST_LDFLAGS=-lboost_unit_test_framework<br />
endif<br />
----------<br />
5. make<br />
<br />
==== Run Repsnapper ====<br />
This compiled copy of repsnapper needs the following dynamic link libraries:<br />
/usr/local/bin:<br />
glut32.dll<br />
libconfig++-9.dll<br />
/usr/local/lib:<br />
libboost_thread-mgw45-mt-1_47.dll<br />
/mingw/bin: <br />
libgcc_s_dw2-1.dll<br />
libstdc++-6.dll<br />
<br />
As well as the following GTK+ libraries (should be available if you have the GTK+ runtime installed, but can also be found in /usr/local/bin)<br />
freetype6.dll<br />
libatk-1.0-0.dll<br />
libcairo-2.dll<br />
libexpat-1.dll<br />
libfontconfig-1.dll<br />
libgdk-win32-2.0-0.dll<br />
libgdk_pixbuf-2.0-0.dll<br />
libgio-2.0-0.dll<br />
libglib-2.0-0.dll<br />
libgmodule-2.0-0.dll<br />
libgobject-2.0-0.dll<br />
libgthread-2.0-0.dll<br />
libgtk-win32-2.0-0.dll<br />
libpango-1.0-0.dll<br />
libpangocairo-1.0-0.dll<br />
libpangoft2-1.0-0.dll<br />
libpangowin32-1.0-0.dll<br />
libpng14-14.dll<br />
zlib1.dll<br />
<br />
==== Changes when building Repsnapper 1.0.x ====<br />
<br />
These instructions can be used to build RepSnapper 1.0.x instead of 1.1.x, with the following changes:<br />
<br />
* Don't use a modified 1.1.x Makefile; start with the 1.0.x Makefile and modify it as described above.<br />
<br />
* Change the following line in file.cpp (line 227):<br />
std::string directory_path = path.branch_path().native_directory_string();<br />
to this:<br />
std::string directory_path = path.branch_path().string();<br />
<br />
==== TODO ====<br />
I'd like to get rid of some of the dynamic library requirements.<br />
<br />
It should be possibly to statically link libboost_thread with a modification to the Makefile as per https://svn.boost.org/trac/boost/ticket/4878<br />
<br />
It should be possible to remove the libgcc and libstdc requirements by using the flags -static-libstdc++ -static-libgcc in the Makefile, but this currently causes problems, likely because some of the other dlls themselves have dynamic links to those libraries.<br />
<br />
Statically linking GTK+ would be the most significant, but I'm not sure how hard this would be.<br />
<br />
Compiling libconfig does produce libconfig++.a, but this doesn't get linked in statically for some reason; not sure why.<br />
<br />
Will need to compile glut instead of using a binary distro to get it to link statically.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]<br />
[[Category:RepSnapper| ]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Presentation&diff=52717RUG/Pennsylvania/State College/Presentation2012-01-11T01:04:29Z<p>Joshj: /* Members, Projects & Exceptional Edits */</p>
<hr />
<div>{| align="right"<br />
| [[File:Scrug_logo_small.png|598 px]]<br />
|}<br />
<br />
=Welcome!=<br />
<br />
Welcome to the State College RepRap User's Group Wiki! <br />
<br />
Thank you for visiting our page. We are a group of RepRap users based out of Penn State and participate in developing new parts and improvements for RepRap and have created a new merging of the Mendel and Prusa RepRap designs which we call the [[Ohm | Open Hybrid Mendel]], or [[Ohm | OHM]] for short.<br />
<br />
Our project is combined with class offerings at Penn State, so if you are interested and attend PSU be sure to contact us for information!<br />
<br />
'''Spring 2012 offering is EDSGN 494-004: 736288: variable credit 1-6. TuTh ~ 5:30-7:30. It is 80% hands on build & test and redesign, but some students may focus on making models for design teams in design courses. To register contact rdevon@psu.edu'''<br />
<br />
= What's New? =<br />
'''12.8.11''': Engineering Expo!<br />
The RepRaps and several interesting prints were shown off at the Engineering Expo for Senior Design projects in the HUB on campus today. Below are some of the prints we displayed. All the STLs were found on Thingiverse.<br />
<gallery><br />
file:Big and Little Dino Teeth Print.jpg|The Teeth Portion of the Dino Skull, Original Size and Half Scale<br />
file:Dino Skull Parts.jpg|All the Dino Skull Parts<br />
file:Built Dino Skulls.jpg|Dino Skulls Fully Constructed<br />
file:Diamond Lattice 1.jpg|Diamond Lattice Print<br />
file:Diamond Lattice 2.jpg|Another Angle of the Diamond Lattice Print<br />
file:Graphite 1.jpg|Graphite Structure Print<br />
file:Graphite 2.jpg|Another Angle of the Graphite Structure Print<br />
</gallery><br />
<br />
'''11.29.11''': New Wiki looks.<br />
<br />
'''11.8.11''': The RepRaps being developed are now completed and printing is underway.<br />
<gallery><br />
File:CompletedWiki.JPG<br />
</gallery><br />
<br />
'''10.13.11''': In preparation for TEDx PSU, a RepRapped logo was designed and printed. The STL file is uploaded below in the Files and Firmware section!<br />
<gallery><br />
File:TEDx_Logo_Printed.jpg<br />
</gallery><br />
<br />
'''10.11.11''': The fall semester is in full gear and repraps are being quickly made! These two photos are from the blue team or the "clear mendel" team (a.k.a. RepRaptors)- MReng<br />
<gallery><br />
File:photo1.JPG<br />
File:photo2.JPG<br />
</gallery><br />
<br />
'''9.15.11''': The new units are coming along nicely, check out the current photos below!<br />
<br />
'''8.22.11''': The Spring Semester began this year with a new set of students for EDSGN 497C. Along with students from last year's "Alpha" class, the new "Beta" students are making quick work of 4 new [[Ohm]] models. <br />
<br />
'''7.8.11''': FabLab class at PSU (EDSGN 497C) has a few openings, but anyone having trouble should email the professor rdevon@psu.edu Audits are more than welcome as well.<br />
<br />
'''6.1.11''': Summer FabLab development in full swing printing parts for four printers to be built in class this fall.<br />
<br />
'''4.28.11''': Showcased RepRap Mendels at the Penn State Senior Design Fair!<br />
<gallery><br />
File:SR_Design_Fair1.JPG<br />
File:SR_Design_Fair2.JPG<br />
</gallery><br />
<br />
=Electronics=<br />
<br />
All information about our [[/Electronics|electronics]] that we use, including firmware can be found here.<br />
<br />
=Software=<br />
<br />
Anything and everything that deals with [[/Software|software]] will be here eventually. (WIP)<br />
<br />
<br />
=Members, Projects & [[RUG/Pennsylvania/State College/Exceptional Edits|Exceptional Edits]]=<br />
Copy and edit one of the below names to your own handle to add yourself to our membership list:<br />
{| border="1" cellpadding="2"<br />
!align="center"|'''MEMBERS'''<br />
|-<br />
|[[User:ama5229 | ama5229]] <small>([[Special:Contributions/ama5229|contributions]])</small><br />
|-<br />
|[[User:arfalcsik | arfalcsik]] <small>([[Special:Contributions/arfalcsik|contributions]])</small><br />
|-<br />
|[[User:bjs5286 | bjs5286]] <small>([[Special:Contributions/bjs5286|contributions]])</small><br />
|-<br />
|[[User:CharmQuark | CharmQuark]] <small>([[Special:Contributions/CharmQuark|contributions]])</small><br />
|-<br />
|[[User:Dak | Dak]] <small>([[Special:Contributions/Dak|contributions]])</small><br />
|-<br />
|[[User:dpd5061| dpd5061]] <small>([[Special:Contributions/dpd5061|contributions]])</small><br />
|-<br />
|[[User:Edk5035 | Edk5035]] <small>([[Special:Contributions/Edk5035|contributions]])</small><br />
|-<br />
|[[User:EtherDais | EtherDais]] <small>([[Special:Contributions/EtherDais|contributions]])</small><br />
|-<br />
|[[User:Elmatador | Jgb5067]] <small>([[Special:Contributions/Elmatador|contributions]])</small><br />
|-<br />
|[[User:JLaz | JLaz]] <small>([[Special:Contributions/JLaz|contributions]])</small><br />
|-<br />
|[[User:ksalitrik | ksalitrik]] <small>([[Special:Contributions/ksalitrik|contributions]])</small><br />
|-<br />
|[[User:KtripPSU | KtripPSU]] <small>([[Special:Contributions/KtripPSU|contributions]])</small><br />
|-<br />
|[[User:marcierengifo | marcierengifo]] <small>([[Special:Contributions/marcierengifo|contributions]])</small><br />
|-<br />
|[[User:mslusher2011 | mslusher2011]] <small>([[Special:Contributions/mslusher2011|contributions]])</small><br />
|-<br />
|[[User:Nathanb | Nathanb]] <small>([[Special:Contributions/Nathanb|contributions]])</small><br />
|-<br />
|[[User:Nix-7c0 | Nix-7c0]] <small>([[Special:Contributions/Nix-7c0|contributions]])</small><br />
|-<br />
|[[User:PhiloXXI | PhiloXXI]] <small>([[Special:Contributions/PhiloXXI|contributions]])</small><br />
|-<br />
|[[User:php5014 | php5014]] <small>([[Special:Contributions/php5014|contributions]])</small><br />
|-<br />
|[[User:rbdschur | rbdschur]] <small>([[Special:Contributions/rbdschur|contributions]])</small><br />
|-<br />
||[[User:schienke | schienke]] <small>([[Special:Contributions/schienke|contributions]])</small><br />
|-<br />
|[[User:StephenThor | StephenThor]] <small>([[Special:Contributions/StephenThor|contributions]])</small><br />
|-<br />
|[[User:mtg5072 | mtg5072]] <small>([[Special:Contributions/mtg5072|contributions]])</small><br />
|-<br />
|[[User:ncw5018 | ncw5018]] <small>([[Special:Contributions/ncw5018|contributions]])</small><br />
<br />
|}<br />
<br />
<br><br />
<br />
{| border="1" cellpadding="2"<br />
!align="center"|'''ALUMNI'''<br />
|-<br />
|[[User:joshj | joshj]] <small>([[Special:Contributions/joshj|contributions]])</small><br />
|-<br />
|[[User:Jza127| Jza127]] <small>([[Special:Contributions/Jza127|contributions]])</small><br />
|}<br />
<br />
<br />
<br><br />
<br />
{| border="1" cellpadding="2"<br />
!colspan="2"|'''PROJECTS'''<br />
|-<br />
|[[Waste Reclamation System]] || Discussion on recycling print material.<br />
|-<br />
|[[TechZone_InfoHub|TechZone Projects]] || Projects from TechZone we have completed or plan on undertaking.<br />
|-<br />
|[[3D Scanner Projects]] || Info page for 3D scanner in 305 Hammond.<br />
|-<br />
|[[Imperial Reprap SAE]] || Discussion on using imperial parts instead of metric.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Z_Opto_Holder | Z Opto Holder]] || A design for a holder for the Z-opto. STL files posted.<br />
|-<br />
|[[RUG/Pennsylvania/State College/Pen_Plotter | Pen Plotter]] || A design for a universal pen holder. STL files posted.<br />
|-<br />
|[[RUG/Pennsylvania/State College/CAD | CAD files]] || Posting Page for CAD files<br />
|-<br />
|[[RUG/Pennsylvania/State College/Dual_Extruder | Dual Extruder]] || Progress blog on dual extruder development<br />
|-<br />
|[[RUG/Pennsylvania/State College/Stepper_Paste_Extruder | Stepper Paste Extruder]] || Development of paste extruder driven by a stepper motor<br />
|}<br />
<br />
=Our Prototyping Systems=<br />
<br />
<br><br><br />
<br />
<center><br />
{| style="border:1px solid darkgray;" cellpadding="10" cellspacing="10" align="center"<br />
|-<br />
| [[File:U0_getting_somewhere.jpg|200px|link=Etherdais_Unit_Zero]]<br />
'''[[Etherdais_Unit_Zero | Unit Zero]]'''<br />
<br />
| [[File:NILeS.jpg|200px|link=Etherdais_Unit_One]]<br />
'''[[Etherdais_Unit_One | Unit One]]'''<br />
<br />
| [[file:Unit_Alfa.JPG|200px|link=PSU_Unit_A]]<br />
'''[[PSU_Unit_A| PSU Mendel Alpha]]'''<br />
<br />
| [[file:Unit_Beta.JPG|200px|link=PSU_Unit_B|]]<br />
'''[[PSU_Unit_B | PSU Mendel Beta]]'''<br />
<br />
|-<br />
<br />
| [[file:PSU_Huxley.JPG|200px|link=PSU_Unit_C|]]<br />
'''[[PSU_Unit_C | PSU Huxley]]'''<br />
<br />
|[[File:Fabathome1.jpg|200px|link=PSU_Fab@Home]]<br />
'''[[PSU_Fab@Home | PSU Fab@Home]]'''<br />
<br />
| [[file:PSU_Unit_Black.jpg|200px|link=PSU Unit Black]]<br />
'''[[PSU Unit Black | PSU Unit Zeta]]'''<br />
<br />
| [[file:PSU_Unit_Green.jpg|200px|link=PSU Unit Green]]<br />
'''[[PSU Unit Green | PSU Unit Green]]'''<br />
<br />
|-<br />
<br />
| [[file:PSU_Unit_White.jpg|200px|link=PSU Unit White]]<br />
'''[[PSU Unit White | PSU Unit White]]'''<br />
<br />
| [[file:PSU_Unit_Clear2.jpg|200px|link=PSU Unit Clear]]<br />
'''[[PSU Unit Clear | PSU Unit Clear]]'''<br />
<br />
<br />
|}<br />
<br />
</center><br />
<br><br><br />
<br />
= Page Map =<br />
<splist/><br />
<br />
=Useful Links=<br />
*[http://www.reprap.org/wiki/PCB_Design PCB Design using RepRap]<br />
*[[Gcode#RepRap_G_Code_Fields | G-Code]]<br />
*[http://www.mendel-parts.com/forum/viewtopic.php?id=30&t_id=1 Good guide to Skeinforge]<br />
*[http://wiki.makerbot.com/configuring-skeinforge Good Skeinforge primer]<br />
*[http://ultimachine.com/content/mendel-notes Skeinforge PLA Profile]<br />
*[http://www.mendel-parts.com/new_forum/phpBB3/viewtopic.php?f=37&t=119 Gen6 SF Settings]<br />
*[http://www.hive76.org/all-about-patents All About Patents]<br />
*[http://rhin.crai.archi.fr/rld/plugin_details.php?id=429- Plugins for Sketchup file to export .stl] <br />
*[http://www.micromouse.ca/index.html- AccuTrans3D (trial version) stl file editor and save]<br />
*[[Tips for Printing with RepSnapper]]<br />
*[http://reprap.org/wiki/Teacup_Firmware Teacup Firmware]<br />
*[[Plotting]]<br />
*[http://www.riccibitti.com/pcb/pcb.htm DIY PCBs toner transfer method]<br />
<br />
<br />
<br><br><br />
<div id="mainPage.news" style="border: solid 1px #aaaaaa; padding: 0px;"><br />
<h2 id="mainPage.news.title" style="background:#eeeeee; font-size: 105%; line-height: 120%; font-weight: bold; padding: 0px; margin:0px;padding: 0.4em;"><br />
[[Image:20px-Exquisite-khelpcenter.png|frameless|right]][http://forums.reprap.org/feed.php?223 Forum/Mailing List]</h2><br />
<div id="mainPage.news.text" style="padding:0px 10px 10px;"><br />
{{#widget:Feed<br />
|feedurl=http://forums.reprap.org/feed.php?223,replies=1,type=rss<br />
|chan=n<br />
|num=5<br />
|desc=0<br />
|date=y<br />
|targ=n<br />
}}<br />
</div><br />
</div><br />
<br><br><br />
{{PSURUG}}<br />
<br />
[[Category:RUG, Pennsylvania, State College| ]]<br />
[[Category:RUG]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=48143RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-30T02:05:08Z<p>Joshj: </p>
<hr />
<div>= Firmware =<br />
<br />
== Current (Techzone) ==<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON<br />
<br />
== Experimental (Sprinter) ==<br />
<br />
We have been working on trying to port the Techzone tip manager control from the Techzone firmware into Sprinter.<br />
<br />
I have produced a version which compiles and partially functions, but it extrudes too quickly.<br />
We also noticed some skew from layer to layer which may or may not have been caused by the firmware change.<br />
<br />
I started with the base Sprinter firmware (from a git clone on 2011-11-08; commit b7cf9b4ea3bd47bc9911dd56450c40c68117538e).<br />
<br />
I've made modifications to: Configuration.h, pins.h, Sprinter.h, Sprinter.pde<br />
<br />
axis_steps_per_unit in Configuration.h is probably incorrect. In particular, extrusion is faster than it should be.<br />
<br />
If this code is ever merged into native Sprinter, it would probably be worth defining a new motherboard type so that Monotronics can still be used as described at [[Sprinter_on_gen3]].<br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=48084RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-30T00:47:55Z<p>Joshj: /* Experimental (Sprinter) */</p>
<hr />
<div>= Firmware =<br />
<br />
== Current (Techzone) ==<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON<br />
<br />
== Experimental (Sprinter) ==<br />
<br />
We have been working on trying to port the Techzone tip manager control from the Techzone firmware into Sprinter.<br />
<br />
I have produced a version which compiles and partially functions, but it extrudes too quickly.<br />
We also noticed some skew from layer to layer which may or may not have been caused by the firmware change.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Gen3/ExtruderMOSFETs&diff=48082RUG/Pennsylvania/State College/Electronics/Gen3/ExtruderMOSFETs2011-11-30T00:42:57Z<p>Joshj: moved RUG/Pennsylvania/State College/Electronics/ExtruderMOSFETs to RUG/Pennsylvania/State College/Electronics/Gen3/ExtruderMOSFETs:&#32;Fix is specific to Gen3/Techzone Remix hardware</p>
<hr />
<div>Our Mendels currently use Gen 3 electronics from Techzone. So far we've had the heater output on two of the (ver 2.2) Extruder boards fail, probably due to miswired tip heaters.<br />
<br />
Testing to see if the MOSFETs are at fault is easy. <br />
* Disconnect the board from everything (power, tip, etc)<br />
* Use a multimeter to measure the resistance between the heater terminals (the source and drain of the MOSFET).<br />
* You should measure a very large resistance, probably several megohms.<br />
* If you measure a a low resistance, (a few hundred ohms or less), the MOSFET has burnt out and should be replaced.<br />
<br />
The heater drivers on the techzone boards are NTD4856N MOSFETs from ON Semiconductor. These are simple power MOSFETS with no short-circuit protection, so they burn out quickly when the output is shorted.<br />
<br />
The standard Extruder board uses a different heater driver, the NIF5002N or NIF5003N, also from ON Semiconductor. This is a power MOSFET with short-circuit and temperature protection, which means that it shouldn't burn out even if the heater is badly miswired.<br />
<br />
To repair the extuder boards, we purchased some NIF5003Ns (part# NIF5003NT1GOSCT-ND from digikey.com, $1.44 each). The pin spacing is similar to the NTD485Ns we were replacing, but the new parts were shorter. Fortunately, the top (drain) pad on the circuit boards is very large, and the new parts fit with no issues.<br />
<br />
Replacing the parts is fairly straightforward:<br />
<br />
Note that they are pairs of terminals that slide together, so you'll need to start from the end furthest from the power input and remove them one piece at a time.<br />
1. Unsolder and remove any screw terminals which are too close to the drain pins of the MOSFETS.<br />
2. Unsolder the MOSFETS. Bending the gate and source pins up and then pull on the part gently while heating the drain pin. <br />
3. Put some solder on the pads, put the new part down, and solder it in place.<br />
4. Solder the screw terminals back on<br />
5. Test.<br />
<br />
[[Category:RUG, Pennsylvania, State College]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/ExtruderMOSFETs&diff=48083RUG/Pennsylvania/State College/Electronics/ExtruderMOSFETs2011-11-30T00:42:57Z<p>Joshj: moved RUG/Pennsylvania/State College/Electronics/ExtruderMOSFETs to RUG/Pennsylvania/State College/Electronics/Gen3/ExtruderMOSFETs:&#32;Fix is specific to Gen3/Techzone Remix hardware</p>
<hr />
<div>#REDIRECT [[RUG/Pennsylvania/State College/Electronics/Gen3/ExtruderMOSFETs]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Gen3&diff=48080RUG/Pennsylvania/State College/Electronics/Gen32011-11-30T00:41:39Z<p>Joshj: </p>
<hr />
<div>We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
== Hardware ==<br />
<br />
[[/ExtruderMOSFETs|Extruder MOSFETS]]<br />
<br />
== Firmware ==<br />
<br />
[[/Firmware|Firmware]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Gen3&diff=48079RUG/Pennsylvania/State College/Electronics/Gen32011-11-30T00:39:32Z<p>Joshj: </p>
<hr />
<div>We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
== Hardware ==<br />
<br />
* [[/ExtruderMOSFETs|Extruder MOSFETS]]<br />
<br />
== Firmware ==<br />
<br />
* [[/Firmware|Firmware]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Gen3&diff=48077RUG/Pennsylvania/State College/Electronics/Gen32011-11-30T00:37:53Z<p>Joshj: Created page with 'We currently have two Mendels on site (Alpha and Beta), created from Techzone kits. They use the Generation_3_Electronics/Tech_Zone_Remix hardwa…'</p>
<hr />
<div>We currently have two Mendels on site ([[PSU_Unit_A|Alpha]] and [[PSU_Unit_B|Beta]]), created from Techzone kits.<br />
They use the [[Generation_3_Electronics/Tech_Zone_Remix]] hardware, but we use an extra Stepper Driver board instead of running the extruder from the Extruder Controller.<br />
<br />
== Hardware ==<br />
<br />
* [[/ExtruderMOSFETs]]<br />
<br />
== Firmware ==<br />
<br />
* [[/Firmware]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45323RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-17T23:28:51Z<p>Joshj: /* Current (Techzone) */</p>
<hr />
<div>= Firmware =<br />
<br />
== Current (Techzone) ==<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON<br />
<br />
== Experimental (Sprinter) ==<br />
<br />
We have been working on trying to port the Techzone tip manager control from the Techzone firmware into Sprinter.<br />
<br />
I have produced a version which compiles and which may function; it has not been tested.</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45221RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-16T01:01:18Z<p>Joshj: /* Experimental (Sprinter) */</p>
<hr />
<div>= Firmware =<br />
<br />
== Current (Techzone) ==<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
//#define USE_DS2760<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define USE_DS2760<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON<br />
<br />
== Experimental (Sprinter) ==<br />
<br />
We have been working on trying to port the Techzone tip manager control from the Techzone firmware into Sprinter.<br />
<br />
I have produced a version which compiles and which may function; it has not been tested.</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45216RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-16T00:44:51Z<p>Joshj: </p>
<hr />
<div>= Firmware =<br />
<br />
== Current (Techzone) ==<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
//#define USE_DS2760<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define USE_DS2760<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON<br />
<br />
== Experimental (Sprinter) ==<br />
<br />
We have been working on trying to port the Techzone tip manager control from the Techzone firmware into Sprinter.</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45214RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-16T00:44:13Z<p>Joshj: /* Current (Techzone) */</p>
<hr />
<div>= Current Firmware (Techzone) =<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
//#define USE_DS2760<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define USE_DS2760<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON<br />
<br />
= Experimental (Sprinter) =<br />
<br />
We have been working on trying to port the Techzone tip manager control from the Techzone firmware into Sprinter.</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45212RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-16T00:43:29Z<p>Joshj: moved RUG/Pennsylvania/State College/Electronics/Monotronics/Firmware to RUG/Pennsylvania/State College/Electronics/Monotronics over redirect</p>
<hr />
<div>= Current (Techzone) =<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
//#define USE_DS2760<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define USE_DS2760<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON<br />
<br />
= Experimental (Sprinter) =<br />
<br />
We have been working on trying to port the Techzone tip manager control from the Techzone firmware into Sprinter.</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics/Firmware&diff=45213RUG/Pennsylvania/State College/Electronics/Monotronics/Firmware2011-11-16T00:43:29Z<p>Joshj: moved RUG/Pennsylvania/State College/Electronics/Monotronics/Firmware to RUG/Pennsylvania/State College/Electronics/Monotronics over redirect</p>
<hr />
<div>#REDIRECT [[RUG/Pennsylvania/State College/Electronics/Monotronics]]</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45210RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-16T00:41:20Z<p>Joshj: </p>
<hr />
<div>= Current (Techzone) =<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
//#define USE_DS2760<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define USE_DS2760<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON<br />
<br />
= Experimental (Sprinter) =<br />
<br />
We have been working on trying to port the Techzone tip manager control from the Techzone firmware into Sprinter.</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45208RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-16T00:40:09Z<p>Joshj: moved RUG/Pennsylvania/State College/Electronics/Monotronics to RUG/Pennsylvania/State College/Electronics/Monotronics/Firmware</p>
<hr />
<div>= Firmware =<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
//#define USE_DS2760<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define USE_DS2760<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45206RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-16T00:39:05Z<p>Joshj: /* Firmware */</p>
<hr />
<div>= Firmware =<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
Replace these lines:<br />
//#define USE_DS2760<br />
#define Z_STEPS_PER_MM 805.030<br />
#define ACCELERATION_ON<br />
<br />
<br />
With these:<br />
#define USE_DS2760<br />
#define Z_STEPS_PER_MM 320.000 //805.030<br />
// #define ACCELERATION_ON</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Monotronics&diff=45204RUG/Pennsylvania/State College/Electronics/Monotronics2011-11-16T00:36:50Z<p>Joshj: Moved from from old firmware page (RUG/Pennsylvania/State_College/Electronics/Firmware).</p>
<hr />
<div>= Firmware =<br />
<br />
We are currently using the standard Techzone Monotronics firmware from here: [[media:MonotronicsFirmware02182011.zip]]<br />
<br />
Our configuration changes are as follows:<br />
<br />
<code><br />
161c161<br />
< //#define USE_DS2760<br />
---<br />
> #define USE_DS2760<br />
199c199<br />
< #define Z_STEPS_PER_MM 805.030<br />
---<br />
> #define Z_STEPS_PER_MM 320.000 //805.030<br />
246c246<br />
< #define ACCELERATION_ON<br />
---<br />
> //#define ACCELERATION_ON<br />
</code></div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics/Gen3/Firmware&diff=45203RUG/Pennsylvania/State College/Electronics/Gen3/Firmware2011-11-16T00:35:18Z<p>Joshj: Moving Monotronics info to its own page.</p>
<hr />
<div>== "Current" ==<br />
<br />
* [[File:Psu_Bestmobocode2_24_2011.rar]]<br />
* [[File:Emf_Bestextruder4_07.rar]]<br />
<br />
These files are identical to the firmware found here: [[media:OneWireA-DFirmware.zip]]<br />
With the exception of (motherboard) configuration.h, which is modified as follows:<br />
<br />
OneWireA-DFirmware (Source?):<br />
<br />
#define ENDSTOPS_MAX_ENABLED 0<br />
<br />
// This is for Darwin.<br />
#define X_STEPS_PER_MM 10.047<br />
#define Y_STEPS_PER_MM 10.047<br />
#define INVERT_Y_DIR 0<br />
#define Z_STEPS_PER_MM 805.030<br />
<br />
// parameters for the Bath U. mendel prototype<br />
#define X_STEPS_PER_MM 13.333333<br />
#define Y_STEPS_PER_MM 13.333333<br />
#define Z_STEPS_PER_MM 944.88<br />
<br />
Bestmobocode:<br />
<br />
#define ENDSTOPS_MAX_ENABLED 1<br />
<br />
// This is for Darwin.<br />
#define X_STEPS_PER_MM 20.094<br />
#define Y_STEPS_PER_MM 20.094<br />
#define INVERT_Y_DIR 1<br />
#define Z_STEPS_PER_MM 1610.6<br />
<br />
// parameters for the Bath U. mendel prototype<br />
#define X_STEPS_PER_MM 26.666666<br />
#define Y_STEPS_PER_MM 26.666666<br />
#define Z_STEPS_PER_MM 1889.76<br />
<br />
For the most part, this seems to be a modified version of (old) vanilla reprap code, probably Sanguino v1.6 (from reprap-mendel-20100308), available [http://sourceforge.net/projects/reprap/files/reprap-mendel-20100308.zip/download here].<br />
<br />
The motherboard firmware looks to be unmodified, except for configuration.h and ThermistorTable.h.<br />
<br />
The extruder board firmware has been modified (configuration.h, extruder.h, extruder_class.pde, temperature.h).<br />
<br />
<br />
There's a page describing the modifications required to use the Techzone thermocouple boards here:<br />
<br />
* [[TechZone_A-D_With_OneWire]]<br />
<br />
== Past Attempts ==<br />
<br />
Previously I modified our extruder firmware (Emf_Bestextruder4_07) to attempt to add brnd's temperature overflow bugfix from [[File:FirmwareforOneWireAD heatbed brnrd 20110317.zip | this code]] (documented [http://forums.reprap.org/read.php?146,74307 here]).<br />
As far as I can tell, this should fix the temperature overflow bug. However, when tested this code seemed not to help.<br />
Patched file here: [[File:Extruder class jpj12 2011-04-07 temp fix.pde]].<br />
<br />
== Experimental Firmware ==<br />
<br />
I've created a version of the reprap-mendel-20100308 extruder firmware using my beautified code modifications from below (Future Firmware), available here: [[File:joshj_mendel-20100308_extruder.zip]]<br />
<br />
I started with the vanilla reprap-mendel-20100308 code and the modifications described in [[TechZone_A-D_With_OneWire]]. I cleaned up the code some (removed extraneous variables, etc) and included brnrd's temperature overflow bugfix.<br />
<br />
In addition to the changes mentioned below, I had to make one additional change to extruder_class.pde:<br />
In the "extruder::extruder()" function, after the "#ifdef MAX6675_THERMOCOUPLE" block and before the "#else" command, I added:<br />
#elif defined USE_DS2760 //joshj_2011-05-04<br />
// Nothing to do //joshj_2011-05-04<br />
<br />
Note that I've had problems using arduino 0021 or 0022 to compile any version of the reprap firmware. arduino-0018 works properly.<br />
<br />
== Future Firmware ==<br />
<br />
The newest (vanilla) mendel firmware has some code tweaks, and most importantly has heated bed support.<br />
It may be worth trying to merge the code from [[TechZone_A-D_With_OneWire]] into the vanilla firmware.<br />
The files that would need to be modified are (at least) configuration.h, temperature.h, and extruder_class.pde<br />
<br />
I've created an experimental version using mendel firmware v1.8 (from [http://sourceforge.net/projects/reprap/files/reprap-mendel-20110207.zip/download reprap-mendel-20110207]). It's available here: [[File:Joshj_reprap-mendel-20110207_DS2760-thermocouple.zip]]<br />
<br />
The files changed are:<br />
* Motherboard<br />
** configuration.h - basic tweaks (machine type, step size, etc)<br />
** features.h<br />
<br />
* Extruder<br />
** OneWire.h - from http://www.pjrc.com/teensy/td_libs_OneWire.html (unmodified)<br />
** OneWire.cpp - from http://www.pjrc.com/teensy/td_libs_OneWire.html (unmodified)<br />
** configuration.h<br />
** temperature.h<br />
** extruder_class.pde<br />
<br />
=== Motherboard code ===<br />
<br />
==== configuration.h ====<br />
Settings I changed:<br />
#define DEFAULTS MENDEL_GEN3_DEFAULTS<br />
#define X_STEPS_PER_MM 20.094<br />
#define Y_STEPS_PER_MM 20.094<br />
#define Z_STEPS_PER_MM 1610.6<br />
#define INVERT_Y_DIR 1<br />
#define TEMP_SENSOR TEMP_SENSOR_DS2760_THERMOCOUPLE<br />
#define E0_STEPS_PER_MM 3.5<br />
<br />
==== features.h ====<br />
* After "#define TEMP_JAYCAR_NTC_125DEG_10K_THERMISTOR 8", I added:<br />
#define TEMP_SENSOR_DS2760_THERMOCOUPLE 9 //joshj_2011-05-04 Techzone Thermocouple board<br />
<br />
=== Extruder code ===<br />
<br />
==== configuration.h ====<br />
<br />
* Under "// Temperature measurement", I commented the existing "#define USE_THERMISTOR" and added:<br />
#define USE_DS2760<br />
<br />
* After "#define TC_0 17 // CS Pin of MAX6607" and before "#else", I added:<br />
#elif defined USE_DS2760 //joshj_2011-05-04 start<br />
// I2C pins for the DS2760 temperature circuit<br />
#define OW 19 // Pin used for the OneWire communications<br />
#define ReadNet 0x33 // Read Net Address Net command<br />
#define SkipNet 0xCC // 'Skip Addressing' Net command<br />
#define RdReg 0x69 // 'Read Data' (at Address XX) Function command<br />
#define thermoTypeK <br />
#define TEMP_PIN 3 // Dummy value, or it won't compile.<br />
#define BED_TEMP_PIN 6 // Dummy value, or it won't compile.<br />
//joshj_2011-05-04 end<br />
<br />
==== temperature.h ====<br />
<br />
* In the "#ifdef USE_THERMISTOR block", after the first table and before the "#else" command, I added:<br />
<br />
#elif defined USE_DS2760 //joshj_2011-05-04 start<br />
#ifdef thermoTypeK<br />
//Table for looking up temperatures based on units of 15.625uV <br />
//(the DS2760 voltage measurement value is 15.625uV per unit) of thermocouple. <br />
#define NUMTEMPS 40<br />
short temptable[NUMTEMPS][2] = {<br />
{0,0},<br />
{25, 10},<br />
{51, 20},<br />
{77, 30},<br />
{103, 40},<br />
{129, 50},<br />
{156, 60},<br />
{182, 70},<br />
{209, 80},<br />
{236, 90},<br />
{262, 100},<br />
{289, 110},<br />
{315, 120},<br />
{341, 130},<br />
{367, 140},<br />
{393, 150},<br />
{419, 160},<br />
{444, 170},<br />
{470, 180},<br />
{495, 190},<br />
{521, 200},<br />
{546, 210},<br />
{572, 220},<br />
{598, 230},<br />
{624, 240},<br />
{650, 250},<br />
{676, 260},<br />
{702, 270},<br />
{728, 280},<br />
{755, 290},<br />
{781, 300},<br />
{808, 310},<br />
{834, 320},<br />
{861, 330},<br />
{888, 340},<br />
{915, 350},<br />
{942, 360},<br />
{968, 370},<br />
{995, 380},<br />
{1022, 390}<br />
};<br />
#endif //joshj_2011-05-04 end<br />
<br />
==== extruder_class.pde ====<br />
<br />
* At the top of the file, I added:<br />
#include "OneWire.h" //joshj_2011-05-04<br />
<br />
* After the other "#include" statements, I added:<br />
#ifdef USE_DS2760 //joshj_2011-05-04 start<br />
int readDS2760()<br />
{<br />
word tmpCJ; // compensation temperature, from internal sensor<br />
word tCuV; // thermocouple voltage reading<br />
word cjComp; // compensated voltage reading<br />
byte tmpRead;<br />
int i;<br />
<br />
OneWire myWire(OW);<br />
<br />
myWire.reset();<br />
myWire.write(ReadNet,0); // Read DS2760 address<br />
tmpRead=myWire.read(); // First byte is family code, should be 0x30<br />
myWire.reset();<br />
<br />
if(tmpRead != 0x30)<br />
{<br />
return 2000; // Couldn't find DS2760<br />
} <br />
<br />
myWire.reset();<br />
myWire.write(SkipNet,0); // Only one slave, so skip addressing<br />
myWire.write(RdReg,0); // Read Data from Address (next line)<br />
myWire.write(0x18,0); // Temperature Register MSB (internal temperature sensor)<br />
tmpRead=myWire.read(); // We use the internal temperature sensor to calculate the<br />
// cold junction compensation for the thermocouple.<br />
myWire.reset();<br />
<br />
if(bitRead(tmpRead,7)) // Negative reading<br />
{<br />
tmpCJ=0; // Limit to 0 degrees C<br />
} else {<br />
tmpCJ=tmpRead;<br />
} <br />
<br />
myWire.reset();<br />
myWire.write(SkipNet,0); // Only one slave, so skip addressing<br />
myWire.write(RdReg,0); // Read Data from Address (next line)<br />
myWire.write(0x0E,0); // Current Register MSB (thermocouple voltage)<br />
tmpRead=myWire.read(); // Note that the current sensing on the DS2760 actually measures the voltage across the sense resistor<br />
// We use this to measure the voltage across the (low-resistance) thermocouple to high accuracy.<br />
tCuV=tmpRead;<br />
tCuV=tCuV << 8; // Shift left 8 bits<br />
tmpRead=myWire.read(); // Current Register LSB (thermocouple voltage)<br />
myWire.reset();<br />
tCuV=tCuV | tmpRead; // now we have MSB, LSB<br />
tCuV=tCuV >> 3; // Lowest 3 bits of LSB are not used, so shift right 3<br />
if(bitRead(tCuV,12)) // Bit 12 is the sign bit - tCuV is (currently) two's complement<br />
{<br />
tCuV = tCuV | 0xF000; // If tCuV is negative, pad the leftmost bits (necessary because we shifted right earlier)<br />
tCuV = tCuV ^ 0xFFFF; // Since we don't care about the sign, flip value to positive.<br />
// Should add 1 to tCuV to negate properly.<br />
}<br />
<br />
// Back-convert tempCJ to a voltage value<br />
cjComp=temptable[(int)(tmpCJ/10)][0] + (tmpCJ-temptable[(int)(tmpCJ/10)][1])*(temptable[(int)(tmpCJ/10)+1][0]-temptable[(int)(tmpCJ/10)][0])/10;<br />
<br />
cjComp=cjComp+tCuV;<br />
if(cjComp>temptable[NUMTEMPS-1][0]) // If voltage exceeds maximum voltage from table<br />
{<br />
return temptable[NUMTEMPS-1][1]; // Return maximum temperature from table<br />
/* I question the wisdom of this -- probably better to return 2000, <br />
so entering a temperature over 390C doesn't cause the tip to burn out.<br />
(Unless Repsnapper prevents the user from entering absurdly large temperatures)<br />
*/<br />
}<br />
for (i=1; i<NUMTEMPS; i++) // Check each table entry<br />
{<br />
if (temptable[i][0]>cjComp) // Until we find one larger than our voltage value<br />
{<br />
return temptable[i-1][1] + (cjComp-temptable[i-1][0])*(temptable[i][1]-temptable[i-1][1])/(temptable[i][0]-temptable[i-1][0]);<br />
}<br />
}<br />
return 2000; //if it fails to get a temperature return 2000 so it will turn off the heat.<br />
}<br />
#endif //joshj_2011-05-04 end<br />
<br />
* Inside the function "void PIDcontrol::internalTemperature(short table[][2])", after the "#ifdef MAX6675_THERMOCOUPLE" ... "#endif" block, I added:<br />
#ifdef USE_DS2760 //joshj_2011-05-04 start<br />
currentTemperature = readDS2760();<br />
if(currentTemperature == 0)<br />
{<br />
currentTemperature = 1999;<br />
}<br />
#endif //joshj_2011-05-04 end</div>Joshjhttps://reprap.org/mediawiki/index.php?title=RUG/Pennsylvania/State_College/Electronics&diff=45201RUG/Pennsylvania/State College/Electronics2011-11-16T00:30:43Z<p>Joshj: </p>
<hr />
<div>== Subpages ==<br />
<splist/><br />
<br />
==Alternate Electronics==<br />
One of the goals of our program is gaining the ability to produce RepRaps to distribute to other groups at the university. To do this we need to bring build costs as low as possible. To this end, we are researching alternate electronics systems in hopes of finding one which we can produce ourselves, without needing to purchase kits or completed boards from third parties. This section serves as an index for that research.<br />
<br />
'''Requirements'''<br />
* Heated bed support<br />
* Multiple head support<br />
* Themistors<br />
* 2 Z motors<br />
* protected outputs<br />
<br />
'''Would be nice'''<br />
* High step count<br />
* SD Card support<br />
* Control panel (computerless)<br />
<br />
==Repairs and Modifications==<br />
As we continue to maintain our existing machines, we will undoubtedly need to repair and modify their electronics. This section will document our efforts in this area.<br />
<br />
=== Repairs ===<br />
* [[/ExtruderMOSFETs/]]<br />
<br />
=== Modifications ===<br />
* [[/Firmware/]]<br />
<br />
<br />
== Differences between alternate electronics ==<br />
<br />
=== [[Sanguinololu]] ===<br />
==== Pros ====<br />
* 7-30v<br />
* 2 thermistor<br />
* will do prussa<br />
* 2 n mos for extruder or for the bed<br />
* uart1<br />
* i2c<br />
* spi<br />
* 1 pwm<br />
* 5 analog i/o<br />
* mostly through hold components<br />
==== Neutral ====<br />
* sdcard support is talked about but isn’t really visible<br />
* usbttl needed<br />
* prusa ok<br />
==== Cons ====<br />
4 popolu board’s stepper only<br />
<br />
<br />
=== [[Generation_7_Electronics]] ===<br />
==== Pros ====<br />
* slightly faster 25%<br />
* can run heated bed off board<br />
* usbttl needed<br />
* 2 thermistor 1 for tip 1 for bed<br />
* prusa ok<br />
==== Cons ====<br />
* also 4 boards 1/16 steps<br />
<br />
<br />
=== [[Ramps]] ===<br />
[[/RAMPS/ | Prices & Details]]<br />
==== Pros ====<br />
* allows additional arduino shields, like Ethernet...<br />
* not really self etch able<br />
* i2c<br />
* spi<br />
* 5 polo boards<br />
* heated bed control 11 amp fuse<br />
* prusa ok<br />
* no usb adapter needed<br />
==== Cons ====</div>Joshj