|
|
|
|
Господа, если речь идет о частоте вращения, желательно уточнить характеристики входного сигнала (по крайней мере соотношение длительностей импульса/паузы и возможность дребезга). Они могут повлиять на алгоритм. И еще - для таких измерений правильнее мерить не один, а десятка два периодов, потому что иначе показания будут скакать. В конце концов, частотомеры аж целую секунду частоту измеряют - ваш-то девайс чем хуже  |
|
|
Zandy: предлагаю picmaniacу окончательно сформулировать задание А чё, самим слабо? Я и так уже три штуки сформулировал! положительного полупериода (это проще) или всего периода (немного сложнее) Всего периода, чтоб скважность импульсов на входе не влияла на результат. Вообще-то входные импульсы удобно подать на вход, от которого возможно прерывание при изменении уровня. В принципе, можно и компаратор внутренний задействовать. Один из внутренних таймеров инкрементировать постоянно от тактового генератора. А в прерываниях проверять значения в регистре (или регистрах, если 16-разрядный) таймера. А вообще-то мы начинаем делить шкуру неубитого медведя. Техзадания пока нет. И начать лучше именно с его формулировки. Только я торопиться не буду, попробуйте сами его составить. Уфф, книгу по графам еле скачал с 3-й попытки только что. 2 раза сервер меня отключал почему-то.
|
|
|
picmaniac: А чё, самим слабо? Подождем Splav56 - его идея. Может он под какое-нибудь практическое применение хочет "замутить".  Я вот слышал, что хороша книжка Яценкова. Зашел в пару магазинов - нет. Давно была - вся распродана. Может кто в электронном виде где видел? Хочется какую-то монографию. А то материалов вроде много, но все расбросаны по разным книгам статьям, сайтам и т. д. Какого-то систематизированного подхода душа требует.  |
|
|
У меня она только в бумажном виде есть. Купил в Москве, когда в командировку ездил 3 года назад. Только вот точно не помню в каком именно магазине... 200 руб стоила. Книга неплохая, но это в основном справочник по устройству и особенностям МК и по работе с MPLAB. Как справочник хороша, как учебник - ИМХО не подходит. Пользы мне от этой книги было немного. Есть ещё книга Шпака по МК PIC и AVR. Она у меня есть в электронном виде, скачал откуда-то. Там о программировании на Си. Самые лучшие учебники для начинающих (ИМХО опять же) - это цикл статей ASD, статья М.Гладштейна в "Радио", ikarab.narod.ru, ну и наш Ликбез. Есть ещё статеечка "Что такое PIC". И обязательно читать распечатанный на бумаге даташит на МК, строго обязательно! И не по диагонали, а не спеша и вдумчиво. По одной главе в день вполне можно осилить. По удельному весу полезной информации даташит не имеет себе равных. Кстати, чем плоха книга Урусова, Сташина, Мологонцевой? Ссылку я выше давал. Вспоминаю, как мне дали посмотреть эту книгу лет пять назад "спецы" из нашего Политеха. Они с MCS-51 тогда как раз работали. Вот я и пытался обратиться к ним за помощью. "Как", - спрашиваю - "научиться контроллеры самому программировать?" Бесполезно - пальцы веером. Так вот, смотрел я на книгу эту тогда как на древнеегипетскую картинку с иероглифами. Теперь, конечно, смешно. Оказалось всё не так уж сложно Сам разобрался. |
|
|
Zandy: Splav56, вы опять в строю, или как? А я и не выбывал из него. Просто чукча иногда читатель, иногда - писАтель. Это как ШАМАН кости раскинет.  picmaniac: А чё, самим слабо? Да нет, не слабо. Просто хочется не торопясь обсудить и написАть коллективно, оговаривая все нюансы. picmaniac: Вообще-то входные импульсы удобно подать на вход, от которого возможно прерывание при изменении уровня. Если использовать прерывания, то да. Предлагаю в качестве такого порта использовать PORTB.4 Это позволит при необходимости нарастить количество входных каналов до 4-х. <PORTB.4:PORTB.7>. Так будет более универсально. picmaniac: И начать лучше именно с его формулировки. Начало (скелет) я уже сформулировал, осталось внести уточнения, которые устраивали бы всех. Итак: ТЕХЗАДАНИЕ № 4. (Болванка) 1. Устройство предназначено для контроля частоты вращения объекта и отклонения этой частоты от номинального значения с выводом результатов контроля на визуальный индикатор (светодиод, лампа накаливания). 2. Количество каналов контроля - до 4-х. 3. Номинальная частота вращения - 25 Гц (снижена для небольшого усложнения). 4. При номинальной частоте вращения +/- 5% индикатор постоянно светится. 5. Отклик на изменение частоты: - в пределах от +/-5% до +/- 10% -индикатор мигает с частотой 1 Гц. - в пределах от +/- 10% и ниже - индикатор гаснет. 6. Входной сигнал: импульсная последовательность, снимаемая с индуктивного датчика (для небольшого усложнения схемотехники формирователя) амплитудой 50 вольт и скважностью 0,1 - 0,2. ВременнАя стабильность входной последовательности +/- 0.1% (0,5 Гц) 7. Программу составить с использованием аппаратного прерывания по изменению уровня на входе контроллера. 8. Предусмотреть один канал управления для отключения внешних устройств при снижении контролируемого параметра на величину, большую +/- 10%. |
|
|
Замечания по предложенному техзаданию: 1. Это техзадание НОМЕР ЧЕТЫРЕ! Ага - поправили. 2. При номинальном режиме лучше пусть индикатор изредка вспыхивает. Это будет свидетельством того, что режим в норме, устройство работает нормально, и МК не "завис". 3. При малом отклонении контролируемого параметра от нормы - вспышки должны стать чаще и промежуток между ними поменьше. Это привлечёт внимание. 4. При недопустимом отклонении контролируемого параметра от нормы - вспышки должны стать частыми и с минимальным промежутком. Это ещё лучше привлечёт внимание. А на погасший индикатор наоборот внимания не обратят сразу. 5. Через какое время должен происходить отклик устройства на выход измеряемого параметра за установленные рамки? Иными словами - быстродействие. 6. Не описаны действия устройства после возвращения контролируемого параметра в установленные рамки. Требуется ли вмешательство пользователя? 7. Пункт 7 в техзадании лишний. Как именно составить программу - решается не на этом этапе. 8. Требуется ли вообще вмешательство пользователя в работу устройства? 9. На 4 контролируемых параметра - 1 выход? Вот пока всё. Будет над чем поразмыслить. |
|
|
Splav56: 6. Входной сигнал: импульсная последовательность, снимаемая с индуктивного датчика (для небольшого усложнения схемотехники формирователя) амплитудой 50 вольт и скважностью 0,1 - 0,2. Предлагаю аппаратный формирователь не затрагивать. Пусть будет лог. уровень. Мы же все-таки в этой ветке программировать собрались. Если встроенный компаратор использовать - другое дело. Splav56: ВременнАя стабильность входной последовательности +/- 0.1% (0,5 Гц) Чего-то я не понял. А что мы измерять собираемся? Предлагаю в качестве выхода на с/д использовать RB1. С/д подключаем к питанию. На RB2 - канал управления. Лог. 0, если <10% и 1, если >10% А такой ситуации, как отсутствие сигнала на входе не предполагается вообще? Splav56: 2. Количество каналов контроля - до 4-х. Я так понял, что данная опция - не в этой жизни?
|
|
|
Простите, что вмешиваюсь, но вот что нашёл - http://kulakov.ru/rassylka.htm Может кому пригодится... |
|
|
Если уж говорить про лучшую визуализацию, то самое лучшее - разноцветные светодиоды, расположенные "в столбик". А часто или редко мигает - весьма субъективные вещи. Но picmaniac, он же хитрый. Усложнить задачку хочет.  Левон: Может кому пригодится... Спасибо Левон. Я это уже читал. Там все весьма скромненько. Ну только для самого-самого начала старта. |
|
|
Zandy: Усложнить задачку хочет Я об эргономике забочусь!  Левон: Простите, что вмешиваюсь Простить не можем, т.к. вмешиваетесь слишком редко Появляйтесь почаще.
|
|
|
|
|