Igot the low memory warning when I uploaded to an Uno, but everything seemed to work OK so I doubt that the low memory will be any problem. But I only tested with the serial monitor sending commands cause I don't have the software so YMMV. I think that the Estop and kill switches are the same thing.
I would try to help if I knew what "something is wrong" means. What code did you change? Why did you change the code? What were the changes? What is supposed to happen with the changed code? What does happen?
hey all ! I'm having trouble getting this to work.. I've tried the combinations of script across posts 10, 33 and 37 but so far only controlling motor one on axis 3 in DF.. do you think you could post the complete script? I saw you were worried about copyright but I can absolutely 100% guarantee you its fine to post.. I actually know Dyami Caliri, the author of dragon frame and his brother Jamie.. They are cool AF and the fact they even hand out the DF moco sketch with their awesome software is precisely because they're all about open source .. Recently I asked Jamie for the schematics to his arc moco octodrive because its discontinued (actually he's just sold the last Volo to a studio I work at in London and closed down Arc moco for good!) and he sent me the entire design document with literally every component, receipts to show me where he bought all the parts, graphics for screen printing the case.. the works.. believe me when I say you can share the code! (I actually shoot stop Frame and was an early adopter of DF back when It was dragon stop motion.. over the years the feedback we've given them has resulted in quite a few extra features.. Dyami is actually working on one of my suggestions as we speak, namely the addition of lighting profile menu that lets you add fixtures into the DMX window with blocks of channels colour coded with each channels function already names on each channel!) If you get any heat for posting the script ill gift you my house to pay your legal bills! ;-p.. sincerely Max Halstead.. Stop motionographer (look me up if u think I'm bullshitting you) X
scratch that! got 3 motors working (was being a dozy ass - the motors I'm using have 5 holes and had them plugged in so only 3 pins were connected!) struggling to get the fourth Motor to work though.... did I read somewhere you need to short two pins somewhere on the shield? any advice would be much appreciated! Max
First off, thank all of you that have been working on this - there's certainly isn't much around in terms of documentation on how to set this all up. I've been through this entire thread and with the exception of the salesarea link from early on in the thread being dead am assuming I have everything right. I actually downloaded the sketch from post #10 and made the amendments as noted in post #37, overwriting the sketch that was supplied with DragonFrame (I kept a backup).
I'm getting a compile error that I can't find any reference to so assume I must be having a unique issue? I'm using an Arduino Uno with CNC shield 3.0 and 8825 Stepper Drivers. Other than the board selection I've made in Arduino though I don't think this is hardware related...I'm just trying to verify the sketch and getting the error below. I'm hoping someone might have some idea what might be wrong here. I know enough to be dangerous but not enough to troubleshoot specifics like this.
/var/folders/2d/0b58mqnx2ybfqvbnj50b57yr0000gn/T/arduino_modified_sketch_626896/DFMoco.pde: In function 'void setup()':
DFMoco:573:31: error: 'setPulsesPerSecond' was not declared in this scope
setPulsesPerSecond(i, 5000);
^
DFMoco:647:20: error: 'sendMessage' was not declared in this scope
sendMessage(MSG_HI, 0);
^
/var/folders/2d/0b58mqnx2ybfqvbnj50b57yr0000gn/T/arduino_modified_sketch_626896/DFMoco.pde: In function 'void loop()':
DFMoco:873:29: error: 'updateMotorVelocities' was not declared in this scope
updateMotorVelocities();
^
DFMoco:875:26: error: 'processSerialCommand' was not declared in this scope
processSerialCommand();
^
DFMoco:887:23: error: 'nextMessage' was not declared in this scope
nextMessage();
^
DFMoco:901:28: error: 'sendMessage' was not declared in this scope
sendMessage(MSG_MP, i);
^
/var/folders/2d/0b58mqnx2ybfqvbnj50b57yr0000gn/T/arduino_modified_sketch_626896/DFMoco.pde: In function 'void updateMotorVelocities()':
DFMoco:922:14: error: 'hardStop' was not declared in this scope
hardStop();
^
/var/folders/2d/0b58mqnx2ybfqvbnj50b57yr0000gn/T/arduino_modified_sketch_626896/DFMoco.pde: In function 'void setupMotorMove(int, int32_t)':
DFMoco:1005:50: error: 'calculatePointToPoint' was not declared in this scope
calculatePointToPoint(motorIndex, destination);
^
/var/folders/2d/0b58mqnx2ybfqvbnj50b57yr0000gn/T/arduino_modified_sketch_626896/DFMoco.pde: In function 'void hardStop()':
DFMoco:1017:16: error: 'stopMotor' was not declared in this scope
stopMotor(i);
^
/var/folders/2d/0b58mqnx2ybfqvbnj50b57yr0000gn/T/arduino_modified_sketch_626896/DFMoco.pde: In function 'void processGoPosition(int, int32_t)':
DFMoco:1078:31: error: 'sendMessage' was not declared in this scope
sendMessage(MSG_MM, motorIndex);
^
DFMoco:1082:31: error: 'sendMessage' was not declared in this scope
sendMessage(MSG_MP, motorIndex);
^
/var/folders/2d/0b58mqnx2ybfqvbnj50b57yr0000gn/T/arduino_modified_sketch_626896/DFMoco.pde: In function 'void processSerialCommand()':
DFMoco:1306:28: error: 'sendMessage' was not declared in this scope
sendMessage(MSG_HI, 0);
^
DFMoco:1404:142: error: 'setupBlur' was not declared in this scope
setupBlur(motor, userCmd.args[0], userCmd.args[1], userCmd.args[offset + 1], userCmd.args[offset + 2], userCmd.args[offset + 3]);
^
DFMoco:1445:62: error: 'jogMotor' was not declared in this scope
if (jogMotor(motor, userCmd.args[1], &destination))
^
DFMoco:1460:45: error: 'inchMotor' was not declared in this scope
inchMotor(motor, userCmd.args[1]);
^
/var/folders/2d/0b58mqnx2ybfqvbnj50b57yr0000gn/T/arduino_modified_sketch_626896/DFMoco.pde: In function 'void sendMessage(byte, byte)':
DFMoco:1497:19: error: 'nextMessage' was not declared in this scope
nextMessage();
^
exit status 1
'setPulsesPerSecond' was not declared in this scope
As a follow up. I had been working all along with the .pde file from DragonFrame direct as well as with the file from post #10 and was getting the error above. At some point I realized I hadn't installed my upgrade to DF v4 and in doing so noticed the new DFMoco file provided by DF includes an INO file. I believe the contents are still the same but didn't compare line for line.
In any case, I tried the INO file without any edits and it verified. I then made the edits as noted here and it all compiled and flashed without error. I now have four steppers running and controlled by DF4.
hello everyone and thanks for reading and your help, I am trying to configure my arduino with a cnc and work it through dragon frame and it does not work for me I see here that there are some changes to be made to the pin but in reality I do not know anything of this, if any of you could put a photo pointing out where it is that there is to make the change many thanks
Did you set up the enable pin? danielroberthope discovered that the original code did not enable the steppers in the code (see reply #26). The enable pins are, it seems, hard wired LOW in the original author's circuit.
First off I have to tank Mr GroundFungus for his amazing help with this I'd been swearing about this for ages. I'm consistently humbled that people will give their expertise with no expectation of payment to help people like us ..
Just a tiny "Additional Information" , some of the PCBS have a "Generic" Nano on them ... I found this program did not work with them and you needed a genuine Arduino Nano, otherwise it failed to work.
I'm about to embark on the same journey that so many of you have but I just need to ask one question before I spend lots of money building a whole motion control rig. Can't afford to waste any money right now.
Once you get the Arduino Uno communicating with Dragonframe is it possible to use the video recording functions? I don't need stop motion, I need video functionality. As in controlling all the stepper motors, settings keyframes and then hitting play and it plays through in real time.
"Note: This is NOT a REAL TIME solution.
This is a simple, low cost, motion control solution for stop motion and time-lapse.
Dragonframe will move all of your motors to position for frame 1, then shoot, then
move all of your motors to position for frame 2."
Thanks to open source, the software and hardware to create sophisticated stop motion animated films is more accessible than ever before. In this blog post I will walk you through installing software that is used by major animation studios today. You can achieve incredible results with a smartphone, or elevate your creativity with professional gear.
Various production companies have made full-length stop motion animated films, short format videos, and cut scenes with Dragonframe. The list of studios leveraging Dragonframe includes Aardman Animations, Bad Robot Productions, BBC, Laika, Lucasfilm, Netflix Animation, and The Jim Henson Company.
If you are on a budget, you can repurpose the camera of a device you already own. Dragonframe works with Android and iOS devices with cameras, USB webcams, and a wide range of digital cameras from every major manufacturer. Those using a digital camera will need a live view over USB, which is used for video assist purposes in the animation. Advanced users composing sophisticated shots will appreciate a camera with aperture lock and focus control.
While not a prerequisite, a low cost motion control rig driven by an Arduino helps maintain smooth camera movement at a consistent speed for motion control in stop motion and time lapse work. On the other end of the spectrum, professional animation studios will opt for a rack mountable motion control coordinator, which can process multiple motor signals at once.
3a8082e126