Делаем дозиметр!

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018
Пробовал увеличить количество витков до 5 и 6.
результаты улучшились
при напряжении питания 3.3 вольта
4 витка   = 258  в
5 витков = 331 в
6 витков = 381 в 
накачка во всех случаях 4
 
Незнаю увеличивать количество витков дальше или нет?
Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018
Пробовал увеличить количество витков до 5 и 6.
результаты улучшились
при напряжении питания 3.3 вольта
4 витка   = 258  в
5 витков = 331 в
6 витков = 381 в 
накачка во всех случаях 4
 
Незнаю увеличивать количество витков дальше или нет?
Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018
Пробовал увеличить количество витков до 5 и 6.
результаты улучшились
при напряжении питания 3.3 вольта
4 витка   = 258  в
5 витков = 331 в
6 витков = 381 в 
накачка во всех случаях 4
 
Незнаю увеличивать количество витков дальше или нет?
Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018
Пробовал увеличить количество витков до 5 и 6.
результаты улучшились
при напряжении питания 3.3 вольта
4 витка   = 258   В
5 витков = 331  В
6 витков = 381  В
накачка во всех случаях 4
 
Незнаю увеличивать количество витков дальше или нет?
tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Не трогайте трансформатор. Увеличение количества витков первички чревато пробоем полевика. Особенно если не установлен супрессор.
1. Поставить в первичке керамический конденсатор 30мкФ.
2. Проверить правильность фазировки обмоток трансформатора.
3. Подобрать коэффициент накачки по минимальной скорости и минимуму тока потребления преобразователя.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

1. Стоит 100 мкФ

2. все правильно пробовал даже менять фазировку

3. тоже пробовал.

но накачка више 509 импульсов не поднимается

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Samodelkin_YouTube пишет:
Стоит 100 мкФ

Керамики?

Samodelkin_YouTube пишет:
но накачка више 509 импульсов не поднимается

Она и не должна подниматься выше. Настраивается по минимуму.

Samodelkin_YouTube пишет:
пробовал даже менять фазировку

Не пробовать надо, а определить правильную. При которой или скорость ниже, или напряжение выше.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

Да 2 конденсатора по 47 мкФ

Ну типа пробовал и  определил

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Выкладывайте фото платы с двух сторон в приемлимом разрешении, табличку следующего содержания для накачки от 1 до 15:

накачка        ток (мА)       напряжение ВВ        скорость (имп/с)

1

2

3

.

15

Что ещё в схеме отличается от оригинала?

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

Напряжение питания   3.5 В  .  630 витков  х  4 витка  

Накачка     ток (мА)      напряжение ВВ     скорость (имп/с)

  1                 7.6                  226                    509

  2                 8.2                  317                    509

  3                 8.7                  387                    509

  4                 8.5                  399                    453

  5                 9.7                  396                    509

  6                 10.6                325                    509

  7                 10                   243                    509

  8                 11.6                190                    509

 

все компоненти согласно схеми ... резистор Rp   22 Ом

может дело в диоде? 

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Печально как-то. А при обратной фазировке?

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

При обратной фазировка напряжение падает. 

все компоненти согласно схеми ... резистор Rp   22 Ом

может магнитная проницаемость гантельки не та? 

Какая у вас  индуктивность катушки при 600 витках?
tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Может и действительно феррит. Хотя мне пока из гантелек неподходящих не попадалось. Странно, что накачка близка к 4, обычно такой показатель для маленьких гантелек, вроде моей 6х8. По показометру ТТ приблизительно 7.5-8,6 мГн. Но это на малом сердечнике.

Фото печатки покажите, хочу увидеть трассировку и применённые элементы.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

Мои гантельки

12х9 = 20 мГн

10х8 = 15 мГ

 н

 

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Плата alexadresat проверена не раз, к ней претензий нет.

Учитывая размер гантельки индуктивность где-то так и будет. Можно было и меньше вторички мотать, 10х8 многие использовали с номиналом в 10мГн.

Мелковаты конденсаторы для 47 микрофарад, с номиналом не ошиблись? Попробуйте добавить и снять табличку заново. Можно также проверить сопротивление Rp, может уменьшить, хотя дело не в нём.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

Конденсатори на 47 мкФ проверял .... незнаю  в какую сторону смотреть уже(((

может попробовать намотать катушку на 500 витков или 450 

 

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Можно попробовать намотать транс на Ш-образном сердечнике от дешёвой китайской мобильной зарядки. Результаты у них неплохие, но разбирать геморно - я грел феном и рукавицами рассоединял. Если сейчас проблема в феррите - то должно завестись. Если не ошибаюсь, кто-то делал также на Ш-образных от люминисцентных энергосберегаек небольшой мощности.

Можно также поставить Rp Ом на 10. Проверить напряжение на керамике в процессе работы.

Всё-таки конденсаторы мне не нравятся, стОит попробовать заменить.

Вроде особых недоработок не вижу, помацать бы руками и осликом - сказал бы точнее.

Sergei H.
Offline
Зарегистрирован: 17.11.2018

Я делал на Ш-образном от энергосберегайки.18*15 по наружнему периметру,если брать меньше намотка не влезет,нужно провод меньше ,а значит сложней мотать,рвется.Я взял примерно 0.1  точно не помню. Чтобы легче разобрать ,можно замочить в ацетоне.Мотал 600 витков на 4 витка.Работает прекрасно.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

Намотал 500 витко на дросель  10х8. Ситуация улучшилась. Для адекватной работы накачку пришлось уменьшить до 2.Также поставил резистор на 10 Ом

3.5 В

 Накачка         напряжение ВВ     скорость (имп/с)

     2                                 403                   408

3.3 В

 Накачка         напряжение ВВ     скорость (имп/с)

     2                                355                  509

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Всё равно далеко от оптимального. Замените конденсаторы на другие. Импульс 2 очень короткий даже для малых сердечников, а для такого типоразмера должен быть 7-12. Явно мало энергии в импульсе.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

Хз... менял конденсаторы результата нет... 

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Напряжение на конденсаторах в процессе работы какое? Осциллограф есть?

Если в параллель керамике довесить электролит LowESR микрофарад на 100 ситуация не меняется?

Полевик какой стоит?

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

 

Переделал главный экран. Уменьшил иконку баттареи. Теперь она такая-же по высоте как и значение фона, а не вылезает внизу. 

График поднят выше. Доза опущена вниз.

По мне так логичнее. Мы же должны акцентировать внимание на уровне фона и графике, а не смотреть постоянно на дозу. 

Линия продолжена на все  пиксели экрана. График тоже рисуется во всю ширину экрана. 

Может я чтото делаю не правильно, и не задействованные пиксели по периметру экрана ФИЧА?

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Залейте экран полностью и посмотрите, сколько там пикселей по периметру)

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Я под углом вижу сами пиксели. Там изначально график на 1 пиксель от низа был поднят. Полоса горизонтальная недорисована на 1 пиксель справа. И тд...

Такие мелкие косячки, которые другие не заметят, а меня бесят.

Я помню целый сайт удалил. Там 1 блок вылезал над другим на 1 пиксель. А что бы это исправить нужно было пол кода верстки сайта переписать, я и удалил просто все и написал заново.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

в мене стоит станзистор IRLML0040TRPBF

Dark-Dante
Offline
Зарегистрирован: 09.01.2018

OfficialGalkin, там по всей прошивке что-то где-то не доходит, вылезает, либо несимметрично, у себя ещё год назад это всё переделал) Зайдите в режим разностного замера, по менюшкам походите)

Выложите свои изменения в коде по главному экрану.

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Вечером выложу. 

Там же остались свободные порты у ардуино? С которых можно считать значения. 

Просто мысль появилась. Сделать индикацию подключенной зарядки. 

У кого лити-ионный акум, взять напряжение со входа usb и кпримеру через делитель на вход ардуино подать. Ну и прописать условие естественно. 

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

A7 свободен, но это только для про мини и нано. Уно и голый дип в пролёте.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

del

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Ну у меня как раз нано

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Конечно кще бы проверить дозиметр на зашкал. Как себя ведет он на высоких значениях радиации. 

Была еще мысль сделать turbo режим. Например при удержании правой кнопки включать вместо подсветки. 

Суть в том что бы отключать большую часть функций, дабы ускорить работу кода и облегчить решистрацию частиц при высоком потоке ионизирующего излучения. Такое возможно?

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Верхний порог пока весьма низок, зашкал счётной части начинается около 8 миллирентген и не зависит от скорости выполнения скетча. Полистайте тему, я несколко раз описывал переполнение переменной. Экспериментировал с переходом от восьми к шестнадцатибитному массиву, но там многое в скетче переделывать надо, плюс заморочки с графиком. Пока нет времени на изменения и проверку.
В идеале выйти на счётный предел СБМ20 и прикрутить защиту от его зашкала (как раз здесь А7 пригодился бы, для обнаружения тлеющего разряда).

Не нажимайте "ответить" под постами, пользуйтесь формой внизу. Иначе движок форума блокирует возможность правки постов. Так же и при цитировании.

Dark-Dante
Offline
Зарегистрирован: 09.01.2018

Как по мне, прибор позиционируется как развлекательно-бытовой и предела в 8 мР предостаточно, таких мощностей сейчас даже в ЧЗО не найти, кроме подвала Юпитера и МСЧ 126, ну и под аркой конечно. Так что с головой

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Скорее как обучающий. И код погрызть, и флайбек пошшупать, и с высоковольтной слаботочкой поработать. Плюс приучить себя к аккуратности при создании приборов. Надо же начинающим помалу уходить от мигания светодиодами к чему-то более практичному и сложному.
Но верхний порог грызть всё равно буду.

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Dark-Dante

Вот часть кода где менял в поиске

  
myGLCD.clrScr();
myGLCD.setFont(SmallFontRus);
if (tr == 1)  //опасно
  {
    myGLCD.drawBitmap(0, 0, logo_tr, 24, 8);
  }
myGLCD.setFont(TinyFontRus);
if (fon_254 > 0) 
  {
    if (fon_254 >= 1000) 
      {
        myGLCD.print("\xBC\xBE\xBF", 43, 0);
      }
    if (fon_254 < 1000) 
      {
        myGLCD.print("\xBC\xBD\xBE\xBF", 43, 0);
      }
  }
if ((zam_poisk_counter >= 254) || blink_data)
  {
  myGLCD.setFont(TinyFontRus);
  if (fon_254 > 0) 
    {
      if (fon_254 >= 1000) 
        {
          myGLCD.printNumF((float(fon_254)/1000.0), 1, 26, 0);
        }
      if (fon_254 < 1000) 
        {
          if (fon_254 < 100)
            {
              myGLCD.printNumI(fon_254, 32, 0);
            }
          else
            {
              myGLCD.printNumI(fon_254, 26, 0);
            }
        }
    }
  }
if (overflow_alarm && !blink_data)
  {
  myGLCD.drawBitmap(16, 8, em_logo, 16, 16);
  overflow_alarm = 0;
  }
else if ((zam_poisk_counter >= geiger_counter_seconds) || blink_data)
  {
    myGLCD.setFont(MediumNumbers);
    if (fon > 0) 
      {
        if (fon >= 1000) 
          {
            myGLCD.printNumF((float(fon)/1000), 2, LEFT, 7);
            myGLCD.setFont(SmallFontRus); myGLCD.print(utf8rus("мР/ч"), RIGHT, 12);
          }
        if (fon < 1000) 
          {
            if (fon < 100)
              {
                myGLCD.printNumI(fon, CENTER, 7);
              }
            else
              {
                myGLCD.printNumI(fon, LEFT, 7); 
              }
            myGLCD.setFont(SmallFontRus); myGLCD.print(utf8rus("мкР/ч"), RIGHT, 12);
          }
      }
  }
if (fon > 0) 
  {
    myGLCD.setFont(SmallFontRus);
    if (fon >= 1000) 
      {
        myGLCD.print(utf8rus("мР/ч"), RIGHT, 12);
      }
    if (fon < 1000) 
      {
        myGLCD.print(utf8rus("мкР/ч"), RIGHT, 12);
      }
  }
time_d ();
myGLCD.setFont(TinyFontRus);
ind_doze_time();  //вывод времени накопления дозы на дисплей    
myGLCD.setFont(SmallFontRus);
if (doz_v < 1000) 
  {
    if (doz_v < 100)
      {
        myGLCD.printNumF(doz_v, 1, 41, 41); myGLCD.print(utf8rus("мкР"), RIGHT, 41);
      }
    else
      {
        myGLCD.printNumF(doz_v, 1, 34, 41); myGLCD.print(utf8rus("мкР"), RIGHT, 41);
      }    
  }
if (doz_v >= 1000) 
  {
    myGLCD.printNumF(doz_v / 1000.0, 2, 41, 41); myGLCD.print(utf8rus("мР"), RIGHT, 41);
  }
myGLCD.drawLine(0, 39, 84, 39);//верхняя
battery();
if (graph_type == 0)
  {
  for (uint8_t i = 0; i < 84; i ++)  //печатаем график
    {
      uint8_t max_pixel = map(mass_p[i], 0, GRAPH_max, 0, 15);
      myGLCD.drawLine(i + 0, 39, i + 0, 39 - max_pixel);
    }
  }
else if (graph_type == 1)
  {
  for (int i = 0; i < 84; i ++)  //печатаем график
    {
    if (mass_p[i] > 0) 
      {
        if (mass_p[i] <= 15) 
          {
            myGLCD.drawLine(i + 0, 39, i + 0, 39 - mass_p[i]);
          }
        if (mass_p[i] > 15) 
          {
            myGLCD.drawLine(i + 0, 39, i + 0, 39 - 15);
          }
      }
    }
  }
myGLCD.update();
}

 

баттарейка

//----------------------------------------------------------------------------------------------------
void battery()  //батарейка
{
if (bat_mill - millis() > 2000) 
  {
    bat_mill = millis();
    VCC_read();
  }
myGLCD.drawBitmap(62, 0, logo_bat, 22, 5);
myGLCD.setFont(TinyFontRus);
myGLCD.printNumF(VCC, 2, 66, 0);
}
//----------------------------------------------------------------------------------------------------

лого батарейки

const unsigned char PROGMEM logo_bat[] =
{0xe,0x1f,0x11,0x0,
0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x0,
0x11,0x1f};

изменения в дозе

//------------------------------------------------------------------------------------------------------
void ind_doze_time() //вывод времени накопления дозы на дисплей
{
  myGLCD.setFont(TinyFontRus);
  if (MONTH) // если есть месяцы
    {
      myGLCD.printNumI(MONTH, 0, 43);
      if(MONTH>99)
        {
          myGLCD.print("M", 13, 43);
        }
      else if (MONTH>9)
        {
          myGLCD.print("M", 9, 43);
        }
      else
        {
          myGLCD.print("M", 5, 43);
        }
    myGLCD.printNumI(DAY, 18, 43);
    if (DAY > 9) 
      {
        myGLCD.print("\xBB", 26, 43);
      }
    else
      {
        myGLCD.print("\xBB", 23, 43);
      } 
    }
  else if (DAY) // если нет месяцев, но есть дни
    {
      myGLCD.printNumI(DAY, 0, 43);
      if (DAY > 9) 
        {
          myGLCD.print("\xBB", 9, 43);
        }
      else
        {
          myGLCD.print("\xBB", 5, 43);
        }
      myGLCD.printNumI(HOUR, 18, 43);
      if (HOUR > 9) 
        {
          myGLCD.print("\xBA", 26, 43);
        }
      else 
        {
          myGLCD.print("\xBA", 23, 43);
        }
    }
  else // если нет дней
    {
      myGLCD.printNumI(HOUR, 0, 43);
      if (HOUR > 9) 
        {
          myGLCD.print("\xBA", 9, 43);
        }
      else
        {
          myGLCD.print("\xBA", 5, 43);
        }
      myGLCD.printNumI(MIN, 18, 43);
      if (MIN > 9) 
        {
          myGLCD.print("\xBC", 26, 43);
        }
      else
        {
          myGLCD.print("\xBC", 23, 43);
        }
    }   

}
//--------------------------------------------------------------------------------------------------------

 

Dark-Dante
Offline
Зарегистрирован: 09.01.2018

Спасибо, перекину график и дозу местами чтобы не сидеть высчитывать пиксели.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

Снял осцилограму з  первичной обмотки.  напряжение питания 4.2в

ощущение что транзистор не тот ... не открывается до конца

Morroc
Offline
Зарегистрирован: 24.10.2016

Да не. IRLML0040TRPBF нормальный вполне если не замучен. Выглядит так как будто время импульса маловато, но для режима без нагрузки может и хватать.

Samodelkin_YouTube
Offline
Зарегистрирован: 16.12.2018

Если больше 4 то выходное напряжение преобразователя начинает падать

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Это только кусочек осциллограммы. Если ослик двухканальный - стоит взять ещё сигнал управления с затвора и синхронизироваться по нему.

Вот как должно быть (сигнал снят между gnd и первичкой, параллельно транзистору, снизу импульс управления затвором):

Может и транзистор контрафактный, хз. Интересно также глянуть  сигнал на керамике, на сколько просаживается в импульсе.

Я смотрю гантельки к плате прихвачены проволочкой, там кз витка нет?

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Добавил отображение количества минут, сколько будет производиться замер. Иногда сам забываешь сколько там выставлено в настройках.

    byte otsup = 0;
    if (minute > 9) 
      {
      if (minute > 99) 
        {
          otsup = 10;
        }
      else 
        {
          otsup = 5;
        } 
      }
    byte otsupp = 0;
    if (beta_time > 9) 
      {
        if (beta_time > 99) 
        {
          otsupp = 10;
        }
      else 
        {
          otsupp = 5;
        } 
      }
    myGLCD.clrScr();
    battery();
    if  (bet_z < 2) //таймер выводим только пока идёт первый или второй замер
    {
      myGLCD.setFont(TinyFontRus);
      myGLCD.printNumI(minute, LEFT, 0);
      if (toch == 0) 
        {
          myGLCD.print(":", 5 + otsup, 0);
        }
      else 
        {
          myGLCD.print(" ", 5 + otsup, 0);
        } 
      myGLCD.printNumI(sek, 10 + otsup, 0); myGLCD.setFont(TinyFontRus); myGLCD.print(utf8rus("ИЗ"), 21 + otsup, 0); myGLCD.printNumI(beta_time, 32 + otsup, 0); myGLCD.print("\xBC", 37 + otsup + otsupp, 0);
    }
  

Может кому понадобится. Изменить в отображении таймера эту часть кода. 

Все сдивигается, не налезает друг на друга. До 255 минут

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Может лучше сделать обратный отсчёт?

Dark-Dante
Offline
Зарегистрирован: 09.01.2018

Да, так будет логичнее.

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Пробовал. Пока не получается. Вывод в таймер минут сделал, вычет секунд прописал, а счет не шел все равно. 

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Вечером попробую, если опять сверхурочных не насыпят. А то уже позабывал, что в коде за что отвечает...

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Сегодня хочу сделать индикацию низкого заряда акб. Думаю ниже 3.5 вольта что бы выводилась индикация. Как раз слева от уровня фона есть место, ничего перекрывать не будет и теряться в других показаниях.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

А не лучше внутри пиктограммы батарейки с интервалом в секунду выводить бэкслеш? Мигающая индикация лучше привлекает внимание, получаем перечёркнутую батарейку. Переменная для мигания емнип тоже есть, используется для вывода двоеточия в отсчёте времени. Напряжение ниже порога и переменная true - выводим "/", переменная false или напряжение выше порога - выводим напряжение. В списке "на доработку" давно лежит, да всё никак...
Так и зарядку можно выводить миганием символа батарейки.

OfficialGalkin
OfficialGalkin аватар
Offline
Зарегистрирован: 29.06.2019

Я только наверно сделаю мигание, но нарисовка поверх баттарейки изображения. Полностью закрашена с белой полосой наискось. Много памяти не займет, а в глаза брасаться будет. Тем более у меня баттарейка 5 пикселей высотой.

tekagi
tekagi аватар
Offline
Зарегистрирован: 07.10.2016

Три тысячи в теме))