Jump to content

DJ_Quake

Members
  • Content Count

    110
  • Joined

  • Last visited

Community Reputation

0 Обычный

About DJ_Quake

  • Rank
    Осваивающийся
  1. Простите, что вмешиваюсь... а на мой вопрос ответ неизвестен?
  2. Возник такой вопрос. У меня есть PicKit2, и есть относительно новая марка микроконтроллера pic16F1827. В программе PicKit в начале микроконтроллер не распознавался. Я скачал с сайта Microchip последнюю версию файла описания микроконтроллеров: http://ww1.microchip.com/downloads/en/DeviceDoc/PK2DFUpdate-1-62-03.zip после этого микроконтроллер распознался, и, по идее можно с ним работать. Вопрос касается MPLab. Скачал последнюю версию, в окне Configure -> select device при выборе pic16F1827 напротив PicKit2 красная точка, да и при выборе программатора, PicKit2 серый. Как заставить работать MPLab c PicKit2 ? Что можно предпринять? Ведь аппаратно они совместимы, что показывает сама программа-интерфейс к PicKit2.
  3. Спасибо за ответы. Что до последнего замечания, ну, пульт используется в таком режиме, что нажатие на клавиши очень редкое, а вот периоды простоя омогут быть очень длительные, скажем, пульт используется раз в месяц. мнекажется, при нажатии на кнопку на порядки больший ток будет использоваться для питания ик светодиода, тут у меня фетиш именно в отношении потребления в спящем режиме. Кстати, скачал и ознакомился с low power Tip and Tricks с сайта майкрочип, там предлагается ещё один вариант: неиспользуемые пины сконфигурировать как АНАЛОГОВЫЕ входы и подавать туда половину напряжения питания (у меня пульт питается от двух ААА элементов), интересно, если на эти пины подать середину двух последовательно соединённых ААА, что получится? вот, кстати, порезанная заготовка под пульт:
  4. в том, что я использую, любой из 8 контактов порта B имеет эту возможность. поскольку физически в пульте 8 кнопок, то нет смысла в матричной клавиатуре. я правильно понимаю, что под болтающимися подразумеваются физически не припаянные и с программно отключенной с подтяжкой(или , что то же самое с не включенным pull-up)? То есть включение внутреннего пулл-апа при физически болтающемся выводе допустимо, я надеюсь? видел , что неподключенные выводы МК есть почти на любой промышленной плате. с точки зрения потребления лучше подпаять внешние СМД-резисторы на 100кОм на шину питания, или же включить внутренние? (в схемотехнику МК я пока не вникал). Это в случае матричной клавиатуры? потому что я использую линейную, там попроще, общий контакт линейки кнопок, насколько я понимаю, нужно посадить на землю, а их выводы раскидать по контактам порта B и включить внутреннюю подтяжку всех пинов порта B? ну, тоже правда, конечно, это я жадничаю, но дело в том, что если включить кварц на 32, то сразу уйдём в полмикроампера. Но найти применение 20нА вполне можно, это и вживлённые микрочипы (но не в дип-корпусе , да и питание от альфа-активного плутониевого элемента (можно вспомнить датчики пожарного извещения РИД-6) тоже интересно, но согласен, что для пульта явно перебор. Тут скорее у меня академический интерес - освоение технологии экономии энергии на практическом примере. Кстати, а как же наручные часы?
  5. Добрый день. Вот, делаю пульт ИК. Хочу добиться минимально возможного энергопотреблени в режиме ожидания. Купил Pic16f1827, так как из доступного с технологией nanowatt XLP был доступен этот. Купил на барахоллке подходящий какой-то пульт. Внутри графитовые контакты с сопротивлением замыкания около 100 ом. Как подключить кнопки? их общий провод подключить к земле или напряжению питания, чтобы при нажатии на любую изменялось состояние порта B (с режимом выхода из спящего режима по изменению состояния на входах порта (в даташите к микроконтроллеру про это говорится, но информация немного не понятная.)) С однгой стороны написано, что в спящем режиме рекомендуется: To minimize current consumption, the following conditions should be considered: • I/O pins should not be floating имеется в виду что недостаточно внутреннего pull up? Если недостаточно, то куда и как их подключать? • External circuitry sinking current from I/O pins отсутствует • Internal circuitry sourcing current from I/O pins отсутствует • Current draw from pins with internal weak pull-ups имеется в виду внутри самого МК? выходит, болтающиеся контакты оставлять нельзя, но и подтягивать их тозже нельзя (так как возрастает энергопотребление) как это понимать? Как правильно подключить кнопки , чтолы минимизировать энергопотребление в спящем режиме?
  6. Разобрал сломанный китайский зонтик. Там внутри очень подходящая пружина для тензодатчика, длинная и упругая.
  7. маловато будет: Рабочее давление 80 кПа температура от давления: http://origin.org.ua/b17.htm надо 140 градусов хотябы , а это 4 атмосферы, или 400 кПа избыточное давление.
  8. о, так и знал... жену завести... Можно ещё предложить поставить у плиты домохозяйку... или там друга - пиво ему выставить насчёт скороварки - хорошая мысль, только вот ни у кого из друзей нет, чтобы опробовать, а то она не дешёвая. по теме. По дороге домой подумал, что неинтеллектуальные методы контроля уровня жидкости неэффективны, так как вода пенится. В соседней теме народ с простым баком с холодной водой 3 страницы исписал. короче только косвенный метод - измерение силы натяжения тросса на котором висит кастрюля. ну и плюс по таймеру, естественно, для подстраховки. если не найду подходящий тензодатчик (по цене и параметрам), то слдлать его относительно несложно. нужна очень жёсткая пружина, соленоид, кусочек ферритового стержня. Делаем LC генератор, меряем его частоту микроконтроллером. тут с механикой сложности будут - сделать Исполнительное Устройство - наверное двигатель с редуктором (шаговичок бы намутить), который соединён с газовым вентилем плиты механически.
  9. Вот тут такая интересная идея возникла. Люблю я мясо варить долго, у него получается очень вкусный бульон, но это только если его часов 5 варить. А раз варить, значит надо его варить, потом отключать кастрюлю, иногда доливать воду, регулировать нагрев. Я уже надовчился устанавливать ткой огонь и уровень воды, чтобы хватало на 5 часов варки. Но отключать всё равно надо вручную. Вот как бы сделать так, чтобы автоматика сама готовила мясо? В микроволновке почему-то получается хуже по вкусу, да и электричества немало тратится. кастрюля у меня из нержавейки на 6.5 литров, крышка стеклянная, с дырочкой для пароотвода. Если рассуждать здраво, то есть несколько способов отследить уровень воды: 1) по массе. Для этого налить вначале тот уровень воды, что должен быть в конце (это чуть чуть покрывать мясо), откалибровать весы, затем долить остальную воду и поставить варится. Когда вода выкипит, сработает исполнительное устройство, перекрывающее газ (ИУ). всё юы хорошо, но нужен датчик растяжения (кастрюлю подвесить над плитой) с высокой жёсткостью (чтобы кастрюля не ездила вверх вниз. Хотя это интересная идея - вода выкипает, кастрюля выше, подводится тепла меньше. Саморегуляция.) Такие датчики очень дорогие (для электронных весов). Но и точность не очень. 2) по замыканию-размыканию электрода, опущенного в бульон. Думаю, измерит уровень жидкости точнее метода с весами, но опускать электрод как-то некузяво, хотя это самый простой способ. 3) не знаю, как реализовать, но оптический метод - распознавание того, что мясо над уровнем жидкости. через стекклянную крышку был бы лучшим решением - не нужно ничего подвешивать, ничего в кастрюлю опускать. нго вот как реализовать даже и не знаю. Например, прикреипть внутри кастрюли минизеркальце или стеклянную призму 90 градусов ниже уровня жидкости, например, на проволочной треноге поставленную на дно кастрюли. Вода мутная, поэтому отражение будет различным. Далее просто: лазер, ловитм зайчик детектором, луч модулированная, синхронное детектирование. Смущает, что нужно юстировать, потом следить чтобы при кипении оно всё не подвинулось, ведь иначе не сработает, и мяса утром не будет! 4) датчик давления жидкости на уровне дна. опять нужно что-то погружать в кастрюлю, дав и потом давление внутри кастрюли тоже плавает - жидкость-то кипит! поэтому отвергаем с порога. ещё методы? по предложенным - главное надёжность: устойчивость к ложным срабатываниям и, самое главное, гарантированное срабатывание при нужном уровне мяса. по надёжности самый лучший метод - это по изменению массы. Так как тут ничто не помешает. в случае электрода и оптики кусок мяса может замкнуть электрод, или кипящая жидкость сместить оптический элемент... вот какие есть ещё у кого идеи?
  10. Спасибо за оперативный ответ. Я так понимаю, что надёжнее и лучше будет 18-е пики использовать. изделие единичное, не в серию, так что цена микроконтроллера не очень критична. если принять скорость счёта 50 Мгц, переполнения 8мибитного таймера будет происходить каждые 50 000 / 255 = 200кгцб при частоте кристалла 20Мгц instruction cycle будет 5Мгц, итого, каждые 25 инструкций будет переполнение...
  11. Снова привет! у меня такой вопрос появился, только ногами не бейте, если обсуждался. интересует работа с таймером при коллизиях. например, счёт быстро повторяющихся случайных импульсов средней частоты , к примеру с десяток мегагерц. читал тут: http://forum.qrz.ru/archive/index.php/t-11710.html говорят, методами микроконтроллера невозможно реализовать. задача: считать все импульсы, и выводить на ЖКэкран , например, результат 4байтов счёта (т.е. до 4 миллиардов). допустим, используем pic16f648А. работаем с 16 битным таймером. Таймер переполнился, генерируется прерывание, по котором инкрементируется пользовательский регистр. вопрос у меня в том, что происходит в процессе перехода по прерыванию (если на счётный вход приходит в этот момент очередной импульс), в процессе чтения показаний таймера (для вывода на ЖК , скажем, раз в 0.2 секунды). Пока читается младший байт счётчика, может прийти импульс, который его переполнит и исказит показания старшего байта. в даташите есть код, работающий по принципу - проверить переполнение, если оно есть, то повторить операцию. это даёт некоторый джиттер, но это не критично. то есть получается, что таймер можно не останавливать, и он считает без пропусков, при переполнении по прерыванию инкрементируется пара моих регистров (старшие разряды). Вроде бы импульсы не пропускаются. НЕо тогда почему в обсуждении выше (ссылка) говорят, что нельзя? Если работать с 18F2550, то если одновременно считать двумя 16 битными счётчиками, в которых данные со смещением, пока один считает, работаем с другим, и наоборот, иожет ли такой подход гарантированно сосчитать все импульсы, не потеряв ни одного (естественно в пределах временных регламентов схемотехники)? Или же для решения задачи использовать внешние синхронные счётчикина дискретных элементах? (задача довольно обычная - хочу для себя собрать сцинтилляционный дозиметр, там приходят импульсы часто и быстро, да и приятно видеть большую разрядность на ЖК. ) PS. да, я жадный, все импульсы хочу считать, ничего не пропускать (хотя с физической точки зрения этой задачи это и бессмысленно)
  12. Я знаю про ПЛИС. В данном случае , если нужно провести стробирование сигнала с вронтами 2-3 нс городить ПЛИС не очень резонно. вот есди бы надо было сделать цифровой осциллограф с 1024 отсчётами, тогда на дискретной логике это было бы мазохизмом. текущая задача: есть повторяющиеся с частотой 8 кгц импульсы стробирования длительностью 20-25 нс. Джиттер может быть существенным, так как источник импульсов - тираторон + оптическая развязка. есть источник импульсов измерений с длительностью порядка 25 нс. на выходе нужно генерировать счётный импульс (не длиннее 60 мкс, не короче 25 нс) для ввода куда-нибудь типа микроконтроллера (то есть 5 нс не катит). Счётный импульс генерируется, если измеряемый импульс отстаёт по времени от стробируемого на время не более 50 нс. Фронты порядка 3-4 нс. выход - в кабель 50 ом 2 метра. впоследствие возможно улучшение фронтов и поэтому логика нужна самая быстрая из неэкзотики. Мне кажется, одна-две микросхемы 74AS00 хорошо справятся с задачей, данные микросхемы можно достать, хотя они и реже встречаются, чем ALS серия (к1533). Наша должна быть к1530 (аналог Advanced Shottki), но судя по всему, она умерла вместе с СССР. И вообще, ждущий мультивибратор я может даже бы сделал на паре транзисторов BFG520 (стоят копейки), а может даже и 2И-НЕ на них же корпуса SOT143 маленькие, даже на гигагерце размеры не проявятся. или сделать ждущий на трёх элементах 74AS00. вот пока в раздумьях, что будет надёжнее: ждущий на микросхеме, или по классической схеме на дискретных транзисторах.
  13. Спасибо за инфу. Но, к сожалению, я так смотрю, штуки эти экзотические, и цена соответствующая, так что правильный ответ для меня будет серия 74AS
  14. И кто сказал, что нет??? случайно наткнулся на серию 74 "G". вот линк: http://en.wikipedia.org/wiki/Logic_family Family Description Propagation delay (ns) Toggle speed (MHz) Power per gate @1 MHz (mW) Typical supply voltage V (range) Introduction year Remarks TTL G 1.5 1125 (1.125 GHz) 1.65 - 3.6 2004 First GHz 7400 series logic ТТЛ, дискретная, 1.5нс на вентиль, более гигагерца такт, в 2004 году... только вот что-то непонятно, где они есть, и как их купить.
  15. У меня такой вопрос... Задача: нужно сделать устройство на микроконтроллере, которое будет сопрягаться с компьютером посредством COM-порта (RS232). Со стороны компьютера нужно написать программу, которая будет работать с этим com-портом, по типу того, как работает программа для работы с UPS (которая считывает с ИБП данные о напряжении, отсылает на ИБП команды (например, самотест), и.т.д.). Хочу смоделировать устройство и параллельно отлаживать программу с виртуальным прототипом устройства, так сказать рыть туннель с двух концов. Загвоздка вот в чём: в протеусе есть такой компонент, как COMPIM. Он сопрягает симуляцию с реальным миром. Очевидное решение: установить на компьютере виртуальную пару COM-портов, соединённых виртуальным нуль-модемным кабелем, к одному порту пары прицепить протеус, к другому - отлаживаемую программу. Воспользовался программой com0com. Проблема в том, что при выборе physicl port в COMPIM доступны только 4 порта COM1-COM4. и нет порта, созданного com0com. А вот программа Hyperterminal прекрасно видит оба порта. Физически в компьютере есть только один порт: COM1. Выходит, нужно покупать железо(USB->com или PCIE->com PCI->COM + нуль-модем кабель)? Есть ли способ решить задачу только программными методами? тут в конце ссылки на разные программы для этого дела: http://en.wikipedia.org/wiki/COM_port_redirector но как убедить протеус в наличии виртуальнго ком-порта? вопрос снимается, достаточно было в свойствах COMPIM впечатать тупо название порта com0com, например CNCB0, надеюсь эта информация кому-нибудь пригодится.
×
×
  • Create New...