Shop OBEX P1 Docs P2 Docs Learn Events
timing critical app — Parallax Forums

timing critical app

ArchiverArchiver Posts: 46,084
edited 2001-05-13 17:33 in General Discussion
I have software that I've developed over many years that accurately, but at relatively slow speeds (about 1500 steps/sec), controls 4 stepper motors (bipolar or unipolar) simultaneously from Windows through the parallel port.··I need about 3000 steps/sec.· When the user moves the mouse or otherwise causes background processing to occur, the motors run rough due to the·pulse frequency interuption.·· I purchased the BS2p recently with the hope of offloading a series of pulses to it, freeing up Windows to do other things while maintaining smooth motor speeds.·

Well I've been studying the doc on the stamp and have come to realize it is too slow.· Because code is interpreted, rather than compiled, you only get about about 10,000 instructions/sec.· I want to get at least 20 in/min travel speed which converts to almost 3000 steps/sec.· That leaves very little time between steps to do all the other things needed to control the data flow in from the main computer.· The Eprom is too small to hold it all at once.· Any break in the sending of steps would be failure and defeat the whole purpose.

My plan was to use the EEPROM as a buffer where the stamp would read the next byte of data.· There would be buffer management stuff going on between pulses.· But I found out EEPROM reads and writes take much longer then the pulse width.·

RAM data space on the·STAMP is only 32 bytes.· At 3000 steps/sec, the RAM would not be·a sufficient buffer if Windows got delayed.· I need a large RAM buffer.

Does anybody have any suggestions as to how to solve this problem?

Greg Hanowski
AcuMotion Inc.
http://www.acumotion.com

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2001-05-11 18:51
    Check out the Ram Pack B from http://www.solutions-cubed.com/ It has a
    FIFO mode which may work for your buffering or the regular memory mode may
    work too.

    Joshua

    --On Friday, May 11, 2001 11:39 AM -0600 Greg Hanowski
    <sales@a...> wrote:

    >
    >
    > I have software that I've developed over many years that accurately, but
    > at relatively slow speeds (about 1500 steps/sec), controls 4 stepper
    > motors (bipolar or unipolar) simultaneously from Windows through the
    > parallel port. I need about 3000 steps/sec. When the user moves the
    > mouse or otherwise causes background processing to occur, the motors run
    > rough due to the pulse frequency interuption. I purchased the BS2p
    > recently with the hope of offloading a series of pulses to it, freeing up
    > Windows to do other things while maintaining smooth motor speeds.
    >
    >
    > Well I've been studying the doc on the stamp and have come to realize it
    > is too slow. Because code is interpreted, rather than compiled, you only
    > get about about 10,000 instructions/sec. I want to get at least 20
    > in/min travel speed which converts to almost 3000 steps/sec. That leaves
    > very little time between steps to do all the other things needed to
    > control the data flow in from the main computer. The Eprom is too small
    > to hold it all at once. Any break in the sending of steps would be
    > failure and defeat the whole purpose.
    >
    > My plan was to use the EEPROM as a buffer where the stamp would read the
    > next byte of data. There would be buffer management stuff going on
    > between pulses. But I found out EEPROM reads and writes take much longer
    > then the pulse width.
    >
    > RAM data space on the STAMP is only 32 bytes. At 3000 steps/sec, the RAM
    > would not be a sufficient buffer if Windows got delayed. I need a large
    > RAM buffer.
    >
    >
    > Does anybody have any suggestions as to how to solve this problem?
    >
    > Greg Hanowski
    > AcuMotion Inc.
    > http://www.acumotion.com
    > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
  • ArchiverArchiver Posts: 46,084
    edited 2001-05-13 17:33
    I have software that I've developed over many years that accurately, but at relatively slow speeds (about 1500 steps/sec), controls 4 stepper motors (bipolar or unipolar) simultaneously from Windows through the parallel port.··I need about 3000 steps/sec.· When the user moves the mouse or otherwise causes background processing to occur, the motors run rough due to the·pulse frequency interuption.·· I purchased the BS2p recently with the hope of offloading a series of pulses to it, freeing up Windows to do other things while maintaining smooth motor speeds.·

    Well I've been studying the doc on the stamp and have come to realize it is too slow.· Because code is interpreted, rather than compiled, you only get about about 10,000 instructions/sec.· I want to get at least 20 in/min travel speed which converts to almost 3000 steps/sec.· That leaves very little time between steps to do all the other things needed to control the data flow in from the main computer.· The Eprom is too small to hold it all at once.· Any break in the sending of steps would be failure and defeat the whole purpose.

    My plan was to use the EEPROM as a buffer where the stamp would read the next byte of data.· There would be buffer management stuff going on between pulses.· But I found out EEPROM reads and writes take much longer then the pulse width.·

    RAM data space on the·STAMP is only 32 bytes.· At 3000 steps/sec, the RAM would not be·a sufficient buffer if Windows got delayed.· I need a large RAM buffer.

    Does anybody have any suggestions as to how to solve this problem?

    Greg Hanowski
    AcuMotion Inc.
    http://www.acumotion.com
Sign In or Register to comment.