Jump to content

Search the Community

Showing results for tags 'микроконтроллер'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
  • Товары и услуги
  • Разное
  • Переделки's ATX->ЛБП
  • Переделки's разные темы
  • Киловольты юмора's Юмор в youtube

Blogs

There are no results to display.

There are no results to display.

Marker Groups

  • Пользователи форума

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Found 247 results

  1. Топик для обсуждения схемы на сайте: Устройство импульсного заряда/разряда АКБ на МК PIC (Эх, заряжу - 01)
  2. Наконец-то данный проект был реализован в корпусе Процесс постройки Устройство реализовано в китайском корпусе YGK-031 240 на 45 на 160 мм. Родная передняя панель корпуса послужила основой для крепления плат. А фальш-панель я заказывал отдельно у себя в городе. Работа над ошибками В предыдущей части я делал видеообзор получившейся конструкции. Уже тогда все работало как надо, но после подробного тестирования (снял спектры) выяснилось, что неактивные выходы дают наводку 50Гц на подключенные к ним усилители. Что, в принципе, было ожидаемо. Поэтому схема релейного модуля была чуть переделана - в нее добавились нагрузочные резисторы, чтобы неактивные выходы и входы не висели в воздухе. Плюс был исправлен косяк со сбросом сдвигового регистра. Конфигуратор Долго витали мысли добавить функцию настройки имен входов. Правда их длина ограничена всего тремя символами, но лично для меня это будет удобно. Но память микроконтроллера была занята почти полностью и какие-либо программные доработки потребовали был его замены на старшую модель ATtiny84, тут хоть корпус у них совершенно одинаков. Кроме этого, задавать имена, выбирая буквы всего тремя доступными кнопками на восьми символах дисплея, очень неудобно. Поэтому было принято решение хранить имена в энергонезависимой памяти, а прописывать их туда специальным конфигуратором. Программа конфигуратор была написана на языке C# и имеет следующий интерфейс: Большую часть окна занимают поля ввода имен входов и выходов. Количество активных полей зависит от заданных настроек в левой части окна (Relay modules Count, Inputs Count, Outputs Count). Задав необходимые имена, можно сохранить файл (кнопка Save) в формате HEX для загрузки в EEPROM память контроллера, выбрав перед этим используемую модель. Вся прошивка помещается в ATtiny44, но сделал на всякий случай возможность загрузить и в ATtiny84, хоть она и дороже и дефицитнее. Кнопка Defaults сбрасывает все имена и настройки на значения по умолчанию. С именами оно смотрится симпатичнее: Relay Audio Stereo Selector Configurator 1.1.exe Итоги Осталось только дождаться новой ревизии плат релейных модулей, и если не вылезет никаких других косяков, проект можно считать завершенным. Подводя итоги, могу сказать, что проектом я удовлетворен на 100%. В нем я реализовал все, что задумывал, и даже чуть больше. Также был получен опыт в разработке и программировании. В текущем виде он уже используется, а программные наработки могут послужить составной частью будущих похожих устройств. Если народу оно будет интересно, можно переделать индикацию под более "народные" виды отображения информации, т.к. HCMS-2915 довольно дефицитен. Все записи по этой конструкции:
  3. Иногда возникают вопросы, ради которых создавать отдельную тему не имеет смысла, давайте задавать простые вопросы в этой теме (типа как "Вопросы от начинающих"). Первый вопрос: Чтобы сконфигурировать одно устройство необходимо загрузить в регистр некоторые данные, формат показан на картинке в прикреплении. Что такое MSB и LSB?
  4. Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам. В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков. Ведет видеокурс наш форумчанин kobzar. Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса Подписка на YouTube канал Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать: Статьи по МК для начинающих Книга по программированию микроконтроллеров AVR Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются Кракозябры вместо русских букв Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251 Фикс: 1.Открываем проект 2. File - Advanced Save Options 3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251 Сохраняем, сохраняем проект - компилируем! Добавлено 12.01.16 : Изменённые версии библиотеки lcd_5110 : От COKPOWEHEU - Ссылка на пост , Ссылка на github
  5. Требуються люди умеющие работать с микроконтролерами esp 32 и stm32 , так же будет плюсом опыт работы с raspberry , требования опыт работы не мение 1,5 года , возраст не старше 35 лет , готовы взять на удаленную работу просьба отправлять резюме , и звонить по номеру +380 (68) 227 82 52
  6. Не могу запустить асинхронный режим. Ниже будет представлен код которым пытаюсь отладить. Там в 1 коде идёт работа от внутреннего источника таков (стоит 1МГц). После 5 миганий таймер должен перейти в асинхронный режим и мигать с частотой в 1 Гц. У меня происходит 5 миганий потом ничего. Фьюзы менять пробовал, ничего не дало, сейчас дефолт. Корпус кварца к земле тянуть пробовал - безрезультатно. Возможно что-то в подключении накосячил, если не видно на фото ниже, спрашиваете, нужно будет - нарисую схему. Компилятор Atmel Studio 7 Шью через Sind Prog 2.1.1 + USBasp 2.0 Вот код: .macro outi ldi r16, @1 out @0, r16 .endm .org $000 rjmp reset .org $001 reti .org $002 reti .org $003 reti .org $004 rjmp timer2_ovf .org $005 reti .org $006 reti .org $007 reti .org $008 reti .org $009 reti .org $00A reti .org $00B reti .org $00C reti .org $00D reti .org $00E reti .org $00F reti .org $011 reti .org $012 reti .ORG INT_VECTORS_SIZE reset: .equ portout=portd .equ ddrout=ddrd .def led=r17 .def mask=r18 .def counter=r19 outi spl,low(ramend) outi sph,high(ramend) outi ddrout, 0xff outi tccr2, 0b00000111 outi timsk, 1«toie2 ldi led,1«5 ldi mask,1«5 sei cycle: cpi counter, 10 breq offtim rjmp cycle timer2_ovf: inc counter out portout, led eor led, mask reti offtim: outi timsk, 0«toie2 rjmp asinxron asinxron: outi assr, 0b00001000 back: in r16, assr cpi r16, 0b00001000 brne back outi tccr2, 0b00000101 outi tcnt2, 0 outi ocr2, 0 outi timsk, 1«toie2 m1: rjmp m1 Верх меги на фото слева.
  7. Здесь будут помещаться различные примеры кода и прочего обсуждаемого в других темах. Также скидывайте сюда любую полезную информацию по AVR микроконтроллерам Он-лайн книга: "Книга по программированию микроконтроллеров AVR (ассемблер)" Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers: Atmel AVR4027 (Оптимизация кода от Atmel).pdf
  8. Добрый день. Есть интересные модули ибп для слаботочки до 1А. m.aliexpress.ru/item/4000109380893.html По цене идеально подходит для зоопарка роутеров, IoT устройств... Переключение на резерв (туда-обратно) без просадки. Зарядка литиевой банки как положено, всякие защиты от перегрузки и прочее. Казалось бы все замечательно. НО как всегда не без ложки дёгтя. Защита от переразрядки работает неадекватно. Хотя возможно это не сама защита, а повышающий модуль. На пороге ~3в у него срабатывает циклический перезапуск и так пока банка не просядет ниже 3в. Точно померять нечем. Из наблюдений. Проверил напряжение переключается с 12в на 9в и щелчки. Естественно нагрузка в это время дико насилуется (роутер свистит минут 5 пока полностю не отключится) Вопрос к гуру. Возможно ли что-то доработать в даном модуле чтобы исправить этот досадный баг?
  9. Подскажите как вернуть к жизни контролер или в утиль! Решил собрать программатор AVRISP mkII купил микросхему собрал подключил а устройств нет в диспетчере и Flip не видит его! Начал искать косяки в сборке не нашел решил спаять Отладочная плату тот же результат, попробовал подключить через ISP не отвечает ! Решил пойти на крайние меры подключил через FuseDoctor сигнатуру он не видел вел 1e9482 вроде увидел но результата сбросить не проучилось но теперь он начал видится в таком формате фото внизу
  10. У меня была похожая тема, я решил проблему установив в include util/delay.h Но возникла еще одна ошибка, не могу понять, что оно хочет p.s. Я обещал, что предыдущая - последняя тема, но я ошибся, не думал, что тут 2 разные программы будут. В этот раз 100 процентов последняя тема и пойду сдавать работы Ы)
  11. Есть картинка из сайта с фьюзами, есть программа avrdude_prog3.3 Как выставить правильно фьюзы чтобы не испортить мк? Незнаю как это сделать есть прямые и инверсные фьюзы, ГДЕ СТАВИТЬ ГАЛОЧКИ И КРУЖОЧЕК НА ПРЯМЫХ ИЛИ ИНВЕРСНЫХ?
  12. Здравствуйте. Пока с Китая идет ардуинка, мне не терпится изучать МК. Купил ATMega8A-PU (по ссылке даташит), USB-программатор к ней нашел за более чем 3 тысячи рублей. Решил прошить программатором Громова. Вывода COM-порта наружу у меня на старом компе не оказалось. Снял крышку - нашел на материнской плате порт COM1. Подключил всё через беспаечную плату, UniProf сообщает, что "МК не откликнулся". Проверил соединения. Проверил, питание, 5 вольт подаю на 7 выход МК, землю на 8. Соединил на всякий случай 22 с 8. Решил проверить напряжения на участках. И был озадачен. Сначала, я обнаружил, что после диода на 4-м пине 0.72 вольта. Далее, приложив положительный щуп на 4-й пин (это тот, который идет на RESET), а отрицательный к GND - я получил -11 вольт (минус 11). Несколько раз перепроверил, не перепутал ли я землю с другим выводом (по цоколевке) - не должен. Правильно ли я понимаю, что это некорректная работа и напряжение?
  13. Простой селектор входов для усилителя мощности. Выполнен на микроконтроллере ATtiny13A. Подключение выполняется по следующей схеме: Естественно, что вместо светодиодов должны стоять реле. В 1 кбайте памяти микроконтроллера спрятан следующий функционал: - использование от 2-х до 4-х входов, количество которых определяется автоматически (неиспользуемые 4-й или 3-й и 4-й входы следует подтянуть к питанию через резистор 5-10 кОм); - переключение одной кнопкой "по кругу"; - запоминание последнего выбранного входа; - задержка при включении (2 c); - защита от дребезга кнопки; - mute между переключениями каналов (0,5 c). При программировании следует установить фьюзы следующим образом: HIGH - 0xFF, LOW - 0x79. То есть нужно отключить делитель частоты на 8, и выбрать источник тактирования - внутренний RC-генератор на 4,8 МГц с задержкой старта в 64 мс. Платы под схему нет, предполагаю, что каждый нарисует себе сам под необходимые детали. На видео показан макет, демонстрирующий работу селектора: Скачать файл прошивки
  14. Доброй ночи. Продам Segnetics SMH4 новый в упаковке. 14 т.р. и УПП Siemens Sirius 3RW4036 29т.р. тоже новый. Если кого заинтересовало то пишите на почту sl.s@inbox.ru
  15. Здравствуйте. Подскажите, был ли у кого-то опыт отправки изображений с камеры (подключенной через UART или bluetooth-камеры) через GPRS (у меня модуль SIM800L, но в целом это не принципиально) на удаленный сервер? Средствами управляющего микроконтроллера, пусть даже ардуины какой-нибудь, но не малины. Возможно ли это вообще? Хотелось бы, конечно, использовать в проекте беспроводную камеру и общаться с ней, ибо камеры, подключаемые напрямую так себе качество дают. Сразу скажу, что важна именно такая связь. Микроконтроллер + модуль связи + камера находятся в коробке и путешествуют по городу, в это время человек сидя дома на диване может смотреть фото с этой камеры. Смартфон для моих целей не подойдет, суть именно в микроконтроллере с модулями. Если у кого-то такое получалось - поделитесь, пожалуйста :) А то нахожусь в некоторой прострации и даже не знаю, в какую сторону думать.
  16. Для людей которые интересуются темой микроконтроллеров, но не знают с чего начать. Объясню с чего начать, отвечу на интересующие вопросы, бесплатно. От вас нужно сильное желание разобраться в теме. Кому интересно постите сюда. Успевайте, возьму только несколько человек.
  17. Обсуждение статьи, опубликованной на сайте: Многофункциональный частотомер на PIC16F628A и LED индикаторах Это прибор по мотивам некогда популярного частотомера Денисова. Не смотря на примененный недорогой и с ограниченными возможностями микроконтроллер, на мой взгляд, прибор имеет неплохие характеристики и функциональные возможности: «обычное» измерение частоты путем счета количества импульсов в течении одной секунды; измерение частоты низкочастотных сигналов через измерение периода (F=1/T) с точностью 0.001 Гц; измерение периода сигнала, причем для высокочастотных сигналов через частоту (T=1/F); измерение длительности как положительных, так и отрицательных импульсов. Так же имеется возможность сохранения в энергонезависимой памяти по одному измеряемому значению для каждого режима, с последующим просмотром при необходимости. Предусмотрено оперативное изменение ряда настроек прибора и автоматическое выключение при отсутствии воздействия на прибор в течении определенного времени. Здесь можно высказать свои соображения о статье, а так же задавать общие вопросы по статье. Вопросы, имеющие практическое значение при повторении, лучше задавать в коментариях к статье, чтобы вопрос и ответ видели все пользователи, читающие статью.
  18. делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
  19. Всем привет Прошу не ругать, впервые подобный вопрос задаю. Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. — угол отслеживания до 30° а лучше прямая линия, траектория — время реакции очень высокое до 100 мс — ширина проема в котором нужно сканировать от 10 до 20метров, — передача сигнала через вифи Может есть готовые решения, или отдельные компоненты. Подскажите пжл в каком направлении искать. Смотрел датчики движения, но главная проблема — время реакции. Спасибо
  20. Эта ветка предназначена для обсуждения моих разработок "управлялок" для сварочников. Поэтому попрошу людей пришедших просто "поболтать" проходить просто мимо и не засорять эту ветку. Вот ссылки на статьи: http://cxem.net/house/1-269.php довольно актуальный проект на данный момент. http://cxem.net/house/1-279.php усложненная версия предыдущего проекта (менее активно развивается). То с чего начались эксперименты: http://cxem.net/house/1-264.php Старая тема обсуждения Внимание! Возможен заказ заводских плат с маской и металлизацией (любых версий) ! По ооочень вкусной цене! Итак, первая порция прошивок. вариант №1: m8_4.02D.rar - содержит дополнительную опцию, это наличие зуммера при нажатии на кнопки. Имеет ограничения в виде отсутствия сохранения настроек. Регулирует напряжение , и имеет поддержку работы в режиме сварочного аппарата. Прошивка для этого устройства: http://cxem.net/house/1-269.php вариант №2: m8_V4.2D_24.06.14.rar - содержит дополнительную опцию, это наличие зуммера при нажатии на кнопки. Имеет ограничения в виде отсутствия сохранения настроек. НЕ регулирует напряжение , и НЕ имеет поддержки работы в режиме сварочного аппарата. Прошивка для этого устройства: http://cxem.net/house/1-269.php вариант №3: V0.4D_19.06.2013.rar - контроллер для дуговой сварки Прошивка для этого устройства: http://cxem.net/house/1-269.php вариант №4: По просьбе трудящихся прикрепил самую первую версию прошивки. V1.0.rar - бесплатная и полная версия прошивки. Умеет регулировать напряжение , регулировать подачу проволоки, имеет настраиваемую задержку подачи проволоки. На этом ее возможности заканчиваются. Прошивка вылечена от не сохранения настроек то есть - не ДЭМО версия. Прошивка для этого устройства: http://cxem.net/house/1-269.php Схема зуммера: http://forum.cxem.ne...ttach_id=190655 Внимание! В схеме ошибка . Вместо PORTD.5 Нужно использовать PORTD.3 В этих прошивках исправлена проблема с торможением мотора. Данные прошивки совместимы только с этим проектом (схемой) : http://cxem.net/house/1-269.php Все обновления которые представлены ниже относятся к этой: http://cxem.net/house/1-269.php статье. Итак, вышла новая версия прошивки. Именуемая: V4.02 В ней внесены все улучшения которые отсутствовали в прошлых версиях. Были устранены следующие недостатки, а также добавлены следующие возможности: - регулировка тока сбалансирована во всем диапазоне. - введена настройка диапазона регулировки подачи проволоки. - добавлен специальный алгоритм исключения ошибки настройки минимального значения и максимального значения для скорости проволоки. - улучшен алгоритм регулятора тока. - улучшена индикация сохранения данных в еепром. - исправлен вывод данных на индикатор. - Исправлена активация силовой части в отключенном состоянии при 100% значении на индикаторе. Эта версия является бесплатной и доступна для некоммерческого использования. В этой версии есть только один режим работы - это стандартный режим. Триггерный и импульсный режимы , доступны только в платной версии. Описание версии: Обновление Печатной платы и схемы. Из улучшений: - введена оптопара на пусковую кнопку. - введена ВЧ развязка по питанию. - улучшено подключение к клеммным колодкам исполнительных механизмов. - подправлена разводка платы в целом. Все керамические конденсаторы использовать только NP0! Электролитические конденсаторы использовать с низким импедансом! 105 град. Внимание! Обновление печатной платы, от 2.05.2013 Именуемая: V1.3_2.05.2013. //======================================// 23.05.2013 Новая версия прошивки для первой статьи! V3.0 В этой версии немного переработано меню. Системное и главное меню разделено по отдельным "отсекам". Перемещение между ними производится удержанием кнопки "меню". Эта идея предложена товарищем colin7795 //======================================// 23.05.2013 Еще одна прошивка! Полуавтомат + ручная дуговая сварка. Работает следующим образом: В главном меню 3 подменю . 1)рег. тока 2)рег. подачи проволоки 3) выбор режима полуавтомат/ручная сварка. в этом подменю нажав кнопку "-" выбирается режим, а нажимая "+" можно включать/отключать напряжение на выходе аппарата когда выбран режим ручной сварки (РС). Удерживая кнопку "меню" мы переключаемся между системным и главным меню , кратковременное нажатие кнопки "меню" приводит к циклической прокрутке подменю. //======================================// 23.05.2013 И, как и обещал, обрезанная версия прошивки! Кастрировал все кроме регулятора тока. Данная прошивка отлично подойдет в качестве контроллера для классического сварочного аппарата. В нем работает только две кнопки! + и -. Схема подключения двигателя с динамическим торможением: //=========================================// 19.06.2013 ПА + Сварка Версия 3.2: ___ Исправлены всплески регулировки, модифицировано меню, увеличено быстродействие управляющей части. Сварка Версия 0.4: ___ Исправлены всплески регулировки. //=========================================// Итак , стартует новая модификация блока управления! - электронное торможение - МК в планарном корпусе - индикатор 4 разряда - измерение и индикация напряжения на выходе - сенсорное управление - оптическая развязка управляющих узлов В архиве прошивка (тестовая, ДЭМО) и проект в Протеус. Прошивка заточена под SMD микроконтроллер , с небольшой модификацией старой версии. Из особенностей - умеет измерять напряжение на выходе ПА И отображать на индикаторе.Точность: до десятых, в диапазоне от 0 до 60.1 В . Имеет 4 разрядный индикатор. Параметры устанавливаются теперь от 0 до 100 (в предыдущих версия было от 0 до 99). Также введен импульсный режим работы ПА (имитация точечной сварки) ! Прикрепленные файлы: симуляция SMD V2.4D.rar 51,42 Кб Дальнейшая разработка будет именно под это железо! Заказал тестовую пару комплектов плат (заводских) при всех сохранившихся габаритах 92х65мм. , на плате поместились все основные схемотехнические узлы! Внешне, подключаются только 2 шт. полевых транзистора и исполнительные реле, клапана. Вот ее вид из программы: Внимание! Полные/Стандартные (не полные) прошивки , любых версий, будут доступны при покупке прошитого микроконтроллера. Пример работы блока управления (тест на лампочке): Видео работы нового контроллера (электронное торможение проволоки): Новая перспективная схема торможения: http://forum.cxem.ne...ttach_id=240692 Внимание! схема приняла вид: Внимание! Для тех кто не знает как выставить фьюзы : http://forum.cxem.net/index.php?showtopic=123537&st=1360#comment-2279826 ПП сварочного полуавтомата.rar
  21. Здравствуйте, надеюсь я задаю вопрос в правильном разделе. Дело в том, что у меня есть очень стойкое желание разработать свой металлодетектор по принципу индуктивного баланса (такой как quasar, крот, кощей-20 и.т.д.). В качестве обработчика планирую использовать Arduino или AVR. Уже прочитал все роботы Колоколова, Щедрина, литературу по цифровой обработке сигналов и прочую дремучую ерунду. Теперь у меня в голове куча информации, которую я никак не могу сложить в нужный пазл. В итоге получается, что знания в этом направлении ничем не отличаются от знаний пятиклассника. Но желание заняться построением металлодетекторов всё сильнее и поэтому обращаюсь к специалистам этого форума (md4u.ru мне не помог). Может кто-либо на пальцах объяснить принцип работы всей системы подобных устройств? Начиная от структурной схемы и заканчивая обработкой сигналов в МК (вычисление тангенса, определение фазового сдвига и т.д.). Думаю данная тема поможет таким как я, а нас очень много. Кто знает, может в результате совместных усилий получится прибор, не уступающий коммерческим. Повторюсь, хочется узнать всё подноготную построения IB-металлоискателей. Совет собрать уже готовый не есть для меня интересным. Заранее всем благодарен!!!
  22. Предлагаем проектную работу в Москве: Микроконтроллер STM32F103. Есть встроенный код с использованием функций библиотеки FreeRTOS, код имеет описанный протокол для связи с внешним миром. Необходимо проводить доработку кода под задачи программиста верхнего уровня и его тестирование в составе оборудования. Работа в лаборатории (м.Университет) и удаленно. Оплата по договоренности. Если Вы обладаете опытом схемотехнического проектирования и программирования микроконтроллеров, и Вас заинтересовала данная возможность, ждем Ваши отклики по контактным данным: 8 (925) 023-60-02 Алексей E-mail: nassa@marathon.ru
  23. В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны. Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод. Собрал, протестил, всё норм, но! Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает! #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще. Если задержку убрать - светодиод немного подсвечивает всеми цветами. while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил? З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
  24. В общем, есть такое чудо китайской техники (фото) Что оно может: 1. Заряжаться через microUSB порт 2. Кнопка вкл/выкл, она же переключает режимы 3. 3 режима свечения светодиода (он светит разными цветами) Что я хочу сделать: 1. Пункты 1 и 2 выше 2. Разнообразить количество режимов, переливание статичный цвет и тд... Вопрос: как это сделать? что купить? P.S. К сожалению, в гугле не нашел подробной инструкции, а я в электронике я дуб дубом
  25. Привет хочу сделать лазерный проектор по типу элт монитора. Из vga разъёма выходят 2 Синала срочной и кадровой развёртки. Со строчной разобрался. Вопрос по кадровой. Она будет реализована с помощью гальванометра который после каждой строки отклоняет зеркало на какой то угол ( пускай строк 480 тогда если взять напряжение управления гальво от 0 до 10 вольт и шаг задать 0,01 в - будет 1000 строк) даже если строк будет 720 в 1000 они уместятся. Так вот принцип придумал такой - с выхода Hsync поступает сигнал строки - микросхема прибавляет пускай напряжение +0,01 вольт, затем поступает 2й сигнал от Hsync микросхема прибавляет ещё 0,01 вольт ( напряжение 0,02) наш гальво отклонился уже до 3й строки и так далее пока не поступит сигнал VSYNC о смене кадра - Гальво возвращается в 0. Хотя правильней вот так: Либо сделать что бы гальво двигался при отсутствии сигнала Hsync - скажем поступает сигнал строчной развёртки отрабатывает строчная развертка затем сигнал становится логическим 0 и тут срабатывает гальво и т.д пока не придёт сигнал от vsync (логическая 1). по факту схема даж считать не должна - есть сигнал прибавляем есть другой сигнал сбрасываем Я в электронике логический 0 но спаять по приведённой схеме смогу) если кто поможет спасибо
×
×
  • Create New...