The robot was controlled using a Motorola 68HC11 on a special MC11 input/output board provided by the Stanford Smart Product Design Lab (SPDL). The SPDL also supplied motor controller boards, each consisting of a DS3658 stepper controller, an SN754410 h-bridge, or an LMD18200T h-bridge, complete with heat sinks and screw-mounts for wires. Infrared sensors were employed to detect beacons on the court, guiding the robot in the correct direction for shooting. A set of three sensors with physical reflectors/blinders was utilized to distinguish between left, right, and narrow-view middle, allowing the robot to accurately locate the beacons. Ultrasonic rangefinders measured the distance from the robot to the rear wall of the court, enabling calculations for ball launch distance. This also provided the robot with information regarding the shooting angle by determining its position relative to the back wall. The catapult's DC motor operated on a separate power supply (18V) due to its high peak current requirements, which could not be supported by the main electronics. The circuit's output is a DC analog voltage that corresponds to light intensity; this voltage is generated by rectifying and low-pass-filtering the amplified signal. The rectifying diode is an LED, which allows visual monitoring of the light intensity being detected by the sensor without the need for measuring instruments. The signal is significantly amplified to accommodate the sensors located eight feet from the beacons. This amplification necessitated a second offset voltage of 0.75V, as the weak signal, even at its peak, remained below 2.5V (the initial reference voltage) after the voltage drop across the rectifying diode; therefore, a lower offset voltage was essential for signal detection. A Devantech SRF04 rangefinder module was used, operating on 5VDC, requiring a 10µs logic-high pulse (TTL-level) to trigger each sample, and returning a logic-high pulse whose duration corresponds to the measured distance. Pre-existing modules were available for pulse-width modulation and period modulation of motors; however, custom routines were developed earlier in the course to enhance understanding. A module was also provided for managing multiple independent timers. Since the ultrasonic rangefinder demanded shorter time increments, a custom timer module was created with assistance from the professors. The main program, Robot_main, called the IR_read module to read the infrared sensors, comparing their outputs to determine the brightest signal and consequently the necessary rotation direction for the robot. The RotateTurret module managed the rotation and tracked the robot's angular position, while the Ultrasound_Sample module processed ultrasonic data. The ultrasonic sweep procedure was integrated as a subroutine within Robot_main. The distance for shooting was calculated by the CalcShootDistance module, while the Catapult module managed the shooting, reloading, and intervals between shots. The software also computed the required shooting distance based on the robot's position on the court and the target basket's location. The ultrasonic rangefinder was instrumental in determining the minimum distance to the rear wall and recording the robot's angular position when perpendicular to it. This was achieved by sampling distances as the robot rotated, creating an array of angular positions against the running average of the last few distance samples, and identifying the angular position at the minimum averaged distance. The averaging process was implemented to mitigate noise variations. The robot executed a thirty-degree sweep.
The control system architecture of the robot integrates multiple components to achieve precise movement and targeting capabilities. The Motorola 68HC11 microcontroller serves as the central processing unit, interfacing with various input and output devices through the MC11 I/O board. The motor control subsystem utilizes the DS3658 stepper controller, SN754410, and LMD18200T h-bridges, which facilitate driving the motors that maneuver the robot and operate the catapult mechanism.
Infrared sensors are strategically positioned to detect beacons, with the three-sensor configuration allowing for directional discrimination. The physical reflectors/blinders enhance the sensors' ability to isolate signals from specific angles, improving the accuracy of the robot's navigation. The integration of ultrasonic rangefinders adds a layer of spatial awareness, enabling the robot to measure distances accurately and adjust its actions based on the calculated distance to the rear wall.
The catapult mechanism is powered by a dedicated 18V supply, ensuring that the high current demands do not interfere with the microcontroller and sensor operations. The output circuitry converts light intensity into a DC voltage, which is further processed to provide a clear indication of light levels through the use of an LED as a rectifier. This design choice allows for immediate visual feedback regarding sensor performance.
The software architecture is modular, with distinct modules handling specific functionalities such as sensor readings, motor control, distance calculations, and shooting operations. The implementation of custom timer modules demonstrates an advanced understanding of timing requirements for the ultrasonic rangefinder, ensuring precise measurements and effective control of the robot's movements.
Overall, the combination of hardware and software components creates a robust system capable of autonomous operation on the court, with the ability to adapt to environmental conditions and execute tasks with precision.The robot was controlled with a Motorola 68HC11 on a special MC11 input/output board furnished by the Stanford Smart Product Design Lab (SPDL). The SPDL also furninshed motor controller boards, each consisting of a DS3658 stepper controller, a SN754410 h-bridge, or an LMD18200T h-bridge, with heat sinks and screw-mounts for wires.
Infrared sensors were used to sense the beacons on the court, thus aiming the robot in the right direction to shoot each time. A set of three sensors with physical reflector/blinders to separate left, right, and narrow-view middle were used to home in on the beacons.
Ultrasonic rangefinders were used to sense the distance from the robot to the rear wall of the court, to calculate how far to launch the balls. This also let the robot know what angle it was shooting at, by finding the position perpendicular to the back wall.
The catapult`s DC motor used its own separate power supply (at 18V), because it pulled too much peak current to run simultaneously with the other electronics. The circuit`s output is a DC analog voltage corresponding to the light intensity; the DC voltage is given by rectifying and low-pass-filtering the signal after amplification.
Note that the rectifying diode is an LED, allowing one to look at the circuit and see the intensity of light being read by the sensor, without the use of measuring instruments. The signal is greatly amplified because it is designed to operate with the sensors eight feet from the beacons.
This amplification of a weak signal was also the reason for the second (. 75V) offset voltage: the weak signal, even at its maximum, was below 2. 5V (the first reference voltage) after the voltage drop from the rectifying diode; in order to get any signal, a lower offset voltage had to be used. We used a Devantech SRF04 rangefinder module. It runs on 5VDC, requires a 10us logic-high pulse (TTL-level) to trigger each sample, and returns a logic-high pulse whose duration is proportional to the distance measured.
Pre-existing modules were provided for pulse-width modulation and period modulation of motors; however, we did write such routines from scratch earlier in the course to understand them. A module was provided to handle multiple independent timers. However, since our ultrasonic rangefinder required shorter time increments, Brian wrote his own timer module with help from the professors.
The main program, Robot_main, called the IR_read module to read the IR sensors and compare to see which was brightest, and output the direction which the robot needed to rotate, if at all; the RotateTurret module rotated the robot and kept track of its angular position; the Ultrasound_Sample module handled the sampling of ultrasonic data, while the whole ultrasonic sweep procedure was a subroutine in Robot_main; the distance to shoot was calculated by CalcShootDistance; the shooting, reloading, and pausing between shots was handled by the Catapult module. (See the full text of the program with all its modules below. ) Authorship note: I wrote IR_read, RotateTurret, and CalcShootDistance, as well as most of Robot_main; Ultrasound_Sample and the parts of Robot_main dealing with ultrasonics were written by Brian; Catapult was written by Jeff.
In addition to hardware control and sensor input, the software calculated how far to shoot based on the position of the robot in the court and the position of the basket it was aimed at. (See diagram below. ) The ultrasonic rangefinder was used to find the minimum position to the rear wall, and record the robot`s angular position when perpendicular to the rear wall.
It did this by sampling distances as the robot rotated, creating an array of angular position vs. running average of the last few distance samples, and noting the angular position at the minimum value of averaged distance. The averaging was done to eliminate possible noise variations. The robot swept out an angle of thirty deg 🔗 External reference
The astable multivibrator is an oscillator circuit that generates continuous pulses without requiring any external triggering. The oscillation frequency and time period can be manually adjusted by modifying the values of resistors R1, R2, and capacitor C1. A 555...
The circuit principle involves the use of an LC oscillator, which typically experiences significant frequency drift. Surface Acoustic Wave (SAW) devices have emerged as a solution to this issue, offering frequency stability comparable to that of crystal oscillators. SAW...
Clock signals are essential for digital systems, and their stability is crucial. Ideally, clock signals should exhibit minimal rise and fall times, specified duty cycles, and zero skew. However, in practice, clock signals often have non-zero skews, noticeable rise...
The silicon carbide (SiC) MOSFET offers notable advantages, including a straightforward drive circuit. It possesses unique characteristics that render it a superior switching device in comparison to traditional options.
The silicon carbide MOSFET is a type of field-effect transistor that...
This application datasheet article includes sections that discuss the practical current booster circuit technique, which involves a conventional circuit using a Constant Current Load (CLD) and a current boosting circuit technique. It covers the analysis of the booster circuit...
For all the subsequent tests, a high-quality signal generator from BlackStar was utilized. The PicoScope trace displayed below illustrates a pure 1 kHz tone from the signal generator. It is important to note that while the screenshots below depict...
Warning: include(partials/cookie-banner.php): Failed to open stream: Permission denied in /var/www/html/nextgr/view-circuit.php on line 713
Warning: include(): Failed opening 'partials/cookie-banner.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/nextgr/view-circuit.php on line 713