Back to photostream

Fischertechnik FPGA flow for the servo.

Fischertechnik FPGA flow for the servo.

 

This flow shows how the servo motors are controlled. The left part come from the FPGA module, the right part is the servo pcb hardware. The signals are multiplexed. A servo pulse is max 2400 usec wide and a repeat every 20 msec. The FPGA gives 8 lines parallel out per time slot of 2400 usec. The maximum number of servo motors is 8x8 = 64. Now there are 32 servo outputs connected. The other 32 outputs are free to use. These may also be LEDs. Each output signal is 5V level with a 330 ohm resistor in series.

 

Within each time slot, 100 usec remains available. It is used to extract the following data from the dual ported ram into the FPGA. This dpram has all the possible positions of each servo. The mode information of the DPRAM determined what position should be taken. This information is also used to control the NeoPixel color leds. This is not shown here on the drawing.

 

Each servo has 4 possible positions in the dpram. Those values can be set or trimmed by the user. The LCD display shows the 4 pwm pulse widths of each servo motor. Additionally, the color of the NeoPixel LED can be selected and adjusted, so the color of the led is changed with the position of the servo motor.

2,251 views
0 faves
0 comments
Uploaded on August 10, 2017