Перейти к содержанию

Goodefine

Members
  • Постов

    1 567
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Goodefine

  1. Для произвольной формы напряжения можно организовать измерение действующего значения путем измерения площади фигуры, ограниченой кривой тока за единицу времени (одного или нескольких полупериодов). Через равные промежутки времени измеряем амплитуду, умножаем, суммируем и т.д. не забывая определять начало периода - задача вполне решаемая...

  2. Дык, если синус просто измеряем в нужный момент (!) амплитуду и пересчитываем...и все...Пересчитывать в действующее можно (даже нужно) после усреднения (или другой обработки результатов) нужного числа выборок...

  3. eeprom int var=0; //создание пременной типа eeprom, обязательная инициализация

    Тогда при новой инициализации переменная обнулится - а если мы используем EEPROM то это, имхо, не нужно (она же помнить должна)... Я делал так:

    eeprom int *var; // и все...

  4. Да, я кстати специально для вас провёл математические рассчёты, чтобы показать изнутри ПУЭ п.3.1.17

    http://img205.imageshack.us/my.php?image=340064avitfs2.jpg

    Достаточно дружить с точными науками и без ПУЭ будет всё ясно.

    Если говорить о точности, то приведенный расчет не совсем корректен: сопротивление человеческого тела при подобных расчетах принимается 1000 Ом, а не 7400 Ом, разность потенциалов будет 220В (вернее ЭДС), но не 380В...Да и вообще, какое отношение имеет рисунок к пробке в нуле, тоже непонятно...

    Да, и какое принципиальное отличе между схемой на сайте и предлагаемой вашей (которая посередине) - автоматы (стандартное обозначение QF) на 20А, а предохранители на 10А - та же ситуация: сгорает пробка в нуле и....

  5. ...Но зато они уверены в том, что если они вывернут ОБЕ ПРОБКИ и полезут днем чинить люстру и при этом будут стоять одной ногой на водопроводной трубе, то никаким электрическим током их не ударит...

    Для этого в "НУЛЕ" должен стоять разъединитель, но ни как не пробка...Две большие разницы...

    Не забывайте, что ПУЭ, как и ПДД, кровью написаны...

  6. Как-то раз писал программу, где после каждого переполнения таймера выполнялись кое-какие вычисления. Главное условие было, чтобы код успевал завершится к следующему переполнению. VmLab показал что все успевается...Но на практике оказалось что нет. Proteus же отсимулировал все на "ура" и в реальном времени...

  7. Нормальные люди ставят пробки и на НОЛЬ и на ФАЗУ...

    Нормальные люди никогда не ставят пробку (предохранитель) на ноль. Поскольку возможно что сгорит именно она, а фаза не обесточится...

    Требования ПУЭ:

    "... Установка предохранителей в нулевых рабочих проводниках запрещается...

    ...Расцепители в нулевых проводниках допускается устанавливать лишь при условии, что при их срабатывании отключаются от сети одновременно все проводники, находящиеся под напряжением...

  8. Делаю версию с поддержкой английского языка. Нужно корректно перевести на английский язык следующее:

    "Изменение данного параметра может привести к некорректному приему данных. Таймаут должен быть больше времени передачи сообщения в COM порт внешним устройством"

    и

    "Будут удалены все настройки пользователя из реестра. При следующей загрузке будут восстановлены значения по умолчанию. Продолжить?"

    Английский знаю так себе, поэтому не хочется разбираться еще и с переводом...Заранее спасибо...

  9. Какой мне выбрать номер системы? И как он повлияет на мою дальнейную схему.

    Нужно выбрать такой номер системы, коей еще не существует (и не планируется в ближайшем будущем) у вас в доме - во избежание взаимного влияния... В то же время, желательно чтобы номер был, по-возможности, стандартный для устройства. Например как для предусилителя: 16. Хотя можно выбрать любой нестандартный до 31-го номера. Влияние на схему выразится в соединении тех или иных ног микросхемы. Например для номера 16 нужно соединить вывод 5 с выводом 17. Схема подключения кнопок зависит от того как вы организуете работу декодера, т.е. в соединением кнопок определяется код команды. Команды можно сделать стандартными для используемых ф-й, а можно и нет. Или все оставить как в исходной схеме, поскольку принимаемый номер системы на командные коды не влияет...

  10. Лучше всего сделать так: скачать присоединенный ниже файл и работать без инсталляции. Пробовал на 3-х машинах - все работает. В ReadMe несколько рекомендаций:

    Возможны несколько вариантов:

    1. Файл HypTerm.exe должен находиться в одной папке с файлами TABCTL32.OCX, MSCOMM32.OCX и COMDLG32.OCX.

    2. Файл HypTerm.exe может находиться в любом месте, а файлы TABCTL32.OCX, MSCOMM32.OCX и COMDLG32.OCX должны быть в system32.

    При первом запуске программа может сообщать (а может и не сообщать), что какой-то из компонентов (TABCTL32.OCX, MSCOMM32.OCX или COMDLG32.OCX) незарегистрирован или неправильно зарегистрирован (что логично, поскольку пока их никто не регистрировал :-)). Нужно отвечать ОК и после 2-3-х попыток прога найдет файлы в своей папке или в system32 (смотря куда вы их положите) и зарегистрирует сама.

    В очень крайнем случае нужно скопировать компоненты в system32 и зарегистрировать компоненты: "regsvr32 имя компонента.OCX"

    Работоспособность проверить очень просто:

    1. Должен корректно работать диалог при командах "Открыть...", "Сохранить как..." и им подобным

    2. При нажатии на кнопку "параметры" вкладки диалога отображаются и работают нормально

    3. Замкнуть Rx и Tx и отправлять сообщения из одного поля в другое

    Если в машине 2-а COM-порта, то можно соединить их нуль-модемным кабелем (в нем Rx и Tx перекрещены), открыть два терминала, настроить соответственно и проверить передачу/прием сообщений....

    HyperTerm.rar

  11. А мене и ненадо русскими!!!! Достаточно сделать два интерфейса..

    Тогда китайцы начнут возмущатся :rolleyes: ...Язык, имхо, дело десятое...В данный момент меня интересует, если Tx и Rx замкнуть, терминал сам с собой общается или нет? А то вроде как инсталляция битая получилась...Если да то все должно быть нормально...

  12. Только сейчас увидел что забыл кое-что доделать. Если закрывать диалоговые окна крестиком, то скорее всего приложение (а не только диалог) закроется, но в процессах останется и при повторном открытии не удастся открыть порт. В таком случае надо диспетчером задач убить процесс HyperTerm. А, вообще, лучше крестиком не пользоваться...

  13. Написал собственный гипертерминал для работы с МК. МК подключается к COM порту по линям Rx, Tx и общему проводу (через преобразователь уровней, разумеется). Терминал способен автоматически сохранять полученные и отправленные сообщения (опционально) в техтовый файл. Написан на VB. У кого имеется VB может скачать только архив проекта - там есть exe-чина, должно работать. В противном случае нужно скачать пакет инсталяции. Он разбит

    на части (чтобы была возможность присоединить). Одно замечание. Если соединить Rx и Tx COM порта компа можно самому себе отправлять сообщения - удобно настроить нужное отображение информации...Поскольку у меня пока нет возможности опробовать работу терминала непосредственно с МК - при желании сделайте это за меня...

    Вторая часть....

    Третья...

    Четвертая...

    InstalTerm.part01.rar

    ProiectTerm.rar

    InstalTerm.part02.rar

    InstalTerm.part03.rar

    InstalTerm.part04.rar

  14. Текстовые файлы состоят из строк. Строка представляется как массив байтов, т.е. один символ строки - один байт (кодировкаANSI), или два байта (кодировка Unicode). Число содержащееся в байте указывает на порядковый номер символа в таблицах соответствующих кодировок. Чтобы сгенерить текстовый файл нужно задать массив байтов в соответствующей кодировке. Например МК отсылает компу набор байтов (HEX) {48 65 69 69 6f }, для гипертерминала это будет строка "Hello", т.к. кодировка ASCII для английской раскладки совпадает с ANSI. Если пользоваться Си-шными функциями компилятора формирования строк то можно сразу отправлять строки и не париться...

  15. ...Но нужно сделать привязку к контроллеру. Чтоб срабатывало только когда нажимаешь на кнопку. У меня же срабатывает само по себе (бежит перебор) либо только первая строка. Мне нужно: нажал один раз - одна надпись, нажал второй - вторая надпись, ... .

    Одна кнопка к PIND.6 припаяна к '-' - это правильно?

    DDRD=0x00

    PORTD=0x00

    Должно так быть?

    Плюс код: что нужно? сторожевой таймер сбросить или что конкретно?

    Должно быть PORTD = 0b01000000 в данном случае обязательно, поскольку когда кнопка будет отпущена, состояние входа будет неопределено и получите то что получаете...Задержка delay то-же обязательна - антидребезг...while (!PIND.6) {}; предотвращает перебор при удержании...Это азы, так сказать...

    ...У меня же такое ощущение, что о контроллерах вы первый раз услышали и приводите предположение, как это должно быть.

    Вы, наверное, знаете что одну и ту же задачу можно решить несколькими способами. Их и предлагают.

    В посте N6 (и не только...) приведен абсолютно рабочий и предельно простой код, причем тут предположения? Задача простейшая и решение опробывалась много раз...Что не устраивает?

  16. Goodefine

    А какая разница мехду if и while ?

    В смысле? While (1) {...} остается, я его просто не стал рисовать. А while (!PIND.6) {} не дает инкрементироваться переменной, пока нажата кнопка. В чем вопрос-то?..

×
×
  • Создать...