Wireless implementation of the modules
Introduction
The aim of this set of modules is to remove the "heavy-weight" beaglebone black and its DAQ (toadkiller module) and to replace it with a small arduino like, capable of acquiring 6Msps and stream it over wifi, while leveraging the arduino IDE.
Of course, due to its limitation, it cannot properly sample the raw signal coming back from the transducer, but with the help of the analog processing module, the enveloppe of the signal, ie the bones of the ultrasound image, is ready to be acquired.
For the fun of it, I also put a small 128x60 monochrome screen, to see what the microcontroller is acquiring.
Examples
Plugin in the servo+transducer module (Cletus)
Organizing the modules
With the overview, and the transducer
Wireless Dev Kit
The default setting for the sets
- Simply the servo and transducer module (cletus) -- get for 80$ (Where? Recycling a transducer from ebay, servo from anywhere (Amazon?))
- The acquisition heart of the echOmods (croaker) -- get for 35$ (Where? Get Feather from Amz or Adafruit. OLED at Amz)
- Mogaba, the power supply (mogaba) -- get for 5$ (Where? Anywhere, or eg Amazon?)
- Goblin: a TGC-Envelop-ADC module (goblin) -- get for 149$ (Where? Custom made, get the Gerbers, or buy it preassembled on Tindie, or contact @kelu124)
- Tobo: the HV-pulser (tobo) -- get for 120$ (Where? Custom made, get the Gerbers, buy it preassembled on tindie or contact @kelu124)
Total cost of the set: 389$
2016-12-17 -- Lab Log
Aim of the work
- Test the (lower-speed) acquisition using an arduino's ADC (~2Msps), which also streams over wifi, over UDP.
- Build and test a very basic, yet accurate, phantom
Setup
The classical one. Using the pulser module, analog processing module, and a arduino-like to capture and stream the data. Piezo moved by a servo (module).
Setup:
Phantom
Capturing data
Script used were:
nc -lu 5005 > 20161217-222737.data
-- to acquire the raw data streamed by the arduino on port 5005python CreateCSV2.py 20161217-222737.data
-- using the CreateCSV2 script to generate proper data using the good format from the raw data file. This was later consolidated in a single image.
Raw images
Acquisition of 4 images
Presented non scan converted
Comparison of raw images to the phantom
Preparing the image
I aggregated the 4 images in one image with the rebuild script which yielded
and scan converted it:
Conclusion
- The acquisition is not too bad, even using an arduino
- The servo may be the limiting element in terms of lateral resolution
- the breadboard pitch is 0.1 inch, 2.54mm. We resolve this.
- There is an issue with repetition echoes: it may be worth waiting more than 300us between shooting lines.
Next steps
- Using a gyro
- Using a RPi0 to connect to the analog processing onboard ADC.