Как зделать синусоидальный ШИМ?
Сообщений 121 страница 128 из 128
Поделиться1222019-03-29 12:02:14
Nord
Можно подумать, что за 10...15мс ваша пила сильно изменится...
Полный период 50Гц - 20мс. Даже один датчик пол периода съест.
Вот только заметил, что не прерывания дают сбой по шине 1-Wire, а дергание портами которые выходы.
Например один 18в20 подключен напрямую к МК, второй радио(прием идет по измерению ШИМ на входе ICP1). Прекрасно вместе работают.
Поделиться1232019-03-29 16:22:10
Думаю с этим вопросом все понятно. Шим решил делать на Attiny84. Как раз освободится TIMER1. Будет работать на побитный прием с уличного датчика по радиоканалу.
Поделиться1242019-03-29 16:25:49
rom-i
С терморезиторами не работал на МК
Как-то использовал TC1047.Недорогой,питание от 2.5в,с фильтром Калмана даёт очень неплохой результат.
Поделиться1252019-03-29 16:44:06
Nord
Вот только заметил, что не прерывания дают сбой по шине 1-Wire, а дергание портами которые выходы.
А вот и нифига, прерывания ещё как влияют на 1w шину, натыкался.
Вспомним датащи и жесткие временные интервалы в протоколе 1w.
Делал много лет назад проект с: 4xDS1820, LCD 20x4, датчик влажности (не помню какой), 2 вентилятора от компьютера с ШИМ регулированием у каждого свой ШИМ и 1 просто вкл/выкл + ТЭН то-же с ШИМ ПИД регулятором без ZC. Ну, мой любимый аналоговый джойстик, естественно. Ну там по мелочи светодиоды, DS3231 и прочее, не суть.
Так вот, 328 мега была прям под завязку забита кодом (поЭтому и написал свой бутлоадер) и хоть и применил очень "жесткие" временные интервалы, всё равно скорости проца не хватало. Плавающую точку в 3-х ПИД регуляторах проц считал довольно медленно. А ещё опрос джойстика + вывод на дисплей.
Так вот, наткнулся на глюк с "раскачкой" температуры... Поставил точный градусник и тепловой аккумулятор с холодильника (если кто не знает - это пластмассовый кирпич с солёной водой) , блин, всё равно раскачка... хотя по градуснику точность 0,5 градуса соблюдается!!!
Ну чё, стал разбираться отчего и почему.
Пришлось писать собственную библиотеку 1w шины с нуля.
Что я там делаю:
1 ОБЯЗАТЕЛЬНО проверяю отклик от датчика после Reset
2 ОБЯЗАТЕЛЬНО считаю CRC
3 На момент "общения" с 1w шиной ОБЯЗАТЕЛЬНО выключаю прерывания, потом включаю (через флаговое поле, вдруг кто-то (LCD например) эти прерывания выключит)
Ну и шо вы думаете... стандартный двухнедельный "прогон" ни да НИОДНОЙ ошибки что по 1w шине, что по I2C.
Так-шо, дядя, не пхххххе, лучше тити вы помните и берите вотки литер!!!
Поделиться1262019-03-30 12:49:18
-NMi-
Как вот такая тема. Отказался управлять одним МК силовой частью, и мерить данные. Но TIMER1 начал использовать в другом прерывании. Не в формировании ШИМ на выходах(OC1A,OC1B).
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
Шим формируется таймерами. Со стабильной частотой. Но у 18в20 бешенство.
Теперь он работает по захвату, и измерению период. В 99.99999% он захватывает белый шум из эфира. Модуляция АМ. Прием идет раз в пять минут.
Config Timer1 = Timer , Prescale = 256 , Capture Edge = Rising
On Capture1 Zaxvat
Три датчика 18в20 на работу его прерывания ноль эмоций. В данном случае идет передача от четвертого датчика по радиоканалу. Нужно обеспечить нормальный контроль над отопительной системой.
Отредактировано rom-i (2019-03-30 12:53:17)
Поделиться1272019-03-30 13:04:42
rom-i
Я вот из того, что ты написал не понял ничего от слова совсем! Как датчик 1820 может работать по захвату? Какой белый шум???
Я обычно делаю как: наваял схему в протеусе, причесал пины для удобства разводки ПП и... сделал макет в железе. Вот его уже мучаю конкретно!!!
А у тебя чёто как-то кверхнАгами 
Поделиться1282019-03-30 13:38:59
-NMi-
Я вот из того, что ты написал не понял ничего от слова совсем! Как датчик 1820 может работать по захвату? Какой белый шум???
Не датчик конечно. Таймер по захвату.
Датчиком просто обозвал конструкцию 18b20, Attiny84 + дешевый Китайский ТХ модуль. Все влазит в 1х1х1см.
Больше места антенны, и аккум от сотика занимаюмт. Это передающая часть.
Проблемы в приемной. Хотел утюг, микроволновку, холодильник в один МК запулить. Вот на грабли, и стал. Решил привод отделить от системы контроля. Преобразователь 12\200В DC уже готов. Для силовой части жду детали. Нет драйверов. Формирователь синусоидального ШИМ программно решен на этом форуме. Спасибо участникам. Просто решил его поместить в отдельный МК. Так даже гораздно лучьше. Плату контроля выведу на дверцу шкафчика. Она тоже получается размером с дисплу 16*2. (Мега328, ds3231, sim800l) Питаться будет от автомобильного аккума. Заряд\разряд другая тема. Отлично делал на Attiny13. Там больше не надо.
Программист из мну никакой, по этому вопросов больше чем ответов.
Отредактировано rom-i (2019-03-30 13:58:39)