This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/DRV10983EVM-TB: Using Targetboard and Launchpad

Part Number: DRV10983EVM-TB
Other Parts Discussed in Thread: DRV10983, MSP430G2533, MSP430G2553, USB2ANY

Tool/software: Code Composer Studio

I am new to this field and am learning to use the Target board and Launchpad to program DRV 10983. I have a motor spinning successfully and am wanting to program the 10983, with program data from the EVM , using the Target board plugged on to the Launchpad.

Guidance i need is in matter of how to transfer the file saved from the GUI to Register_Values.h' with the register values entered as is suggested in para 3 of Targetboard programming guide. I am not able to follow and use the following instruction. quote........

Figure 12. Example Register Settings Entered into the Programming Tools Code
3. Define the register values in the programming code to match the tuned values from the GUI. The
downloaded project has the registers defined in ‘Register_Values.h’, but these need to be changed to
the tuned values from the GUI. As shown in Figure 12, the defined register values in the code (right
side) need to match the registers in the file saved from the GUI (left side). To open
‘Register_Values.h’, expand the project in the project explorer window and double click
'Register_Values.h'. Manually enter each register value from the GUI file into the program code. Make
sure to save ‘Register_Values.h’ after the new register values are entered.

..................unquote

I would be obliged if someone on the forum can guide me.

  • Hi Jayant,

    Our experts have been notified and should reply soon.
  • Hello Jayant,

    Thank you for your question.

    Transfering the Register Values from the GUI output file into the Register_Values.h file is done manually.

    Once the GUI file is generated, open the CCS Projec, then the Register_Values.h file. Now we have to manually type in our desired register data into this file.

    An example is explained below:

    When looking at the output file from the GUI we may see a cell that reads like this (copied from users guide).

    DRV109830x200x39.

    This corresponds to the following information, I have broken the above string down to parse the information.

    DRV10983        Device:              DRV10983

    0x20                  Register #:        Reg_20

    0x39                  Data:                 0x39

    Now we must transfer the data to the Register_Values.h header file, manually.

    It is important that we ONLY change the data values in the header file.

    We open the Header file and type the following.

    #define Reg_20  0x39


    So lets review again. If the GUI file output for your motor produced this result in row 7 of the excel sheet:

    DRV109830x260x34

    Then, in the Register_Values.h file we will need to change the line:

    #define Reg_26  0xBB

    to

    #define Reg_26  0x34

    Once all of the #define statements in the Register_Values.h file correctly correspond to the data produced in the GUI file we will need to re-compile the CCS project and re-Flash the MSP430 launchpad. Now the software will write your specific motor parameter data to the DRV10983 device.

    Again thank you for working with our device. If you need any more support or found that this was helpful please let us know.  

    Regards,

    Michael Schneider

    Motor Applications Team

  • Hello Michael,

    Thanks a lot for the detailed mail and efforts put in to help me out.

    I tried to follow steps as mentioned in your mail and yet have some difficulty.

    That we have many proto type motors working successfully in the field and pressure is to start production. Due to paucity of time I was wanting to solder socket in place of DRV and use the EVM to flash the ICs placing them in the socket. I decided against it and bought the Targetboard and Launchpad.

    Back to your mail.

    Being a learner as yet, I may bother you more in days to come.

    Having tuned the motor I looked up the CSV file and find 12 cells with data like you have mentioned in your mail.

    Next I opened a new project with file / new / project /CCS project
    selected target as MSP430Gxxx family, device MSP430G2533
    named the project
    selected compiler TIv16.9.0.LTS
    Empty project
    Finish

    Please help me as to how to locate the Register_Values.h file.

    After this you mentioned that I have to compile the project. Do you mean I have " Build" the project?

    I did not find " flash " command in the CCS, can you help me about this as well?

    I assume there is no debugging required.

    Thanks for your time reading above coming from a complete novice.

    Cheers,

    Jayant Arora
  • Jayant,

    There is no need for you to create the CCS project yourself. We here at TI have already done this for you. You can obtain the CCS project by copying the following link to your browser and following the instructions to download the software.

    www.ti.com/.../sloc316

    Next unzip the file and save it to a folder (name this folder whatever you would like).
    Open up CCS and click on Project-> Import CCS Project. Navigate to the folder you just saved. Click 'OK' and then 'Finish'.

    Now you should have the CCS project opened up in your CCS workspace.

    There should be 2 files in the project.
    I2C_MSP430G2553.c
    Register_Values.h

    Once you have this project opened follow the instructions listed in the previous post (I have copy and pasted them again at the end of this message for your reference.)

    Once completed compile the Project with the Build command and then click Debug. You will not need to debug the code but this will flash the MSP430 device with the correct software.

    Now the MSP430 will have the correct code with your specific register settings and should effectivly program the DRV10983.

    Thanks for using the DRV10983!
    Please feel free to ask for any more help and/or confirm that the above information was effective in helping you resolve your question.


    Regards-
    Michael Schneider
    Motor Applications Team


    *****Previous Instructions below******

    Once the GUI file is generated, open the CCS Project, then the Register_Values.h file. Now we have to manually type in our desired register data into this file.

    An example is explained below:

    When looking at the output file from the GUI we may see a cell that reads like this (copied from users guide).

    DRV109830x200x39.
    This corresponds to the following information, I have broken the above string down to parse the information.

    DRV10983 Device: DRV10983
    0x20 Register #: Reg_20
    0x39 Data: 0x39

    Now we must transfer the data to the Register_Values.h header file, manually.
    It is important that we ONLY change the data values in the header file.
    We open the Header file and type the following.

    #define Reg_20 0x39

    So lets review again. If the GUI file output for your motor produced this result in row 7 of the excel sheet:

    DRV109830x260x34

    Then, in the Register_Values.h file we will need to change the line:

    #define Reg_26 0xBB
    to
    #define Reg_26 0x34
  • Michael,

    Thanks a million.

    I appreciate your prompt response. I was expecting it later this evening and that I received it now I will get cracking on it. Hopefully I will be able to get back to you with good news soon.

    Thanks,

    Cheers,

    Jayant
  • Michael,

    I followed your advice.

    Having completed the debugging I mounted the target board and clicked on debug again so as to flash the content of the registers on to the DRV. I hope I was correct in doing this. Please see a partial screen shot below.

    In addition, I read elsewhere that after debugging pressing switch P1.3 transfers register codes to DRV and confirmation is by LED glowing. I pressed the switch but did not see LED glow. Would you throw light as to what may have gone wrong? 

    Lastly, will you also be able to guide about how to read the content of flash of DRV.

    Thanks,


    Cheers,


    Jayant

    In addition the

  • Jayant,

    If you have followed the above steps then the code should be working. Did you make sure to run the code by pressing the run button?

    The software in the project writes to the 12 registers and reads them back to verify that they are the same. If the LED does not light up this means that either the code was not run or that the registers did not get properly programmed, this would only happen if vcc did not get up to 22V for the DRV10983. Make sure that the VCC of the target boad is 22V.

    Also make sure to verify that the part is oriented in the correct way in the socket. And only swap out or put in the part or connect the target board when everything is powered off as doing either of these while the Launchpad is plugged in will result in damaging the board and the part.

    If you wish to develope software that reads the regsiters and displays them to yourself you can use this project as an example and follow the instructions in the datasheet for I2C communication with the device, as well as the users guide for the target board.

    Also make sure that the data you type into the Register_Values.h file has the correct format

    #defind Reg_X 0xYZ

     

    Regards,

    Michael Schneider

    Motor Applications Team

  • Michael,

    Thanks for prompt response.

    Well, I had not used run button to run the program. After pressing run upon pressing the P1.3 switch the LED lit up. Is it fair to assume that all is well? The proof of the pudding......

    We will give the programmed DRVs to production team for assembly and let you know the good news !

    Thanks for all the help in this regard.

    I will try out your suggestion for reading the content of flash after programming DRV. 

    Thanks again.

    I have attached the screen shot taken after debug \ run \ press of P1.3. I hope you will find everything alright.

    I will get in touch with you once the the PCBAs, using the programmed DRVs, are working alright.

    Cheers,

    Jayant Arora

  • Jayant,

    Glad to hear everything is working. Yes, the LED lighting up should indicate that the DRV10983 part was correctly programmed with the data you indicated in the Register_Values.h File. Everthing looks good in your attached screenshot.

    Wish you luck,
    Michael Schneider
    Motor Applications Team

  • Hello Michael,

    I am back with good news that after I programmed the DRVs and sent for trial run of assembly we received the PCBAs. We are able to run the motors with all the assembled PCBAs albeit with little deviation. On the EVM the DRV heats up to 45 degrees C whereas with the same registers settings flashed on the chips and used on production boards the chips heat up to 62 degrees. The speed of motor is also lower, from 230 RPM in case of EVM down to 180.

    For programming each chip I used the process as suggested by you and as described in mails above above with screen shots.

    I looked up the circuit around the DRV and component values and find them identical both in case of EVM and the production board.

    Any clue as to what may be going wrong?

    Another question from this newbie, is there a way I can connect the USB2ANY to this board, I got header for SCL, SDA and ground. Basically I would like to use the EVM GUI with this PCBA as well.

    Thanks for your time reading the above and awaiting your response.

    Cheers,

    Jayant
  • Jayant,

    Glad to here that the motor is running on all the PCBAs!

    In regards to your thermal issue where the device is heating up to 62 degrees on your PCBAs as opposed to 45 degrees on the EVM. This is a layout issue. Please verify that you have followed the layout guidelinesin the datasheet. Another resource that may help you resolve this issue is the EVM design files located on this page http://www.ti.com/lit/zip/sloc311 under "Design Files"

    Key things to keep in mind is the ground plane below the device. This ground plane will act as a heat sink and dissipate the heat from the device. Another area to keep in mind is your choice of copper thickness. Make sure that you have developed the PCBAs according to the copper thickness guidelines. If both the ground plane and the copper thickness meet requirements then this should quickly resolve the thermal issue you are seeing

    As for the RPM drop from the EVM to the PCBAs, this is also most likely a layout issue. I recommenddownloading the design files for the EVM shown in the previous link and try and copy the layout as much as possible as our layout experts here at TI have maximized the EVM for optimal performance for the DRV10983.

    And finally, for your question concerning the USB2ANY, you can definitelyconnect it to your PCBAs. All you need to do is place the header onto your boards and connect the 2 communication lines SDA SCL as well as ground to the header. I don't want to sound like a broken record but referring to the EVM would be a great resource on how to bring those two wire from the device to the header for the USB2ANY ribbon wire. Once you have SDA/SCL and ground connected properly to the header on your PCBA the USB2ANY and the EVM GUI should work just as it does for the EVM.

    I hope this guidance will help you-

    Michael Schneider

    Motor Applications Team

    ------------------------------------------------------------------------------------------------------------------------------------------------
                  Please Click the Verify Answer button on this post if your question has been answered.  Thank you
    ------------------------------------------------------------------------------------------------------------------------------------------------

  • Hello Michael,

    Once again thanks for your prompt response. As an old saying goes.... so near yet to far away...... Having programmed the ICs on the target board and handing over to the production team I thought my job was done. That our testing guy came back with problem of heating I wrote my last mail to you.

    All that you said about the layout, area of ground plane and thickness of copper, please be informed that we had taken care of all these aspects and followed the design / layout of the EVM board.  

    We also followed the above suggestions while doing the layout. I wonder what else did we miss that may be contributing to the heating of IC. May I request you to give me further hint for seeking out the cause?

    After experiencing the heating of the PCBAs we put the EVM under further rigorous testing, played around with acceleration current settings, first order acceleration and various other parameters. As long as the motor started and rotated without any hiccups we did not find the IC heating.

    Conclusion once again points to the PCBAs, I am now contemplating to connect the USB2ANY to the PCBA and use GUI to read / reprogram the IC. Do you think this will throw some light on what may be going wrong?

    Thanks once again.

    Cheers,


    Jayant Arora

  • Jayant,

    I would like to help you with the PCBA layout and design. I have requested to be your ‘Friend’ on the E2E forum. If you accept we can communicate privately off-line and discuss the problems you are seeing in greater detail so we can quickly come to a solution and get you ramping up to production.

    Please send me a private message when you are available and we can work together to resolve this issue.

    Regards-
    Michael Schenider
    Motor Appliactions Team