0
\$\begingroup\$

SIM900A Module Circuit

Please refer to above circuit.

I have a SIM900A module connected with the UART of a PIC. D1 toggles every second, using timer interrupt, to indicate that while loop is running satisfactorily. D2 toggles only when switch changes its state. "PORTB Interrupt on Change" is used to detect change in state of switch.

The circuit works correctly but as soon as a minute elapses and SMS is sent D2 toggles a number of times and multiple SMSs are sent instead of one indicating change in state of switch. This behavior is observed only when the switch is in closed state before sending SMS.

The problem cannot be of de-bouncing since if switch is closed initially before powering up the circuit and it remains in the same state before first minute even then the same problem is encountered.

The circuit works fine with a veroboard but started creating problems when I went to a PCB design.

What could be the possible reason and solution for this problem?


The above circuit is just part of the whole circuit.

U2 and U7 are voltage regulator but only one is used at a time. U2 is for 7805 and U7 is for LT1084. Only one of them is soldered.

RV1 and RV2 are potentiometers connected with output of two comparators of LM324(U6). RV3 is connected with LT1084 to adjust output voltage in case of using LT1084.

RSMD on the right side of board is 12mohm resistor.

U5 is MAX232.RL1 is a 5V relay and Q1 is a transistor. D2 is voltage reference for ADC while SW1 is a DIP switch to enable or disable the use of voltage reference.

enter image description here

\$\endgroup\$
  • \$\begingroup\$ Please note that this works fine on veroboard but when I made its PCB, the problem appeared \$\endgroup\$ – mka Apr 16 '16 at 7:56
  • \$\begingroup\$ Then, you will need to supply us the PCB design to let us seek for a problem with your layout.. \$\endgroup\$ – abdullah kahraman Apr 16 '16 at 8:01
  • \$\begingroup\$ i.stack.imgur.com/duFX0.png \$\endgroup\$ – mka Apr 16 '16 at 8:52
  • \$\begingroup\$ U2 and U7 are voltage regulator but only one is used at a time. U2 is for 7805 and U7 is for LT1084. Only one of them is soldered. RV1 and RV2 are potentiometers connected with output of two comparators of LM324(U6). RV3 is connected with LT1084 to adjust output voltage in case of using LT1084. RSMD on the right side of board is 12mohm resistor. U5 is MAX232.RL1 is a 5V relay and Q1 is a transistor. D2 is voltage reference for ADC while SW1 is a DIP switch to enable or disable the use of voltage reference. \$\endgroup\$ – mka Apr 16 '16 at 8:52
  • 2
    \$\begingroup\$ Part numbers in the PCB layout are obscured. Please show the complete circuit diagram with component values. I don't see a power supply bypass capacitor across the 16F877, and why do you have resistor(?) in series with Vss? \$\endgroup\$ – Bruce Abbott Apr 16 '16 at 19:42
1
\$\begingroup\$

Possibly when the SMS is sent the module draws large currents and the regulator is not able to support it and there is a voltage drop on MCU power linie or IO pin. (If module and MCU are running on same power supply)

SIM900A draws around 2A when network operation takes place.

Or possibly UART lines of MCU are shorted to IO input interrupt line. And when data is sent on TX line of MCU or RX line of MCU then that causes multiple interrupts to MCU and SMS are sent.

Just a guess.

\$\endgroup\$
  • \$\begingroup\$ Mka needs to probe these signals with a digital storage oscilloscope and see what transients are happening. \$\endgroup\$ – rdtsc May 12 '16 at 15:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.