Котуинко

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
OKF
Это не хвост, это антенна
Сообщения: 1392
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Котуинко

Сообщение OKF »

Релюшка, пиз...шка, адруинка...)) Ужос.(
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Ну дык интересно ж покопаться для проверок возможностей.
(В отличии от многостраничного флуда "ни о чем" в указанных темах, сподвигших на сей садомазохизьм.)
Понятно, что можно и проще и на других микрушках с более удачными потрохами.
Однако без пробы и результата не видать.
Я б на АТ89С2051 с учетом возможностей тамошних таймеров соорудил...
Только кто ж их (АТ89С2051) сегодня то отыщет?
Разве что STC - но с теми также не все так просто, как с возней с адуринками...
Да и прошивку сделать у атмелевских mcs51 - программатор надобен (ессно не мне :wink: ).
Вполне возможно и с адуринкой, ежли выйти "за рамки" штатного минимума, много удачнее сделать можно.
Но то ж уже "за рамками" (не для простосмертных). Весь смысл возни был в том, чтоб именно "в рамки" вписаться да еще и с вполне работоспособным для заявленной задачи результатом.
8)
Реклама
Dmitrudo
Открыл глаза
Сообщения: 44
Зарегистрирован: Пт апр 18, 2025 17:13:54

Re: Котуинко

Сообщение Dmitrudo »

[uquote="BOB51",url="/forum/viewtopic.php?p=4711175#p4711175"]Немножко дополнительного садомазохизма в попытке поднять максимальное быстродействие (количество считанных импульсов) для пародии на частотомер в рамках ардуиньего референса (а заодно и симулятор погонять)...
Условие - не использовать ничего за рамками "стандарно - адуринко" - ни таймеры в режиме счета, ни дополнительные фокусы с дополнительным генератором 1mS на Т0, ни отказа от LOOP()...
Захват входного сигнала проводится обычным чтением лапок, а вот формирование измерительного окна чуток с извратом - использована генерация tone c последующей обработкой счетчика в прерывании от INT0.
Ну и компаратор по количеству входных импульсов - поставлено 33 - если меньше выход D8 = 1, ежли больше D8 = 0.
При такой схемке максимум корректно считанных импульсов возможен для условия
длительность активной части импульса (0) = 1100 микросекунд,
длительность пассивной части импульса (1) =1150 микросекунд.
Собственно несколько измененная схемка:
https://img.radiokot.ru/files/20529/3qzplyk6yn.GIF
скрин окна симулятора с максимальным количеством корректно считываемых импульсов
1746258262837_144dpi_75%.pdf
скрин окна симулятора с количеством импульсов ниже пороговой величины
1746258027399_144dpi_75%.pdf
и текст исходника (taho.ino)
Спойлер

Код: Выделить всё

/*   проект taho
 простейший автомат селектор количества импульсов в секунду
 диапазон контроля от 0 до 200 импульсов в секунду (120 км/час)
 ориентировочный порог (уставка) 33 импульса в секунду
 решение для ардуино нано в рамках средств референса
 параметры входных импульсов не известны, но
 оговорено:
 1. отсутствие дребезга фронтов (аппаратный антидребезг в источнике сигнала)
 2. длительность активной части импульса не менее 1.1 милисекунд
 3. длительность паузы не менее 1.15 милисекунд
 точность сработки +/- 2 импульса    */


// линия водного сигнала
#define Taho 6 // D6
// активный уровень входного сигнала исключительно LOW
//byte AlTaho = LOW;
// линия выходного сигнала
#define RelOut 8 // D8
// активный уровень выходного сигнала
byte AlRelOut = LOW;
// выход тактового сигнала на формирователь счетного окна
#define tonout 4 // D4
// вход тактового сигнала на формирователь счетного окна
#define toninp 2 // D2 (= INT0)
// флаг захвата фронта начала импульса или начала паузы
byte Fl = 0;
// флаг начала окна измерительного интервала
byte Fw = 0;
// счетик - накопитель импульсов 
int cntTaho = 0;
// пороговое значение контрольной уставки количества импульсов
#define MaskTaho 33
// контрольный накопитель формирователя счетного окна
byte tmslot = 0;
// пороговое значение контрольной уставки накопителя формирователя счетного окна
#define MaskCtms 50
// функция бработчика прерывания формирователя счетного окна
void timeslot();

//----------

void setup() {
  // put your setup code here, to run once:

  pinMode(toninp, INPUT_PULLUP);
  digitalWrite(tonout, HIGH); pinMode(tonout, OUTPUT);
  pinMode(Taho, INPUT_PULLUP);
  digitalWrite(RelOut, !AlRelOut); pinMode(RelOut, OUTPUT);
  Fl = 0; Fw = 0; cntTaho = 0; tmslot = 0;
  noInterrupts();
  attachInterrupt(digitalPinToInterrupt(toninp), timeslot, FALLING);
  interrupts();
 
}


void loop() {
  // put your main code here, to run repeatedly:
  while(LOW == digitalRead(Taho))
   {
    if(!Fl)
     {
      Fl = 1;
      if(!Fw){ Fw = 1; tone(tonout, 50); } //cntTaho = 0; 
     }
   }
  Fl = 0;
  while(HIGH == digitalRead(Taho))
   {
    if(!Fl)
     {
      Fl = 1;
      if(Fw){ cntTaho++; }
     }
   }
  Fl = 0;
}


//----------
// функция бработчика прерывания формирователя счетного окна
void timeslot()
{
  tmslot++;
  if(tmslot == MaskCtms)
  {
    noTone(tonout); digitalWrite(tonout, HIGH);
    if(cntTaho < MaskTaho){ digitalWrite(RelOut, !AlRelOut); }
    else{digitalWrite(RelOut, AlRelOut);}
    tmslot = 0; cntTaho = 0; Fw = 0;
  }
}

//----------
В принципе для релюшки, срабатывающей на требуемый порог вполне сгодится.
Для частотомера явно не особо пригодное решение, разве что обороты считать.
Но и исходные требования к входным импульсам зверские - от постоянного 0 до постоянной 1 при старте (и в любой момент работы)...
Да плюс тренировка мозгам и навыков пользования симулятором.
:write:
8)[/uquote]

Собственно, неясно только, почему вогнали себя в рамки- ОДНОЙ секунды опроса. Каюсь- это я так в самом начале ляпнул, но 1 сек- не логма, можно посчитать 66 импульсов за 2 сек, или 99- за три, имхо.
Я так понимаю, что, даже если приборчик и за 5 сек поймет, что скорость 20 км установлена, то плохо от этого никому не будет. Зато возможности Ардуино раздвигаются.
С другой стороны, функция отслеживания скорости не обязательна. У него одна функция: подать лог1 при скорости 20 км час, ине подавать ее- при скорости ниже 20 км час.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

У ардуино есть штатная функция определения длительности импульса.
Однако чтобы ею воспользоваться надо быть уверенным в параметрах входного сигнала (знать его минимальные и максимальные значения, вероятность простоя как в так и в 0 при остановке источника импульсов и прочие "мелочи").
А то, что я соорудил - простой вариант частотомера с примитвным способом измерения.
Интерввал в 1 секунду - типичен для частотомеров.
Можно задать и поменьше - но то для более скоростных процессов обычно применяется Тут же исходно от 0 до до 33 и далее сколько возможно (к примеру, если брать Ваши исходные данные для 300км/час достаточно корректно отработать 500 импульсов в секунду)...
Так что вполне себе вписался в условия задачи.
Другое дело, что для использования такого решения как частотомера не слишком удачно.
Дополнительный вопрос - работа с симулятором (не на макете).
Данный симулятор "отсебятину" не пропускает - посему только "жесткие рамки референса"...
Зато кучка внешней обвязки может проверяться.
Не "супер", но простейшие элементы программ проверяются достаточно хорошо.
Вобщемсс .... поигрался в свое удовольствие.
8)
Кстати... Чем меньше прерываний для генерации "измерительного окна" тем выше максимальное количество подсчитываемых импульсов -в идеале единственное прерывание от таймера с внутренним тактированием - реально, но это уже "отступление от "референса" - некошерно.
:wink:
Опустить частоту tone ниже 31Гц невозможно по тому же "стандартному минимуму" - а в диапазоне 49-30 ... не так удобно в счете.
8)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Частотомеры...МК то вроде неплохо, но есть и рассыпуха...
Да еще завалялись вот такие раритеты (580ВИ53/1810ВИ54)
https://img.radiokot.ru/files/20529/3k6i33tbmc.jpg
Интересненько, чего б на них соорудить можно...?
Жрут правда весьма нескромно - но все ж и управление у них довольно интересное...
"в лоб" до 2МГц (54 вроде до 8 МГц) воспринимают счетны импульсы...
Надо б поиграться...
:roll:
Реклама
petrenko
Друг Кота
Сообщения: 5322
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: Котуинко

Сообщение petrenko »

Kcтати, помнится, была схема, где 580ви53 программировал не процессор, а жёсткий автомат, состоявший из п.з.у. и счётчика
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Такая городушка на рассыпухе возможна...
Только вот по сложности и навороченности явно превзойдет решение на МК.
В дремучей древности делал подобное (частотомер "цифровая шкала") на рассыпухе... Примерно в 45 корпусов рассыпухи влезло (8 знакомест дисплей,память,прочее...). Только потом импортная публикация аналогичного решения на ОДНОЙ спецБИС появилась... Так та самоделка со схемами где то потерялась.
Единственно весьма много знаний/навыков дала (типа дипломна проекта по теме цифровой логики - сам себе задание дал и сам его выполнил). "хвостом" там добавлялся блок АЦП с автовыбором пределов измерения с индикацией на той же цифровой шкале (напряжение- частота) - тоже "канул в безвесть" сразу после испытаний. Дальше уже пошло освоение МК.
:tea:
Удобство таймера по отношению к подобной по функционалу рассыпной конструкции - меньшее количество деталек на плате относительно такого же счетного модуля из счетчиков и буферных регистров с дополнительной обвязкой.
Не всякий МК (из популярно/типовых) может напрямую принимать импульсы до 2 МГц.
В то же время минусы - параллельный интерфейс, большое энергопотребление и редковостребованный максимальный диапазон...
Разве что еще как спецгенератор хитрых последовательностей можно использовать.
Но просто почитать /помудрить смысл таки есть (даже ежли и ощутимого/макетно-безделушного результата не будет).
Надо ж хоть иногда отупевшему мозгу посильную тренировку давать..
:twisted:
Adrift
Вымогатель припоя
Сообщения: 540
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Котуинко

Сообщение Adrift »

[uquote="BOB51",url="/forum/viewtopic.php?p=4713575#p4713575"]Не всякий МК (из популярно/типовых) может напрямую принимать импульсы до 2 МГц.[/uquote]
Может и не каждый, но типичному AVR можно на вход таймер подать сигнал в 2.5 раза меньше тактовой, т.е. 20/2.5 = 8 MHz. Для простейшего STM32 получится 128/3 = 42.6 MHz и дополнительно можно пределитель на 2/4/8 подключить.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Только надо на максимум кварц ставить и без предделителя системную частоту оставить (CLCio).
Второй вопрос - удобство управления защелкиванием интервала...
Ежли покопаться можно найти вариант, но таки таймеры АВР больше на другие цели настроены (ШИМ, измерение длительности).
Основное преимущество таймеров МК - прямой счет и легкость доступа к регистрам счета и управления режимами.
Далее вопрос точности и стабильности генератора всплывет, но то уж для оченно гурманов...
А для варианта адуринки это уже явный "выход за рамки референса" - не впишется в принятые начальные ограничения (но не исключает применения :wink: )
:roll:
За АРМ и прочих более шустрых - я ими в данной теме не занимаюсь (хотя и не отрицаю их наличие и возможности).
8)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Наконец доделал комплект из LGTшек - и нанка и про-мини:
https://img.radiokot.ru/files/20529/3knyj3q5o1.jpg
теперь бы еще схемные заготовки для splan и трафаретки под layout нарисовать...
:sleep:
erny
Родился
Сообщения: 2
Зарегистрирован: Сб июн 07, 2025 14:15:22

Re: Котуинко

Сообщение erny »

[uquote="BOB51",url="/forum/viewtopic.php?p=4693874#p4693874"]По поводу драйвера для CH9340 и разных форточек...
ХР х32 любой вариант - установка без проблем...
Семерка - десятка х64 - без проблем ставится только на ОФИЦИАЛЬНОЙ ВЕРСИИ... :(
Варианты "хакнутых" установку драйвера могут не провести.
Возможно вопрос в обновлениях (хуже, если контроль поглубже :dont_know: )...
:evil:[/uquote]
Не знаю, как там в официальной версии, но у меня на Windows 7 32 bit, не было нужного файла в папке с драйверами, поэтому и не проходила установка драйвера.
Нет там никакого ограничения ни для какой платформы !!
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Хорошо если у Вас получилось без проблем.
Но не факт, что у других так же будет.
Семерки х32 у меня для проверок просто нету.
8)
erny
Родился
Сообщения: 2
Зарегистрирован: Сб июн 07, 2025 14:15:22

Re: Котуинко

Сообщение erny »

Почему же без проблем, проблема установки есть, но она решаема. Попробуйте на своей платформе, установка одинакова для любой винды. Короче, в отличие от своего собрата CH340, который ставит свои драйвера, установщик CH9340 ничего не добавляет, а пытается подключить системный файл usbser.sys из папки Windows\system32\drivers. У меня он находился в FileRepository. Решение проблемы простое. Через поиск найти файл на своем диске и скопировать его в указанную папку с драйверами. Сделать переустановку драйвера, и все установится.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Еще одна из версий на темы "разбудильников" да интерактива кнопок и дисплея:
https://radiokot.ru/forum/viewtopic.php ... 2#p4725632
Базовый движок тот же, что и ранее в К145М, но работа индикатора чуток иная - без курсора, но с "подмигиванием".
8)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Небольшая модификация той схемы с добавлением автогашения дисплея (в целях экономии питания)
https://radiokot.ru/forum/viewtopic.php ... 4#p4726184
8)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Полный вариант с RTC DS1307
https://radiokot.ru/forum/viewtopic.php ... 0#p4726990
8)
Имела место ошибка в схеме...
Исправления тут:
https://radiokot.ru/forum/viewtopic.php ... 6#p4727086
:oops:
Аватара пользователя
zAries
Потрогал лапой паяльник
Сообщения: 306
Зарегистрирован: Ср сен 11, 2024 10:18:53

Re: Котуинко

Сообщение zAries »

[uquote="BOB51",url="/forum/viewtopic.php?p=4711255#p4711255"]...Только кто ж их (АТ89С2051) сегодня то отыщет?...[/uquote]
Ну а чего их искать, они и не прячутся особо https://www.chipdip.ru/search?searchtex ... %D0%A12051
Только никому они не нужны видимо.
Audiatur et altera pars !
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Мне больше местные радиорынки интерес представляют.
А ёжли уж те 20-лапки MCS51... То лучше поискать AT89S2051 или AT89S4051
:wink:
Хотя на сегодня таки эти МК только для узкоприкладных целей могут пойти - адуринки нанки и про-мини их перекрывают и по доступности и по "начинке" и по ценам (с учетом минимальной обвязки). Да и по средам разработки выбор больше (свободно-бесплатным без всякохакинга).
:tea:
Аватара пользователя
zAries
Потрогал лапой паяльник
Сообщения: 306
Зарегистрирован: Ср сен 11, 2024 10:18:53

Re: Котуинко

Сообщение zAries »

Тургенев если написал "Му-Му" то памятник Толстому почему ? (А. Кальянов)
Так и тут, если есть AT89... или ARDUINO то нафига всё остальное ?
Отличная философия !
:beer:
Audiatur et altera pars !
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15559
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Философия разумной самодостаточности.
Хорошо то, что даёт годный результат при сохранении качества и минимальных затратах.
:wink:
Для самостоятельных исследовательских работ нужно быть родичем Ротшильдов. Или каким "элитным студнем" ( в том числе и по возрасту :( ).
Ответить

Вернуться в «Разные вопросы по МК»