# Member #724011

Member Since: September 29, 2015

Country: United States

• eBay DC converter

Next step is to order a cell phone shield and build this: http://www.stavros.io/posts/irotary-saga/

• ## SN754410 H bridge explained

You supply two low voltage block signals; one to 1A and one to 2A. The block signals are 180 degrees out of phase. The block signals are relative to GND. By supplying a large voltage on VCC2, outputs 1Y and 2Y will provide a high voltage symmetrical block wave like so:

``````1A: _|¯¯¯|___|¯¯¯|___|¯¯¯|_ +5V DC relative to GND

2A: ¯|___|¯¯¯|___|¯¯¯|___|¯ +5V DC relative to GND (180 degrees out of phase compared to the signal on 1A)

1Y: _|¯¯¯|___|¯¯¯|___|¯¯¯|_ +35V DC relative to GND

2Y: ¯|___|¯¯¯|___|¯¯¯|___|¯ +35 DC relative to GND (180 degrees out of phase compared to the signal on 1Y)

By connecting the ringer directly to 1Y and 2Y you now effectively have a -35V DC to +35V DC signal.
``````

## STEP 1 - You can program an Arduino to generate two 5V 22Hz block waves 180 degrees out of phase like so:

``````void setup() {
//Phone ring signal is 22Hz typically.  20Hz is used in this example.
//20Hz=(1/20)*1000 = 50 milliseconds period
//50 milliseconds period = 25ms HIGH + 25ms LOW
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}

void loop() {
//Ring pattern: RING,RING.....RING,RING.....
//RING for one second (20x 50ms = 1 sec)

//RING 1
for (int i=0; i <= 20; i++) {
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(25);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(25);
}
//PAUSE for 0.5 seconds between first and second ring.
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(500);
//RING 2
for (int i=0; i <= 20; i++) {
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(25);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(25);
}
//PAUSE for 1.5 seconds
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(1500);
}
``````

You should now see the LED on pin13 flash at 20Hz for 1 second twice in rapid succession followed by a 1.5 second pause. pin12 carries the same signal, but 180 degrees out of phase.

## STEP 2 - Build the SN754410 'push-pull' symmetrical block wave circuit

Simply use VCC = VCC1 = VCC2 = 5V from your Arduino for now.

## STEP 3 - DC/DC converter

Buy a 12V in 30V-60V-90V out DC-DC converter from eBay to provide a high voltage to VCC2 instead of the +5V DC to boost the output signal on 1Y/2Y.

## STEP 4 - Increase VCC2

Finally replace VCC2 with a higher DC voltage not exceeding 35V. 1Y/2Y signal amplitude should increase accordingly.

Note: SN754410 is rated to 35V DC as stated in previous comments. Order more than one SN754410 if you are going to attempt to build this circuit.

I was able to make it work just using the SN754410 + eBay DC converter (measured output of 50V DC) + Arduino without any passive components (i.e. capacitors) at all. Just keep your finger on the SN754410 to feel if it is getting hot or not (and connect a heatsink if need be).

No public wish lists :(