Jump to content

Search the Community

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

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Blogs

  • Твори, выдумывай, пробуй.
  • 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 блог
  • Сага о китайском PCB сборщике
  • MEDBEDb's
  • Гнездо кукушки
  • hiMiческий блог
  • luna_kamen's блог
  • Изучаем USI на основе сверхэкономичного прототипа
  • Алекс-Юстасу
  • SUBWOOFER.RU
  • kot sansher's блог
  • Поделки стареющего пионера
  • доброжелатель2's блог
  • Grig96. Полезные заметки.
  • Attiny 0-ой и 1-ой серии (Attiny817, 1614 и прочие)
  • WaveCorp
  • 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
  • afurgon's блог
  • odaplus' блог
  • Zvik's блог
  • BoBka777's блог
  • aleksey9900's блог
  • Нашел статью о пайке проводов к светодиодов
  • Костик0's блог
  • OPeX3's блог
  • Sem2012's блог
  • это не хлам – это часть моей жизни
  • OdiS' блог
  • aleksfil's блог
  • EmmGold's блог; AVR
  • З
  • Блог Плотникова Ильи
  • yureika's блог
  • Для начинающих
  • Fumitox's блог
  • Самоделки блог
  • ульян'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 для мягкой пневматики (страйкбол)
  • ,

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


Интересы


Город


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


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

  1. Иногда возникают вопросы, ради которых создавать отдельную тему не имеет смысла, давайте задавать простые вопросы в этой теме (типа как "Вопросы от начинающих"). Первый вопрос: Чтобы сконфигурировать одно устройство необходимо загрузить в регистр некоторые данные, формат показан на картинке в прикреплении. Что такое MSB и LSB?
  2. larivlad

    MicroC for pic

    Здравствуйте. Пишу и отлаживаю свои программы на MPLAB. Проблем нет. Решил попробовать писать на языке С и установить MicroC for pic и столкнулся со следующей проблемой: открываю проект примера Timer0 Interrupt и запускаю отладку программы. Выбираю регистр Tmr0 для контроля и пошагово прохожу по программе, а изменений в таймере почему-то не происходит, также не происходит и вызова Interrupt. Помогите разобраться почему пример предложенный самим MicroC for pic не работает.
  3. Всем привет). Может, кому-то эта статья сэкономит много времени и нервов. Недавно по работе встретился с интересной задачкой. Нужно было передать на железку по порту RS485 информацию для проверки работоспособности последней. Так как не всегда имеется в ремонте вся система, то для начала нужно было посмотреть, на заведомо исправной системе, что же там между ними (железками) передаётся. Логический анализатор показал что девайсы общаются по не совсем стандартному, а по 9ти битному протоколу (USART 9n1). А это усложняло задачу, так-так известные мне терминальные программы его не поддерживают. И без бубна не обойтись))). Начались поиски решения. Через некоторое время стало понятно, что AVR позволяет это делать и даже в даташите подробно это описывает. Дело за малым. Реализация задуманного))). Все регистры выставлены по документу………..Для Atmega8a. void USART_Init( unsigned int speed) //Инициализация модуля USART { UBRRH = (unsigned char)(speed>>8); UBRRL = (unsigned char)speed; UCSRB=(1<<RXEN)|( 1<<TXEN); //Включаем прием и передачу по USART UCSRB |= (1<<RXCIE); //Разрешаем прерывание при передаче UCSRA |= (1<<U2X); //удвоение скорости UCSRC = (1<<URSEL)|(1<<USBS)|(1<<UCSZ1)|(1<<UCSZ0); UCSRB |= (1<<UCSZ2); // Включаем 9bit режим // Обращаемся именно к регистру UCSRC (URSEL=1) // ассинхронный режим (UMSEL=0), без контроля четности (UPM1=0 и UPM0=0) // 1 стоп-бит (USBS=0), 8-бит посылка (UCSZ1=1 и UCSZ0=1) // если (UCSZ1=1 и UCSZ0=1 и UCSZ2=1) 9bit mode. // UCSRC |= (1<<UPM1);//четность } По даташиту передача 9го бита происходит установкой или сбросом TXB8. То есть, установили бит, передаётся 1 в старшем 9ом разряде, сбросили – 0. void USART_Transmit( unsigned int data ) // функция передачи 9ти бит из даташита. { /* Wait for empty transmit buffer */ while ( !( UCSRA & (1<<UDRE)) ) ; /* Copy ninth bit to TXB8 */ UCSRB &= ~(1<<TXB8); if ( data & 0x0100 ) //не понял, что они хотели этим сделать. UCSRB |= (1<<TXB8); /* Put data into buffer, sends the data */ UDR = data; } И вот незадача, числа размером до 1 байт передаются без проблем, а числа больше 0xFF (255) нет). А устройство передаёт числа до 510. Предлагаю решение. Может и не самое лучшее, но вполне работоспособное. int main(void) { USART_Init (103);//9600 //------------------------------------------------------------------------------------ while(1) { for (i=0; i<22; i++) { code_simbol = simbol[i]; //символ из массива //-------------------------------------отправка в UART-------------------------------- if (code_simbol > 255) { pr=1; // флаг передачи символа больше 0xff (255 десятичное) } else { pr=0; // флаг передачи символа меньше 0xff } USART_Transmit(code_simbol,pr);//собственно сама функция отаравки } } } А теперь и сама функция передачи . void USART_Transmit( unsigned char data, uint8_t prisnak ) //Функция отправки по USART { while ( !(UCSRA & (1<<UDRE)) ); //Ожидание опустошения буфера приема if (prisnak==1) { UCSRB |= (1<<TXB8); //устанавливаем для передачи еденицы в старшем разряде } else { UCSRB &= ~(1<<TXB8); //сбрасываем старший разряд } /* Put data into buffer, sends the data */ UDR = data; //Начало передачи данных asm volatile ("nop"); Соответственно если число для предачи мньше 256 мы передаём его при нулевом 9ом бите. Ну а если больше то 9й бит выставляем в единицу. А вот и результат.
  4. Микроконтроллер с помощью ШИМ 3.3 В управляет напрямую полевиком, до этого схема работала хорошо! Сейчас начались какие-то танцы с бубном. На осциллограмме почему-то плывет задний фронт на транзисторе сток-исток и шумы. На фото осциллограммы при ШИМ 10 и 20%. Стоит задача сделать фронты максимально идеальными и убрать шумы.
  5. Требуется диммировать линию светодиодных светильников. 1. Офисные - по протоколу DALI - управление группой светильников. 2. Уличные - по PLC (X10) - длина линий превышает допустимые значения для DALI Необходимо: - подобрать комплектующие для модуля (общение через Modbus) - проверить работу с контроллером - произвести настройку контроллера
  6. Встретилась мне схема этого LC-метр,прочитал хорошие отзывы про него.Спаял,запустился с первого раза,удивило точное измерение.Кому нужен такой прибор то соберайте,особенно он нужен для настройки IB металлоискателей.В архиве,схема,печатная плата + описание.В приборе можно применить ЖК диспеи 8х2 , 16х1 , 16х2 .К каждому дисплею своя прошивка.Микроконтроллер применяется PIC16F628A. LC-метр.rar
  7. Проявление неисправности: полное молчание, никакой реакции... Нигде ничего об этом пульте нет, хотя... на али экспрессе есть такой пульт, ну и цена тоже есть....
  8. Проблема: нет соединения МК с программатором. Описание: Программатор USBasp 2.0, подключаю к компу, дрова, все отлично распознаётся, горит ярко светодиод на usbasp. -Если выставить 5в. (перемычкой) и подключить МК, вырубает программатор и гаснет светодиод. -Если выставить 3.3в(перемычкой) и подключить МК, программатор работает, светодиод горит тускло, напряжение до МК доходит примерно в 0.5в, Attiny13 он не видит. -Если подключить без МК, светодиод горит ярко, компьютер его видит. Я обчитался кучу тем, форумов, у многих есть похожие проблему,но решение я так и не увидел, сделал множество действий: промыл плату, просмотрел всё ли пропаяно,купил еще один программатор (такой же в другом месте), проверил 10 раз соединение, прозвонил все, провода укоротил (сделал меньше 10см) все напрямую к МК, соплей ужасных нет,попробовал разных чуваков и др.софтов, все тоже самое- ошибка при чтении МК... P.s. это что то похожее на кз! Кз в МК?как проверить ее на работоспособность? Может какими то диодами? Как понять капут ей или нет? Я слаб в этом...создаю новую тему чтобы решить вопрос раз и навсегда! В ближайшее время постараюсь купить камень и рассказать вам результат, а вы подкиньте дельных советов. Взаранее спасибо!если нужны фотки, схемы, я все прикреплю...
  9. Здравствуйте решил сделать на стол посветку ,раскинул провода , запаял ленту , соединил , подключил проверить к контроллеру 1 - работает , всё аккуратной уложил и приклеил , контроллер 1 подключил к потолку (там тоже светодиодная лента ) , а контроллер 2 подключил к столу и он не работает , мерцает , одна полоска даже просто горит белым , вскрыл проверить контроллеры целые , но разные по составу
  10. Здравствуйте, я работаю в Proteus и у меня возникла ошибка Simulation is not running in real time due to excessive CPU load Подскажите пожалуйста как её исправить Код прошивки: #include <lm3s300.h> // Graphic Display functions #include <glcd.h> // Font used for displaying text // on the graphic display #include <font5x7.h> // Declare your global variables here void main(void) { unsigned char odin[] = { 0x08, 0x00, 0x08, 0x00, #ifndef _GLCD_DATA_BYTEY_ 0x00, 0x10, 0x18, 0x14, 0x10, 0x10, 0x7C, 0x00, #else 0x00, 0x00, 0x48, 0x44, 0x7E, 0x40, 0x40, 0x00, #endif }; // Declare your local variables here // Variable used to store graphic display // controller initialization data GLCDINIT_t glcd_init_data; // Crystal Oscillator division factor: 1 #pragma optsize- CLKPR=(1<<CLKPCE); CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0); #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif // Input/Output Ports initialization // Port B initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Port C initialization // Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0); // State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); // Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0A output: Disconnected // OC0B output: Disconnected TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (0<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2A output: Disconnected // OC2B output: Disconnected ASSR=(0<<EXCLK) | (0<<AS2); TCCR2A=(0<<COM2A1) | (0<<COM2A0) | (0<<COM2B1) | (0<<COM2B0) | (0<<WGM21) | (0<<WGM20); TCCR2B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (0<<CS20); TCNT2=0x00; OCR2A=0x00; OCR2B=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); // Timer/Counter 2 Interrupt(s) initialization TIMSK2=(0<<OCIE2B) | (0<<OCIE2A) | (0<<TOIE2); // External Interrupt(s) initialization // INT0: Off // INT1: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-14: Off // Interrupt on any change on pins PCINT16-23: Off EICRA=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); EIMSK=(0<<INT1) | (0<<INT0); PCICR=(0<<PCIE2) | (0<<PCIE1) | (0<<PCIE0); // USART initialization // USART disabled UCSR0B=(0<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (0<<RXEN0) | (0<<TXEN0) | (0<<UCSZ02) | (0<<RXB80) | (0<<TXB80); // 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 DIDR1=(0<<AIN0D) | (0<<AIN1D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); // SPI initialization // SPI disabled SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0); // TWI initialization // TWI disabled TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); // Graphic Display Controller initialization // The KS0108 connections are specified in the // Project|Configure|C Compiler|Libraries|Graphic Display menu: // DB0 - PORTB Bit 0 // DB1 - PORTB Bit 1 // DB2 - PORTB Bit 2 // DB3 - PORTB Bit 3 // DB4 - PORTB Bit 4 // DB5 - PORTB Bit 5 // DB6 - PORTB Bit 6 // DB7 - PORTB Bit 7 // E - PORTC Bit 0 // RD /WR - PORTC Bit 1 // RS - PORTC Bit 2 // /RST - PORTC Bit 3 // /CS1 - PORTC Bit 4 // /CS2 - PORTC Bit 5 // Specify the current font for displaying text glcd_init_data.font=font5x7; // No function is used for reading // image data from external memory glcd_init_data.readxmem=NULL; // No function is used for writing // image data to external memory glcd_init_data.writexmem=NULL; glcd_init(&glcd_init_data); glcd_putimage(0,0, odin, GLCD_PUTCOPY); while (1) { // Place your code here } } Схема прикреплена ниже в архиве Схема.rar
  11. Здравствуйте. Собираю схему на полевом транзисторе для управления светодиодной лентой от микроконтроллера. Схема такая: Источником питания служит блок питания на 12 В. Стабилизатор напряжения L7805. Микроконтроллер Atmel ATMega16A [datasheet: http://www.atmel.com...ges/doc8154.pdf‎]. Полевой транзистор Fairchild FDS9926A [datasheet: http://www.fairchild...FD/FDS9926A.pdf‎]. Светодиодная лента (в схеме как LED ARRAY) обычная китайская на 12 В длиной 1 метр [что-то типа такой: http://platan.ru/cgi...279&group=42666]. Логика работы схемы такая: при высоком логическом сигнале на выходе микроконтроллера полевой транзистор открывается и всетодиодная лента загорается. При низком логическом сигнале на выходе микроконтроллера полевой транзистор закрывается и лента гаснет. Предполагается плавная регулировка яркости свечения ленты при помощи ШИМ частотой 120 Гц и коэфф. заполнения 0,5 - 99,5 %. Проблема в том, что при логическом нуле на выходе микроконтроллера светодиодная лента всё равно горит (слабо, но горит, "тлеет"). Тыкался осциллографом: при открытом полевике (логическая "1" на выходе МК) всё работает как надо. Когда МК устанавливает логический "0", то падение напряжения на полевике всего 5 В (должно быть 12 В), а на ленте 7 В (должно быть 0 В), то есть полевик как-будто не закрывается до конца. Смотрел осциллограцом сигналы управления с МК - всё Ок, когда "1" - на затворе 5 В, когда "0" - на затворе 0 В, то есть с сигналом управления всё в порядке. Что пробовал: 1. Пробовал при логическом нуле МК коротить отвёрткой затвор полевика на землю (выходы G с S) - лента всё равно слабо горела. 2. Заменял резистор (притягивающий затвор к земле) с 10 кОм на 1 кОм - лента всё равно слабо горела. 3. Шунтировал светодиодную ленту обратным диодом (катодом к +12В, анодом к стоку транзистора) - лента всё равно слабо горела. 4. Шунтировал светодиодную ленту резистором 1 кОм - лента перестала гореть, но только при постоянном сигнале. При ШИМ (120 Гц, коэф. заполнения 0,5%) она всё равно горит. 5. Заменил светодиодную ленту на обычный резистор 24 Ом. Полевик стал работать как надо (открывался и закрывался полностью). Осциллограф при ШИМ рисовал идеальный меандр напряжения на резисторе. 6. Пробовал заменить полевой транзистор на аналогичный - лента всё равно горит (то есть дело не в конкретном экземпляре транзистора). 7. Собирал аналогичную схему на биполярных транзисторах (ULN2804A, TIP120) - всё работает как надо. На другой модели полевика не пробовал. В принципе, можно установить биполярный транзистор и не париться, но меня интересует работа именно этой схемы с полевым транзистором. Товарищи, сталкивался ли кто-нибудь с подобным, кто может что-то посоветовать?
  12. Для людей которые интересуются темой микроконтроллеров, но не знают с чего начать. Объясню с чего начать, отвечу на интересующие вопросы, бесплатно. От вас нужно сильное желание разобраться в теме. Кому интересно постите сюда. Успевайте, возьму только несколько человек.
  13. Сайт Паяльник открывает обучающий видеокурс по 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
  14. Б/у контролеры холодильной установки: 1) Eliwell 974LX на atmega16A-PU , 3 реле - характеристики на фото.Цена 15 бел.руб. 2) Eliwell IDPlus974 на atmega32A-PU, 3 реле - характеристики на фото.Цена 18 бел.руб. Корпуса без передней панели закрывающей цифровой индикатор, без датчиков температуры! г.Толочин, Витебская обл. Отправка по Беларуси наложенным платежом. Покупатель также оплачивает почтовые расходы.
  15. Уже весь интернет прошерстить, помогите найти, или где он приставует, чтоб его достать нужен очень срочно, или может у кого то есть куплю!
  16. Нужен специалист, ориентирующийся в MotionLab3 для настройки серводрайвера EVEREST XCR ETHERCAT SERVO DRIVE (EVE-XCR-E) от компании INGENIA для привода отечественного BLDC (0,7 кВт). Энкодер магнитный от компании RLS. Мануал с описанием MotionLab3 можно скачать здесь https://doc.ingeniamc.com/mot3/documentation/motionlab3-user-manual, сам пакет здесь https://doc.ingeniamc.com/mot3/downloads . BLDC сидит на оси линейного перемещения и должен вращаться влево-вправо. Никаких особых хитростей в движении мотора нет.
  17. Добрый день! Никак не могу найти резистор R97 на плате бумбокса. Можете определить на фото, либо как-нибудь объяснить мне, где он... Вот фотка основной платы,и платы зарядки. (На основной плате обозначен контролер заряда,если что)
  18. Сгорел контроллер питания в колонке, батарейка 7.4 вольта. Помогите подобрать такой же контролер, либо аналог. Весь интернет обрыл,ничего не нашёл (
  19. Эта ветка предназначена для обсуждения моих разработок "управлялок" для сварочников. Поэтому попрошу людей пришедших просто "поболтать" проходить просто мимо и не засорять эту ветку. Вот ссылки на статьи: 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
  20. Здравствуйте! Я профан в этой теме, но по работе нужно. Хочу собрать так скажем приёмник на микроконтроллере, чтоб демодулировал сигнал. Сигнал собираюсь подавать с компа. Типо на мк подключённый к компу послать модулированный сигнал. Задача в том чтоб запрограммировать сам мк на демодуляцию. Какой мк и отладочную плату посоветуете?
  21. Возникла проблема, не знаем как прошить STM8S003F3P6. Уже как только не пытались, кучи различных программ ставили, различными способами пытались подкопаться, всё равно выдаёт либо что не видит, либо просто некую ошибку. По поводу этих ошибок тоже сколько не копались, всё равно ничего. ST-Link рабочий, подключение хорошее. Нужно залить код для управления маленьким движком, чтобы выдавало либо +5В, либо -5В. Такое ощущение, что этот контроллер уже просто не поддерживается многими программами. Может кто-нибудь из вас знает что можно сделать, или как правильно прошить этот аппарат? Потому что уже кучу роликов на ютубе пересмотрели, форумов перечитали, никак не выходит. Получилось только сделать, чтобы программа увидела STM-ку. Благодарю за помощь)
  22. Почти ровно два года назад я писал о своем проекте аудио коммутатора, который в базовом виде умел коммутировать стерео аудиосигнал с одного из четырех входов на один из четырех выходов и благодаря примитивности аудиотракта умел перестраивать количество входов/выходов. Такой коммутатор довольно удобен и дешев, но до настоящего коммутатора ему не хватало возможности копировать (размножать) сигнал на несколько выходов. В текущем виде добавить такой функционал не представлялось возможности, поэтому я начал продумывать вариант матричного коммутатора, чтобы собрать его в том же корпусе. Техническое задание К коммутатору я предъявил следующие требования: 1. Должен иметь релейную матрицу коммутации 6 на 6 (количество разъемов ограничено размерами старого корпуса). 2. Должен уметь подключать любой свой вход к любому количеству своих выходов. 3. Должен уметь приглушать любой из своих выходов, а также все выходы разом. 4. Должен иметь несколько фиксированных настроек (пресетов) для возможности быстрого выбора. 5. Должен иметь удобный интерфейс управления и понятную индикацию. 6. Должен вносить минимальное количество искажений в коммутируемый сигнал. 7. Должен иметь гальванически развязанный интерфейс связи с компьютером для обновления ПО и управления. Задавшись такими требованиями, я, как обычно, начал с проработки передней панели, т.к. именно ее дизайн будет определять количество органов управления и индикации, а также в целом принципы управления устройством. Дисплей В прошлом варианте я применял дисплей HCMS-2915, но сразу стало ясно, что в этот раз его применить не получится, т.к. из-за размера и количества знакомест его информативность будет невысокой. Конечно, можно было бы поставить их штуки 4, в два ряда (благо есть в наличии), но этот вариант тоже мне показался не особо удачным. Хотя, оглядываясь назад, такой двухстрочный дисплей тоже позволил бы все нужное уместить, правда выглядел бы все равно менее информативно. Кроме того, такой дисплей стоит неадекватных (на мой взгляд) денег (порядка 1500..2000 р), что снижает вероятность повторения моего устройства кем-либо еще. Значит нужно искать более доступные варианты дисплеев. Я как обычно хотел прикрыть дисплей затемненным стеклышком, поэтому ЖК-дисплеи мне не подходили из-за своей недостаточной яркости. Поэтому решил обратить внимание на рынок OLED-дисплеев, которые ранее нигде не применял. Купив на пробу несколько штук и поэкспериментировав, я пришел к выводу, что самые дешевые варианты мне не подходят из-за своих небольших размеров, а более крупные варианты, конечно, имеют достаточно места, но все равно получаются довольно дорогими. Также их яркость уступает светодиодным дисплеям, и на статичных картинках они подвержены выгоранию. Выбросив из головы желание отображать графику и имена входов/выходов на дисплее, я принял решение построить "кастомный" дисплей на основе простых и доступных светодиодных индикаторах. Возник вопрос о том, как показать нужную мне информацию на семисегментных индикаторах, да так, чтобы это было понятно. Примерно в данный момент к проработке дизайна подключился мой товарищ, заинтересовавшись проектом, и мы совместно с ним пришли к такому варианту: Здесь применены 6 (по количеству выходов) семисегментных зеленых индикаторов с высотой символа 0,36 дюйма (9,1 мм), которые символизируют каждый имеющийся выход. Они отображают номер подключенного к ним входа. Прочерк означает, что никакого входа не подключено. Под каждым выходом стоит красный 2 мм светодиод, отображающий режим Mute для выходов. Также по просьбе товарища я в коде программы реализовал возможность отображать состояние устройства на стандартной светодиодной матрице 8 на 8 точек. Выглядеть будет так: Органы управления В прошлой версии у меня было всего 2 кнопки - для циклического изменения входа и выхода. Но в данном варианте такой вариант не подходит - для удобного ввода нужна полноценная цифровая клавиатура. Также нужно было проработать несколько сценариев использования, таких как: 1. Выбор входа для выхода/выходов. 2. Включение mute для выхода/выходов. 3. Выбор и сохранение фиксированных настроек. Кроме того, число кнопок должно быть минимальным и достаточным для удобного управления коммутатором. Мы остановились на вот такой клавиатуре: Слева находится блок кнопок для выбора подключения входов к выходам. Слева - блок фиксированных настроек (для товарища предусмотрел еще 2 пресета). Между блоками - дополнительные кнопки для управления режимом Mute и яркостью дисплея. Сценарии работы такие: Назначение входа на выходы Нажатием на цифровую кнопку выбирается вход, который требуется назначить (либо NONE если требуется отключить вход от выхода), при этом устройство переходит в режим ввода конфигурации и дисплей начинает мигать. Далее нужно цифрами выбрать выходы, на которые этот вход нужно подключить - при этом цифра измененного выхода перестает мигать. Отменить подключение можно нажатием на тот же номер. После завершения ввода нужно подтвердить настройки нажатием на кнопку OK, и только в этот момент конфигурация будет применена. Отменить ввод конфигурации можно в любой момент нажатием на кнопку ESC. Отключить все входы от выходов можно длительным (около 1 с) удерживанием кнопки NONE. Приглушение выходов Приглушение (mute) выходов осуществляется способом, аналогичным подключению входов, с той лишь разницей, что сначала нажимается кнопка MUTE, устройство переходит в режим конфигурирования Mute, при этом красные светодиоды начинают мигать. Далее цифровыми кнопками нужно выбрать заглушаемые входы и для завершения настройки нажать кнопку OK. Приглушить одновременно все выходы можно длительным удерживанием кнопки MUTE. Повторное удерживание восстанавливает активное состояние. Работа с фиксированными настройками Любую активную конфигурацию можно сохранить для быстрого выбора в дальнейшем. Для сохранения текущей конфигурации в пресет можно длительным удержанием одной из кнопок M1..M4. В момент сохранения дисплей три раза быстро мигнет. Для выбора пресета нужно нажать на одну из кнопок M1..M4, при этом на дисплее отобразится сохраненная конфигурация. Далее требуется либо подтвердить применение нажатием на кнопку OK, либо отменить нажатием на кнопку ESC. Из любого режима конфигурации есть автоматический выход если не нажимать никаких кнопок в течение 10 с. Кнопка DISPLAY коротким нажатием позволяет переключаться между тремя режимами яркости. Длительное нажатие позволяет переключиться между режимами фиксированной и автоматической яркости дисплея. Задняя панель С задней панелью все гораздо проще - нужно было вывести 6 пар входов и 6 пар выходов, разъем USB для подключении к компьютеру и разъем сетевого питания с выключателем. Здесь я применил доступные на Алиэкспресс детали - RCA, USB, сетевой разъем. Таким образом я пришел к такому дизайну. Здесь показано два варианта - в светлом и темном исполнении: Было принято решение сделать четыре платы - основную, плату дисплея, плату клавиатуры и блок питания. Плата дисплея На плате дисплея кроме самого дисплея расположены также кнопка включения, индикатор дежурного режима и фотодиод. Размеры платы 35 на 100 мм. Схема довольно простая. Индикация дисплея динамическая, поэтому применены всего два регистра - 74HC595 для управления сегментами и его мощный аналог с выходами с открытым стоком STPIC6C595 для управления разрядами. Регистры соединены каскадно, а их входы управления выведены на разъем и c микроконтроллером связаны по SPI. Светодиод, фотодиод и кнопка POWER выведены в разъем напрямую. Погашенные участки схемы относятся к вышеупомянутой светодиодной матрице и на данной плате не реализованы. Плата клавиатуры Плата клавиатуры по устройству еще проще. Количество кнопок 14, поэтому для экономии выводов микроконтроллера, кнопки объединены в матрицу. Размеры платы 35 на 100 мм. Схема матрицы тривиальна - имеет 4 строки и 4 столбца. Линии столбцов выставлены в лог. 1 и циклически сканируются логическим нулем. После каждой смены столбца опрашиваются линии строк. Таким образом обнаруживаются нажатые кнопки. Интересно, что в коде программы для корректной работы клавиатуры пришлось добавить задержку в минимум 10 пустых тактов сразу после подачи сканирующего логического нуля. Вероятно это связано с ненулевым временем установления сигнала на линии. Диоды служат для защиты сканирующих портов в случае, если будут нажаты две кнопки в одной строке. Неактивный участок - неразведенные две дополнительные кнопки пресетов. Блок питания Блок питания должен формировать три напряжения: +5В для питания цифровой части устройства, и двухполярное напряжение +/-12В для питания аналоговой части. Специально для этого был заказан трансформатор с необходимыми обмотками на базе ТП-331. Справа и слева от трансформатора в плате сделаны сужения и оставлены контактные площадки для возможности установить экран, если потребуется. Размеры платы 100 на 37 мм. Кроме типовых схем стабилизаторов на 7805 для цифрового питания и малошумящей пары 4901/3001 серии TPS7A для аналогового питания здесь реализована схема слежения за наличием сетевого напряжения на транзисторе VT1. Если сетевое напряжение на входах ACL и ACN присутствует, на выходе AC_GOOD имеются прямоугольные импульсы частотой 100 Гц. При пропадании напряжения, импульсы пропадают, что отслеживает микроконтроллер и принудительно через отдельный блок реле (о чем пойдет речь далее) включает MUTE всех выходов. Это сделано для устранения щелчков в подключенных оконечных устройствах при включении и выключении питания коммутатора. Конечно, при пропадании сетевого напряжения пропадает и питание +5В, но МК сохраняет работоспособность до 2,7В и на остатке заряда в емкостях выпрямителя успевает обнаружить пропадание импульсов и выполнить необходимые действия, прежде чем схема Brown-Out его отключит. Стабилизаторы серии TPS7A имеют входы, позволяющие их отключать. Здесь они задействованы с целью отключении аналоговой части коммутатора в дежурном режиме. Основная плата Основная плата содержит в себе всю аналоговую часть, микроконтроллер с обвязкой и матрицу реле. Размеры платы 89 на 187 мм. Общая принципиальная схема показана ниже. Каждый аудиовход имеет повторитель на операционном усилителе для обеспечения возможности работы на несколько выходов. На входе каждого повторителя установлен разделительный конденсатор и фильтр радиочастотных помех. Далее сигнал подается на матрицу реле. Управление матрицей осуществляется каскадно соединенными сдвиговыми регистрами 74HC595. Реле разбиты по группам и к каждому регистру подключено по 6 реле, один конец которых у них общий и также заведен на регистр. Таким образом, имеется возможность подавать разнополярные импульсы на каждое реле в пределах каждой группы. Токовых возможностей выходов регистра хватает, т.к. реле применены бистабильные и потребляют ток только при переключении. Правда обновление сразу 6 реле на своих выходах регистр все равно не тянет, поэтому в программе включение и отключение реле в группе происходит не разом, а в цикле по одному. После матрицы на каждом выходе стоит также по повторителю, разделительному конденсатору и защитному резистору. Далее сигнал перед подачей на выходные разъемы попадает на еще одну группу из 6 реле, которые выполняют функцию отключения оконечных устройств в дежурном режиме и при нештатных ситуациях. Они включены параллельно и управляются одним сигналом. Так как эти реле также применены бистабильные, для их включения и отключения нужно было сформировать биполярный импульсный сигнал из одного управляющего униполярного сигнала из микроконтроллера (банально закончились доступные порты). Для этого у OMRON была найдена следующая схема: Здесь импульс включения формируется в момент подачи напряжения на вход IN и заряда емкости C через D1 и D2. По окончании заряда напряжение на реле отсутствует. Отрицательный импульс отключения формируется в момент снятия сигнала IN - транзистор открывается и емкость C через него разряжается. Я эту схему испытал и адаптировал под свои нужды. Роль сигнала IN и диода D1 теперь выполняет ключ на полевом транзисторе. В моем случае нагрузка получается довольно низкой - порядка 40 Ом, и для надежного включения всех реле пришлось поставить довольно ощутимую емкость 2000 мкФ. В качестве интерфейса связи с компьютером в схеме имеется микросхема CH340G, представляющую собой микросхему, реализующую COM-порт через интерфейс USB. Со стороны микроконтроллера у нее обычный UART. Для гальванической развязки применена микросхема ADuM1201 - это двунаправленный приемопередатчик, входы и выходы которого изолированы друг от друга. Диодная сборка USB6B1 служит для защиты CH340G от статического напряжения с разъема USB. В микроконтроллер загружен бутлоадер, и, благодаря ему, кроме общения с компьютером через интерфейс USB также производится и обновление программного обеспечения. ПО для управления с ПК в процессе написания... Конструкция панелей Переднюю и заднюю панели заказал из текстолита - два слоя, склеенные между собой. На внутренней стороне медный полигон для экранировки. Получилось на мой взгляд очень неплохо. Лицевая панель - алюминиевая с затемненным оргстеклом и гравировкой. Измерения В одном из пунктов ТЗ было требование к нелинейным искажениям. Привожу графики замеров: Итоговое исполнение В итоге получилось очень удобное, функциональное и красивое устройство. Я доволен проделанной работой Немного фото реальных плат: Краткий обзор функционала
  23. В общем, во встроенных библиотеках Proteus нет МК PIC12F635. И мне нужна какая-нибудь сторонняя библиотека, что бы там был этот МК
×
×
  • Create New...