A FPGA Haptics Controller

June 19, 2017 | Autor: J. Zelek | Categoria: Controller Design, Low Power, Field Programmable Gate Array, Duty Cycle
Share Embed


Descrição do Produto

A FPGA Haptics Controller Marc Holbein

John S. Zelek*

( ) University of Guelph, Canada (*) University of Waterloo, Canada E-mail: [email protected], [email protected]

Abstract Wearable haptics necessitates using low power, small, inexpensive tactors that are typically used as pager motors in cellular phones. One of their limitations is that it appears that control of their amplitude and frequency of operation is inherently linked. Existing haptics controllers have shortcomings such as limiting the electrical stimulation frequency to a single one or multiples of one, being confined to only a square wave, not being able to change the polarity and duty cycle on the fly to name a few. In order to explore and help define the electrical to mechanical mapping for electromagnetic (and other) tactors, a tighter controller is necessary. We report on such a controller that we developed based on FPGA (Field Programmable Gate Array) technology. The FPGA gate control program is hardware-based and is not limited by micro-controller event handling. The paper reports on our FPGA controller design and provides some examples of its use.

1. Introduction

The objective is to develop a low cost, low power, portable haptic controller that is suitable for controlling various tactors and to explore how to decouple the intimate relationship between the intensity and frequency of mechanical vibration from input electrical stimulation of inexpensive tactors [1]. In essence, the objective is to provide a tool that will provide an answer to the mapping of electrical stimulation to mechanical vibration with the intent of maximizing the bandwidth of communication of wearable tactors. Typical electrical signal control has been limited to providing PWM square waves, but our desire is to also be able to provide sine waves, offsets and the reversal of polarity on the fly.

2. Background 2.1 Controllers In the past, we have used two different motor controllers, one that we developed based on a DevaSys USB (Universial Serial Bus) controller (referred to as the DevaSys controller) (see Figure 1) and one based on a PAK PWM controller (referred to as the PAK controller) (see Figure 2 ). The DevaSys controller board (see Figure 1) is a USB I2C/IO interfacing board, permitting the download of software into EEPROM for the controlling of output via the control from a PC hooked up via the USB interface and possibly powered by the USB interface. The board consists of an Intel 8051 enhanced micro-controller. In order to interface to the motors, a conditioning circuitry was constructed consisting of two octal serial digital to analog converters, a 1 to 2 demultiplexer and four quad rail to rail op amps. Power is limited to what is available via the USB interface. A protocol was established for controlling up to 16 vibrating motors, which chiefly provides on and off times (the pulse width modulation parameters). Other programmable parameters included defining minimum voltage, maximum voltage and motor starting voltage. The software we embedded into EEPROM is essentially a loop that is based on the clock rate of the micro-controller and updates control signals to the motors based on the input setting conditions. Thus, the control is highly dependent on the tightness of the control loop and the micro-controller functionality. Given the loop control of the motors, the frequency range of the generated output signal is governed by a resolution dependent on increasing powers of two (i.e., 1, 2, 4, 8, 16, etc.). Albeit, the ability to control PWM frequency in this limited capacity provides another level of input control sophistication beyond what has been reported in the literature for haptic control [2]. A commercial Stamp PAK VB coprocessor (see Figure 2), for generating PWM (pulse width modulation) control via hardware (gates) has also been used. It can generate 8 channels of PWM simultaneously at TTL levels (5 Volts)

Solenoids are found in the construction of Braille displays [3]. Their maximum firing frequency is limited by the mechanical travel of the solenoid slug. To function properly, they rely on a small sharp contact surface with a high degree of contrast. In addition, their power requirements are high. Another alternative is to use mini speakers and some researchers have found them to be effective for vibrotactile stimulation [4], [3]. One drawback is the audible noise produced as a result of their function. Piezoelectric stimulators have been demonstrated in wearable applications but their required mounting topology and safety issues as a result of their high operational voltages limit their potential use. Electromechanical vibrators such as ones manufactured by Engineering Acoustics (www.eaiinfo.com) have a relatively broad frequency range (200 to 300 Hz) and large intensity range but are somewhat expensive ($200 US) and require significant power, requiring a 1 W (2 V RMS, 0.5 A RMS) driver. Inexpensive DC motors that produce vibration by rotating an eccentric mass [2], [3] are attractive because they deliver significant vibrational force at low voltages in a small robust package and are inexpensive ($1 to $2 US). However, their vibration frequency and intensity are inherently linked. Two types of designs are (1) cylindrical motors which are miniature DC brush motors with a cam shaped counterweight and (2) pancake motors, which encase an eccentric rotor that has some flexibility on its axis of rotation. The pancake motors provide a more radially uniform distribution of vibrational energy whereas the cylindrical motors distribute most of their mechanical energy along the central axis of their cylindrical body [3]. One of the motors we have used [1] was a Sanko pager motor (available from Jameco) - standard operating voltage is 3.0 V, the operating voltage range is 2.5 to 3.8 V, and the standard current draw is 45 mA, with the starting current being 50 mA and the minimum starting voltage being approximately 2.0 V. The Sanko motor weights approximately 1.63 g. It spins at approximately 4500 revolutions per minute (75 revolutions per second). The other motor used was a waterproof encased cylindrical motor, model 6CL-5472A from Vibrator Motor (vibratormotor.com). Its rated voltage is 1.3 V, operating voltage is 1.1 to 1.6 V, rated current is 75 mA and the starting voltage is 0.7 V. The cylindrical motor weighs 2.99 g and its rated speed is 7500 revolutions per minute (125 revolutions per second). The accelerometer used for measuring vibrations was a teardrop one, PCB model 352C22 with PCB model 480C02 Sensor Signal Conditioner, weighing 0.5 g.

Figure 1: Devasys Controller: The left side are the ribbon cable connections to the motors. The right side contains the usb port to be interfaced to the computer for control settings and power.

(www.al-williams.com). Maximum supply current is 130 mA and the operating voltage can vary from 0 to 7 V. The maximum output current sunk or sourced by any output pin is 45 mA. The PWM frequency was set by a fixed resonating crystal to 1.956 KHz.

Figure 2: PAK Controller: The figures shows a close up of the PAK controller. The micro-controller contains the gates for generating the pwm signals, the rest of the circuitry is chiefly for interfacing.

2.2 Tactors 3. Design Considerations

There are many possible technologies for producing vibrotactile cues -these devices are referred to as tactors - including solenoids (pin arrays), voice coils (speakers), arm linkages and electromagnetic motors (pager motors).

The main design objectives were to produce an advanced and portable haptic controller with the ability to 2

drive a variety of available vibrotactile devices. We have chosen Field Programmable Gate Arrays (FPGA) technology to implement the bulk of the design. FPGA’s are a technology that allows a designer to implement sophisticated digital hardware on a single Integrated Circuit (IC) without the need to design and produce an Application Specific Integrated Circuit (ASIC), which is time consuming and impractical for small production runs. Through the use of software based design tools provided by the FPGA vendor, a custom tactor control chip can be designed and implemented on a single IC with a volume of less than  . FPGA’s are highly versatile, and can be reconfigured, meaning that as new concepts for the hardware design emerge, the existing design can be easily modified and reused. Advantages for the end user include the ability to upgrade both the hardware and software configuration as the design evolves. Our requirements are that the circuitry independently control 16 tactors, along with the capability to interface up to 16 analog sensors including accelerometers and force feedback transducers. The use of a high density FPGA allows for the integration of a powerful 32bit CPU, which provides the processing resources necessary to run sophisticated control software and does not suffer from the inherent limitations of using a micro-controller for this purpose. The design needs to be modular and highly scalable. All that is required to increase the available tactor control resources is the selection of a higher capacity FPGA and addition of the additional motor driver and sensor interface circuitry that is external to the FPGA.

Figure 3: FPGA Development Board: A Memec (memec.com) DS-BD-V2MB1000 FPGA development board was used to develop and test the controller. Note the small size of the FPGA IC (mounted in the center of the circuit board towards the far side).

Typically, a PWM controller can only modify the duty cycle and base frequency of it’s output waveform (usually the base frequency is the same for all motors and fixed in either hardware or software), with all other waveform properties fixed by the hardware design. This design methodology has the disadvantage that only the average power supplied to the motor can be varied, affecting the intensity of vibration experienced by the wearer. The system that we have implemented allows for the continuous and independent control of the amplitude, frequency, phase, polarity, and duty cycle of the waveform applied to each tactor. These features allow for a much finer control of the motor’s response, which should ultimately lead to more intelligible information being relayed to the wearer. The current design supports a PWM frequency range from 0.75 to 48.8KHz and is adjustable in increments of 0.75 Hz. Amplitude can be varied from 0 to 3.3VDC in steps of 13mV, with additional voltage gain provided by the output buffer amplifier. The phase of the waveform may be varied from 0 to 180 degrees relative to any other tactor (individual or group) within the system in increments of 1 degree. The direction of the tactors rotation can be reversed after a desired integer number of cycles ranging from 0 to 255. The above mentioned control functionality enables the construction of complex motor voltage waveforms, with the intent of obtaining a more precise control of the vibrations experienced by the wearer. Another important consideration in this design was the ability to drive a variety of tactor types, having various power requirements. The Maxim MAX4169 (maximic.com) high current quad operational amplifier was selected to provide the drive current required by the tactors. These op-amps are intended for mobile battery powered electronic applications, and are very efficient in terms of

4. Haptic Controller Design 4.1 Hardware Our current haptic controller design contains an embedded 100MHz 32bit processor along with dedicated motor control and high speed analog to digital (ADC) interface circuitry that eliminates the need for the CPU to perform these tasks in software. This allows for fast system response, as well as predictable and accurate timing control of the connected tactors. The design allows for independent and simultaneous control of up to 16 tactors and force sensors (FlexiForce A201), used to collect feedback information about the forces experienced by the wearer. The current limit of 16 tactors/sensors can easily be increased by selecting a FPGA with twice the capacity, leading to more than 16 additional sensor/tactor pairs, as only one CPU is required. It is important to note that a FPGA device of twice the capacity can be found in a package, which occupies the same physical volume. The motor control circuitry was designed with maximum flexibility in mind, and contains features which set it apart from existing PWM based haptic controllers. 3

quiescent power consumption. These devices were chosen over an H-bridge to save on cost and circuit board real estate, and provide a guaranteed minimum drive current of 80mA. This level is more than adequate to meet the requirements for the tactors we have considered, namely the Sanko 1E120 pancake motor (Jameco) @ 50mA, and Vibrator Motor 6CL-5472A (vibramotor.com) encased cylindrical motor @ 75mA. The FlexiForce A201 sensors (tekscan.com) are a thin, piezoresistive force sensor. These sensors have an electrical resistance that varies as a function of the applied force, and are being used to quantify the forces applied to the wearer’s hand via tactor stimulation and provide feedback information to the controller. The sensors are interfaced to the FPGA using the Maxim MAX146 8 channel 12bit ADC (maximic.com) along with a simple op-amp based preamplifier circuit that allows the force-voltage output ratio to be calibrated for each sensor. These ADC’s are low power, low cost, and are available in a space saving surface mount device package to reduce the overall system size. The system is currently interfaced to the host computer using serial communications (RS232), with plans to add USB connectivity in the immediate future. USB connectivity provides the power for the controller/sensor electronics via the host computer; with tactor drive power supplied separately using batteries within the device.

(a)

4.2 Software Software is currently being developed to control the tactors using the MIDI protocol. MIDI is an acronym for Musical Instrument Digital Interface, a standard that has been around since the 1980’s. It is widely used to synchronize the playback of music through connected electronic music devices. MIDI is an appealing choice for a protocol as it supports the functionality needed to time sequence the control parameters of the tactors. For example, a MIDI sequencer could be used to send continuous timesynchronized commands to the haptic controller, instructing it to turn on/off a certain tactor(s) at certain time(s), along with additional continuous parameter control information indicating frequencies, amplitudes, phases and rotational directions for each individual tactor. This permits the synthesis of complex stimulation patterns to convey information to the wearer. All current PC’s are capable of supporting this protocol, meaning that the haptic controller can be easily connected to a user’s standard computer system. A vast number of advanced MIDI sequencer applications are available, facilitating the testing of various tactor stimulation patterns to identify the optimum way of communicating information to a wearer. Once these patterns have been established, they could be stored within the controller and triggered as necessary to convey the information without further need for the PC based MIDI sequencer software.

(b)

Figure 4: Circuitry Interfacing: (a) The electronic circuitry used to condition the FlexiForce sensor output and drive the motors is illustrated.(b) The conditioning circuit for the sensor (from tekscan.com)

4

The current controller design is based on a customized real-time Operating System (OS) that enables multiple applications to run on the FPGA’s internal CPU concurrently. Separate processes can be created and executed to collect and analyze the sensor information, control the tactors, and communicate with the host CPU creating a powerful and sophisticated software control system with low response latency.

5. Examples and Results Figures 3 through to 10 illustrate the hardware, setup and the signals generated from our FPGA controller.

(a)

Figure 5: Experimental Setup: Dynacast leather golf glove used in the demonstration, showing the PCB piezotronics teardrop accelerometer mounted on top of the Sanko 1E120 pager motor.

(b)

Figure 7: Standard PWM input: Results collected for a standard PWM waveform with a duty cycle of 75% at a frequency of 500Hz. Amplitude was set at 100% (3.25VDC). (a)View of the pressure sensor output voltage (yellow trace) and accelerometer signal (green trace) and (b)View of the PWM signal applied to the tactor. Figure 6: Demonstration Setup: Overall view of demonstration setup, including the BitScope BS-300 oscilloscope (bitscope.com) used to collect signals from the accelerometer, FlexiForce sensor, and tactor drive waveforms.

5

(a)

(a)

(b)

(b)

(c)

(c)

Figure 9: On the fly Tactor direction reversal: every n Figure 8: Varying PWM amplitude independent of duty cycles. Duty cycle was fixed at 75%, amplitude 100%, and cycle: Amplitude was time varied from 50 to 100% of full frequency was 500Hz. The tactors direction was reversed scale (3.25VDC). Duty cycle was fixed at 50% with a freevery 128 cycles, resulting in a dramatic reduction in the quency of 800Hz (a) View of pressure sensor signal (yelac component of the vibration. (a)View of pressure sensor low trace) and accelerometer signal (green trace) for the signal (yellow trace) and accelerometer signal (green trace) first duty cycle. (b) View of first PWM signal. (c) View of 6 (b) and (c) Views of the PWM waveforms. The yellow and second PWM signal changed midstream. green traces indicate the directions of the applied motor currents. Note that one signal is active while the other is

6. Conclusions

(a)

We have presented a unique FPGA based controller for controlling tactors. The emphasis has been on the control of inexpensive tactors, such as ones used for pager motors. The system is able to generate unique waveforms that are not constrained as the currently available haptic controllers are to a single or multiples of input frequency of square waves. An interesting option is to change parameters on the fly including the change of the polarity (causing a reversal in the direction of the motor, tactor). The ability to generate feedback via force pressure sensors provides the capability of closed-loop feedback control. All currently available controllers are open-loop. The intent of the controller is to provide a better understanding of the mapping from electrical signal stimulation to motor vibration. The flexibility of modifying the electrical stimulus (on the fly in various ways) for controlling the dc motor that drives the eccentric weight for eliciting vibration in the tactor operation will help us better understand the potential functional use of inexpensive pager motors for tactor communication.

7. Acknowledgements (b)

The authors express thanks to partial funding and support from the National Science and Engineering Research Council (NSERC), Canadian National Institute for the Blind (CNIB) and Institute for Robotics and Intelligent Systems (IRIS).

References [1] J. Zelek and M. Holbein, “Fpga haptics controller,” in US Provisional Patent, Jan. 2005.

(c)

[2] R. W. Lindeman and J. R. Cutler, “Controller design for a wearable, near-field haptic display,” in Proceedings of the 11th Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems. IEEE, 2003, pp. 397–403. [3] A. Toney, L. Dunne, B. H. Thomas, and S. P. Ashdown, “A shoulder pad insert vibrotactile display,” in 7th International Symposium on Wearable Computers. White Plains, NY: IEEE, October 21-23 2003, pp. 35–44. [4] A. Murray, R. Klatzky, and P. Khosla, “Psychophysical characterization and testbed validation of a wearable vibrotactile glove for telemanipulation,” Presence: Teleoperators and Virtual Environments, vol. 12, pp. 156–182, 2003.

(d)

Figure 10: On the fly Duty Cycle control: with time. Amplitude was set at 100%, frequency was 800Hz. The duty cycle was varied from 50 to 100%. (a) and (b) Separate views of pressure sensor signal (yellow trace) and accelerometer trace (green trace) at different times in the modulation sequence. (c) and (d) PWM waveforms taken

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.