Enjoy - Интересный обзор получился)) У меня только вопрос, вы мелодию тревоги поменяли или что-то сломалось??
Вообще физический выключатель не обязательно ставить, прибор же можно программно выключить) На неисправном счётчике можно попробовать занизить напряжение питания, чувствительность конечно немного упадет, но возможно получится его заставить ещё поработать)
Mambavamba14, ничего не менял, да и ломаться там нечему... Видимо так случайно вышло. Главное, что всё работает. На сбросы не обращаю внимания - свою функцию радиометр полностью выполняет, за что вам большое спасибо!
P.S. Без физического выключателя как-то неполноценно и неспокойно мне :)
Enjoy - Я имею ввиду в прошивке сломалось) По всей видимости так оно и есть... Так а вы не пробовали загрубить коэффициент поправки на фон? Вот так например:
В скетче ничего не трогал, что касаемо мелодии (возможно неоднократное нажатие на кнопку для сброса тревоги дало такой эффект(?)), а вот коэффициент поправки на фон нужно будет попробовать, спасибо.
P.S. Попробовал изменить коэф. поправки уже на Полыни, где и СБМ-20 другой стоит. Проблема всё та же. Может работа OLED'а жрет производительность и алгоритм страдает от этого каким-то боком - я не знаю, но вот такая бяка есть. Но по сути задачу свою ArDos выполняет даже со сбросом :)
Enjoy - Ды нет, это тут не причем. Проблему нашёл, исправил и перезалил.
А так? Нет, производительность тут не причем. Слишком большая разница в импульсах при ерф, судя по графику, в какие-то моменты слишком много импульсов, в какие-то вообще нет... Попробуйте поставить электролит(10-47мкФ) и керамику(0.1мкФ) по питанию как можно ближе ко входу питания мк, может от преобразователя шумы проскакивают...
По умолчанию так и делаю: 47-100 мк + 0.1 мк (от ВЧ наводок) в керамике на выводы питания, как можно ближе к МК. К тому же в двух экземплярах разных конструктивных исполнений, с разными счетчиками сброс почти идентичный...
P.S. Сколько слушал на видео в инете работу радиометров на основе СБМ-20, никогда не слышал равномерных импульсов - всегда хаотично и порой с большим интервалом между пролетами квантов.
P.S. Сколько слушал на видео в инете работу радиометров на основе СБМ-20, никогда не слышал равномерных импульсов - всегда хаотично и порой с большим интервалом между пролетами квантов.
полностью согласен. Может 1 за 30 сёк прилететь, потом 5 за 2сек.
P.S. Сколько слушал на видео в инете работу радиометров на основе СБМ-20, никогда не слышал равномерных импульсов - всегда хаотично и порой с большим интервалом между пролетами квантов.
полностью согласен. Может 1 за 30 сёк прилететь, потом 5 за 2сек.
P.S. Сколько слушал на видео в инете работу радиометров на основе СБМ-20, никогда не слышал равномерных импульсов - всегда хаотично и порой с большим интервалом между пролетами квантов.
полностью согласен. Может 1 за 30 сёк прилететь, потом 5 за 2сек.
Enjoy, не могли бы вы установить вашу первую прошивку Mod for OLED 128*64 I2C by Lazy_Dragon и сравнить показания на вашем источнике радиации. Интересно большая ли будет разница в показаниях на прошивке от mambavamba14?
/* ArDOs v105 без режима сна
* Mod for OLED 128*64 I2C by Lazy_Dragon
***Дозиметр на Ардуино
***IDE Arduino 1.8.5
ветка форума arduino.ru/forum/proekty/delaem-dozimetr
сайт srukami.inf.ua/ardos.html
*/
#include <util/delay.h> //уже есть
#include <EEPROM.h>//уже есть
#include <OLED_I2C.h>
//настройки /////////////начало
OLED myGLCD(SDA, SCL); //подключение дисплея
#define contrast 65 //контрастность дисплея
byte treviga_1 = 30; //первая ступень тревоги
byte treviga_2 = 60; //вторая ступень тревоги
byte ton_BUZZ = 70; //тональность буззера
#define ADC_value 186 //значение АЦП при котором 400В с учетом вашего делителя напряжения (0..255)
#define k_delitel 501 //коефициент дельтеля напряжения, зависит от вашего делителя.
byte puls = 2; //тонкая настройка длинны импульса высоковольтного транса
byte scrin_GRAF = 1; //скорость построения графика в секундах
bool buzz_ON = 1; //включить индикацию бузером (1)
bool podsvetka = 0; //подсветка
bool Lcd_Inv = 0; //разрешение или запрет сна
float opornoe = 1.10; //делить на opornoe/10
#define son_t 40 //время засыпания в секундах
#define save_DOZ 20 //как часто сохранять накопленную доху например каждые 20мкР
//настройки //////////////конец
extern uint8_t SmallFont[], MediumNumbers[], TinyFont[], BigNumbers[];
extern uint8_t logo_bat[], logo_rag[], logo_tr_OLED[], logo_tr[], gif_chast_1[], gif_chast_2[];
volatile int shet = 0;
unsigned long t_milis = 0, gr_milis = 0, lcd_milis = 0, toch_milis = 0;
unsigned long spNAK_milis = 0, time_doza = 75000;
int hv_adc, hv_400, shet_s = 0, fon = 0, shet_gr = 0, shet_n = 0;
int speed_nakT = 0, speed_nak = 0, time_sh_l = 0, MIN, HOUR;
int doza_vr = 0, val_dr_pr = 0, val_dr_OK = 0;
byte mass_p[84];
byte mass_toch[181], m = 0, n_menu = 0, sys_menu = 0, mass_36[37];
byte val_kl = 0, val_ok = 0, menu = 0, zam_180p = 0, zam_36p = 0, gif_x = 0;
float VCC = 0.0, doz_v = 0.0, stat_percent = 99.0;
bool tr = 0, poisk = 1, fonarik = 0, g_fl = 0;
//-------------------------------------------------------------
void setup() {
Serial.begin(57600);
ACSR |= 1 << ACD; //отключаем компаратор
ADCSRA &= ~(1 << ADEN); // отключаем АЦП,
pinMode(3, INPUT_PULLUP); //кнопка
pinMode(4, INPUT_PULLUP); //кнопка
pinMode(7, INPUT_PULLUP); //кнопка
DDRB |= (0 << 0); PORTB &= ~(1 << 0); //пин пустой 8
DDRC |= (0 << 4); PORTC &= ~(1 << 4); //пин пустой А4
DDRC |= (0 << 5); PORTC &= ~(1 << 5); //пин пустой А5
DDRB |= (1 << 1);//пин фонаря
DDRC |= (1 << 3);//A3 дисплей GND
DDRC |= (1 << 2);//A2 дисплей Light
PORTC &= ~(1 << 3); //A3 дисплей GND
PORTC |= (1 << 2); //A2 дисплей Light
eeprom_readS ();
eeprom_readD ();
lcd_init();
attachInterrupt(0, Schet, FALLING);//прерываниям пин 2
DDRB |= (1 << 5); //пины на выход
DDRD |= (1 << 5);
DDRD |= (1 << 6);
DDRD |= (1 << 6);//пин бузера
nakachka();
}
//-------------------------------------------------------------
void loop() {
if (menu == 0) {
if (!(PIND & (1 << PIND7))) { //нажатие <<<
_delay_ms(500);//антидребезг
menu = 3;
shet = 0; zam_180p = 0; fon = 0;
stat_percent = 99.0;
if (!(PIND & (1 << PIND7))) {//нажатие <<< фонарик
val_kl++;
if (val_kl == 6) {
val_kl = 0;
fonarik = !fonarik;
}
}
}
}
if (fonarik == 0) { //фонарик
PORTB &= ~(1 << 1);//пин фонаря
} else if (fonarik == 1) {
PORTB |= (1 << 1);//пин фонаря
}
if (podsvetka == 1) {
PORTC &= ~(1 << 2); //A2 дисплей Light
}
if (podsvetka == 0) {
PORTC |= (1 << 2); //A2 дисплей Light
}
if (millis() - lcd_milis >= 300) { //скорость отрисоаки дисплея
lcd_milis = millis();
if (menu == 0) {
lcd_poisk();//вывод на дисплей режима поиск
poisk_f(); //вызов функции счёта и набора массива
}
if (menu == 1) {
lcd_menu();//вывод на дисплей меню
poisk_f(); //вызов функции счёта и набора массива________________________________
}
if (menu == 2) {
lcd_sys();//вывод на дисплей системного меню
poisk_f(); //вызов функции счёта и набора массива________________________________
}
if (menu == 3) {
zamer_180s();//вывод на дисплей замер 180сек
}
}
generator();//накачка по обратной связи с АЦП
if (shet_s != shet) {
signa ();//подача сигнала о частичке
}
if (!(PIND & (1 << PIND3))) { //нажатие ок
_delay_ms(500);//антидребезг
OK();
}
if (menu == 1) {
if (!(PIND & (1 << PIND4))) { //нажатие >>>
_delay_ms(500);//антидребезг
if (n_menu == 0) {
treviga_1++;
}
if (n_menu == 1) {
treviga_2++;
}
if (n_menu == 2) {
podsvetka = !podsvetka;
}
if (n_menu == 3) {
Lcd_Inv = !Lcd_Inv;
}
if (n_menu == 4) {
scrin_GRAF++;
if (scrin_GRAF > 10) {
scrin_GRAF = 1;
}
}
if (n_menu == 5) {
buzz_ON = !buzz_ON;
}
if (n_menu == 6) {
menu = 0;
}
if (n_menu == 7) {
eeprom_wrS ();
menu = 0;
}
}
}
if (menu == 2) {
if (!(PIND & (1 << PIND4))) { //нажатие >>>
_delay_ms(500);//антидребезг
if (sys_menu == 0) {
opornoe = opornoe + 0.01;
if (opornoe < 0.98) {
opornoe = 1.20;
}
if (opornoe > 1.20) {
opornoe = 0.98;
}
}
if (sys_menu == 1) {
puls++;
if (puls < 1) {
puls = 10;
}
if (puls > 10) {
puls = 1;
}
}
if (sys_menu == 2) {
time_doza = 0;//сброс накопленной дозы
doz_v = 0;//сброс накопленной дозы
eeprom_wrD();
myGLCD.clrScr();
myGLCD.setFont(SmallFont);
myGLCD.print("SBROS OK", CENTER, 24);
myGLCD.update();
_delay_ms(1000);
}
if (sys_menu == 3) {
menu = 0;
}
if (sys_menu == 4) {
eeprom_wrS ();
menu = 0;
}
}
}
if (menu == 1) {
if (!(PIND & (1 << PIND7))) { //нажатие <<<
_delay_ms(500);//антидребезг
if (n_menu == 0) {
treviga_1--;
}
if (n_menu == 1) {
treviga_2--;
}
if (n_menu == 2) {
podsvetka = !podsvetka;
}
if (n_menu == 3) {
Lcd_Inv = !Lcd_Inv;
}
if (n_menu == 4) {
scrin_GRAF--;
if (scrin_GRAF < 1) {
scrin_GRAF = 10;
}
}
if (n_menu == 5) {
buzz_ON = !buzz_ON;
}
if (n_menu == 6) {
menu = 0;
}
if (n_menu == 7) {
eeprom_wrS ();
menu = 0;
}
}
}
if (menu == 2) {
if (!(PIND & (1 << PIND7))) { //нажатие <<<
_delay_ms(500);//антидребезг
if (sys_menu == 0) {
opornoe = opornoe - 0.01;
if (opornoe < 0.98) {
opornoe = 1.20;
}
if (opornoe > 1.20) {
opornoe = 0.98;
}
}
if (sys_menu == 1) {
puls--;
if (puls < 1) {
puls = 10;
}
if (puls > 10) {
puls = 1;
}
}
if (sys_menu == 2) {
time_doza = 0;//сброс накопленной дозы
doz_v = 0;//сброс накопленной дозы
eeprom_wrD();
myGLCD.clrScr();
myGLCD.setFont(SmallFont);
myGLCD.print("SBROS OK", CENTER, 24);
myGLCD.update();
_delay_ms(1000);
}
if (sys_menu == 3) {
menu = 0;
}
if (sys_menu == 4) {
eeprom_wrS ();
menu = 0;
}
}
}
}
//-------------------------------------------------------------
void OK () { //нажатие ОК
if (!(PIND & (1 << PIND3))) { //удержаиние OK
val_ok++;
if (val_ok == 2) {
val_ok = 0;
menu = 2;
}
}
if (menu == 2) {
sys_menu++;
if (sys_menu > 4) {
sys_menu = 0;
}
}
if (menu == 1) {
n_menu++;
if (n_menu > 7) {
n_menu = 0;
}
}
if (menu == 0) {
menu = 1;
}
if (menu == 3) {
menu = 1;
}
}
//--------------------------------------------------------------
void gif_nabor() {
myGLCD.setFont(SmallFont);
myGLCD.drawLine(0, 50, 127, 50); myGLCD.drawLine(0, 63, 127, 63);
for (int i = 127 - zam_180p * 0.72; i < 127; i++) {
myGLCD.drawLine(i, 50, i, 63);
}
g_fl = !g_fl;
if (g_fl == 0) {
myGLCD.drawBitmap(gif_x, 53, gif_chast_1, 8, 8);
} else {
myGLCD.drawBitmap(gif_x, 53, gif_chast_2, 8, 8);
}
if (zam_180p < 180) {
gif_x = gif_x + 1;
if (gif_x >= 123 - zam_180p * 0.72) {
gif_x = 0;
}
myGLCD.print("ANALIZ", CENTER, 40);
}
if (zam_180p >= 180) {
myGLCD.print("OBNOVLENIE", CENTER, 40);
}
}
//--------------------------------------------------------------
void zamer_180s() {
myGLCD.clrScr();
myGLCD.setFont(TinyFont);
myGLCD.print("ACCURACY", 93, 10);
myGLCD.setFont(SmallFont);
myGLCD.printNumF(stat_percent, 1, 93, 18, '.', 4); myGLCD.print("%", 117, 18);
myGLCD.setFont(BigNumbers);
myGLCD.drawRect(0, 0, 88, 30);
if (fon >= 1000) {
float mZV = float(fon) / 1000;
myGLCD.printNumF(mZV, 1, 4, 4, '.', 4, '0');
myGLCD.setFont(SmallFont); myGLCD.print("mR/h", 62, 19);
}
if (fon < 1000) {
myGLCD.printNumI(fon, 4, 4, 4, '0');
myGLCD.setFont(SmallFont); myGLCD.print("uR/h", 62, 19);
}
gif_nabor();
battery();
myGLCD.update();
if (millis() - toch_milis >= 1000) {
toch_milis = millis();
for (int i = 0; i < 180; i++) { //сдвигаем
mass_toch[i] = mass_toch[i + 1];
}
mass_toch[179] = shet;
shet = 0;
if (zam_180p < 180) { //первый набор массива
zam_180p++;
int fon_vr1 = 0;
for (int i = 180 - zam_180p; i < 180; i++) {
fon_vr1 = fon_vr1 + mass_toch[i];
}
fon = fon_vr1 * (18.0 / zam_180p);
}
if (zam_180p >= 180) { //набор массива
int fon_vr1 = 0;
for (int i = 0; i < 180; i++) {
fon_vr1 = fon_vr1 + mass_toch[i];
}
fon = fon_vr1 / 10;
}
if (zam_180p <= 36) {
stat_percent = stat_percent - 2.0;
}
if (zam_180p > 36 && zam_180p <= 72) {
stat_percent = stat_percent - 0.3;
}
if (zam_180p > 72 && zam_180p <= 100) {
stat_percent = stat_percent - 0.2;
}
if (zam_180p > 100 && zam_180p <= 180) {
stat_percent = stat_percent - 0.1;
}
if (stat_percent < 5) {
stat_percent = 5.0;
}
}
if (!(PIND & (1 << PIND7))) { //нажатие <<<
_delay_ms(500);//антидребезг
menu = 0;
shet = 0; fon = 0; zam_36p = 0;
for (int i = 0; i < 18; i++) { //чистим
mass_36[i] = 0;
}
if (!(PIND & (1 << PIND7))) {//нажатие <<< фонарик
val_kl++;
if (val_kl == 6) {
val_kl = 0;
fonarik = !fonarik;
}
}
}
}
//--------------------------------------------------------------
void lcd_poisk() {//вывод на дисплей режима поиск
if (shet < treviga_1 && fon < treviga_1) {//проверяем тревогу
tr = 0;
}
if (shet > treviga_1 || fon > treviga_1) {//проверяем тревогу
tr = 1;
}
myGLCD.clrScr();
if (tr == 1) { //опасно
myGLCD.drawBitmap(91, 29, logo_tr_OLED, 32, 32);
}
else myGLCD.drawCircle(107, 45, 2);
myGLCD.setFont(BigNumbers);
myGLCD.drawRect(0, 0, 88, 41);
myGLCD.drawRect(0, 30, 88, 63);
if (fon >= 1000) {
float mZV = float(fon) / 1000;
myGLCD.printNumF(mZV, 1, 4, 4, '.', 4, '0');
myGLCD.setFont(SmallFont); myGLCD.print("mR/h", 62, 19);
}
if (fon < 1000) {
myGLCD.printNumI(fon, 4, 4, 4, '0');
myGLCD.setFont(SmallFont); myGLCD.print("uR/h", 62, 19);
}
time_d ();
myGLCD.setFont(TinyFont);
myGLCD.print("ACCURACY", 93, 10);
myGLCD.printNumI(HOUR, 2, 34);
if (HOUR >= 9) {
myGLCD.print("h", 15, 34);
}
if (HOUR < 9) {
myGLCD.print("h", 7, 34);
}
myGLCD.printNumI(MIN, 20, 34);
if (MIN >= 9) {
myGLCD.print("m", 28, 34);
}
if (MIN < 9) {
myGLCD.print("m", 25, 34);
}
myGLCD.setFont(SmallFont);
if (doz_v < 1000) {
myGLCD.printNumF(doz_v, 1, 35, 33, '.', 6); myGLCD.print("uR", 72, 33);
}
if (doz_v >= 1000) {
myGLCD.printNumF(doz_v / 1000.0, 2, 35, 33, '.', 6); myGLCD.print("mR", 72, 33);
}
myGLCD.printNumF(100 - (zam_36p * 2.2), 1, 93, 18, '.', 4); myGLCD.print("%", 117, 18);
battery();
for (int i = 0; i < 5; i++) {
myGLCD.drawLine(1, (4 * i) + 46, 4, (4 * i) + 46);
}
for (int i = 0; i < 82; i ++) { //печатаем график
if (mass_p[i] > 0) {
if (mass_p[i] <= 20) {
myGLCD.drawLine(i + 5, 63, i + 5, 63 - mass_p[i]);
}
if (mass_p[i] > 20) {
myGLCD.drawLine(i + 5, 63, i + 5, 63 - 20);
}
}
}
myGLCD.update();
}
//-------------------------------------------------------------
void lcd_menu() { //вывод на дисплей меню
myGLCD.clrScr();
myGLCD.setFont(SmallFont);
myGLCD.print("OPASN.1", 8, 0); myGLCD.printNumI(treviga_1, 75, 0); myGLCD.print("uR/h", RIGHT, 0);
myGLCD.print("OPASN.2", 8, 8); myGLCD.printNumI(treviga_2, 75, 8); myGLCD.print("uR/h", RIGHT, 8);
myGLCD.print("PODSV.", 8, 16); myGLCD.printNumI(podsvetka, 75, 16);
myGLCD.print("INVERT", 8, 24); myGLCD.printNumI(Lcd_Inv, 75, 24); myGLCD.print("on/off", RIGHT, 24);//usr
myGLCD.print("POISK R", 8, 32); myGLCD.printNumI(scrin_GRAF, 75, 32); myGLCD.print("SEK", RIGHT, 32);
myGLCD.print("ZVUK", 8, 40); myGLCD.printNumI(buzz_ON, 75, 40);
myGLCD.print("OUT", 8, 48);
myGLCD.print("SAVE", 8, 56);
myGLCD.print(">", 0, n_menu * 8);
myGLCD.update();
}
//-------------------------------------------------------------
void lcd_sys() { //вывод на дисплей меню
VCC_read();
speed_nakachka ();//скорость накачки имлульсы/сек
myGLCD.clrScr();
myGLCD.setFont(SmallFont);
myGLCD.print("OPORN", 8, 0); myGLCD.printNumF(opornoe, 2, 44, 0); myGLCD.print("VCC", 75, 0); myGLCD.printNumF(VCC, 2, RIGHT, 0);
hv_400 = hv_adc * opornoe * k_delitel / 255; //считем высокео перед выводом
myGLCD.print("NAKAH", 8, 10); myGLCD.printNumI(puls, 75, 10); myGLCD.printNumI(hv_400, RIGHT, 10);
myGLCD.print("DOZA", 8, 20); myGLCD.print(">>", 75, 20); myGLCD.print("SBROS", RIGHT, 20);
myGLCD.print("OUT", 8, 30);
myGLCD.print("SAVE", 8, 40);
myGLCD.print(">", 0, sys_menu * 10);
myGLCD.print("SPEED N", 0, 56); myGLCD.printNumI(speed_nak, 50, 56); myGLCD.print("imp/sek", RIGHT, 56);
myGLCD.update();
}
//-------------------------------------------------------------
void poisk_f() {//режим поиска
if (poisk == 1) {
if (millis() - gr_milis >= scrin_GRAF * 1000) { //счет для графика
gr_milis = millis();
val_ok = 0;//сброс удержания системного меню
shet_gr = shet - shet_n;
if (shet_gr < 0) {
shet_gr = 1;
}
mass_p[m] = shet_gr ;
shet_n = shet;
if (m < 82) {
m++;
}
if (m == 82) {
for (int i = 0; i < 83; i++) {
mass_p[i] = mass_p[i + 1];
}
mass_p[82] = shet_gr;
}
}
if (millis() - toch_milis >= 1000) {
toch_milis = millis();
for (int i = 0; i < 36; i++) { //сдвигаем
mass_36[i] = mass_36[i + 1];
}
mass_36[36] = shet;
if (zam_36p < 36) { //первый набор массива
zam_36p++;
fon = fon + shet;
}
if (zam_36p >= 36) { //набор массива
int fon_vr1 = 0;
for (int i = 0; i < 36; i++) {
fon_vr1 = fon_vr1 + mass_36[i];
}
fon = fon_vr1;
}
shet = 0;
/*
for (int i = 0; i < 36; i++) {
Serial.print( mass_36[i]); Serial.print(",");
}
Serial.print(","); Serial.print(fon); Serial.println(" ");
*/
doz_v = doz_v + fon / 100.0 / 36.0;
time_doza = time_doza + 1;
if (doz_v - doza_vr >= save_DOZ) { //а не пора ли сохранить дозу ?)
eeprom_wrD ();
doza_vr = doz_v;
}
}
}
}
//-------------------------------------------------------------
void signa () { //индикация каждой частички звуком светом
shet_s = shet;
if ((buzz_ON == 1) && (shet_s > 0)) {//включаем бузер
PORTB |= (1 << 5); //светодиод
int d = 30;
while (d > 0) {
PORTD |= (1 << 6);
_delay_us(ton_BUZZ);
PORTD &= ~(1 << 6);
_delay_us(ton_BUZZ);
d--;
}
PORTB &= ~(1 << 5);//светодиод
}
generator();//накачка по обратной связи с АЦП
}
//-------------------------------------------------------------
void Schet() { //прерывание от счетчика на пин 2
//detachInterrupt(0);
shet++;
//attachInterrupt(0, Schet, FALLING);
}
//-------------------------------------------------------------
void generator() {//накачка по обратной связи с АЦП
hv_adc = Read_HV();
if (hv_adc < ADC_value) { //Значение АЦП при котором на выходе 400В
int c = puls;
PORTD |= (1 << 5); //пин накачки
while (c > 0) {
asm("nop");
c--;
}
PORTD &= ~(1 << 5);//пин накачки
speed_nakT++;
}
}
//-------------------------------------------------------------
void VCC_read() { // Чтение напряжения батареи
ADCSRA = 0b11100111;
ADMUX = 0b01101110;//Выбор внешнего опорного+BG
_delay_ms(5);
while ((ADCSRA & 0x10) == 0);
ADCSRA |= 0x10;
byte resu = ADCH;
ADCSRA &= ~(1 << ADEN); // отключаем АЦП,
VCC = (opornoe * 255.0) / resu;
}
//-------------------------------------------------------------
byte Read_HV ()
{
ADCSRA = 0b11100111;
ADMUX = 0b11100110;
for (int i = 0; i < 10; i++)
{
while ((ADCSRA & 0x10) == 0);
ADCSRA |= 0x10;
}
int result = 0;
for (int i = 0; i < 10; i++)
{
while ((ADCSRA & 0x10) == 0);
ADCSRA |= 0x10;
result += ADCH;
}
result /= 10;
byte result2 = result;
return result2;
}
//-------------------------------------------------------------
void lcd_init() {
myGLCD.begin();
myGLCD.setBrightness(contrast);
myGLCD.invert(Lcd_Inv);
myGLCD.clrScr();
myGLCD.drawBitmap(0, 0, logo_rag, 84, 48);
myGLCD.setFont(SmallFont);
myGLCD.print("Arduino+", CENTER, 32);
myGLCD.print("Dosimetr v1.03", CENTER, 40);
myGLCD.update();
delay(1000);
}
//-------------------------------------------------------------
void eeprom_wrS () { //запись настроек в память
EEPROM.write(0, 222);
EEPROM.write(1, treviga_1);
EEPROM.write(2, podsvetka);
EEPROM.write(3, Lcd_Inv);
EEPROM.write(4, scrin_GRAF);
EEPROM.write(5, buzz_ON);
EEPROM.write(6, puls);
EEPROM.write(7, opornoe * 100);
EEPROM.write(8, treviga_2);
myGLCD.clrScr();
myGLCD.setFont(SmallFont);
myGLCD.print("Save OK", CENTER, 24);
myGLCD.update();
_delay_ms(1000);
}
//-------------------------------------------------------------
void eeprom_wrD () { //запись настроек в память время накопления дозы
byte hi = time_doza >> 8;
byte low = time_doza;
EEPROM.write(9, hi);
EEPROM.write(10, low);
hi = int(doz_v) >> 8;
low = int(doz_v);
EEPROM.write(11, hi);
EEPROM.write(12, low);
}
//-------------------------------------------------------------
void eeprom_readD () { //чтание настроек из памяти время накопления дозы
byte hi = EEPROM.read(9);
byte low = EEPROM.read(10);
time_doza = (hi << 8) | low;
hi = EEPROM.read(11);
low = EEPROM.read(12);
doz_v = (hi << 8) | low;
}
//-------------------------------------------------------------
void eeprom_readS () { //чтание настроек из памяти
if (EEPROM.read(0) == 222) {
treviga_1 = EEPROM.read(1);
podsvetka = EEPROM.read(2);
Lcd_Inv = EEPROM.read(3);
scrin_GRAF = EEPROM.read(4);
buzz_ON = EEPROM.read(5);
puls = EEPROM.read(6);
opornoe = EEPROM.read(7) / 100.0;
treviga_2 = EEPROM.read(8);
}
_delay_ms(10);
}
//-------------------------------------------------------------
void nakachka() {//первая накачка
byte n = 0;
while (n < 30) {
PORTD |= (1 << 5);//дергаем пин
int c = puls;
while (c > 0) {
asm("nop");
c--;
}
PORTD &= ~(1 << 5);//дергаем пин
n++;
_delay_us(100);
}
}
//-------------------------------------------------------------
void speed_nakachka () { //скорость накачки имлульсы/сек
if (millis() - spNAK_milis >= 1000) {
spNAK_milis = millis();
speed_nak = speed_nakT;
speed_nakT = 0;
}
}
//-------------------------------------------------------------
void time_d() {
HOUR = time_doza / 3600;
MIN = (time_doza / 60) % 60;
}
//-------------------------------------------------------------
void battery() { //батарейка
VCC_read();
myGLCD.drawBitmap(99, 0, logo_bat, 24, 8);
myGLCD.setFont(TinyFont);
myGLCD.printNumF(VCC, 2, 103, 2);
}
Всем привет! Давно пользую прибор. И что хочу сказать - наличие коэффициентов, конечно, ускоряет работу прибора при резком повышении фона, но вот стабильность на околофоновых значения хромает. Частые сбросы, скачки фона из за этих самых сбросов, иногда даже срабатывает сигнализация, хотя фон в основном 10-15 мкр, а порог сигнализации 40 мкр. Но это не мешает прыгать цифрам во время сбросов точности, и набора статистики с ноля. Без этих коэффициентов существует только старые прошивки, они значительно стабильнее в этом плане, но, увы нет тех плюшек, что присутствуют в последних прошивках.
Очень хотелось бы увидеть прошивку, работающую по алгоритмам как v 1.7.1, но со всеми новшествами последней.
Не я один такой. Причина всё же НЕ в железе...
Коэффициенты немного сейчас загрубил, но увлекаться не стал, иначе будет дубовый прибор. Сбросы есть, но не так часто, так что нормально.
Enjoy, не могли бы вы установить вашу первую прошивку Mod for OLED 128*64 I2C by Lazy_Dragon и сравнить показания на вашем источнике радиации. Интересно большая ли будет разница в показаниях на прошивке от mambavamba14?
Jeep64, я изначально использовал эту прошивку и она мне не понравилась, т.к. в режиме "поиск" показания были очень нестабильны и фоновые очень завышал, а в режиме длительного замера "анализ" наоборот были занижены... Так что тут даже сравнивать нечего. Разница если и будет, то явно не в пользу древней прошивки! Смело загружать актуальный скетч от Mambavamba14 и пользоваться :)
Добрый вечер коллеги. Как то ранее я подымал вопрос про олед ssd1315 вместо 1306. 1315 подглючивал. Сегодня получил новый. Заодно пропаял тот что был у меня. Естественно протестил. Корректно работают оба. Только разница в размерах. 1306 0.96дюймов, а 1315 аж 1.3, что делает его более читаемым. Пару страниц назад я выкладывал фото сравнения.
Можете закидать меня тапками, но функционал и все остальное без эстетики ни что. Можно выкинуть на рынок шикарный дозиметр, но страшный как черт. А можно полное гавно, но броское в глаза. Вопрос, какой купят.? Это старый приём маркетинга. Ещё Леонардо да Винчи, затем Фибоначчи вывели Золотое сечение. Пропорции когда взгляду это эстетично. Вспомните нокиа 3310. В чем её популярность? Надёжность? Да. Приём, и тд. Но были ли модели круче? Были. Прошёл все. Менял мобилы как дышал. Так в чем же 3310 была не оспарима. Да в том что по мимо схемотехников её создавали грамотные дизайнеры. Там все подченено золотому сечению. Пропорции экрана, смещеные в бок клавиши навигации. Плохое о ней скажет тот у кого её не было, а сименс а35 был пределом мечты. К чему я это? Мы делаем дозики для себя, чтобы быть в безопасности. Но глядя на труды наших рук иногда берет гордость, красиво черт возьми. А иногда... Да, работают и те и другие. Но с корпусом 150х80 экран 20х30 как корове седло. Это сугубо моё мнение. Там бы 50х70 экранчик. Ну есть во мне эстет. А если честно, то на сбм 20 можно без проблем сделать 100х60х15мм. Главное экраном гармонию не испортить. "Некрасивые самолеты не летают"
Широко известна "крылатая фраза" авиаконструктора А.Н. Туполева (хотя, иногда ее приписывают А.С. Яковлеву и даже О.К. Антонову):
Evrojox, так делайте эстетику! Кто ж вам запрещает!?? Покажите здесь готовое устройство... Мы порадуемся за вас.
Я же в условиях войны ничего не собираюсь менять, а тем более в уже готовом работающем устройстве!
"Некрасивые самолеты не летают" Широко известна "крылатая фраза" авиаконструктора А.Н. Туполева (хотя, иногда ее приписывают А.С. Яковлеву и даже О.К. Антонову):
"Полетит даже табуретка, если к ней приделать достаточно мощный двигатель"(неизвестный инженер-конструктор реактивных двигателей) :)
Ну вот, хоть оживился форум. А то тишина.. А если серьёзно, то каждый делает как он хочет и может. И у каждого своя эстетика. Просто как было понять что меня услышали. Я ведь не только для себя заказывал 1315.зато теперь знаю что он работает и меня точно прочли...
Enjoy у вас законченное изделие, красиво оформленные. Мне корпуса ни когда не у давались. И против вас не чего не имел. Свое изделие выложу, но позже. Есть причины пока не спешить. Зато я точно теперь уверен что кто захочет повторить на олед не пропустит информацию. Есть 3 типа людей. Одни читают вдумчиво весь форум, другие первую и последнию страницу, затем куча вопросов хотя все разлложено по полочкам, третьи бегло смотрят тему в поиске инфы. И любой намёк на срач обязательно замечают. Так устроен мозг. Это для них. Хотел спрасить что за корпус у вас и его размеры. А так-же про фальш морду.
Всем привет. Корпус дозиметра для 3D принтера кто-нибудь повторял? Чёт как-то не входит в корпус плата, по оси Х меньше, чем плата.
Столько печатать и облом.
Evrojox, корпус как-то брал на радио рынке "на всякий случай", вот пригодился :) Размеры: длина - 110мм., ширина - 65мм., высота - 27мм. В программе FrontDesigner 3.0 по реальным размерам сделал макет "морды", пошел в местный фотосалон и там распечатал на фотобумаге, заламинировал. Вырезал скальпелем отверстия и окно для OLED'a. Прозрачную подложку под дисплей положил и наклеил уже готовую фальш-панель. Готово!
По теме эстетичности. Думаю, не зачтётся за флуд, но вот на днях переделал "Мастер-1". Преобразователь на 74HC14, мозг - Attiny85 (на форумах гуляет эта схема, но преобразователь там на MC34063). Фото...
Дали вторую жизнь старому дозику. Корпус не плох. Этот проект я не собирал, 85 нет, а заказывать не стал. Собирал с просторов нета дозик от domosed (был такой и в первой части данного форума, публиковал первую версию, на ютуб вторая) , от самоделки от Сергея, из готовых модулей. Всё на олед. И ардос приглянулся из за олед. По функционалу скажу так, ардос вне конкуренции, затем согласно списка. А главное в ардос для меня тревога, режим сна и отключаемый дисплей. У остальных полного набора моих хотелок нет.
Всем привет. Корпус дозиметра для 3D принтера кто-нибудь повторял? Чёт как-то не входит в корпус плата, по оси Х меньше, чем плата.
Столько печатать и облом.
Я повторял было тоже самое, нужно было плату подтачивать, потом печатал корпус увеличив по всем осям на 1% и так все детали. Тогда садилось все без проблем. Возможно у модели не учтена усадка пластика.
Полынь-101... Arduino Pro Mini, OLED. Сон: 1,8 mA. Полное: 7 mA
В белом корпусе... Arduino Nano, OLED. Без выпаянного стаба. Сон: 4,2 mA. Полное: 9 mA
Сделал высокоомный вольтметр из стрелочного китайского тестера по приведенной ранее схеме на операционнике LM358. Теперь подстроил уже более точно высокое напряжение преобразователей. Но даже мультиметром с входным сопротивлением 10М довольно точно можно настроить преобразователь, увеличив временно ограничение накачки в скетче. У меня разница составила всего 5-7 Вольт.
laz - Да, так и должно быть. Новые значения ИМП не равно старым значениям, теперь это длительность импульса в микросекундах. 9.8 это примерно 30 старых единиц.
Добрый вечер, проявился вопрос. При работе дозиметра 1час-полтора , я так понимаю идёт сброс , в этот момент у меня фон показывает когда 45 мКр; когда 75 мКр. И так же есть проблема как пост 632 низкий заряд конвектора и перегруз иногда , все проверено соплей нет , напряжение ВВ мерил осликом на конденсаторе 407, да и так у меня на двух дозиметрах. Ещё если прислушаться идёт треск На плате даже без СБМ.Что то проект молчит . Все он уже закрыт. Жаль …
Понадобился мне для нового дозика вольтметр с очень много омным входом. Старый с 330 мом не стал справляться. Требования просты.Вход 5 гом. напряжение измерения 2кв. Подобный есть у Шодан. Микрон гига вольт. Но надо было проще. Решение было простым. Позаимствовать часть схемы от вышеуказанного вольтметра, то есть оу с обвязкой, а вместо мк использовать вольтметр от своего старого вольтметра. ссылку на прототип я давал чуть выше. Единственное что требовалось это изменить кооф делителя на 1000 к 1. Замена резистора 2.7 на 5 мом. Но зная что все имеет погрешность поставил 6 мом. а вот для калибровки на выход оу поставил делитель из много оборотника 10 ком . Если кому интересно но не понятно нарисую схему. в проге не умею так что от руки , фото выложу.
Думаю понятно куда и как я поставил делитель. К огрызку проводника с право и на землю.Бусенку не ставил так как работать будет от акума. Сейчас жду лак пластик 71 для покрытия платы.
Enjoy - Интересный обзор получился)) У меня только вопрос, вы мелодию тревоги поменяли или что-то сломалось??
Вообще физический выключатель не обязательно ставить, прибор же можно программно выключить) На неисправном счётчике можно попробовать занизить напряжение питания, чувствительность конечно немного упадет, но возможно получится его заставить ещё поработать)
Mambavamba14, ничего не менял, да и ломаться там нечему... Видимо так случайно вышло. Главное, что всё работает. На сбросы не обращаю внимания - свою функцию радиометр полностью выполняет, за что вам большое спасибо!
P.S. Без физического выключателя как-то неполноценно и неспокойно мне :)
Enjoy - Я имею ввиду в прошивке сломалось) По всей видимости так оно и есть... Так а вы не пробовали загрубить коэффициент поправки на фон? Вот так например:
В скетче ничего не трогал, что касаемо мелодии (возможно неоднократное нажатие на кнопку для сброса тревоги дало такой эффект(?)), а вот коэффициент поправки на фон нужно будет попробовать, спасибо.
P.S. Попробовал изменить коэф. поправки уже на Полыни, где и СБМ-20 другой стоит. Проблема всё та же. Может работа OLED'а жрет производительность и алгоритм страдает от этого каким-то боком - я не знаю, но вот такая бяка есть. Но по сути задачу свою ArDos выполняет даже со сбросом :)
Enjoy - Ды нет, это тут не причем. Проблему нашёл, исправил и перезалил.
А так? Нет, производительность тут не причем. Слишком большая разница в импульсах при ерф, судя по графику, в какие-то моменты слишком много импульсов, в какие-то вообще нет... Попробуйте поставить электролит(10-47мкФ) и керамику(0.1мкФ) по питанию как можно ближе ко входу питания мк, может от преобразователя шумы проскакивают...
По умолчанию так и делаю: 47-100 мк + 0.1 мк (от ВЧ наводок) в керамике на выводы питания, как можно ближе к МК. К тому же в двух экземплярах разных конструктивных исполнений, с разными счетчиками сброс почти идентичный...
P.S. Сколько слушал на видео в инете работу радиометров на основе СБМ-20, никогда не слышал равномерных импульсов - всегда хаотично и порой с большим интервалом между пролетами квантов.
Enjoy - Само собой, распад вероятностное событие) Так что, последние коэффициенты помогли?
Mambavamba14, коэффициенты изменил ещё раз, сбросов стало меньше, но всё же есть...
А так?
Enjoy, не могли бы вы установить вашу первую прошивку Mod for OLED 128*64 I2C by Lazy_Dragon и сравнить показания на вашем источнике радиации. Интересно большая ли будет разница в показаниях на прошивке от mambavamba14?
Jeep64 - При низких скоростях счета разницы не будет, до 200имп/с счёт линейный.
Всем привет! Давно пользую прибор. И что хочу сказать - наличие коэффициентов, конечно, ускоряет работу прибора при резком повышении фона, но вот стабильность на околофоновых значения хромает. Частые сбросы, скачки фона из за этих самых сбросов, иногда даже срабатывает сигнализация, хотя фон в основном 10-15 мкр, а порог сигнализации 40 мкр. Но это не мешает прыгать цифрам во время сбросов точности, и набора статистики с ноля. Без этих коэффициентов существует только старые прошивки, они значительно стабильнее в этом плане, но, увы нет тех плюшек, что присутствуют в последних прошивках.
Очень хотелось бы увидеть прошивку, работающую по алгоритмам как v 1.7.1, но со всеми новшествами последней.
Не я один такой. Причина всё же НЕ в железе...
Коэффициенты немного сейчас загрубил, но увлекаться не стал, иначе будет дубовый прибор. Сбросы есть, но не так часто, так что нормально.
Enjoy, не могли бы вы установить вашу первую прошивку Mod for OLED 128*64 I2C by Lazy_Dragon и сравнить показания на вашем источнике радиации. Интересно большая ли будет разница в показаниях на прошивке от mambavamba14?
Jeep64, я изначально использовал эту прошивку и она мне не понравилась, т.к. в режиме "поиск" показания были очень нестабильны и фоновые очень завышал, а в режиме длительного замера "анализ" наоборот были занижены... Так что тут даже сравнивать нечего. Разница если и будет, то явно не в пользу древней прошивки! Смело загружать актуальный скетч от Mambavamba14 и пользоваться :)
Добрый вечер коллеги. Как то ранее я подымал вопрос про олед ssd1315 вместо 1306. 1315 подглючивал. Сегодня получил новый. Заодно пропаял тот что был у меня. Естественно протестил. Корректно работают оба. Только разница в размерах. 1306 0.96дюймов, а 1315 аж 1.3, что делает его более читаемым. Пару страниц назад я выкладывал фото сравнения.
После сказанного мной выше, Enjoy,Jeep64, надеюсь место под замену хватит.
Можете закидать меня тапками, но функционал и все остальное без эстетики ни что. Можно выкинуть на рынок шикарный дозиметр, но страшный как черт. А можно полное гавно, но броское в глаза. Вопрос, какой купят.? Это старый приём маркетинга. Ещё Леонардо да Винчи, затем Фибоначчи вывели Золотое сечение. Пропорции когда взгляду это эстетично. Вспомните нокиа 3310. В чем её популярность? Надёжность? Да. Приём, и тд. Но были ли модели круче? Были. Прошёл все. Менял мобилы как дышал. Так в чем же 3310 была не оспарима. Да в том что по мимо схемотехников её создавали грамотные дизайнеры. Там все подченено золотому сечению. Пропорции экрана, смещеные в бок клавиши навигации. Плохое о ней скажет тот у кого её не было, а сименс а35 был пределом мечты. К чему я это? Мы делаем дозики для себя, чтобы быть в безопасности. Но глядя на труды наших рук иногда берет гордость, красиво черт возьми. А иногда... Да, работают и те и другие. Но с корпусом 150х80 экран 20х30 как корове седло. Это сугубо моё мнение. Там бы 50х70 экранчик. Ну есть во мне эстет. А если честно, то на сбм 20 можно без проблем сделать 100х60х15мм. Главное экраном гармонию не испортить. "Некрасивые самолеты не летают"
Широко известна "крылатая фраза" авиаконструктора А.Н. Туполева (хотя, иногда ее приписывают А.С. Яковлеву и даже О.К. Антонову):
Evrojox, так делайте эстетику! Кто ж вам запрещает!?? Покажите здесь готовое устройство... Мы порадуемся за вас.
Я же в условиях войны ничего не собираюсь менять, а тем более в уже готовом работающем устройстве!
"Полетит даже табуретка, если к ней приделать достаточно мощный двигатель"(неизвестный инженер-конструктор реактивных двигателей) :)
Ну вот, хоть оживился форум. А то тишина.. А если серьёзно, то каждый делает как он хочет и может. И у каждого своя эстетика. Просто как было понять что меня услышали. Я ведь не только для себя заказывал 1315.зато теперь знаю что он работает и меня точно прочли...
Enjoy у вас законченное изделие, красиво оформленные. Мне корпуса ни когда не у давались. И против вас не чего не имел. Свое изделие выложу, но позже. Есть причины пока не спешить. Зато я точно теперь уверен что кто захочет повторить на олед не пропустит информацию. Есть 3 типа людей. Одни читают вдумчиво весь форум, другие первую и последнию страницу, затем куча вопросов хотя все разлложено по полочкам, третьи бегло смотрят тему в поиске инфы. И любой намёк на срач обязательно замечают. Так устроен мозг. Это для них. Хотел спрасить что за корпус у вас и его размеры. А так-же про фальш морду.
Всем привет. Корпус дозиметра для 3D принтера кто-нибудь повторял? Чёт как-то не входит в корпус плата, по оси Х меньше, чем плата.
Столько печатать и облом.
Подскажите будет ли работать на LGT8F328Pнано в место ардуины? Может пробовал кто?
http://aliexpress.ru/item/33003833124.html?spm=a2g2w.cart.0.0.79564aa64QkShx&mp=1&_ga=2.99391646.127868852.1668530069-493059422.1665510034&sku_id=12000030818836022
Пишут что полностью совместима.
Да, EEPROM у них нет. “ (simulate E2PROM) “ В флеше область выделяют.
Jeep64 - Без изменения кода - маловероятно.
Cennmax - Если вы про корпус который идет вместе с прошивкой - то он был рассчитан под заводские платы от alexadresat.
Jeep64 - Без изменения кода - маловероятно.
Cennmax - Если вы про корпус который идет вместе с прошивкой - то он был рассчитан под заводские платы от alexadresat.
Jeep64 - Совместимы по распиновке, но аппаратно, хотя и большая часть регистров совпадает. У неё например нету еепром.
Cennmax - Имелось ввиду, что с неё снимались размеры насколько я помню. Можно просто подрезать лишний текстолит, плата же не на см выпирает)
Как вариант
Evrojox, корпус как-то брал на радио рынке "на всякий случай", вот пригодился :) Размеры: длина - 110мм., ширина - 65мм., высота - 27мм. В программе FrontDesigner 3.0 по реальным размерам сделал макет "морды", пошел в местный фотосалон и там распечатал на фотобумаге, заламинировал. Вырезал скальпелем отверстия и окно для OLED'a. Прозрачную подложку под дисплей положил и наклеил уже готовую фальш-панель. Готово!
По теме эстетичности. Думаю, не зачтётся за флуд, но вот на днях переделал "Мастер-1". Преобразователь на 74HC14, мозг - Attiny85 (на форумах гуляет эта схема, но преобразователь там на MC34063). Фото...
9zip.ru вы про неё? Там ещё в пульте есть на сбт-9.
Дали вторую жизнь старому дозику. Корпус не плох. Этот проект я не собирал, 85 нет, а заказывать не стал. Собирал с просторов нета дозик от domosed (был такой и в первой части данного форума, публиковал первую версию, на ютуб вторая) , от самоделки от Сергея, из готовых модулей. Всё на олед. И ардос приглянулся из за олед. По функционалу скажу так, ардос вне конкуренции, затем согласно списка. А главное в ардос для меня тревога, режим сна и отключаемый дисплей. У остальных полного набора моих хотелок нет.
Serhoo, Вот, попробуйте:
mambavamba14 - не компилируется на последней прошивке помогите плиз?
Всем привет. Корпус дозиметра для 3D принтера кто-нибудь повторял? Чёт как-то не входит в корпус плата, по оси Х меньше, чем плата.
Столько печатать и облом.
Я повторял было тоже самое, нужно было плату подтачивать, потом печатал корпус увеличив по всем осям на 1% и так все детали. Тогда садилось все без проблем. Возможно у модели не учтена усадка пластика.
Мож кто подскажет как определить проницаемость феррита гантельки?
Измерил потребление своих ArDos'ов.
Полынь-101... Arduino Pro Mini, OLED. Сон: 1,8 mA. Полное: 7 mA
В белом корпусе... Arduino Nano, OLED. Без выпаянного стаба. Сон: 4,2 mA. Полное: 9 mA
Сделал высокоомный вольтметр из стрелочного китайского тестера по приведенной ранее схеме на операционнике LM358. Теперь подстроил уже более точно высокое напряжение преобразователей. Но даже мультиметром с входным сопротивлением 10М довольно точно можно настроить преобразователь, увеличив временно ограничение накачки в скетче. У меня разница составила всего 5-7 Вольт.
Мож кому интересно. Выкладывал прототип вольтметра.,сейчас он в корпусе. https://arduino.ru/forum/proekty/ardos-dozimetr-chast-%E2%84%961?page=32
Serhoo - Я честно говоря не помню что там должно быть, но попробуйте:
mambavamba- Спасибо скомпилировалось, нужно показания замера фона и образца в ипмульсах а не в см2/м, все как надо.
Всем добрый день, подскажите версия РАДОН 4.2.3. Меню: Отладка , ИМП ... выше 9.8 кнопками поднять не могу это правильно ?
Всем добрый день, подскажите версия РАДОН 4.2.3. Меню: Отладка , ИМП ... выше 9.8 кнопками поднять не могу это правильно ?
Всем добрый день, подскажите версия РАДОН 4.2.3. Меню: Отладка , ИМП ... выше 9.8 кнопками поднять не могу это правильно ?
laz - Да, так и должно быть. Новые значения ИМП не равно старым значениям, теперь это длительность импульса в микросекундах. 9.8 это примерно 30 старых единиц.
Добрый вечер, проявился вопрос. При работе дозиметра 1час-полтора , я так понимаю идёт сброс , в этот момент у меня фон показывает когда 45 мКр; когда 75 мКр. И так же есть проблема как пост 632 низкий заряд конвектора и перегруз иногда , все проверено соплей нет , напряжение ВВ мерил осликом на конденсаторе 407, да и так у меня на двух дозиметрах. Ещё если прислушаться идёт треск На плате даже без СБМ.Что то проект молчит . Все он уже закрыт. Жаль …
С наступающим Новым Годом. Пусть он будет мягким и пушисты
Понадобился мне для нового дозика вольтметр с очень много омным входом. Старый с 330 мом не стал справляться. Требования просты.Вход 5 гом. напряжение измерения 2кв. Подобный есть у Шодан. Микрон гига вольт. Но надо было проще. Решение было простым. Позаимствовать часть схемы от вышеуказанного вольтметра, то есть оу с обвязкой, а вместо мк использовать вольтметр от своего старого вольтметра. ссылку на прототип я давал чуть выше. Единственное что требовалось это изменить кооф делителя на 1000 к 1. Замена резистора 2.7 на 5 мом. Но зная что все имеет погрешность поставил 6 мом. а вот для калибровки на выход оу поставил делитель из много оборотника 10 ком . Если кому интересно но не понятно нарисую схему. в проге не умею так что от руки , фото выложу.
вольтметр типа такого https://aliexpress.ru/wholesale?SearchText=Высокоточный+DC+0-33%2C000+V+%280-33V%29+Цифровой+вольтметр+5-разрядный&g=y&page=2
кстати. схема вольтметра Enjoy позволяет использовать делитель и помощней
Братва привет. От аккумулятора nokia уже работает дозиметр 3 день, без остановки. Это нормально? Потребляемый ток померить лень