Giter Club home page Giter Club logo

Comments (13)

soundanalogous avatar soundanalogous commented on September 1, 2024

Yes, currently the EasyDriver, and 2 and 4 wire hbridge driver configurations are supported. Issues have been reported for the pololu driver but there is work being done to add support for the pololu driver so hopefully that will be resolved soon.

You'll need to clone or fork Firmata and check the configurable branch. Load examples/ConfigurableFirmata. Or you can also use my AdvancedFirmata version (but this will be deprecated once ConfigurableFirmata is merged into the Firmata master branch). You can find an example client implementation here: https://github.com/soundanalogous/Breakout/blob/master/src/io/Stepper.js

from arduino.

petitssoldats avatar petitssoldats commented on September 1, 2024

Ok, thanks a lot ! I'll take a look and i'll close the issue if i have'nt other question ;)

from arduino.

petitssoldats avatar petitssoldats commented on September 1, 2024

Hoan, it's really cool ! So,i have an other question : how can i use breakout.js only with nodejs ? (whithout client side)

from arduino.

soundanalogous avatar soundanalogous commented on September 1, 2024

You can't. BreakoutJS is a client-side JavaScript library. If you want to use nodejs, use johnny-five.

from arduino.

petitssoldats avatar petitssoldats commented on September 1, 2024

oups, i miss that, my mistake ... and johnny-five can drive stepper
motors too ? thanks for you reactivity

On Tuesday, June 4, 2013, Jeff Hoefs wrote:

You can't. BreakoutJS is a client-side JavaScript library. If you want to
use nodejs, use johnny-five https://github.com/rwldrn/johnny-five.


Reply to this email directly or view it on GitHubhttps://github.com//issues/61#issuecomment-18940847
.

__ Forestier Nicolas _______________________________*
**

from arduino.

soundanalogous avatar soundanalogous commented on September 1, 2024

Not yet. Stepper support is a new addition to Firmata (it is not yet even in the Firmata master branch) so it has not yet been added to many Firmata client libraries. In addition to BreakoutJS, stepper support is available in an experimental version of Maxuino (Firmata for Max/Msp) and I think it may be available in the dev or maybe even master branch of perl-firmata.

from arduino.

nicolaspanel avatar nicolaspanel commented on September 1, 2024

I'm doing some tests with bipolar steppers but I meet the following problems :

  • Stepper is loosing steps, even with very slow speeds and accelerations
  • Stepper quickly becomes very hot
  • I need to manually reset the board (with the reset push button) each time I close the serial communication.

Did I miss something or do you observe the same behaviour?

More informations about my configuration :

  • 4 wires hbridge driver configurations (as explained here)
  • Arduino Uno and Arduino Mega boards (with ConfigurableFirmata inside, including all features)
  • I use the "Alternate approach" protocol

Note: Other features, such as INPUT, OUTPUT, PWM or SERVO, are working fine.

Last question : Is there a way to properly "detach" the stepper ?

from arduino.

soundanalogous avatar soundanalogous commented on September 1, 2024

I can't imagine how the Firmata stepper library is making your Stepper hot (in general a stepper will get hot, especially if you are driving a load). However it should not get extremely hot (like starting your table on fire hot). It could to be an issue in your circuit or improperly powering your motor (I use this motor and have not had any issues). Have you tested the same circuit without firmata (writing a regular Arduino sketch)? I use the circuits from pages 12 and 13 of this document.

I haven't observed any missed steps using ConfigurableFirmata with BreakoutJS. I don't have to reset the board either (but BreakoutJS works differently in that you only connect to the serial port once and then refresh the browser to perform a soft-reset of the board). I'd have to know more about your particular Firmata client implementation to know whether or not the stepper protocol is implemented correctly. Do you have a link to the code?

There is no "detach" method if that's what you're asking. However, you can send a SYSEX_RESET command (0xFF) from your client application to perform a soft reset of the Arduino board. This will reset all of the digital pin modes to output and free up the memory allocated by the array of stepper objects. Line 109 of ConfigurableFirmata.ino will call reset on all included features that implement the reset method.

from arduino.

nicolaspanel avatar nicolaspanel commented on September 1, 2024

It works fine with 2-wire configuration (the problem was probably my circuit).

The stepper is still hot (about 100°C) but as you say it must be normal.
I'm using a MITSUMI M35SP-11NK that I found in an old printer (96 Steps per rev., bipolar, 12V DC).

Last problem : I still need to manually reset the board if I want the stepper to work after closing the serial port. I tried to reset the board after opening the serial port but it does not work. I will continue my tests.

Thanks again !

from arduino.

soundanalogous avatar soundanalogous commented on September 1, 2024

The reset issue is fixed in this pull request. Also note the change on line 153. This was previously sending the stepper pin mode (0x08) rather than the stepper data command (0x72). Should have been 0x72 which is the unique value to identify stepper motor data.

from arduino.

nicolaspanel avatar nicolaspanel commented on September 1, 2024

Thanks you for the fix.
Do you think the pull request will be integrated soon in firmata / arduino / Configurable ?

from arduino.

soundanalogous avatar soundanalogous commented on September 1, 2024

Should be soon. I just want to be sure that the change I added was the best approach.

from arduino.

soundanalogous avatar soundanalogous commented on September 1, 2024

This has been merged into the configurable branch.

from arduino.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.