Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'AVR'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

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

Блоги

  • Твори, выдумывай, пробуй.
  • fant's блог
  • Ток покоя
  • Где купить велпатасвир, epclusa, velpanat, velasof, софосбувир в России по лучшей цене.
  • Китайские бренды видеокамер
  • Создание Маленькой Мастерской
  • Блог администрации
  • STEN50's блог
  • Изучение, наладка, исследование
  • MiSol62's блог
  • короткие записки по ходу дела
  • Программирование AVR и PIC блог
  • Стабилизированный выпрямитель тока ТЕС 12-3-НТ
  • Блог getshket
  • ТНПА
  • welder's блог
  • blog cheloveka loshadi
  • OPeX3's блог
  • Подводная робототехника
  • Сабвуфер и акустика.
  • Радиоуправляемая машина
  • Консультация психолога сексолога онлайн, психолог онлайн
  • Nokian блог
  • Оповещения Dermabellix Scam !! Не покупайте это !!!
  • Cheerful Boss' блог
  • Cheerful Boss' блог
  • VLAD1996B's блог
  • "Коллективное увеличение продаж"
  • Dudok's блог
  • "Коллективное увеличение продаж"
  • Goluboglazyi's блог
  • Прибор определяющий электролитический конденсатор на работоспособность.
  • Mosfet@'s блог
  • mazzi's блог
  • Лучшие компьютерные игры 2017
  • Marchenkokerya's блог
  • Заметки начинаущего аудиофила
  • Почти бесполезные проги
  • Светлый блог.
  • дядюшка Филин's блог
  • Дневники нуба
  • satyrn's блог
  • Люк. В погреб.
  • Фильм Дом Солнца
  • Светодиодная лента B-LED 2835-120 W белая негерметичная
  • Само-Реплицируещиеся Производственные Системы
  • Блог от Eknous
  • РВС's блог
  • Den_R's blog
  • РВС's блог
  • Чтото крутое и про криворукость
  • ekadom's блог
  • Проектирование любых чертежей
  • Lisovic's блог
  • Блог уже не юного радиогубителя
  • денди
  • eHouse
  • zaregan's блог
  • Схемотехника УНЧ с низковольтным питанием на примере приёмников фирмы Grundig
  • То, что в руки попало.
  • Блок питания водородного генератора и все что с ним связано
  • slava_va@mail.ru's блог
  • Блог alex123al97
  • slava_va@mail.ru's блог
  • параленое соединение КРЕНок или как сделать стабилизатор напряжения 24-12в
  • Свободная генерация Андрея Мельниченко
  • реобас
  • Модернизации системы впрыска на 555
  • помощь
  • Копии схем и печатных плат устройств попавшие ко мне
  • MBM75's блог
  • Буду
  • lagutai's блог
  • Мои проекты.
  • lagutai's блог
  • Трудовик
  • vOVK@'s блог
  • токарь-радиолюбитель
  • azlk3000's блог
  • Коллизия сингулярности
  • SmallAlex's блог
  • Вопрос по Цифровому усилителю мощности звука 2x12 Вт YDA138-E
  • bebulo's блог
  • Простейший макет станка термо-вакуумной формовки
  • Блог им. pryanic
  • peratronika
  • Zer's блог
  • MEDBEDb's
  • Гнездо кукушки
  • hiMiческий блог
  • luna_kamen's блог
  • Изучаем USI на основе сверхэкономичного прототипа
  • Алекс-Юстасу
  • SUBWOOFER.RU
  • kot sansher's блог
  • Поделки стареющего пионера
  • доброжелатель2's блог
  • Grig96. Полезные заметки.
  • Attiny 0-ой и 1-ой серии (Attiny817, 1614 и прочие)
  • pavlo's блог
  • MSP430FR
  • viper2's блог
  • Моя Электро Чинильня
  • Selyk's блог
  • VoltServis.ru
  • kpush's блог
  • OM3 на новых платах.
  • конни's блог
  • Электронный экстазёр "MASHKA".
  • ptimai's блог
  • noc functionalities
  • Sun kapitane's blog
  • ODEON AV-500
  • Sun kapitane's blog
  • Логика на транзисторах,диодах, счетние тригери на транзисторах
  • AleksandrBulchuck's блог
  • Качественные окна от производителя
  • KRALEX's блог
  • Javaman's projects
  • SeVeR36's блог
  • 3232
  • Пять копеек.
  • Az@t's блог
  • Индукционный нагрев
  • Схемы разных устройств
  • Кардшаринг SAT ТВ блог
  • PENTAGRID SAYS
  • Ещо раз о "Кощее 5И"
  • Игровые автоматы на официальном сайте
  • коллекционер
  • дямон's блог
  • Ламповый усилитель и акустика для озвучки семейных мероприятий
  • дямон's блог
  • tiosmutoutrup1971
  • Светомузыкальная установка для новачков
  • Лучшие игры для ПК скачать бесплатно
  • sqait's блог
  • Блокнотик
  • Gubernator's блог
  • Записки электрика
  • Полстакана
  • Vrednyuka
  • Интегральные микросхемы
  • grigorik's блог
  • Интегральные микросхемы
  • VMWare удобство и безопастность
  • Профсоюз обычных пользователей
  • rtfcnf's блог
  • Гидроэнергетика в России: отечественные гидроэлектростанции, типы и характеристики
  • VMWare удобство и безопастность
  • Лайфхаки от Кати
  • Kinh chong anh sang xanh gia re
  • ukabumaga's блог
  • АО "Диполь Технологии"
  • artos5's блог
  • блог
  • Kraftwerk's блог
  • 1
  • Kraftwerk's блог
  • Как выбрать точечный светильник?
  • мастерская ky3ne4ik'а
  • Работа с микроконтроллером Atmega8
  • Aronsky
  • Игорь Камский
  • Диммеры
  • 5В = 1,5+3
  • vitiv' блог
  • Ремонт цифровой панели прибора тойоты марк 100. Замена транзистора 36 ( SOT- 23 )PNP
  • Все СРО России
  • 300writers
  • Металлоискатель Tracker FM-1D3
  • Былое
  • Создание монстра "Blaster 8920"
  • 2Smart Cloud Blog
  • EmmGold's блог
  • 2Smart Cloud Blog
  • ivan15961596's блог
  • Кумир у-001
  • ivan15961596's блог
  • My blog
  • Интернет радио в машину
  • SamON
  • Помогите люди добрые
  • AI
  • Помогите подключить маяк 231 стерео.
  • Гаусс-пушки
  • Название
  • 7400's блог
  • Как я собирал свой первый импульсный источник питания
  • Віталік Приходько_130349's блог
  • Lithium ECAD - российская САПР печатных плат
  • Евгений Малюта's блог
  • ПИшу свои мысли
  • werekpro
  • Venera Electronica
  • afurgon's блог
  • Выбросьте это в парашу!
  • odaplus' блог
  • Zvik's блог
  • Smart overload protection power amplifier «Zita (Z) ThermalTrak™»
  • радиоэлектоника
  • BoBka777's блог
  • МиУЗР - Модернизация и Усовершенствование Звуковой Радиотехники .
  • aleksey9900's блог
  • Лабораторная блок питания
  • Нашел статью о пайке проводов к светодиодов
  • Китайский городовой
  • Костик0's блог
  • УФ лампа для маникюра SK-818
  • 8 Contrasts Between Web Servers and Application Servers
  • Конденсатор
  • Новости, обзоры и другая полезная информация от ИМ "Радиодар"
  • Цветомузыка
  • OPeX3's блог
  • Sem2012's блог
  • это не хлам – это часть моей жизни
  • Контроллер на базе ПК (OS Win LTSC)
  • OdiS' блог
  • Хитрости строителя
  • aleksfil's блог
  • Color Preamp - предусилитель на лампах 12AU7
  • Проблема с зарядкой литиевого аккумулятора для шуруповерта 21 вольт
  • EmmGold's блог; AVR
  • Микроэлектроника
  • З
  • CH32V
  • Блог Плотникова Ильи
  • Бесплатные радиодетали с Алиэкспресс
  • Повышение качества и снижение временных затрат при испытаниях электронных компонентов с помощью отечественного испытательного оборудования
  • Источники питания MEAN WELL
  • Жизнь и рыбалка
  • yureika's блог
  • Глушитель спутникогого интернета
  • Всякая всячина
  • Для начинающих
  • Ignite your senses with the grace and allure of female escorts near Laguna Niguel
  • Fumitox's блог
  • Наш-RXT6 топ-10 на январь 2023: Лучшие сайты онлайн казино в России
  • Лицензионные казино онлайн в 2024 году на реальные деньги
  • Самоделки блог
  • Домашняя автоматика
  • Интересное и полезное
  • Ремонт Амфитон 35у-101с
  • ульян's блог
  • Свет в грузовой газели
  • Блок питания 0-12В для начинающих
  • Dimko's блог
  • Иван Самец's блог
  • SolomonVR's блог
  • gendzz's блог
  • fleh138's блог
  • Электроника forever!
  • aleksejhozhenets' блог
  • aleksejhozhenets' блог
  • diserver блог
  • aleksey290476 блог
  • ВАРГ's блог
  • Люстра Чижевского
  • wanes101's блог
  • voldemar2009's блог
  • Jana's блог
  • Jana's блог
  • Рена Искужин's блог
  • abduraxman7's блог
  • Kuzumba's блог
  • Самопальник
  • заработок через интернет на запчасти!!!
  • electric.kiev's блог
  • lolo's блог
  • leravalera's блог
  • ideomatic's блог
  • приглашаем на работу инженера-радиоэлектронщика
  • FREEMAN_77's блог
  • Блог автоэлектрика
  • Блог начинающего электронщика
  • Dersu's блог
  • Электроэнергия и её экономия!
  • Электроэнергия и её экономия!
  • Семён Ковалёв's блог
  • piligrim-666's блог
  • помогите с партотивной калонкой
  • помогите с партотивной калонкой
  • Музыка в стене.
  • m-a-r-i-k-a's блог
  • cosmos44's блог
  • oyama14's блог
  • блог Виталика!
  • ciornii's блог
  • Великий и Ужастный блог
  • Denis__Ricov's блог
  • Universal12's блог
  • Sprut's блог
  • Alexeyslav's блог
  • cosmosemo's блог
  • Заметки радиолюбителя
  • Falconist. Мемуары
  • Блог MillyVolt
  • усилитель импульсов
  • Panasonic sa-ak 18
  • Простое радиоуправление из того, что было.
  • 35house
  • Блог Радиочайника
  • Блохи iiiytnik'a
  • Хороший сервис- Бяка
  • Аудиолаборатория "Философия Звука"
  • ОколоCADовое
  • Блог KVLADS
  • Короп блог
  • Автоматизация котла Protherm MTV
  • Бложиг Касянича
  • Обо всём
  • Эксперимент
  • No electronics
  • ПРИРОДА СВЕТА и ЕГО ВОЗМОЖНОСТИ
  • Генератор на xr2206
  • HTPOWLASER
  • Когда-то были очень популярны у радиолюбителей
  • AVR - микроконтроллеры
  • Микроконтроллер
  • Самодельный автосимулятор
  • Интернет-магазин керамической плитки «Боярская Плитка»
  • Разработка электронных метрических мишеней IPSC для мягкой пневматики (страйкбол)
  • ,

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Skype


ICQ


Интересы


Город


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


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

  1. Здравствуйте. Делаю ночник с плавно меняющимися цветами, в корпусе недорогого светильника, который включается в полной темноте. Включение/отключение реализовал через фоторезистор и составной транзистор. Для МК atMega8 в DIP-корпусе места в корпусе уже впритык. Думал напрямую к пинам подключить RGB-светодиод, но, внезапно, обнаружил, что они у меня с общим анодом. На макетной плате собрал с 3-мя транзисторами, работает. Но можно ли обойтись без транзисторов? Это дополнительные 6 элементов... Сейчас задам, возможно, сумасшедший вопрос, но если подключить светодиод катодами к пинам, а анод на +5 вольт ? Будет ли это работать как обратный сигнал ШИМ (т.е. при скважности 10%, обратная величина - 90%)? Или это просто загубит МК?
  2. Помогите пожалуйста разобраться, программа не работает. Есть задумка через bluetooth terminal на телефоне передавать команду(ноль или единицу) на bluetooth модуль HC-05, подключенный к atmega328p и таким образом управлять светодиодом. Но почему то светодиод не загорается. Соединил выходы bluetooth модуля и атмеги так: tx -> rx, rx -> tx, светодиод подключен к нулевому биту порта B(PB0). В чём может быть ошибка? question.txt question.txt
  3. Доброго дня! Купил на барахолке вот такую плату на последней фото 2 черных провода в дальнейшем соединены Это бегущая строка от игровых автоматов, на ней 2-мя цветами отображаются слоганы, хочу перепрошить в целях обучения. Вопросы: 1) встречал ли кто-то описание этой микросхемы? (я в интернете не нашел, потратил 2 дня) 2) есть на микросхеме разъем (10 ножек хорошо видно на последнем фото), как узнать их имена, за что отвечает каждая ножка? (есть некоторые предположения, но сомневаюсь в них) 3) можно ли через CP2102-USB-UART-MODULE перепрошить вот эту микросхему, если да то как соединить?
  4. Atreides

    Програмный UART atmega16

    Добрый день. Мне требуется реализовать программный юарт на атмеге16. Он нужен для того, чтобы принятые по нему данные отправить на аппаратный юарт. В интернете нашел примеры кода, но понять его мне трудно. Прошу вас словами в общих чертах объяснить принцип реализации программного юарта. Буду рад примерам, которые, на ваш взгляд, являются наиболее простыми и понятными. Заранее спасибо.
  5. Можно ли залить в arduino прошивку, предназначенную для чистого AVR?
  6. Товарищи, помогите пожалуйста. Данная програмулина при нажатии на кнопку входит в функцию MinU() в которой инициализирует таймер для задержки(ждем отпустит пользователь кнопку или нет) если кнопка не отпущена то уменьшаем скважность ШИМ. проблема в выделенной красным строчке! когда count больше 3 уменьшаем скважность, но в отладчике AVR studio, Proteus и в железе не робит. Перепрыгивает действие в {} так будь-то условие не выполнено... #define F_CPU 1000000L #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> unsigned char count = 0; unsigned char a=5,s=3,b=0; //===================================Насройка таймера==================== void Timer_ini(void){ TCCR1B = (1<<CS12)|(0<<CS11)|(0<<CS10); TCNT1 = 65535-976; TIMSK |= (1<<TOIE1); count = 0; } //===========================настройка шим=========================== void PWM_ini(void){ ASSR=0x00; TCCR2=0b01101110; //На выводе OC1A единица, когда OCR1A==TCNT1, восьмибитный ШИМ OCR2=200; } //=============== void MinU(){ unsigned char i=0; Timer_ini(); while (!(PINB&0b00000010)){ if(count>2){ //Если таймер считал более двух раз _delay_ms(100); // ждем 100 мс OCR2--; // Уменьшаем скважность i=1; // были в плавном уменьшении } } if (i!=1) // если не были в плавном уменьшении { OCR2=OCR2-50; i=0; } } //======================================================= int main(void) { // Настраиваем порт D на выход DDRB = 0b00001000; PWM_ini(); //Timer_ini(); sei(); while(1) { b=a-s; if (!(PINB&0b00000010)) { MinU(); }/* //if (!(PINB&0b00000100)) //{ //PlsU(); //}*/ } return 0; } ISR (TIMER1_OVF_vect) { count++; TCNT1 = 65535-976; }
  7. Всех приветствую! Вообщем ситуация такая - (сейчас будет предыстория) стал понемногу интересоваться МК и набрел на статью о подключении экрана нокии 3310 к атмеге8. Вот она http://cxem.net/mc/mc201.php Сказать что заинтриговало - ничего не сказать... к тому же автор в комментариях написал, что можно поочередно выводить изображения, и таким образом создать анимацию. Так вот, к чему я, была у меня монохромная моторолла и на ней был прикольный "скринсейвер" с рыбками, теперь который я хочу воссоздать. Надписей "Hello, world!" я не планирую, а только чистый вывод изображений. Теперь сама суть моего обращения на форум. 1) Так как в Bascom я начинающий, решил идти по пути наименьшего сопротивления, то есть немного подправив код в проэкте, предоставленный автором статьи. Подправить то я его подправил, но вот правильно ли... Вообщем мне бы хотелось чтобы знающие люди проверили бы мой код. Хотя Bascom компилирует код без проблем. Вот исходный код: Вот мой код: (на одинаковость стека изображений не обращайте внимания, мои в процессе воссоздания, а мне нужна проверка самого принципа вывода изображений, который я написал) Таким образом я хочу выводить изображения поочередно с интервалом в 1 секунду. 2)Еще более интересующий меня вопрос - если открыть даташит на атмега8, то там написано, что флеш памяти для программ 8 кб. Но вот что интересно и вводит меня в ступор. Если просто взять проэкт автора статьи и скомпилировать его в .hex, то получаем: Bascom пишет при компиляции "Flash used - 55%", то есть как бы половина атмеги пустая, но вот выходной файл .hex имеет размер 13кб. Вот я и не могу понять как даже авторский проэкт в 13кб прошивается в атмегу с 8кб? Магия наверное. Скомпилировав "свой" проэкт, я получаю "Flash used - 66%" и файл на 15кб. Вот и возник такой вопрос - это нормально и так и должно быть? А если нет - то как правильно скомпилировать? Так как пока проверить код в железе нет возможности (еще едет), вот к Вам, знающим людям, за помощью и обращаюсь. Ниже прикрепляю видеофайл с компиляцией проэкта автора статьи в Bascom. clip0002.avi
  8. Гость

    Асамблер

    здравствуйте. ребята помогите разобраться с программой задача программы мигать светодиодами и менять тетрады при внешнем прерывании всё хорошо только одно но! если по шагово смотреть процесс в avr studio 4 то доходя до команды call её не получается активировать. То есть в подпрограмму не получается зайти, после этой команды переходит к следующей команде. ЗАГРУЖАЮ В Мк atmega16A программа не работает подскажите пожалуйста в чём косяк что я не правильно делаю .include"m16def.inc" .ORG 0x0000 // адрес прерывания по сбросу JMP start // переход на метку start .ORG 0x0024 // адрес прерывания INT2 JMP int_2 // переход на обработчик прерывания INT2 .ORG 0x002A // адрес начала программы start: //**** инициализация стека **** LDI R16, 0x04 ;// загрузка в R16 числа 0x04 OUT SPH, R16 ;// пересылка числа 0x04 из R16 в регистр SPH LDI R16, 0x5F ;// загрузка в R16 числа 0x5F OUT SPL, R16 ;// пересылка числа 0x5F из R16 в регистр SPL //**** инициализация прерывания **** LDI R16, 0b00100000 OUT GICR, R16 ;// разрешение прерывания INT2 LDI R16, 0b00000000 OUT MCUCSR, R16 ;// прерывание по спадающему фронту сигнала ("H->L") //**** инициализация порта С **** SER R16 ;// установка всех бит регистра R16 в "1" OUT DDRC, R16 ;// инициализация порта C (работает как выход) //**** загрузка R16 и R17 **** LDI R16, 0b11110000 ;// значение 0xF0 LDI R17, 0b11100111 ;// значение 0xE7 SEI ;// установка флага глобального прерывания m1: ;// метка начала цикла основной программы OUT PORTC, R16 ;// вывод на светодиоды содержимого R16 CALL wait ;// вызов подпрограммы задержки OUT PORTC, R17 ;// вывод на светодиоды содержимого R17 CALL wait ;// вызов подпрограммы задержки RJMP m1 ;// переход на метку m1 //**** подпрограмма задержки на 800 мкс (при f=1 МГц) **** wait: ;// метка по которой вызывается подпрограмма PUSH R17 ;// сохранение [R17] в стеке LDI R17, 200 ;// загрузка в R17 константы задержки (200 циклов) w1: ;// метка цикла задержки на 800 машинных тактов NOP ;// пустая команда (добавляет 1 такт в цикл задержки) DEC R17 ;// декрементирование R17 (уменьшение на 1) BRNE w1 ;// если не обнулился R17, продолжать цикл POP R17 ;// восстановление содержимого R17 из стека RET ;// выход из подпрограммы задержки //**** обработчик прерывания INT_2 **** int_2: SWAP R16 // поменять тетрады R16 местами RETI // выход из подпрограммы обработчика прерывания
  9. Продаются: -Паяльная станция lukey 852D+ Состояние хорошее, использовалась редко, не вскрывалась. Цена - 4500 -Отладочная плата STM32F429I-DISCO Цена - 2500 -Программатор AVR STK500 Цена - 1000 -Ультразвуковые дальномеры HC-SR04 Имеется 10 штук Цена - 80 за штуку, 5 штук за 350, 10 штук за 600 -Зарядное утройство ICharger 106В + Цена - 5500 -Блок питания DC12V 250 Вт Подойдет для ICharger 106В + Цена - 1000 -Плата для подключения по Bluetooth HC-05 Цена - 300 -Сервопривод MG90S Имеется 2 штуки Цена - 150 Все цены в рублях. Местонахождение - Воронеж. Почта за ваш счет.
  10. Всем привет! На данный момент уже есть работающий прототип устройства на основе atmega2560. Устройство автомобильной тематики, узкоспециализированное. Сейчас готовлюсь к опытной партии и пытаюсь перенести все модули на одну печатную плату. Принципиальная схема уже практически готова. Тк своего опыта не достаточно, нужна помощь в изготовлении макета (проверить/оптимизировать схему), возможно в обсуждении какие-то функции упростятся. Территориально - Москва.
  11. Сделал девайс для своей машины, думаю, многим понравится. Прибор устанавливается на любом автомобиле с напряжением бортовой сети 12В. Основные функции: 1.остаток топлива в баке в литрах. 2.напряжение бортовой сети. 3.рабочую температуру двигателя. 4.температуру воздуха снаружи машины. 5.изменение яркости дисплея в зависимости от включенного габаритного освещения (день/ночь). Дополнительно, компьютер обладает следующими сервисными возможностями: 1.калибровка штатного датчика уровня топлива. 2.установка уровня подсветки дисплея для режимов день/ночь. 3.изменение поправочного коэффициента инерционности показаний уровня топлива. Все калибровки прибора производятся программно. Для измерения температуры необходима установка собственных датчиков dallas ds18b20. В основе устройства лежит микроконтроллер AVR ATMega8 производства фирмы ATMEL. Для измерения напряжения бортовой сети предусмотрен отдельный контакт, который можно подключить непосредственно к аккумулятору или замку зажигания. В качестве индикатора был выбран алфавитно-цифровой ЖК индикатор фирмы МЭЛТ МТ-16S2H, который с успехом можно заменить на любой другой, совместимый с HD44780. Статья на сайте: Бортовой миникомпьютер В архиве схема, фьюзы для прошивания, файлы lcd.hex и lcd.epp, описание работы с менюшками. avr_lcd.rar
  12. Продаю свои запасы разных МК список будет (позже). Есть STM8, STM32(F1,F2, F3, F4, F7), ADUC, ADUCM, SiLabs (EFM8, EFM32, 8051F), LPC, AVR. Цены будут ниже чем в магазинах. Если что в ЛС пишите посмотрю. Только Украина.
  13. Добрый день, уважаемые форумчане! Столкнулся с тривиальной проблемой, которую не могу решить. Достав из закромов USBASP, решил поставить дрова на комп и протестировать его на своей Atmega16 - зашить простую мигалку. То есть на нулевой пин порта "А" повесил светодиод и заставил в цикле подавать 1 - задержка - 0. Проще программы не бывает наверное. Код ниже (ассемблер): .include "m16def.inc" .def temp = r16 .org 0 rjmp reset Reset: // порт на вывод ldi temp,255 out ddra,temp out porta,temp start: //цикл мигалки clr temp out porta,temp rcall del ser temp out porta,temp rcall del rjmp start del: //стандартная задержка ldi r17,255 ldi r18,255 ldi r19,10 del2: dec r17 brne del2 dec r18 brne del2 dec r19 brne del2 ret Очевидно, что в коде ошибки нет. Протестировано в протеусе) Но после прошивки МК, на нужной ноге не происходит смена состояний. То есть светодиод загорается и не мигает - просто горит. Поменял порты - тоже самое. С фьюзами вроде тоже все нормально - скрины прилагаю. Шил и хазамой, и дудкой. Использовал USBASP. Сигнатура читается , фьюзы меняются - все хорошо. Менял чип на аналогичный - все тоже самое. Схема соединения - думаю не стоит выкладывать)) Короче, я в тупике. Настолько дурацкая проблема, что я даже не знаю что думать. Может проблема в том, что в я не отсоединяю МК от USBASP ( MOSI, MISO, SCK, RESET) ?
  14. Avatoro

    Atmega и Proteus

    Всем привет. В общем есть простая мигалка по переполнению нулевого таймера. ATmega328. В АВР студии все прекрасно работает, в протеусе-0 реакции. Либо протеус тупит, либо я не настроил в нем что-то, так как собрал в железе и прошил - все работает замечательно. Файлы исходника, прошивки и протеуса прилагаю. P_5.asm P_5.hex Timer.pdsprj
  15. Всем Привет. Прошу не кидаться тапками за название темы, понимаю, что уже много опубликовано материалов по этому вопросу, однако все кроется в нюансах. Итак, к проблеме. Выполняю курсовую работу. Опыта в программировании минимум. Имеется схема с МК ATmega8 и дисплеем LM044 на контроллере HD44780. При попытке вывести инфу на дисплей столкнулся с этими двумя рядами прямоугольников (к слову, дисплей 20х4). Поначалу думал, что оторвались провода, которые соединяют дисплей с МК. Нет, все прозваниваются. Кстати, схема вся была спаяна преподавателем и раньше дисплей уже выводил инфу, но когда начал я ее прошил своей прогой, появилось, то что на фотке. Потом пошли мысли, что неправильно настроил выводы в CodeVision AVR, в котором работаю. Исходя из даташита МК и того, куда припаяны провода в схеме, настроил порты таким образом: Думал, что теперь будет все норм, прошил снова - ничего. Начал уже бесится, изучил десятки страниц (уже не первый день работаю над схемой, думал все-таки смогу сделать сам, ан нет) Решил начать с простого. Нашел в инете самый простой код по выводу инфы Сделал стандартный проект в CodeVision AVR, вставил туда этот код, настроил настроил выводы на свои. Прошил в Протеусе МК и вуаля - в Протеусе инфа выводится! На радостях решил, что теперь-то все получится - опять нет! Прошивал МК через AVRDUDE PROG 3.0 через USBasp Ребят, у меня к вам такие вопросы: 1. Что может быть не так с дисплеем? 2. Нужно ли как-то настраивать порты МК? Потому что я нигде не видел, чтобы хоть где-то пытались настроить порты МК при выводе инфы на экран. Даже в том коде, что я выложил. Прошу вас, высказывайте любые идеи и мысли, ибо я реально хочу понять программирование и выяснить в чем же проблема. Спасибо!
  16. В поисках схемы управления малогабаритным двигателем типа ДПМ, пришел к выводу о необходимости создания своей модификации. Принцип такого устройства везде один - при превышении потребляемого тока под нагрузкой на двигатель подается полное напряжение, при снятии нагрузки - напряжение уменьшается до минимально необходимого. Найденные в инете схемы были аналоговые и не позволяли достаточно дискретно установить необходимый ток срабатывания. Ниже предлагается простая схема и программа для микроконтроллера ATMega8, позволяющая подключить любой двигатель и настроить его, исходя непосредственно из его электрических параметров. А также настроить чувствительность к степени нажатия сверлом на плату. При включении двигатель (Д) находится в режиме холостого хода - iR<i1. Микроконтроллер (МК) отслеживает превышение рабочего тока iR над заданным i1, что будет означать подачу нагрузки на вал Д. При превышении iR>i1 МК переходит в режим отслеживания тока iR<i2, который задает порог возвращения в режим холостого хода, а также подает почти полное напряжение питания на Д. Также активируется режим отслеживания заклинивания вала Д - iR>i3. В этом случае подача напряжения на Д прекращается. Сброс осуществляется аппаратным сбросом МК. Настройка i1,i2,i3 осуществляется энкодером поочередно. Выбранные значения запоминаются в ппзу. Индикация производится с помощью трехразрядного семисегментного индикатора. Принципиальная схема устройства. За основу был взят классический блок питания. В цепь задающего стабилитрона включен транзистор VT1. В режиме холостого хода он открыт, благодаря чему напряжение на Д определяется напряжением стабилизации стабилитрона VD3. При увеличении нагрузки выход МК OUT1 переводится в логический ноль. Транзистор VT1 закрывается, на Д подается почти полное напряжение питания. При заклинивании вала на выходе OUT2 появляется логическая единица, транзистор VT2 открывается и замыкает базу VT3 на корпус. Регулирующий транзистор VT4 закрывается. Программирование необходимых значений i1, i2, i3 осуществляется поочередно в режиме настройки, для перехода в который надо нажать кнопку КN2. Подсказкой для индикации выбранного тока служит количество светящихся точек. Запоминание в ппзу происходит при выходе из режима настройки. Индикация текущего тока и программируемых значений происходит с помощью светодиодного индикатора. При заклинивании вала индикатор показывает три тире. Для сброса надо нажать кнопку КN1. Съем значения потребляемого тока происходит с резистора 1 Ом, включенного последовательно с Д. В этом и заключается особенность схемы. Приведенный узел управления Д не является обязательным и может быть заменен любым другим. Обязательно лишь наличие токоизмерительного резистора 1 Ом, включенного в минусовую цепь питания Д. Питание МК производится через стабилизатор 7805 и ограничивающие резисторы. Сам стабилизатор 7805 и выходной транзистор КТ805 необходимо установить на небольшие радиаторы. Программа написана на ассемблере. Обработка дребезга контактов кнопок и энкодера программная, не требующая дополнительных конденсаторов в схеме. Поскольку задача достичь абсолютной точности устанавливаемых значений токов не ставилась, то для упрощения программы математическая обработка была также упрощена и дробная часть не учитывалась. Вследствие чего из-за двойной обработки записываемое в ппзу значение иногда будет меньше индицируемого на единицу. По большому счету, это не доставляет никаких проблем, просто надо иметь в виду этот момент. На случай сбоя в ппзу при включении МК проверяет контрольный байт. Если он совпадает, то считываются записанные ранее значения. Если нет - записываются исходные значения (что происходит при первом включении) - 200мА, 100мА, 800мА. Энкодер на плату не устанавливается и подключается отдельно. Ограничительный резистор перед стабилизатором 7805 составлен из четырех резисторов МЛТ-0.5 75 Ом. В программе используются значения токоизмерительного резистора 1 Ом и напряжение на AREF 2 В. Если они будут отличны - фактическое значение устанавливаемого тока будет также другим. Но опять-таки, по большому счету в данной схеме бОльшую важность имеют не абсолютные значения тока, а относительные. Всё равно придется подбирать токи при настройке под конкретный двигатель. Максимальный измеряемый ток через Ri равен 2 А. Это значение может быть установлено для каждого из i1, i2, i3. Таким образом, возможности регулирования достаточно широкие под практически любой малогабаритный двигатель. В процессе испытаний резисторы на сегменты индикатора (8 шт) были увеличены с 510 Ом до 1к. Яркость осталась достаточная, ток потребления МК и индикатора уменьшился с 70 до 50 мА. Транзисторы VT1...VT3 были использованы из имеющихся в наличии, можно заменить на любые с напряжением коллектор-эмиттер не менее 50 В. Кварцевый резонатор - 16.000 МГц. Индикатор - E30561-L-O-0-W с общим катодом. Фьюзы для МК - запрограммированы SPIEN и CKOPT. К примеру, для моего ДПМ-30-Н1-04 i1=120mA, i2=95mA, i3=700mA. Возможный вариант печатной платы в формате lay6 и прошивка в архиве. dpm.RAR
  17. Здравствуйте, на днях собрал ubs-usart на attiny2313 на макетной плате, всё работало. Припаял к плате - не работает. В диспетчере задач показывается, как Неизвестное устройство. В чём может быть проблема, контакты проверил тестером в режиме прозвонки, вроде не коротит ничего.
  18. Код с помощью которого двигатель вращается в одном направлений по часовой стрелке. А нужно "составить программу на языке ассемблера для реверсивного управления электродвигателем постоянного тока". так написано в заданий Но я думаю можно новую не писать, а можно изменить эту так что бы двигатель вращался в одну сторону и потом в другую, наверно так. Помогите, а то я вообще не понимаю этот ассемблер(( ;* На выходе OC1A МК АТmega16 получаем выходные импульсы ;* с частотой 50 Гц и коэффициентом заполнения g=0,025. ;* Тактовая частота MK AVR: 4 МГц .nolist .include"m16def.inc" .list .def STAT = r15 ;Регистр для хранения состояния главной программы .def WorkH = r16 ;Рабочий регистр для главной программы .def WorkI = r17 ;Рабочий регистр для прерывания от таймера .def AddLo = r18 ;Вспомогательный регистр для прибавления константы .equ Impuls = 9000 ;Число тактовых сигналов, соответствующее импултсу .equ Pause = 1000 ;Число тактовых сигналов, соответствующее паузе Reset: rjmp Initial ;Переход к части инициализации reti ;Внешнее прерывание 0 (не используется) reti ;Внешнее прерывание 1 (не используется) reti ;Прерывание по захвату (не используется) Timer1CompA: ;Прерывание CompareA для ATmega16 in STAT,SREG ;Сохраняем флаги главной программы in WorkI,TCCR1A ;Регистр управления А счетчика Т/С1 sbrs WorkI,COM1A0 ;Пропускаем следующую команду, если COM1A0 = 1 rjmp TC1 ;Пропускаем следующую команду, если COM1A0 = 0 cbr WorkI,1<<COM1A0 ;При следующем прерывании OC1A -> 1 out TCCR1A,WorkI ;Сохраняем новое значение in AddLo,OCR1AL ;Младший байт OCR1A subi AddLo,Low(-Impuls) ;Прибавляем младший байт значения импульса in WorkI,OCR1AH ;Старший байт OCR1A sbci WorkI,High(-Impuls) ;Прибавляем старший байт значения импульса rjmp IntEnde TC1: sbr WorkI,1<<COM1A0 ;При следующем прерывании OC1A -> 1 out TCCR1A,WorkI ;Сохраняем новое значение in AddLo,OCR1AL ;Младший байт OCR1A subi AddLo,Low(-Pause) ;Прибавляем младший байт значения длительности импульса in WorkI,OCR1AH ;Старший байт OCR1A sbci WorkI,High(-Impuls) ;Прибавляем старший байт значения длительности импульса IntEnde: out OCR1AH,WorkI ;Назад - старший байт нового значения out OCR1AL,AddLo ;Назад - младший байт нового значения out SREG,STAT ;Восстанавливаем старые флаги reti ;Выход из обработки прерывания CompareA Initial: ;Инициализация регистра ввода/вывода ldi WorkH,High(RamEnd) out sph,WorkH ldi WorkH,Low(RamEnd) out spl,WorkH ;Инициализируем стек clr WorkH ;Все разряды = 0 out PortD,WorkH ;Вывод в порт D ldi WorkH,$20 ;Разряд 5 - в 1, остальные - в 0 out DDRD,WorkH ;OC1A (PD5) - выход, остальные входы ldi WorkH,High(Pause) ;Старший байт значения паузы out OCR1AH,WorkH ;в старший байт регистра сравнения А ldi WorkH,Low(Pause) ;Младший байт значения паузы out OCR1AL,WorkH ;в младший байт регистра сравнения А ldi WorkH,$C0 ;OC1A -> 1 out TCCR1A,WorkH ;Сохраняем новое значение ldi WorkH,$02 ;Входной такт Т/С1 = такт сист. синхр./8 out TCCR1B,WorkH ;Запускаем Т/С1 ldi WorkH,$40 out TIMSK,WorkH ;Разрешаем прерывание CompareA sei ;Общее разряшение прерываний (разряд I) Haupt: rjmp Haupt ;Главная часть программы: ожидаем возникновения прерывания Программа работает двигатель крутиться по часовой стрелке, Препод сказал что на один вход мы сигнал подали теперь нужно его сохранить и подать на другой, на фотках схема подключения и установка В методичке это 4 лаба, там программа не та но теория та что и вновой методичке lab_rab_MK_AVR.pdf
  19. Добрый день (вечер)! Уже практически целый день голову ломаю, что же это может быть... Итак, в чем проблема. Имеется некий проект на ATmega8, компилятор - WinAVR, среда - встроенный в протеус редактор кода. Все бы хорошо, но вот незадача, при компилировании и запуске в отладчике отображается черт знает что. Пример: Строки 147, 153 и т.д. не должны иметь адресов, но они есть. А вот строки 143, 150 и т.д. наоборот. И это при выключенной оптимизации... Никто не сталкивался с таким? Весь проект очень не хочется заново делать, но чувствую по-другому этот странный баг не одолеть. Так как остальные проекты открываются и редактируются нормально. Пробовал и менять версии протеуса, машины, оптимизацию. Результат 0.
  20. Atmel Studio 7. Здравствуйте. Занимаюсь в свободное время небольшим проектом. Пару дней был перерыв, всё работало. Сегодня делаю ребилд, вот Output: ------ Rebuild All started: Project: RF, Configuration: Debug AVR ------ Build started. Project "RF.cproj" (Clean target(s)): Target "Clean" in file "D:\Circuits\AtmelStudio\7.0\Vs\Compiler.targets" from project "D:\Circuits\AvrProjects\RadioNanny\RF\RF.cproj" (entry point): Task "RunCompilerTask" Shell Utils Path D:\Circuits\AtmelStudio\7.0\shellUtils D:\Circuits\AtmelStudio\7.0\shellUtils\make.exe clean rm -rf library.o rm -rf library.d rm -rf "libRF.elf" "libRF.a" "libRF.hex" "libRF.lss" "libRF.eep" "libRF.map" "libRF.srec" "libRF.usersignatures" Done executing task "RunCompilerTask". Done building target "Clean" in project "RF.cproj". Done building project "RF.cproj". Build succeeded. ------ Rebuild All started: Project: RF, Configuration: Debug AVR ------ Build started. Project "RF.cproj" (default targets): Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!=''). Target "CoreBuild" in file "D:\Circuits\AtmelStudio\7.0\Vs\Compiler.targets" from project "D:\Circuits\AvrProjects\RadioNanny\RF\RF.cproj" (target "Build" depends on it): Task "RunCompilerTask" Shell Utils Path D:\Circuits\AtmelStudio\7.0\shellUtils D:\Circuits\AtmelStudio\7.0\shellUtils\make.exe all --jobs 2 --output-sync D:\Circuits\AvrProjects\RadioNanny\RF\Release\Makefile(79,1): error: recipe for target 'library.o' failed make: *** [library.o] Error 1 Done executing task "RunCompilerTask" -- FAILED. Done building target "CoreBuild" in project "RF.cproj" -- FAILED. Done building project "RF.cproj" -- FAILED. Build FAILED. ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== В ошибках: Severity Code Description Project File Line Error recipe for target 'library.o' failed RF D:\Circuits\AvrProjects\RadioNanny\RF\Release\Makefile 79 Что находится в Makefile строка 78-82: 78: ./%.o: .././%.c 79: @echo Building file: $< 80: @echo Invoking: AVR/GNU C Compiler : 5.4.0 81: $(QUOTE)D:\Circuits\AtmelStudio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DNDEBUG -I"D:\Circuits\AtmelStudio\7.0\Packs\atmel\ATtiny_DFP\1.2.118\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny13 -B "D:\Circuits\AtmelStudio\7.0\Packs\atmel\ATtiny_DFP\1.2.118\gcc\dev\attiny13" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 82: @echo Finished building: $< Перестало билдиться именно при ребилде. Если откатить изменения, и сделать просто билд - всё работает. Запускаю студию от администратора, т.е. с правами проблем нет. Да и по логике, если хватает прав удалить при clean файлы, то должно хватать и на создание. Вообще, мне не совсем понятна фраза recipe for target 'library.o' failed.
  21. Здравствуйте. Думаю кто-то сталкивался с таким. Пишу прошивку для двух контроллеров, которые будут общаться через RF модуль. Для них нужны некоторые общие настройки, например частота, время задержки при определенных действиях, и тд. Задавать в каждом проекте в коде - противоречит принципу DRY, да и вообще... Сделал два проекта, для передатчика и приемника. И сделал проект static library для общих настроек, назвал Common. Добавил референсы на статическую библиотеку. Определяю в common: unsigned char KEY = 0b10010110; Пытаюсь использовать в проекте передатчика: send(KEY); При ребилде получаю ошибку, что KEY не определена.
  22. Привет. Вот, озадачился такой, на первый взгляд, простой ерундой. Как подключить 24 релюшки к одному микроконтроллеру. Да еще и ножки микросхемы сэкономить. Конечно же 74hc595!!! Да не тут то было. Если с двумя регистрами проблем никаких не возникало, то с тремя, что то пошло не так. Пишу в AtmelStudio на Си. Макро #define DS_PORT PORTD #define DS_PIN 3 #define ST_CP_PORT PORTD #define ST_CP_PIN 4 #define SH_CP_PORT PORTA #define SH_CP_PIN 4 #define DS_low() DS_PORT&=~ (1 << DS_PIN) #define DS_high() DS_PORT|= (1 << DS_PIN) #define ST_CP_low() ST_CP_PORT&=~ (1 << ST_CP_PIN) #define ST_CP_high() ST_CP_PORT|= (1 << ST_CP_PIN) #define SH_CP_low() SH_CP_PORT&=~ (1 << SH_CP_PIN) #define SH_CP_high() SH_CP_PORT|= (1 << SH_CP_PIN) А это функция вывода числа через три последовательно подключенных регистра void output_led_state(unsigned long int __led_state) { SH_CP_low(); ST_CP_low(); for (long int i=0;i<24;i++) { if (((1 << i) & __led_state) == (1 << i)) DS_high(); else DS_low(); SH_CP_high(); SH_CP_low(); } ST_CP_high(); } А тут, в майне, я передаю число. output_led_state(0b000000010000000000000000); Но выводится только 16 бит а не 24!!!!!! Вопрос, что я делаю не так??? В архиве схема и прошивка. proyeck.rar
  23. Добрый вечер уважаемые! Помогите советом .. Как лучше всего реализовать генератор . Исходные данные такие : Есть выделенный 10 битный параллельный порт при помощи ножек ввода . Он принимает значения от 0 до 1000 , выводит эти данные основной микроконтроллер тоже через параллельный порт . Нужно исходя из этого генерировать частоту от 1000Гц до 5000Гц с шагом 4-5Гц . Пробую программно генерить - не получается , вернее получается очень коряво . Если подстроил нижнюю границу точно , к примеру 1000Гц , то верхняя плывет и наоборот , если верхнюю подстроил то нижняя плывет . Допускается на больших частотах (свыше 4000Гц шаг 20Гц ) но как синхронизировать показания дисплея с генератором ? Есть вариант применить таблицу но это очень муторно ... Частота кварца мк который генерит частоту 16МГц. Посоветуйте какую частоту кварца лучше выбрать и каким методом генерить частоту ? Еще одна особенность : надо формировать импульс длительностью 10мкс , а вот чтобы период был к примеру при 1000Гц = 990мкс. и т.д. Есть хитрости у таймера Attiny2313A при помощи которых можно аппаратно сформировать частоту? С уважением Артем.
  24. Здравствуйте, форумчане! Подскажите пожалуйста как расставить биты конфигурации при прошивке контроллера в этом проекте http://cxem.net/sound/light/light19.php. Кто собирал данную схему? У кого заработало? Если можно, то скиньте рабочую прошивку и фото расставленных битов.
  25. Требуется помощь в реализации некого микроконтроллера+ написания кода прошивки на с++. Контроллер будет работать на ATMEGA128A Требуется принципиальная схема некоторой части функционала, а именно: 1. Управление LED лентой суммарный ток потребление ленты 7А, напряжение питания -12в. Нужно подобрать mosfet(N-канал) и обвзяку, привести пример кода для управление ШИМ. Находил тут примеры контроллеров для управление лентой, но у меня почему-то шим больше 5В не получился. 2. Управление 16 двигателями 12В(0.15А каждый ), управление через ШИМ. Но не отдельно для каждого двигателя, а по 8. Т.е. 1 шим-канал на 8 двигателей. Я так понимаю что для этого можно будет использовать 1 шим контроллера+ сдвиговый регистр на 8 портов. Двигатели одновременно не будут работать. Будут подключаться по-очереди. Тоже нужен подбор компонентов, схема подключения, пример кода на си++ 3. Аналоговое чтение, 16 каналов принципиальная схема подключения(я так понимаю что там только токоорграничивающий резистр и конденсатор к земле)+ пример кода для чтения из канала(аналог функции analogRead() в ардуино) 4. Схема обвязки микроконтроллера не нужна- она типовая, есть у меня. отвечу на вопросы. Напишите кто готов сделать, сроки и цену.
×
×
  • Создать...