MSP430FR5889: Eddy current sensors order

Part Number: MSP430FR5889

Hi

I made a PCB for prototype with 3 LC sensors, but I need the reversed order of scanning these sensors. There are two options, I change PCB again or reverse order how the firmware handles them. The reason that I want to reverse order is that interrupt is triggered on positive rotations and when my reading device has normal rotations in reverse direction, then I have to read counters "manually" because these interrupts when whole 1 rotation is done don't occur at all. So I've changed PSM in which I have swapped left with right states everywhere, also I changed TSM table, and the first channel excited is number 1 instead of 0, but still it triggers interrupts in the wrong direction. Does anyone knows what else to change?

  • Hi Adam,

    Could you tell me more details about hardware & software change?

    It will be better if you can provide sch and code changes.

    Thanks!

    Best Regards

    Johnson

  • What you mean more details? All circuit based on that principle work the same, but here you go some code:

    / TSM Setting for 3 sensors
        ESITSM0 = 0x0400;     // sync with Aclk
        ESITSM1 = 0x18AD;    // excitation of Ch1 for 1us0x18AD;    // excitation of Ch1 for 1us
        ESITSM2 = 0x0485;    // 1 Aclk delay0x0485;    // 1 Aclk delay
        ESITSM3 = 0x00A5;    // tunable delay0x00A5;    // tunable delay
        ESITSM4 = 0x00A5;    // tunable delay0x00A5;    // tunable delay
        ESITSM5 = 0x00A5;    // tunable delay0x00A5;    // tunable delay
        ESITSM6 = 0x00A5;    // tunable delay0x00A5;    // tunable delay
        ESITSM7 = 0xC9B5;    // DAC on, CA on, for 26 TSM clks0xC9B5;    // DAC on, CA on, for 26 TSM clks
        ESITSM8 = 0x49F5;    // DAC on, Ca on, and latches enable, for 10 TSM clks0x49F5;    // DAC on, Ca on, and latches enable, for 10 TSM clks
        ESITSM9 = 0x0401; // internally shorted for channel 1 LC sensor, for 1 Aclk0x0401; // internally shorted for channel 1 LC sensor, for 1 Aclk
        ESITSM10 = 0x0401; // internally shorted for channel 1 LC sensor, for 1 Aclk0x0401; // internally shorted for channel 1 LC sensor, for 1 Aclk
        ESITSM11 = 0x182C;     // excitation of Ch0 for 1us
        ESITSM12 = 0x0404;     // 1 Aclk delay
        ESITSM13 = 0x0024;     // tunable delay
        ESITSM14 = 0x0024;     // tunable delay
        ESITSM15 = 0x0024;     // tunable delay
        ESITSM16 = 0x0024;     // tunable delay
        ESITSM17 = 0xC934;     // DAC on, CA on, for 26 TSM clks
        ESITSM18 = 0x4974;     // DAC on, Ca on, and latches enable, for 10 TSM clks
        ESITSM19 = 0x0400;  // internally shorted for channel 0 LC sensor, for 1 Aclk
        ESITSM20 =  0x0400; // internally shorted for channel 0 LC sensor, for 1 Aclk
        ESITSM21 = 0x182E;    // excitation of Ch2 for 1us
        ESITSM22 = 0x0406;    // 1 Aclk delay
        ESITSM23 = 0x0026;    // tunable delay
        ESITSM24 = 0x0026;    // tunable delay
        ESITSM25 = 0x0026;    // tunable delay
        ESITSM26 = 0x0026;    // tunable delay
        ESITSM27 = 0xC936;    // DAC on, CA on, for 26 TSM clks
        ESITSM28 = 0x4976;    // DAC on, Ca on, and latches enable, for 10 TSM clks
        ESITSM29 = 0x0202;    // Stop TSM
    //    ESITSM0 = 0x0400;     // sync with Aclk
    //    ESITSM1 = 0x182C;     // excitation of Ch0 for 1us
    //    ESITSM2 = 0x0404;     // 1 Aclk delay
    //    ESITSM3 = 0x0024;     // tunable delay
    //    ESITSM4 = 0x0024;     // tunable delay
    //    ESITSM5 = 0x0024;     // tunable delay
    //    ESITSM6 = 0x0024;     // tunable delay
    //    ESITSM7 = 0xC934;     // DAC on, CA on, for 26 TSM clks
    //    ESITSM8 = 0x4974;     // DAC on, Ca on, and latches enable, for 10 TSM clks
    //    ESITSM9 = 0x0400;  // internally shorted for channel 0 LC sensor, for 1 Aclk
    //    ESITSM10 = 0x0400; // internally shorted for channel 0 LC sensor, for 1 Aclk
    //    ESITSM11 = 0x18AD;    // excitation of Ch1 for 1us
    //    ESITSM12 = 0x0485;    // 1 Aclk delay
    //    ESITSM13 = 0x00A5;    // tunable delay
    //    ESITSM14 = 0x00A5;    // tunable delay
    //    ESITSM15 = 0x00A5;    // tunable delay
    //    ESITSM16 = 0x00A5;    // tunable delay
    //    ESITSM17 = 0xC9B5;    // DAC on, CA on, for 26 TSM clks
    //    ESITSM18 = 0x49F5;    // DAC on, Ca on, and latches enable, for 10 TSM clks
    //    ESITSM19 = 0x0401; // internally shorted for channel 1 LC sensor, for 1 Aclk
    //    ESITSM20 = 0x0401; // internally shorted for channel 1 LC sensor, for 1 Aclk
    //    ESITSM21 = 0x182E;    // excitation of Ch2 for 1us
    //    ESITSM22 = 0x0406;    // 1 Aclk delay
    //    ESITSM23 = 0x0026;    // tunable delay
    //    ESITSM24 = 0x0026;    // tunable delay
    //    ESITSM25 = 0x0026;    // tunable delay
    //    ESITSM26 = 0x0026;    // tunable delay
    //    ESITSM27 = 0xC936;    // DAC on, CA on, for 26 TSM clks
    //    ESITSM28 = 0x4976;    // DAC on, Ca on, and latches enable, for 10 TSM clks
    //    ESITSM29 = 0x0202;    // Stop TSM
    
    
    // 3 LC sensors PSM table
    const unsigned char Table[] = { 128, 136, 144, 152, 160, 168, 176, 184, 128, 8,
                                    144, 92, 160, 42, 176, 184, 128, 136, 16, 26,           //90,44,28
                                    160, 168, 116, 184, 128, 10, 84, 24, 160, 168,      //114,12,82
                                    176, 184, 128, 136, 144, 152, 32, 108, 50, 184,     //106,52
                                    128, 76, 144, 152, 34, 40, 176, 184, 128, 136,      //74,36
                                    18, 152, 100, 168, 48, 184, 128, 136, 144, 152,      //20,98
                                    160, 168, 176, 184 };
    //const unsigned char Table[] = { 128, 136, 144, 152, 160, 168, 176, 184, 128, 8,
    //                                144, 90, 160, 44, 176, 184, 128, 136, 16, 28,           //90,44,28
    //                                160, 168, 114, 184, 128, 12, 82, 24, 160, 168,      //114,12,82
    //                                176, 184, 128, 136, 144, 152, 32, 106, 52, 184,     //106,52
    //                                128, 74, 144, 152, 36, 40, 176, 184, 128, 136,      //74,36
    //                                20, 152, 98, 168, 48, 184, 128, 136, 144, 152,      //20,98
    //                                160, 168, 176, 184 };

    The commented part is previous version. Sensors connected to channel 0, 1, 2. The thing is that that it will not tell you anything, you need to know the concept what to change... i even don't know if that is a good approach. I need only information what to change and I'll do it myself.

  • Hi Amada,

    Got your requirement, I am not the expert of ESI, I will consult some expert and get back soon!

    Thanks!

    Best Regards

    Johnson

  • you can stop that intense searching, I've changed the board