![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
ДЕЙЛ
Свой-
Постов
767 -
Зарегистрирован
-
Посещение
-
Победитель дней
5
Весь контент ДЕЙЛ
-
Появилось предположение, что дело в разряде статичекого напряжения. Двигатель пластмассовый? На ковре висит? Электризованную пыль гоняет? Попробуй движок другого типа или из электропроводных частей.
-
Точно по земле помеха? Почему бы для эксперимента полностью не развязать гальванически МК и двигатель? Т.е. два независимых источника питания и связь только через оптопару. Ещё я посмотрел бы осциллографом шум на самой земле, т.е. между точками подключения минуса МК и минуса двигателя. Для чистоты осциллограф запитал бы от бесперебойника или от встроенного аккумулятора, если в нём такой имеется. Лучше самому осциллографом ток померить в цепи и убедиться, что двигатель не шумит. Можно попробовать другой поставить и все остальные элементы методом замены перепробовать, чтобы быть уверенным в их нормальной работоспособности и при необходимости продолжать искать неисправность в разведке земель. Дальше следует вчитываться в методы обеспечения помехоустойчивости микроконтроллеров, в частности обратить внимание на разводку дорожек под кварцем, если частоты порядка десятков мегагерц.
-
подборка схем управления двигателем есть в книжке "1000 и одна микроконтроллерная схема" _____________________________.pdf
-
Схема контроля подачи питания
ДЕЙЛ ответил john_16 тема в Схемотехника
недавно похожую схему сочинял, номиналы пересчитал под твои пороги срабатывания. Сам её один в один не макетировал, но интересно узнать результат. -
Отправка пакета через USB из LPC1778 в ПК
ДЕЙЛ ответил ДЕЙЛ тема в ARM, 32bit
Вот картинка из Агурова. Правильно я понимаю, что байты команд хоста во время инициализации можно увидеть в буфере нулевой конечной точки? Или они невидимы для программиста со стороны контроллера? -
количество циклов команды
ДЕЙЛ ответил ve4e тема в ARM, 32bit
Как-то измерял количество тактов для выполнения функции арктангенса и для вывода на дисплей. Считать слишком муторно было, поэтому пользовался обычным таймером с частотой тактирования 1:1. Перед функцикцией запускал, а после завершения сразу останавливал. В регистре счётчика таймера было количество тактов. Это если точность большая не нужна(+\- 10 тактов). Для бОльшей точности можно в пошаговом режиме отладки смотреть на счётчик циклов, а если в железе проверяется, то точками останова можно попользоваться. -
ISP программатор
ДЕЙЛ ответил ykatkov тема в Программирование
у меня LPC1778, прошиваю через JTAG, Flash Magic и самопальным способом. Вот вырезал кусок схемы, через которую Flash Magic работает. Думаю, что лишней не будет и придёшь к выводу, что проще самому спаялить, чем покупать. -
Отправка пакета через USB из LPC1778 в ПК
ДЕЙЛ ответил ДЕЙЛ тема в ARM, 32bit
для чего в описании USB фигурирует I2C? В общих чертах хотелось бы узнать. -
Стартовый загрузчик
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Оставлю тут свой код загрузчика на всякий случай, а то на домашнем компе ненадёжно. Программа принимает файл от прикреплённой программы, написанной на DELPHI. Успеть отправить надо в течение минуты после сброса. #include "iolpc1778.h" #include "LPC17xx.h" #define IAP_LOCATION 0x1fff1ff1 //точка входа в IAP (страница 896 мануала) unsigned int command[5]; unsigned int result[2]; typedef void (*IAP)(unsigned int[], unsigned int[]); unsigned char DATA[30000]; unsigned int command[5]; unsigned int result[2]; unsigned char RX; unsigned int index_RX; unsigned char RX_PAKET[18]; unsigned char CHSUM, FlagRX; unsigned int indexM, pauza, i; unsigned int adr_copy, stek; unsigned int *adres_stek; unsigned char OutPortByte; int sektor; void Out_UART0(); //otpravka paketa po UART0 void main(void) { { //INIT { //init UART0 IOCON_P1_25 = 0; //PIO FIO1DIR = 0x2200000; //Выходы PIN1_25, PIN1_11 PCONP |= 0x8; IOCON_P0_02 = 0x1; IOCON_P0_03 = 0x1; } FIO0DIR = 0x4+0x8; SCS |= 0x20; //подключение осциллятора while(!(SCS&0x40)){} //ожидание запуска PLL0CON |= 0x01; PLL0CFG |= 0x09; PLL0FEED = 0xAA; PLL0FEED = 0x55; CCLKSEL |= 0x100; PCLKSEL = 1; CLKSRCSEL |= 1; U0LCR |= 0x83; //razrecchenie dostupa k delitely U0DLL = 0xC8; //0xF0;//0xA0; //0x14; //0x4E; //nastrojka delitelya U0LCR &=~0x80; //zapret dostupa k delitely U0IER |= 0x1+0x4;//Разрешение прерываний UART0 //__enable_irq(); //Разрешение //__set_FAULTMASK(0); //всех прерываний //__set_BASEPRI(0); //Отключение маскирования //__set_CONTROL(0); AIRCR = 0x05FA0200; IP1 = 0x00000800; } NVIC_EnableIRQ(UART0_IRQn); //Enable IRQ UART0 (ISER0=32) indexM = 0; index_RX = 1; while(1) { if (index_RX>5) { if ((DATA[index_RX-1]==0x11)&(DATA[index_RX-2]==0x22)&(DATA[index_RX-3]==0x33)&(DATA[index_RX-4]==0x44)) самопальный признак конца файла HEX { FlagRX = 0; //COPY_FLASH adr_copy = (unsigned int)&DATA[4096]; IAP iap_entry; iap_entry = (IAP) IAP_LOCATION; for (sektor=1; sektor<5; sektor++) { //_______ПОДГОТОВИТЬ СЕКТОР К ЗАПИСИ_______// { command[0] = 50; //код команды command[1] = sektor; //начальный номер сектора command[2] = sektor; //конечный номер сектора iap_entry (command, result); } //_______ПОДГОТОВИЛИ СЕКТОР К ЗАПИСИ______// //_______СТЕРЕТЬ СЕКТОР_______// { command[0] = 52; //код команды command[1] = sektor; //начальный номер сектора command[2] = sektor; //конечный номер сектора command[3] = 120000; //системная тактовая частота в кГц iap_entry (command, result); } //_______СТЁРЛИ СЕКТОР______// //_______ПОДГОТОВИТЬ СЕКТОР К ЗАПИСИ_______// { command[0] = 50; //код команды command[1] = sektor; //начальный номер сектора command[2] = sektor; //конечный номер сектора iap_entry (command, result); } //_______ПОДГОТОВИЛИ СЕКТОР К ЗАПИСИ______// //_______КОПИРОВАТЬ ОПЕРАТИВНУЮ ПАМЯТЬ ВО ФЛЕШ_______// { command[0] = 51; //код команды command[1] = 0x1000*sektor; //начальный адрес перезаписываемой флеш command[2] = adr_copy+4096*(sektor-1); //начальный адрес оперативной памяти, откуда нужно копировать command[3] = 4096; //число байт для копирования command[4] = 120000; //системная тактовая частота в кГц iap_entry (command, result); } //_______СКОПИРОВАЛИ СЕКТОР______// //END_FLASH } VTOR = 0x1000; adres_stek = (unsigned int*)0x1000; stek = (unsigned int)*adres_stek; __set_MSP(stek); asm("mov R1, #0x1004"); asm("ldr R2, [R1]"); asm("BX R2"); } } } } void Out_UART0() { while (!(U0LSR&0x20)); U0THR=0xA0; //признак ответа для программы на ПК } void UART0_IRQHandler(void) { DATA[index_RX] = U0RBR; index_RX++; NVIC_ClearPendingIRQ(UART0_IRQn); return; } __________.rar -
Пмомгите начать с Qt
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Скачал Creator, поставил. Открыл им скачанный пример пректа Hello World. Могу редактировать исходник, но непонятно как его запустить. Неактивна кнопка запуска. Вот к сообщению прилепил самый первый пример проекта. В какой программе и какую последовательность действий нужно сделать с этим примером, чтобы появилось то самое окно с надписью? Hello.rar -
Пмомгите начать с Qt
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Согласен, но всё равно никак не нахожу редактор кода. Его вижу только через Форма->Показать код... , но там ничего менять нельзя и никакой подсветки синтаксиса. -
Пмомгите начать с Qt
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Вот открыл Шлее - в самом начале пример Hello World и ни слова о том, как открыть этот самый редактор для печатания примера. Версия 4.8.4 А где искать QtCreator? В папке с программой его нет. -
Пмомгите начать с Qt
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Ctrl+Tab не помогает, ничего не открывается. Где слева искать кнопку Edit? у меня какие-то связи по F4 появляются -
Пмомгите начать с Qt
ДЕЙЛ опубликовал тема в Программирование
Открыл книгу автора Макса Шлее, в главе первой есть пример первой программы. Вроде элементарнейший пример Hello World, но сразу же появились вопросы: 1. Как открыть редактор кода? (в делфи нажатием кнопки F12) 2. Добавил кнопку на форму. Справа есть окно со свойствами. Где искать список событий и как редактировать, к примеру, обработчик нажатия кнопки? 3. С какой книжки лучше начать изучать Qt? Желательно в стиле Флёнова по Delphi. Или где в интернете почитать общее описание среды Qt для Windows? -
MGGS2217 команды управления
ДЕЙЛ опубликовал тема в Интерфейсы
Имеется данный модуль (MGGS2217) Споектирован в России и в лучших традициях без нормальной документации. Нашёл вот это русское описание, но там никаких команд нет, есть ещё какое-то описание, но там только три команды Где остальные команды искать? Пробовал от других модулей команды, но что-то не то. То ли пока по неопытности, то ли команды не подходят к моему модулю. Мне нужно отключить приём ненужных данных и в идеале оставить только RMC. -
SD карта через SPI
ДЕЙЛ ответил justontime тема в Интерфейсы
Недавно имел дело с SD-картой. Осциллографом смотрел картинку - после команды чтения никаких пауз не видел. Думаю, что если они и возможны, то только как вынужденные, когда выполняется обработка принятого байта или при заполнении буфера, если используется аппаратный интерфейс работы с картой. Частота тактирования начинается от 0 герц, поэтому ничего не случится, если будет приостановка. Для большей убедительности подпаяльте провода МГТФ к данным сигналом в заводском девайсе и полюбуйтесь картинкой на осциллографе. -
Помогите выбрать МК
ДЕЙЛ ответил Aleksandr_des тема в Схемотехника
я немного поспешил с ответом, потом подредактировал, посмотрев получше на МК -
Помогите выбрать МК
ДЕЙЛ ответил Aleksandr_des тема в Схемотехника
Atmega8515 - из сорока ног 33 ввода-вывода будут+выход RX-TX, две ноги на кварц, две ноги питания и сброс, всё под завязку, ничего лишнего. Только нагрузочную способность посмотри - она может быть разная у разных портов. Цена в 2 раза ниже, чем у 128 -
Управление электромеханическим замком
ДЕЙЛ ответил a.ivanov_ekb тема в Схемотехника
В книжке "1000 и 1 микроконтроллерная схема, ч.1" есть хорошая подборка схем управления всяким транзимсторами, в т.ч. схемотехника защиты самих МК от всяких наводок и выбросов со стороны нагрузки. В твоём варианте из первого поста схема в общем случае долго не проживёт хотя бы по причине многократных кратковременных режимов КЗ по причине невозможности мгновенной зарядки ёмкости затвора. -
Чтение-запись HEX через JTAG в IAR
ДЕЙЛ опубликовал тема в ARM, 32bit
Можно ли через JTAG считать прошивку и записать её обратно в контроллер? Как это сделать в IAR? МК LPC1768, защита от считывания не установлена. Полазил по ИАРу, но никаких пунктов меню типа Read Flash to file не нашёл. -
Управление MOSFET
ДЕЙЛ ответил Lexasoft тема в Схемотехника
Теоретически могу предположить следующее: 1. Частота ШИМ должна быть больше 20 кГц, чтобы двигатель не свистел. 2. По даташиту входная ёмкость 4 нФ и если в затвор поставить резистор 200 Ом, то постоянная времени будет чуть меньше микросекунды, т.е. импульс ШИМ минимальной длительности должен быть больше 4 микросекунд. Если используется 8-битный таймер, то период должен быть 256*4мкс=1 мс, т.е. 1000 Гц, что хорошо слышно. Более высокая частота ШИМ и будет приводить к нагреву ввиду бОльшего соотношения времени переходных процессов и времени статического состояния транзистора. 3. Для повышения частоты до 20 кГц следует уменьшить резистор затвора в 20 раз, чтобы уменьшить нагрев, т.е. номинал должен быть порядка 10 Ом. 4. Для резистора 10 Ом следует учесть нагрузочную способность драйвера или сделать его самому из мощных транзисторов. Драйвер я применял при управлении мостовой схемой, а тут только один нижний транзистор. ПЫСЫ: на истиность не претендую, это только мои измышления в вакууме. :rolleyes: Интересно узнать, насколько они правильные. -
Создание сервера с нуля
ДЕЙЛ ответил ДЕЙЛ тема в Программирование
Что можно почитать на эту тему? В какой книжке? Давно в детстве начинал кодить на ПХП, ставил Денвер, но всё делалось по методичке. -
Delphi 7
ДЕЙЛ ответил krian тема в Программирование
Если всё равно, то лучше начни с книги "Библия Delphi", автор Флёнов. Я только по ней начал относительно нормально ориентироваться, что с чем и как связывается. До этого пару раз начинал безуспешно со всяким самоучителям "Полный курс делфи за пару вечеров". Ну и примеров проектов на делфи7 в инете куча. -
Информация о COM портах
ДЕЙЛ ответил Юрий48 тема в Программирование
попалось случайно на глаза http://articles.org.ru/cn/showdetail.php?cid=9088 мошть пригодится -
Отправка пакета через USB из LPC1778 в ПК
ДЕЙЛ ответил ДЕЙЛ тема в ARM, 32bit
Понапридумывают же... :) Попробую ещё раз перечитать про USB, мошть понятнее станет.