> Message: 9 > Date: Wed, 18 Sep 2002 12:50:07 -0500 > To: [EMAIL PROTECTED] > From: John Carmack <[EMAIL PROTECTED]> > Subject: RE: [ERPS] Antimatter research vs Gizmocopter >> >>Another option is to use a serial-controlled PIC-based PWM controller. >>This would be OK, except that the serial interface introduces a >>substantial lag in the control loop. > > Latency has been mentioned twice now in regards to the gizmocopter flight > control (the other one was the move to RTLinux). I don't buy it > evaluated? I suspect that the problem isn't what you think. > >>The third option (which is what we're pursuing) is to convert our PC104's 4 >>on-board DAC outputs to PWM signals through the use of a NE555 (rigged as a >>sawtooth waveform generator) and a bank of comparators. The output of the >>comparators is then fed into a bank of enhancement mode monster FETs (for >>lack of a better word) which drive the motors. I found the information >>about rigging a NE555 as a sawtooth waveform generator from a Fairchild >> data >>sheet on the web. >>If you search on Yahoo with NE555, you can find the info in about 5 > minutes. >>I've also created a schematic if anyone's interested.
Hi, I'm Doug Drummond, long time lurker and occasional poster; new as a participating member who joined at ConJose. I do embedded programming for a mundane (day) job. I've been doing motor control work and avionics both as a mundane job and for various hobbies; I volunteered to contribute in the avionics and embedded software area, perhaps on GizmoCopter. The reason we worry about latency and related probles is that motor control is Gizmocopter's primary flight controls. Total motor power == Colective Stick, differential motor control is equivalent to the cyclic stick on a helo. I'm a fixed wing pilot, but even so, I know that helo pilots NEVER EVER take their hand off of the cyclic stick, and they don't let go of the colective very long. So, I would second the motion for the motor control to run directly off of a parallel output from the computer. DAC into a 555 circuit is one way, a dedicated set of programable timers is another, probably less expensive solution. You really want to load all four motor control registers within a few microseconds of each other with an interrupt-protected code fragment, so that no event (such as a timer interrupt) could cause a stutter. But an even bigger problem is a close coupling between the attitude sensors and the differential throttling. The bad news is the difficulties associated with attitude sensors, but I won't get into that, this message; that is another thick book. I would be inclined to include some sort of hard-wired loop between the attitude sensors and the differential throttling, so that the darn thing has some tendency to want to fly straight and level. At the ConJose party, someone mentioned Futaba R/C Helo gyros. If I understand correctly, these sense either absolute position or angular rate, and generate a signal that R/C servos (or some R/C receivers) understand, which modifies the commands from the Radio Control receiver to the servos, making the helo more stable (if that is not an oximoron). If this is the case, then encorporating these into a hard-wired control loop would affect the design, biasing it towards an R/C servo-like signal. Since R/C servo pulses are another pulse-position/pulse-width signal, they could be generated by a similar DAC->monostable(555) or programable timer arrangement, only slightly different from the PWM motor controller. Is my understanding close to the problem at hand? --->>> Doug Drummond. ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ _______________________________________________ ERPS-list mailing list [EMAIL PROTECTED] http://lists.erps.org/mailman/listinfo/erps-list
