Например TDA7294

Форум РадиоКот • Просмотр темы - Термостат на AVR (arduino)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Чт окт 09, 2025 11:48:11

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 263 ]     ... , , , 9, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Пн апр 13, 2020 11:03:23 
Друг Кота
Аватар пользователя

Карма: 24
Рейтинг сообщений: 203
Зарегистрирован: Ср мар 06, 2019 12:23:29
Сообщений: 9466
Рейтинг сообщения: 2
Самсусамыч, спасибо! :beer:
Залил эту прошивку, комнатную показывает нормально, "стандартную" 21,5 :)
Когда на холодильнике смогу потестить пока не знаю, да и на "соплях" уже не хочется таскать туда-сюда к холодильнику, запаса датчиков больше нет, последний остался живой :)))

К термостату на Тини13 даже нечего теперь повесить... и заказывать опять 18S20 больше что-то совсем не хочется, теперь только если 18B20

_________________
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."


Вернуться наверх
 
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Пн апр 13, 2020 11:33:07 
Значит будем считать, что работает нормуль… :) а если что-то вылезет – поправим. :beer: В последней прошивке DS18S20 ещё поправил меню (интервалы… кнопок).
А это прошивка для датчика DS18B20.
Вложение:
Termostat_LED_DS18B20.hex


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Пн апр 13, 2020 12:31:05 
Друг Кота
Аватар пользователя

Карма: 24
Рейтинг сообщений: 203
Зарегистрирован: Ср мар 06, 2019 12:23:29
Сообщений: 9466
Рейтинг сообщения: 2
Да, будем считать, что все работает нормуль :beer: а длительные тесты сейчас пока невозможны...
Надо теперь это всё что "на соплях" ещё причесать для встраивания по месту, а вот места там мало, и нормальное питание не впихнуть так просто.

Судя по размеру, эта прошивка для Атмеги8, не для Тини13? а для Тини13 под 18В20 есть?

_________________
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."


Вернуться наверх
 
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Пн апр 13, 2020 12:49:20 
Судя по размеру, эта прошивка для Атмеги8, не для Тини13? а для Тини13 под 18В20 есть?

Да, для ATmega8.
А что надо и для тини13? Вот:
Вложение:
DS18B20_Tiny13.hex


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Пн апр 13, 2020 13:08:06 
Друг Кота
Аватар пользователя

Карма: 24
Рейтинг сообщений: 203
Зарегистрирован: Ср мар 06, 2019 12:23:29
Сообщений: 9466
Рейтинг сообщения: 2
Ну, если есть такая для Тини13 под 18В20, потом попробовать
Так-то уже собран, может потом с 18В20 его попробовать, может заработает и дело было в том датчике 18S20

Спасибо, Самсусамыч! :beer:

_________________
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."


Вернуться наверх
 
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Пн апр 13, 2020 13:30:54 
На здоровье! Обращайся если что. Удачи! :beer:


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Пн апр 13, 2020 13:39:50 
Друг Кота
Аватар пользователя

Карма: 24
Рейтинг сообщений: 203
Зарегистрирован: Ср мар 06, 2019 12:23:29
Сообщений: 9466
Рейтинг сообщения: 2
:beer:

_________________
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."


Вернуться наверх
 
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Пн апр 13, 2020 17:37:59 
Данная прошивка для этой же схемы термостата на ATmega8 для датчика DS18B20. Но немного с иным алгоритмом регулирования. Параметры и алгоритм работы таймеров остался без изменений. А вот диапазон температурной уставки изменился. Если в предыдущей версии температурная уставка регулировалась для выключения компрессора, то в данной версии она предназначена для включения компрессора. Данную уставку можно выбрать в широком диапазоне, от +10С до -25С. Что позволяет регулировать температуру на выбор, или в морозильной камере, или в холодильной камере. Шаг изменения уставки 1С. По умолчанию устанавливается значение +4С.
Выключение компрессора производится по сумме значений: температурная уставка + значение дифференциала. Значение дифференциала можно выбрать в диапазоне от 1С до 20С.
Вход в режим редактирования уставки осуществляется кнопкой «+» (как в предыдущем варианте). А вход в режим редактирования дифференциала осуществляется кнопкой «-».
Вложение:
Termostat_LED_V2.hex

Исходник.
Вложение:
Termostat_OA_ATtmega8_V2.zip

Прошивка требует тщательного тестирования с наблюдением как отрабатывает алгоритм перехода через ноль при регулировании. Возможно есть ошибки которые вылезут при тестах. :)


Последний раз редактировалось Самсусамыч Вт апр 14, 2020 13:12:06, всего редактировалось 2 раз(а).

Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 10:33:27 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2925
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18846
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Самсусамыч, одолело меня любопытство - скачал и установил АВ.
посмотрел твои исходники. с наскоку не всё понятно, но уловить смысл каждой структуры можно.
также я дизассемблировал прошивку, скомпилировал заново и ужаснулся размеру кода - аж под 7 кБ.
для такой простой задачи на ассемблере у меня бы получилось в 4, а то и в 5, раз короче. а может, и более ...
АВ генерирует, наподобие языков высокого уровня, избыточный код.
даже на Си с включенной оптимизацией могло оказаться заметно короче.
многие одинаковые действия повторяются многократно, а не вынесены в одну-единственную подпрограмму.
короче, с моей точки зрения результат работы АВ - "ужас".

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 11:17:10 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1481
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15204
Откуда: ДОНЕЦК
Рейтинг сообщения: 2
У каждого компилятора - свои особенности.
Ассемблер штука хорошая, да вылизывание проекта под менюшки/кнопушки....
Ужжшшш ... больно хлопотное...
ЯВУ удобственно-прост (с первого взгляду)... да дает частенько избыточный по объёму размер кода...
В принципе - не все ли равно, на чем написано и сколько места занимает - если устройство УСТОЙЧИВО РАБОТАЕТ.
Да еще и для пользователя удобно в управлении.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 11:27:07 
Друг Кота
Аватар пользователя

Карма: 51
Рейтинг сообщений: 2109
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 7028
Откуда: Сердце Пармы
Рейтинг сообщения: 5
Медали: 2
Получил миской по аватаре (2)
АВ генерирует, наподобие языков высокого уровня, избыточный код.
нет, это не АБ , это Самсусамыч генерирует избыточный код :)
разве АСМ сам выносит повторяющиеся куски кода в процедуры? вот и АБ также - делает ровно то, что нарисовано програмистом.
ну, разве что таблицу прерываний сам рисует (сам я не лазил, не смотрел, есть ли к ней доступ... не было нужды).

_________________
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 11:29:12 
Это не АВ так генерирует, а я не оптимально пишу. :))) Я не программист, мне своих знаний на бытовом уровне вполне достаточно. Главное, чтобы работало правильно, а избыточный код или нет – дело десятое. 8) Знающие на АВ пишут коды не больше классического Ассемблера, так что мой код не показатель возможностей АВ. Я ведь сразу предупреждал, что там чёрт ногу сломит. :)))


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 11:50:50 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2925
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18846
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 2
Медали: 1
Лучший человек Форума 2017 (1)
Самсусамыч писал(а):
Это не АВ так генерирует, а я не оптимально пишу.
ну, я такое предполагал. но я все равно в сомневаюсь в способности АВ минимизировать код до возможностей прямого написания на ассемблере.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 11:57:34 
но я все равно в сомневаюсь в способности АВ минимизировать код до возможностей прямого написания на ассемблере.

Это Ваше право, не кому не запрещено заблуждаться. :)


Вернуться наверх
   
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 12:25:39 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2925
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18846
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
это ты заблуждаешься.
автоматическое преобразование алгоритмов никогда не сравнится с программистом.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 13:23:36 
Друг Кота
Аватар пользователя

Карма: 24
Рейтинг сообщений: 203
Зарегистрирован: Ср мар 06, 2019 12:23:29
Сообщений: 9466
Рейтинг сообщения: 2
Термостат пока работает в тестовом режиме как термометр на холодильнике :))) Переразводить плату под родное место пока некогда, да и туда с Атмегой в dip-корпусе вряд-ли впихнешь.

_________________
Койот (Canis latrans) – это не Кот, а известен как американский шакал, является видом псовых...
____________

"Кто хочет, тот ищет возможности, кто не хочет —ищет причины."


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 13:55:32 
Друг Кота
Аватар пользователя

Карма: 51
Рейтинг сообщений: 2109
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 7028
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (2)
автоматическое преобразование алгоритмов никогда не сравнится с программистом.
В АБ его отродясь не было...
дай Сусамычу описание команд ассемблера, он его осилит быстро, но код выдаст на ассемблере до бита идентичный...
причина в том, что у ассемблера выше порог входа и пока разучишь все мнемокоды, уже и в оптимизации поднатаскаешься...
в АБ всё становится относительно понятно и без долгого курения учебников - отсюда и такой код (будем считать, что он оптимизирован по скорости выполнения, т.к. не расходуется время на вызовы подзадач) :)
АБ — это графический ассемблер (только украшен примерно десятком незатейливых макросов, которые можно и не использовать) и принцип работы у него ассемблерный - прямое пребразование мнемокода в машинный, т.е. можно ассемблерный код просто нарисовать в АБ и он скомпилится с точностью до байта (п.к.м. если таблица прерываний стандартная... сейчас специально полазаю, посмотрю, можно ли её тут править).
А ещё у АБ хороший отладчик (есть программный, есть "на кристалле" правда для накристалльной отладки код будет несколько модифицирован - добавится модуль отладки и будет занята 1 нога).

_________________
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 15:47:28 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2925
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18846
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Ivanoff-iv писал(а):
дай Сусамычу описание команд ассемблера, он его осилит быстро, но код выдаст на ассемблере до бита идентичный...
это ты просто не видел дизассемблированного текста его прошивки.
дизассемблируй прошивку, и тоже ужаснешься, как и я.
конешно, две такие команды подряд
andi r18,0xF7
andi r18,0xBF
- не вина компилятора, а вина автора.
но когда идет работа с одним регистром, а компилятор перед каждой операцией с регистром заново загружает командой LDS в регистр то же самое число из того же самого адреса, то программист такой глупости никогда не сделает. а автомат на каждое "телодвижение" с параметром заново загружает его из памяти.
а когда ты почитаешь дизассемблированный текст, еще насмотришься разных "чудес" автоматического преобразования визуально созданных алгоритмов.
АВ - это визуальное средство, и может делать только то, чему его обучили. а обучили его каждый визуальный элемент алгоритма заменять некоторым набором команд. и в результаты эти наборы команд создают ту самую избыточность, которую ни один программист не создаст никогда.

и напоследок, даже 2 программиста на одну и ту задачу НИКОГДА не напишут идентичный код. каждый решит ее по своему ...

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 16:18:22 
Друг Кота
Аватар пользователя

Карма: 51
Рейтинг сообщений: 2109
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 7028
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (2)
Хорошо, посмотрю, проанализирую..., в прошлых версиях АБ код пережимался сначала в ассемблер, а затем уже в машинный код, и этот ассемблерный код можно было посмотреть, правда я тогда его знал ещё хуже чем сейчас, но откровенных косяков не помню...
не, я говорю про одного программиста, занимающегося перебивкой своей программы из АБ в ассемблер... но, похоже я был неправ...
пошел ставить дизасм... (ноут новый, на нем нет ещё ничего, даже предмета спора - АБ)

Добавлено after 8 minutes 40 seconds:
кстати... некоторая оптимизация в АБ присутствует: например, если надо записать одно и то-же число в несколько мест, недоступных для прямой записи из константы, то будет задействован регистр R16 и его значение будет инициировано только 1 раз, перед первым использованием.

_________________
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Термостат на AVR (arduino)
СообщениеДобавлено: Вт апр 14, 2020 17:22:20 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2925
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18846
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
я с работой в АБ не разбирался, поэтому не знаю его возможностей.
я просто открыл проект и посмотрел, что там показывает.
дизассемблер у меня установлен такой: ReAVR. открываешь хекс и сразу получаешь готовый текст.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 263 ]     ... , , , 9, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: HardWareMan и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y