блок управления печкой 2110 на AVR

Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб ноя 06, 2010 19:17:02
Откуда: Россия, Омск

Сообщение igumich »

Есть задумка заменить стандартный блок управления печкой 2110. Но вот столкнулся с проблемой контроля крайних положений заслонки(нужно останавливать) на валу привода заслонки имеется перем. резистор с сопротивлением в крайних положениях 500 и 3К.
-как программно осуществить контроль?
-как изменять скорость вращения вентилятора печки кнопками


ЗАРАНЕЕ БЛАГОДАРЕН
Вложения
temp1.rar
проект
(838.81 КБ) 347 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 16545
Зарегистрирован: Вт сен 07, 2010 03:01:06
Откуда: Moscow-Izmaylovo

Сообщение m.ix »

а если использовать память авр и вместо кнопок-резистора энкодер?
Лечу лечить WWWашу покалеченную технику.
Контактная информация:
Реклама
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Сообщение mas123 »

igumich писал(а): на валу привода заслонки имеется перем. резистор с сопротивлением в крайних положениях 500 и 3К.
-как программно осуществить контроль?
Резистор уже подключен куда-то? Если нет - на "крайние" ноги подать +5 и землю, и замерять через АЦП напряжение с ползунка.
igumich писал(а): -как изменять скорость вращения вентилятора печки кнопками
Эммм, смотря как ты сделаешь подключение вентилятора. Если по ШИМ (выхоl таймера с AVR -- мощный ключ -- вентилятор), то кнопками "+" и "-" менять настройки ШИМ.
Если используя родной "блок резисторов", то ставишь ....мммм... 4 мощных ключа и соответственно кнопками выбираешь какой ключ открыть.

Хех, как-то путано объяснил :) Давай может начнем с примерной схемы устройства?
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб ноя 06, 2010 19:17:02
Откуда: Россия, Омск

Сообщение igumich »

mas123 писал(а):
igumich писал(а): на валу привода заслонки имеется перем. резистор с сопротивлением в крайних положениях 500 и 3К.
-как программно осуществить контроль?
Резистор уже подключен куда-то? Если нет - на "крайние" ноги подать +5 и землю, и замерять через АЦП напряжение с ползунка.
резистор имеет 2 вывода

и ещё: мне не нужна точность до десятых градуса. как убрать?
Реклама
Эиком - электронные компоненты и радиодетали
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Сообщение mas123 »

igumich писал(а):резистор имеет 2 вывода
Тоже просто. Одну ногу на землю. Вторую ногу через резистор на +5. Точку соединения ноги и резистора на АЦП. Номинал резистора.... я бы поставил 3К
igumich писал(а):и ещё: мне не нужна точность до десятых градуса. как убрать?
У тебя температура хранится как "знаковое целое с десятками", т.е. -123 = -12.3 градуса.
Если надо "прям щаз для опытов" - переработай функцию led_temp(). Там выводится 3 цифры с делением на 10, тебе достаточно вывести первые 2 цифры.

А если надо "ваще для проекта", то смотрим ds_read() - там получаем температуру и делаем её "домноженной на 10". Переделываем там, а потом смотрим всюду, кто использует переменную int temp.

Всё же, не лезь сейчас в код, а сделай для себя ТЗ. Что ты хочешь, на чем это всё будет работать, как будет работать. Набросай схемку.
А потом уже можно не торопясь рисовать код :)
Реклама
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб ноя 06, 2010 19:17:02
Откуда: Россия, Омск

Сообщение igumich »

igumich писал(а):и ещё: мне не нужна точность до десятых градуса. как убрать?
я имею ввиду при настройке
Реклама
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Сообщение mas123 »

igumich писал(а):
igumich писал(а):и ещё: мне не нужна точность до десятых градуса. как убрать?
я имею ввиду при настройке
Тогда не понял вопроса :) Какую точность, при какой настройке?
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб ноя 06, 2010 19:17:02
Откуда: Россия, Омск

Сообщение igumich »

при установке температуры мне не нужна точность установки в 0.1 градус. т е при нажатии на кнопку увеличения темп. изменяются не десятые а единицы градуса
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Сообщение mas123 »

igumich писал(а):при установке температуры мне не нужна точность установки в 0.1 градус. т е при нажатии на кнопку увеличения темп. изменяются не десятые а единицы градуса
Я же писал выше: "...А если надо "ваще для проекта", то смотрим ds_read() - там получаем температуру и делаем её "домноженной на 10". Переделываем там, а потом смотрим всюду, кто использует переменную int temp...."
Таким образом, дорабатываем ещё и функцию ввода. Даже не саму функцию, а отображение введенной температуры.

Что-то я не понимаю, в чем тут трудность-то?
Храни температуру не как signed int, а как signed char.
Опрос температуры доработать - не умножать на 10 (судя по коду, надо просто не умножать на 5 и сдвинуть вправо на 1 бит).
Вывод температуры - выводить не "знак - сотни - десятки - ТОЧКУ - единицы", а "знак - десятки - единицы".
Ответить

Вернуться в «АвтоМотоВело»