Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Hallo!
Mijn hobby en passie is het realiseren van natuurkundige projecten. Een van mijn laatste werk gaat over ultrasone echografie. Zoals altijd heb ik geprobeerd het zo eenvoudig mogelijk te maken met onderdelen die je op ebay of aliexpress kunt krijgen. Dus laten we eens kijken hoe ver ik kan gaan met mijn eenvoudige items…
Ik werd geïnspireerd door dit een wat ingewikkelder en duurder project:
hackaday.io/project/9281-murgen-open-source…
Dit zijn de onderdelen die je nodig hebt voor mijn project:
de belangrijkste onderdelen:
- een meter om de dikte van verf te meten voor 40 USD: ebay verfdiktemeter GM100
- of alleen de 5 MHz-transducer voor 33 USD: ebay 5 MHz-transducer
- een arduino Due voor 12 USD: ebay arduino due
- een 320x480 pixel scherm voor 11 USD: 320x480 arduino scherm
- twee 9V/1A voedingen voor de symmetrische +9/GND/-9V voeding
- echo-gel voor echografie: 10 USD echografie gel
voor de zender:
- een step-up-converter voor de benodigde 100V voor 5 USD: 100V boost-converter
- een gewone step-up-converter die 12-15V levert voor de 100V-boost-converter voor 2 USD: XL6009 boost-converter
- een LM7805 spanningsregelaar
- monoflop-IC 74121
- mosfet-stuurprogramma ICL7667
- IRL620 mosfet: IRL620
- condensatoren met 1nF (1x), 50pF (1x), 0,1µF (1x elektrolytisch), 47µF (1x elektrolytisch), 20 µF (1 x elektrolytisch voor 200V), 100 nF (2x MKP voor 200V: 100nF20µF
- weerstanden met 3kOhm (0,25W), 10kOhm (0,25W) en 50Ohm (1W)
- 10 kOhm potentiometer
- 2 stuks. C5-sockets: 7 USD C5-socket
voor de ontvanger:
- 3 stuks. AD811 operationele versterking: ebay AD811
- 1 stuk. LM7171 operationele versterking: ebay LM7171
- 5 x 1 nF condensator, 8 x 100 nF condensator
- 4 x 10 kOhm potentiometer
- 1 x 100 kOhm potentiometer
- 0.25W weerstanden met 68 Ohm, 330 Ohm (2 stuks), 820 Ohm, 470 Ohm, 1.5 kOhm, 1 kOhm, 100 Ohm
- 1N4148 diodes (2 stuks)
- 3.3V zenerdiode (1 st.)
Stap 1: Mijn zender- en ontvangercircuits
Echografie is een zeer belangrijke manier in de geneeskunde om in het lichaam te kijken. Het principe is eenvoudig: een zender zendt ultrasone pulsen uit. Ze verspreiden zich in het lichaam, worden weerkaatst door inwendige organen of botten en komen terug naar de ontvanger.
In mijn geval gebruik ik de meter GM100 voor het meten van de dikte van verflagen. Hoewel het niet echt bedoeld is om in het lichaam te kijken, kan ik mijn botten zien.
De GM100-zender werkt met een frequentie van 5 MHz. Daarom moet je hele korte pulsen maken met een lengte van 100-200 nanoseconden. De 7412-monoflop is in staat om zulke korte pulsen te creëren. Deze korte pulsen gaan naar de ICL7667-mosfet-driver, die de gate van een IRL620 aanstuurt (let op: de mosfet moet spanningen tot 200V aankunnen!).
Als de gate is ingeschakeld, ontlaadt de 100V-100nF-condensator en wordt een negatieve puls van -100V aan de zender-piezo gegeven.
De ultrasone echo's, ontvangen van de GM100-kop, gaan naar een 3-traps versterker met de snelle OPA AD820. Na de derde stap heb je een precisiegelijkrichter nodig. Hiervoor gebruik ik een LM7171 operationele versterker.
Let op: het beste resultaat krijg ik als ik de ingang van de precisiegelijkrichter inkort met een dupont-draadlus (? in de schakeling). Ik begrijp niet echt waarom, maar je zult het moeten controleren als je mijn ultrasone scanner probeert te reconstrueren.
Stap 2: De Arduino-software
De gereflecteerde pulsen moeten worden opgeslagen en weergegeven door een microcontroller. De microcontroller moet snel zijn. Daarom kies ik een arduino due. Ik heb twee verschillende soorten snelle analoge leescodes geprobeerd (kijk naar de bijlagen). De ene is sneller (ongeveer 0,4 µs per conversie), maar ik kreeg 2-3 keer dezelfde waarde bij het inlezen van de analoge ingang. De andere is wat langzamer (1 µs per conversie), maar heeft niet het nadeel van de herhaalde waarden. Ik heb de eerste gekozen…
Er zijn twee schakelaars op het ontvangerbord. Met die sitches kun je de meting stoppen en twee verschillende tijdbases kiezen. Een voor meettijden tussen 0 en 120 µs en de andere tussen 0 en 240 µs. Ik realiseerde me dit door 300 waarden of 600 waarden uit te lezen. Voor 600 waarden duurt het twee keer zo lang, maar dan neem ik gewoon elke seconde analoog-in-waarde.
De binnenkomende echo's worden uitgelezen met een van de analoge ingangspoorten van de arduino. De zener-diode moet de poort beschermen tegen te hoge spanningen omdat de arduino alleen spanningen tot 3,3V kan lezen.
Elke analoge ingangswaarde wordt dan omgezet in een waarde tussen 0 en 255. Met deze waarde wordt een verdere grijsgekleurde rechthoek op het display getekend. Wit betekent hoog signaal/echo, donkergrijs of zwart betekent laag signaal/echo.
Dit zijn de regels in de code voor het tekenen van rechthoeken met een breedte van 24 pixels en een hoogte van 1 pixel
voor(i = 0; ik < 300; i++) {
waarden = kaart(waarden, 0, 4095, 0, 255);
myGLCD.setColor(waarden, waarden, waarden);
myGLCD.fillRect(j * 24, 15 + i, j * 24 + 23, 15 + i);
}
Na een seconde wordt de volgende kolom getekend…
Stap 3: Resultaten
Ik heb verschillende objecten onderzocht, van aluminium cilinders tot met water gevulde ballonnen tot aan mijn lichaam. Om lichaamsecho's te zien, moet de versterking van de signalen erg hoog zijn. Voor de aluminium cilinders is een lagere versterking nodig. Als je naar de foto's kijkt, zie je duidelijk de echo's van de huid en mijn bot.
Dus wat kan ik zeggen over het succes of falen van dit project. Het is mogelijk om in het lichaam te kijken met zulke eenvoudige methoden en met behulp van onderdelen die normaal niet voor dat doel zijn bedoeld. Maar ook deze factoren beperken de resultaten. Zulke duidelijke en goed gestructureerde foto's krijg je niet in vergelijking met commerciële oplossingen.
Maar en dit is het belangrijkste, ik heb het geprobeerd en heb mijn best gedaan. Ik hoop dat je deze instructables leuk vond en dat het op zijn minst interessant voor je was.
Als je een kijkje wilt nemen bij mijn andere natuurkunde-projecten:
www.youtube.com/user/stopperl16/videos?
meer natuurkundeprojecten: