Ultrazvukový snímač vzdálenosti
Moderátor: Moderátoři
Ultrazvukový snímač vzdálenosti
Vlastním snímač HC-SR04.
http://www.electrodragon.com/w/HC-SR04_Ultrasonic_sensor
Signál potřebuji dostat do kontroléru simatic S7-1200.
Na vstup snímače se přivede triggerovací pulz nejméně 10 us a v závislosti na vzdálenosti odešle výstupní pulz.
Jenže signál ze snímače nese informaci v podobě délky pulzu, jež je extrémně krátká. Distance = High level time * sound velocity (340M / S) / 2. Tohle nemá kontrolér šanci měřit natož s nějakou přesností.
Délku pulzu potřebuji převést na analogovou hodnotu. Napadlo mě periodicky triggerovat a výstupní signál převést na střední hodnotu nebo po dobu trvání výstupního pulzu nabíjet kondenzátor a změřit na jaké napětí se nabil. Stačí mi měřit rozsah 5 cm až 35 cm s rozlišením klidně jen 2 cm.
Máte prosím nějaké jednoduché návrhy jak to řešit a technicky provést?
Děkuji za pomoc
5cm odpovídá 290us, 35cm odpovídá 2ms délky log.1 z čidla. 30kHz čítač má rozlišení 33us, což odpovídá asi 0,5cm. Při 100kHz čítači je rozlišení 10us (tedy asi 2mm hladiny).
Při log.1 z čidla čítač spustím, při log.0 přečtu hodnotu a zastavím. Ale opravdu netuším, jak rychlá je reakce S7-1200 CPU při změně vstupu (interrupt?)...
Pokud jsou reakce S7 pomalé, řešil bych to úplně stejně čítačem/timerem ale v nějakém malém externím jednočipu