by Floris Wouterlood – February 4, 2023
Summary
A Mendocino motor is a solar-powered, magnetically suspended electric motor. The first of its kind was constructed by a member of the team that invented the modern semiconductor solar cell.
In the current project we examine a fan-equipped commercial Mendocino motor. Rotation speed is determined with sensors wired to an Arduino Nano. We investigate two different sensors. The first design exploits the interruption of a beam of light by a passing fan blade. The second sensor exploits reflection of light. The two types of sensor were tested simultaneously to determine differences in accuracy.
Introduction
According to an article in Wikipedia* the Mendocino motor derives its name from Mendocino County, California. An out-of-the box thinking engineer named Larry Spring** had his workshop here. Larry took in 1994 a design created 32 years earlier and added magnetic suspension, ‘levitation’. The original designer was Daryl Chapin, one of the three engineers (Chapin, Calvin Fuller and Gerald Pearson) at Bell Labs, New Jersey who invented in 1954 the first semiconductor solar cell of the type still seen today in advanced form topping roofs of homes all over the world. The original Chapin et al. solar cell was efficient enough to power a radio transmitter on the first American spacecraft, Vanguard I. Chapin mounted in 1962 two of his solar cells on the shaft of a small electric engine and connected their poles to wire coils. As soon as light illuminates the cells a current is generated in the coils that induce a Lorentz force. In a setting with external permanent magnets this Lorentz force causes the shaft with its payload to start rotating. Add magnetic suspension to eliminate friction and voilà, a Mendocino motor is in operation. Larry Spring’s original ‘brushless magnetic levitation solar motor’ is still in existence and can be admired in the Larry Spring Museum, Fort Bragg, CA.
figure 1. Commercially available Mendocino motor. In this specimen the rotor consists of four solar cells, with inside the wire coils that generate Lorenz force. The permanent magnet is glued onto the wooden base.
While Mendocino motors can be home manufactured there is also a broad commercial supply, mostly demonstration gadgets whose main purpose is to illustrate the effect of sunlight’s intensity on output of solar panels. It should be obvious that the rotation speed of a Mendocino motor is proportional to the intensity of the illumination.
Several ways exist to determine rotation speed. One could paint a dot on some rotating part and poll the number of dots passing per minute. An alternative, elegant way is to use interruption or reflection of a tiny beam of light. This light should not not interfere with the solar panels and therefore we use infrared light. I tested two sensors; one whose whose output is a pulse when a light beam is interrupted, and a second that consists of an infrared photodiode-receiver pair that produces a pulse when it detects reflected infrared light. The fan at the end of the shaft reflects / interrupts the light beams.
Interrupts
The Arduino Nano supports interrupts. Interrupts are functions designed to intercept an external event while the microprocessor is involved in other routines. The microprocessor can be programmed to respond immediately upon interception. In the Arduino Uno and Nano there are two interrupt functions. These can be attached to pins D2 and D3. Interrupts are nice instruments to detect an external event, e.g. a pulse or electrical surge. Counting such events, with a timer in the background produces the number of events per time unit (second, minute, etc).
Here we attach an interrupt function to pin D2 to detect pulses generated by one of our sensors. The number per second that the interrupt is called is considered to be a function of rotation speed. The amount of current generated by a solar cell dictates rotation speed; current relies on the intensity of the Mendocino motor’s illumination: the more sun the faster the engine runs.
Figure 2. Left: light beam interruption sensor breakout, right: reflected light sensor breakout. These sensors are often used in rotation speed meters and tachometers. The main chip is a LM393.
Light beam interruption sensor
The old idea of a sensor that detects interruption of a photo-beam and responds immediately is applied here. A small bundle of infrared light shines permanently from one arm of a fork-like construction onto a detector mounted in the opposite arm (figure 2, left). If the bundle is interrupted, for instance because a fan blade sweeps through, then the chip, here a LM393 recognizes the event and sets the data breakout data pin HIGH for a limited time. In the Arduino an interrupt is called if pin D2 experiences the LOW-to-HIGH external pulse.
Light beam reflection sensor
The sensor breakout used here is the type of device that crawling Arduino robots use to detect upcoming objects. On the breakout an infrared light source is mounted (the transparent led; figure 2, right) next to an infrared light receiver (the dark led). The receiver picks up infrared light reflected by some object getting nearer and nearer, and as soon as the crawling robot is near enough to the object a decision threshold is reached that forces the sensor data pin to be set to HIGH. The chip here also is a LM393. The change from LOW to HIGH triggers the interrupt in the Nano and an event is counted. Detection range can be adjusted with a potentiometer.
Experimental setup
figure 3. Wiring diagram for components. The reflected light reflector is interchangeable with the light beam interruption sensor.
The fan of the Mendocino motor is a three-blade rotor. The rotor is the best object to use for speed detection because the sensors can easily be positioned with respect to the rotor plane. The setup is shown in figures 4 and 5. Two Arduino Nanos were used: one for each sensor. Care was taken to swap Nanos between experiments such to be sure that differences in Nano performance were neutralized. The number of pulses per minute was recorded and divided by three because the Mendocino’s fan has three blades.
figure 4. For the purpose of simultaneous testing both sensors were mounted in this ‘Mendocino test bench’.
figure 5. View of the complete test setup. Both Nanos run the same sketch. Each LCD provides the actual rpm and the highest recorded rpm. The touch button acts as a ‘rpm reset’ button
Results and discussion
With the setup shown in detail in figure 4, the interruption sensor produced the most consistent results, that is, recorded consistently a stable number of revolutions per minute. It should be mentioned here that I have no device available that produces adjustable, calibrated, reliable rpms for testing and calibration. Therefore the number of revolutions in this report is not calibrated and not overly reliable.
The reflection device consistently recorded higher numbers of pulses than the interruption sensor. This may be due to the fact that the reflection device is an obstacle screening device rather than a pulse counter. Also, light reflections of the curved surfaces of the rotor blades may influence the behavior of the LM393 chip.
One problem was that in order to force the Mendocino motor to start turning a halogen spot lamp was aimed at the motor. As halogen lamps emit 95% infrared radiation this apparently overwhelms the infrared detectors in the sensors. To solve this the Mendocino motor was illuminated intermittently. A consequence of this illumination regime was that the rotation speed of the Mendocino’s fan was not constant.
A conclusion from this study is that for fan rotation speed measurement the interruption sensor is preferred over the reflection sensor.
Sketch
Nano_LM393_optic_rpm_counter_LCD.ino (downloads as ZIP file)
References
* Mendocino motor. . https://en.wikipedia.org/wiki/Mendocino_motor
** Lorentz ‘Larry’ Spring: http://larryspringmuseum.org/larryspring