Faire communiquer la carte smoothieboard avec des éléments extérieurs

par | Jun 26, 2017 | Electronique de commande

I ) Les Entrées/Sorties pour un Usage Général

Les cartes à microcontroleurs ( Raspberry Pi, Arduino, Beaglebone, Smoothieboard … ) ont des entrées sorties prévue pour les usages classiques, port USB, port réseau, port écran HDMI …

Les fonctions de ces cartes à microcontrôleur sont extensibles en y connecter des appareils, d’autres cartes.
Les éléments externes qui seront des options utilisés par la suite se connectent par l’intermédiaire des connecteur GPIO
GPIO signifie General Purpose Input/Output, littéralement (Entrée/Sortie pour un Usage Général)

Au lieu d’être regroupé à un seul endroit comme pour les carte Raspberry et Arduino.
Les ports GPIO de la carte smoothieboard sont répartis un peu partout.  http://smoothieware.org/pinout

Il y a énormément de broches de connection GPIO de disponible dont certaines peuvent avoir des capacités particulières

Les broches GPIO avec possibilité d’interruption peuvent être utilisé pour des boutons pour modifier immédiatement le déroulement habituel de l’usinage même si celui ci est en cours.

PWM signifie Pulse Width Modulation ( modulation de largeur d’impulsions ) permet d’avoir une sortie analogique pour par exemple moduler la vitesse de la broche à partir de la carte.

Chaque port GPIO est identifié par P(un nombre).(un nombre)

Beaucoup de port GPIO sont libres d’utilisation comme ceux ci-dessous encadrés en rouge.
Mais si certaines fonctions de la carte ne sont pas utilisées il est possible d’affecter les broches correspondante à un usage général GPIO
Ce serait le cas pour les broches ici entourées en orange. Par exemple le capteur endstop X min s’il n’est pas utilisé, sa broche P1.24 pourrait être affecté à autre chose.

 

II ) Exemple de configuration de port GPIO

A ) GPIO en sortie

a1 ) Commander un relais statique pour démarrer et éteindre la broche à partir du Gcode

# Switch module for spindle control

switch.spindle.enable                                           true             #
switch.spindle.input_on_command                 M3              #
switch.spindle.input_off_command                M5              #
switch.spindle.output_pin                                 1.22             #
switch.spindle.output_type                              digital          # just an on or off pin

 

B ) GPIO en entrée

b1 ) Créer un bouton pause qui suspend l’usinage lors d’un premier appui et le reprend en appuyant une seconde fois

# Switch module for pause button

switch.pause.enable                true                     # Enable this module
switch.pause.input_pin             2.11^                    # Pin where pause button is connected
switch.pause.output_on_command     suspend                  # Suspend command
switch.pause.output_off_command    resume                   # Resume command
switch.pause.input_pin_behavior    toggle                   # This pin toggles between it’s on and off states each time it is pressed and released

after_suspend_gcode                  M5        # Gcode to run after suspend
before_resume_gcode                  M3                          # Gcode to run before resume

b2 ) Créer un bouton reset pour redémarrer la carte smoothieboard

# Switch module for reset button

switch.reset.enable                true                          # Enable this module
switch.reset.input_pin             3.26^                    # Pin where reset button is connected
switch.reset.output_on_command     reset        # Command to reset the board

b3 ) Avoir un bouton kill qui arrête et annule immédiatement l’usinage

# Kill button (used to be called pause) maybe assigned to a different pin, set to the onboard pin by default

kill_button_enable                           true             # set to true to enable a kill button
kill_button_pin                              2.12             # kill button pin. default is same as pause button 2.12 (2.11 is another good choice)

 

0 commentaires