Jump to content

Search the Community

Showing results for tags 'atmega'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

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 81 results

  1. Здравствуйте. Хочу сделать свою клавиатуру на микроконтроллере Atmel (например, ATmega8). Знаю несколько видов схем: матричная клавиатура и резистивная. Реализация матричной клавиатуры требует использования большого количества ног на микроконтроллере . Реализация резистивной (в зависимости от напряжения, АЦП определяет какая нажата кнопка) не позволит зажимать сразу несколько клавиш. На форумах "клаводелов" нашел интересную плату (satan gh60), на основе которой собирают клавиатуру. Она работает на atmega32u4, на плате распаяно множество резисторов. Несколько нажатий поддерживает. Если кто-то поделится мыслями как она работает, буду очень благодарен, т.к. самому мозгов не хватает Об использовании специализированных МК прошу не упоминать, интересно сделать на ATmega.
  2. Добрый день! От товарища поступила просьба собрать на ардуино (либо изготовить плату на avr) детектор короткого замыкания. Есть у него на производстве ряд БП 12в 2квт и десяток потребителей на каждом, таких блоков порядка сотни, и поступила "хотелка" навесить на каждый БП ардуину (питание будет отдельное независимое) которая будет посылать по wifi уведомление когда будет возникать КЗ в блоке/потребителе (важна возможность определения именно КЗ). Опыта нет, первое что пришло в голову это: 1) мониторить потерю напряжения 12в на БП (при КЗ блок уходит в защиту) 2) при потере напряжения 12в подавать напряжение 3.3в от питания МК с управлением через ключ от ножки МК на "+" питания БП и переход на пп.3 3) ноль от БП подключить к АЦП МК и замерять: если 0в то все норм и КЗ нет (поломка блока без КЗ либо отключение от сети 220в), если на АЦП будет 3.3в то имеем КЗ и отправляем уведомление. Т.к. опыта схемотехники почти нет, прошу помощи по схеме в даже в мелочах
  3. FUSEBit Doctor – устройство, которое возвращает к «жизни» микроконтроллеры с неправильно установленными фьюзами (например, неверно выбран задающий генератор – CKSEL, запрещено последовательное программирование – SPIEN, использование ножки сброса в качестве линии ввода-вывода RSTDISBL, LOCK-биты и другие подобные, которые могут помешать последовательному программированию микроконтроллера). Пользоваться достаточно просто: подключил 12 В, в панельку (или через переходник) вставил «мертвый» микроконтроллер, жмешь на кнопку «START» и через пару секунд получаем результат – «живой» микроконтроллер. Продаю: 1. Набор плат (плата FUSEBit Doctor + 4 платы переходника). Стоимость – 250 руб. + почта 2. Набор плат + набор компонентов для сборки. Стоимость – 650 руб. + почта 3. Собранное и готовое к использованию устройство. Стоимость – 1000 руб. + почта
  4. Взял с места практики отладочную плату с атмегой 32-й, дома понял (возможно), что микроконтроллер заблокирован. Пытался шить через USBASP при помощи AVRDUDE, однако ошибка: avrdude.exe: error: programm enable: target doesn't answer. 1 avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. В правильности и надежности подключения полностью уверен, проверил каждый контакт и каждый элемент на всей плате тестером. Кстати, вот она: У меня точно такая же, только с Atmega32A. Попробовал поставить на нее дрова, но теперь она определяется вот так: Неизвестное USB-устройство (сбой дескриптора устройства). Из этой статьи по решению данной проблемы выполнил все указания, однако ничего не сработало. Тут я подумал на отключенный rst выход, так как был опыт из-за путаницы с обратными и прямыми фьюзами на Attiny13A. Тогда быстренько все исправил высоковольнтным программатором из этой статьи, вот и подумал сделать здесь подобное. Немного (чуть больше) полазив в интернете нашел вот такую схему на arduino. Все есть, чтобы ее сделать, только сперва понять бы, можно или нет без выпаивания это делать. И еще понять бы, в этом ли настоящая проблема? Или может я что-то не то надумал? Надеюсь на вашу помощь
  5. Цена 650р. Продаётся Плата в Сборе с Прошитым Микроконтроллером. ОПИСАНИЕ. Это устройство запитывается от любого источника питания 5 вольт, например, USB порт ПК или ноутбука, зарядка для телефона и т. п..., и не нуждается в подключении к источнику 12 вольт, в отличии от других прототипов. Предназначено для восстановления "убитых" микроконтроллеров AVR ATmega и ATtiny путем записи в них корректных значений бит фьюзов. Atmega Fusebit Doctor исправит Ваши брикнутые микроконтроллеры за доли секунды. Поддерживаемые контроллеры:
  6. Всем привет! Подскажите, пожалуйста, как правильно считать данные с внешней eeprom по шине spi, в данном случае 25LC256. Написал код ссылаясь на даташит. Собрал схему в протеусе, подключил spi отладчик и вот что получил в итоге. Так же не могу проверить получается записать данные в память или нет. Весь код прикрепил. main.c
  7. Знающие люди, пожалуйста, подскажите в чем проблема. Вот код в AVR Studio while(1){ /* It's also possible to control a single or a set of pins on a port. * * Setting pin PD0 high in order to turn off LED0. */ PORTD |= (1 << 0)|(1 << 1)|(1 << 2)|(1 << 3)|(1 << 4)|(1 << 5)|(1 << 6)|(1 << 7); // Setting pin PD1 low in order to turn on LED1. PORTD &= ~((1 << 0)|(1 << 1)|(1 << 2)|(1 << 3)|(1 << 4)|(1 << 5)|(1 << 6)|(1 << 7)); } Устанавливаю 2 брекпоинта на командах, дабы просмотреть что будет в симуляторе на порту. Первая команда спокойно выставляет все биты порта D в лог. 1, а вторая ни в какую не хочет их сбрасывать в лог.0. При этом переход по циклу не происходит (будто бы зависает на последней команде), сколько F5 не нажимай.
  8. Здравствуйте. Делаю бегущую строку на AVR и драйверах max7219 по этой статье. Исходный код есть в конце статьи. Хотел бы доработать устройство чтобы можно было передавать сообщение через Bluetooth модуль HC-05 при помощи Bluetooth terminal. Сам знаю как это можно сделать, т.к. все примеры находил только под Arduino. Прошу помочь кто знает как это можно реализовать
  9. Всем привет. Хочу сделать светодиодную матрица с драйвером max7219 на Atmega324P. При попытке смоделировать в Proteus вылазят ошибки: Собирал вроде всё правильно, текст в EEPROM загружен, но на матрицах выводится непонятно что и на всех одно и тоже. Может я что-то напутал, когда собирал(( Подскажите пожалуйста кто знает)) Проект со схемой Proteus и прошивку прикрепляю. И просто схема: Строка c MAX7219.rar
  10. Всех приветствую! Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
  11. Всем доброго времени суток. Развел платки - коммутаторы на основные МК. Платы коммутационные для HV PROG (параллельного программирования). Питание 5в оставил для перемычки (видно на фото). Комплект из 3-х плат ATMEGA 8, 16, 32, 48(P), 88, 164P, 168, 324P, 664P, 1284P, 8535, ATTINY 48, 2313. https://radikal.ru/fp/4f4203a9b1d54f9fbb92318c2234e576 Имею 5 комплектов. Цена 450 за все 3 платки ("лист" на этой фотографии) Имею 5 комплектов. https://radikal.ru/fp/73ce63f7f99b4f7d9b744b2563204c1b Платки находится в Самаре, если почтой то +50р почте.
  12. Всем привет! Я пишу код в Atmel studio для вывода текста на дисплей. В определенном случае мне нужно, чтобы при отображении на дисплее определенного текста, который задается функцией GLCD_String(1,"123") и нажатия клавиши, например PB2=0 Запускалась другая функция. Однако, на while(1) { if ((GLCD_String()=GLCD_String(1,"123"))|PB2=0) { ABC(); } } компилятор ругается "Error too few arguments to function 'GLCD_String'". Однако, сама по себе функция GLCD_String() работает, если брать без if. Как устранить эту ошибку?
  13. Прошу помощи у знающих. В наличии программатор tl866cs и atmega328p-PU. Чип шьется вдоль и поперек без проблем. Есть три чипа atmega328p-AU. Установил на адаптер. Попробовал прошить. Ошибка. Чипы новые, от разных продавцов. ID читается, стирание проходит без ошибки, но по результату - безрезультатно((. Фьюзы не шьются. Пробовал через ISP шить, тот же результат. Вопрос. Есть ли различие в алгоритме прошивки AU и PU?
  14. Доброго времени суток! Кто разбирается с Atmega128, ассемблером и кому не жалко времени, пожалуйста помогите. Как можно корректировать скорость падения маятника (он должен постеменно набирать скорость падения и плавно замедляться к верхней точке)... Какие данные нужно менять?! Спасибо! логин маятник 2.zip
  15. Здравствуйте! Пишу программу на C++ для управления LCD (HD44780) по I2C через модуль расширения портов ввода/вывода PCF8574AT. void LCD_I2C::readBF() { transmitByte(0b00001110); //transmits E, RW set to HIGH and RS, set to LOW _delay_ms(5); transmitByte(0b00001010); //transmits E, RS set to LOW and RW set to HIGH _delay_ms(5); initRestart(); transmitAddrRW(0b01111111); //sends PCF8574AT address + SLA+R do { receiveDataAck(); PORTA = storage; } while((storage & (1 << BF)) != 0); //wait until BF is 0 initRestart(); transmitAddrRW(0b01111110); } Метод void transmitByte(uint8_t data) после инициализации состояния "Старт" и отправки адреса устройства + SLA+W отправляет байт данных по TWI с ожиданием бита подтверждения (команды работают верно, проверял по регистру статуса TWI - 0x08, 0x10 и 0x24). Метод void transmitAddrRW(uint8_t address) отправляет соответственно SLA+W/R + адрес устройства (команда работает также верно). Нареканий к работе TWI у меня нет, т.к. недавно с его помощью успешно запустил часы DS1307 с интеграцией LCD. После передачи запроса на чтение флага занятости инициализируется состояние "ПОВСТАРТ", отправляется адрес устройства + SLA+R, далее идет цикл - запрос байта данных (состояние выводов PCF8574AT) с отправкой бита подтверждения uint8_t receiveDataAck() (команды работают также верно, возвращает storage = TWDR) и вывод storage на порт А микроконтроллера (там установлены светодиоды). Чтение регистра данных TWDR после принятия байта данных (receiveDataAck()) дает следующий результат - 0b00000010 - установлен только бит RW микросхемы. Таким образом, флаг занятости BF = DB7 = 7й бит оказывается сразу же сброшенным, происходит мгновенный выход из цикла - контроллер дисплея не успевает скушать информацию, и инициализация не выполняется (неудачную инициализацию определяю по отсутствию курсора). Ожидалось, что флаг занятости будет установлен в единицу и произойдет несколько итераций перед выходом из цикла. При замене метода ожидания сброса флага занятости BF на программную задержку в 250 мс везде, где это требует datasheet - инициализация происходит успешно (появляется курсор, как и должно быть). Вопрос: что можно сделать, чтобы вместо _delay_ms(250) использовать readBF(), т.к. этот путь мне кажется более верным (уж очень не хочется использовать задержку .__.)? Возможно, проблема в микросхеме, которая неверно выдает информацию при чтении? (Имеется вторая микросхема, она вообще не работает:D) З.Ы. На фото виден результат чтения флага BF и Adress Counter - установлен только бит RW. З.Ы.Ы Кому интересно - вот функция main(). Повторюсь - проблема только в методе readBF(): void LCD_I2C::init() { setBitRate(20000); initStart(); transmitAddrRW(0b01111110); //send PCF8574AT address + SLA+W _delay_ms(60); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(20); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(5); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(5); sendInstruction(0b00100000); //function set 4-bit operation readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00100000); //function set 4-bit operation, 2 lines, 5x8 dots sendInstruction(0b10000000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display off, cursor off, blinking off sendInstruction(0b10000000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display clear sendInstruction(0b00010000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //entry mode set increment, display shift off sendInstruction(0b01100000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display on, cursor off, blinking off sendInstruction(0b11100000); readBF();/ }
  16. Всем привет. Сделал устройство с семисегментным индикатором,но понадобилось снимаемые значения еще и на пк выводить. А порт UART'а занят,связь нужна симплексная,т.е. в одну сторону. Можно ли как-то вывести инфу на порт В0?Или проще задействовать реализацию железа,а индикатор перебросить на другие порты?
  17. Прошу помощи, мозг уже кипит.... Итак, по порядку. Для удобства проектирования устройств вытравил переходник с TQFP на DIP, на плате переходника сразу замкнул лини питания (4, 6 и 18) и земли (3, 5 и 21). Atmega48, 88, 168 и 328 в этом переходнике шьется замечательно, а вот Atmega8 (проверил 4 штуки из разных партий) через этот переходник не шьются и не читаются! При этом, прошитый заведомо мк Atmega8 прекрасно работает в этом переходнике! Так-же мк, которые не шьются в этом переходнике - прошиваются без него тем-же программатором (usbasp). Вот что пишет дудка: avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update. avrdude.exe: error: programm enable: target doesn't answer. 1 avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. avrdude.exe done. Thank you. Внимание, вопрос! Почему Atmega8 прошивается при подключении vcc только на 4 пин и gnd только на 21 пин, и не прошивается при полном подключении линий vcc и gnd мк?
  18. Друзья помогите разобраться. Приобрел управляемые диоды WS2812 многим уже известные. Поиски доступных для новичка исходников результатов не дали. Сталкивался с скечами для Ардуино, библиотеками NeoPixel. Во первых не забрался, во-вторых принципиально хочу сообразить всё это на на своей плате на Attiny или Atmege. Сам по себе принци понять логику. Из даташита понятно что диды управляются 24битами, таймаутами и т.п., но никак не соображу как послать биты в контроллер. Только начал разбираться с ШИМом. Думал тут чтото подобное. Помогите новичку с самого простого.
  19. Помогите с проблемой, собрал устройство все работало отлично до подключения пускателя, часто когда он отключается то либо зависает Atmega (при чем порты остаются включенными или отключенными как были в работе, но программа перестает выполняться), либо отваливается датчик температуры, попробовал подключить осциллограф на питание 5 вольт, идет ровная полоса в момент включения и выключения. Что попробовал сделать: подключил заземление накрыл плату фольгой и то же заземлил Все что перечислил не помогло. подключено все следующим образом, выход контроллера -> транзистор -> реле с диодом, после реле идет пускатель на 220 вольт. Что можно попробовать еще? может попробовать снабер поставить на контактор, уже низнаю что предпринять, понятно что идет выброс, но как его победить
  20. Всем привет! Ну, кто тут начинает осваивать AVRки? Тогда вам просто необходимо обезопасить себя от первых неудачных экспериментов с фьюзами. Представляю свою версию Atmega fusebit doctor Есть несколько собранных экземпляров. Небольшая платка в SMD + разноцветный шлейф с подписанными пинами. Также есть адаптеры для подключения контроллеров в DIP и TQFP корпусах. Всё проверено, работает. Цена устройства 800р. Москва, доставка в регионы почтой и транспортными компаниями. Пишите в личку либо на dklab24(гав)gmail.com
  21. подскажите, уважаемые форумчане, заработает ли такая программа? суть её такова: подключаем матричную клавиатуру, 4х3, считываем с неё нажатия кнопок, которые соответствуют цифрам собираем 3-х значное число, которое затем нужно конвертировать из 10-й в 16-ю систему счисления p.s. только начал кодить, поэтому ОЧЕНЬ! прошу: если имеются ошибки, покажите как было и как должно быть, желательно с пояснениями заранее благодарю new.c
  22. Делаю устройство, в составе которого есть спидометр. Мк - Atmega32, работающий на частоте 16МГц. Датчик - перфорированный диск+оптопара, 10 импульсов на оборот. Вопрос к знатокам Bascom: насколько точно измеряет длину импульсов команда Pulsein? Можно ли ей мерить длину импульсов и таким образом считать частоту вращения вала? В данный момент реализовано на таймере1, но он понадобился для другой фичи.
  23. Тестирую код assembler для AtMega8515, правильные значения на PORTC чередуются с какой-то чушью, значения на порт передаются только в 2х местах в коде может ли это быть ошибкой Proteus?
  24. Прошу помочь разобраться в причине странного поведения Atmega8515L суть заключается в следующем: МК принимает по i2c свой slave адрес в следующем такте отвечает ACK и далее должен передать 8 битный код в данном примере (0b10001100), но функция передачи кода иногда запаздывает на случайное число тактов . Кто-нибудь сталкивался с подобным явлением, в чем может быть причина?
  25. Какую минимальную задержку можно поставить в atmega? Есть ли альтернатива функциям типа _delay_us _delay_ms? Как посчитать время нарастания фронта pull-up 10kohm 3.3v?
×
×
  • Create New...