Professional Documents
Culture Documents
Передающая часть
1,5 MHz
An_Clock
CNTR8
CMPPRG_1
BPF2_1 _/\_ BPF2_2 _/\_
US RX BPF2 BPF2
PGA_1
Vref
RefMux_1 AGND
REFMUX Приемная часть
Выход ШИМ
Последовательный
PWM_Output Baud9600 Serial TX выход
PWM8 CNTR8 TX8
Интерфейсная часть
1
Главные фичи:
Конфигурация микроконтроллера
Учитывая, что импульсы проходят двойной путь (туда и обратно) и требуется получать разрешение, равное
1 см, получим минимальную частоту для опроса состояния приемника (импульс пришел/не пришел):
V
F Timebase = 1[см] × 2 = 17.23 кГц
«24V1» 2 МГц
f TimeBase = 116 = 116 = 17,24 кГц
Аппаратная часть
Схема ультразвукового измерителя дальности чрезвычайно проста (рис.3). Самая важная деталь – это
микросхема CY8C26443 фирмы Cypress, взявшая на себя всю обработку сигнала.
Два конденсатора, C1 и C2, подавляют низко- и высокочастотные шумы в цепи питания.
Резистор R1 (100к) поддерживает напряжение аналоговой земли (+2,5В) на сигнальном входе
микросхемы. Резистор R2 регулирует контрастность LCD индикатора.
Без индикатора устройство потребляет ток около 23 мА (от источника питания +5В), с индикатором –
25 мА.
Измеренное значение дальности выводится двумя путями: один – в виде ШИМ сигнала, второй –
через последовательный интерфейс с TTL уровнями, которые с помощью дополнительной микросхемы,
например, классической MAX232, могут быть приведены к уровням стандарта RS-232 и поданы на
персональный компьютер, имеющий последовательный порт.
Параметры последовательного интерфейса – 9600, n, 8, 1, ШИМ выхода – приращение длительности
импульса 5 мкс на каждый сантиметр дальности.
Дополнительно может подключаться LCD дисплей (2 строки по 16 символов) со встроенным
контроллером, в этом случае резистором R2 регулируется его контрастность.
3
5V 5V
J1
Header 4 19 28
XRES VCC
+5V 1
TX SERIAL C1 C2
2 PWMOUT US RX 100 nF 100 uF
PWM 3
GND 40 kHz 1 14
4 27 P0_7 VSS
R1 2 P0_6
100 k 26 P0_5
3 P0_4 9
AGND 25 P0_3 SMP
4 P0_2
24 P0_1 U1
P0_0
JP1 CY8C26443
Calibration
NORMAL/CALIBRATION 10 5 PWMOUT
18 P1_7 P2_7 23
11 P1_6 P2_6 6
17 P1_5 P2_5 22 SERIAL US TX
12 P1_4 P2_4 7 40 kHz
5V 16 P1_3 P2_3 21
13 P1_2 P2_2 8
15 P1_1 P2_1 20
R2 8.2 k P1_0 P2_0
10
11
12
13
14
1
2
3
4
5
6
7
8
9
J2
Vee
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
RS
Vss
Vcc
R/W
LCD
(optional)
LCD 16 X 2
Программное обеспечение
В рабочем режиме:
программа непрерывно генерирует посылки и после каждой, спустя некоторое время, ожидает эхо-
сигнал. Время, прошедшее между началом передачи и началом приема посылки будет пропорционально
расстоянию между устройством и препятствием. Опрашивая состояние компаратора «CMPRG_1», мы
отсчитываем временной интервал, который затем запоминается в памяти. В итоге, расстояние до объекта
высвечивается на LCD-дисплее (если таковой установлен), выдается на последовательный канал передачи
данных, а также в виде ШИМ-импульсов, пропорциональных дальности, присутствует на выходе
устройства.
В режиме калибровки:
работа аналогична предыдущему режиму, за исключением того, что измеренное значение
сравнивается с «50», а разность заносится в энергонезависимую память EEPROM с целью коррекции
будущих показаний.
4
Главн. цикл Калибровка Timebase_int
кГц посылку да
Вычислить Запретить
Выждать поправку и прерывание
«защитный запомнить ее Timebase_int и
в EEPROM сохранить time1
интервал»
Вычислить
дальность и Возврат
послать ее на
LCD, ШИМ и
послед. порт
Конструкция
5
Список использованных компонентов
Калибровка
Заключение
рабочий режим
P S o C r a n g e f i n d e r
D i s t a n c e X X X c m
режим калибровки
5 0 c m c a l i b r a t i o n
P l a c e J P 1 j u m p e r
Также, вы можете легко модифицировать программу, вводя новые режимы. Например, чтобы отсечь
ошибочные измерения, можно заставить программу вычислять среднее значение из нескольких измерений
и отбрасывать те, которые выходят за допустимые пределы. Еще, для повышения точности, можно
подключить внешний температурный датчик и учитывать зависимость скорости распространения звука от
температуры среды.
Примечания.
Проект «PSoC RangeFinder» (автор – Fabio Piana) – занял 1-е место на конкурсе PSoC Design
Challenge’2002.
Исходники (файлы проекта для среды разработки «PSoC Designer») и прошивка (архив 482K) находятся на
ftp://ftp.circuitcellar.com/pub/Circuit_Cellar/2003/150/piana150.ZIP