Wiper linkage

Does this wiper linkage sweep 95 degrees, and can a 45 rpm wiper motor drive it over dry glass?

You ask

Does this wiper linkage sweep 95 degrees, and can a 45 rpm wiper motor drive it over dry glass?

Wobbl runs

Terminal
$ wobbl simulate fourbar "Does this wiper linkage sweep 95 degrees, and can a 45 rpm wiper motor drive it over dry glass?" \  --set ground=300 --set crank=80 --set coupler=300 --set rocker=110 \  --set link_mass=80,250,300 --set stall_torque=25 \  --set no_load_speed=45rpm --set load=6 --set sweep=95
The four bar linkage over its blade drag on the glass, as the run left it at 6 N m

Dry glass

The four bar linkage over its blade drag on the glass, as the run left it at 6 N m

Wet glass

Blade drag on the glass 6 N m

Dry glass6 N m

21.7 %

MARGINAL

Wet glass2 N m

7.18 %

HOLDS

Open the full report

Checks, numbers and charts

MARGINALThe rocker swings 94.3 degrees, from 50.1 to 144, as the crank turns, and the transmission angle stays between 35.5 and 130 degrees. Outside 40 to 140 degrees it drives stiffly and wears its pins. The motor turns the crank at 39 rpm on average and peaks at 5.41 N m.

Sweep
94.3 deg
Transmission
35.5 to 130 deg
Worst advantage
1.1x
Confidence
high
  • passhand calculation
  • passvirtual work
  • passtime step convergence
  • passenergy account
  • passconstraint drift
  • passvirtual work from the weights and loads
wiper frames, as Wobbl plotted itwiper angles, as Wobbl plotted it
summary.txt
MARGINAL. The rocker swings 94.3 degrees, from 50.1 to 144, as the crank turns, and the transmission angle stays between 35.5 and 130 degrees. Outside 40 to 140 degrees it drives stiffly and wears its pins. The motor turns the crank at 39 rpm on average and peaks at 5.41 N m. Confidence: high. passed hand calculation, virtual work, time step convergence, energy account, constraint drift, virtual work from the weights and loadssweep: 94.3 degtransmission: 35.5 to 130 degworst advantage: 1.1xpeak torque: 5.41 N mtime ratio: 1.05 : 1 Checks:  [pass] hand calculation: Freudenstein's equation puts the rocker within 6.62e-04 degrees of MuJoCo's at every crank angle through the turn  [pass] virtual work: against a steady 6 N m on the rocker, the torque MuJoCo needs at the crank matches load times rocker speed over crank speed to 0.24% of its peak  [pass] time step convergence: peak crank torque 5.41 N m with the normal step and 5.41 N m with half the step (0.0052% apart)  [pass] energy account: the work of the forces (drives 49.7 J, loads -48.7 J, constraints -0.00142 J) matches the change in kinetic and potential energy, 0.931 J, to 6.9e-05% of the largest energy flow  [pass] constraint drift: the linkage loop held together to 0.00211 mm at worst (0.0026% of 80 mm)  [pass] virtual work from the weights and loads: turning crank slowly, the weights, loads and dampers do 13.7 W at most, so T = sum(F . v) / w asks 5.45 N m at peak, and MuJoCo's drive gives 5.44 N m (0.32% of the peak apart) Assumptions:  - Links 300 mm ground, 80 mm crank, 300 mm coupler and 110 mm rocker, a crank rocker linkage, flat and stacked so the links never touch.  - The rocker's load is a drag of 6 N m against its motion, as from a wiper blade or a door.  - The motor, which stalls at 25 N m and turns 45 rpm with no load, drives the crank at full voltage, with its rotor felt through the gearbox as 1061 kg cm2, a 20 ms mechanical time constant.  - Pins are frictionless and have no play.  - The motor's current is not known, so none is reported. Give stall_current or a supply voltage with the motor's values to see it.  - Bodies are rigid, so links do not bend. A long or thin printed link flexes and rings more than this shows.  - Contacts are stiff springs that let parts sink into each other by the depth the contact check reports.  - Joints and gears have no backlash, and friction acts only where the inputs give it. Suggested fixes:  - Make the crank 82 mm, the coupler 290 mm and the rocker 112 mm: With the ground at 300 mm, the toggle positions where crank and coupler line up give a 94.3 degree sweep with the transmission angle between 40.8 and 139 degrees, and the crank still turns fully. Running it again with these lengths, the crank peaks at 5.18 N m against 5.41 N m today. Images: angles: images/angles.png, frames: images/frames.png, torque: images/torque.pngReport: report.html

About this example

A windshield wiper turns a motor’s full rotation into a back and forth swing with a four bar linkage. Here the motor’s crank is 80 mm long, a 300 mm coupler carries its motion across to a 110 mm rocker on the wiper’s pivot, and the two pivots sit 300 mm apart. The motor after its worm gear stalls at 25 N m and turns 45 rpm with no load. Dry glass is the hard case, so the blade’s drag is taken as 6 N m against the wiper’s motion at its pivot.

Result Value
Sweep 94.3 degrees, from 50.1 to 144 degrees, within 1 degree of the 95 wanted
Transmission angle between 35.5 and 130 degrees, below the usual 40 degree floor near one end of the swing
Motor turns the crank at 39 rpm on average, peaks at 5.41 N m and averages 3.60 N m RMS, well inside its 25 N m stall
Hand calculation Freudenstein’s equation puts the rocker within 0.0007 degrees of MuJoCo’s at every crank angle
Virtual work the torque at the crank matches the load times rocker speed over crank speed to 0.24%
Fix a crank of 82 mm, a coupler of 290 mm and a rocker of 112 mm keep a 94.3 degree sweep with the transmission angle between 40.8 and 139 degrees, and running it again the crank peaks at 5.18 N m
Rocker swing and transmission angle through the crank's turn
Rocker swing and transmission angle through the crank's turn

The motor has plenty in hand, so the verdict is marginal for the geometry rather than the drive. Where the crank and coupler fold back on each other the coupler pushes on the rocker at only 35.5 degrees, so most of its force goes into the pivot pins instead of turning the wiper, which wears the pins and makes the linkage stiff to drive there. Wobbl works out the swing and the transmission angle at the two toggle positions, where crank and coupler line up, for thousands of crank, coupler and rocker lengths, picks the set that keeps the sweep and holds the angle closest to 90 degrees, and then runs that linkage again with the same motor and load.

The linkage is simulated twice. A slow turn of the crank against a steady load gives the geometry and the torque that virtual work predicts, and a run at full speed with the real motor gives the speeds and the torque it draws. The full speed run closes its energy account, with the motor’s work going into the blade’s drag and the links’ motion, and gives the same peak torque at half the time step. The links are rigid and the pins have no friction or play.

The motion of every joint is in output/trajectory.csv, with the crank, coupler and rocker angles, speeds and torques. output/playback.json holds the links as simple shapes with their poses through the run, with the crank torque and the motor’s limit beside them, so the swing can be played back as it was simulated.

Run it yourself

Terminal
$ git clone https://github.com/sohan-bhat/wobbl$ cd wobbl/examples/wiper-linkage && ./run.sh

The part, the script and every output are in examples/wiper-linkage on GitHub.