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.
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
**Attention** This is a public forum