I'm using Oriental Motor CMD2120P. Yea, i gt the user manual.
On Sat, Jan 25, 2014 at 12:50 AM, Ytai Ben-Tsvi <[email protected]> wrote: > I wouldn't expect you to see anything with an LED on the step channel > (duty cycle is 0.5%). I didn't understand from you whether you actually > looked at this signal with an oscilloscope after changing it to push-pull. > BTW, which motor driver are you using? Do you have a datasheet? > > > On Thu, Jan 23, 2014 at 7:33 PM, Synn Yong Tan <[email protected]> wrote: > >> Ya, I need that. My motor drive required 5V input pulse voltage. I >> actually tried the normal mode. Only the dir pin only to send signal. I >> tried this by using LED. >> >> >> On Fri, Jan 24, 2014 at 1:30 AM, Ytai Ben-Tsvi <[email protected]> wrote: >> >>> Do you have a pull-up attached? Do you actually need open drain? At >>> least for testing purposes I would start with push-pull (aka "normal") mode. >>> On Jan 23, 2014 1:10 AM, "Synn Yong Tan" <[email protected]> wrote: >>> >>>> HI, Ytai. I tried my app with oscilloscope. The dir pin is able to work >>>> when i connect it to a led and also tried it with oscilloscope. >>>> The problem is there is no pulse output from the step pin after i >>>> connected it to oscilloscope. I tried to look over the code but i can't >>>> find out where is the problem. >>>> >>>> >>>> package ioio.examples.simple; >>>> >>>> import ioio.lib.api.DigitalOutput; >>>> import ioio.lib.api.Sequencer; >>>> import ioio.lib.api.Sequencer.ChannelConfig; >>>> import ioio.lib.api.Sequencer.ChannelConfigBinary; >>>> import ioio.lib.api.Sequencer.ChannelConfigSteps; >>>> import ioio.lib.api.Sequencer.ChannelCueBinary; >>>> import ioio.lib.api.Sequencer.ChannelCueSteps; >>>> import ioio.lib.api.Sequencer.Clock; >>>> import ioio.lib.api.exception.ConnectionLostException; >>>> import ioio.lib.util.BaseIOIOLooper; >>>> import ioio.lib.util.IOIOLooper; >>>> import android.os.Bundle; >>>> import ioio.lib.util.android.IOIOActivity; >>>> import android.widget.ToggleButton; >>>> >>>> >>>> >>>> >>>> public class IOIOSimpleApp extends IOIOActivity { >>>> private ToggleButton toggleButton_; >>>> >>>> @Override >>>> public void onCreate(Bundle savedInstanceState) { >>>> super.onCreate(savedInstanceState); >>>> setContentView(R.layout.main); >>>> toggleButton_ = (ToggleButton) findViewById(R.id.ToggleButton); >>>> >>>> } >>>> >>>> class Looper extends BaseIOIOLooper { >>>> private Sequencer.ChannelCueBinary stepperDirCue_ = new >>>> ChannelCueBinary(); >>>> private Sequencer.ChannelCueSteps stepperStepCue_ = new >>>> ChannelCueSteps(); >>>> private Sequencer.ChannelCue[] cue_ = new Sequencer.ChannelCue[] >>>> {stepperDirCue_ , stepperStepCue_ }; >>>> >>>> private Sequencer sequencer_; >>>> >>>> @Override >>>> protected void setup() throws ConnectionLostException, >>>> InterruptedException { >>>> final ChannelConfigBinary stepperDirConfig = new >>>> Sequencer.ChannelConfigBinary( >>>> false, false, new >>>> DigitalOutput.Spec(3,DigitalOutput.Spec.Mode.OPEN_DRAIN)); >>>> final ChannelConfigSteps stepperStepConfig = new ChannelConfigSteps( >>>> new DigitalOutput.Spec(4,DigitalOutput.Spec.Mode.OPEN_DRAIN)); >>>> >>>> >>>> final ChannelConfig[] config = new ChannelConfig[] { stepperDirConfig, >>>> stepperStepConfig >>>> }; >>>> sequencer_ = ioio_.openSequencer(config); >>>> sequencer_.waitEventType(Sequencer.Event.Type.STOPPED); >>>> while (sequencer_.available() > 0) { >>>> push(); >>>> } >>>> >>>> >>>> sequencer_.start(); >>>> } >>>> >>>> >>>> >>>> @Override >>>> public void loop() throws ConnectionLostException, >>>> InterruptedException { >>>> push(); >>>> } >>>> >>>> private void push() throws ConnectionLostException, >>>> InterruptedException { >>>> if (toggleButton_.isChecked()) { >>>> >>>> stepperDirCue_.value = true; >>>> stepperStepCue_.clk = Clock.CLK_2M; >>>> stepperStepCue_.pulseWidth = 2; >>>> stepperStepCue_.period = 400; >>>> >>>> >>>> } else { >>>> stepperDirCue_.value = false; >>>> stepperStepCue_.clk = Clock.CLK_2M; >>>> stepperStepCue_.pulseWidth = 2; >>>> stepperStepCue_.period = 400; >>>> } >>>> sequencer_.push(cue_, 62500 / 200); >>>> } >>>> } >>>> >>>> @Override >>>> protected IOIOLooper createIOIOLooper() { >>>> return new Looper(); >>>> } >>>> } >>>> >>>> >>>> >>>> On Wed, Jan 22, 2014 at 4:14 PM, Ytai Ben-Tsvi <[email protected]>wrote: >>>> >>>>> Please read my last email again >>>>> On Jan 21, 2014 10:34 PM, "Synn Yong Tan" <[email protected]> wrote: >>>>> >>>>>> Hi, Ytai.. >>>>>> Sorry because i not really get the command you meant.. >>>>>> You meant stepperStepCue.clk or stepperDirCue_.clk? >>>>>> Actually the app is successfully built. But after i connect >>>>>> everything together, the motor is not even rotating. >>>>>> By the way, the output signal voltage is only 3.3v, right? I have to >>>>>> use the open-drain mode so that i can send 5v output signal.. is that >>>>>> right? >>>>>> >>>>>> >>>>>> On Wed, Jan 22, 2014 at 2:16 PM, Ytai Ben-Tsvi <[email protected]>wrote: >>>>>> >>>>>>> Hi Synn, >>>>>>> I'm happy you're making a brave attempt to use the new library! >>>>>>> >>>>>>> I think you forgot to set stepperDirCue_.clk, not sure if this is >>>>>>> the only problem. >>>>>>> >>>>>>> A few suggestions that can hopefully make your work more effective: >>>>>>> >>>>>>> 1. When you ask a question, please provide more information on >>>>>>> *what* is not working. Just saying that the program is not >>>>>>> working makes it very hard to help you. >>>>>>> 2. If your program crashes, and in some other cases too, the >>>>>>> logcat output (open the Logcat view in Eclipse or type adb logcat in >>>>>>> the >>>>>>> command shell) might have useful information to help you figure out >>>>>>> what's >>>>>>> wrong. Use it. >>>>>>> 3. You can add your own log messages in your code, to help you >>>>>>> figure out what it's doing, where it's stuck, etc. >>>>>>> 4. You can use step-by-step debugging for even deeper >>>>>>> understanding of what's going on. >>>>>>> 5. Try to simplify your program as much as possible for >>>>>>> isolating a problem. The program that you sent is a very good >>>>>>> example for >>>>>>> that! >>>>>>> 6. Try to isolate electrical issues from software issues using >>>>>>> an oscilloscope or a logic analyzer if you have them, or otherwise by >>>>>>> testing your program against known-good peripherals (for example, >>>>>>> replace >>>>>>> motor drivers with LEDs, or first check your electronics manually). >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Jan 21, 2014 at 7:33 PM, Synn Yong Tan <[email protected]>wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> I'm trying to do control on step motor. >>>>>>>> My app didn't working but i cannot find out where is the problem. >>>>>>>> Can please help me to see the code? >>>>>>>> >>>>>>>> package ioio.examples.simple; >>>>>>>> >>>>>>>> import ioio.lib.api.DigitalOutput; >>>>>>>> >>>>>>>> import ioio.lib.api.Sequencer; >>>>>>>> import ioio.lib.api.Sequencer.ChannelConfig; >>>>>>>> import ioio.lib.api.Sequencer.ChannelConfigBinary; >>>>>>>> import ioio.lib.api.Sequencer.ChannelConfigSteps; >>>>>>>> import ioio.lib.api.Sequencer.ChannelCueBinary; >>>>>>>> import ioio.lib.api.Sequencer.ChannelCueSteps; >>>>>>>> import ioio.lib.api.exception.ConnectionLostException; >>>>>>>> import ioio.lib.util.BaseIOIOLooper; >>>>>>>> import ioio.lib.util.IOIOLooper; >>>>>>>> import android.os.Bundle; >>>>>>>> import ioio.lib.util.android.IOIOActivity; >>>>>>>> import android.widget.ToggleButton; >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> public class IOIOSimpleApp extends IOIOActivity { >>>>>>>> private ToggleButton toggleButton_; >>>>>>>> >>>>>>>> @Override >>>>>>>> public void onCreate(Bundle savedInstanceState) { >>>>>>>> super.onCreate(savedInstanceState); >>>>>>>> setContentView(R.layout.main); >>>>>>>> toggleButton_ = (ToggleButton) findViewById(R.id.ToggleButton); >>>>>>>> >>>>>>>> } >>>>>>>> >>>>>>>> class Looper extends BaseIOIOLooper { >>>>>>>> private Sequencer.ChannelCueBinary stepperDirCue_ = new >>>>>>>> ChannelCueBinary(); >>>>>>>> private Sequencer.ChannelCueSteps stepperStepCue_ = new >>>>>>>> ChannelCueSteps(); >>>>>>>> private Sequencer.ChannelCue[] cue_ = new Sequencer.ChannelCue[] >>>>>>>> {stepperDirCue_, stepperStepCue_ }; >>>>>>>> >>>>>>>> private Sequencer sequencer_; >>>>>>>> >>>>>>>> @Override >>>>>>>> protected void setup() throws ConnectionLostException, >>>>>>>> InterruptedException { >>>>>>>> final ChannelConfigBinary stepperDirConfig = new >>>>>>>> Sequencer.ChannelConfigBinary( >>>>>>>> false, false, new DigitalOutput.Spec(3)); >>>>>>>> final ChannelConfigSteps stepperStepConfig = new >>>>>>>> ChannelConfigSteps( >>>>>>>> new DigitalOutput.Spec(4)); >>>>>>>> final ChannelConfig[] config = new ChannelConfig[] { >>>>>>>> stepperDirConfig, >>>>>>>> stepperStepConfig }; >>>>>>>> >>>>>>>> sequencer_ = ioio_.openSequencer(config); >>>>>>>> >>>>>>>> push(); >>>>>>>> sequencer_.start(); >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> @Override >>>>>>>> public void loop() throws ConnectionLostException, >>>>>>>> InterruptedException { >>>>>>>> push(); >>>>>>>> } >>>>>>>> >>>>>>>> private void push() throws ConnectionLostException, >>>>>>>> InterruptedException { >>>>>>>> stepperStepCue_.pulseWidth = 2; >>>>>>>> stepperStepCue_.period = 400; >>>>>>>> >>>>>>>> boolean on = (toggleButton_.isChecked()); >>>>>>>> if (on) { >>>>>>>> >>>>>>>> stepperDirCue_.value = true; >>>>>>>> >>>>>>>> } else { >>>>>>>> stepperDirCue_.value = false; >>>>>>>> } >>>>>>>> sequencer_.push(cue_, 62500 / 2); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Override >>>>>>>> protected IOIOLooper createIOIOLooper() { >>>>>>>> return new Looper(); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "ioio-users" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> >>>>>>>> To post to this group, send email to [email protected]. >>>>>>>> Visit this group at http://groups.google.com/group/ioio-users. >>>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "ioio-users" group. >>>>>>> To unsubscribe from this topic, visit >>>>>>> https://groups.google.com/d/topic/ioio-users/jxhTI2gAhMk/unsubscribe >>>>>>> . >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> Visit this group at http://groups.google.com/group/ioio-users. >>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "ioio-users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>>> Visit this group at http://groups.google.com/group/ioio-users. >>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "ioio-users" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/ioio-users/jxhTI2gAhMk/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at http://groups.google.com/group/ioio-users. >>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "ioio-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at http://groups.google.com/group/ioio-users. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "ioio-users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/ioio-users/jxhTI2gAhMk/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/ioio-users. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "ioio-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/ioio-users. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- > You received this message because you are subscribed to a topic in the > Google Groups "ioio-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/ioio-users/jxhTI2gAhMk/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/ioio-users. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "ioio-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/ioio-users. For more options, visit https://groups.google.com/groups/opt_out.
