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.

Regarding previous thread with Chris Clearman about the DRV8312-C2-KIT and DRV8312-69M-KIT

Other Parts Discussed in Thread: DRV8312, CONTROLSUITE, MOTORWARE

I purchased the DRV8312-C2-KIT.  I see it has a LMS3818 control card mounted.  I take it from our previous exchange, for me to run the Sensored BLDC project or any of the other projects within Control Suite  you mentioned, I'd need to swap out the LMS3818 card for the F2803x card (C2000) I have mounted on my other baseboard?

 

Erich

  • Yes you can replace it with Piccolo F28035 controlCARD.

    Regards,

    Gautam

  • I have a couple of related questions regarding this baseboard control card combination.  I tried running InstaSPIN Bldc.  The first time, it would not connect.  The second time immediately upon starting the application it recognized the TI supplied M3 Stellaris and I ran the supplied motor successfully.

    The third time I swapped out the Stellaris card for a Concerto card F28M35H52C1 M3....which is a card that came with the two motor kit I'd purchased previously.  Yet when I selected that device within the Connection Wizard the application fails to connect.  Subsequently it failed to connect to the original Stellaris card when I swapped that back in.  Any ideas as to what the issues might be?  Is there a required sequence of events during connection of the experimenter's kit.  I've been powering up the PC.  plugging ing power to the base board, connecting the USB then starting the application and if necessary bringing up the Connection Wizard.

    The error received on application start-up is: Connection could not be established, (Connect target failed).

    When I try via the connection wizard, I get: Unable to connect to the selected target. please verify the target is available and ready to receive connections.  I have been trying serial connections.  That's what had worked and I would assume it still should.

  • Erich,

    If you purchased a DRV8312-C2-KIT it comes with an F28035 controlCARD, so I assume you purchased the Stellaris controlCARD. Yes, both controlCARDs work with the DRV8312 EVM, and all SW is written for the Rev D of the DRV8312 KIT.

    Re the Connection Wizard with Concerto: what are you trying to connect with, the GUI? This willl not work. The GUI requires a working binary/project on the MCU, and we haven't provided that for Concerto. I can't see why the Stellaris card wouldn't connect after that though...does not make sense unless there was damage somehow.

    Please point me directly to the GUI .exe you are using. There are a couple out there...

  • Unfortunately I got an DRV83212-LM-KIT so I got the Stellaris instead of the F28035 control Card.  However, that's not too big a deal since my ultimate objective is to have a Concerto control card F28M35H52C1 run the baseboard using HALL Effect to control speed/velocity etc.

    I now understand the InstaSPIN will not work, again, not an issue, I merely thought it would since I saw the Concerto F28M35H52C1 entry in the connection wizard.

    How about a CCS project that might work with the DRV83212/Cencerto combination.  I had thought on an earlier thread where I had mentioned using the older C2000 2xPM_Sensorless kit, you indicated it was a bit dated and I'b be better off to obtain this DRV83212 bases board since there were a few more recent examples than the one off TI 2xPM example I can not seem to get working.  Any guidance/advice would be much appreciated.

    Erich

  • Erich,

    Unfortunately there is not a TI officially supported motor control project for the Concerto/F28M3x controlCARD.  We did do a port to support a demo at a tradeshow on the TMDS2MTRPFCKIT, but it was never released officially.  For the the DRV8312 kit I also believe it was once ported for a tradeshow, but will not be released.  What I have seen that is very nice is VisSim's project for Concerto:

    http://www.vissim.com/forums/drv8312-pmsm-28m35h52

    which is based on this same diagram

    http://www.vissim.com/solutions/field_oriented_motor_control.html

     

     

     

  • Yes!!  Thanks .  That's what I was looking for: VisSim.  I had combed my emails and looked through these threads for your exact response.  Sadly I could not find it so I relied on my failing memory believing it was InstaSPIN you had referred to.  Not that I read VisSim once again I clearly remember you had mentioned that.  I shall go find it.

    However, I would not mind doing the heavy lifting to create a solid basis of a project for you guys (and, of course, me) in CCS.  All I would need is guidance when it comes to certain questions as to what files to employ and modify, whether I should develop the project for RAM or FLASH what memory locations lend themselves to the various partitions I would need to employ etc.  Any interest?  Or is the potential market so limited that it doesn't make good business for TI?

    In the mean time, I will definitely go after VisSIM

    Thanks again!!

  • Erich,

    How about I give you the project for F28M35x + TMDS1MTRPFCKIT / TMDS2MTRPFCKIT.  If you want to port this to the DRV8312 kit and share with the community I'm sure others will appreciate.  Post your email address and I'll send you an email with the .zip

     

  • super - thanks. psewllc@comcast.net

  • I got the code you zipped out to me.  Trouble is, it's the code Ramesh Ramamorthy sent me about six months ago.  I was never able to get it to run, and nobody was available to provide any guidance.  Ramesh had indicated it had run successfully before, but I could not even get a clean compile without making a number of adjustments.  I even had to assign several memory blocks to areas which were not accommodated.  If there is anyone available to enter into a dialog about these issues I'd be very happy to dust off the project and exchange information.

  • Erich,

    Sorry about that, I'm sure it's frustrating. This SW was done a couple years ago on CCSv4, I'm sure it's something to do with path settings.  Unfortunately Ramesh can't look at this at the moment, and it will probably be about 3 weeks before he can get a chance.

  • No problem Chris.  I am more than willing to poke around and see if I can resolve it on my own before then.  When Ramesh has time I'd welcome his guidance. 

    I was thinking the issue might has something to do with last minute adjustments made to get the sample up and running for the demo years back, but never found their way back to the original code.  But of course that's just a SWAG on my part.

  • Chris - I unzipped and compared your files to what Ramesh had sent previously.  They do appear to be the same.   Perhaps I might ask a question or two?  I noticed that there are files from several projects residing in the project.  Most notably the 2 Motor Project and the Solar Explorer project.  I can certainly see the reason for the 2 motor files, but what does the Solar Explorer project bring to the hybrid project?  I know I ran into issues with these files when building the project a while back and thought it best if I learned more about what they brring to the table.  Thanks....

    Erich

  • Erich,

    I believe Ramesh started with a working Concerto solar project and built from that, hence why some files include the Solar naming. You'll notice though that they are ignored from the build.

    Agree, there are many references to Solar which are confusing, and can probably be removed. You will need to update the macros.ini to point to the correct paths as well. 

     

    I was able to get everything to work in the 28x folder except there is a missing MemCopy.c file which doesn't seem to exist in the common directory in controlSUITE.

     

  • regarding memcopy.c file.  yes I believe they now rely on the C++ memcpy command.  I changed the reference memCopy to memcpy instruction or something like that and it worked.

    Back to the solar explorer issue.  I'll try the build again, but if my memory serves me correctly, I get numerous hits on several solar explorer files.  The .cmd file is only one of many solar explorer file Ramesh has included.  I'll get you more specifics later.  Ramesh had emphasized that this project is not supported by TI and I just want to reiterate, I fully understand and very much appreciate any guidance that might be provided.

  • Chris - I just tried the build with the files you sent me.  Right off the bat I get hit with a huge number of errors, many of them centered around solar explorer file.  Understand I've done nothing to change paths at this point but one of the most prolific ares centers around instructions in the SolarExplorer-DPL-ISR.asm file.  It might be related to the fact it couldn't find the F28M35x Device header file, but I believe even when I included the header file it still threw errors.

    Console Frame:

    "../SolarExplorer-DPL-ISR.asm", line 12: fatal error: could not open source file "F28M35x_Device.h"
    Compilation terminated.
    "../SolarExplorer-DPL-ISR.asm", WARNING! at line 12: [E1000] error while
                                                                 processing C code
                                                                 in .cdecls
                                                                 directive
                .cdecls   C,LIST,"F28M35x_Device.h"

    ....

    Problems Frame:

        PWMDRV_1ch_UpDwnCntCompl_INIT 3    ; PWM3A    
                ADC1DRV_1ch_INIT 2
                ADC1DRV_1ch_INIT 3
                ADC1DRV_1ch_INIT 5
                ADC2DRV_1ch_INIT 0
                CNTL_2P2Z_INIT 1
                CNTL_2P2Z_INIT 2
                MATH_EMAVG_INIT 1
                MATH_EMAVG_INIT 2

  • I had to make some changes to the macros.ini and add a variable to the project.  You will need v3.1 of the math_blocks, that's the last one that had the svgen_dq.h that was used in this project. I think it was pulled up into just an svgen.h in the version 4.x  [this is my biggest gripe about controlSUITE, the versioning of the drivers and libraries is static use. Note with MotorWare we version the entire repo that way you don't get into this situaion of having to rely on older revisions of some files!!!]

    I also had to comment out some lines dealing with F28M35x_DEVICE_H==1,

    I have no idea where this device variant is set...I couldn't find it.

    Anyways, I can get a blean build of the 28x project EXCEPT for the MemCopy.  Tell me what you changed and I'll make the change on my side.

     

  • yes - I just added in a path to the device header file.  I eliminated the console error but still get the assembler errors.  the problem with memcopy was that it's a 2803x related file and including it produced a whole bunch of new errors even though it resolved that one.  I found a thread on the forum that suggested using the instruction memcpy() in place of it indicating it would work witout all the attendant problems.  I'll get you the syntax shortly.

    As to the commented out lines, yes I ran into the same thing, the preprocessor lines referring to DSP2803x_DEVICE_H for whatever reason the C2000 isn't recognized...

    I had to comment all the preprocessor logic in Sensorless-Settings.h that distinguished between the 2803x and the 28m35 see the following

    //#if (DSP2803x_DEVICE_H==1)
    //#define SYSTEM_FREQUENCY 60
    //#elif (DSP280x_DEVICE_H==1)
    //#define SYSTEM_FREQUENCY 100
    //#elif (F28M35x_DEVICE_H == 1)

    #define SYSTEM_FREQUENCY 75

    //#endif

    leaving the only line in to set the system freq at 75mhz

    I have several more changes that I'll send shortly.

  • further progress.  I have cleaned up all the paths.  and have run into several other errors, pretty much as I did several months ago.  Prior to this I did not have anyone to bounce ideas off of though.

    One  error I get is within the F28M35H52C1_C28_RAM_SolarExplorer.cmd file.  I think you had said I didn't need these references but if I exclude the file I get more unresolved errors. 

    I get an error on line 95 ramfuncs and another on the following line 96:  .text  all the error states is: "program will not"  I'm not sure but it looks as though the entire message is getting truncated.

    I also get:


    unresolved symbol __IQ24atan2PU, first referenced in ./LVMA-Main.obj    LVMA_F28M35x_C28x          

    unresolved symbol __IQ24cosPU

    unresolved symbol __IQ24sinPU

    I found thes defined in IQMathlib.h located under  ControlSuite\Libs\Math\IQMath\v160\ include and added (linked) the file but I still get the error

    Any insights would be ost appreciated.

    Still looking into the memCopy to memcpy remedy.

  • Try using IQMath 15c

    Here's my project with just the memcopy issue remaining. I've never actually used Concerto for a project so I'm not sure all the files that are required. You could probably compare it to some of the existing Concerto projects and clear this up qiuckly.

  • I'll look this over, but in the mean time, I reviewed the __IQ24... unresolved issues and found the IQ24 references in the project file were preceded by two under bars while the IQ definition in the IQMathLib file were preceded by one under bar.  I removed one under bar in each of the project file references to make it match the definition and I now have now errors and only two warnings:

    build attribute vendor section TI missing in  


    This project was created using a version of compiler that is not currently installed: 5.2.10 [C2000]. Another version of the compiler will be used during build: 6.1.3. Please install the compiler of the required version, or migrate the project to one of the available compiler versions by adjusting project properties. 

    the second warning I am familiar with and I believe the first warning is also a non issue.


  • yes, the first warning is an ongiong one with the IQMath library, something with how it was originally built.

    no issues with either.

     

  • OK I can see your libraries are significantly different than mine.  I'll make mine match and try the build again.  I see you left the mouse over the nonBios.cmd file I take it that's the only cmd file in use?  Very interesting because when I excluded the Solar cmd file, all hell broke loose.  It must have something to do with all the other paths that are different in my project.

  • I changed my paths to match yours, still get the same errors...even preceded the build with a Clean.

    here's what I get.  I'll re-eyeball this to see if I've overlooked something.

  • I finally got a clean compile.  Only six warnings. 

    1)Temp defined but never used,

    2-6 warning: build attribute vendor section TI missing in
       "C:/ti/ControlSuite/libs/math/IQmath/v15c/lib/IQmath.lib<IQ24atan2PU.obj>":
       compatibility cannot be determined
    warning: build attribute vendor section TI missing in
       "C:/ti/ControlSuite/libs/math/IQmath/v15c/lib/IQmath.lib<IQ24cosPU.obj>":
       compatibility cannot be determined
    warning: build attribute vendor section TI missing in
       "C:/ti/ControlSuite/libs/math/IQmath/v15c/lib/IQmath.lib<IQ24sinPU.obj>":
       compatibility cannot be determined
    warning: build attribute vendor section TI missing in
       "C:/ti/ControlSuite/libs/math/IQmath/v15c/lib/IQmath.lib<IQ24toF.obj>":
       compatibility cannot be determined
    warning: build attribute vendor section TI missing in
       "C:/ti/ControlSuite/libs/math/IQmath/v15c/lib/IQmath.lib<IQmathTables.obj>":
       compatibility cannot be determined

    The first is a non issue, I am not sure the implications of the other five.

    To get to this point I went to a F2803x library and found memCopy.h file added it to the project and changed the device to a F28M35x (I am not sure if the is the way one should go about things or not but in the absence of an alternative I am trying it.  I also had to increase several memory assignments: RAMM0 and RAML0L1 sections to accommodate the ramfuncs and .text sections since I received a "program will not fit..."  error.  I also added a M2C and C2M msgram sections and assigned them to a shared memory location RAMS7.  Again not sure of the sanity of my action but it did resolve the warning(s)

    I will attempt to run/debug the program and share my experiences.