S. JI, M. MA, A. OBERTELLI, V. OSTERTAG, V. SCHAEFER, A. VERVAET
2018 PROMO
2nd SEMESTER, JUNE 2016
Group G10B - ELECTRONIC PROJECT
Slide 1.2
Group G10B - ELECTRONIC PROJECT
Slide 1.3
Our goal was to create a robot capable of observing its environment
Start moving when it hears a two tone whistle
Move around a 20 by 60 cm rectangle
Stop moving when receiving a high temperature or when pushing a stop button
A challenging part was to have an international
group. We had a language barrier as well as different thinking methods.
Group G10B - ELECTRONIC PROJECT
Slide 2.1
Understand how the robot works
Group G10B - ELECTRONIC PROJECT
Slide 2.2
Cyclone III processor
4MB flash memory
7 segments display
USB Blaster
10 switches
SDRAM 8 Mbytes
Understand how the robot works
Group G10B - ELECTRONIC PROJECT
Slide 2.3
FPGA works at 5V
What we know
Understand how the robot works
To find the power, we must measure the current
Measured current : 0.15A
We know that:
P = U x I
P = 0.75W
Group G10B - ELECTRONIC PROJECT
Slide 2.4
Understand how the robot works
What we know
P = 0.75 W
W=P*∆t
1kWh = 0.09 kg of CO2
During one hour :
W = (0.75/1000)*1
= 7.5*10^-4 kWh
Equivalent in CO2 :
6.75*10^-5 kg
Group G10B - ELECTRONIC PROJECT
Slide 2.5
Understand how the robot works
Powered by 4 lithium cells
Boe-Bot uses 0.15 A
T = (Battery / U) = 19H
Group G10B - ELECTRONIC PROJECT
Slide 3.1
Analysing sound signals
Group G10B - ELECTRONIC PROJECT
Slide 3.2
Analysing sound signals
Create an algorithm which detects the presence of absence of an audio signal
Finding where it is stationary
Calculating powers
Using it to determinate where the audio is
Group G10B - ELECTRONIC PROJECT
Slide 3.3
Analysing sound signals
Group G10B - ELECTRONIC PROJECT
Slide 3.4
Analysing sound signals
Group G10B - ELECTRONIC PROJECT
Slide 3.5
Analysing sound signals
Finding the notes played in a signal
Calculating the Fourier transformation for each point
Finding the primal frequency and time of each point
Group G10B - ELECTRONIC PROJECT
Slide 3.6
Analysing sound signals
1611 Hz et 1311 Hz
1589Hz et 1281Hz
Group G10B - ELECTRONIC PROJECT
Slide 3.7
Analysing sound signals
Reducing the memory used to numerise a signal
We lost a little bit of precision but so much memory place.
Group G10B - ELECTRONIC PROJECT
Slide 3.8
Analysing sound signals
Creating a filter on Matlab
Group G10B - ELECTRONIC PROJECT
Slide 3.9
Analysing sound signals
BEFORE
AFTER
Group G10B - ELECTRONIC PROJECT
Slide 4.1
Programming the robot
001010100011
110101111000
Group G10B - ELECTRONIC PROJECT
Slide 4.2
This part aims at programming the robot. We had to:
Here are the programs we coded:
Programming the robot
Group G10B - ELECTRONIC PROJECT
Slide 4.3
It's a software used to program any ALTERA product such as the Boe-Bot Robot
There are two ways to tell the device what to do.
VHDL is a language used to control the behavior of an electronic device.
Programming the robot
Group G10B - ELECTRONIC PROJECT
Slide 4.4
Programming the robot
PINNING THE COMPONENTS
IMPLEMENT THE CODE ON THE ROBOT
Group G10B - ELECTRONIC PROJECT
Slide 4.5
Programming the robot
The clock's frequency is 50MHz. Therefore, when it has done 50 000 000 cycles, that means a second has passed.
The program simply counts how many cycles the clock has done and when it reaches 50 000 000, it knows a second has passed.
Group G10B - ELECTRONIC PROJECT
Slide 4.6
Programming the robot
1 ms of high level makes the robot goes backward
1.5 ms of high level makes the robot stay put
2 ms of high level makes the robot goes forward
Group G10B - ELECTRONIC PROJECT
Slide 4.7
Programming the robot
The two motors given have opposite turning sense !
Examples: Each line represents the power given to a motor
1 ms
2 ms
Going forward
Go backward
1 ms
Group G10B - ELECTRONIC PROJECT
Slide 4.8
Programming the robot
In this program, the robot can be in 4 different states.
The first state is the one which makes the robot stop
The second state is for the smallest part of the rectangle
The third state is for the longest part of the rectangle
The fourth state makes the robot turn and counts how many states it's been through to help him know, which state it has to go to next.
Group G10B - ELECTRONIC PROJECT
Slide 5.1
Creating the captors
Group G10B - ELECTRONIC PROJECT
Slide 5.2
Creating the captors
Learn how to use captors
Make electrical
circuits and
analyze them
Weld everything
on the card
Make simulations
Group G10B - ELECTRONIC PROJECT
Slide 5.3
Creating the captors
We used an electret microphone
hit by a soundwave
Distance D1
Distance D2>D1
C= ε S/D
changing D changes the capacity
Group G10B - ELECTRONIC PROJECT
Slide 5.4
Creating the captors
Group G10B - ELECTRONIC PROJECT
Slide 5.5
Creating the captors
As we can see, the signal is too small
We must amplify it.
Group G10B - ELECTRONIC PROJECT
Slide 5.6
Creating the captors
Group G10B - ELECTRONIC PROJECT
Slide 5.7
Creating the captors
Our circuit :
The signal is now amplified, but the robot must only receive sounds that have a specific fequency.
We need to use a filter
Group G10B - ELECTRONIC PROJECT
Slide 5.8
Creating the captors
RAUCH FILTER
Group G10B - ELECTRONIC PROJECT
Slide 5.9
Creating the captors
RAUCH BANDPASS FILTER
Group G10B - ELECTRONIC PROJECT
Slide 5.10
Creating the captors
Group G10B - ELECTRONIC PROJECT
Slide 5.11
Creating the captors
The robot does not understand an electric signal. We must convert it to a binary sequence. To do that, we need to use a trigger...
Above SH => equals 1
Below SH => equals 0
Group G10B - ELECTRONIC PROJECT
Slide 5.12
Creating the captors
Slide 5.13
Creating the captors
Group G10B - ELECTRONIC PROJECT
Slide 5.14
Creating the captors
Group G10B - ELECTRONIC PROJECT
We also used a software in order to check if everything would work.
It is called « Advanced Design System (ADS) »
Slide 5.15
Creating the captors
Group G10B - ELECTRONIC PROJECT
Slide 5.16
Creating the captors
Group G10B - ELECTRONIC PROJECT
We chose the temperature captor as our secondary sensor
Slide 5.18
Creating the captors
Group G10B - ELECTRONIC PROJECT
Group G10B - ELECTRONIC PROJECT
Slide 6.1
Conclusion
Thanks for listening!