Приключения ардуинщика

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Вот такое дурацкое название решил дать теме.

Возможно кто-то еще захочет поделиться "этапами большого( или не очень) пути".

======ВСТУПЛЕНИЕ============

Я давно всех достал постоянным упоминанием про мой любимый автобус - кемпер. И уже писал, что заменил в отопителе родной вентилятор на восьмерочный (от  ВАЗ2108). Разница велика - восьмерочный сильно мощнее и мощность разная у купленных в разных местах. Похоже запчасти на русавтпром делают в китайских и турецких сараях (не дворцах! ;)) ). Как следствие - пришлось заменить IRF4905 (P-канальный сильноточный МосФет) на два в параллель, да ещё вживить драйвер TC4420, иначе на транзисторе можно было варить кофе.

Но печка все равно сгорела :(( в прошлогоднем выезде на Селигер. Турбина на восьмерочной печке пластиковая и если отопитель работает от газа и только на горячуу воду, без раздува, то воздух около турбины получается слишком горячим для совково-китайско-турецкого пластика.

Понял я причину только сейчас, когда стал приделывать еще одну печку от 2108. Эта имеет надпись на корпусе "80Вт", но нагло жрет 20А! Не 8, а 20 итиеёмать! С такой наглостью плата управления вообще не захотела её крутить - вылетает с ошибкой по ограничению тока.

======НАЧАЛО ПРО АРДУИНО============

Следовательно придется городить промежуточный контроллер!

Конечно нужно выкинуть срань на рассыпухе (таймер 555, десяток компараторов и делитель частоты) и сделать нормальный контроллер, но мне хочется поехать уже в июне куда-нибудь. Нет  времени на разработку - все-таки газ и я хорошо знаю, как нужно проектировать безопасность... я же не хочу преобразовать кемпер в крематорий?

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

Сложность в том, что ШИМ в родном контроллере - примерно 20КГц. Очень непросто измерить скважность на 20КГц! Конечно через инпут капча таймера1, но вход-выход в прерывание занимает 4-5мкс, если делать максимально корректно:

volatile uint16_t lastICR = 0;
volatile uint16_t hLen = 0;
volatile uint16_t lLen = 0;


uint16_t gethLen() {
  uint16_t h;
  uint8_t s = SREG;
  cli();
  h = hLen;
  SREG = s;
  return h;
}

uint16_t getlLen() {
  uint16_t h;
  uint8_t s = SREG;
  cli();
  h = lLen;
  SREG = s;
  return h;
}


ISR (TIMER1_CAPT_vect) {
  uint8_t r = TCCR1B;
  if (r & 0b01000000) //ICNC1:ICES1:X:WGM13:WGM12:CS12:CS11:CS10
    //если это рост

    lLen = ICR1 - lastICR;

  else
    //если спад
    hLen = ICR1 - lastICR;

  lastICR =  ICR1;
  TCCR1B = r ^ 0b01000000;
  //переключаем тип фронта, который вызовет следующее прерывание

  }

Вот такое прерывание длится более 72 тактов. Листинг прилагать не стану. Оптимизатор все сделал "по уму", выкинув все, что можно, но все равно долго!!!. А я хочу поймать даже 10% ШИМ на 20КГц. В таком виде не ловит ниже 30%.

Выход найден! Сделать прерывание совсем маленьким не читать-писать из него ничего, длиннее байта!

volatile uint8_t indICR = 0;
volatile uint8_t listICR[256];

ISR (TIMER1_CAPT_vect) {
  listICR[indICR++] =  ICR1L;
  TCCR1B ^= 0b01000000;
}

Накидаем дерьма в циклический массив и потом проанализируем. Еще момент: если ловить 3-5мкс, то придется на время измерений останавливать таймер0, который миллис считает, шоп не мешался под ногами.

Грубо вот анализатор ШИМа, который может измерять импульсы до 3мкс до 127мкс. В мой диапазон попадает. Верхнее ограничение  - просто я беру только нижнюю половинку ICR1 - ICR1L, то есть могу измерять до 255 тиков, с предделителем на 8 и 16МГц тактовой выходит как раз 127 мкс.

ЩА вычищу от ненужных следов датчика температуры и кусков отладки и покажу:

(тут вывод на 1602 просто потому, что проверять мне все это в автобусе удобнее с экранчиком)

#include <avr/interrupt.h>
#include <avr/io.h>

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display

volatile uint8_t indICR = 0;
volatile uint8_t listICR[256];

ISR (TIMER1_CAPT_vect) {
  listICR[indICR++] =  ICR1L;
  TCCR1B ^= 0b01000000;
}


void setup()
{
  pinMode(8, INPUT);

  TCCR1A = 0b00001100;//COM1A1:COM1A0:COM1B1:COM1B0:X:X:WGM11:WGM10
  TCCR1B = 0b11000010;//ICNC1:ICES1:X:WGM13:WGM12:CS12:CS11:CS10
  // Выводы отключены, режим 0 (просто счет), частота 2МГц, IC - rise, IC noise canc - yes
  TIMSK1 = 0b00100000; //x:x:ICIE:x:OCIEB:OCIEA:TOIE
  // прерывания по ICR

  lcd.init();
  lcd.backlight();

}

void loop(void) {
  static uint32_t om = millis();
  static uint32_t om1 = millis();
  uint32_t nm = millis();
  static  char s[16] = "               ";

  byte i;

  static float h = 0;
  static float l = 0;

  if ( nm - om1 > 20) {
    h = 0;
    l = 0;
    TIMSK1 = 0;
    for (uint16_t i = 1; i < 241; i++) {
      auto d = (uint8_t)(listICR[i] - listICR[i - 1]);
      if (i % 2) h += d;
      else l += d;
    }
    h = h / 120;
    l = l / 120;

    indICR = 0;
    TCCR1B = 0b11000010;
    uint8_t sss = TIMSK0;
    TIMSK0 = 0;
    TIMSK1 = 0b00100000;

    while (indICR < 250);

    TIMSK0 = sss;
    TIMSK1 = 0;
    om1 = nm;

  }

  if ( nm - om > 1000) {
    om = nm;
    int fr = (int)(2000 / (h + l));
    int frd = (int)(20000 / (h + l)) % 10;

    snprintf(s, 15, "%2d.%1dKHz %3d%%", fr, frd, (int) (100 * h / (h + l)));

    lcd.setCursor(0, 1);
    lcd.print(s);
  }

}

============================

если какие-то гадости вылезут при генерации сигнала - потом допишу. TC4420 должен понимать управление в 0-5В, без дополнительного транзистора.     

Кстати не до конца решен вопрос о входе ШИМа сигнала. У меня дома нет высокочастотной оптопары, только 817, и те с али :((, на на них 20КГц завести никак невозможно. Придется полагаться на делитель, но сигнал я буду брать с платы контроллера, там все стабилизировано сто раз, сигнал, сами понимаете 0-12В. Считать придется на 0-15В. Всё воскресенье подбирал варианты прерывания, чтобы эта зараза измеряла заполнение от 5% на 20КГц!!! Но победил. Пойду водку жрать!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

wdrakula пишет:
Всё воскресенье подбирал варианты прерывания, чтобы эта зараза измеряла заполнение от 5% на 20КГц!!!
А я всё воскресенье резал, гнул и варил железяки (это в промежутках между их же шлифовкой) :-(

wdrakula пишет:
Но победил.
Висит сейчас изделие, краску подсушивает.

А вотку мне до первой звезды ... тьфу ... три дня до и три дня после прививки низзя. Завтра как раз пойду вторую серию ставить.

kolyn
Offline
Зарегистрирован: 18.01.2019

Везет вам)). 

Мы с женой сегодня ездили "домик в деревне" в порядок приводить, который пользуем как летний точек под пасеку. Приехали и прозрели. Трава по пояс (жене), подставок под ульи не видно. 5.5 литров бензина сжег в мотокосе (кто знает, тот поймет). Самое обидное - Ардуину там присобачить некуда...))

Сейчас сижу и думаю - как я 30 лет назад ту же работу с помощью топора, ножовки и ручной косы делал, а вечером еще и в блуд мчался?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

kolyn пишет:

... а вечером еще и в блуд мчался?

никаких жрать, блуд и спать? ))) PS из анекдота
PPS Мёд с одуванчика будет? я бы прикупил баночку 3-х литровую

kolyn
Offline
Зарегистрирован: 18.01.2019

ua6em пишет:

PPS Мёд с одуванчика будет? я бы прикупил баночку 3-х литровую

Теоретики пишут, что он существует. Практиков не встречал.

nik182
Offline
Зарегистрирован: 04.05.2015

Не ну AVR и всё такое, но как же блюпил? Там вообще не надо ни на что заморачиваться, просто читаешь ШИМ в прерывании по захвату двух фронтов. И никаких разумных ограничений на частоту. Да и посчитать необходимый и выдать тоже просто.   

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

nik182 пишет:

Не ну AVR и всё такое, но как же блюпил? Там вообще не надо ни на что заморачиваться, просто читаешь ШИМ в прерывании по захвату двух фронтов. И никаких разумных ограничений на частоту. Да и посчитать необходимый и выдать тоже просто.   

Конечно думал и реализация проще, но остановили 3.3В. Сопрягать сложнее, выход уже не уверен, что можно напрямую к драйверу TC4420 подключать. Тут проверять надо. По ДШ можно, но я всегда опасаюсь околопороговых уровней.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

kolyn пишет:

ua6em пишет:

PPS Мёд с одуванчика будет? я бы прикупил баночку 3-х литровую

Теоретики пишут, что он существует. Практиков не встречал.

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

wdrakula пишет:

Диабет меня подкосил, а так по меду я был большой любитель!

Мёд на диабет не влияет. Там фруктоза вместо сахара. Я ем каштановый мёд (горький) и луговой, Алтайского разнотравья (оч. вкусный).  На сахарометре поедание мёда увеличивает показания на 1-2 единицы, т.е. нестрашно.  Кусок рафинада увеличивает на 8-10 сразу после приёма. :)

А вапще, сахар 11 для меня нормальный.  Наерна, потомушто я мало пью... :)  

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

kolyn пишет:

ua6em пишет:

PPS Мёд с одуванчика будет? я бы прикупил баночку 3-х литровую

Теоретики пишут, что он существует. Практиков не встречал.

скажу больше я откушивал, было целое ведро оного, засахаривается плохо, за 10 лет до состояния очень густой сметаны, по вкусовым качествам весьма приятен, по цвету слегка зеленоват, в сторону как с будяка..., а с чего несёт в ваших краях? В наших самый могучий для суточного приноса (24кг) - акация, Ставропольский край, Нефтекумский район, аул Махмуд-Мектеб, там её тысячи гектар один Русский генерал посадил
PS извиняюсь за оффтоп

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

А вапще, сахар 11 для меня нормальный.  Наерна, потомушто я мало пью... :)  

ну так это не секрет, что алкоголь снижает сахар в крови

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

 Но после адыгейского меда, где и чистая липа и горный каштан с кучей горчака... весь мед средней полосы уже воспринимаешь как... ну патока такая... не в обиду. По липе еще башкиры - молодцы! Не ленятся ульи к медосбору переставлять, чтобы пчела только липу собирала, без мусора.

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

PS может кто знает, отведывал мёд с сибири, режется как кусок сала, белый, ну очень приятен, так и не узнал с чего он, вересковый засахаренный?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

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

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ua6em пишет:

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

Вот это - дилетантство. Пчела все равно обрабатывает корм - сироп или нектар, своими кислотными выделениями и тем инвертирует сахара (учить википедию! ;)) ). Так что чем пчелу не корми - на выходе именно мед, хоть на чистом сахаре! Все остальное - вопросы микродобавок, которые имеет тот или иной нектар или падь или сироп. Они и создают разные вкусы, разную кристаллизацию при засахаривании, разные цвет и запах.

Кстати это и причина того, что растапливать засахаренный мед - не комильфо. Меняется состав сахаров при нагреве. Конкретно увеличивается количество инвертированных, что меняет полностью мед. То есть то, что получилось тоже прикольная сладость, но уже не натуральный мед.

=======================

А по поводу фруктозы или иных изомеров. Диабетику два - похеру какие углеводы жрать. У диабетиков один - важна скорость реакции, так как нужно быстро инсулин ввести, а у меня диабет два, своего инсулина - хоть жопой жри. Поэтому то, что фруктоза медленнее - никакой разницы, хлеб тоже медленнее сахара, и картоха. Их тоже бум жрать?

Я, кстати, сломался ;)) и диету стал соблюдать и инсулин убрал, заменив очень дорогой Кселевией. Скинул 20 кг и сахар привел к 9-10. А то чот стремно стало... ноги потерять до того, как яхту купить!  Водку - не бросил, 0.7 с супругой на ужин - это закон! ;))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

Так что чем пчелу не корми - на выходе именно мед, хоть на чистом сахаре!

конечно мёд, только биологическая активность очень маленькая, а таки да, мёд - продукт ферментации "сахаров" пчелиной слюной )))
 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ua6em пишет:

конечно мёд, только биологическая активность очень маленькая

Поищи активность в акациевом меде, который лет 20 назад очень модный стал... типа "гипоаллергенный"  ;)) вообще без вкуса, запаха и смысла!

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

ua6em пишет:

конечно мёд, только биологическая активность очень маленькая

Поищи активность в акациевом меде, который лет 20 назад очень модный стал... типа "гипоаллергенный"  ;)) вообще без вкуса, запаха и смысла!

акация разная, у него нежнейший вкус и запах (говорят что нежней только вересковый), по ME не скажу, в зиму покупаю с разнотравья с высоким МЕ, у друзей, правда пасечники народ своеобразный, но мне везёт, пилот ТУ-95 в прошлом  )))

PS сейчас за акациевый выдают с Астраханских камышей, по цвету неотличим, вот он да, другой )))

kolyn
Offline
Зарегистрирован: 18.01.2019

wdrakula пишет:

Вот это - дилетантство. 

Да.

wdrakula пишет:

Пчела все равно обрабатывает корм - сироп или нектар, своими кислотными выделениями и тем инвертирует сахара (учить википедию! ;)) ).

Инверсия сахарозы в улье происходит за счет фермента инвертаза, который вырабатывают пчелы, орг. кислоты привносятся вместе с нектаром и в этом процессе не играют значительной роли.

Мед как продукт ценен именно наличием микродоз различных веществ (органических и неорганических), которые попадают в мед из нектара (или пади -  именно поэтому падевый мед весьма ценится).

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

 

sadman41
Offline
Зарегистрирован: 19.10.2016

А это... пчеловики, поведайте - если за год мед выпал в сахар - это фейк или норма?

lilik
Offline
Зарегистрирован: 19.10.2017

Люди занимающиеся пчеловодством называются пчеловодами, раньше (и теперь иногда) - пасечниками их кличут. Кристаллизация меда это норма - так и надо, иначе мёд некачественный. Кормить пчёл  сахаром с водой - губить их. Это плохо. Люди идут на это от жадности или для спасения гибнущих семей. Лучше подкармливать мёдом или канди.

lilik
Offline
Зарегистрирован: 19.10.2017

А вообще для постижения настоящего языка программирования (природного) надо обязательно подержать пчёл. Мужики обычно зреют к этой мысли после 50 :)

kolyn
Offline
Зарегистрирован: 18.01.2019

Мед в основе - смесь простых сахаров: глюкозы и фруктозы. Но количественно эти сахара зависят от состава нектара, в одних сортах больше глюкозы, в других наоборот. Все растворы смесей простых сахаров в воде склонны к кристаллизации. Поэтому кристаллизация меда - это норма!

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

Мед, который долго не кристаллизуется , напр., - акация белая, вереск, эвкалипт (фруктозы до 80 %).

Кристаллизуется очень быстро, иногда за неделю - подсолнечник, крестоцветные (рапс, горчица).

sadman41
Offline
Зарегистрирован: 19.10.2016

lilik пишет:

Люди занимающиеся пчеловодством называются пчеловодами, раньше (и теперь иногда) - пасечниками их кличут.

Ну, тут большинство - только медоеды, как я понял.

lilik пишет:

Кристаллизация меда это норма - так и надо, иначе мёд некачественный. 

Т.е. некачественный (сахар, пропущенный через пчел) не сахарится? 

lilik
Offline
Зарегистрирован: 19.10.2017

Честно скажу не знаю - никогда (пока держал пчёл) мысль сделать и отложить на хранение сахарный мёд не приходила :) А на вкус он сладкий, но абсолютно не душистый.

Мёд некачественный, например, если пчёловод его откачал не дав созреть - тогда он может закиснуть (на вкус кисло-сладкий с неприятным запахом хорош для самогона!) или хранил в плохо закрытой таре - мёд легко и быстро впитывает чужие запахи и ароматы (пословица про ложку дёгтя).

 

kolyn
Offline
Зарегистрирован: 18.01.2019

sadman41 пишет:

Т.е. некачественный (сахар, пропущенный через пчел) не сахарится? 

Господа. Давайте я на программистском форуме в теме про минимизацию времени  выполнения прерывания попытаюсь развеять некоторые околомедовые мифы))

Органолептически невозможно!!! определить натуральность  меда. Все сказки про химический карандаш, першит-непершит в горле,не хочу перечислять, ибо сонм их - это туфта.

Единственный боль-мень приемлемый способ определения натуральности - анализ на оксиметилфурфурол (ОМФ). В природном нектаре его нет, в сахаре из магазина - есть. И в гретом до температуры более 45 град. меде.

Анализ сложен, дорог, ни одна рыночная лаборатория его не делает. Поэтому ну вы поняли.

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

Ну а если решили приобрести бутыль, который предлагает дядька из багажника жигулей в вашем дворе и на 30% дешевле, чем на ближайшем рынке - ну вы просто очень щедрый человек)).

sadman41
Offline
Зарегистрирован: 19.10.2016

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

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

kolyn пишет:

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

не скажи, тесть говорил - последний год, когда я держу пчел будет последним годом когда я ем мёд )))

lilik
Offline
Зарегистрирован: 19.10.2017

kolyn пишет:

sadman41 пишет:

Т.е. некачественный (сахар, пропущенный через пчел) не сахарится? 

Господа. Давайте я на программистском форуме в теме про минимизацию времени  выполнения прерывания попытаюсь развеять некоторые околомедовые мифы))

Органолептически невозможно!!! определить натуральность  меда. Все сказки про химический карандаш, першит-непершит в горле,не хочу перечислять, ибо сонм их - это туфта.

Единственный боль-мень приемлемый способ определения натуральности - анализ на оксиметилфурфурол (ОМФ). В природном нектаре его нет, в сахаре из магазина - есть. И в гретом до температуры более 45 град. меде.

Анализ сложен, дорог, ни одна рыночная лаборатория его не делает. Поэтому ну вы поняли.

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

Ну а если решили приобрести бутыль, который предлагает дядька из багажника жигулей в вашем дворе и на 30% дешевле, чем на ближайшем рынке - ну вы просто очень щедрый человек)).

Чистейшей воды правда.

Россия потеряла культуру потребления мёда как продукта питания. Сахар этому виной. Труд пчеловода - титанический. 1000-1500 рублей (как сейчас не знаю) за 3 литра это смех. 

lilik
Offline
Зарегистрирован: 19.10.2017

sadman41 пишет:

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

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

Если человек очень серьёзно работает и имеет с пасеки 5 тонн, то может ездить и год. У меня, тунеядца, больше 300 кг в жизни не было !

 

kolyn
Offline
Зарегистрирован: 18.01.2019

sadman41 пишет:

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

Организацией подобных "медовых ярмарок" у нас занимаются в основном люди, исповедующие одно из протестантских ответвлений христианства и не выехавшие на ПМЖ в США. На самом деле они содержат по 100 - 200 пчелосемей (у самих-то семьи большие). Продают свой мед, но если бизнес успешен, ездят по отдаленным селам и скупают мед у местных пчеловодов для перепродажи.

Колхознику чем ехать в город, налоги-шмалоги, продашь-непродашь, выгоднее продать за 40 - 50% от рыночной. Кроме того стационарная пасека, затрат гораздо меньше. Побочка, так скакать.

А на этих выездных ярмарках торг идет довольно бойко. Стадный инстинкт ни кто не отменял.

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

sadman41
Offline
Зарегистрирован: 19.10.2016

kolyn, т.е. в любом случае, получается, вероятность фейка 50/50, как я понимаю и это невозможно проверить бытовым способом.

Ресселер не может гарантировать, что вендор не намешал сахара, вендор не знает, с чем мешает его продукт реселлер... А цена с учетом возможности картельного сговора - вообще не показатель.

kolyn
Offline
Зарегистрирован: 18.01.2019

Вендору, если он с колхоза "20 километров до асфальта" бадяжить проку нет, ему бы честное сбагрить хоть за какую деньгу))

Да и не очень он и вендор))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

kolyn пишет:

Вендору, если он с колхоза "20 километров до асфальта" бадяжить проку нет, ему бы честное сбагрить хоть за какую деньгу))

Да и не очень он и вендор))

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sadman41 пишет:
вероятность фейка 50/50
Ну, да. Либо фейк, либо - не фейк.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Харэ оффтопить и продолжим! ;))

Я уперся в измерения микросекундных интервалов и понял, что страдаю хернёй! Я же как-никак математик, обученный в совдепии, в МГУ имени - аж самого Михаила Васильевича Ломоносова! На - вот прям-таки - Механико Математическом факультете. И не стыдно мне решать задачи, как простой ВМК-ашник, не прибегая к математическому багажу?!

А вот давайте рассмотрим, что же мне нужно?

1. Следить за скважностью входного ШИМа;

2. За температурой у турбины вентилятора, шоп не рсплавилась;

3. Управлять ШИМом на выходе, не давая охренеть датчику потребляемого тока.

Что для этого нужно?

 Даллас, изменение скважности (не частоты и не микросекундных интервалов, а только скважности, матьеё!), не нужно следить за током, нужно один раз подобрать максимальный ШИМ, который меня устроит. Чем меньше деталей, тем надежнее устройство.

Короче слишком долгое вступление. Вопрос, а как измерять скважность, вообще не измеряя интервалы? Ответ находится в княжестве Монако! ;))

Вот код, который измеряет скважность входящего ШИМа, вне зависимости от его частоты.

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

void setup()
{
  Serial.begin(115200);
}


void loop(void) {
  static uint32_t om = millis();
  uint32_t nm = millis();

  static uint32_t nH = 0;
  static uint32_t nN = 0;

  static float duty = 0;

  //Вот это и есть метод Монте-Карло ;)) не путать с папой Карло.
  //секунду считаем и раз в секунду печатаем
  nN++;
  nH += digitalRead(8);
  delayMicroseconds(random(22));

  if ( nm - om > 1000) {
    om = nm;

    duty = (duty + 100.0 * nH / nN) / 2; // сгладим скользящим средним
    Serial.println(duty);
    nN = 0;
    nH = 0;
  }

}

Если добавить частотомер на ICR1, то в вычислении скважности следует учесть время, которое "выпадает" из метода Монте-Карло.Ниже -  код с измерением температуры, частоты и скважности. Далее все должно быть просто. Если будет настроение - присоединю к плате и попробую уже сегодня... ну или завтра. Я - Великий Прокрастинатор! ;))

#include <avr/interrupt.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <OneWire.h>

volatile uint16_t lastICR = 0;
volatile uint16_t vPeriod = 0;

//для двухбайтовой переменной уже нужен атомарный геттер
uint16_t getPeriod() {
  uint16_t v;
  uint8_t s = SREG;
  cli();
  v = vPeriod;
  SREG = s;
  return v;
}

// дистиллированный частотомер. от лучших сомелье.
ISR (TIMER1_CAPT_vect) {
  vPeriod = ICR1 - lastICR;
  lastICR =  ICR1;
}

OneWire  ds(4);
byte addr[8];


void setup()
{
  Serial.begin(115200);
  pinMode(8, INPUT);

  TCCR1A = 0b00001100;//COM1A1:COM1A0:COM1B1:COM1B0:X:X:WGM11:WGM10
  TCCR1B = 0b11000001;//ICNC1:ICES1:X:WGM13:WGM12:CS12:CS11:CS10
  // Выводы отключены, режим 0 (просто счет), частота 16МГц, IC - rise, IC noise canc - yes
  TIMSK1 = 0b00100000; //x:x:ICIE:x:OCIEB:OCIEA:TOIE
  // прерывания по ICR

  if ( !ds.search(addr)) {
    ds.reset_search();
  }
  ds.reset();
  ds.select(addr);
  ds.write(0x4E);
  ds.write(0x1F);
  ds.write(0x1B);
  ds.write(0x7F); //Установим 12 бит разрешение

  ds.reset();
  ds.select(addr);
  ds.write(0x44); //и запросим температуру
}


void loop(void) {
  static uint32_t om = millis();
  uint32_t nm = millis();

  uint8_t d0, d1;
  static float t;

  static uint32_t nH = 0;
  static uint32_t nN = 0;

  //Вот это и есть метод Монте-Карло ;)) не путать с папой Карло.
  nN++;
  //что совой об пень, что пнём по сове - некоторые любят регистры! ;))
  //nH += digitalRead(8);
  nH += PINB & 1;
  delayMicroseconds(random(11));

  //скользящее среднее.
  //иначе при измерениях нужно таймер0 отключать
  static uint16_t period = getPeriod();
  period = (3 * period + getPeriod()) / 4;

  if ( nm - om > 1000) {
    om = nm;
    //раз в секунду прочтем температуру и запросим следующую
    ds.reset();
    ds.select(addr);
    ds.write(0xBE);
    d0 = ds.read();
    d1 = ds.read();
    t = (float)((d1 << 8) | d0) / 16.0;
    ds.reset();
    ds.select(addr);
    ds.write(0x44);

    const int intTime = 66; // поправка на время прерывания
    auto duty = (period - intTime) * nH / nN + intTime;

    //мои извинения за "стринги" ;)) это отладочный вывод и так проще, даже чем prinf, в нем флоат нету.
    Serial.println(String(16000.0 / period, 1) + "KHz " + (100.0 * duty / period) + "% T=" + t);
    nN = 0;
    nH = 0;
  }

}

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Чему нас научил предыдущий пост? Применению метода Монте-Карло в ардуино для изучения интегральных свойств сигнала. Мы же не скважность реально измерили, а время высокого уровня сигнала за секунду (в конкретном примере). Важным моментом является случайная задержка, она не дает случайно попасть "в резонанс" с входным сигналом и провалить наши измерения.

Такой простой статистический метод можно использовать вместо никчемно-точных измерений, если для принятия решения достаточно знать оценочные интегральные характеристики. Любознательных прошу накидать вариантов использования метода Монте-Карло для иных целей.

Без формул метод состоит в том, что при случайной стрельбе по фигуре на мишени, доля попаданий в фигуру прямо пропорциональна её площади. Разумеется предполагается равномерное распределение попаданий по площади мишени.

==========================

Как затравка для творчества пусть будет RMS. Для вычисления RMS можно делать измерения на частоте много выше, чем частота измеряемого сигнала. А можно сделать измерения на невысокой частоте, но в случайные моменты времени. Результат точно такой же, только количество измерений должно быть достаточно большим. Мы как-бы меняем время сбора информации на частоту. Для 50Гц можно сделать, к примеру, 1000 измерений на частоте 5000Гц, за 0.2 сек. А можно  не "рвать жопу" соблюдая частоту измерений, а сделать ту же 1000 измерений в комфортном режиме за 2-3 секунды, но со случайными промежутками. Статистически результат тот же самый.

"Укушенные метрологом" могут сказать, что погрешности разные при прямых и статистических измерениях и зависят от качества генератора случайных чисел (от энтропии псевдослучайной последовательности). Это так. Но на практике достаточно знать, что точность статистических измерений растет с количеством "выстрелов". Дальше уже слишком заумная для форума математика и метрология. Провели эксперимент, стабилизировался результат и устраивает по разбросу и погрешности? - ОК!

nik182
Offline
Зарегистрирован: 04.05.2015

Браво. Остается только согласиться с утверждением, что статстики надо набирать много. Если время терпит и процессы нагрева - перегрева терпят насколько секунд до метод вполне разумный и по точности не уступает прямым измерениям, в которых тоже присутствуют случайные процессы, только с друго бока.

Upper
Offline
Зарегистрирован: 23.06.2020

Не понял как считается intTime - "поправка на время прерывания". Можете пояснить? (Код под спойлером в #35 )

091     const int intTime = 66; // поправка на время прерывания
092     auto duty = (period - intTime) * nH / nN + intTime;

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Upper пишет:

Не понял как считается intTime - "поправка на время прерывания". Можете пояснить? (Код под спойлером в #35 )

091     const int intTime = 66; // поправка на время прерывания
092     auto duty = (period - intTime) * nH / nN + intTime;

 

Могу, а что? ;))) - шутка!

Либо посчитать по листингу количество тактов или, что проще, посмотреть осциллографом и подобрать - так я и делал.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

wdrakula пишет:
посмотреть осциллографом и подобрать - так я и делал.
И это говорит "как-никак математик"! https://www.youtube.com/watch?v=Ty2FVORVTQM :-)))

b707
Offline
Зарегистрирован: 26.05.2017

тема про таймеры, но из 40 сообщений - 31 про мед. Как это характерно для этого форума :)))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

b707 пишет:

тема про таймеры, но из 40 сообщений - 31 про мед. Как это характерно для этого форума :)))

Вот что ты имеешь против мёда? И поконкретнее, плз!

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

b707 пишет:

тема про таймеры, но из 40 сообщений - 31 про мед. Как это характерно для этого форума :)))

Вот что ты имеешь против мёда? И поконкретнее, плз!

поддержу, мой утренний рацион начинается с овсянки с мёдом )))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ЕвгенийП пишет:

wdrakula пишет:
посмотреть осциллографом и подобрать - так я и делал.
И это говорит "как-никак математик"! https://www.youtube.com/watch?v=Ty2FVORVTQM :-)))

И не говори! Стыдобища, а шо делать? Пойду распечатаю листинг и посчитаю такты... или не пойду? ... завтра решу! ;)))

-------------------

Добавлю - метод проб и ошибок - самый что ни на есть математический! Подбор параметров  - древнее и священное занятие! ;))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ua6em пишет:

wdrakula пишет:

b707 пишет:

тема про таймеры, но из 40 сообщений - 31 про мед. Как это характерно для этого форума :)))

Вот что ты имеешь против мёда? И поконкретнее, плз!

поддержу, мой утренний рацион начинается с овсянки с мёдом )))

Я горсть изюма сыплю, но по углеводам это тоже самое. Наверно тоже медку прикуплю, как только приличная ярмарка осенняя откроется.

Да, в июне, если получится, я как раз на северный Кавказ собрался. Любимый Пятигорск и окрестности. Кинь мне контакты в телегу @wdrakula. Еще не точно, так как с моим зверинцем должны родители остаться, а им 80 и 81 и маме должны вот-вот хрусталик делать... так что все очень условно пока.

Green
Offline
Зарегистрирован: 01.10.2015

ua6em пишет:

поддержу, мой утренний рацион начинается с овсянки с мёдом )))


Овсянка, сэр.) После многих лет потребления, я на неё сейчас смотреть не могу.(

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Green пишет:

ua6em пишет:

поддержу, мой утренний рацион начинается с овсянки с мёдом )))


Овсянка, сэр.) После многих лет потребления, я на неё сейчас смотреть не могу.(

На сливках, с горстью золотого изюма, с кедровыми орешками, шоколадными каплями и здоровенным куском сливочного масла? Да ты, брат, не гурман нихера!

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Green пишет:

ua6em пишет:

поддержу, мой утренний рацион начинается с овсянки с мёдом )))


Овсянка, сэр.) После многих лет потребления, я на неё сейчас смотреть не могу.(

а я и не смотрю, просто ем
PS приговаривая - к пище и...неприхотлив )))

Green
Offline
Зарегистрирован: 01.10.2015

wdrakula пишет:

На сливках, с горстью золотого изюма, с кедровыми орешками, шоколадными каплями и здоровенным куском сливочного масла? Да ты, брат, не гурман нихера!


Ну согласен. Если так оформить - нет вопросов.) Обычно же что в холодильнике - мёд, варенье, сгущёнка. Особенно нравилось с абрикосовым вареньем.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Green пишет:

Особенно нравилось с абрикосовым вареньем.

с ним и айран неплох )))