I would like to use this board to control my 5 axis Camera slider. Right now I use a Arduino 2560 and would prefer something faster for full motion video instead of just time-lapse and stop motion. But I need to drive the motors around with a joystick or a app on my phone and set key frames. Then interpolate the moves between the keyframes. Moving via ponterface etc at 1, 10, 100 increments is not gonna work for jogging. Does anyone have any examples of with live Jogging?. Maybe a MPG Hand wheel.
Anyone get this hooked up and working Bluetooth?
How about connecting it to Android. Not Via Ethernet web interface.
Very interresting project, I’d love to see Smoothie used for this so I’ll try to help as much as I can.
We have a WiiChuck library, but it is not yet hooked to the movement bits yet, which looks like what you want.
I’m not sure about the key frames thing though, can you tell us more about what that involves ?
About an android app, it sure can be done, but nobody has done a complete one yet ( though several are in the works as far as I know ).
Tell us more about exactly what you need, we’ll help you !
Also, can you code ?
I am not a coder. I am learning. I have been able to cobble together Arduino code to get what I needed using a old Megatronics V2 printer controller. Essentially a Mega 2560. I also have a Nano I use for the focus and zoom.
Right now I am using commercial software to run the camera and keyframes but I would like to get away from that. I started working on a script that will do that for the Arduino but since I have a Azteeg X5 laying around I thought I would use it so I had a faster controller for live motion.
I have a Wii Chuck sitting here I can hook up the the board. That would be good for running through the menus and controlling the motors. Its a bluetooth one.
Outline:
Menu system on OLED 96x64 SPI
SD card for saving paths etc
Joystick, Wii Chuck Or MGP for motor control and Menu control (have all three laying around)
Up to 5 stepper motors. Smooth ramp of the motors when using joystick or playback of keyframes
Softlimits for motors. Ability to set a soft home position.
Keyframed paths need to be saved to SD card for later playback (i.e. 360 panos or other pre - programmed routines)
Ability to playback keyframed moves from any starting position (moves to start position when go is pressed)
Programmable intervelometer (shutter duration and interval between shots)
Set maximum number off shots.
Interpolate moves of up to 5 motors depending on keyframes and number of shots
Shoot Move Shoot routine
Bluetooth control via Android app (all functions setable from android and saved to sd runs autonomous when tablet is disconnected)
Once keyframes and intervelometer are set press go and walk away (timlapse mode)
Ability to turn off and on Screen without affecting ongoing processes
Count down timer on screen once go is pressed.
Override to stop and restart or make changes and restart
Estop via input pin
Camera shutter control via output pin
Onboard clock (ability to set a start time and stop time)
Ability to disable motors (during long exposure shots turn motors off to conserve power, Motors off except for jogging or shooting)
Modes:
Menu Mode (setup parameters for motor speeds Keyframes and intervals for time-lapse and live video mode)
Motion Control (drives motors and sets keyframes)
Playback mode (plays back keyframes and clicks shutter till done for live and time-lapse)
That’s the basics.
The Android integration will come last. Just wanted a complete picture of what I am trying to do.
If this was a Arduino I would know where to start. But being a new controller Arm M3 I am not sure. What IDE would you suggest. I have Atmel Studio but not very comfortable with it. Using Windows 7 x64 here.
I need to get library’s for the OLED and Wii Chuck. Didn’t see them in the src folder I downloaded.
I need a pin list for the AzteegX5mini. Looks like the Config file has all that. Interesting Pin 2.2 is Beta step pin. On the Arduino pins don’t have a decimal place.
Since this thing runs G code I think we could just stick with that and use the existing stepper engine since it has all CV and ramping built in. Most motors on the rig are rotary not linear.
First step I think I need to do is just get some motors running via joystick or MPG. On a MPG the faster you turn it the faster the motors move. A joystick I think would pretty much be on and off except for ramping. Just trying to determine which would be better for Live video.
Hi,
I believe jogging is one of the most important and handy options on a cnc machine and it’s one thing any machine has and I would really like to add this joystick option too!
Is there anyway I can connect a regular joystick (the ones with 4 switches) to smoothie board with out having to edit the firmware? Because I have so many unused pins on my smoothie. Are there any options in the config file for this?
Hi,
I know that you can have an M-code with switch module to turn on/off one of the I/Os but I have never seen an example of trigerring a gcode with one of the I/o’s in the switch module’s wiki page.
Would you please put up an example for me?!
Thank You Arthur!
I think the third example at the beginning of the file is what you want :
switch.zplus10.enable true
switch.zplus10.input_pin 1.7
switch.zplus10.output_on_command G91 G0 Z10 G90 # G90 and G91 switch to relative positioning then back to absolute
Hi Arthur,
Thank you for the tip but I think there is a problem with this idea, and that is: lets say I have switch connected to pin 1.7 and I have the code setup like this:
switch.Xplus10.enable true
switch.Xplus10.input_pin 1.7
switch.Xplus10.output_on_command G91 G0 X10 G90
When I push and hold the button, then the smoothie is only going to 10mm and stop until I let the button go and then press it again, correct?
This means that If I want to move it 100 mm I have to push it 10 times! which by it self destroys the whole point of a joystick.
With a joy stick I need to be able to stop the axis right where I let the button go.
What I’m thinking is I should actually do Xplus1 instead of 10 and setup the pin somehow that it stop after I let go.
Is there anyway to solve this ?
Hellppppppp, I really need the jogging :’(
I do not think there is anyway to do this with the switch module. You would need to write a dedicated module to read and handle the joystick and repeat commands at a fixed frequency for a pressed button.
Oh Okay thats one way.
Now another related question: The smoothie panels the ones which wok with SPI can do this right? Is the joystick on them for jogging? If yes, how do they do it? by repeating commands?
Also another question, how do they show real-time position of the axis while it’s moving? Because I was reading in this forum that its not good to request M114 too many times.
none of the panels have a joystick. But you can look at the code to determine how they get current position. If you look closely you will see that it only updates once per second, and it does not have to request the position by using an Mxxx command so the request is very lightweight.
I am currently working on a joystick module which lets you move axes with an analog joystick and have gotten it to work at a basic level so far. I have submitted for the Smoothie contest so hopefully I can get it done soon after the Feb. deadline.
Once I am done, I can try to figure out how to submit through Git so you can all give it a try.