ARV Опубликовано 16 июля, 2020 Поделиться Опубликовано 16 июля, 2020 Конечно можно. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Morlock Опубликовано 16 июля, 2020 Поделиться Опубликовано 16 июля, 2020 (изменено) Господа, возник вопрос по AVRISP MK2. Надо было раньше купить, но купил только сегодня. В общем пепелац собран на ATmega128A. После того как я подкинул дрова и Atmel Studio 6.2 его увидела, то сразу предложила обновить прошивку до 1.17 (старая была 1.с). После того как оно всё обновилось с успехом, я решил зашить ATtiny25. Программатор горит красным глазом и студия вещает про то, что Vtarget установлен слишком низкий (0,2в). До обновления фирмвари программатор так себя не вёл. Пины стандартные, не самопал. Перепутать не мог. Да и не перепутано там. Вопрос вот какой: где нужно отрегулировать борду по Vtarget и возможно ли это в AS7? P.S. После установки AS7 было предложено обновиться до версии 1.18, что было успешно произведено. Но к сожалению толку нет. AVRISP mkII Debug host 127.0.0.1 Debug port 56187 Serial number 0000B0026998 Connection com.atmel.avrdbg.connection.mchp Firmware Version 1.18 Hardware Version 1 Скрытый текст Изменено 16 июля, 2020 пользователем Morlock 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
ruhi Опубликовано 17 июля, 2020 Поделиться Опубликовано 17 июля, 2020 16.07.2020 в 11:23, Дмитрий Вас сказал: где куда что это? Например можно скачать и поставить: Microsoft Visual Studio Express 2015 for Windows Desktop Это среда разработки, в ней создаете проект ConsoleApplication1 - какой нибудь, там появляется С-файл (или С++ - файл это не принципиально) в нем функция main(), пишите в этой функции любой код - вы сможете запустить исполнение по шагам (по строчно) и смотреть как изменяются значения переменных на каждом шаге! 0 Можно сделать все! Но чем больше можно, тем больше нельзя! Ссылка на комментарий Поделиться на другие сайты Поделиться
Особенности хранения литиевых аккумуляторов и батареекПотеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Дмитрий Вас Опубликовано 17 июля, 2020 Поделиться Опубликовано 17 июля, 2020 @ruhi я пишу и тоже самое могу сделать в атмел студио @Morlock через атмел я так и не победил, шью через аврдуде 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Андрей Протаскин Опубликовано 18 июля, 2020 Поделиться Опубликовано 18 июля, 2020 (изменено) Здравствуйте! Почему когда я написал вот такой код //Atmega8 //Укажем частоту #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> //Инициализируем библиотеку для работы с дисплеем #include "n5110.h" #include <stdlib.h> //Предварительные настройки void presets(){ //Инициализируем дисплей Lcd_init(); //Настройки АЦП //ADCSRA ADCSRA |= (1<<ADEN) //Задействовать АЦП | (1<<ADPS2) | (1<<ADPS2) | (1<<ADPS2) ; //Делитель 128 = 64 кГц //ADMUX ADMUX |= (1<<REFS1)|(1<<REFS0); //Опорное напряжение 2.56 В внутреннее //| (0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (1<<MUX0) //Выбор вывода } int readADC(unsigned int ch){ unsigned char set_admux = ADMUX; set_admux &= ~((1<<MUX3) | (0<<MUX2) | (1<<MUX1) | (0<<MUX0)); switch(ch) { case 1: set_admux |= ((0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (1<<MUX0));break; default:break; } ADMUX = set_admux ;_delay_ms(10); int tmp = 0; for (int i=0;i<40;i++) { ADCSRA |= (1<<ADSC); //Запуск преобразования while ((ADCSRA &(1<<ADSC))); //Ожидание окончания преобразования ADC +=tmp; //tmp = tmp + ADC; } return tmp/40; } int main(void) { presets(); while (1) { Lcd_clear(); Lcd_printf(0,0,FONT_1X,((readADC(0)*2.56*(30/2.56))/1023), 1); Lcd_printf(0,1,FONT_1X,((readADC(1)*0.02935)), 1); Lcd_update(); _delay_ms(200); } } набросал схему в Proteus - АЦП показывает 0.0, почему так? n5110.c n5110.h New Project.pdsprj GccApplication7.atsln Изменено 18 июля, 2020 пользователем Андрей Протаскин 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Гость Опубликовано 18 июля, 2020 Поделиться Опубликовано 18 июля, 2020 Потому-что tmp=0 и никогда не изменится. Нужно написать tmp += ADC; 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 18 июля, 2020 Поделиться Опубликовано 18 июля, 2020 5 часов назад, Андрей Протаскин сказал: показывает 0.0, почему так? а если написать ему hello world, дисплей напишет? 6 часов назад, Андрей Протаскин сказал: while ((ADCSRA &(1<<ADSC))); //Ожидание окончания преобразования после этого напиши обнулить канал измерения. это обязательно!!!ADMUX&=0xF0;//обязательно обнуляем канал 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 18 июля, 2020 Поделиться Опубликовано 18 июля, 2020 Пробовал - всё равно в Proteus преобразователь показывает 0.0. Вот код //Atmega8 //Укажем частоту #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> //Инициализируем библиотеку для работы с дисплеем #include "n5110.h" #include <stdlib.h> //Предварительные настройки void presets(){ //Инициализируем дисплей Lcd_init(); //Настройки АЦП //ADCSRA ADCSRA |= (1<<ADEN) //Задействовать АЦП | (1<<ADPS2) | (1<<ADPS2) | (1<<ADPS2) ; //Делитель 128 = 64 кГц //ADMUX ADMUX |= (1<<REFS1)|(1<<REFS0); //Опорное напряжение 2.56 В внутреннее //| (0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (1<<MUX0) //Выбор вывода } int readADC(unsigned int ch){ unsigned char set_admux = ADMUX; set_admux &= ~((1<<MUX3) | (0<<MUX2) | (1<<MUX1) | (0<<MUX0)); switch(ch) { case 1: set_admux |= ((0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (1<<MUX0));break; default:break; } ADMUX = set_admux ;_delay_ms(10); int tmp = 0; for (int i=0;i<40;i++) { ADCSRA |= (1<<ADSC); //Запуск преобразования while ((ADCSRA &(1<<ADSC))); //Ожидание окончания преобразования ADMUX&=0xF0; ADC +=tmp; //tmp = tmp + ADC; } return tmp/40; } int main(void) { presets(); while (1) { Lcd_clear(); Lcd_printf(0,0,FONT_1X,((readADC(0)*2.56*(30/2.56))/1023), 1); Lcd_printf(0,1,FONT_1X,((readADC(1)*0.02935)), 1); Lcd_update(); _delay_ms(200); } } GccApplication7.atsln n5110.c n5110.h New Project.pdsprj 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 18 июля, 2020 Поделиться Опубликовано 18 июля, 2020 слова пробовал писать? или задай просто ввывести число произвольное вывести 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 18 июля, 2020 Поделиться Опубликовано 18 июля, 2020 18 минут назад, Андрей Протаскин сказал: всё равно в Proteus преобразователь показывает 0.0 Ясное дело: 18 минут назад, Андрей Протаскин сказал: ADC +=tmp; //tmp = tmp + ADC; У вас же в комментарии написано верное выражение, почему изменили-то? ADC - это регистр результата преобразования, записывать туда что-либо бесполезно. Вам же надо накапливать сумму замеров в tmp - что ж вы написали-то? 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 19 июля, 2020 Поделиться Опубликовано 19 июля, 2020 Здравствуйте! Скажите мне пожалуйста, где взять в Proteus такой же подстроечный резистор как на скриншоте показанный красными стрелками? https://yadi.sk/i/f-k8lhfhiHYyRg 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IMXO Опубликовано 19 июля, 2020 Поделиться Опубликовано 19 июля, 2020 яндекс не у всех работает 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 19 июля, 2020 Поделиться Опубликовано 19 июля, 2020 Все резисторы в протеусе в одном месте находятся, в том числе и переменные. Если память мне не изменяет, в названии переменного резистора есть слово variable и LIN, можно ввести в поиск и потом выбрать нужный. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 20 июля, 2020 Поделиться Опубликовано 20 июля, 2020 @Андрей Протаскин резистор с пометкой актив 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shahabbas Опубликовано 20 июля, 2020 Поделиться Опубликовано 20 июля, 2020 @Андрей Протаскин , здесь: 0 Технические вопросы решаю в теме , в личке не обсуждаю !!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 26 июля, 2020 Поделиться Опубликовано 26 июля, 2020 Здравствуйте! Я тут написал код //Atmega8 //Укажем частоту #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> //Инициализируем библиотеку для работы с дисплеем #include "n5110.h" #include <stdlib.h> //Предварительные настройки void presets(){ //Инициализируем дисплей Lcd_init(); //Настройки АЦП //ADCSRA ADCSRA |= (1<<ADEN) //Задействовать АЦП | (1<<ADPS2) | (1<<ADPS2) | (1<<ADPS2) ; //Делитель 128 = 64 кГц //ADMUX ADMUX |= (1<<REFS1)|(1<<REFS0); //Опорное напряжение 2.56 В внутреннее } int readADC(unsigned int ch){ unsigned char set_admux = ADMUX; set_admux &= ~((1<<MUX3) | (1<<MUX2) | (1<<MUX1) | (1<<MUX0)); switch(ch) { case 1: set_admux |= ((0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (1<<MUX0));break; case 2: set_admux |= ((0<<MUX3) | (0<<MUX2) | (1<<MUX1) | (0<<MUX0));break; default:break; } ADMUX = set_admux; int tmp = 0; for (int i=0;i<40;i++) { ADCSRA |= (1<<ADSC); //Запуск преобразования while ((ADCSRA &(1<<ADSC))); //Ожидание окончания преобразования tmp += ADC; //tmp = tmp + ADC; } return tmp/40; } int main(void) { presets(); while (1) { Lcd_clear(); //Вольты Lcd_printf(0,0,FONT_1X,((readADC(0)*2.56*(30/2.56))/1023), 1); //Амперы Lcd_printf(0,1,FONT_1X,((readADC(1)*2.56*(3/2.56))/1023), 1); //Градусы Lcd_printf(0,2,FONT_1X,(((readADC(2)*2.56*100*(3.73/2.56))/1023)-273.15), 0); Lcd_update(); _delay_ms(200); } } Собрал схему в Proteus , а АЦП (Вольтметр, амперметр и термометр) показывают 13.2, 1.3, -497, а должно показывать 23.4, 2.0, 95 Почему так? GccApplication7.atsln n5110.c n5110.h GccApplication7.hex New Project.pdsprj 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 26 июля, 2020 Поделиться Опубликовано 26 июля, 2020 40 минут назад, Андрей Протаскин сказал: tmp += ADC; Здесь может происходить переполнение переменной tmp. Сделайте её long, должно помочь. 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 26 июля, 2020 Поделиться Опубликовано 26 июля, 2020 @Андрей Протаскин 18.07.2020 в 16:00, Дмитрий Вас сказал: 18.07.2020 в 10:00, Андрей Протаскин сказал: while ((ADCSRA &(1<<ADSC))); //Ожидание окончания преобразования после этого напиши обнулить канал измерения. это обязательно!!!ADMUX&=0xF0;//обязательно обнуляем канал я уже писал вам. я так же напоролся, ОБЯЗАТЕЛЬНО!! после преобразования обнулять канал!!! 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ART_ME Опубликовано 29 июля, 2020 Поделиться Опубликовано 29 июля, 2020 Здравствуйте. Откопал у себя б\у PIC16C57C. Программатор TL866II+ видит их и читает. Но не пишет. И не стирает (даже пункт в меню стирания не подсвечен). Насколько я понял по битам конфигурации МК защищен от чтения\стирания. Отсюда вопрос: имеет ли смысл возиться с удалением бит защиты для стирания с целью дальнейшего использования в личных целях или проще эти МК выкинуть? Аналогично обнаружены три PIC16LF628. На попытку чтения как PIC16LF628А ругаются на неправильный ID. Выкинуть? 0 Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта. Ссылка на комментарий Поделиться на другие сайты Поделиться
КЭС Опубликовано 29 июля, 2020 Поделиться Опубликовано 29 июля, 2020 Только что, ART_ME сказал: PIC16C57C Однократно программируемая. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
smart_ed Опубликовано 29 июля, 2020 Поделиться Опубликовано 29 июля, 2020 (изменено) Ба, они что, с пережигаемой памятью? Изменено 29 июля, 2020 пользователем smart_ed 0 В действительности всё выглядит иначе, чем на самом деле. © Ссылка на комментарий Поделиться на другие сайты Поделиться
ART_ME Опубликовано 29 июля, 2020 Поделиться Опубликовано 29 июля, 2020 @КЭС , спасибо за исчерпывающий ответ. 0 Никогда не спорьте с дураками. Они опустят Вас до своего уровня и победят за счет опыта. Ссылка на комментарий Поделиться на другие сайты Поделиться
Дмитрий Вас Опубликовано 2 августа, 2020 Поделиться Опубликовано 2 августа, 2020 (изменено) все нет вопросов Изменено 2 августа, 2020 пользователем Дмитрий Вас 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Андрей Протаскин Опубликовано 6 августа, 2020 Поделиться Опубликовано 6 августа, 2020 Здравствуйте! Вы не подскажете, где найти в Proteus потенциометр с тремя ножками? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IMXO Опубликовано 6 августа, 2020 Поделиться Опубликовано 6 августа, 2020 набрать в поиске POT-HG ? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.