ARV Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 2 часа назад, Андрей Протаскин сказал: как выглядит микросхема микроконтроллера Atmega8 изнутри? 1 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 @ARV так получается в микроконтроллере Atmega8 там химические вещества, да ещё несколько пластин?! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
ARV Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 Только что, Андрей Протаскин сказал: там химические вещества Больше того скажу: там всякие атомы, электроны и кристаллы... ужос, короче. Вы не пробовали книги читать? Все ведь описано... 1 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Alexeyslav Опубликовано 7 мая, 2020 Поделиться Опубликовано 7 мая, 2020 03.05.2020 в 14:46, Vit@lik сказал: В вольтметра цифра после запятой время от времени то увеличивается то уменьшается на единичку. То есть например 1.21 _1.20 _1.21_1.22_1.21... Пробовал делать 5-10 измерений а потом искать среднее арифметическое значительной разницы не заметил напряжение гуляет. Либо то что на входе, либо опорное. Чтобы цифры быстро не мелькали среднее арифметическое к отдельной выборке применять бесполезно - нужно применять алгоритм "скользящего окна" при котором среднее считается на каждую выборку для N последних измеренных значений. Для этого нужно завести буффер где будут хранится эти N последних выборок... памяти в контроллере мало, но можете экспериментировать со значением N. Рекомендую кратное степени двойки - 8, 16, 32.... потом результат суммы делить проще будет. 2 часа назад, Андрей Протаскин сказал: @ARV так получается в микроконтроллере Atmega8 там химические вещества, да ещё несколько пластин?! Если учесть что весь мир состоит из химии то это заурядное дело. Кремний там, частично легированный другими веществами, образуя полупроводниковые переходы. И потом это все соединено алюминиевыми шинами в многослойном исполнении. Причем полупроводники могут находится тоько в одном слое, а "этажерку" проводов можно довольно много слоёв сделать, это ограничение связано с технологией изготовления. Правда, последние 5 лет уже начали делать многослойные кристаллы - у современной FLASH-памяти может быть до 32 активных слоёв полупроводниковых матриц. Таким образом, на одном "чипе" уже помещается 256Гб ячеек...Но изготовление их довольно сложно и связано срядом физических ограничений, поэтому применение нашло сейчас только при производстве FLASH-памяти. 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 8 мая, 2020 Поделиться Опубликовано 8 мая, 2020 нужна ссылка или таблица всех библиотечных функций, переменных и тд. в с++. сам толкового не нашел, чтоб с кратким описанием было 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 8 мая, 2020 Поделиться Опубликовано 8 мая, 2020 Мда... 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 8 мая, 2020 Поделиться Опубликовано 8 мая, 2020 все вопрос снят нашел что искал cppreference.com здесь все есть 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 16 мая, 2020 Поделиться Опубликовано 16 мая, 2020 Здравствуйте! Я просто спросить, почему программу для микронтроллеров надо писать с точностью до символов, и скелет программы, конфигурацию, и функции надо писать на английском языке, а не на русском, и в конце программы ставится точка с запятой? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
yaroslav.s Опубликовано 16 мая, 2020 Поделиться Опубликовано 16 мая, 2020 Потому что единственный распространённый русский язык программирования - 1С) 0 Текущий сетап: BBB-AD-H6.1-Nataly2014-AudioPro Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 16 мая, 2020 Поделиться Опубликовано 16 мая, 2020 51 минуту назад, Андрей Протаскин сказал: и в конце программы ставится точка с запятой? Не ставится. 51 минуту назад, Андрей Протаскин сказал: Я просто спросить, почему... Почему в русском языке предложение начинается с заглавной буквы, а завершается точкой или иным знаком препинания? Потому, что таковы ПРАВИЛА этого языка. В языке программирования тоже есть правила, и это есть ответ на ваши вопросы. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 26 мая, 2020 Поделиться Опубликовано 26 мая, 2020 работал с программой все было норм. очередной раз захожу и 100500 ошибок выдает. не знаете в чем может быть причина? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Lexter Опубликовано 26 мая, 2020 Поделиться Опубликовано 26 мая, 2020 @Дмитрий Вас , а вы посмотрели, что по каждой ошибке на самом деле в тексте программы (номер line)? Может при открытом редакторе кот по клавиатуре прошёл? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
_abk_ Опубликовано 27 мая, 2020 Поделиться Опубликовано 27 мая, 2020 12 hours ago, Дмитрий Вас said: не знаете в чем может быть причина? Конечно, знаем. Причин может быть всего 2. 1. Это полтергейст, вызванный блудливостью электронов в нанометрических структурах чипов Вашего ПК. Вывод: надо бросить это ненадежное занятие навсегда, как безнадежное. 2. В настройки и/или текст проекта внесены изменения, которые вызвали указанные Вами сообщения. Вывод: надо прочесть сообщения и устранить указанные в них причины/ошибки. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 27 мая, 2020 Поделиться Опубликовано 27 мая, 2020 ок а это что за ошибки 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 27 мая, 2020 Поделиться Опубликовано 27 мая, 2020 Чтобы понять, в чем именно ошибка, надо открыть соответствующий файл и найти указанную сроку. multiple definition of означает, что функция или переменная определена в нескольких местах. В частности, tab_sin у вас оказалось в 4х файлах: encoder.c, lcd.c, main.c и PWM.c Вангую, вы зафигачили этот массив (это же массив?) в заголовок, который приинклюдили ко всем этим файлам. Так делать нельзя! В заголовочном файле должны быть только ОПИСАНИЯ функций и переменых, но никак не их ОПРЕДЕЛЕНИЯ и/или РЕАЛИЗАЦИЯ! 1 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 27 мая, 2020 Поделиться Опубликовано 27 мая, 2020 1 минуту назад, ARV сказал: В заголовочном файле должны быть только ОПИСАНИЯ функций и переменых, но никак не их ОПРЕДЕЛЕНИЯ и/или РЕАЛИЗАЦИЯ! а куда правильней его положить? да проблема оказалась именно в этом в PWM.h положу ага не катит в хедер, только в си файл. ошибку понял пошел читать книжки 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 28 мая, 2020 Поделиться Опубликовано 28 мая, 2020 void PSC0_sin_gen (void) { for (unsigned int A=0;A<=161;A++) { PCNF0 |=(1<<PLOCK0); //PCNF0 =(1<<PLOCK0)|(1<<PMODE01)|(0<<PMODE00)|(1<<PCLKSEL0)|(1<<POP0);//разрешается перезапись OCR0RA = tab_sin[A]; OCR0SA = 50; OCR0RB = 0; OCR0SB = 0; PCNF0 &= (0<<PLOCK0); //PCNF0 =(0<<PLOCK0)|(1<<PMODE01)|(0<<PMODE00)|(1<<PCLKSEL0)|(1<<POP0);//перезаписано if (A==161) A=0; } } почему то эта часть кода не работает, проверьте орфографию 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IMXO Опубликовано 28 мая, 2020 Поделиться Опубликовано 28 мая, 2020 естественно не работает, вы вечный цикл сделали. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 28 мая, 2020 Поделиться Опубликовано 28 мая, 2020 да но должны разные по продолжительности импульсы идти в цикле, а на выходе просто плюс питания 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 28 мая, 2020 Поделиться Опубликовано 28 мая, 2020 27.05.2020 в 21:37, Дмитрий Вас сказал: пошел читать книжки Делайте это, плиз, до того как задаёте вопросы на форуме Иначе на вопросы, типа : Цитата почему то эта часть кода не работает Будете получать в ответ : "А почему она должна работать ?". 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 29 мая, 2020 Поделиться Опубликовано 29 мая, 2020 11 часов назад, Дмитрий Вас сказал: PCNF0 &= (0<<PLOCK0); Нет ли тут ошибки? &= обычно в битовых операциях используется с инвертированным значением битовой маски... т.е. так: PCNF0 &= ~(0<<PLOCK0); 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 29 мая, 2020 Поделиться Опубликовано 29 мая, 2020 @Alex согласен но как знать чего ты не знаешь @ARV я хотел из этой строчки сделать PCNF0 =(1<<PLOCK0)|(1<<PMODE01)|(0<<PMODE00)|(1<<PCLKSEL0)|(1<<POP0); сделать вот эту PCNF0 =(0<<PLOCK0)|(1<<PMODE01)|(0<<PMODE00)|(1<<PCLKSEL0)|(1<<POP0); через побитовое И PCNF0 &= (0<<PLOCK0); вот тут я мог и накосячить кстати 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 29 мая, 2020 Поделиться Опубликовано 29 мая, 2020 46 минут назад, Дмитрий Вас сказал: я мог и накосячить кстати Скорее всего, именно так и вышло. Сдвиг нуля всегда даст в итоге НОЛЬ, как ни двигай. Поэтому у вас битовое И с нулем, т.е. PCNF0 станет равно 0. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 29 мая, 2020 Поделиться Опубликовано 29 мая, 2020 в общем какие то странности. в моем мк когда пишу так OCR0RA=speed; //on-time OCR0SA=50;//dead time и speed прогоняю через энкодер то ширина импульсов меняется все ок. когда делаю так void PSC0_sin_gen (void) { for (unsigned int A=0;A<=161;A++) { //PCNF0 = 0b;//разрешается перезапись OCR0RA = tab_sin[A]; OCR0SA = 50; OCR0RB = 0; OCR0SB = 0; //PCNF0 = 0b00010010;//перезаписано if (A==161) A=0; } } ничего не происходит, сам массив unsigned char tab_sin[161]= {0,2,3,5,7,8,10,12,13,15, 17,18,20,22,23,25,26,28,30,31, 33,34,36,38,39,41,42,44,46,47, 49,50,52,53,55,56,58,59,61,62, 63,65,66,68,69,71,72,73,75,76, 77,79,80,81,82,84,85,86,87,89, 90,91,92,93,94,95,97,98,99,100, 101,102,103,104,105,106,107,107,108,109, 110,109,108,107,107,106,105,104,103,102, 101,100,99,98,97,95,94,93,92,91, 90,89,87,86,85,84,82,81,80,79, 77,76,75,73,72,71,69,68,66,65, 63,62,61,59,58,56,55,53,52,50, 49,47,46,44,42,41,39,38,36,34, 33,31,30,28,26,25,23,22,20,18, 17,15,13,12,10,8,7,5,3,2,0}; короче весь полупериод синусоиды 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 29 мая, 2020 Поделиться Опубликовано 29 мая, 2020 Кажется, я вам уже говорил, что у вас какой-то странный подход... вам надо завести один из таймеров на какую-то частоту, и по прерыванию этого таймера обновлять только OCR0A, не трогая остальное, которое должно оставаться единожды настроенным всегда (если, конечно, мертвое время вы на лету менять не планируете. Для чего без малейших задержек в цикле менять значения OCR0A, которое активируется только по истечению периода очередного импульса ШИМ, я не понимаю. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.