Search the Community
Showing results for tags 'Atmega'.
-
Блок управления распашными воротами (подойдёт и для откатных)
ДядяВован posted a topic in Автоматика
Доброго времени суток! Использую в хозяйстве самодельный блок для распашных ворот. Решил выложить конструкцию, может ещё кому-то пригодится. Почему делал сам? Занимался этим более трёх лет назад. Тогда по вменяемой цене предлагается совсем скудный функционал. Ни тебе режима калитки, ни управления освещением. Что-то получше уже значительно дороже. Вот и решил пойти своим путём и сделать универсальное и многофункциональное устройство, ну и разумеется дешевле готовых аналогов. Коротко о возможностях блока: - подходит для управления как распашными, так и откатными воротами - работает с датчиками безопасности - предусмотрен режим “калитка”, т. е. частичное открытие одной створки - есть возможность подключить дополнительно освещение - дополнительное управление при помощи кодонаборного переключателя Принципиальная схема ниже. Мозгом блока является микроконтроллер ATmega328. Питается схема от источника постоянного напряжения 12 вольт, диод VD9 защищает от подачи питания неправильной полярности. Стабилизатор 7805 обеспечивает 5 В для цифровой части схемы. На регистре сдвига типа 165 выполнено считывание входных сигналов: открыть/закрыть, датчиков безопасности, кнопок набора кода. Каждая из восьми входных цепей защищена ограничителем напряжения на стабилитроне, на схеме условно показаны только два. Всего восемь таких блоков, состоящих из двух резисторов, стабилитрона и помехоподавляющего конденсатора. Регистр сдвига типа 595 служит для управления 7-сегментным индикатором (3 разряда). С помощью этого индикатора и четырех кнопок ( S, R, +, - ) осуществляется настройка блока. Транзистор VT2 управляет сигнальной лампой движения ворот, VT1 управляет лампой “ворота открыты”, если таковая нужна. VT3 для источника звука (пищалки). Обращаю внимание, пищалка нужна без встроенного генератора. Электромоторы приводов и дополнительное освещение коммутируются при помощи реле. На первый взгляд, такая схема включения реле выглядит странно. Но именно так обеспечивается безопасная работа, полностью исключая аварийную ситуацию в виде включения моторов в двух направлениях одновременно: открыть и закрыть. Ноу-хау не моё, подсмотрел это в схеме блока управления CAME. Реле К3 включает и отключает привод-1, реле К4 управляет приводом-2. Обратите внимание, коммутируется как фазный, так и нулевой проводник. В обесточенном состоянии моторы полностью отключены от сети. А вот реле К2 задаёт направление движения, приводы будут работать либо на открытие, либо на закрытие. Если планируете управлять только одним электромотором для откатных ворот, то он подключается как привод-1 и реле К4 можно не устанавливать. Точно также, при помощи эти трёх реле можно управлять моторами 12В постоянного тока, переключая их полярность. Если нужна схема для моторов 12 или 24 вольта, напишите, поищу. В блоке управления не делал радиоканал или какую-либо другую дистанционную связь. Вариантов много, кто-то хочет по WiFi, другой звонком по телефону, кому-то надо подключить всё это к умному дому и т. д. У меня уже были в обиходе пульты ДорХан, поэтому использовал внешний ДорХановский приёмник. Ну и кодонабор имеется, чтобы без пульта. Печатная плата выполнена из одностороннего фольгированного текстолита размером 145 х 90 мм. Да большая, да можно и меньше сделать. Но всё для упрощения изготовления, без SMD, все микросхемы в DIP-корпусах, обычные выводные резисторы и диоды. Не нужно никаких паяльных станций, фенов. Всё можно собрать простым 25Вт паяльником. Себе плату делал по лазерно-утюжной технологии. Но разводка такова, что можно обойтись и маркером для печатных плат. Обратите внимание, до компонентов нужно запаять 8 проволочных перемычек на верхней стороне платы. Микроконтроллер запаивается в последнюю очередь. Перед его установкой тщательно проверяем монтаж, подаём питание на плату и проверяем в норме ли напряжение 5В. При исправных деталях наладка схемы не требуется. Если прошить микроконтроллер до установки на плату, то можно отказаться от разъема для внутрисхемного программирования, а в случае нанесения рисунка проводников маркером и не рисовать дорожки к нему. Файл в формате Sprint Layout приложил. Что куда подключать и как настраивать, подробно описано в инструкции. Собрано всё это хозяйство в корпусе размером 160 x 240 x 91 мм. Слева - блок питания 12 В, 3 А, Справа - приёмник ДорХан. Прошивка контроллера и фьюзы в архиве. Прошить необходимо и память программ (файл gate.hex) и EEPROM (файл gate.eep). Блок управления (схема).pdf Плата.zip Прошивка.zip Инструкция v1.0.pdf- 28 replies
-
6
-
- автоматика
- ворота
-
(and 1 more)
Tagged with:
-
Прикупил тут пару дней назад в платане несколько контроллеров ATMEGA128A, подключил по последовательному интерфейсу к программатору - не работает, оказалось нужно припаять кварц, установлены фьюзы на работу от внешнего кварца. Ничего не пойму, контроллеры в заводской упаковке, в ленте, хотя написано не Microchip, а Atmel, хотя первая уже давно поглотила вторую. Изначально фьюзы вроде как должны установлены на внутренний RC генератор, а не на внешний кварц??? Купил вот здесь: https://www.platan.ru/cgi-bin/qwery.pl/id=671468246 Цена неплохая, но предустановка фьюзов странная.
-
FUSEBit Doctor – устройство, которое возвращает к «жизни» микроконтроллеры с неправильно установленными фьюзами (например, неверно выбран задающий генератор – CKSEL, запрещено последовательное программирование – SPIEN, использование ножки сброса в качестве линии ввода-вывода RSTDISBL, LOCK-биты и другие подобные, которые могут помешать последовательному программированию микроконтроллера). Пользоваться достаточно просто: подключил 12 В, в панельку (или через переходник) вставил «мертвый» микроконтроллер, жмешь на кнопку «START» и через пару секунд получаем результат – «живой» микроконтроллер. Продаю: 1. Набор плат (плата FUSEBit Doctor + 4 платы переходника). Стоимость – 250 руб. + почта 2. Набор плат + набор компонентов для сборки. Стоимость – 650 руб. + почта 3. Собранное и готовое к использованию устройство. Стоимость – 1000 руб. + почта
- 68 replies
-
2
-
- FUSEBit Doctor
- Atmel
- (and 5 more)
-
Здравствуйте! Столкнулся со следующей проблемой: при сборке МД "Шанс" дошел до этапа прошивки МК, в итоге запорол 3 атмеги. Прошивал 3 способами: 1. Через Arduino UNO(As ISP) просто МК 2. Через Arduino UNO(As ISP) МК внутрисхемно(соответственно с обвязкой) 3. Через USB ASP внутрисхемно(с обвязкой соответственно). Вышло так, что в наличии кварца 11.0592 МГц не было, и я временно впаял 12 МГц. Прошил трижды всё правильно(фьюзы , контакты и т.д). После прошивки просто не видит МК (ну и плата не работает без МК.да и Бог с ней, но МК всеравно не могу считать). В чем причина понять не могу. Одно думаю, что это разница между 11.0592 и 12 МГц. Посоветуйте как решить проблему. Коды ошибок после прошивки во всех трёх случаях одинаковые: Sinaprog -invalid device signature Averdude -avrdude: warning: cannot set sck period, please check for usbasp firmware update target don't answer
-
Б/у контролеры холодильной установки: 1) Eliwell 974LX на atmega16A-PU , 3 реле - характеристики на фото.Цена 15 бел.руб. 2) Eliwell IDPlus974 на atmega32A-PU, 3 реле - характеристики на фото.Цена 18 бел.руб. Корпуса без передней панели закрывающей цифровой индикатор, без датчиков температуры! г.Толочин, Витебская обл. Отправка по Беларуси наложенным платежом. Покупатель также оплачивает почтовые расходы.
-
- Поделка
- микроконтроллер
-
(and 1 more)
Tagged with:
-
Доброго времени суток, господа. Никик я не могу прошить атмегу. Всегда выводится такая ошибка: avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. Раньше у меня получалось прошивать ее, но на 16 МГц. Решил, что способен прошить и на 8 МГц. Скачал пару библиотек и.... ничего, выдало ошибку. Первым делом я подумал, что все плохо с проводкой. У меня, кстати, TQFP32 адаптер, но я подумал, что контакт через макетную плату и UNO слишком слаб, поэтому припаял к выводам адаптера провода и вставил их в UNO. Как итог - ничего не поменялось. Менял я и UNO на NANO, переделывал схему (вставлял резистор от RES до VCC и наоборот, вставлял конденсатор между RES и GND у UNO), подключал резонатор на 16 МГц. А ошибка вся таже. Чё делать?
-
Есть проект состоящий из Atmega 8, Uart, и lcd Nokia 5110.Проблема лишь в том что дисплей 5110 очень маленький, так как показания нужно читать с расстояния 3-6 метров. В интернете нашёл 7 дюймовый TFT дисплей но не понимаю как его использовать в моём проекте. В протеус его нет, библиотек для него тоже не нашёл. Если я правильно понял, у этого дисплея есть свой контролер STM32, но как совместить с Atmega 8? Как симулировать в протеус?
-
Цена 700 р. Доставка по России Почтой России от 250 р. до 400 р. зависит от региона. Продаётся Плата в Сборе с Прошитым Микроконтроллером. ОПИСАНИЕ: Это устройство запитывается от любого источника питания 5 вольт, например, USB порт ПК или ноутбука, зарядка для телефона и т. п..., и не нуждается в подключении к источнику 12 вольт, в отличии от других прототипов. Предназначено для восстановления "убитых" микроконтроллеров AVR ATmega и ATtiny путем записи в них корректных значений бит фьюзов. Atmega Fusebit Doctor исправит Ваши брикнутые микроконтроллеры за доли секунды. Поддерживаемые контроллеры:
-
Компания производитель вендинговых автоматов для розлива питьевой воды в поисках инженера-системотехника/инженера электронщика. График 5/2 с 9 до 18, здесь удаленный формат не рассматриваем. Место работы – г. Екатеринбург. Мы ищем специалиста, который будет делать прототипы нового для контроллера, курировать производство, проверять, дорабатывать, перепаивать, а также: Переписывать текущие программы на С++; Создавать программу для Android для конфигурации параметров контроллера через bluetooth. (т.е. предлагать новые, современные идеи и подходы для развития имеющихся контроллеров, которыми вы владеете); Предлагать новые программные продукты, среды разработки. Будет в тренде мира микроэлектроники, китайского контрактного производства. Может предложить совершенно новую реализацию наших текущих задач, чтобы это было лучше и эффективнее. В идеале, нам нужен специалист, который имеет: Опыт программирования микроконтроллеров Atmega, STM32, ESP32; Опыт работы в Altium Designer; Опыт работы в c++ (IAR, QT); Опыт работы с modbus, rs485/232, SPI. Готовы рассматривать специалистов с разным опытом, поэтому пишите, задавайте вопросы. Резюме можно отправить на почту lb@ktekt.ru (да, мы кадровое агентство), позвонить можно по следующему тел. 89068001212 - Любовь.
-
Здравствуйте! Пишу программу на 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();/ }
-
делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
-
Здравствуйте. Хочу сделать свою клавиатуру на микроконтроллере Atmel (например, ATmega8). Знаю несколько видов схем: матричная клавиатура и резистивная. Реализация матричной клавиатуры требует использования большого количества ног на микроконтроллере . Реализация резистивной (в зависимости от напряжения, АЦП определяет какая нажата кнопка) не позволит зажимать сразу несколько клавиш. На форумах "клаводелов" нашел интересную плату (satan gh60), на основе которой собирают клавиатуру. Она работает на atmega32u4, на плате распаяно множество резисторов. Несколько нажатий поддерживает. Если кто-то поделится мыслями как она работает, буду очень благодарен, т.к. самому мозгов не хватает Об использовании специализированных МК прошу не упоминать, интересно сделать на ATmega.
-
Добрый день! От товарища поступила просьба собрать на ардуино (либо изготовить плату на avr) детектор короткого замыкания. Есть у него на производстве ряд БП 12в 2квт и десяток потребителей на каждом, таких блоков порядка сотни, и поступила "хотелка" навесить на каждый БП ардуину (питание будет отдельное независимое) которая будет посылать по wifi уведомление когда будет возникать КЗ в блоке/потребителе (важна возможность определения именно КЗ). Опыта нет, первое что пришло в голову это: 1) мониторить потерю напряжения 12в на БП (при КЗ блок уходит в защиту) 2) при потере напряжения 12в подавать напряжение 3.3в от питания МК с управлением через ключ от ножки МК на "+" питания БП и переход на пп.3 3) ноль от БП подключить к АЦП МК и замерять: если 0в то все норм и КЗ нет (поломка блока без КЗ либо отключение от сети 220в), если на АЦП будет 3.3в то имеем КЗ и отправляем уведомление. Т.к. опыта схемотехники почти нет, прошу помощи по схеме в даже в мелочах
- 4 replies
-
-1
-
- короткое замыкание
- avr
-
(and 2 more)
Tagged with:
-
Взял с места практики отладочную плату с атмегой 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. Все есть, чтобы ее сделать, только сперва понять бы, можно или нет без выпаивания это делать. И еще понять бы, в этом ли настоящая проблема? Или может я что-то не то надумал? Надеюсь на вашу помощь
-
Цена 650р. Продаётся Плата в Сборе с Прошитым Микроконтроллером. ОПИСАНИЕ. Это устройство запитывается от любого источника питания 5 вольт, например, USB порт ПК или ноутбука, зарядка для телефона и т. п..., и не нуждается в подключении к источнику 12 вольт, в отличии от других прототипов. Предназначено для восстановления "убитых" микроконтроллеров AVR ATmega и ATtiny путем записи в них корректных значений бит фьюзов. Atmega Fusebit Doctor исправит Ваши брикнутые микроконтроллеры за доли секунды. Поддерживаемые контроллеры:
-
Всем привет! Подскажите, пожалуйста, как правильно считать данные с внешней eeprom по шине spi, в данном случае 25LC256. Написал код ссылаясь на даташит. Собрал схему в протеусе, подключил spi отладчик и вот что получил в итоге. Так же не могу проверить получается записать данные в память или нет. Весь код прикрепил. main.c
-
Знающие люди, пожалуйста, подскажите в чем проблема. Вот код в 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 не нажимай.
-
Здравствуйте. Делаю бегущую строку на AVR и драйверах max7219 по этой статье. Исходный код есть в конце статьи. Хотел бы доработать устройство чтобы можно было передавать сообщение через Bluetooth модуль HC-05 при помощи Bluetooth terminal. Сам знаю как это можно сделать, т.к. все примеры находил только под Arduino. Прошу помочь кто знает как это можно реализовать
-
Всем привет. Хочу сделать светодиодную матрица с драйвером max7219 на Atmega324P. При попытке смоделировать в Proteus вылазят ошибки: Собирал вроде всё правильно, текст в EEPROM загружен, но на матрицах выводится непонятно что и на всех одно и тоже. Может я что-то напутал, когда собирал(( Подскажите пожалуйста кто знает)) Проект со схемой Proteus и прошивку прикрепляю. И просто схема: Строка c MAX7219.rar
-
Всех приветствую! Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
-
Всем доброго времени суток. Развел платки - коммутаторы на основные МК. Платы коммутационные для 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р почте.
-
Всем привет! Я пишу код в 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. Как устранить эту ошибку?
-
Прошу помощи у знающих. В наличии программатор tl866cs и atmega328p-PU. Чип шьется вдоль и поперек без проблем. Есть три чипа atmega328p-AU. Установил на адаптер. Попробовал прошить. Ошибка. Чипы новые, от разных продавцов. ID читается, стирание проходит без ошибки, но по результату - безрезультатно((. Фьюзы не шьются. Пробовал через ISP шить, тот же результат. Вопрос. Есть ли различие в алгоритме прошивки AU и PU?
- 7 replies
-
- atmega
- программирование
-
(and 2 more)
Tagged with:
-
Доброго времени суток! Кто разбирается с Atmega128, ассемблером и кому не жалко времени, пожалуйста помогите. Как можно корректировать скорость падения маятника (он должен постеменно набирать скорость падения и плавно замедляться к верхней точке)... Какие данные нужно менять?! Спасибо! логин маятник 2.zip
- 5 replies
-
- микроконтроллер
- Atmega
- (and 7 more)