heung
New Member
Posts: 12
|
Post by heung on Feb 2, 2018 1:34:26 GMT -7
Hello, you guys. I am an Korean. I was so glad to see information about the dobot based on the open source.
It encouraged me to think of making my own dobot for myself, even though I am not an experienced person in the field.
Unfortunately, I had a difficulty to drive step motors to be operated via the source. I have tried to use the boards
(Arduino mega 2560 and Ramps v1.4). Here is what I have done till now.
---------------------------------------------------------------------------------------------------------------------------------------------------------- 1. put the specific hex file into Arduino 2560 through Xloader
2. tried to operate motors being linked to the Ramps by Repetier-host
3. there is no reaction after what signal I sent on the program
*There are many folders I couldn't fully comprehend from what compressed file I downloaded.
This is the address I had connection with.
-->https://github.com/maxosprojects/open-dobot/releases/tag/1.3.0 ----------------------------------------------------------------------------------------------------------------------------------------------------------
To be honest, I know that I am so inexperienced that I might had better buy a real dobot on the internet. However, I don't want to give up until I post what I will achieve here.
So, if possible, I want to know how to resolve such the problem. Let me fulfill this interesting project on my own for this year. Thank you for your consideration.
|
|
|
Post by Max on Feb 2, 2018 17:49:13 GMT -7
Well, it wasn't designed for beginners, that's for sure. First, open-dobot has nothing to do with Repetier. RAMPS was used only to hook up Arduino with the motors. 1. Have a look at wiki on everything regarding RAMPS and open-dobot. 2. I2C accelerometers, that are on wiki, are going to be a pain. You'll need some ferrite beads. I never had time to resolve #26. If you are able to code for arduino you could replace GY-521 with something that sits on SPI bus - much less prone to interference.
|
|
heung
New Member
Posts: 12
|
Post by heung on Feb 3, 2018 20:42:50 GMT -7
Thanks for your sincere reply. I felt innocent after reading what comment you had written. I should have been skillful to deal with the project. Anyway, I am glad that you had provided me with the alternative I need to try. Thank you
|
|
heung
New Member
Posts: 12
|
Post by heung on Feb 4, 2018 19:29:37 GMT -7
Hi, Max. Good morning to you in my time. Well, I have been trying to accomplish my goal with your advice. While doing on my own, I had some question to you. I hope you would feedback something important to me like the last time. -------------------------------------------------------------------------------------------------------------------------- 1. Is there any method to check whether what board I made works out properly? Well, I want to operate what I finally make manually. And also I had been using hardware (Arduino mega 2560, Ramps v1.4, A4988 drivers, stepping motors used for 3D printer). -------------------------------------------------------------------------------------------------------------------------- Thank you for your kindness. Take care
|
|
|
Post by Max on Feb 5, 2018 15:07:25 GMT -7
|
|
heung
New Member
Posts: 12
|
Post by heung on Feb 20, 2018 1:22:01 GMT -7
Hello, Max. As heard from what advice you had mentioned, I have been studying for programming. Even though I am not sure whether I am going well, I didn't give up. After downloading the source files, I have a question to understand their features. When I opened what I downloaded, There are four folders; application, docs, firmware and legacy. I could understand the folder named docs..but not other things unfortunately. To be honest, I postponed my ultimate goal, which is to move the robot arm with accelerators. Instead, I wished to move it manually by importing the codes into my hardware boards. I found you are busy enough to help other users. If possible, I look forward to reading what you would say for me. Thank you for your time spent by this remark.
|
|
|
Post by Max on Feb 21, 2018 22:01:05 GMT -7
You don't need legacy code. Application is the python code that is executed on your computer/RPi and consists of driver, sdk and kinematics functions. You can use the driver to control the motors on low-level, e.g. how many steps to execute in a period of time or set the frequency for the STEP signal (the higher frequency, the faster the motor goes). SDK provides higher level control using coordinates, provided you have calibrated/set the initial angles right - reference frame. There are a few examples how to use both the driver and SDK github.com/maxosprojects/open-dobot/tree/master/application/pythonFirmware is firmware, nothing to add. Not sure what you were expecting to hear, you never said what was your goal.
|
|
heung
New Member
Posts: 12
|
Post by heung on Feb 22, 2018 1:17:13 GMT -7
Thanks for your consideration, I hope I would give a sense of being thankful to you in person! Well, my ultimate goal is to make a dobot on my own. But as you said, it is not easy for me to achieve as quickly as I expected. Therefore what I want to do now is to operate all motors properly. Here is what I want to do; www.youtube.com/watch?v=6Ct91PJZqGc This shows how a 3D printer was operated by what signal I gave via a software. I hope to operate what I will make in the same way if possible. What I understood from your description is that python codes can help a dobot with its operation. That means, I guess, don't I need to take advantage of the program, Arduino 1.X.X ? I have had no idea of how to import python codes into boards like Arduino mega and ramps till now. I am so thankful to receive all of your advice. Take care
|
|
|
Post by Max on Feb 28, 2018 22:02:51 GMT -7
I'm not 100% sure I got you right, but I'll try to answer. You'll need Arduino IDE installed to be able to compile and upload the firmware using one of the prepared scripts github.com/maxosprojects/open-dobot/tree/master/firmware/upload - pick one for ramps according to your OS and set constants AVR_DIR and SERIAL_PORT according to your system in the script. Alternatively, you can download pre-built firmware from github.com/maxosprojects/open-dobot/releases and upload it using this script github.com/maxosprojects/open-dobot/blob/master/firmware/tools/upload-external-hex.sh (that one has no windows version, but it's straightforward). That only needs avrdude. If you happen to have avrdude installed somehow and not Arduino IDE then use upload-external-hex.sh script, otherwise there is no reason not to use the upload-ramps-version script that compiles everything and uploads, especially if you're planning to change the firmware. Arduino IDE itself isn't used, only some of the non-GUI components that are installed with IDE, like avr-g++, avr-objcopy and avrdude. Python part (the SDK and the Driver) is only executed on computer, there is no python code that goes to Arduino board. After the firmware is uploaded to Arduino board you use python code with high-level commands like "go to x,y,z" which is broken into commands by the python code and sent over to Arduino board where the firmware picks it up and executes. What is sent over are commands for the firmware what to do at each 50ms segment, specifically how many steps to execute on each of the motors in each of the 50ms segments, which amounts to speed.
|
|
heung
New Member
Posts: 12
|
Post by heung on Mar 7, 2018 21:55:29 GMT -7
Max, what you have done for me is right !! I am so happy to be answered How could I compensate something for you? Really thanks, Max. I was trying all of what I can do based on what you mentioned.Though, while proceeding with my own work, there is a problem showing an weird statement. This link would make you understand what i meant; www.youtube.com/watch?v=TFkpfj0mtcc&feature=youtu.be (It was quite hard for me to post some pictures of what I faced here) By the way, I fould a file, avr-g++, on my laptop. Is it related to the process I will do after hearing your additional advice? I hope you would suggest a solution for me..I have received some information thanks to you. How dare I can proceed with the work without you? I look forward to meeting you here. Take care, my best tutor!
|
|
|
Post by Max on Mar 9, 2018 14:12:39 GMT -7
I didn't get what you were trying to say regarding avr-g++, but from the video it's clear that you have Arduino IDE installed, in which case don't bother about avr-g++ itself and follow the steps below.
1. When I said "...pick one for ramps according to your OS..." I meant to use upload-ramps-version.cmd on Windows and *.sh on Linux/MacOS. 2. Serial port is device, not its speed. On Windows you'll have serial ports as COMn where n is a number. One of them is your Arduino when it is connected and powered. 3. AVR_DIR should be full path to Arduino IDE tools. In your case it is "C:\Program Files (x86)\Arduino\hardware\tools\avr".
Perhaps consider starting with something simpler. I don't think open-dobot is the right choice for you at this time. I certainly haven't planned tutoring anyone here.
|
|
heung
New Member
Posts: 12
|
Post by heung on Mar 10, 2018 7:50:20 GMT -7
Really thanks, Max. And speaking frankly, what you said is right.. I am kind of innocent of this field. I was just greedy to achieve what I want to try. Sorry to bother you, Max. If you felt I am quite impolite, I would make an apology of what I have asked you for
|
|
heung
New Member
Posts: 12
|
Post by heung on Mar 12, 2018 0:26:42 GMT -7
Hello, Max. I am in success to have connect to my board finally. Many thanks!! I think i am in the last stage to achieve my goal, which is to operate motors. Here is ; www.youtube.com/watch?v=_7zfjbVwFNU&feature=youtu.beAs you know after watching it, I am stuck on the issue.. Would you let me know what commands I will give there to operate motors Plus, here is kind of hard to post a picture of what I connected on my board. Actually I didn't use registers, which might be necessary, on my drivers... Does it affect my work?
|
|
|
Post by Max on Mar 12, 2018 3:35:39 GMT -7
That example that you executed is supposed to make motors move provided accelerometers are GY-521.
If accelerometers are not GY-521, then there are two options: 1. replace the code in open-dobot that tries to read GY-521 with the code that would read your accelerometers 2. comment the line that requests accelerometers "driver.GetAccelerometers()"; if that line isn't executed firmware doesn't get stuck trying to read them (if my memory serves me well)
The rest you can find in that example. Keep in mind that it is an example of how to use low-level interface. If you want high-level interface use SDK examples (that import Dobot instead of DobotDriver).
I have no idea what that is supposed to mean:
|
|
heung
New Member
Posts: 12
|
Post by heung on Mar 13, 2018 0:20:33 GMT -7
Thanks to your advice, I found that my motors operate well by the example code ! I am so thankful, Max. When I said "I didn't use registers, which might be necessary, on my drivers... Does it affect my work?", there are only drivers without any registers; it would be helpful to conceive what I meant by watching a video clip Here, www.youtube.com/watch?v=mWCeb1mQ2aE&feature=youtu.beNow I will try to buy GY-521 to operate them with high-level interface. while what I will buy is delivered to where I live, I have a question. When executing the python file, example-sdk, I didn't find any motion from motors..So is it necessary to assemble GY-521 with what board I made before executing it? Here, www.youtube.com/watch?v=z36VlzAuMLE&feature=youtu.be
|
|