Предложения по работе Раздел для разработчиков/заказчиков электронных проектов. Размещайте здесь ваши предложения. |
25.10.2021, 18:20
|
|
Частый гость
Регистрация: 25.10.2021
Сообщений: 47
Сказал спасибо: 5
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Помогите определиться с выбором контроллера
Здравствуйте уважаемые участники!
Я не программист и потому прошу помощи в выборе контроллера под определённую задачу. Задача заключается в отслеживании поступающих на вход микроконтроллера импульсов частотой 20 Гц, длительностью от 10 до 200 микросекунд. Если хоть один импульс пропускается - на определённых выходах должны появиться различные значения лог. "0" и "1". По сути - просто мигают светодиоды. Но длительность мигания, или на каком - то выходе останется 1 (0) - это будет в условии программы.
Попутно надо контролировать напряжение питания батарейки. Для этого планирую использовать один вход ADC На этот вход будет подаваться напряжение питания через делитель. При достижении значения меньше чем указанное на назначенный выход подаём лог. "0".
Внешний резонатор использовать не планирую. Хочу обойтись встроенным в контроллер. Из рассмотренных мной вариантов выбор пал на PIC12F683
По количеству выводов вроде бы должно хватить для решения задачи. Но возник один важный вопрос - какой минимальный ток потребления можно ожидать в этом случае? До этого использовался STM8L051F3P6 Ток потребления в рабочем режиме составлял около 20 мкА. Задача была более сложная, использовался внешний резонатор. Сейчас условия изменились, но и главное - цена на STM выросла с 0.25$ до 3$, что полностью убило весь смысл устройства.
На данном этапе я взялся разводить плату, попутно читаю Даташит, чтобы по выводам определиться. Но возникли опасения, что PIC12F683 не впишется в лимит потребления по току. Моё устройство с батарейным питанием и ток потребления очень критичен.
Подскажите пожалуйста получится ли реализовать мою задачу на данном контроллере? Или посоветуйте может что доступное и малопотребляющее? Планирую заказать написание программы если кто возьмётся за эту затею. Или просто направьте в нужную сторону. Спасибо всем, кто откликнется!
|
|
|
|
25.10.2021, 18:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,897
Сказал спасибо: 5,638
Сказали Спасибо 25,670 раз(а) в 5,760 сообщении(ях)
|
Re: Помогите определиться с выбором контроллера
Могу предложить не гадать, а скачать даташит на PIC12F683 и почитать. В разных режимах, на разных скоростях и с разным набором включенной периферии потребление будет сильно меняться, поэтому читайте конец даташита с electrical табличками и думайте, пойдет или нет. И табличку гляньте с частотами и потреблением генератора. Там всё очень сильно меняется.
..но я б косился на что-то поновее, с 4-5 значными цифрами после PIC12F... - оно и подешевле, и побыстрее, и внутреннего фарша куда больше, чтобы не софтово, а аппаратно всё сделать, а ядро спать отправить.
__________________
«Совершенство — это не тогда, когда уже нечего больше добавить, а тогда, когда уже нечего отнять.»
/Эйнштейн/
моя домашняя страничка: http://www.eddy.com.ua/
Последний раз редактировалось Eddy71; 25.10.2021 в 18:39.
|
|
|
|
25.10.2021, 18:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,173
Сказал спасибо: 2,828
Сказали Спасибо 2,751 раз(а) в 2,035 сообщении(ях)
|
Re: Помогите определиться с выбором контроллера
Сообщение от Vlad2
|
цена на STM выросла с 0.25$ до 3$
|
так и выбранный Вами PIC ненамного дешевле вроде как...
Хотел посоветовать присмотреться к STM32L(G)0xx, но и они что-то подорожали неслабо...
|
|
|
|
25.10.2021, 19:03
|
|
Частый гость
Регистрация: 25.10.2021
Сообщений: 47
Сказал спасибо: 5
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Спасибо за Ваше внимание. В том то и дело, что периферии нет. Только светодиоды на выходах. Компаратор не используется. Только на один вход будет подаваться частота 20 Гц. Если импульс получен в течение 50 мСек., то ничего не делаем, продолжаем следить далее за импульсами. Если в течение 50 мСек. импульса нет - светим светодиодом на выходе. Ну, это так, вкратце. На самом деле, по входу ещё антидребезг надо будет задействовать потому, что импульсы разной длительности и смотреть за ними только по фронту надо. По моим прикидкам - частоты встроенного генератора 32 кГц должно хватать "за глаза". Посмотрел по графикам потребления - на такой частоте вписываюсь в 20 мкА. Но точно уверенности всё равно нет. Я не специалист. Программист с которым работал я ранее - на STM ориентирован. И вообще в данный момент не доступен. Что касается выбора процессора - то я задачу обрисовал. Ничего сложного по периферии нет, да и по входу тоже. Только смотреть не меняется ли частота и сигнализировать светодиодами если поменялась. Своих знаний не хватает к сожалению. Готов оплатить чужие знания если направите к кому обратиться.
Сообщение от Yuri222
|
так и выбранный Вами PIC ненамного дешевле вроде как...
Хотел посоветовать присмотреться к STM32L(G)0xx, но и они что-то подорожали неслабо...
|
Вроде как дешевле. На ALI сейчас за 100 штук просят 60$ с бесплатной доставкой. Это не даром, конечно, но всё-же! И они в наличии в отличие от STM
Последний раз редактировалось mike-y-k; 26.10.2021 в 00:28.
Причина: 6.6
|
|
|
|
25.10.2021, 19:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,173
Сказал спасибо: 2,828
Сказали Спасибо 2,751 раз(а) в 2,035 сообщении(ях)
|
Сообщение от Vlad2
|
В том то и дело, что периферии нет
|
можно использовать имеющиеся таймеры и разработать алгоритм так. что контроллер все время спит, а периферия (таймеры/счетчики) следит за импульсами и пробуждает контроллер в случае надобности.
А контроллер хоть на нескольких мегагерцах может работать после пробуждения, быстро обработал задачу - и снова в сон.
Сообщение от Vlad2
|
На ALI сейчас
|
STM32L0xx и Gxx тоже есть в наличии, у нормальных продаванов, но не по таким ценам, как на Али. Зато - не на Али...(т.е. это гарантированно "правильные" процессоры).
Последний раз редактировалось mike-y-k; 26.10.2021 в 00:29.
Причина: 6.6
|
|
|
|
25.10.2021, 19:23
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 748
Сказал спасибо: 365
Сказали Спасибо 822 раз(а) в 386 сообщении(ях)
|
Re: Помогите определиться с выбором контроллера
Поддерживаю коллег.
Например, в моих реалиях (Украина) по цене/наличии/периферии/мелкой партии в пару десятков с доставкой в пределах 3-4 дней я бы смотрел в сторону PIC10F322 или PIC12F1822; у них к тому же есть источник опорного напряжения для аналоговых измерений.
|
|
|
|
25.10.2021, 20:22
|
|
Частый гость
Регистрация: 25.10.2021
Сообщений: 47
Сказал спасибо: 5
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от j-Roger
|
…
|
Как бы мне надо не десятки, а сотни.... Вот вскользь глянув по даташиту - PIC12F1822 уже более менее приемлемым видится.
Мне сейчас уже надо смотреть на что-то конкретное и делать новый макет, тестовые образцы. Если затяну время, то с учётом сроков доставки не успею вписаться в сроки на производство. Ещё платы развести, заказать опять-же, дождаться получения. Иногда "приятные сюрпризы" обнаружить в виде наличия маски на пятаках под выводы. А время не резиновое.
Сообщение от Yuri222
|
…
|
Вот тут могу только развести руками. Я не знаю, как правильно обрабатывать события по сну процессора. Не программист. Отсюда и вопросы. Успеет ли процессор проснувшись по импульсу определить и отсечь дребезг контакта и заснуть себе на оставшееся до следующего импульса время. И рассчитать потребление в этом случае тоже не могу. По графику, на 32 кГц получается что в сон его ложить вроде и не надо будет вовсе. А как оно в жизни будет - знать не знаю.
Импульс на входе может быть и таким:
и таким
И всё это надо считать правильным импульсом. Т.е., надо учесть, что получили фронт импульса и затем время на не-реакцию даём. Или вообще просто определяем, что присутствует 5 мкСек что-то на входе - значит порядок, идём "спать" дальше. До следующего импульса. И вот тут у меня вопрос - а можно так делать? Будет ли успевать процессор на 5 микросекунд реагировать, просыпаться? Я на логике это всё делал, на триггерах и счётчиках. Генератор давал импульсы, затем счётчик я сбрасывал на определённом импульсе, сколько я допускал пропустить по входу и триггер защёлкивал состояние. Ну, там логики ещё навешано было, прочего сейчас не нужного. Но в виду того, что размер платы теперь ограничен 30 на 14 мм - это всё ни как туда не влазит.
Последний раз редактировалось mike-y-k; 26.10.2021 в 00:35.
Причина: 6.6, 7.15
|
|
|
|
25.10.2021, 21:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,173
Сказал спасибо: 2,828
Сказали Спасибо 2,751 раз(а) в 2,035 сообщении(ях)
|
Vlad2, я все же не понял - у Вас есть уже работающий прототип на каком-либо процессоре?
А что за контакт, выдающий импульс длительностью 10-200 мксек?
Ну и на 32 кгц (период 31 мксек) обработать программно импульс длительностью 80 мксек - ну, не знаю, как бы не пропустить. Да еще и данные от АЦП, как понимаю, нужно обрабатывать.
Сообщение от Vlad2
|
длительностью от 10 до 200 микросекунд
|
А тем более - от 10 мксек - не представляю, как это можно опросом GPIO без к-л периферии программно гарантированно обработать.
Сообщение от Vlad2
|
Я на логике это всё делал, на триггерах и счётчиках. Генератор давал импульсы, затем счётчик я сбрасывал на определённом импульсе, сколько я допускал пропустить по входу и триггер защёлкивал состояние. Ну, там логики ещё навешано было
|
Кажется, понял - у Вас только на рассыпухе есть работающее устройство, а нужно уложиться в габариты - поэтому переход на микроконтроллер.
Да еще и батарейное питание - поэтому частота 32 кГц?
А только потом вопрос - будет ли работать? Так?.
Т.е. Вы ставите телегу впереди лошади - без нового алгоритма подбираете эл. базу только по энергопотреблению, разводите плату и заказываете комплектующие сотнями штук при ограниченном бюджете, в надежде - что заработает как нужно и впишется в потребление?! Без каких-либо мало-мальских расчетов и прикидок?!
Последний раз редактировалось mike-y-k; 26.10.2021 в 00:36.
Причина: 6.6
|
|
|
|
25.10.2021, 22:05
|
|
Частый гость
Регистрация: 25.10.2021
Сообщений: 47
Сказал спасибо: 5
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от Yuri222
|
я все же не понял - у Вас есть уже работающий прототип на каком-либо процессоре?
|
Да, всё верно. Не прототип, а серийное изделие. На STM Мне под заказ программист написал программу два года назад. С тех пор всё бы было хорошо, но контроллеры подорожали в цене в 10 раз.
Сообщение от Yuri222
|
А что за контакт, выдающий импульс длительностью 10-200 мксек?
|
Импульс от датчика. Операционник стоит после датчика. rail-to-rail. Но иногда импульсы слабые бывают и потому усиление на максимуме. Когда импульс сильный - он сначала расползается по длительности, потом может раздваиваться на несколько импульсов. АРУ ставить некуда, да и смысла нет, тем более можно по фронту импульса определить что он появился и больше ничего и не надо.
Сообщение от Yuri222
|
Ну и на 32 кгц (период 31 мксек) обработать программно импульс длительностью 80 мксек - ну, не знаю, как бы не пропустить. Да еще и данные от АЦП, как понимаю, нужно обрабатывать.
|
Если процессор сможет проснуться от импульса длительностью 10 uS, то тогда лучше его заставить спать. И меня вообще не волнует форма и длительность импульса. Главное - это то, что импульс поступил. Дальше - ждём следующий. Процессору не важна длительность импульса. Раньше, в предыдущей программе было вообще два входа, было сравнение между ними (где импульс пришёл раньше) и т.д. Теперь важно только наличие импульса. В принципе, да - могу согласиться, что идея отправить спать процессор на время до следующего импульса не так уж и плоха. Но не знаю, на сколько?
По поводу данных от АЦП - тут вообще просто. Один раз в 10 часов смотрим на вход и если напряжение ниже заданного - светим светодиодом на одном выходе, на другом выходе мигаем. Проверка один раз за 10 часов.
Сообщение от Yuri222
|
тем более - от 10 мксек - не представляю, как это можно опросом GPIO без к-л периферии программно гарантированно обработать.
|
на STM как-то работало. Надо наверное посмотреть мне. Может там компаратор был задействован? - Не могу знать. Я максимум на что сподобился - переназначить выводы для удобства разводки на плате и некоторые куски программы повставлять - поубирать, чтобы оно соответствовало ножкам процессора. Изначально на Си всё это написано. Но там столько разных было условий, что я уже не знал, как это поубирать. В жизни оно оказалось не нужным, а программа из-за этого вышла сложной.
Сообщение от Yuri222
|
Кажется, понял - у Вас только на рассыпухе есть работающее устройство, а нужно уложиться в габариты - поэтому переход на микроконтроллер.
|
На рассыпухе - это был первый прототип. С тех пор уже более тысячи устройств собрано. На процессоре.
Сообщение от Yuri222
|
Да еще и батарейное питание - поэтому частота 32 кГц?
|
- это верно.
В общем, по процессору общий вопрос исходя из тех условий, что уже озвучены - что ближе всего будет к теме? По поводу PIC12F1822 - не совсем я понял. Какие у него преимущества?
Наличие "источник опорного напряжения для аналоговых измерений"
- это позволяет отказаться от внешнего делителя напряжения? У меня батарейное питание 9 Вольт на входе устройства. Дальше - стабилизатор на 3.3 Вольта. Я через делитель подаю напряжение на ADC процессора и в случае, когда напряжение падает ниже заданного (в старой версии программы я мог это напряжение задавать), ну, или делителем подгонять - то светим (мигаем) светодиодами.
Немаловажный фактор - доступность этого типа процессора, цена. В идеале - совместимость с другими типами. Чтобы не получилось как уже получилось. Процессор исчез - надо полностью всё переписывать.
Последний раз редактировалось mike-y-k; 26.10.2021 в 01:12.
Причина: 6.6
|
|
|
|
25.10.2021, 22:45
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 748
Сказал спасибо: 365
Сказали Спасибо 822 раз(а) в 386 сообщении(ях)
|
Re: Помогите определиться с выбором контроллера
Сообщение от Vlad2
|
тем более можно по фронту импульса определить что он появился и больше ничего и не надо.
|
Вот это ценная информация.
Сообщение от Vlad2
|
У меня батарейное питание 9 Вольт на входе устройства. Дальше - стабилизатор на 3.3 Вольта.
|
И это ценная информация.
Сообщение от Vlad2
|
По поводу PIC12F1822 - не совсем я понял. Какие у него преимущества?
|
На данном этапе обсуждения - после прояснения картины в общем и целом и схемы питания узла в частности - есть основания полагать, что PIC12F1822 особых преимуществ не имеет.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:13.
|
|