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

Требуется схемотехник-программист AVR

Есть собранный макет несложного устройства на базе ATmega8 (естественно, имеется принципиальная схема и работающая в тестовом режиме модель в Proteus'е).

К контроллеру подключен DS18B20 (по 1-Wire), четыре 7-ми сегментных индикатора (динамическая индикация), имеется вход для измерения частоты (10-50 кГц), входы от 2-ух кнопок, 2 выхода для управления внешними ключами. По своему назначению сей девайс должен выполнять функции термометра/термостата/частотомера. Подробности при личном контакте.

Требуется:

1. Разработать ПО для контроллера.

2. Прошить контроллер.

3. Убедиться, что на "железе" все работает :)

 

Заказчик находится в Москве (м.Третьяковская). Работа предполагается удаленная, но обязательны личные встречи как минимум два раза - до начала работ и после окончания.

 

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

 

Контакт: sesv собака yandex точка ру

Жду от Вас: сроки, цену, немного о себе и контактный телефон.

 

P.S. Предложение актуально до вечера пятницы (26.12.08).

Изменено пользователем sergey-sv

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уточнения по функциональности девайса:

 

1. Термометр - тупо раза 3-4 в минуту читать показания DS18B20 и выводить их на индикаторы, если девайс находится в режиме "Термометр". Вообще он должен работать в двух режимах - "Термометр" и "Частотомер". Режим определяется одной из кнопок.

2. Термостат - должен работать во всех режимах. Алгоритм очень простой - есть порог и значение гистерезиса. Температура > порога - выключаем внешние ключи, температура снизилась меньше (порог-гистерезис) - включаем. Порог должен выбираться из фиксированного набора значений (около шести) с помощь второй кнопки.

3. Частотомер - скорость измерения может составлять до 1 сек, точность - около 10 Гц. Вход частоты заведен на вход счетчика контроллера. В режиме "Частотомер" частота должна отображаться на индикаторах в формате ХХ.ХХ (т.е. в кГц с точностью до сотых).

 

И все :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уточнения по требованиям:

 

1. ОБЯЗАТЕЛЬНО нахождение в Москве или Московской области, т.е. в пределах не более 2-ух часов езды. Мы ищем человека не на один проектик, а рассчитываем на дальнейшее сотрудничество. Сорри, я это сразу не объяснил. Оборудование очень нестандартное, по телефону или почте общаться очень утомительно.

2. Заоблачные цены и сроки на первую задачку НЕ ПРЕДЛАГАТЬ! Это тривиальная задача, я не первый день этим занимаюсь.

3. Я НЕ посредник в том смысле, в котором вы думаете. Я раньше сотрудничал с этим заказчиком, но потом сменил род деятельности, времени на фриланс сейчас нет. Просто по старой памяти меня попросили помочь найти адекватного исполнителя.

 

Спасибо за понимание!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2. Заоблачные цены и сроки на первую задачку НЕ ПРЕДЛАГАТЬ! Это тривиальная задача, я не первый день этим занимаюсь.

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

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

1. Динамическая индикация + измерение частоты + опрос кнопок потребуют весьма грамотного построения многозадачной среды с приоритетами выполнения кода, основанную на таймерах и прерываниях от них. Вы наверняка же не хотите, чтобы в момент нажатия на кнопки врал частотомер или гасли (моргали) семисегментные индикаторы ? Кроме того, есть ли уверенность, что на Вашей плате кнопки и вход частотомера заведены на ноги AVR с нужными приоритетами прерываний?

2. Измеренные значения температуры или частоты как выводить будем ? Если как есть - они будут прыгать и дрожать, значит, необходима некоторая фильтрация. Параметры фильтра НЧ (усреднения, проще говоря) Вы готовы указать исполнителю ? Или он будет долго и упорно подбирать их "на глазок" ?

3. Значения порогов отключения/включения ключей и гистерезиса необходимо будет как-то вводить в программу. Кроме того, реализовать переключение режимов работы (частотомер -- термостат -- термометр). Это всё к тому, что нужно придумать и реализовать удобный пользовательский интерфейс, основанный на 4 семисегм. индикаторах и всего двух кнопках. Вот это, на мой взгляд, самое сложное (и интересное) в этой задаче.

 

В этом ракурсе, мне бы не показалась заоблачной цена в 25-30 тыс. руб за выполнение данного проекта. Это всего-навсего 10 рабочих дней квалифицированного труда программиста по средней ставке на сегодняшний день.

 

В любом случае, желаю Вам удачи !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть собранный макет несложного устройства на базе ATmega8 (естественно, имеется принципиальная схема и работающая в тестовом режиме модель в Proteus'е).

К контроллеру подключен DS18B20 (по 1-Wire), четыре 7-ми сегментных индикатора (динамическая индикация), имеется вход для измерения частоты (10-50 кГц), входы от 2-ух кнопок, 2 выхода для управления внешними ключами. По своему назначению сей девайс должен выполнять функции термометра/термостата/частотомера. Подробности при личном контакте.

Требуется:

1. Разработать ПО для контроллера.

2. Прошить контроллер.

3. Убедиться, что на "железе" все работает :)

 

Заказчик находится в Москве (м.Третьяковская). Работа предполагается удаленная, но обязательны личные встречи как минимум два раза - до начала работ и после окончания.

 

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

 

Контакт: sesv собака yandex точка ру

Жду от Вас: сроки, цену, немного о себе и контактный телефон.

 

P.S. Предложение актуально до вечера пятницы (26.12.08).

 

см. личку

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уточнения по функциональности девайса:

 

1. Термометр - тупо раза 3-4 в минуту читать показания DS18B20 и выводить их на индикаторы, если девайс находится в режиме "Термометр". Вообще он должен работать в двух режимах - "Термометр" и "Частотомер". Режим определяется одной из кнопок.

2. Термостат - должен работать во всех режимах. Алгоритм очень простой - есть порог и значение гистерезиса. Температура > порога - выключаем внешние ключи, температура снизилась меньше (порог-гистерезис) - включаем. Порог должен выбираться из фиксированного набора значений (около шести) с помощь второй кнопки.

3. Частотомер - скорость измерения может составлять до 1 сек, точность - около 10 Гц. Вход частоты заведен на вход счетчика контроллера. В режиме "Частотомер" частота должна отображаться на индикаторах в формате ХХ.ХХ (т.е. в кГц с точностью до сотых).

 

И все :-)

Если не трудно - укажите тактовую частоту контроллера и от чего тактируете: кварц или "другое"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Динамическая индикация + измерение частоты + опрос кнопок потребуют весьма грамотного построения многозадачной среды с приоритетами выполнения кода, основанную на таймерах и прерываниях от них. Вы наверняка же не хотите, чтобы в момент нажатия на кнопки врал частотомер или гасли (моргали) семисегментные индикаторы ? Кроме того, есть ли уверенность, что на Вашей плате кнопки и вход частотомера заведены на ноги AVR с нужными приоритетами прерываний?

2. Измеренные значения температуры или частоты как выводить будем ? Если как есть - они будут прыгать и дрожать, значит, необходима некоторая фильтрация. Параметры фильтра НЧ (усреднения, проще говоря) Вы готовы указать исполнителю ? Или он будет долго и упорно подбирать их "на глазок" ?

 

Жестко привязана ко времени только динамическая индикация (нужно использовать внутренний таймер мк). Кнопки достаточно опрашивать один раз в сек, внешние прерывания не требуются. Температура прыгать не будет - установка инерционна, датчик цифровой, период опроса 10-20 сек, точность 1 градус - все ок. Период измерения частоты 1 (ну можно 2) сек, т.е. показания будут меняться раз в секунду - это нормально.

 

3. Значения порогов отключения/включения ключей и гистерезиса необходимо будет как-то вводить в программу. Кроме того, реализовать переключение режимов работы (частотомер -- термостат -- термометр). Это всё к тому, что нужно придумать и реализовать удобный пользовательский интерфейс, основанный на 4 семисегм. индикаторах и всего двух кнопках. Вот это, на мой взгляд, самое сложное (и интересное) в этой задаче.

 

Я же писал в мк зашивается фиксированный ряд значений температур. Гистерезис всегда фиксированный, скажем 2 градуса. Режимы переключаются 1 тумблером (сорри, я его раньше обозвал кнопкой): частотомер - термометр, функция термостата работает всегда. Настройка порога термостата в реальном устройстве делается только один раз - при первом включении. Алгоритм выбора порога: нажали на кнопку - на дисплее отображается текущий порог, нажали еще раз - следующее значение, не нажимали кнопку 5 секунд, последнее отображаемое значение запоминается во флэше и прибор переходит в нормальный режим работы. Вот и весь юзер интерфейс :-)

Изменено пользователем sergey-sv

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда пишут "назовите вашу цену" хотят сказать - "я даже понятия не имею вообще сколько это может стоить. и мне лень было зайти на сайт джоб.ру глянуть сколько стоит час работы и прикинуть хватит ли у меня денег хотя бы на наделю работы".

 

Кнопки достаточно опрашивать один раз в 1-2 сек, внешние прерывания не требуются.

Как эта глупость соотносится с тем что "не первый день занимаюсь"(?) Дребезг тоже раз в 2 секунды будете отлавливать? :biggrin:

 

Температура прыгать не будет - установка инерционна

Ага значит нужен ПИД, либо плевать на ошибку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И еще по поводу точности измерения частоты - я слишком погорячился :-)

На частоте 10 кГц точность действительно должна быть около 10-20 Гц, на 25 кГц - достаточно 100-200 Гц, на 50 кГц - достаточно будет 500 Гц.

Тактовый генератор в мк используется внутренний на 8 МГц.

 

Когда пишут "назовите вашу цену" хотят сказать - "я даже понятия не имею вообще сколько это может стоить. и мне лень было зайти на сайт джоб.ру глянуть сколько стоит час работы и прикинуть хватит ли у меня денег хотя бы на наделю работы".

Вы же тут не первый день, должны знать почему я так вопрос поставил :-)

В данном случае ведь я покупатель, а вы продавец. Я не предлагаю вам постоянную работу с окладом, а предлагаю конкретную задачу, и спрашиваю сколько вы за решение возьмете. Разве это неправильно? Профи сразу точно называет свою цену и срок, потому что знает цену на свои услуги. И сайт джоб.ру он изучает, а не я.

 

По поводу ПИД - он не нужен, плевать на ошибку.

По поводу кнопки - это детали реализации, ее можно опросить и 2 раза с интервалом 500 мс и т.д. Здесь не в кнопке дело.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Жестко привязана ко времени только динамическая индикация (нужно использовать внутренний таймер мк). Кнопки достаточно опрашивать один раз в сек, внешние прерывания не требуются.

Ну тогда устройство будет реагировать на действия пользователя (нажатия кнопок) с псевдослучайной задержкой от 0 до 1 с, что крайне некомфортно и будет казаться, что устройство "подвисает".

 

Отредактировано: а точнее сказать, при опросе раз в секунду просто не будет реагировать на нажатие кнопки, если нажатие случайно не совпало с циклом опроса. И вообще - обслуживание внешних устройств опросом (поллингом) вместо прерываний ещё никогда ни к чему хорошему не приводило. ИМХО.

 

И для измерения частоты хотя бы раз в секунду, необходимо эту секунду очень точно отмерить, чтобы за этот интервал времени подсчитать импульсы. Что при использовании внутреннего опорного генератора весьма сомнительно. Добавьте сюда звон по входу частоты 10-50 кГц, и поймёте, что без НЧ фильтра тут не обойтись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну тогда устройство будет реагировать на действия пользователя (нажатия кнопок) с псевдослучайной задержкой от 0 до 1 с, что крайне некомфортно и будет казаться, что устройство "подвисает".

 

Если не хочется делать обработку дребезга и устройство по команде выполняет действие несколько секунд, то достаточно в прерывании таймера (>20Гц) проверять, что кнопка нажата, устанавливать флаг.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По своему назначению сей девайс должен выполнять функции термометра/термостата

Есть подобное устройство. С фазовым управлением симистором на 3.5квт. Не пид. Термопара. Три кнопки, энкодер, динамическая индикация 1*4/5 разрядов. Можно добавить. Можно и один-виру прикрутить. Не помню только, есть ли у меня тот даллас.

Поскольку 30 тысяч уже было. Ну пусть будет, например, 20.

 

частотомера.

Можно добавить.

 

но обязательны личные встречи как минимум два раза - до начала работ и после окончания.

Не вопрос. Командировочные, проездные, проживание за ваш счет заказчика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа, двадцать тысяч РАЗ! Двадцать тысяч ДВА! Кто возьмет меньше, господа?!

Чудный лот! Ручная работа! Всего в единичном экземпляре! Двадцать тысяч - ....

 

Moderator:

Лирические отступления удалил.

Изменено пользователем zltigo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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