Mechanics and Construction > Mechanics and Construction

Robot Construction Log

<< < (2/5) > >>

--- Quote ---I'd agree with the comments about K-9. It'd be a cool addition to the project to create an outer case similar to K-9, if you're a fan of the show.
--- End quote ---
    That is a good idea and I will definitely consider doing that, however I would like to get the robot working before I work on the aesthetics.

    I have made some progress on the robot and have been able to etch and solder two of the PCBs for the robot. The first one pictured is a voltage regulator circuit, and the second is a relay board that will allow the processor to interface to the motors.

    The voltage regulator is a LP3852 low dropout linear voltage regulator. With a price of four dollars it is not cheap, however its characteristics made it extremely desirable for use in the robot. One of the features that makes is valuable is the fact that the dropout voltage is only about 250mV when driving a 1.5A load, allowing me to use the 6V batteries I was planing on using in the robot.

    I also learned something new about relays, and unfortunately I learned it the hard way. When selecting relays, I tried to find some that was both cheap and would not require a lot of current to drive. After I found some that seemed adequate, I constructed the PCB and soldered the relays only to find that the relays would not activate. After checking the data sheet for the relays I found that they was described as a high efficiency relays. I did some reading online and found that some high efficiency relays use permanent magnets to make it easier for them to switch and are therefore polarized. I was then able to modify the PCB to fix the polarity issue with the relays.

very interesting about the high efficiency relays, I was not aware of the use of permanent magnets in relays.
thank you for sharing.

On the topic of using older electronics technology and voice recognition I saw this video a few weeks ago on a voice recognition chip (apparently designed with robots in mind) Im not sure if you can still find the chip shown or a substitute but you may find it relevant.

    It has been some time since I have posted, but since then I have been able to finish the electronics portion for the robot's steering system.

    The robot uses a very crude but hopefully effective servo system to steer. From the attachment you should be able to see that the system consists of five main parts: the feedback potentiometer, the ADC, the magnitude comparator and finally the processor.

    You might be able to see in the first post, a picture of the potentiometer, coupled with the use of gears, to the steering column. The potentiometer is used to get position feedback from the steering column. The analog signal is the sent to the ADC and converted to a 4-bit binary number. When the steering column is in the left most position, the ADC reads 0000, and when the column is full right, 1111.

    The ADC’s output, which represents the steering column’s current position, is sent as one input to the 4-bit magnitude comparator. The processor sends a 4-bit number, which represents where the processor wants the column to turn to, to the other input of the comparator. The comparator compares the two numbers, and outputs its results to the relay board which controls the steering motor. If the input from the processor is greater than the input from the ADC, then the steering motor turns right. However, if the input from the processor is not greater than the input from the ADC, and they are not both equal, then it must be that the input from the processor is less than the input from the ADC and so the steering motor is commanded to turn left. Finally, if the input from the processor is equal to the input from the ADC, than the steering motor is commanded to stop.

    Since this explanation is a little messy, I will give an example of how the servo system should operate. Lets say that the steering column is in its left most position, and the processor wants to steer the robot straight ahead. The ADC would convert the voltage from the potentiometer, and would output to the comparator binary 0000. The processor would output to the comparator binary 0111, which represents a steering angle that is pretty much straight ahead. Since the number from the processor is greater than the one from the ADC, the comparator commands the motor to turn right. As the steering column turns right, the potentiometer turns and so the output from the ADC increases from 0000. When the column is directed straight ahead, the ADC reads 0111, and since that number equals the number from the processor, the comparator commands the motor to stop.

    It should be noted that the diagram attached below is simplified. For instance, the ADC and magnitude comparator are constructed out of 74xx series logic ICs, an op-amp, a resistor ladder, and a voltage comparator. The circuit was a little complicated for me and I did not know if I could explain it clearly. The circuit is interesting however, and if you would like me to post it, I will give it a shot.

    I have just completed a major portion of the robot's sonar system. I have attached two files to this post, the first one is a photo of the main sonar PCB, and the other file is its schematic. The PCB contains three identical sonar reception circuits, each of which consist of a two stage amplifier, to boost the weak echo of the returning ultrasonic pulses, and a tone detector circuit, to distinguish the 40khz ultrasonic pulse from other signals that may have been amplified.

    I have made quite some progress on the robot. I have constructed the head and have mounted the sonar PCBs and ultrasonic transducers into it. I have also constructed most of the circuitry for the voice command system. I have also run into several new problems. I have found that the steering gearhead motor keeps stripping its teeth. I believe this is happening because the servo system causes the motor to start and stop rapidly and the momentum of the steering column causes the motor to turn when the motor is being electrically braked, and the force causes the gears in the motor to strip. I could solve this by getting a gearmotor with stronger gears, or get one that has a higher gear reduction and therefore turns more slowly, but that would mean that I would have to machine new mounting brackets and a new coupler to fit the motor. Instead I am probably going to design a PWM circuit so that I can run the motor at slower speeds.

    I also ran into some difficulty with the voice command system. As explained in a previous post, the "voice command" system works by comparing the frequency of notes sung by the operator. The problem I have run into is that the circuit "thinks" that lower notes sung by the operator are much higher than they actually are. This is because the circuit is counting the frequency of the strong harmonics present in the lower notes of the human voice. I need to figure out a way to filter out the higher harmonics of a lower note, but then not filter out higher notes sung by the operator.


[0] Message Index

[#] Next page

[*] Previous page

Go to full version