arduinec, А причем тут скетч? Плата ардуино называется? Ардуино. При загрузке скетча нужен загрузчик, который занимает окомо 2 кб памяти, которой и так не достаточно. Заливайте .hex и .eep через программатор.
Он не на скетче , а на полной прошивке микроконтроллера Ардуино.
Ну и чем эта прошивка отличается от прошивки разработчиков ТТ ?
У разработчиков кроме прошивки есть исходный код (на Си кстати) и документация (в том числе и на русском языке).
512 тоже объем. Чем вас не устраивает Makefile, редактируйте, что вам нужно, компилируйте и заливайте. Места для всего, что есть уже не хватает в 328, + как вы хотие загрузчик 512 байт, где логика? Без загрузчика не входит все, что можно.
Неверно. Загрузчик нужен для загрузки прошивки через USB-UART. На этом этапе уже нет никакого скетча, есть только скомпилированный *.hex. Поэтому скомпилированный скетч (hex) из Arduino IDE можно точно также загружать через программатор, без загрузчика.
Добавил в скетч поддержку дисплея OLED 0.96" (based on SSD1306 drivers) в текстовом режиме, номер версии при этом поменялся на 1.08.003. В комплект добавил также подключаемые библиотеки дисплеев.
Для дисплея LCD 1602 раскомментируется #define LCD1602.
Для дисплея LCD 1602 с I2C-интерфейсом комментарий снимается с двух строк: #define LCD1602 и #define LCD_I2C.
Для дисплея Nokia 5110 комментарий убирается с #define NOK5110.
Для дисплея OLED 0.96" с SPI-интерфейсом раскомментируется #define OLED096.
Для дисплея OLED 0.96" с I2C-интерфейсом комментарий снимается с двух строк: #define OLED096 и #define OLED_I2C.
Вывод в Serial port работает, даже если закомментированы все строчки с дисплеями.
А вы можете добавить в скетч поддержку энкодера для пролистывания меню?
Я собрал тестер по схеме из поста 38 , но с прошивками что-то не прокатывало, то тестер вообще не включался, то тестировал какую-то RC сборку, хотя тестовые контакты были пустые, причем каждый раз с разными результатами. В общем не хочется все распаивать и собирать заново на другой плате, а хотелось бы использовать то что уже есть с энкодером.
Фото моей платы (извиняюсь за качество, фотографировал на вебку).
Тогда ещё вопрос - можно ли сменить основные порты от TP1-TP2-TP3, то есть А0-А1-А2 на другие? А6 к примеру, потому как у меня А0 накрылся из-за переполюсовки аккумулятора когда ардуника стояла в другом проекте.
По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа: R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.
По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа: R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.
У разработчиков все как было, так и осталось, там порты в формате AVR указаны, но порта PC* для 6 и 7 аналоговых пинов почему-то нет, только какой-то AVDC*, но если его поставить, то исходники не компилируются ругаясь, что не знают что такое AVDC* -
#define TP1 PC0
#define TP2 PC1
#define TP3 PC2
// Port pin for external Voltage measurement (zener voltage extension) PC3
#define TPext ((1<<MUX1) | (1<<MUX0))
// Port pin for 2.5V precision reference used for VCC check (optional) PC4
#define TPREF (1<<MUX2)
#define TPRELAY PC4
// Port pin for Battery voltage measuring PC5
#define TPBAT PC5
Я думал в скетч-версии это проще сделать, просто поставить в этих строчках свои порты:
#define TP1 0 // Вместо 0 поставить 6
#define TP2 1
#define TP3 2
#define TPext 3
// Port pin for 2.5V precision reference used for VCC check (optional)
#define TPREF 4
// Port pin for Battery voltage measuring
#define TPBAT 5
Но если вместо 0 поставить 6, то при тестировании любого компонента (резистора или конденсатора) выдает всегда только вот это:
По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа: R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.
В вышеуказанной строчке Транзистор-тестер, используя номера TP1 с помощью регистра DDRB, подключает для измерений нужные резисторы 680 Ом и 470 кОм.
О каких 6 там может идти речь, если при 3 уже выходит за диапазон?
В вышеуказанной строчке Транзистор-тестер, используя номера TP1 с помощью регистра DDRB, подключает для измерений нужные резисторы 680 Ом и 470 кОм.
О каких 6 там может идти речь, если при 3 уже выходит за диапазон?
Мда... В общем ясно, что ни чего не ясно. Мне во всяком случае. Я очень плохо разбираюсь в физико-математичесих функциях и операциях на C++, более-мение могу понять только на Object Pascal (Delphi), так что для меня язык программирования Arduino все же пока теный и страшный лес.
Ну а пока жду новую ардуино нано с китая, собрал вот такую конструкцию-абстракцию:
Приветствую! Спасибо за труды. Собрал на прошивке tt108001, дисплей 16/2 по i2c. На «нано» залилось только с ide1.5.0.
Заметил одно неудобство в работе прибора. После включения чтобы начать тестирование компонента надо нажать на кнопку А3, после чего на экран выводятся результаты. А вот чтобы начать новое тестирование требуется нажать кнопку «ресет» чтобы перезапустить прибор. По-другому запустить новое тестирование не получается, кнопка А3 больше не срабатывает, прибор сам не переходит в другое состояние, на экране бесконечно высвечиваются данные последних измерений.
Подскажите это такая особенность прошивки или у меня что-то не так работает, как это можно починить?
Еще вопрос, при тестировании транзистора показатель "B=" - это hfe?
Ребята всё это прикольно собрать на скетче, но собранный здесь скетч из древних исходников, сейчас в исходниках уже куча исправлений и дополнений , я вот к примеру ардуино использую ка Винтаж ( ну и в принципе проще менять микроконтроллер, да и цена ардуино равна цене микроконтроллера , и кнопка ресет в моих проектах выполняет роль кнопки OFF ) , проще собрать и прощить полностью микроконтроллер HEX файлом. Ну или взять самые свежие исходники и перебрать полностью скетч,... Но !! сейчас уже прошивки не помещаються в микроконтроллер 328р , не говоря уже про скетч который использует ещё и загрузчик в памяти. Нам уже в прошивках под HEX , не хватает основной памяти и памяти EEPROM.
Ну тогда нужно собирать на ардуино мега 2560 , и писать под него скетч. Но сейчас собирать на скетче выложенный здесь , отставший практически на 400 ревизий ( обновлений ) , ну я не знаю .... если только для познаний самого ардуино ..
Заметил одно неудобство в работе прибора. После включения чтобы начать тестирование компонента надо нажать на кнопку А3, после чего на экран выводятся результаты. А вот чтобы начать новое тестирование требуется нажать кнопку «ресет» чтобы перезапустить прибор. По-другому запустить новое тестирование не получается, кнопка А3 больше не срабатывает, прибор сам не переходит в другое состояние, на экране бесконечно высвечиваются данные последних измерений.
Подтягивающий резистор (100 кОм) к питанию у кнопки есть? (пост #2)
Флюс отмывать обязательно, и очень хорошо отмывать, конденсатор 1nf , резистор на кнопку 27 кОм , куда подаёш питание ? , что бы не вспоминать и не копаться куда посажен I2C, светодиод L идущий на 13-й (или резистор) удалён с платы Нано ? ,
мне то же показалось что кнопка неправильно подключена, но не имея под рукой ардуины трудно в голове переворачивать твои фото нумерацией пинов, по этому и просил фото с ардуиной.
Теперь при выборе дисплея достаточно раскомментировать одну строку:
//#define LCD1602 - для дисплея LCD 1602 //#define LCD_I2C - для дисплея LCD 1602 с I2C-интерфейсом //#define NOK5110 - для дисплея Nokia 5110 //#define OLED096 - для дисплея OLED 0.96" с SPI-интерфейсом //#define OLED_I2C - для дисплея OLED 0.96" с I2C-интерфейсом
Вывод в Serial port работает, даже если закомментированы все строчки с дисплеями.
Подскажите-а номинал сопротивлений(на аналоговых входах)- нужно строго выдерживать ?
На аналоговых входах A0-A2 обязательно: номиналы этих сопротивлений используюся при измерениях (рекомендуется подбирать резисторы с допуском 0.1%).
В скетче номиналы резисторов можно изменить, но точность измерений может пострадать.
Вот ещё один проект , уже с большим графическим дисплеем ( дисплей ST7920 ) , на Али их полно.
https://yadi.sk/d/LFxc_SL63GRsMV
Вот ещё один проект , уже с большим графическим дисплеем ( дисплей ST7920 ) , на Али их полно.
Ну и где скетч данного проекта?
Прошивка для данного дисплея есть и у разработчиков ТТ:
http://www.mikrocontroller.net/svnbrowser/transistortester/Software/trun...
Он не на скетче , а на полной прошивке микроконтроллера Ардуино.
arduinec, А причем тут скетч? Плата ардуино называется? Ардуино. При загрузке скетча нужен загрузчик, который занимает окомо 2 кб памяти, которой и так не достаточно. Заливайте .hex и .eep через программатор.
Он не на скетче , а на полной прошивке микроконтроллера Ардуино.
Ну и чем эта прошивка отличается от прошивки разработчиков ТТ ?
У разработчиков кроме прошивки есть исходный код (на Си кстати) и документация (в том числе и на русском языке).
arduinec, А причем тут скетч? Плата ардуино называется? Ардуино.
При прошивке (.hex и .eep) плата из Arduino превращается в просто AVR-контроллер.
При загрузке скетча нужен загрузчик, который занимает окомо 2 кб памяти, которой и так не достаточно.
В Arduino Nano можно загрузчик 512 байт залить.
512 тоже объем. Чем вас не устраивает Makefile, редактируйте, что вам нужно, компилируйте и заливайте. Места для всего, что есть уже не хватает в 328, + как вы хотие загрузчик 512 байт, где логика? Без загрузчика не входит все, что можно.
Он не на скетче , а на полной прошивке
Скетч - это исходный код прошивки.
микроконтроллера Ардуино.
Нет такого. Есть микроконтроллер Atmega (AVR), который стоит на плате Ардуино.
При загрузке скетча нужен загрузчик
Неверно. Загрузчик нужен для загрузки прошивки через USB-UART. На этом этапе уже нет никакого скетча, есть только скомпилированный *.hex. Поэтому скомпилированный скетч (hex) из Arduino IDE можно точно также загружать через программатор, без загрузчика.
Чем вас не устраивает Makefile, редактируйте, что вам нужно, компилируйте и заливайте.
В постах #1 и #18 данной темы я уже выбрал что нужно и сделал скетчи ТТ для Arduino.
Плата ардуино называется? Ардуино.
Вот именно что называется - от Ардуины там только название, вытравленное на плате. Реально же там используется только микроконтроллер.
Очень люблю этот транзистортестер и хочу собрать его улучшенную версию. Есть пару вопросов:
1) Какой экран лучше ставить? (дает меньше помех)
2) Может есть у кого актуальная схема+плата (желательно в Eagle) с хорошим ИОН и другими улучшениями ттх прибора?
3) Если схемы нет, то какие модификации посоветуете сделать?
1- выбирайте http://vrtp.ru/index.php?showtopic=26668&st=1170
2- пункт 3
3- читайте http://vrtp.ru/index.php?showtopic=26994
А под 0,96 OLED не переписывали еще?
Добавил в скетч поддержку дисплея OLED 0.96" (based on SSD1306 drivers) в текстовом режиме, номер версии при этом поменялся на 1.08.003. В комплект добавил также подключаемые библиотеки дисплеев.
https://yadi.sk/d/d_feRbpv3N852E
Для выбора дисплея нужно раскомментировать (остальные закомментировать) требуемые #define:
Для дисплея LCD 1602 раскомментируется #define LCD1602.
Для дисплея LCD 1602 с I2C-интерфейсом комментарий снимается с двух строк: #define LCD1602 и #define LCD_I2C.
Для дисплея Nokia 5110 комментарий убирается с #define NOK5110.
Для дисплея OLED 0.96" с SPI-интерфейсом раскомментируется #define OLED096.
Для дисплея OLED 0.96" с I2C-интерфейсом комментарий снимается с двух строк: #define OLED096 и #define OLED_I2C.
Вывод в Serial port работает, даже если закомментированы все строчки с дисплеями.
Для отображения символов диода, конденсатора, резистора на дисплеях Nokia 5110 и OLED 0.96" в библиотеке Adafruit-GFX нужно заменить шрифт. Как это сделать описано здесь: http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru... (новый шрифт в посте 80).
В моих скетчах меню нет.
Тогда ещё вопрос - можно ли сменить основные порты от TP1-TP2-TP3, то есть А0-А1-А2 на другие? А6 к примеру, потому как у меня А0 накрылся из-за переполюсовки аккумулятора когда ардуника стояла в другом проекте.
По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа:
R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.
Впрочем у разработчиков (http://www.mikrocontroller.net/svnbrowser/transistortester/) в последних версиях может быть есть возможность менять пины и порты.
По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа:
R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.
Впрочем у разработчиков (http://www.mikrocontroller.net/svnbrowser/transistortester/) в последних версиях может быть есть возможность менять пины и порты.
У разработчиков все как было, так и осталось, там порты в формате AVR указаны, но порта PC* для 6 и 7 аналоговых пинов почему-то нет, только какой-то AVDC*, но если его поставить, то исходники не компилируются ругаясь, что не знают что такое AVDC* -
Я думал в скетч-версии это проще сделать, просто поставить в этих строчках свои порты:
Но если вместо 0 поставить 6, то при тестировании любого компонента (резистора или конденсатора) выдает всегда только вот это:
По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа:
R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.
В вышеуказанной строчке Транзистор-тестер, используя номера TP1 с помощью регистра DDRB, подключает для измерений нужные резисторы 680 Ом и 470 кОм.
О каких 6 там может идти речь, если при 3 уже выходит за диапазон?
В вышеуказанной строчке Транзистор-тестер, используя номера TP1 с помощью регистра DDRB, подключает для измерений нужные резисторы 680 Ом и 470 кОм.
О каких 6 там может идти речь, если при 3 уже выходит за диапазон?
Мда... В общем ясно, что ни чего не ясно. Мне во всяком случае. Я очень плохо разбираюсь в физико-математичесих функциях и операциях на C++, более-мение могу понять только на Object Pascal (Delphi), так что для меня язык программирования Arduino все же пока теный и страшный лес.
Ну а пока жду новую ардуино нано с китая, собрал вот такую конструкцию-абстракцию:
Приветствую! Спасибо за труды. Собрал на прошивке tt108001, дисплей 16/2 по i2c. На «нано» залилось только с ide1.5.0.
Заметил одно неудобство в работе прибора. После включения чтобы начать тестирование компонента надо нажать на кнопку А3, после чего на экран выводятся результаты. А вот чтобы начать новое тестирование требуется нажать кнопку «ресет» чтобы перезапустить прибор. По-другому запустить новое тестирование не получается, кнопка А3 больше не срабатывает, прибор сам не переходит в другое состояние, на экране бесконечно высвечиваются данные последних измерений.
Подскажите это такая особенность прошивки или у меня что-то не так работает, как это можно починить?
Еще вопрос, при тестировании транзистора показатель "B=" - это hfe?
Ребята всё это прикольно собрать на скетче, но собранный здесь скетч из древних исходников, сейчас в исходниках уже куча исправлений и дополнений , я вот к примеру ардуино использую ка Винтаж ( ну и в принципе проще менять микроконтроллер, да и цена ардуино равна цене микроконтроллера , и кнопка ресет в моих проектах выполняет роль кнопки OFF ) , проще собрать и прощить полностью микроконтроллер HEX файлом. Ну или взять самые свежие исходники и перебрать полностью скетч,... Но !! сейчас уже прошивки не помещаються в микроконтроллер 328р , не говоря уже про скетч который использует ещё и загрузчик в памяти. Нам уже в прошивках под HEX , не хватает основной памяти и памяти EEPROM.
Вот повторю свои проекты : 1) https://yadi.sk/d/f1ZdHoiB3CdC6G ; 2) https://yadi.sk/d/LFxc_SL63GRsMV
savantik, Я хочу на ардуино с скетчами.
Ну тогда нужно собирать на ардуино мега 2560 , и писать под него скетч. Но сейчас собирать на скетче выложенный здесь , отставший практически на 400 ревизий ( обновлений ) , ну я не знаю .... если только для познаний самого ардуино ..
Меня в устраивает, точности мне достаточно, мне бы только решить вопрос с кнопкой.
Заметил одно неудобство в работе прибора. После включения чтобы начать тестирование компонента надо нажать на кнопку А3, после чего на экран выводятся результаты. А вот чтобы начать новое тестирование требуется нажать кнопку «ресет» чтобы перезапустить прибор. По-другому запустить новое тестирование не получается, кнопка А3 больше не срабатывает, прибор сам не переходит в другое состояние, на экране бесконечно высвечиваются данные последних измерений.
Подтягивающий резистор (100 кОм) к питанию у кнопки есть? (пост #2)
Есть, все по инструкции. Конденсатор на 100nf тоже поставил, а то емкости очень плохо определял.
Не совсем понял, как закинуть картинки большего размера, надеюсь, все, что нужно видно.
Платка жирная, еще флюс не отмывал.
А фото с ардуино, и на фига 100nf , когда в самой ардуино стоит уже 100nf , и по идеи там лучше поставить 1nf.
Там "нано" ставиться, 1 и 30 пины я отметил http://www.prorobot.ru/arduino/nano-v3/nano-shema.png
Без 100nf очень сильно ошибался с определением конженсаторов особенно электролитов, с ним все ок.
Флюс отмывать обязательно, и очень хорошо отмывать, конденсатор 1nf , резистор на кнопку 27 кОм , куда подаёш питание ? , что бы не вспоминать и не копаться куда посажен I2C, светодиод L идущий на 13-й (или резистор) удалён с платы Нано ? ,
Флюс я ессено отмыл, фоткал просто с ним. Питаю от компа через mini usb.
scl = A6, sda = A5
Чётко не видно, но похоже резистор 100 кОм стоит между пином A3 и замыкаемой на землю кнопкой.
Подтягивающий же резистор подключается как на рисунке:
Замерий на выводе 27 (5V) ардуины какое там напряжение.
Все праивльно, поставил между а3 и кнопкой, переделаю отпишусь.
Померил, там 4,65.
мне то же показалось что кнопка неправильно подключена, но не имея под рукой ардуины трудно в голове переворачивать твои фото нумерацией пинов, по этому и просил фото с ардуиной.
-
Теперь ясно зачем фото, похоже нашли проблему.
Кнопка идет на А3 и землю , резистор идет на А3 и +5 вольт ( выше ресунок, представь что вывод 8 это твой А3 )
Спасибо мужики за помощь, теперь работает.
Вот ещё один проект , уже с большим графическим дисплеем ( дисплей ST7920 ) , на Али их полно.
https://yadi.sk/d/LFxc_SL63GRsMV
Можете пояснить по поводу прошивки? Не понятно чем отличаются прошивки и как их заливать.
Можете пояснить по поводу прошивки? Не понятно чем отличаются прошивки и как их заливать.
В данной теме выложены и заливаются стандартным образом скетчи. Прошивки и документация (на русском языке) есть на сайте разработчиков:
https://www.mikrocontroller.net/svnbrowser/transistortester/
Добрый день. Ребята а для проверки диспа надо переделывать схему под транзисто тестер или он и так будет показывать главную менюшку?
Добрый день. Ребята а для проверки диспа надо переделывать схему под транзисто тестер или он и так будет показывать главную менюшку?
В данной теме опубликовано несколько схем, отличающихся друг от друга. Про какую идёт речь?
Подправил немного скетч (номер версии стал 1.08.004): https://yadi.sk/d/2CiXYkhV3QSsQn
Теперь при выборе дисплея достаточно раскомментировать одну строку:
//#define LCD1602 - для дисплея LCD 1602
//#define LCD_I2C - для дисплея LCD 1602 с I2C-интерфейсом
//#define NOK5110 - для дисплея Nokia 5110
//#define OLED096 - для дисплея OLED 0.96" с SPI-интерфейсом
//#define OLED_I2C - для дисплея OLED 0.96" с I2C-интерфейсом
Вывод в Serial port работает, даже если закомментированы все строчки с дисплеями.
Для отображения символов диода, конденсатора, резистора на дисплеях Nokia 5110 и OLED 0.96" в библиотеке Adafruit-GFX нужно заменить шрифт. Как это сделать описано здесь: http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru... (новый шрифт в посте 80).
Заодно прилагаю схему Transistor Tester for Arduino:
Подскажите-а номинал сопротивлений(на аналоговых входах)- нужно строго выдерживать ?
Подскажите-а номинал сопротивлений(на аналоговых входах)- нужно строго выдерживать ?
На аналоговых входах A0-A2 обязательно: номиналы этих сопротивлений используюся при измерениях (рекомендуется подбирать резисторы с допуском 0.1%).
В скетче номиналы резисторов можно изменить, но точность измерений может пострадать.