Други, помогите повернуть изображение 5110 на 180 гр. Функция Adafruit display.setRotation() при значениях 0 или 2 (0 гр. или 270 гр.) ничего не делает. при значениях 1 или 3 получается вот так
Я у себя пробовал не прокатило,может у вас заработает зеркально:
В файле Adafruit_PCD8544.cpp 2 нижнии строчки в функции begin();
// normal mode
command(PCD8544_FUNCTIONSET);
// Set display to Normal
command(PCD8544_DISPLAYCONTROL | PCD8544_DISPLAYNORMAL);
// Rotation screen on 180 X-coordinate
command( PCD8544_FUNCTIONSET | PCD8544_ROTATION );
Инфо отсюда http://www.radiokot.ru/articles/29/ , 4-й и 5-й биты Funсtion_set ,только непонятно интерпритация в 0 или 1 , в пример выставил 5-й бит.
Здравствуйте уважаемые форумчане. Довно хотел собрать частотомер на ардуино, а тут аж осцилограф! Спасибо автору темы, все достаточно подробно. Но перед тем как собрать устройство подскажите пожалуйста
1. Тут писпли что на стандартном кварце 16Мгц измеряемая частота порядка 2Мгц. У меня на данный момент лежит без дела ПРО МИНИ 328 версия 3в 8Мгц. Подойдет ли она без модернизации и каков у нее потолок частоты будет?
2. Можно ли будет посмотреть на этом девайсе "коэффициент заполнения" в %. Удобно если нужно проверить мертвое время. Преимущественно осцилограф предполагаю использовать для сборки и отладки импульсных блоков питания с частотой до 100кГц
3. Вопрос к автору, возможно ли, и планируете ли вы добавить в прошивку возможность измерения емкостей и индукции?
Здравствуйте уважаемые форумчане. Довно хотел собрать частотомер на ардуино, а тут аж осцилограф! Спасибо автору темы, все достаточно подробно. Но перед тем как собрать устройство подскажите пожалуйста
1. Тут писпли что на стандартном кварце 16Мгц измеряемая частота порядка 2Мгц. У меня на данный момент лежит без дела ПРО МИНИ 328 версия 3в 8Мгц. Подойдет ли она без модернизации и каков у нее потолок частоты будет?
2. Можно ли будет посмотреть на этом девайсе "коэффициент заполнения" в %. Удобно если нужно проверить мертвое время. Преимущественно осцилограф предполагаю использовать для сборки и отладки импульсных блоков питания с частотой до 100кГц
3. Вопрос к автору, возможно ли, и планируете ли вы добавить в прошивку возможность измерения емкостей и индукции?
Спасибо!!!
8 Мгц кварц стоит там потому что питание скорее всего вашей ардуины 3.3В если поменять стабилизатор на 5В, поставить кварц на 16Мгц и перепрошить бутлоадер у вас будет ардуина на 16 Мгц)
Здравствуйте уважаемые форумчане. Довно хотел собрать частотомер на ардуино, а тут аж осцилограф! Спасибо автору темы, все достаточно подробно. Но перед тем как собрать устройство подскажите пожалуйста
1. Тут писпли что на стандартном кварце 16Мгц измеряемая частота порядка 2Мгц. У меня на данный момент лежит без дела ПРО МИНИ 328 версия 3в 8Мгц. Подойдет ли она без модернизации и каков у нее потолок частоты будет?
2. Можно ли будет посмотреть на этом девайсе "коэффициент заполнения" в %. Удобно если нужно проверить мертвое время. Преимущественно осцилограф предполагаю использовать для сборки и отладки импульсных блоков питания с частотой до 100кГц
3. Вопрос к автору, возможно ли, и планируете ли вы добавить в прошивку возможность измерения емкостей и индукции?
Спасибо!!!
Привет.
2---100КГц слишком круто для него, он с кварцем 16МГц оцифровывает со скоростью 327КГц и получится вы увидите сигнал построенный по трем точкам(( сигнал до 30КГц покажет сносно.
3---мерить индуктивности и емкости непланирую, так как используюотлиный прибор разработанный нашим коллегой(коллегами) ТранзисторТестер.
Спасибо, значит для про мини 8МГц - все таки разгон и перепрошивка бутлодера, как советовал Xumuk пост #2203. Кстати не подскажете адрес ветки где обсуждается ТранзисторТестер.
Ваш пост #2184С кварцем 16МГц частотомер пультоскопа корректно измеряет до 6МГц какой ардуино касается?
Ну и про "коэффициент заполнения" в %. сможете что нибуд сказать?
Спасибо, хочу все моменты просто для себя прояснить!
Спасибо, значит для про мини 8МГц - все таки разгон и перепрошивка бутлодера, как советовал Xumuk пост #2203. Кстати не подскажете адрес ветки где обсуждается ТранзисторТестер.
Ваш пост #2184С кварцем 16МГц частотомер пультоскопа корректно измеряет до 6МГц какой ардуино касается?
Ну и про "коэффициент заполнения" в %. сможете что нибуд сказать?
Спасибо, хочу все моменты просто для себя прояснить!
---Любой с МК Atmega328 и кварцем 16МГц и более.
---процент заполнения он не считает. только визуально можно оценить.
Спасибо, значит для про мини 8МГц - все таки разгон и перепрошивка бутлодера, как советовал Xumuk пост #2203. Кстати не подскажете адрес ветки где обсуждается ТранзисторТестер.
Ваш пост #2184С кварцем 16МГц частотомер пультоскопа корректно измеряет до 6МГц какой ардуино касается?
Ну и про "коэффициент заполнения" в %. сможете что нибуд сказать?
Спасибо, хочу все моменты просто для себя прояснить!
---Любой с МК Atmega328 и кварцем 16МГц и более.
---процент заполнения он не считает. только визуально можно оценить.
а в новой прошивке какие идеи хотели воплотить? Просто интересно=))) второй дисплей едет с китая 5110 ради такого заказал))) и еще вопрос, а вообще это сильно сложно вкрячить скважность чтобы показывал?
Не дождался ответов (подумал испугались аватара ;), переклеил и перепаял. Спасибо zz11ss за совет. Будет время, попробую, чисто из спортивного интереса.
vasska пишет:
помоему у вас смещение в лево.испавте или нач. координаты или координаты раб поля
Это когда setRotation() задаешь поворот на 90° или 270°.
Вроде, как на контроллере ST7565R. Очень хочется собрать ослика на нем. В отзывах на Али видел "Подошел для ремонта Транзистор Тестера MG328". Наткнулся на статью http://alex-exe.ru/radio/stm32/connect-cog-lcd-st7565r/ , но там человек прикручивает к STM32.
а в новой прошивке какие идеи хотели воплотить? Просто интересно=))) второй дисплей едет с китая 5110 ради такого заказал))) и еще вопрос, а вообще это сильно сложно вкрячить скважность чтобы показывал?
-целый список набросал, озвучивать пока не сделал не буду.
а в новой прошивке какие идеи хотели воплотить? Просто интересно=))) второй дисплей едет с китая 5110 ради такого заказал))) и еще вопрос, а вообще это сильно сложно вкрячить скважность чтобы показывал?
Пожалуйста может уже кто делал для дисплея 1.8" 128X160 SPI на ST7735 ну и для себя сделал уже: в меню автоматом через 10 сек в текущий выбор, запоминает в осциллографе текущие настройки в EEPROM и при включении восстанавливает, у меня делитель 1:15 поэтому в меню добавил выбор множителя x1 или x3 для вольтметра, для этого удалил правда терминал-памяти для данных не хватало!
Всем привет, ожидаю железко для повторения данного изделия, я новичек, в глаза не видел еще ниразу ардуинку :), сам по профессии программист. Интересует такой вопрос, а почему не используется обработчик прерывания от ацп вместо цикла loop? Может кто то уже пробовал и это не актуально? Просто смотрите вот основной код замера
for(byte i=0;i<255;i++){
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
mass[i]=ADCH;
}
При трансляции в асм - это два цикла, и каждый с условием, первый еще и с инкементом. Кстати не знаю как в ардуино ретранслируется постфиксный инкремент, но в обычных осях, префиксный быстрее, а происходит это потому что постфиксный инкремент возвращает предыдущее свое значение для чего используется временная переменная, а в префиксном этого нет. А у нас тут это уже не спичечная экономия :) Ну да ладно.
Главный вопрос вот в чем. Почему нельзя использовать вместо loop прерывание типа
ISR(ADC_vect) {
if (counter < 255) {
mas[++counter] = ADCL + ADCH << 8;
} else {
// прорисовка
// Код остального
counter = -1; // Погнали опять в заполнение буфера
}
}
Что мы тут получаем: ниодного цикла, одно условие, один инкремент для наполнения, скорость выполнения = скорость ацп, сокращается количество операций, ну и
while ((ADCSRA & 0x10)==0);
не нужен, и установка бита в готовность данных происходит строго с прерыванием а не где то в середине выполнения операций в цикле, в итоге битых данных там быть не может, возможно буфер может переполняться накопленный прерываниями, но это думаю как то можно обыграть.
Да кстати по битым данным вот что в исходниках кода wiring_analog.c
// we have to read ADCL first; doing so locks both ADCL
// and ADCH until ADCH is read. reading ADCL second would
// cause the results of each conversion to be discarded,
// as ADCL and ADCH would be locked when it completed.
low = ADCL;
high = ADCH;
return (high << 8) | low;
Все нормально, нету буфера никакого, можно пробовать.
Либо наполнение делать только прерываниями
А цикл loop оставить, просто сделать volatile bite counter = -1;
Для начала прорисовки счетчик = 255, для начала наполнения счетчик < 255
тормоза не проверял ,ни одного генератора нету,если не сложно может можно как-то оптимизировать код,в вольтметре по тому же алоритму переделал,частомер оставил как есть!
тормоза не проверял ,ни одного генератора нету,если не сложно может можно как-то оптимизировать код,в вольтметре по тому же алоритму переделал,частомер оставил как есть!
Проблема у вас специфическая.
round можно убрать, просто выводите переменную без знаков после зяпятой
Ребята, вопрос по отображению значения питания. Вот в эту строчку нужно вписывать значение напряжения померенного мультиметром или нет? 5.0
display.print(analogRead(akb)*5.0/1024);
От куда берется значение 5.0/1024?
это чтобы перевести сразу в вольты, т.к. analogRead(akb) возвращает нам значение от 0 до 1024, и на дисплее вместо вольтажа будет билибирда, а так мы умножаем на коэфициент типо, который переводит значение ацп в вольты, сорри не умею грамотно обьяснять)
В главном меню показывает 5.0 В. При измерении мультиметром на ноге Vcc - 3.35v
это все не для вас.
---у вас Ардуинка трехвольтовая и нужно будет подключать через делитель напряжения и формулу править. и переменную VCC изменить на 3.35
---и значение кварца вместо 16 вписаиь 8
Мой аккамулятор выдает 7.2в. А если ее питать от кренки 5 вольт напрямую через Vcc а не через RAV. В этом случае ардуинка будет от 5в питаться. Вопрос, нужны ли будут все эти правки и делители напряжений?
Уже хочу повторить ваш прибор. Очень он мне нравится. Жду цветной дисплей с китая. Но проблема заключается в другом, мне нужен вход внешней синхронизации или (синхронизоция от сети). Это для ремонта тиристорных преобразователей. С железом проблем нет, а вот с ПО полнонолие. Прибор я всёравно соберу очень он мне нравится. даже в таком виде. И работаю я на низких частотах. Но хотелось-бы дополнительный вход. Десяти килограмовый СССР тяжело таскать за километр. А новый модный АКИП жалко. А сам собрал-бы с удовольствием такой прибор. (каробочка у меня уже есть). с уважением Володя.
Мой аккамулятор выдает 7.2в. А если ее питать от кренки 5 вольт напрямую через Vcc а не через RAV. В этом случае ардуинка будет от 5в питаться. Вопрос, нужны ли будут все эти правки и делители напряжений?
Смело можно подавать на Vcc 5V , но чтоб мерить 7,2V все равно нужен делитель и правка кода.
Мой аккамулятор выдает 7.2в. А если ее питать от кренки 5 вольт напрямую через Vcc а не через RAV. В этом случае ардуинка будет от 5в питаться. Вопрос, нужны ли будут все эти правки и делители напряжений?
Смело можно подавать на Vcc 5V , но чтоб мерить 7,2V все равно нужен делитель и правка кода.
Для "особо одаренных" повторите пожалуйста. При условии питания прошки от 7.2в через кренку 5в напрямую от Vcc, с заменой кварца на 27МГц/
1. Править код, - это где?
Только ли в этой строке? float VCC=3.35; //напряжение питания, меряем мультиметром
Или еще где? Может еще куда советовал zz11ss в четыре строчки точное значение по мультиметру
display.print((analogRead(akb)*5.0/1024), 1);
2. Делитель, какоого номинала резисторы? Пойдут ли 5% погрешности? Куда поять ноги?
Буду признателен за подробный ответ.
Я вам напишу что править и куда что припаять.
Но мне нужно чтоб вы мне сказали какие у вас резисторы будут в делителе, так как те что я вам напишу может у вас не быть. Точность резисторов не имеет значения так как все равно промеряем точно мультиметром.
Подбирайте делитель на резисторах так чтоб когда на делитель входило 8В с него выхдило 5В.
Жду номиналы резисторов.
Поскольку я в программмировании для Ардуино полный ноль и по теме найти ничего смог,прошу у вас помощи,нужен скетч или хотя бы указания,что поправить в базовом скетче пультоскопа с другим дисплеем.
Благодарю zz11ss. Есть еще резисторы на 1К, 3,3К, 4,7К, 10К, Вопрос куда паять. Для точности нужно ли резисторы мультиметром замерить? Заодно подскажите про делитель на щуп (номиналы и куда паять?), вольт до 15 - 30. Спасибо! Поставил кренку. На микросхему приходит 5,05в.
Поскольку я в программмировании для Ардуино полный ноль и по теме найти ничего смог,прошу у вас помощи,нужен скетч или хотя бы указания,что поправить в базовом скетче пультоскопа с другим дисплеем.
Заранее спасибо.
С этим дсплеем никто не делал. А править весь вывод на экран. Дофига где.
Согласно совету zz11ss и изученному материалу о делителях напряжения получается вроде так. Вопрос такой - Оставлять ли в цепи резистор на 10К который указан в схеме (А5-АКБ) тут http://srukami.inf.ua/pultoscop_v25110.html
Привет схема правильная, но делитель на 2 как вы предлагаете подходит только если ваша Ардуино питается от 5В.
7,2В / 2 = 3,6В а это больше чем 3.3В как у человека выше.
И еще рекомендовал бы увеличить номинал резисторов так как через них будет утекать с АКБ 2мА с учетм что это будет круглосуточно, то ваш делитль выжрет АКБ.
Поскольку я в программмировании для Ардуино полный ноль и по теме найти ничего смог,прошу у вас помощи,нужен скетч или хотя бы указания,что поправить в базовом скетче пультоскопа с другим дисплеем.
Заранее спасибо.
делали только под 1.8 дисплей тфт, если вы сможете вставить свою библиотеку вместо той и подогнать размеры, то только так....либо ждать... может кто сделает
Благодарю zz11ss. Есть еще резисторы на 1К, 3,3К, 4,7К, 10К, Вопрос куда паять. Для точности нужно ли резисторы мультиметром замерить? Заодно подскажите про делитель на щуп (номиналы и куда паять?), вольт до 15 - 30. Спасибо! Поставил кренку. На микросхему приходит 5,05в.
Отлично.
Вот так соединяйте и померяйте мультиметром реальное сопротивление резисторов.
Делитель прикрутил. Номиналы резисторов 4.7К ровно и 9.92К. Выводит показания 0.85в. Напряжение на делителе 2,68в Заряженный аккумулятор 8,38в
Скетч залил свой, подправил вот эти строки
display.print(analogRead(akb)*VCC/1024/3.13);
Кстати про скетч. Добавил возможность сохранения состояния фонарика и подсветки экрана после перезагрузки. Удобно светить на место платы и смотреть показаня. Вобщем идея pultoskope_5110_lexdi немного доработанная.
Все ли верно в скетче? почему обманывает в 10 раз. Может ли это быть связано с резистором в 10К который я убрал? Пост #2241
Ребята , большое вам спасибо. Вобщем прошивка меня устраиватет :) Сегодня перепаяю кварц и в бой! (мелкий вот только он там). Ах да, если впаять делитель на щуп (такой же 10К на 4.7К), корекции в скетче нужно будет где то делать? И я так понимаю резистор на входе 10К тоже убирать?
Ребята , большое вам спасибо. Вобщем прошивка меня устраиватет :) Сегодня перепаяю кварц и в бой! (мелкий вот только он там). Ах да, если впаять делитель на щуп (такой же 10К на 4.7К), корекции в скетче нужно будет где то делать? И я так понимаю резистор на входе 10К тоже убирать?
С вас фото!
Резистор можно оставить, дополнительная защита если не туда ткнете!)
Если по серьезному то на щуп нужно брать резисторы 100КОм и выше, лучше мегаомы.
---Чем выше сопротивление щупа осциллографа тем меньше он влияет на измеряемый сигнал и искажает его.
---Чем выше сопротивление щупа осциллографа тем больше защищен ваш прибор от статики и просто ошибочного тыканья в цепь с более высоким напряжением.
Если включаете щуп с делителем на постоянной основе, то можете изменить в скетче все формулы где есть переменнная VCC чтоб выводило напряжение с учетом щупа-делителя.
Планирую делитель на постоянной основе. Есть резистор на 100К и в пару к нему 10К (9,85). Подскажи пожалуйста как изменить формулы (сам боюсь ошибиться). Это те же строки я полагаю? display.print((analogRead(akb)*VCC/1024)*3.11);
множитель только 3,11 нужно будет подобрать, правильно я понимаю? Если так, то это не сложно, Там и другие строчки я видел с Vcc, там не знаю как менять.
Други, помогите повернуть изображение 5110 на 180 гр. Функция Adafruit display.setRotation() при значениях 0 или 2 (0 гр. или 270 гр.) ничего не делает. при значениях 1 или 3 получается вот так
Я у себя пробовал не прокатило,может у вас заработает зеркально:
В файле Adafruit_PCD8544.h нижняя строчка
В файле Adafruit_PCD8544.cpp 2 нижнии строчки в функции begin();
Инфо отсюда http://www.radiokot.ru/articles/29/ , 4-й и 5-й биты Funсtion_set ,только непонятно интерпритация в 0 или 1 , в пример выставил 5-й бит.
Здравствуйте уважаемые форумчане. Довно хотел собрать частотомер на ардуино, а тут аж осцилограф! Спасибо автору темы, все достаточно подробно. Но перед тем как собрать устройство подскажите пожалуйста
1. Тут писпли что на стандартном кварце 16Мгц измеряемая частота порядка 2Мгц. У меня на данный момент лежит без дела ПРО МИНИ 328 версия 3в 8Мгц. Подойдет ли она без модернизации и каков у нее потолок частоты будет?
2. Можно ли будет посмотреть на этом девайсе "коэффициент заполнения" в %. Удобно если нужно проверить мертвое время. Преимущественно осцилограф предполагаю использовать для сборки и отладки импульсных блоков питания с частотой до 100кГц
3. Вопрос к автору, возможно ли, и планируете ли вы добавить в прошивку возможность измерения емкостей и индукции?
Спасибо!!!
Здравствуйте уважаемые форумчане. Довно хотел собрать частотомер на ардуино, а тут аж осцилограф! Спасибо автору темы, все достаточно подробно. Но перед тем как собрать устройство подскажите пожалуйста
1. Тут писпли что на стандартном кварце 16Мгц измеряемая частота порядка 2Мгц. У меня на данный момент лежит без дела ПРО МИНИ 328 версия 3в 8Мгц. Подойдет ли она без модернизации и каков у нее потолок частоты будет?
2. Можно ли будет посмотреть на этом девайсе "коэффициент заполнения" в %. Удобно если нужно проверить мертвое время. Преимущественно осцилограф предполагаю использовать для сборки и отладки импульсных блоков питания с частотой до 100кГц
3. Вопрос к автору, возможно ли, и планируете ли вы добавить в прошивку возможность измерения емкостей и индукции?
Спасибо!!!
8 Мгц кварц стоит там потому что питание скорее всего вашей ардуины 3.3В если поменять стабилизатор на 5В, поставить кварц на 16Мгц и перепрошить бутлоадер у вас будет ардуина на 16 Мгц)
Спасибо, но вопрос был всетаки возможно ли использовать эту прошку без переделок и на что она будет способна :)
Честно говоря вопрос 2 и 3 интересуют больше!
Спасибо, но вопрос был всетаки возможно ли использовать эту прошку без переделок и на что она будет способна :)
вообще в скетче есть строка где устанавливается частота кварца.... попробуйте поменять будет ли работать хз
Здравствуйте уважаемые форумчане. Довно хотел собрать частотомер на ардуино, а тут аж осцилограф! Спасибо автору темы, все достаточно подробно. Но перед тем как собрать устройство подскажите пожалуйста
1. Тут писпли что на стандартном кварце 16Мгц измеряемая частота порядка 2Мгц. У меня на данный момент лежит без дела ПРО МИНИ 328 версия 3в 8Мгц. Подойдет ли она без модернизации и каков у нее потолок частоты будет?
2. Можно ли будет посмотреть на этом девайсе "коэффициент заполнения" в %. Удобно если нужно проверить мертвое время. Преимущественно осцилограф предполагаю использовать для сборки и отладки импульсных блоков питания с частотой до 100кГц
3. Вопрос к автору, возможно ли, и планируете ли вы добавить в прошивку возможность измерения емкостей и индукции?
Спасибо!!!
Привет.
2---100КГц слишком круто для него, он с кварцем 16МГц оцифровывает со скоростью 327КГц и получится вы увидите сигнал построенный по трем точкам(( сигнал до 30КГц покажет сносно.
3---мерить индуктивности и емкости непланирую, так как используюотлиный прибор разработанный нашим коллегой(коллегами) ТранзисторТестер.
Спасибо, значит для про мини 8МГц - все таки разгон и перепрошивка бутлодера, как советовал Xumuk пост #2203. Кстати не подскажете адрес ветки где обсуждается ТранзисторТестер.
Ваш пост #2184 С кварцем 16МГц частотомер пультоскопа корректно измеряет до 6МГц какой ардуино касается?
Ну и про "коэффициент заполнения" в %. сможете что нибуд сказать?
Спасибо, хочу все моменты просто для себя прояснить!
Sasha80 http://arduino.ru/forum/proekty/transistor-tester-arduino вот тема про транзистор тестер
Спасибо, значит для про мини 8МГц - все таки разгон и перепрошивка бутлодера, как советовал Xumuk пост #2203. Кстати не подскажете адрес ветки где обсуждается ТранзисторТестер.
Ваш пост #2184 С кварцем 16МГц частотомер пультоскопа корректно измеряет до 6МГц какой ардуино касается?
Ну и про "коэффициент заполнения" в %. сможете что нибуд сказать?
Спасибо, хочу все моменты просто для себя прояснить!
---Любой с МК Atmega328 и кварцем 16МГц и более.
---процент заполнения он не считает. только визуально можно оценить.
Ребята, спасибо. Буду ваять!
Спасибо, значит для про мини 8МГц - все таки разгон и перепрошивка бутлодера, как советовал Xumuk пост #2203. Кстати не подскажете адрес ветки где обсуждается ТранзисторТестер.
Ваш пост #2184 С кварцем 16МГц частотомер пультоскопа корректно измеряет до 6МГц какой ардуино касается?
Ну и про "коэффициент заполнения" в %. сможете что нибуд сказать?
Спасибо, хочу все моменты просто для себя прояснить!
---Любой с МК Atmega328 и кварцем 16МГц и более.
---процент заполнения он не считает. только визуально можно оценить.
а в новой прошивке какие идеи хотели воплотить? Просто интересно=))) второй дисплей едет с китая 5110 ради такого заказал))) и еще вопрос, а вообще это сильно сложно вкрячить скважность чтобы показывал?
Не дождался ответов (подумал испугались аватара ;), переклеил и перепаял. Спасибо zz11ss за совет. Будет время, попробую, чисто из спортивного интереса.
помоему у вас смещение в лево.испавте или нач. координаты или координаты раб поля
Это когда setRotation() задаешь поворот на 90° или 270°.
Если можно, еще вопрос всем Гуру. Кто-то здесь уже подымал вопрос по поводу использования экрана JLX12864G-086 https://ru.aliexpress.com/item/12864G-086-P-12864-LCD-Module-COG-3-3V-Or...
Вроде, как на контроллере ST7565R. Очень хочется собрать ослика на нем. В отзывах на Али видел "Подошел для ремонта Транзистор Тестера MG328". Наткнулся на статью http://alex-exe.ru/radio/stm32/connect-cog-lcd-st7565r/ , но там человек прикручивает к STM32.
а в новой прошивке какие идеи хотели воплотить? Просто интересно=))) второй дисплей едет с китая 5110 ради такого заказал))) и еще вопрос, а вообще это сильно сложно вкрячить скважность чтобы показывал?
-целый список набросал, озвучивать пока не сделал не буду.
-Но математики добавлю.
а в новой прошивке какие идеи хотели воплотить? Просто интересно=))) второй дисплей едет с китая 5110 ради такого заказал))) и еще вопрос, а вообще это сильно сложно вкрячить скважность чтобы показывал?
Пожалуйста может уже кто делал для дисплея 1.8" 128X160 SPI на ST7735 ну и для себя сделал уже: в меню автоматом через 10 сек в текущий выбор, запоминает в осциллографе текущие настройки в EEPROM и при включении восстанавливает, у меня делитель 1:15 поэтому в меню добавил выбор множителя x1 или x3 для вольтметра, для этого удалил правда терминал-памяти для данных не хватало!
Хочу обратится с вопросом к fly245, есть ли у Вас чем поделится что я спрашивал в этой ветке (пост #401)?
Или просто краткое резюме, чем те эксперименты закончились.
Спасибо! :)
http://arduino.ru/forum/proekty/mini-ostsillograf-arduino-na-lcd-5110?pa...
Всем привет, ожидаю железко для повторения данного изделия, я новичек, в глаза не видел еще ниразу ардуинку :), сам по профессии программист. Интересует такой вопрос, а почему не используется обработчик прерывания от ацп вместо цикла loop? Может кто то уже пробовал и это не актуально? Просто смотрите вот основной код замера
При трансляции в асм - это два цикла, и каждый с условием, первый еще и с инкементом. Кстати не знаю как в ардуино ретранслируется постфиксный инкремент, но в обычных осях, префиксный быстрее, а происходит это потому что постфиксный инкремент возвращает предыдущее свое значение для чего используется временная переменная, а в префиксном этого нет. А у нас тут это уже не спичечная экономия :) Ну да ладно.
Главный вопрос вот в чем. Почему нельзя использовать вместо loop прерывание типа
Что мы тут получаем: ниодного цикла, одно условие, один инкремент для наполнения, скорость выполнения = скорость ацп, сокращается количество операций, ну и
не нужен, и установка бита в готовность данных происходит строго с прерыванием а не где то в середине выполнения операций в цикле, в итоге битых данных там быть не может, возможно буфер может переполняться накопленный прерываниями, но это думаю как то можно обыграть.
Вот человек замеры делал http://robotosha.ru/arduino/analog-measurements-arduino.html
Было бы железо попробовал
Заранее благодарен за разъяснения, не судите строго если чего то не знаю
Да кстати по битым данным вот что в исходниках кода wiring_analog.c
// we have to read ADCL first; doing so locks both ADCL
// and ADCH until ADCH is read. reading ADCL second would
// cause the results of each conversion to be discarded,
// as ADCL and ADCH would be locked when it completed.
low = ADCL;
high = ADCH;
return (high << 8) | low;
Очередность получения байтов важна
Все нормально, нету буфера никакого, можно пробовать.
Либо наполнение делать только прерываниями
А цикл loop оставить, просто сделать
volatile bite counter = -1;
Для начала прорисовки счетчик = 255, для начала наполнения счетчик < 255
Вопрос снят, будет медленнее :)
Короче разабрался с зеркалом,жалко было дисплей выкидывать,нужно:
1: в скетче писать меню справо налево (Пила->алиП)
2: в glcdfont.c букву например 0x7F, 0x41, 0x41, 0x22, 0x1C,// D 0x44 преобразовать в 0x1C, 0x22, 0x41, 0x41, 0x7F,// D 0x44 зеркально
3: ну и расчет например напряжений:
тормоза не проверял ,ни одного генератора нету,если не сложно может можно как-то оптимизировать код,в вольтметре по тому же алоритму переделал,частомер оставил как есть!
Короче разабрался с зеркалом,жалко было дисплей выкидывать,нужно:
1: в скетче писать меню справо налево (Пила->алиП)
2: в glcdfont.c букву например 0x7F, 0x41, 0x41, 0x22, 0x1C,// D 0x44 преобразовать в 0x1C, 0x22, 0x41, 0x41, 0x7F,// D 0x44 зеркально
3: ну и расчет например напряжений:
тормоза не проверял ,ни одного генератора нету,если не сложно может можно как-то оптимизировать код,в вольтметре по тому же алоритму переделал,частомер оставил как есть!
Проблема у вас специфическая.
round можно убрать, просто выводите переменную без знаков после зяпятой
display.print(tmp,0);
-
Ребята, вопрос по отображению значения питания. Вот в эту строчку нужно вписывать значение напряжения померенного мультиметром или нет? 5.0
display.print(analogRead(akb)*5.0/1024);
От куда берется значение 5.0/1024?
Ребята, вопрос по отображению значения питания. Вот в эту строчку нужно вписывать значение напряжения померенного мультиметром или нет? 5.0
display.print(analogRead(akb)*5.0/1024);
От куда берется значение 5.0/1024?
это чтобы перевести сразу в вольты, т.к. analogRead(akb) возвращает нам значение от 0 до 1024, и на дисплее вместо вольтажа будет билибирда, а так мы умножаем на коэфициент типо, который переводит значение ацп в вольты, сорри не умею грамотно обьяснять)
Да вобщем то понятно, для визуально привычного значения. Просто расчет привычного значения, и подставлять измеренные значения сюда не нужно.
Собственно вопрос был задан потому что устройство показывает заряд батареи, на мой взгляд не совсем правильно.
Подключил Vcc на А3 через резистор 10к (временно про мини 3,3в)
В сетче так:
#define akb A3 //любой свободный аналоговый пин для измерения напряжения АКБ
float VCC=3.35; //напряжение питания, меряем мультиметром
В главном меню показывает 5.0 В. При измерении мультиметром на ноге Vcc - 3.35v
Собственно вопрос был задан потому что устройство показывает заряд батареи, на мой взгляд не совсем правильно.
Подключил Vcc на А3 через резистор 10к (временно про мини 3,3в)
В сетче так:
#define akb A3 //любой свободный аналоговый пин для измерения напряжения АКБ
float VCC=3.35; //напряжение питания, меряем мультиметром
В главном меню показывает 5.0 В. При измерении мультиметром на ноге Vcc - 3.35v
это все не для вас.
---у вас Ардуинка трехвольтовая и нужно будет подключать через делитель напряжения и формулу править. и переменную VCC изменить на 3.35
---и значение кварца вместо 16 вписаиь 8
Попробуйте так:
(5.0 это опорное напряжение,а у вас сейчас 3.3 ), только нужно менять в 4-х строчках меню!
Попробуйте так:
(5.0 это опорное напряжение,а у вас сейчас 3.3 ), только нужно менять в 4-х строчках меню!
Это правильный совет.
Но напряжение заряженного литиевого АКБ 4.2В это больше чем опорное поэтому нужен делитель напояжения.
Мой аккамулятор выдает 7.2в. А если ее питать от кренки 5 вольт напрямую через Vcc а не через RAV. В этом случае ардуинка будет от 5в питаться. Вопрос, нужны ли будут все эти правки и делители напряжений?
Уже хочу повторить ваш прибор. Очень он мне нравится. Жду цветной дисплей с китая. Но проблема заключается в другом, мне нужен вход внешней синхронизации или (синхронизоция от сети). Это для ремонта тиристорных преобразователей. С железом проблем нет, а вот с ПО полнонолие. Прибор я всёравно соберу очень он мне нравится. даже в таком виде. И работаю я на низких частотах. Но хотелось-бы дополнительный вход. Десяти килограмовый СССР тяжело таскать за километр. А новый модный АКИП жалко. А сам собрал-бы с удовольствием такой прибор. (каробочка у меня уже есть). с уважением Володя.
Мой аккамулятор выдает 7.2в. А если ее питать от кренки 5 вольт напрямую через Vcc а не через RAV. В этом случае ардуинка будет от 5в питаться. Вопрос, нужны ли будут все эти правки и делители напряжений?
Смело можно подавать на Vcc 5V , но чтоб мерить 7,2V все равно нужен делитель и правка кода.
Мой аккамулятор выдает 7.2в. А если ее питать от кренки 5 вольт напрямую через Vcc а не через RAV. В этом случае ардуинка будет от 5в питаться. Вопрос, нужны ли будут все эти правки и делители напряжений?
Смело можно подавать на Vcc 5V , но чтоб мерить 7,2V все равно нужен делитель и правка кода.
Для "особо одаренных" повторите пожалуйста. При условии питания прошки от 7.2в через кренку 5в напрямую от Vcc, с заменой кварца на 27МГц/
1. Править код, - это где?
Только ли в этой строке? float VCC=3.35; //напряжение питания, меряем мультиметром
Или еще где? Может еще куда советовал zz11ss в четыре строчки точное значение по мультиметру
display.print((analogRead(akb)*5.0/1024), 1);
2. Делитель, какоого номинала резисторы? Пойдут ли 5% погрешности? Куда поять ноги?
Буду признателен за подробный ответ.
Для "особо одаренных" повторите пожалуйста. При условии питания прошки от 7.2в через кренку 5в напрямую от Vcc, с заменой кварца на 27МГц/
1. Править код, - это где?
Только ли в этой строке? float VCC=3.35; //напряжение питания, меряем мультиметром
Или еще где? Может еще куда советовал zz11ss в четыре строчки точное значение по мультиметру
display.print((analogRead(akb)*5.0/1024), 1);
2. Делитель, какоого номинала резисторы? Пойдут ли 5% погрешности? Куда поять ноги?
Буду признателен за подробный ответ.
Я вам напишу что править и куда что припаять.
Но мне нужно чтоб вы мне сказали какие у вас резисторы будут в делителе, так как те что я вам напишу может у вас не быть. Точность резисторов не имеет значения так как все равно промеряем точно мультиметром.
Подбирайте делитель на резисторах так чтоб когда на делитель входило 8В с него выхдило 5В.
Жду номиналы резисторов.
Здравствуйте,решил собрать ваш пультоскоп,в наличии:
Дисплей 2.2 240*320 SPI TFT ili9341;
Arduino UNO;
Поскольку я в программмировании для Ардуино полный ноль и по теме найти ничего смог,прошу у вас помощи,нужен скетч или хотя бы указания,что поправить в базовом скетче пультоскопа с другим дисплеем.
Заранее спасибо.
Буду признателен за подробный ответ.
можно собрать делитель на 2, например 2 резистора по 2кОм и величина опорного принять = 10, питание +5v
Благодарю zz11ss. Есть еще резисторы на 1К, 3,3К, 4,7К, 10К, Вопрос куда паять. Для точности нужно ли резисторы мультиметром замерить? Заодно подскажите про делитель на щуп (номиналы и куда паять?), вольт до 15 - 30. Спасибо! Поставил кренку. На микросхему приходит 5,05в.
Здравствуйте,решил собрать ваш пультоскоп,в наличии:
Дисплей 2.2 240*320 SPI TFT ili9341;
Arduino UNO;
Поскольку я в программмировании для Ардуино полный ноль и по теме найти ничего смог,прошу у вас помощи,нужен скетч или хотя бы указания,что поправить в базовом скетче пультоскопа с другим дисплеем.
Заранее спасибо.
Согласно совету zz11ss и изученному материалу о делителях напряжения получается вроде так. Вопрос такой - Оставлять ли в цепи резистор на 10К который указан в схеме (А5-АКБ) тут http://srukami.inf.ua/pultoscop_v25110.html
Прошу сказать, правильна ли схема?
....
Прошу сказать, правильна ли схема?
Привет схема правильная, но делитель на 2 как вы предлагаете подходит только если ваша Ардуино питается от 5В.
7,2В / 2 = 3,6В а это больше чем 3.3В как у человека выше.
И еще рекомендовал бы увеличить номинал резисторов так как через них будет утекать с АКБ 2мА с учетм что это будет круглосуточно, то ваш делитль выжрет АКБ.
После делителя можно напрямую заводить в ардуино.
Здравствуйте,решил собрать ваш пультоскоп,в наличии:
Дисплей 2.2 240*320 SPI TFT ili9341;
Arduino UNO;
Поскольку я в программмировании для Ардуино полный ноль и по теме найти ничего смог,прошу у вас помощи,нужен скетч или хотя бы указания,что поправить в базовом скетче пультоскопа с другим дисплеем.
Заранее спасибо.
делали только под 1.8 дисплей тфт, если вы сможете вставить свою библиотеку вместо той и подогнать размеры, то только так....либо ждать... может кто сделает
Благодарю zz11ss. Есть еще резисторы на 1К, 3,3К, 4,7К, 10К, Вопрос куда паять. Для точности нужно ли резисторы мультиметром замерить? Заодно подскажите про делитель на щуп (номиналы и куда паять?), вольт до 15 - 30. Спасибо! Поставил кренку. На микросхему приходит 5,05в.
Отлично.
Вот так соединяйте и померяйте мультиметром реальное сопротивление резисторов.
А я напишу что в скетче менять.
Для щупа принцып тот же.
Sasha80
скетч под ваш делитель и питание 5,05В
Отпишитесь когда зальете.
Делитель прикрутил. Номиналы резисторов 4.7К ровно и 9.92К. Выводит показания 0.85в. Напряжение на делителе 2,68в Заряженный аккумулятор 8,38в
Скетч залил свой, подправил вот эти строки
display.print(analogRead(akb)*VCC/1024/3.13);
Кстати про скетч. Добавил возможность сохранения состояния фонарика и подсветки экрана после перезагрузки. Удобно светить на место платы и смотреть показаня. Вобщем идея pultoskope_5110_lexdi немного доработанная.
Все ли верно в скетче? почему обманывает в 10 раз. Может ли это быть связано с резистором в 10К который я убрал? Пост #2241
Sasha80
---Показывает не правильно, я виноват вместо умножить поделил.)))
нужно так display.print((analogRead(akb)*VCC/1024)*3.11);
---на 10К резистор не нужен, он в схеме для защиты порта если каким то образом туду попадет дольше 5В то падение напряжение на нем убережет порт.
Ребята , большое вам спасибо. Вобщем прошивка меня устраиватет :) Сегодня перепаяю кварц и в бой! (мелкий вот только он там). Ах да, если впаять делитель на щуп (такой же 10К на 4.7К), корекции в скетче нужно будет где то делать? И я так понимаю резистор на входе 10К тоже убирать?
Ребята , большое вам спасибо. Вобщем прошивка меня устраиватет :) Сегодня перепаяю кварц и в бой! (мелкий вот только он там). Ах да, если впаять делитель на щуп (такой же 10К на 4.7К), корекции в скетче нужно будет где то делать? И я так понимаю резистор на входе 10К тоже убирать?
С вас фото!
Резистор можно оставить, дополнительная защита если не туда ткнете!)
Если по серьезному то на щуп нужно брать резисторы 100КОм и выше, лучше мегаомы.
---Чем выше сопротивление щупа осциллографа тем меньше он влияет на измеряемый сигнал и искажает его.
---Чем выше сопротивление щупа осциллографа тем больше защищен ваш прибор от статики и просто ошибочного тыканья в цепь с более высоким напряжением.
Если включаете щуп с делителем на постоянной основе, то можете изменить в скетче все формулы где есть переменнная VCC чтоб выводило напряжение с учетом щупа-делителя.
bodriy2014 фото обещаю!
Планирую делитель на постоянной основе. Есть резистор на 100К и в пару к нему 10К (9,85). Подскажи пожалуйста как изменить формулы (сам боюсь ошибиться). Это те же строки я полагаю? display.print((analogRead(akb)*VCC/1024)*3.11);
множитель только 3,11 нужно будет подобрать, правильно я понимаю? Если так, то это не сложно, Там и другие строчки я видел с Vcc, там не знаю как менять.