Я новичок, с МК дело не имел никогда. После долгих проб и ошибок. Научился подключать МК к компу, прошивать его, стирать и т.д. Программировать я умею, только вот с МК дело не имел. Сам учусь на программиста.
Есть у меня грандиозная идея (для меня )
Сделать часы пропеллер с пультом управления. Чтобы можно было время высталять дистанционно, переключать режимы отображения, и можно было яркость менять светодиодов, так чтобы ночью не так ярко часы светили (линейка из 30 светодиодов будет)
Вот моя проблема: Насколько мне известно Яркость (тоесть напряжение на выходе) можно менять программно при помощи ШИМ
Подскажите как это сделать, ну скажем в цикле шагов так на 100 менять яркость лампы. Чтобы она как бы плавно тухла.
Напишите пару сточек кода (просто я операторы эти AVR не совсем хорошо знаю)
Буду очень благодарен или дайте ссылку где это описано
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Значит придется изучать. Без знания ассемблера (хотя бы поверхностного, на уровне мигалки) в программирование МК лучше не соваться, даже если пишете на С или чем-то еще. Ибо при отладке он ой как полезен... Некоторые баги без него не выловить вообще. Куски кода, критичные по времени, также пишутся на ассемблере. Даже в С. И, кстати, как Вы собираетесь проектировать схемы на МК без четкого осознания того, как он работает на низком уровне?
Цитата:
немного не в тему: а как ШИМ проявит себя во вращающихся часах?
Беда будет - изображение в пунктирчик. ИМХО тут надо менять яркость пропуском кадров. Хотя по сути это тот же ШИМ, только синхронизированный с перемещением источников света.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Значит придется изучать. Без знания ассемблера (хотя бы поверхностного, на уровне мигалки) в программирование МК лучше не соваться, даже если пишете на С или чем-то еще.
Учить ассемблер не обязательно - языка С вполне хватит. А со временем можно будет и ассемблер изучить.
ARV писал(а):
немного не в тему: а как ШИМ проявит себя во вращающихся часах? не получится вместо регулировки яркости регулировка длины пунктирчиков?
Если взять высокую частоту, то пунктиров заметно не будет. Только на МК такую частоту на куче портов вытянуть не получится. А вот включение светодиодов не на каждом обороте будет очень сильно заметно - частота вращения и так маленькая, а если ещё и включать не каждый раз, то мигание будет хорошо заметно(нужна как минимум частота обновления 24Гц).
Скорее всего регулировать яркость контроллером не удастся, так что лучше либо отказатся от этой идеи либо делать внешнюю схему, управляющую напряжением на светодиодах.
Если взять высокую частоту, то пунктиров заметно не будет. Только на МК такую частоту на куче портов вытянуть не получится.
А для чего вытягивать их на куче портов? Одного аппаратного ШИМ недостаточно?
Цитата:
Скорее всего регулировать яркость контроллером не удастся, так что лучше либо отказатся от этой идеи либо делать внешнюю схему, управляющую напряжением на светодиодах.
Можете обосновать? Вот схемка моего вентилятора, только без часов:
вам же обосновывали выше в нескольких постах: ШИМ * вращение = пунктирчики. вы же не хотите, чтобы ваше изображение вместо (или вместе) с изменением яркости превращалось в пунктиры?!
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Если речь пошла про часы-вертушку, то хотелось бы обсудить регулировку яркости при удалении от центра. У кого какие идеи?
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Если регулировку ШИМ привязывать к позиции вывода то проблемы не будет.Допустим круг разбит на 60 точек частота вращения 1500 об/мин (25Гц) ШИМ берем 25*60=1500Гц
_________________ Я тоже белый и пушистый и также как и Вы ловлю мышей. С уважением ВНН.
Возьмём ситуацию с меньшим пикселом (6 градусов на пиксел - маловато ) Пусть один пиксель по окружности = 1 градусу. Скорость вращения 25 об/сек. Пиксельная скорость = 25*360 = 9000 Гц Т.е. одна точка отображается в течении 1/9000 секунды. И в эту долю секунды надо ещё и ШИМ упихать... При 20МГц это около 2000 тактов - можно уложиться думаю
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Вот как раз таки ассемблер надо изучать в первую очередь. Естесственно, я не говорю о каких-то извращенных приемах, не говорю о работе с вещественными числами - для этого как раз и есть языки высокого уровня. Но знать его хотя бы на уровне здешней обучалки (кстати, у меня на ее освоение ушло дня три, на четвертый я уже бодро писал что-то свое на асме , так что не стоит говорить, что это сложно) жизненно необходимо. А вот уже после того, как создалось четкое понимание работы МК на самом низком уровне, можно переходить к С. Ассемблер и С - джентльменский набор проектировщика устройств на МК. Ассемблер дает понимание, С облегчает жизнь и дает гибкость.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
вам же обосновывали выше в нескольких постах: ШИМ * вращение = пунктирчики. вы же не хотите, чтобы ваше изображение вместо (или вместе) с изменением яркости превращалось в пунктиры?!
Пиксельная скорость 9000Гц, берем ШИМ 20 МГц 8 бит, частота на выходе 20000/256=78,125 кГц; далее 78125/9000=8,68. Т.е. на один пиксель почти 9 вспышек. При 120мм вентиляторе 1 пиксель = 1 мм. 9 вспышек на 1 мм глаз не различит как пунктиры. P.S.: из ассемблера знаю только cli и sei, однако это не мешает мне писать и прошивать.
Без знания ассемблера (хотя бы поверхностного, на уровне мигалки) в программирование МК лучше не соваться, даже если пишете на С или чем-то еще.
Собачья чушь. К счастью, я, не посоветовавшись с Вами, сунулся программировать микроконтроллеры, совершенно не зная ассемблера. И Вы не поверите, программирую на C и прекрасно себя чувствую. И не заморачиваюсь всякой фигнёй вроде инициализации стека. И не страдаю, как этот несчастный viewtopic.php?f=20&t=5308 когда мне надо разделить одно число на другое.
Люди, на счёт шим - вы забыле о такой вещи как RC цепочка ( частотный фильтр ). На выходе мы в итоге получем не импульсы а напряжение !!! Такж есть врианты ШИМ-напряжение конверторов на операционнике. А насчёт ассэмблера - я учился с него ( сейчас на Си пишу ), и скажу что он очень помогает. Просто если учишь только СИ то не понимаешь как работает сам МК, там всё очень запутано и поверхностно, а в асме всё прозрачно, чисто машинный код. Но писать в дальнейшем лично я считаю лучше на Си, но при этом не забыв о асме.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения