Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Как зделать синусоидальный ШИМ?


Как зделать синусоидальный ШИМ?

Сообщений 121 страница 128 из 128

121

Библиотека для аппартаного модуля 1Wire на основе USART

0

122

Nord

Можно подумать, что за 10...15мс ваша пила сильно изменится...

Полный период 50Гц - 20мс. Даже один датчик пол периода съест.
Вот только заметил, что не прерывания дают сбой по шине 1-Wire, а дергание портами которые выходы.
Например один 18в20 подключен напрямую к МК, второй радио(прием идет по измерению ШИМ на входе ICP1). Прекрасно вместе работают.

0

123

Думаю с этим вопросом все понятно. Шим решил делать на Attiny84. Как раз освободится TIMER1. Будет работать на побитный прием с уличного датчика по радиоканалу.

0

124

rom-i

rom-i написал(а):

С терморезиторами не работал на МК

Как-то использовал TC1047.Недорогой,питание от 2.5в,с фильтром Калмана даёт очень неплохой результат.

0

125

rom-i написал(а):

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.

Так-шо, дядя, не пхххххе, лучше тити вы помните и берите вотки литер!!!

0

126

-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)

0

127

rom-i
Я вот из того, что ты написал не понял ничего от слова совсем!  Как датчик 1820 может работать по захвату?  Какой белый шум???
Я обычно делаю как: наваял схему в протеусе, причесал пины для удобства разводки ПП и... сделал макет в железе. Вот его уже мучаю конкретно!!!
А у тебя чёто как-то кверхнАгами  :rofl:

0

128

-NMi-

Я вот из того, что ты написал не понял ничего от слова совсем!  Как датчик 1820 может работать по захвату?  Какой белый шум???

Не датчик конечно. Таймер по захвату.
Датчиком просто обозвал конструкцию 18b20, Attiny84 + дешевый Китайский ТХ модуль. Все влазит в 1х1х1см.
Больше места антенны, и аккум от сотика занимаюмт. Это передающая часть.
Проблемы в приемной. Хотел утюг, микроволновку, холодильник в один МК запулить. Вот на грабли, и стал. Решил привод отделить от системы контроля. Преобразователь 12\200В DC уже готов. Для силовой части жду детали. Нет драйверов. Формирователь синусоидального ШИМ программно решен на этом форуме. Спасибо участникам. Просто решил его поместить в отдельный МК. Так даже гораздно лучьше. Плату контроля выведу на дверцу шкафчика. Она тоже получается размером с дисплу 16*2. (Мега328, ds3231, sim800l) Питаться будет от автомобильного аккума. Заряд\разряд другая тема. Отлично делал на Attiny13. Там больше не надо.
Программист из мну никакой, по этому вопросов больше чем ответов.

Отредактировано rom-i (2019-03-30 13:58:39)

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Как зделать синусоидальный ШИМ?