dsteury

Forum Replies Created

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • in reply to: reverse and slave one stepper #9275
    dsteury
    Member

    Yes, you can. You would need a board to invert the direction signal but its very straightforward. I did it on 2 separate boards but the same principles apply on 1 board. You could just disconnect the corresponding direction and step pulse pins so that they do not plug into the arduino. Then you could jump the two step pulse pins and run the direction pin of the axis you are copying through a small board that inverts the signal(0V–>5V & 5V–>0V). The pinout can be found here:
    https://github.com/grbl/grbl/wiki/Connecting-Grbl

    And my original post about using 2 motors with one signal is here:

    2 g-shields from 1 arduino?

    in reply to: Axis scaling problem? #9274
    dsteury
    Member

    I do not have the Shapeoko II but Im happy to try and help. Are the $0-$2 settings given by Shapeoko? Also do you have any of the jumpers on the g-shield on the board? (The ones for micro stepping)

    in reply to: Z-Axis Only Turns One Direction #9273
    dsteury
    Member

    First you should determine if the issue lies with the arduino or the g-shield. The DRV8818 on the g-shield receives the direction signal from the arduino in the form of a high or low signal. You should unplug the shield from the arduino and stick a pin in D7 and measure the voltage between that pin and ground. If the voltage changes from 0V to 5V when you change direction (send G91G0Z100 and then G91G0Z-100). If the voltage is changing, plug the shield back in and test the same pin. If the voltage is now not changing then there is some issue on the g-shield.

    If the voltage was not changing when the board was unplugged then the issue is on the arduino board.

    in reply to: 2 g-shields from 1 arduino? #9272
    dsteury
    Member

    After I posted this question I kept fiddling and found the required connections. I will post the solution here so that if anyone else is looking to do something similar they won’t have to repeat the testing.

    A brief overview of my setup:
    1 x Arduino Uno running GRBL 0.9i
    2 x Synthetos G-Shields
    1 x Homemade CNC with dual Y-axis (2 motors driving the gantry)

    My problem:
    I did not want to buy a tinyg because of the following reasons
    1. I already had the Arduino/G-shield setup
    2. The price of a tinyg is 3x the price of G-shield
    3. I did not want the possibility 4 separate motor signals, just a duplicate of one
    4. I did not want to simply wire the motors in parallel because of the reduced power available and the extra strain on one driver

    My solution:
    Because the G-shield is just 3 DRV8811 being given directions by an Arduino Uno (ATmega328p) it seems that it should be possible to send the same signal from the Arduino to two G-shields and therefore power 2 motors with the same signal using a separate driver for each. (1 on each board)

    The next step was simply to find what pins to connect from the original G-shield to the new one. I had a “dead” Arduino Uno so I removed the ATmega328p from the board and simply used this board to hold the second G-shield. I did not plug any power (USB/DC) into this second board. I simply jumped the 24V from the first board over to the second. I found that if you connect the following pins it is very straight-forward to achieve this.

    1. IOREF
    2. GND
    3. Stepper Enable/Disable (D8)
    4. Direction for axis (D5-D7 : X-Z)
    5. Step Pulse for axis (D2-D4 : X-Z)
    6. +/- 24V-30V Supply

    The direction/step pulse pins only need to be connected for the axis desired.

    As for the second question of my original post; I put on oscilloscope on the step pulse pin for the axis being used and measured the frequency as well as the voltage of the pulse train. I found that a brief 5V signal is sent at a frequency defined in the user settings.

    Theoretical Frequency
    Rate:500mm/min
    Steps/mm:321.5
    500mm/min*321.5steps/mm=160,750steps/min*1min/60sec=2679.17 steps/sec or Hz

    Measured Frequency
    2.677KHz

    As you can see the frequency is able to be calculated. I plan to design a small circuit that will use a potentiometer to vary the frequency of the pulses, thereby circumventing the Arduino altogether and allowing the axis of your choice (the rotary axis in my case) to be rotated indefinitely with no commands or even communication from the computer. I will try to post the schematic here when I design the pulse circuit.

    If you have read this far I hope you find this useful.

Viewing 4 posts - 1 through 4 (of 4 total)