|
Сделал я вот эту сирену на ПИК-контроллере. http://www.rcdesign.ru/articles/electronics/buzzer Работать она работает, но выяснилось одно но. Если на выходе ничего не потключено, то на 2ой и 3ей ноге есть парафазный меандр. При подключении пьезоизлучателя на 3ей ноге устанавливается постоянный высокий уровень и соответственно о мостовом включении пищика можно забыть. Котроллер использован PIC12C508A. (В исходном варианте без "А" контроллер. Эффект стабильно повторяется: два экземпляра контроллера, пищики - наш ЗП-18 и неск. ихних разных. Подозреваю, что связано это с ёмкостной нагрузкой и схемотехникой выходных ключей контроллера. В ПИКах не специалист. Может ли кто проанализировать программу: нет ли там каких хитростей с программированием работы ног на ввод\вывод? Дополнительный вопрос: как изменить текст программы, чтобы выходными стали не 2 и 3 ноги, а 2я и 7я или 3я и 6я? Так удобнее для монтажа. На форуме RCD пока полезной информации нет. Автор молчит. |
|
|
SAN: как изменить текст программы Там в тексте так: #define INPUT GP0 // Control pulses input #define OUT1 GP4 // Buzzer output 1 #define OUT2 GP5 // Buzzer output 2 (inverted, to get more power) Поменяйте GP0, GP4 и GP5 на то, что вам нужно... - по аналогии со схемой |
|
|
Спасибо, но транслятора-то у меня нету. А,главное, почему 3 нога в высоком состоянии зависает? Помогает резистор последовательно с пищиком. Тогда всё правильно работает |
|
|
SAN: транслятора-то у меня нету У меня тоже нет, но при желании можно найти в поисковиках. Ищите программы типа picc или HITECH C SAN: почему 3 нога в высоком состоянии зависает ...трудно сказать. Может от того, что обычно ко 2 и3 ножкам подключают кварц... А у Вас там пищалка.. Попробуйте другой тип пищалки, или поменяйте программно выходные ножки, или вместо последовательного резистора поставьте конденсатор.. |
|
|
SAN, отправьте мне исходник и схему, погляжу. А то у меня страничка http://www.rcdesign.ru/articles/electronics/buzzer не открывается. |
|
|
picmaniac: отправьте мне исходник и схему, погляжу Сегодня отправил. Не знаю, дошло ли. Левон: Попробуйте другой тип пищалки, или поменяйте программно выходные ножки, или вместо последовательного резистора поставьте конденсатор.. Товарищ дезасемблировал HEX-файл и поменял выход на 2-7ноги. Проверил на одном экземпляре - помогло. А почему - х.з.? В Протеусе все работало и в старом и в новом вариантах. |
|
|
SAN: Не знаю, дошло ли. Да, я получил. Только дизассемблера на 12С508 у меня нет. Товарищ чем пользовался? А в исходнике на С я пока мало что понимаю. Но раз проблема уже решена - значит, моё вмешательство уже не нужно? |
|
|
picmaniac: значит, моё вмешательство уже не нужно? Да, способ обойти глюк найден. Но почему он изначально появился остается неясным. Значит на него можно будет ещё раз напороться.
|
|
|
Есть одно соображение-предположение... Допустим, емкостная нагрузка подключена к двум выходам контроллера. Изначально оба выхода - лог.0. Даем команду bsf OUT1 и ждем некоторое время. Затем нам нужно поменять уровни на выходах. bcf OUT1 bsf OUT2 Первая команда - контроллер считывает уровни на выходах, сбрасывает в 0 бит, который соответствует OUT1, и записывает новые значения обратно в выходные защелки порта. НО напряжение на выходе OUT1 мгновенно не снижается до лог.0 (емкостная нагрузка). Вторая команда - контроллер снова считывает уровни на выходах, устанавливает в 1 бит, который соответствует OUT2, и записывает новые значения обратно в выходные защелки порта. НО напряжение на выходе OUT1 еще считано как лог.1! В итоге имеем нулевое напряжение на звукоизлучателе. Далее bcf OUT2 ; сбросили OUT2 в 0 bsf OUT1 ; OUT2 сброситься не успел, снова получаем две лог.1 Поэтому - полезна осторожность в случае применения команд bsf/bcf к регистрам портов. Особенно если это - открытый коллектор (сток). Это так, навскидку. Возможно, дело и не в этом. |
|
|
Сегодня проверил ещё один экземпляр с выходом на 2.7 ноги. Опять тот же эффект. Но теперь в "1" зависает 2я нога. 62 Ома хватает чтобы подавить. Как только закорачиваю, уровень зависает, там где должны быть фронты переключения видны иголки чуть не в размах питания. А кстати, какой допуск по питанию контроллера реальный? У меня 4 никелькадмиевых акк. 4.5-4.8В. Вашу идею завтра покажу товарищу, который мне помогает. Может это ему подскажет чего поправить. |
|