Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pick-and-place [2020/10/12 20:02]
arthur
pick-and-place [2020/10/12 21:21]
arthur
Line 29: Line 29:
 </code> </code>
  
-(by default, the second line in the CNC build makefile contains « <key>tools/temperaturecontrol</key> », so here we are removing that item so it's no longer «excluded» when compiling).+(by default, the version of the second line that is present in the CNC build makefile contains « <key>tools/temperaturecontrol</key> », so here we are removing that item so it's no longer «excluded» when compiling).
  
-Now every time you compile your firmware, it will use the CNC build, and include the temperaturecontrol module, great!+Now every time you compile your firmware, it will use the CNC build, and include the temperature-control module, great!
  
 Simply do: Simply do:
Line 62: Line 62:
 </code> </code>
  
-That's it! Now your firmware will compile with the temperaturecontrol module included, and the resulting .bin file can be flashed to give you a CNC build with temperaturecontrol support so you can read vacuum sensors through your ADCs. +That's it! Now your firmware will compile with the temperature-control module included, and the resulting .bin file can be flashed to give you a CNC build with temperature-control support so you can read vacuum sensors through your ADCs. 
  
 Just remember to use the right command instead of the default one next time you update your firmware! Just remember to use the right command instead of the default one next time you update your firmware!
Line 74: Line 74:
  
 == Vacuum sensor == == Vacuum sensor ==
 +
 +Todo: Here add the right configuration to be able to use the temperature-control module to directly read ADCs, bypassing the actual thermistor math for direct/linear reading. This will be added as soon as Shai gives me his configuration, which should be soon I expect.
 +
 +<code>
 +# VACUUM SENSING
 +
 +# LEFT Nozzle Vacuum configuration
 +
 +temperature_control.vac_n1.enable                 true             # Whether to activate this ( "hotend" ) module at all.
 +
 +temperature_control.vac_n1.sensor                   ad8495           #
 +
 +temperature_control.vac_n1.ad8495_pin             0.23             # Pin for the thermistor to read
 +
 +temperature_control.vac_n1.ad8495_offset          0                #
 +
 +temperature_control.vac_n1.heater_pin             nc               # Pin to controls the heater, nc if a read only thermistor.                                                   # thermistor is being defined
 +
 +temperature_control.vac_n1.readings_per_second      500                # How many times per second to read temperature from the sensor.
 +
 +temperature_control.vac_n1.get_m_code               104                  # Calling this M-code will return the current temperature.
 +
 +temperature_control.vac_n1.designator             VAC              # Designator letter for this module
 +
 +temperature_control.vac_n1.rt_curve               20.0,220,120,6000,220,120000
 +
 +# RIGHT Nozzle Vacuum configuration
 +
 +temperature_control.vac_n2.enable                 true             # Whether to activate this ( "hotend" ) module at all.
 +
 +temperature_control.vac_n2.sensor                   ad8495           #
 +
 +temperature_control.vac_n2.ad8495_pin             0.24             # Pin for the thermistor to read
 +
 +temperature_control.vac_n2.ad8495_offset          0                #
 +
 +temperature_control.vac_n2.heater_pin             nc               # Pin to controls the heater, nc if a read only thermistor.
 +
 +temperature_control.vac_n2.readings_per_second      500              # How many times per second to read temperature from the sensor.
 +
 +temperature_control.vac_n2.get_m_code               105                  # Calling this M-code will return the current temperature.
 +
 +temperature_control.vac_n2.designator             VAC              # Designator letter for this module
 +
 +temperature_control.vac_n2.rt_curve               20.0,220,120,6000,220,120000
 +
 +</code>
  
 == Servos as axes == == Servos as axes ==
 +
 +On some Pick and Place machines, the head (Z axis) is controlled by a hobby servo motor.
 +
 +However, by default in Smoothie, those are controlled via the [[Switch]] module using M-codes such as <key>M280</key>.
 +
 +This works, but that's not how you usually address a Z axis. 
 +
 +If you want a bit of extra convenience, by being able to talk to your hobby servo as if it was a Z axis ( which means you will also be able to use it in places like homing or probing the way you typically use a Z axis, if this is something you need ), then you can use this special branch of Smoothie that implements this feature:
 +
 +* [[https://github.com/Smoothieware/Smoothieware/tree/feature/slaveswitch|Slave Switch]]
 +
 +Once you compile this branch, you will be able to use your hobby servo as a Z axis ( and other such switch <-> axis associations ). Note this is not documented right now, but the configuration is very easy to exactly from the new file in the source code, and if you can't figure it out, the community can help you easily, just ask!