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.

interrupts

hi,

  I have to design a system which will be used in industry with heavy motors. If i use interrupt capability of MSP430 GPIO to count for no. of events, is there a possibility that the spurious interrupt be generated due to induced EMI when motor start and stop?

Ajit Singh

  • It all depends on the robustness of your design.

  • What are you counting? e.g where is the signal coming from and how is it generated?

    Of course the mcu power and ground should be separate from the heavy motors electrical system to
    even have  a chance.

    Interrupts or counter-capture can be used to count how many ticks happens in a second/minute,
    but they expect nice clean signals.
    If it's not clean you have to use software filtering and write custom code based on testing and
    visual analyzing of signal to filter out erratic spikes.

  • There are so many things that can affect this, including the cabling connecting your system to whatever it is controlling.

    Start with a shielded enclosure that connects to earth ground.

    Make sure you power supply is well filtered and regulated.

    Make sure all I/O is properly filtered and protected for ESD.

    Make sure your circuit card has a proper ground plane and plenty of bypass and bulk capacitance.

    Make sure your external cabling is shielded properly.

  • hi

     Here are the details.

    There are two source of interrupts.

    One is from inductive proximity sensor connected to the a optocoupler with a low pass filter on the sensor side and on the uC side connected to the GPIO using an external 5.1k pull up.

    Second is from a phototransistor connected to gpio pin with an external pull up resistor of 1K. 

    To avoid any noise coupling through power supply I am using 2 AA cell as power source. Basic PCB design precaution like keeping track small, ground plane etc. would be taken. the entire PCB is only 1 sq inch.

    Clk source is ACLK. The system normally sleep in LPM3. whenever there is an interrupt due to either source it wakes up and increment the count. periodically it wakes up and transmit the total count to a display unit over optical fiber. 

    1) Traces connected to GPIO are very small with strong pull ups. Is this enough to get clean pulses or I need to use some additional filters?

    2) Can some other mechanism be used other than using interrupts to count no. of event?

    I will take care of PCB issues. I need to be sure that uC interrupt would behave as it is supposed to.

    Ajit Singh

**Attention** This is a public forum