In vino veritas

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

Мурик, 16-битный таймер AVR имеет режим 10-битного ШИМ :) вот вам и регулировка с 1024-я дискретами
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: In vino veritas

Сообщение Мурик »

Речь про динамическую индикацию, т. е. 4-ех разрядный семисегментный индикатор. Читайте внимательно. https://radiokot.ru/forum/viewtopic.php ... 4#p3428694
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Так Т1 имеет не только прямой ШИМ (по даташиту), но и аж два компаратора.
Я ж говорил про ПОЛНО-МАКСИМАЛЬНОЕ использоавние аппаратной начинки, а не про "банальный ШИМ".
:music:
Кстати тот проект где-то ранее в этой же теме уже даавно отлеживается - копаться ЛЕЕНЬ.
:beer:

Уважаемый Мурик существует весьма много вариантов применения стандартной аппаратной начинки, помимо указанного в популярной литературе.
Кое-кому и "пошевелить мозгами" не помешает!
8)
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: In vino veritas

Сообщение Мурик »

del
Последний раз редактировалось Мурик Ср авг 01, 2018 09:43:06, всего редактировалось 2 раза.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: In vino veritas

Сообщение Аlex »

Мурик, регулировка яркости на 7-ми сегментике - не новость. Лет 7 назад делал себе домой часы с термометром на простеньком PIC'е, с регулировкой яркости. 1000 градаций. 1 шаг = 1 us. Частота переключения индикаторов = 1 КГц.
Для этого мне понадобилось 2 таймера. Если бы в PIC'е был таймер хотя бы с одним компаратором - хватило бы одного его.
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: In vino veritas

Сообщение Мурик »

Аlex писал(а):1 us
Это микросекунда, т. е. частота 1 миллион прерываний в секунду (для PICа с 4 тактами на инструкцию это слишком много). Или сделано как-то по другому?
Реклама
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: In vino veritas

Сообщение Ivanoff-iv »

[uquote="Мурик",url="/forum/viewtopic.php?p=3429347#p3429347"]
Ivanoff-iv писал(а):256 ступеней получаем таймером с прерыванием по совпадению, а там точнехонько добиваем нопами или "делай()"
Задержки в прерывании? Что МК сможет еще делать кроме постоянного обслуживания прерывания динамической индикации?[/uquote] допустим 4 разряда, частота переключения разрядов около килогерца, тактовая 8 МГц (делим на 32), получается увеличение OCR0A на один даёт дополнительно 32 такта задержки, т.е. нопами придётся добивать не более 32 тактов - не так и много... а если сделаем точность 1 ноп - получим 256*32=8192 градации... работа то ведь в этом прерывании невелика общие катоды (аноды, в зависимости от применённого индикатора) выключить.

Добавлено after 3 minutes 20 seconds:
ни разу ещё не упирался в глобальную нехватку времени, даже в прерываниях.
а локальная как правило лечится созданием буфера и перераспределением вычислений на раньшее время, чтобы к узкому моменту уже всё было максимально посчитано.
Последний раз редактировалось Ivanoff-iv Вт июл 31, 2018 20:02:30, всего редактировалось 1 раз.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

Мурик, ну всем уже понятно, что все тут говно, а вы д'Артаньян, что вы тут пытаетесь всех на чистую воду выводить?
угомонитесь уже и погрузитесь в таинства STM32 - пока мы тут ведем дозволенне речи, производитель, небось, выпустил за пару центов новые МК с 100500 таймерами - вот там и индицируйте себе аппаратно.

динамическая индикация отлично может быть реализована на том самом 10-битном ШИМе, если вы не в курсе. при тактовой частоте AVR в 8 МГц частота ШИМа будет 800 герц - более чем достаточно для 8-разрядного индикатора. что вы пристали к человеку?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: In vino veritas

Сообщение Мурик »

ARV, я пытаюсь разобраться, а вы лезете со своими STM32.
Понемногу начинаю понимать о чем речь. Метод не такой как я предполагал.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

А зачем вам разбираться-то? у вас же все и так "из коробки" - таймеров завались, режимов ШИМа завались... к чему какие-то тупые изыски в алгоритмах? все вот эти извраты на PICах с единственным таймером? или даже, страшно вспомнить, с единственным прерыванием на все источники... или вообще страх - таймер, у которого флаг переполнения не вызывает запрос на прерывание, и узнать о переполнении таймера можно только поллингом этого флага...
зачем вам это все? это ведь прошлый век МК. вам, современным, это не нужно, вам куб нагенерит абсолютно любой каприз! и за 30 центов.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: In vino veritas

Сообщение Ivanoff-iv »

ну, да, можно и 16 битный таймер (возможно, в режиме 10 битного или в СТС режиме) заделать с делителем 1 или 8...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: In vino veritas

Сообщение Аlex »

[uquote="Мурик",url="/forum/viewtopic.php?p=3429491#p3429491"]
Аlex писал(а):1 us
Это микросекунда, т. е. частота 1 миллион прерываний в секунду (для PICа с 4 тактами на инструкцию это слишком много). Или сделано как-то по другому?[/uquote]
По-другому. Достаточно узнать как работает аппаратный ШИМ и станет понятно как подобное реализовать.
В случае с 2-мя таймерами - один включает индикатор, второй выключает. В случае с 1 таймером с компаратором - по переполнению включаем индикатор, по событию от компаратора - выключаем.
Программный ШИМ готов :)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Все гораздо проще - Т1 имеет регулируемый период (ICRn) и два дополнительных источника прерывания внутри того периода (OCRnA и OCRnB).
Подгоняем как можно больше градаций/тактовых импульсов на вход (предделитель и тактовая частота МК также регулируемые) для избранного интервала отображения одной позиции
и гуляем в пределах 16 разрядов внутри измеряемого интервала.
Остальное - анализ какой лапкой дернуть и какие данные куда подгружать делает программа обработки прерываний.
Аналогия "фоновой задачи" в ПК.
Дополнительные "мелочи" - необходимость предподготовки данных до начала очередного окна/тайм-слота индикации, а не обычно применяемого постанализа. И как дополнительна фишка - для более затяжной обработки делается преданализ на каком из участков ШИМ (темновом или световом) его исполнять удобно (1/3 - 2/3).
Код с объяснениями ... чуток попозже..
Ежли есть желание самому покопать (мне вспоминать тонкости и саму схему пока некогда) - кушайте самостоятельно -
посикоку искать в дебрях темы влом - скину из архивных скелетов "не глядя"(возможно завершающий вариант или прототип - Х/З перечитывать долго...):
extdi_2313.zip
(49.77 КБ) 185 скачиваний
8)

Тут добил... порстой полевик...
:o
итак схемка (абсолютно простая)
http://img.radiokot.ru/files/20529/1nfmvdzy3x.GIF
и прожка к оной
firefly.zip
(69.89 КБ) 205 скачиваний
вопрос на засыпку:
почему при 2,4-3,7 вольтах питания РАБОТАЕТ,
а при 4-5 вольт питания ВИСНЕТ в чуток приоткрытом состоянии.
Даташит на полевик (оный нормирован на открывание при напряжении на затворе 1,8 вольта)
IRLML6401.pdf
(198.17 КБ) 204 скачивания
ну и маркировка моего экземпляра
Изображение
ДОСАДКА - это ж ПРОСТЕЙШАЯ СХЕМА!!!
:facepalm:
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: In vino veritas

Сообщение akl »

Может убрать индуктивность с питания?
СпойлерИзображение
Вложения
TEST_BOB51_2.PNG
(35.33 КБ) 349 скачиваний
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: In vino veritas

Сообщение AndTer »

Вместо индуктивности поставить диод от обратки. А за ним к МК поставить ёмкость приличную.
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

BOB51 писал(а):ДОСАДКА - это ж ПРОСТЕЙШАЯ СХЕМА!!!
я же вам предлагал ряд экспериментов, которые позволили бы локализовать вашу проблему - их надо было делать последовательно.

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

Мой уютный бложик... заходите!
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15556
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: In vino veritas

Сообщение BOB51 »

Там не индуктивность а ферритова бусинка на проволочке типа вот этих
http://img.radiokot.ru/files/20529/ykmdgkf5o.gif
Подобное же явление при работе ключа от 1 (через промежуточный каскад) было устранено подтяжкой базы дополнительного каскада к 1 через 10килоомник (R9 на нижеприведенной схеме)
http://img.radiokot.ru/files/20529/1ndkrgpirm.GIF
похоже, что полевик имеет увеличенный ток перезарядки затвора при 5 вольтовом питании.
И чего-то типа "триггерной затяжки" выходного каскада в МК за собой тянет - номинал-то для полевика 3,3 вольта при управлении от 1,8. Это ежли б я допустим IRL530 на затвор загнал не 5, а 20 и более вольт - вроде и как по максимальному значению даташит - да ктож его знает....
Поставлен же тот IRLML6401 только по условию "имелся в наличии" на данный момент.
Вобщем цель энергоотключения при питании от 3,7 вольтового акумулятора выполняет и на том спасибки.
А проблемку... положил в "хроники" на память и народу для ознакомления с возможными точками контроля в проектах.
Обычно при понижении питания схемка сбоит а тут наоборот...
:dont_know:

Была б ошибка программная - не работало бы ни в каком варианте.
Полевик без линейки светодиодов нагрузку в виде одиночного "мигающего светика" прекрасно отрабатывает в полном диапазоне питания. У планки я думаю ток не более 1 А - характеристики полевика вполне позволяют с таким справится.
Единственно на что уповать можно - нет явно выраженной цепи постоянного тока для вывода D полевика - замыкание или через емкость С7 или через линейку светиков (а что в их потрохах - Х/З). Да на необходимость большего, чем могут обеспечить выходные каскады МК тока перезарядки емкости затвора при 5 вольтовом источнике.
Одначе в моем случае это всего-то СТАТИЧЕСКОЕ включение/выключение, даже не низкочастотное переключение.
8)
Посмотрю как-нить напружку...
Предполагаю, что в случае подвисания в последнем варианте на лапке МК будет висеть 1... (в схеме с транзисторным ключом затягивало в 0)...
:roll:
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: In vino veritas

Сообщение AndTer »

Подключи осциллограф к питанию и посмотри что в момент включения. Может бросок тока большой и проседает питание до перезагрузки мк.

И то что при 2,7в нормально, а при 5 улетает, тоже косвенно говорит об этом. Хоть светодиод и токовый прибор, но при напряжении ниже номинального для светодиода, ток который он ест становится заметно меньше. То есть при низком напряжении питания линейка потребляет меньше, чем при номинальных 5В.
Смотри блок питания, может его не хватает, может он просто плохой и не может быстро отреагировать на просед.
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: In vino veritas

Сообщение Мурик »

Спасибо за идею регулировки яркости семисегментника. :beer: Добавил ее в аппаратный контроллер индикатора. :)
Для тех кому интересно.
СпойлерОснова взята на этом сайте. http://www.cyberforum.ru/blogs/204791/blog5170.html
В код внесены изменения потому что у связки TIM2 и DMA1 Channel2 только одно событие запуска DMA, а нужно не меньше двух и желательно от одного таймера (чтобы "лишний" таймер не использовать).
Этому условию соответствуют несколько связок таймер - канал DMA. Был выбран TIM3 и DMA1 Channel3.

Изображение

По 4 каналу сравнения TIM3 сегмент начинает светится, а по переполнению таймера отключается. Все работает без прерываний. :) И без участия процессора, т. е. аппаратно. :)
DMA.png
(22.38 КБ) 66 скачиваний
Led_Bright.7z
(192.86 КБ) 24 скачивания
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: In vino veritas

Сообщение ARV »

Мурик писал(а):Для тех кому интересно.
интересно не это, а то, что учитесь вы у "безнадежно отставших, так и не освоивших" прогрессивное. :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Закрыто

Вернуться в «Разные вопросы по МК»