Innholdsfortegnelse:
- Trinn 1: Grensesnitt med digital ultralydssensor
- Trinn 2: Ultralydavstandssensor
- Trinn 3: Realisering med GreenPAK Designer
- Trinn 4: Resultater
- Trinn 5: Mulige tillegg
Video: DIY digital avstandsmåling med ultralyds sensorgrensesnitt: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Målet med denne Instructable er å designe en digital avstandssensor ved hjelp av en GreenPAK SLG46537. Systemet er designet ved bruk av ASM og andre komponenter i GreenPAK for å samhandle med en ultralydsensor.
Systemet er designet for å styre en ettskuddsblokk, som vil generere triggerpulsen med den nødvendige bredden for ultralydssensoren og klassifisere det returnerende ekkosignalet (proporsjonalt med målt avstand) i 8 avstandskategorier.
Grensesnittet som er designet kan brukes til å drive en digital avstandssensor som skal brukes i en lang rekke applikasjoner, for eksempel parkeringsassistentsystemer, robotikk, varslingssystemer, etc.
Nedenfor beskrev vi trinnene som trengs for å forstå hvordan løsningen er programmert til å lage den digitale avstandsmåling med ultralyd sensorgrensesnitt. Men hvis du bare vil få resultatet av programmeringen, kan du laste ned GreenPAK -programvare for å se den allerede fullførte GreenPAK -designfilen. Koble GreenPAK Development Kit til datamaskinen din og klikk på programmet for å lage den digitale avstandsmåling med ultralyd sensorgrensesnitt.
Trinn 1: Grensesnitt med digital ultralydssensor
Systemet designet sender triggerpulser til ultralydsensoren hver 100 ms. GreenPAKs interne komponenter, sammen med ASM, overvåker klassifiseringen av det returnerende ekkosignalet fra sensoren. ASM -designet bruker 8 tilstander (tilstandene 0 til 7) for å klassifisere ekkoet fra ultralydssensoren ved å bruke teknikken for iterativ overgang gjennom tilstandene mens systemet venter på ekko -signalet. På denne måten, jo lenger ASM går gjennom tilstandene, desto færre lysdioder lyser.
Siden systemet fortsetter å måle hver 100 ms (10 ganger i sekundet) blir det lett å se økningen eller nedgangen på avstandene målt med sensoren.
Trinn 2: Ultralydavstandssensor
Sensoren som skal brukes i denne applikasjonen er HC-SR04, som er illustrert med følgende figur 1.
Sensoren bruker en 5 V -kilde på pinnen lengst til venstre og GND -tilkoblingen på pinnen til høyre. Den har en inngang, som er utløsersignalet, og en utgang, som er ekkosignalet. GreenPAK genererer en passende triggerpuls for sensoren (10 us i henhold til databladet til sensoren) og måler det tilsvarende ekkopulssignalet (proporsjonalt med avstanden målt) levert av sensoren.
All logikk er satt i GreenPAK ved hjelp av ASM, forsinkelsesblokker, tellere, oscillatorer, D-flipflops og one-shot-komponenter. Komponentene brukes til å generere den nødvendige inngangstriggerpulsen for ultralydssensoren og klassifisere den returnerende ekkopulsen som er proporsjonal med avstanden målt til avstandssoner som beskrevet i de følgende avsnittene.
Tilkoblingene som trengs for prosjektet er vist i figur 2.
Inngangstriggeren som sensoren ber om, er en utgang generert av GreenPAK, og ekko -utgangen til sensoren brukes til å måle avstanden til GreenPAK. De interne signalene til systemet vil drive en one-shot-komponent for å generere den nødvendige pulsen for å utløse sensoren, og det returnerende ekkoet vil bli klassifisert ved bruk av D-vipper, logiske blokker (LUT og inverter) og en motblokk, inn i de 8 avstandssonene. D-vippene på slutten vil beholde klassifiseringen på utgangs-LED-ene til neste mål er utført (10 mål per sekund).
Trinn 3: Realisering med GreenPAK Designer
Denne designen vil demonstrere tilstandsmaskinfunksjonaliteten til GreenPAK. Siden det er åtte stater i den foreslåtte statsmaskinen, er GreenPAK SLG46537 egnet for applikasjonen. Maskinen ble designet på GreenPAK Designer -programvaren som vist i figur 3, og definisjonene for utganger er angitt på RAM -diagrammet i figur 4.
Hele diagrammet over kretsen designet for applikasjonen kan ses på figur 5. Blokkene og deres funksjoner er beskrevet etter figur 5.
Som det kan sees på figur 3, figur 4 og figur 5, er systemet designet for å fungere i rekkefølge for å generere en 10 us triggerpuls for ultralydavstandssensoren, ved å bruke CNT2/DLY2-blokk som en ettskuddskomponent sammen med 25 MHz -klokken fra OSC1 CLK, for å generere signalet på PIN4 TRIG_OUT -utgang. Denne one-shot-komponenten utløses av CNT4/DLY4-tellerblokken (OSC0 CLK/12 = 2 kHz klokke) hver 100 ms, og utløser sensoren 10 ganger i sekundet. Ekkosignalet, hvis ventetid er proporsjonal med avstanden som måles, kommer fra PIN2 ECHO -inngangen. Settet med komponenter DFF4 og DFF4, CNT3/DLY3, LUT9 skaper et forsinkelse for å følge tilstandene i ASM. Som det kan sees i figur 3 og figur 4, jo lenger systemet går gjennom tilstandene, jo færre utganger utløses.
Trinnene til avstandssonene er på 1,48 ms (ekkosignal), som er proporsjonalt med trinn på 0,25 cm, som vist i formel 1. På den måten har vi 8 avstandssoner, fra 0 til 2 m i trinn på 25 cm, som vist i Tabell 1.
Trinn 4: Resultater
For å teste designet kan du se konfigurasjonen som brukes på emuleringsverktøyet fra programvaren i figur 6. Tilkoblingene på pinnene i emuleringsprogramvaren kan sees etter det i tabell 2.
Emuleringstestene viser at designet fungerer som forventet ved å tilby et grensesnittsystem for å samhandle med ultralydssensoren. Emuleringsverktøyet levert av GreenPAK viste seg å være et flott simuleringsverktøy for å teste designlogikken uten å programmere brikken og et godt miljø for å integrere utviklingsprosessen.
Krets -testene ble utført ved hjelp av en ekstern 5 V -kilde (også designet og utviklet av forfatteren) for å gi den nominelle sensorspenningen. Figur 7 viser den eksterne kilden som brukes (020 V ekstern kilde).
For å teste kretsen ble ekko -utgangen fra sensoren koblet til inngangen til PIN2 og triggerinngangen ble koblet til PIN4. Med den forbindelsen kunne vi teste kretsen for hvert av avstandsområdene som er angitt i tabell 1, og resultatene var som følger i Figur 8, Figur 9, Figur 10, Figur 11, Figur 12, Figur 13, Figur 14, Figur 15 og Figur 16.
Resultatene viser at kretsen fungerer som forventet, og GreenPAK -modulen er i stand til å fungere som grensesnitt for ultralydavstandssensoren. Fra testene kan kretsen som er designet, bruke tilstandsmaskinen og de interne komponentene til å generere den nødvendige triggerpulsen og klassifisere det returnerende ekkolaget i kategoriene som er angitt (med 25 cm trinn). Disse målingene ble utført med systemet online, som måler hver 100 ms (10 ganger per sekund), og viser at kretsen fungerer godt for kontinuerlige avstandsmåling, for eksempel parkeringshjelpemidler og så videre.
Trinn 5: Mulige tillegg
For å implementere ytterligere forbedringer på prosjektet, kan designeren øke avstanden for å innkapsle hele ultralydsensorområdet (vi er for tiden i stand til å klassifisere halvparten av området fra 0 m til 2 m, og hele området er fra 0 m til 4 m). En annen mulig forbedring ville være å konvertere avstandsmålt ekkopuls som skal vises i BCD -skjermer eller LCD -skjermer.
Konklusjon
I denne instruksjonsboken ble en digital ultralydavstandssensor implementert ved bruk av GreenPAK -modulen som en kontrollenhet for å drive sensoren og tolke ekko -pulsutgangen. GreenPAK implementerer en ASM sammen med flere andre interne komponenter for å drive systemet.
GreenPAK utviklingsprogramvare og utviklingstavle viste seg å være gode verktøy for rask prototyping og simulering under utviklingsprosessen. GreenPAKs interne ressurser, inkludert ASM, oscillatorer, logikk og GPIO -er, var enkle å konfigurere for å implementere ønsket funksjonalitet for dette designet.
Anbefalt:
Avstandsmåling med bevegelsessensor APDS9960: 6 trinn
Avstandsmåling med bevegelsessensor APDS9960: I denne opplæringen lærer vi hvordan du måler avstanden ved hjelp av en bevegelsessensor APDS9960, arduino og Visuino. Se videoen
Bluetooth -kontrollert RC -bil med hastighetskontroll og avstandsmåling: 8 trinn
Bluetooth -kontrollert RC -bil med hastighetskontroll og avstandsmåling: Som barn var jeg alltid fascinert av RC -bilene. I dag kan du finne mange opplæringsprogrammer for å lage billige Bluetooth -kontrollerte RC -biler selv ved hjelp av Arduino. La oss ta det et skritt videre og bruke vår praktiske kunnskap om kinematikk til å beregne
Komme i gang med I2C sensorgrensesnitt ?? - Grensesnitt for MMA8451 ved bruk av ESP32s: 8 trinn
Komme i gang med I2C sensorgrensesnitt ?? - Grensesnitt for MMA8451 ved bruk av ESP32s: I denne opplæringen lærer du alt om hvordan du starter, kobler til og får I2C -enhet (akselerometer) til å fungere med kontrolleren (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Hvordan rive en digital tykkelse og hvordan fungerer en digital tykkelse: 4 trinn
Hvordan rive en digital tykkelse og hvordan fungerer en digital tykkelse: Mange vet hvordan man bruker måler for måling. Denne opplæringen vil lære deg hvordan du river en digital tykkelse og en forklaring på hvordan den digitale tykkelsen fungerer
Avstandsmåling: 4 trinn
Distance Measuring Watch: I dette prosjektet har jeg komprimert og montert Arduino avstandsmålesystemet på et ur. Prosjektet er kult, enkelt så vel som nyttig. Avstandsmålesystemet er basert på enkel fysikk av avstand, hastighet og tid