586,009 active members*
4,895 visitors online*
Register for free
Login
IndustryArena Forum > CNC Electronics > Servo Motors / Drives > Elm-Chan smc servo controller programming and tuning
Page 1 of 5 123
Results 1 to 20 of 98
  1. #1
    Join Date
    Jul 2005
    Posts
    88

    Elm-Chan smc servo controller programming and tuning

    Hi all,
    I am building this dc servo controller :
    http://elm-chan.org/works/smc/report_e.html

    I am a manufacturing engineer and have no background on microcontrollers. I need to know how to input the parameters to the controller from the PC ? What program is used.
    Till Now I have not programmed the at90s2313 MCU although i have the programmer but because in the firmware of th smc there are three files:
    avr.inc
    smc.asm
    smc2.asm
    and i don't know which one is the source code that i need to program th MCU and how will I enter the parameters. So I need help in this.
    Thank you in advance.
    Edit/Delete Message

  2. #2
    Join Date
    Sep 2006
    Posts
    104
    You will have to download Avrstudio from this link: http://www.atmel.com/dyn/products/to...p?tool_id=2725

    I don't know the difference between the two versions, perhaps you can find that detail on the original page(also note that there is a even newer version for the more modern attiny2313).

    You use one of the .asm files and assemble it to a .hex file in avrstudio(the .inc file is also needed). After that step you program the hex file into your microcontroller.

    To get you started using AVR's go to these pages:

    http://www.avrbeginners.net/
    http://www.avrfreaks.net

  3. #3
    Join Date
    Jul 2005
    Posts
    88
    Thank you so much CountZero,
    I will try to learn the avr programming by avr studio. but i still don't know how to input the online commands mentioned in the controller page
    http://elm-chan.org/works/smc/report_e.html
    It seems that a software is used to input these commands from the PC to the controller and this picture is put on the page showing the commands written in the PC
    http://elm-chan.org/works/smc/term.png
    So if any one can help me how to input these online commands i will be grateful.

    Thank you again ContZero

  4. #4
    Join Date
    Sep 2006
    Posts
    104
    Any terminal should word, for instance hyperterm or whatever the one shipped with windows is called. Don't worry about that step yet... focus on assembling the file and programming your AVR

  5. #5
    Join Date
    Jul 2005
    Posts
    88
    Thank you CountZero I appreciate your help and patience, but I didn't understand this :
    Any terminal should word, for instance hyperterm or whatever the one shipped with windows is called
    Thank you again for your patience

  6. #6
    Join Date
    May 2006
    Posts
    2420
    Hyperterminal is the program you use to configure the PID settings, once the micro is programmed and working.

    Use a serial cable, plug it all in and start Hyperterminal, you will have to set up the correct baud rate, usually 9600 for this kind of thing.

    Once Hyperterminal is happy and connects to the Elm-Chan drive you should get some kind of menu that you can use to configure your PID settings.

    You must have the micro programmed with the original code BEFORE you try this, as CountZero mentioned you will need to get this sorted before you can use hyperterminal. I think the latest asm file is smc3a, at least out of the ones I have stored on my HDD, and I assume the compiler will need the .inc files to program the micro (I haven't got that far yet).

    Good Luck !

    Russell.

    *EDIT... just checked and the baud rate is 38.4k bps and the serial data format is N81.

  7. #7
    Join Date
    Jul 2005
    Posts
    88
    I am very grateful to you epineh for the help. You made it clear to me
    but where can I get the (Hyperterminal) software from?
    Thanks again

  8. #8
    Join Date
    May 2006
    Posts
    2420
    Hyperterminal comes with windows, goto : Start/All Programs/Accessories/Communication/Hyperterminal

    This will only configure the PID settings and the operation modes, you will still need to program the AVR first, something like the STK500 and AVR Studio or search for an AVR programmer that you like.

    Russell.

  9. #9
    Join Date
    Jul 2005
    Posts
    88
    Thank you Russell I will try that. I appreciate your help and patience with me.

  10. #10
    Join Date
    Jul 2005
    Posts
    88
    Can anyone explain how can i make one .hex file from two assembly file ?
    I mean how can I put the .asm file with the .inc file in the hex file ?
    Thank you

  11. #11
    Join Date
    Sep 2006
    Posts
    104
    Use AVRStudio

    download from www.atmel.com

  12. #12
    Join Date
    May 2006
    Posts
    2420
    I have just made a new HEX file for the Elm Chan drive, I have made one little change, I set the default mode to 3 so when you reset the drive it will go into servo drive, this way you don't have to connect up serial comms to restart the drive, this will be especially handy while tuning, as the drive will be reset frequently.

    Be warned though, this will make the drive go into servo operation as soon as it is powered up, so be ready for "interesting" things that may happen

    Just rename the file to a .hex extension and it should be fine.

    Also be aware that I haven't tested this yet, but I compiled the same way as I did the original code and that worked for me. I should be running the drives up in about a week.

    Cheers.

    Russell.
    Attached Files Attached Files

  13. #13
    Join Date
    May 2006
    Posts
    2420
    I just noticed in your first post you are using the AT90S2313, this is a different chip than the standard Elm Chan documentation lists, which is the ATTiny2313.

    I am not sure if the AT90S2313 will work the same, I guess it should, but the include file for the original code is for the ATTINY2313 which is what I have compiled, that would have to be changed at least.

    Russell.

  14. #14
    Join Date
    Jul 2005
    Posts
    88
    Thank u epineh . But the file u attached is too large for the AT90S2313 AVR because the datasheet says it has only 2K Bytes of programmable flash memory and the hex file u attached is 4K Byte size. Am I wrong or what ?
    Thanks again

  15. #15
    Join Date
    Jul 2005
    Posts
    88
    I just noticed in your first post you are using the AT90S2313, this is a different chip than the standard Elm Chan documentation lists, which is the ATTiny2313.
    But in the schematic the MCU is AT90s2313. Do u think that they draw in the schematic a MCU and give the code for another one ?

  16. #16
    Join Date
    Sep 2006
    Posts
    104
    I think he started using the 90S313 but has later switched to the tiny2313.

  17. #17
    Join Date
    Sep 2006
    Posts
    104
    Look at the firmware marked obsolete if you want to stick with the 90s2313

    Edit: I pointed this out to you in my first reply in this thread..

  18. #18
    Join Date
    Jul 2005
    Posts
    88
    But I've just found that even the ATtiny2313 has 2K Bytes of in-system reprogrammable flash memory, Look at this datasheet :
    http://www.atmel.com/dyn/resources/p...ts/doc2543.PDF
    and this is the same problem with the AT90s2313

  19. #19
    Join Date
    Sep 2006
    Posts
    104
    Yes? they are compatible....

    The size of HEX file is always much larger than the actual data in it. Open it and take a look at it (with a text editor).

  20. #20
    Join Date
    Jul 2005
    Posts
    88
    Do you mean I shouldn't care about the size of the text file that appears to me? If so then how can I know the actual size of data that will be input to the MCU?
    Thank u so much

Page 1 of 5 123

Similar Threads

  1. Replies: 3
    Last Post: 08-08-2016, 08:55 AM
  2. Elm Chan SMC Servo Controller Help!
    By alielsayid in forum Open Source Controller Boards
    Replies: 1
    Last Post: 02-25-2014, 07:26 AM
  3. elm chan dc servo controller
    By visky in forum PIC Programing / Design
    Replies: 0
    Last Post: 01-28-2014, 05:06 PM
  4. Elm Chan ( MCU ) + UHU ( power ) = BG DC SERVO
    By emilcnc in forum Open Source Controller Boards
    Replies: 3
    Last Post: 01-02-2010, 11:44 PM
  5. Elm-Chan smc servo controller programming and tuning
    By waleed alhadidi in forum Open Source Controller Boards
    Replies: 3
    Last Post: 04-18-2008, 09:00 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •