I managed to write a bit of code which quadruples my DOS machine's systick rate and spits out the appropriate width pulses needed to drive our off-the-shelf motor controllers. This works fine, but I don't know how translatable it would be to our target Linux machine.
The issue I have with the serial PWM controllers is that you'ld be looking at about a 20 mSec lag that would be introduced in your control loop. By my calculations, a 20mSec lag translates as a 72 degree lag for a 10Hz bandwidth control loop, which sounds pretty awful to me. But servo wasn't really my forte, so we shall see. Bill -----Original Message----- From: John Carmack [mailto:[EMAIL PROTECTED]] Sent: Wednesday, September 18, 2002 10:50 AM To: [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. For flight control, latencies of a few milliseconds fundamentally do not matter, and for a helicopter motor control, even 50 msec probably wouldn't make a bit of difference. How are these latency problems being 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. A few years ago, when I was considering making my own automotive engine computer, I was considering some schemes like that for precise pulse timing. It might be easier to just use DMA to the parallel port for your precision timed outputs. Personally, I would lean towards an off-the-shelf serial motor controller, but I can see some advantages to rolling your own. John Carmack _______________________________________________ ERPS-list mailing list [EMAIL PROTECTED] http://lists.erps.org/mailman/listinfo/erps-list _______________________________________________ ERPS-list mailing list [EMAIL PROTECTED] http://lists.erps.org/mailman/listinfo/erps-list
