Replicating a Quadrature Oscillator using Arduino

I have a project which uses a quadrature oscillator (dual opamp driven using positive and negative supply voltages (AC Wave) to generate a sine wave and a cosine wave 90 degrees apart). These AC waves are then used to drive dc motors in both directions. The circuit allows "tuning" through 2 pots to control "symmetry" between the two waves and frequency.

Was wondering if it would be feasible to replicate this using PWM output from an arduino. I know enough to be able to control both the frequency and duty cycle of the pwm output, but I'm a little stumped about how to get from the pwm output to bidirectional wave output and be able to "tune" waves with pots.

An hbridge would reverse the motors but I think I'd have to use 2 pwm outputs (one for the postive part of the wave and one for the negative part and keep them exactly out of phase with each other, but that seems a little dicey?

Does anyone have any experience with this type of thing? Thanks!

Please provide a data sheet of your motors.

Digital control of DC motors is different from analog control. Are you sure that you mean DC motors and not AC motors? Stepper motors?

For digital control of DC motors you’ll need an H-bridge of suitable voltage and current capabilities for each motor, and a power supply. Then control each motor by a PWM duty cycle and a direction signal. For precise control of the motor speed a rotary encoder is required and kind of a PID controller.

Or you use stepper motors with direct control of speed and direction without feedback. Stepper motor drivers are special H-bridges with voltage and current supplies as for DC motors.

BLDC motors need very special ESC modules with speed and direction

DrDiettrich: Please provide a data sheet of your motors.

Haven't purchased motors yet, but looking to drive something in the range of 1.5v to 6v DC

DrDiettrich: Digital control of DC motors is different from analog control. Are you sure that you mean DC motors and not AC motors? Stepper motors?

For digital control of DC motors you'll need an H-bridge of suitable voltage and current capabilities for each motor, and a power supply. Then control each motor by a PWM duty cycle and a direction signal. For precise control of the motor speed a rotary encoder is required and kind of a PID controller.

Or you use stepper motors with direct control of speed and direction without feedback. Stepper motor drivers are special H-bridges with voltage and current supplies as for DC motors.

BLDC motors need very special ESC modules with speed and direction

If i understand Hbridge chips (havnt used one yet).. they require input on 2 pins High/Low for one direction and Low/High for the other. I assume i could use two PWM outputs of the same freq/duty cycle offset from one another to drive the 2 inputs?

If you are not an electronics expert you should use H-bridge modules, not chips.

j9murphy: If i understand Hbridge chips (havnt used one yet).. they require input on 2 pins High/Low for one direction and Low/High for the other. I assume i could use two PWM outputs of the same freq/duty cycle offset from one another to drive the 2 inputs?

Not necessary. Say you want to go one direction. Set output A high, and PWM on B. Other direction? Set output A low, PWM on B. Off? Set A and B to the same state.

DrDiettrich: If you are not an electronics expert you should use H-bridge modules, not chips.

I'm certainly not an EE, pardon my dust lol

aarg: Not necessary. Say you want to go one direction. Set output A high, and PWM on B. Other direction? Set output A low, PWM on B. Off? Set A and B to the same state.

Since I would like the wave to control the motor direction would it be better to create 2 pwm outputs 180 degrees out of phase with each other (at a duty cycle of less than 50%) and send each pwm output to one of the H-Bridge module inputs? that would cause the motor to oscillate at the freq of the (total) wave with a deflection equal to the duty cycle.. or am I down a bad path?