Session 4 - 19 March 2016
Other sessions
- Session 1 : Powering the board, power use, first (bad) trigging and echoes (06 March 2016)
- Session 2 : Non-controlled pulsing, inverters, better echoes (11 March 2016)
- Session 3 : Getting controlled pulsing, but width not controlled (15 March 2016)
- Session 4 : Width of the pulses is getting controlled =) (19 March 2016)
- Session 4b : Simple data visualisation with BitScope (19 March 2016)
- Session 5 : moving the transducer to get the first image (20 March 2016)
- Session 6 : Getting a clinically usable image (28 March 2016)
- Session 7 : Getting cleaner images - code improvements (3 April 2016)
- Session 8 : Comparing acquisition speeds (3 May 2016)
Today
Goal
Pulsing shorter with an arduino and getting nicer pulses.
TL;DR
- Managing the pulser with a trinket pro
- Getting quite clean images
Technical points
Setup
Remarks
- Same setup as Session 1 and Session 2.
- Added a TrinketPro to manage USPP and USPN, trying to solve Session 3 issues.
- We don't need external alim apart from the 5V/3.3V thingie, and no signal generation. We're making progress!
Overall setup
Transducer for a reflection
Discussion and issues
Discussion
- As TEK13 shows, we do have great echoes, we manage to see up to 4 reflections.
- The pulse looks great!
Issues
- Some noise appears with the trinket
- We still need to clarify what happens at TP5/6 (see below). A signal at 34MHz is going out... but what is it? Should be filtered at 3.5MHz :p Is that an error from the filter RC parameters?
- Need to have a 3.3V trinket to manage the pulser control without having to buffer the controls.
--Indeed, controls were ouput at 5V. I had only an inverter under my hands, so I fed it 3.3V from the regulator, and doubly inverted the signals.
--Before:
--After:
Next steps
- Using BitScope to get the image
- Throwing in some movements
- Find out the TP5/6 issue
Images
Moving along the chain of capture
Outputs of the trinket - 5V
Pulsing, without transducer
Pulsing, with transducer
Echoes, at TP1, with a 30us interval between shooting
Three reflections of echoes, at TP1, with a 300us interval between shooting
Echoes, at TP1, with a 300us interval between shooting
Echoes, at TP2/3, with a 300us interval between shooting
!Echoes, at TP5/6, with a 300us interval between shooting
TrinketPro code
Code is at bitscope/TrinketProCode
/*
SimplePulse
Using the Hackaday Trinket Pro.
Creates two contiguous pulses one after the other, then sleeps till the next time.
This example code is in the public domain. Inspired from Blink.
*/
// the setup routine runs once when you press reset:
void setup() {
DDRB = B11111111; // set PORTB (digital 13~8) to outputs
}
// the loop routine runs over and over again forever:
void loop() {
PORTB = B00001000; // Pin 11
delayMicroseconds(10);
PORTB = B00010000; // Pin 12 = pulse positif: trigging USPP
__asm__("nop\n\t");
PORTB = B00100000; // Pin 13 = pulse negatif: trigging USPN
__asm__("nop\n\t""nop\n\t");
PORTB = B00000000;
delayMicroseconds(300); // wait for a full depth-image
}