University of Tampere Research Visit Summer 2012
- Continued experimenting with the motor with and without the power resistors in place.
- The motor goes unstable more easily with the resistor removed. I had to lower the PID gains to prevent it from going unstable. I also put a smaller resistor in series with the motor. There didn't seem to be any problem with my int variables turning over.
- I noticed that it is possible to cause the pulley to spin without moving the spider wire if the load is high enough. The wire simply slips through the groves. Maybe wrapping the wire around the pulley a few more times will prevent this?
- Improved the mounting of the motor by adding duct tape so that it cannot move.
- Tested controlling the bearing with all power resistors removed (they were originally in series with the motor, limiting the current). There was a problem where the motor went out of control if I pulled the bearing too far to one side. I am wondering if I have a variable declared as an int in my PID calculations that is turning over and causing my motor commands to fluctuate rapidly. This was happening before and I fixed the problem before by turning my ints into longs in my code. I recently changed some longs back into ints, so I will check those again. I will also determine if the motor simply functions better and more controllably if I limit the current a little bit with the power resistors.
- Once I am finished with these adjustments, I believe I will be ready to run some experiments with the device. I will be spending some time thinking what experiments would be best to try in the remaining weeks.
- Improved how I anchored the spider wire to both sides of the acrylic ring covering the bearing. Obtained a smaller spring , and attached it through the small hole in the acrylic by tying it with more spider wire. Fixed it at the other side by wrapping it around the plastic bolt, and fixing it to the other side of the acrylic through tying a tight knot and using a small amount of duct tape.
- Decided to try the new motor driver shield that can source more current. I wanted the motor to be able to apply more torque when my hands were resisting the turning of the bearing. Soldered components to the new shield and replaced the older shield.
- The new shield was a big improvement simply because it was silent. When used with the old shield, the motor constantly gave off an annoying whining sound, which got louder as the rotor approached the desired position. I thought this was a problem only with the motor, and did not realize the particular driver shield I was using was causing it. My only guess is this has something to do with the PWM frequency. The motor gives off no noise at all when used with the new shield, which should be good for testing with subjects.
- The new shield allowed higher torque, as expected.
Wednesday 8/22 - Friday 8/24:
- Continued assembling prototype. Glued in acrylic motor mounts, zip-tied bearing to wheel, attached spider wire and spring.
- Began testing controlling the bearing with the motor, and making adjustments.
- Purchased 5 minute epoxy because the glue I had was too tacky and not strong enough.
- Tested the steering wheel on the lane change simulator here. It will work, but the button mappings are not all correct. Hitting the brake pedal causes the car to accelerate, for example. I might have to download the proper drivers from the product website.
- Brought in steering wheel and pedals, and started assembling prototype.
- Tested different glues to see what would work best joining acrylic to plastic and acrylic to metal.
Week 2 (8/13 - 8/17):
- Continued with refining PID controller. Spent some time trying to achieve a position step response with small overshoot and settling time. Some problems I was having:
- the I term seems to act slowly, so that it initially shoots to some position that is off the target, and then after a second or two, the I term has built up enough to completely correct the position.
- Furthermore, the I term never reaches zero when the position error is zero, causing a slow, small amplitude oscillatory motion at the end that never dies out.
- The motor also goes out of control relatively easily when the gains are too high.
- After spending a while trying to improve the performance, I decided it would be best to move on to assembling the prototype, and then performing further adjustments afterward. Since the load will be higher in usage anyways, it didn't make sense to continue adjusting the controller on the unloaded motor. The plan for week 3 will be to assemble the prototype and see if the motor is powerful enough to cause the desired motion. Also, I want to receive the training to use the simulator here.
Week 1 (8/6 - 8/10):
- Mainly getting everything set up and working. I started refining the motor controller near the end of the week.
- I also tested the 12 volt wall wart power supply with the motor circuit. It is regulated and works fine.
- I decided to order a high current motor driver in case I need the motor to be able to apply more torque. I was concerned about whether it would be able to supply enough torque if the driver's hand is resting on the bearing and resisting rotation.