JCM inVentures Inc.
Madlabs has a great page for checking the quality of your work over here.
Check that all components are in the correct location.
Make sure your SolarFly has been subjected to full sunlight before you assume something is wrong... Light bulbs or room lighting will not have enough energy to make the robot run.
If you have a voltmeter, you can check the progress of your charging on the + and - lead of the large abdomen capacitor. Your Solarfly should charge to about 6.5V before discharging across the motors. If it doesn't reach this level, you could have solar cell problems. If it goes over this level by much, your problem may be in the voltage monitor MC34164. You could adjust the level of this trigger point down by adjusting resistor R3... lower resistors lower the trigger point.
To troubleshoot you will need a 9V battery, and 9V battery clip, and some wire. It would be very handy to have a digital voltmeter as well, although many tests may be performed without one.
Solder the 9V battery clip to the two large pads immediately behind C1. Positive on the left, negative on the right. Place the SolarFly in a mount which holds the wheels off the ground... I sometimes use a coffee mug as a stand.
Attach the 9V battery to the clip. The desired result would be to have one of the two motors begin spinning.
Test the touch sensors.
If the right motor is spinning, touch the left touch feeler to the wire sensor loop. This should cause the other motor to begin spinning. Touch the left sensor to make the right motor spin.
If the motors spin backwards, then you may have the polarity reversed on the motors. There should be no reverse with the SolarFly.
Test the Light Sensors
With a bright light shining in the right eye, the left motor should spin ( you may have to leave the light on for 15 seconds or so to allow the capacitive memory to charge.
Shining a light in the left eye should make the right motor spin. ( again, wait for about 15 seconds )
Disconnect the battery.
If these tests are successful, then your sensors, 8 comparator chip, and mpsa12 transistors are all functioning correctly.
Motors do not spin, even with 9V battery?
If the 9V battery does not operate the motor, you may have motor driver problems or solar engine problems.
Attach the 9V battery to the battery clip again...
To test the mc34164 voltage trigger, short out pins 1 to 3 with a small piece of wire. A motor should spin if this is the faulty part. btw.. notice on the picture below that the three pins must be soldered in a triangle formation... do not use the middle pad between pins 1 and 2 ( as shown )
Pin 1 on left, pin 2 in center, pin 3 on right
If this does not spin the motor, then your voltage trigger is probably all right.
Next, try shorting pins 1 to 3 of Q3 ( mpsA12 ). This transistor enables both steering transistors. you should see one of the two motors spin.
If the does nothing, try shorting pins 1 to 3 of Q1, then Q2. If the motor spins then, your damaged component may be one of these transistors.
Here is some helpful advise provided to some folks via email which may be of help to you. Thanks for the great troubleshooting, Wilf!
---- Original Message -----
----- Original Message -----
http://www.jcminventures.com/schematics.htm shows the schematic. Use the following steps to (hopefully) fix the problem
Step 1 - First verify opamp operation. Either pin 1 or pin 7 should be active high and should change state as on or the other photodiode is shaded. The big caps C2/C3 will slow things down so be patient. You can check the outputs with a LED or voltmeter connected between pin 1 to gnd and pin 7 to gnd. Each side should light in turn. If both pins change state go to step 7
Step 2 - If pin 1 changes but pin 7 stays low, check the connections for pin 5, pin 6, R5 and R6.
Step 3 - If pin 1 does not not change, check connections and polarities of the components at pin 2 and 3 of the opamp
Step 4 - If not the connections or polarities, the problem is quite probably a leaky C2/C3 cap. To test that disconnect the caps.
Step 5 - If that is not the problem, swap D1 and D2. If the problem is now on the other side you have a badly mismatched or defective sensor. Step 6 - Replace op amp.
MOTOR DRIVER PROBLEM
Step 7 - The opamp and sensors are fine so the output circuit has a problem. Check the connections, polarities and part numbers of the Q1, Q2, R1, R2 and opamp pins 1 and 7.
Step 8 - If not connections or polarity problems, you can check transistors Q1 and Q2 by swapping connections at pin 1 and pin 7. If the problem shifts to the other motor the transistor is defective.
Step 9 - yell for more help
Excellent troubleshooting approach, Wilf! Thanks so much for trying to help...
To add to Wilf's comments... the solarfly must be charging/discharging for the one motor to work, ergo: the charge pump ( solar engine/chloroplast ) is working. The problem seems to indicate that the power is being steered only to one motor.
Here's what leaps to mind...
1) It's lead to believe one side is always brighter. The LED/sensor/eye's produce a tiny voltage in proportion to the light detected. This voltage is sent to a low power comparator to decide which led is brighter. The led's are connected in parallel with a small capacitor to give it a small memory, and in parallel with a feeler wire sensor switch-to-ground which zero's the voltage across the led if an obstacle is detected. ( This will default the OTHER led/sensor to being viewed as the brightest side )
-make sure your feeler wire on both sides are passing directly through the feeler loop
-make sure your leds are in with the correct polarity
-measure the voltage across each led to veryify they are _producing_ a light dependant voltage
-intentionally short out the led opposite the motor which is working, trying to force the other motor to operate.
Failing that, follow Wilf's measurement suggestions to determine if the op-amp is working. If it's not, let me know and I'll fire a replacement part up to you.
This can be done while the solafrly's large capacitor is connected in parallel to a 9V battery to make it on 100%.
Hope this helps...