View source for HANcoder/Training Material/Highwaysurfer
You do not have permission to edit this page, for the following reason:
You can view and copy the source of this page.
Return to HANcoder/Training Material/Highwaysurfer.
You do not have permission to edit this page, for the following reason:
The action you have requested is limited to users in one of the groups: Administrators, Bureaucrats.
You can view and copy the source of this page.
Return to HANcoder/Training Material/Highwaysurfer.
General overview
A car runs on a conveyor belt and can run on three different lanes.
When an obstacle is detected in the path of the car,
the car will switch a lane to avoid a collision.
It is possible to block all three lanes, but then the car will stop.
This demo is built up from different subsystems.
The mechanical, the electrical and the software.
All these systems are also divided into the sub-components.
Mechanical:
The construction of the total demo assembly is divided in 3 separate sub-assembly’s:
the housing components, the lane change mechanism and the conveyer belt.
Electrical:
The electrical components are connected by soldering and screw terminals.
The power supply from the wall socket goes directly into the transformer
that generates the correct power supply for the components such as the H-bridge
that controls the conveyer belt motor, the microcontroller,
stepper-motor and the ultrasonic sensors.
Software:
The software is also divided into 3 separate systems: the input, algorithm and output.
The input gives the values that the algorithm need to create the output.
The algorithm decides what happens with the belt. When there is an obstacle the car will switch lanes,
if all 3 lanes are blocked the belt will stop.
The HAN-AR have two model based development tools, HANcoder and HANtune, that they would like to promote. In order to do this a new demonstration model was required.
This is what the project team Highway Surfer has created.
The model will showcase the abilities of the tools and will act as an eye catcher at tech fairs and conferences that the HAN-AR attends.
With the help of this document people who are interested in recreating this project or start their own projects will be able to see what the steps involved are,
the materials required and the capabilities of the tools, HANcoder and HANtune.
This project was started with the help a template. This template can be downloaded from the following link:
On this wikipage, you can find the building process for the mechanical parts, the wiring and other processes for the electronics, and the logic for building the software algorithm.
To make it easy for the consumer, we have an easy to understand order list with relevant links.
In the Appendix, a detailed order list has been attached. However, a simple list is added in each subchapter to tender to specific parts.
Local hardware store:
Online webshop:
Online webshop:
HANcoder and HANtune are available at OpenMBD. (On the website is a download manual for all the software.)
For the mechanical design the dimensions can be found in the CAD 2D drawings, which can be downloaded from the website [link here]. When all the parts are cut, they can be assembled. In the exploded views in this document the exact order of assembly is explained.
To build the housing of the conveyor belt you need following items:
To get the right dimensions for this DEMO a LaserPro X500 was used which can be seen in figure 1.
The Solid Works drawings of all the wooden parts are send to a device that runs 'Corel Draw X8' which can be seen in figure 2.
The process can be seen in Figure 3. We chose this option to get a cleaner finish. Of course, there are other ways to get the panels to the right dimensions.
Some holes need to be drilled in the L-profiles to match the bolts, for this DEMO 5mm. Be aware that the holes in the two planes are not on top of each other, see figure 4.
Place the plates with the L-profile against each other and mark the holes.
Do not forget witch L-profile you use, every profile is slightly different even with the best measurements.
Continue by drilling the marked holes in the wood and assemble the parts with bolts and nuts. Start from the bottom and work all the way up.
Tensioning side | Powered side |
---|---|
To build the rollers the following parts are needed:
Bearing block | Complete roller |
---|---|
Drill | Bearing block | Machining |
---|---|---|
Cut 2 pieces of PVC to a length of 450mm.
Drill the 4 roller blocks and put them into the lathe to machine them to their final form as seen on the drawings.
When that is finished place the bearings in the blocks and glue the blocks into the PVC pipe.
For the powered side the tooth wheel is pressed in and for the tension side the ABS-ring is pressed around it.
For friction between the belt and PVC pipe a couple of strips of rubbery material (EPDM) are glued around it.
Items needed:
Test fit the conveyor belt around the rollers which are placed at a minimum width.
Mark some spots on the overlapped part which you can see circled in picture.
Remove the conveyor belt and align it back on the spots so you can stitch it together with a needle or a sewing mill.
The housing assembly for the bridge has the same procedure as the conveyor belt box. On the front panel of the bridge, the ultrasonic sensors are mounted. Extra parts needed are:
A piece of sheet metal (500x50 [mm]) is needed to create the bracket for the ultrasonic sensors. This bracket will be clammed on between the bottom panel and the 20x20 [mm] profile.
The ultrasonic sensors are screwed on the bracket and the wiring goes thru the slot that is created by the piano hinges up top.AND PICTURE FINISHED WITH SENSORS)
Bracket | Bracket with sensors |
---|---|
Within the bridge the lane change mechanism located. To create this, you need the following items:
Bracket | Bracket with sensors |
---|---|
Use the same aluminum profiles as the conveyor belt box to attach all the panels to each other.
On top of the front panel the piano hinges are mounted to create the cover. (ADD 2 PICTURES: HINGES AND PROFILES)
To mount the lane change mechanism a bracket is needed. The dimensions of the bracket are located on the drawings.
The bracket is laser cut. The slots are used to tension the belt.
On the other side, there is a hole for the potentiometer.
For the lane change mechanism, the 2 tooth wheels are fitted, one on the potentiometer that reads the position of the car and the other one on the step motor that creates the linear movement.
The custom bushings are needed to get the tooth wheels fitted on the step motor and potentiometer.
On the bottom of the bridge a switch is mounted to turn on the demo.
Bracket | Potentiometer |
---|---|
The custom bushings are needed to get the tooth wheels fitted on the step motor and potentiometer.
On the bottom of the bridge a switch is mounted to turn on the demo.
The clamp that is used to hold the car is made from sheet metal and a threaded bushing.
The pieces of sheet metal are cut and clammed together with the chain links around the belt with the m4 screws and nuts.
Drill a hole in the roof of the model car and place the threaded bushing. Then a piece of wire rod is used to connect the car to the clamp on the belt.
Exploded view lane change mechanism | Bushing | Clamps | Belt clamp | Car |
---|---|---|---|---|
In this chapter, the electronical building process is explained. In the first subchapter connecting all the sensors and actuators to the Olimexino micro controller.
The second subchapter contains the installation of the electronics in the demo.
This is the final version of our electric scheme. Each individual component will be ran down separately validating the choices and verifying the values of resistances and capacitors.
Each of the components is are linked in series with the power output of the transformer or 7805. (PICTURE ELECTRONIC CIRCUIT)
Most of the components work on 12V. To get the 12V we used a 60hz transformer. Reasons for this were the low costs compared to a battery.
To power the ultrasonic sensor and the DNF10 sensor we used a 7805voltage regulator because it’s the cheapest option available.
We have attached an emergency button and on off switch to the ground of the. Both of the buttons power a coil what opens a relay.
The emergency button relay is closed by default, while thee on off switch is open by default.
This is because in rest and with the emergency button pressed there should not be any electricity through the system.
The PM engine will be controlled by a H bridge, in our case the “Ardumoto - Motor Driver Shield”.
The reasoning we chose for an H-bridge is that the PM needs to be controlled in two directions, an H-bridge can change the direction by switching the poles easily.
Other advantages of an H-bridge are that the protection for peek tensions is already build in. The H-bridge is connected twice with the micro controller.
Once for the direction, and once for the duration and speed.
The PM motor is being controlled by the micro controller with PWM duty cycle. We used a P channel MOSFET to switch the motor on and off again.
To protect the MOSFET we used a 1kO resistance. To manage outflow in case the MOSFET is turned off we used a high 10kO resistance.
The Ultrasonic sensors are connected to the micro controller twice, once for the micro controller to trigger the sensors and for the sensor output.
To protect the circuit from voltage peaks from electromagnetic waves caused by the transformer filtering techniques are used.
The filters contain one capacitor and resistance. For each resistance 10kO is common. In the circuit R4=R5=R6=10kO.
Also, C3=C4=C5. To determine the C values, the filter frequency need to be calculated first.
To get the filter frequency (Fc) from the ultrasonic sensor to following recommended measurement cycle(t) of 60 [ms] is used.
These values are found in the specifications of the ultrasonic sensors.
F = frequency
F = 1 / t
F = 1 / 0,06
F = 16,667 [Hz]
Fc = F * x
Fc = 16,667 * 50
Fc = 8833 [Hz]
Fc = 1 / (2pRC)
C = 1 / (2pRFc)
C = 1 / (2p*10000*833) = 19.1 [µF]
The configuration of the chip has been given, and the values of R8, R9 and C7 are in the specifications.
The configuration converts a sinus wave into a block wave. It only has one output towards the micro controller.
The VR sensor also has a capacitor and resistance to filter.
To measure the frequentation coming from the VR sensor we need to know the amount of tooth on the gear it measures and its RPM.
The RPM is identical to the RPM max of the model craft electronic motor. (PICTURE VR SENSOR)
Nmaxmotor = 53 RPM at 12V
To simulate the increases of voltage a maximum RPM of 70 at > 12V is used.
N = 70 [min-1] = 70/60 = 1,16667 [sec-1]
Z = 44
F = N * Z = 1,166667 * 44 = 51,333 [Hz]
Fmax = F * A= 51,333 * 1,5 = 76,9999 [Hz]
Fc filter = Fmax * x = 76,9999 * 50 = 2,85 [KHz]
A 2 [A] fuse and a 7,5 [A] fuse is needed in the system for the peak current.
The 2 [A] fuse that is located under the micro controller will burn when there is more than 2 Amperes
in the system because of the risk that the micro controller can’t handle the current.
The 5 [A] is needed for the rest of the system that the components won’t burn through.
Different electric schemes for each of the components are being used in this chapter. The main scheme can be found above.
For clarification, some pictures are mirrored to make them correspond with the pictures from the back side.
If a part is marked with red it’s not involved in the electric scheme. (Full Electric scheme)
Connection diagram | Ground and source |
---|---|
Every electric circuit starts with a ground and a source. So, it would only be logical to start connecting this circuit first.
To connect all the ground and source wires we are using a star point.
A start point is used to prevent ground loops in the system.
Only a few ground wires from the filters are being connected before the ground star.
This is because the electricity through these wires is so small that the chances of ground loops here are slim.
The ground star has been made using a screw and bold what compresses multiple wires with spacers in-between.
This way all the wires make contact if the screw is tightened enough.
As seen in the electric scheme in between the transformer and the ground stars there are a few extra components.
The fuse, the Zener diodes and the switch.
Before we go in depth with each of the components there is a simple version of how everything is connected according to the main electric scheme.
To connect the transformer there are 5 wires what need to be connected. The first three wires are from the plug.
Connect them according to the symbols on the transformer or according to the picture above.
Following the source wire from the transformer, the next component is the Zener diode. This diode is there to protect the system from voltage peaks.
It’s switched parallel directly with the transformer. Because a PCB is being used, all the connections are made with screw blocks.
Because there was no Zener diode of 18 V available 3 Zener diodes of 6.5V are linked in series.
PART JORDY SI (source input) and GI (ground input) are directly from the transformer,
while SO (source output) and GO (ground output) are connected to the rest of the circuit.
(Figure 12)
The fuse is just a fuse switched in series. For our design, it’s connected to the ground.
It’s placed on a PCB. Since it’s a two-way fuse it doesn’t matter which way it is connected.
The switch in the electric scheme is shown as a parallel on/off button with a coil and a relay in series.
The on/off button and its electric coil are built into the component what is being used.
That means the component can be switched in series like the relay.
Just like the fuse it doesn’t matter which way it is connected. Make sure to note when the switch is on or off.
PCB’s (Printed Circuit Board) are used as screw blocks to connect the wires. Screw blocks are to connect or disconnect.
Besides that, they are very cheap and easy to apply. To connect these blocks iron wire is used and soldered with tin.
The screw blocks are white blocks in the electric system.
All the long wires in our system function as antenna’s that are exposed to the EMI (Electromagnetic interferance)from the transformer.
To filter these frequencies a combination of resistances and capacitors is used. Using a PCB for these resistors and capacitors is convenient.
The values can be found in the main electric scheme. [IO] are the inputs from the ultrasonic sensors,
[OU] is the output of the filters from the ultrasonic sensor,
[-] is ground and [OC] with [IC] are the respective input and output from the chip that is connected to the micro-controller.
The second PCB is mostly used to supply the components that run under 4 V instead of 12 V. These are the Ultrasonic sensors and the DNF10 chip.
The DNF chip is connected due the max 9240 specifications. The [-] screw block is connected to the ground while the [12V PS] is connected to the power source.
The combination of the 7805 and the capacitors will create a 5 V power source on the third pin. The capacitors are connected due the specification of the manufacturer.
The [OC] screw block is the output of the chip and is connected to the micro-controller.
The [USPS] is the ultrasonic sensor power source and is connected to the ultrasonic sensors’ VCC.
And at lasts the IVR is the input of the VR sensor. Be aware that the + side of this output needs to be connected to the proper side of the chip.
The microcontroller is directly connected with the ground and source stars with an extra fuse in series for protection.
The software is split up into 3 main parts. The input, the algorithm and the output. Each of these can be edited in the HANcoder software by double clicking the blocks. In the input block the inputs of the sensors are defined. In combination with the Simulink blocks it is possible to translate the sensor output to an input for the algorithm. The algorithm is the main logic of the code. The output would then provide the actuator with information on what needs to be done. (Figure 3 Complete software)
The input gets data from the sensors. For this system we need to translate the output of 3 types of sensors. 3 ultrasonic sensors, 1 potentiometer and 1 rotation speed sensor. Below we can see how this is done using HANcoder.
From the potentiometer we get a certain voltage. If we multiply the voltage by 1/4096 and 1.065. In combination with the constant we can get the position of the car. (Figure 4 Position sensor)
The output of the rotation sensor is a sinus signal, but in combination with the interface chip it will be a block signal. With the 'timer input get' block out of the HANcoder library it is possible to get the frequency out of the block signal. If you multiply the frequency by: 2*Pi*0.04*1/44 it will give the speed of the roll as an input for the algorithm. (figure 5 speed sensor)
(Figure 6 ultrasonic sensor)
===Algorithm===