Перейти к содержанию
    

Ruslan1

Свой
  • Постов

    3 026
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

Весь контент Ruslan1


  1. 16F914

    Я извиняюсь, новая идея про отладку. Чего-то я сразу про пушки заговорил, а вам может пулемета хватит. Есть такая вещь, мимо которой точно не пройдете- MPLAB называется. Софтина для редактирования-компилирования-симуляции-отладки-программирования всех ПИКов. Официальный софт от Майкрочипа для поддержки всех его изделий. В-общем, IAR-подобная вещь, но бесплатный. Там есть встроенный симулятор, может его хватит, а Протеус это более кучерявое дополнение.
  2. 16F914

    Для начала поставьте Протеус (если еще не стоит) и попробуйте в нем попрограммировать этот Пик. Сейчас глянул- в 7.7SP2 модель этого пика имеется. Когда увидите что что-то получается- купите программатор (если на вырост- то только PICkit-3 берите). Ну а не понравится программировать- тогда на программаторе сэкономите. А еще у вас там в Питере Гамма есть, в которой можно все майкрочиповское купить наверное по минимальным ценам. Милые люди, был пару лет назад в Питере- зашел, пообщался. Загрузили проспектами так, что уж не рад был, вместо прогулки по городу пришлось сначала все это в гостиницу тащить :)
  3. Если вы это задумали для детского питания- то никак. Не имеет практической ценности. Так как воду еще перемешивать нужно, иначе в разных точках чайника она разной температуры будет. Есть такие готовые продаются (я вроде Филипс видел в магазине). Для детского питания все равно разброс очень большой и не годится. Проще иметь заваренный с вечера чайник кипятка и кувшин с холодной водой для разбавить. Я уж не говорю что все эти Хипы лучше в холодной растворять и только потом кипятком разбавлять. Но это все тема для другой конференции. :) Если для поэкспериментировать- то вариантов много, главное не пострадать при экспериментах.
  4. Скорее, особенности работы адаптера. Еще скорее- что-то недочитали в документации на адаптер. У вас какой адаптер, A или B ? Говорят сейчас еще тип C появился, но его имеет только несколько человек в мире, остальные первыми двумя типами пользуются.
  5. Вам нужно определиться: или или Так как данные на приемном конце существуют только в момент передачи, то возможна либо передача одновременно (и, соответственно прием одновременно), или передача по очереди (и, соответственно прием по очереди). При одновременной передаче эта задача не решается в общем случае (может быть решена с кучей дополнительных условий для конкретного частного случая), при последовательной передаче- придется немного постараться, но совершенно ничего сложного нет. Но, разумеется, никакой аппаратный UART с этой кашей не справится, все ручками.
  6. Я же написал "типа" :) То есть 60 или лучше 100 MHz, 1 гигасэмпл и широкий дисплей высокого разрешения. То есть UTD2102CEL тоже вписывается, будет вечерок свободный- наконец соберу кашу в голове и данные в таблицу, посмотрю внимательно кто нравится больше. Кстати, на ютубе видел ролик, что он может на USB-флэшку кидать не только картинку, но и исходные данные причем в разных понятных форматах, это вообще круто. И это то что реально нужно иногда, а крутую обработку и на PC-шке сделать можно. Жаль что 8-битовое все, но за повышенную битность я точно платить не буду.
  7. Согласен, но тут считать нужно габариты и стоимость. Насколько я помню, большие емкости на большие напряжения (больше 5-6 вольт) бОльший дефицит и имеют бОльшие размеры, чем ионисторы на 5 вольт. Может быть действительно выгодно делать скажем 6 вольт, сюда цепляем ионистор, дальше LDO в 3 вольта, можно в уже раз в 5-10 снизить емкость. Очень может быть, что новый ионистор+LDO будут стоить и занимать места меньше, чем один большой старый ионистор, который напрямую на питании сидел. И падение на диоде не важно. Хм, спасибо, сам как-то не додумался до такого. Нужно запомнить.
  8. Неа, это сопротивление вас при разряде должно интересовать. Смотрите на ионистор как на источник напряжение с последовательным резистором не более чем эти 50 Ом и сможете рассчитать какой ток он гарантированно может отдать (I=U/R) Стоп, вы про ESR? Это вообще вам не нужно, это для переменного тока, важно если для фильтрации используете. Насчет заряда. Съесть-то он может и съест, да кто ему даст? В смысле, это вы должны обеспечить ток не более максимально допустимого, если не делаете однократную елочную хлопушку. кстати, в первом попавшемся даташите на указанный вами ионистор есть очень хорошее описание например вот при каких условиях они говорят о заряде до 90% ( CAPACITANCE: MORE THAN90% SPEC. VALUE): TEST CONDITION: TEMP:70±2℃,VOLT:6.3V CH.:30SEC,DISCH:5MIN30SEC CYCLE:1000CYCLE RESISTANCE: 0.33F:40Ω, DISCHARGE RESISTANCE:0Ω А странички 5 и 6 из указанного мной даташита вообще есть прямой ответ на ваш первоначальный вопрос (как считать и что ставить) :) диод всегда хорошо смотрится (если Шоттки). но нужен ли-смотрите сами, на нем опять же падает что-то. rated current таки да нету, может он не боится ничего, хм. Но заметьте, при тестировании они когда 6.3 вольта подавали, воткнули таки 40 Ом между ионистором и источником напряжения. То есть ограничили пиковый ток величиной 6.3/40 = 157mA. Думаю, этот ток лучше не превышать. А вот насколько малым он может быть- зависит от того, как быстро после включения могут выключить. У меня однажды прикол был- разработал одну штуку, где стоял ионистор на часах реального времени, и заряжался он через большой резистор, то есть долго. На макете все классно, на производстве- рекламация-"часы не работают". Пришлось в процедуру тестирования вставить строку вроде "собранную плату подключить к источнику напряжения и оставить в включенном состоянии на 5 часов, после чего проверка хода часов должна быть произведена не позднее чем в течении двух следующих недель после отключения источника напряжения." Позже пофиксили, вставив возможность ускоренного заряда, но запомнилось. :)
  9. Это что-то на PC запускаемое? или на чем? Ну написали бы хотя бы две строчки под названием "введение" в начале: что делаете и что не работает и что хотите чтобы было. А кусок кода это хорошо, но лучше выложить усеченный до минимума проект, в котором наблюдается ошибка. И неплохо упомянуть для чего все это писано и на чем. И что надо подать-подключить-нажать чтобы повторить эту ошибку у себя. Как говорится, дежурные телепаты ушли на майскую демонстрацию........... А без них даже не знаю, кто что сможет ответить если вопрос даже не задан.
  10. Дык это просто пример расчета и предостережение. Может топикстартер испугается и снизит время с явно установленных с потолка (уж больно цифра круглая) 5 секунд до действительно нужных 237 миллисекунд. Ну и о других параметрах подумает (как ток уменьшить и так далее) :)
  11. Точно, с дросселем нечего ловить. нужен конденсатор. Я так делаю, дешево и сердито: I=C* dU/dT откуда C= I*dT/dU где I- утекающий из конденсатора ток dU- изменение напряжения на конденсаторе (в вашем случае от Uпитания до Uминимальное рабочее для микроконтроллера) dT - время (в вашем случае 5 секунд) Если ток в Амперах, время в Секундах, Напряжение в Вольтах, то результат будет в Фарадах. Ну скажем есть у вас МК который запитан от 5В а может работать минимум при 4В и при этом кушает 10mA. Чтобы напряжение за 5 секунд упало не более чем на 1 вольт (5 - 4) при отъедаемом токе 10мА, емкость должна быть: C = 0.01A * 5s / 1 V = 0.05F То есть вам нужна емкость 0.05 Фарады. или более. Причем следует учитывать зависимость емкости от температуры, старения, напряжения и от прочих факторов. Будете ставить ионистор- обязательно обратите внимание на то, как вы его заряжать будете (собственно, это к любому конденсатору относится, но с ионисторами это просто необходимо продумать ). 1. Зарядный ток не должен превышать указанный в документации 2. Ваш блок питания должен этот дополнительный ток выдержать 3. Устройство будет готово к выключению только когда напряжение на ионисторе достигнет рабочего. А это может быть достаточно длительный процесс. PS. Это вы молодец, что считаете, а не ставите что попало из похожей схемы. Видел я таких "разработчиков", у них все только случайно начинало работать :)
  12. Ну я уже понял что пленка это лотерея, могут дать а могут и нет. Подозреваю что поварюсь так пару дней, плюну и закажу за подороже но с англ.мордой и с сайта с английским интерфейсом. Мои нервы и время тоже не бесплатные :)
  13. У них просто на Tekway цена заоблачная. Я уже знаю, что таки хочу что-то типа Tekway DST1102B, пока нашел за 550 с доставкой чистый китай на морде и за 580 тоже китай но продавец докладывает английскую пленку в комплект, можно наклеить. Ну или как вариант DST1062B (50 MHz), 508$ но его вроде прокачать можно до 100 MHz.
  14. Речь идет о состоянии регистра после сброса микроконтроллера сигналом Reset или после включения :) К обнулению таймера это не относится :)
  15. угу. сто пудов верю что именно так и не иначе. особенно когда вижу приписку: Вот хоть убейте, не понимаю почему если кто-то когда-то был на захваченной врагом территории (по рабочей визе), то все, на нем стоит крест. В смысле, если по рабочей визе то точно завербован а если туристом катался то еще наш человек? Мне кажется, любые ограничения свобод должны оплачиваться щедрее. Сам как везение вспоминаю, что не попал на практику на завод, где форму допуска оформляли, это ж на всю жизнь клеймо. И вообще, ко мне только однажды КГБ приглядывалось, когда разрешение на любительскую радиостанцию оформлял (даже анкеты с вопросами о пребывании на захваченной территории и родственниках за границей заполнял :)
  16. 386 USD: http://www.goodluckbuy.com/atten-ads1102-d...ope-100mhz.html 400 USD: http://www.goodluckbuy.com/uni-t-utd2102ce...ide-screen.html 422 USD: http://www.goodluckbuy.com/atten-ads1102ca...so-ads1102.html Только я их Free shipping чего-то не понимаю. самовывоз, что ли....
  17. Господа (и дамы), так что, на какую сумму можно закладываться? Все-таки 600 или 500 долларов? Начинаю капать начальству на мозги, чем меньше сумма, тем быстрее деньги выделят. Где уже дешево, но еще не кидалово? Заказывать явно через интернет буду, как физическое лицо (ну и пользовать конечно дома, никому не дам :)
  18. 1. У него в сумме 18 ножек, значит 18 входов-выходов быть не может :) 2. Указанная вами FT245BM есть "Obsolete", то есть старая-престарая и нафиг не нужная. 3. Лучше возьмите из той же конторы ftdi, но не с параллельной шиной, а преобразователи USB to serial. Значительно меньше мороки со стороны PC и со стороны контроллера. То есть микроконтроллер имеет просто UART и ничего не знает про USB. Посмотрите FT232 какую-нибудь. Еще лучше просто готовый модуль взять и в свою плату впаять, там и микросхема и USB коннектор, например UM232R. 4. Не усложняйте себе жизнь в сотни раз, не делайте это на контроллере со встроенным USB. Незачем искать проблемы да еще если это диплом. Никто сильно не оценит вашу крутизну, лучше сосредоточиться на решении собственно задачи (измерить-сформировать-поуправлять-отобразить). 5. Контроллер не самый ветвистый и ресурсоемкий. Если вы начинающий- лучше сразу PIC18 смотрите, они к использованию Си более приспособлены (я надеюсь, вы не пишете диплом на ассме?). Нечего сажать себя в прокрустово ложе и потом героически в нем ковыряться, считая байтики, это опять же никто не оценит, а времени убъете много. Если сомневаетесь в ножках- закладывайте сразу 28-ногий процессор, ну и ОЗУ побольше. Никто не поймет вашей экономии в два доллара, а вот лишняя неделя-другая сэкономленного времени всегда пригодится.
  19. ЦАП

    Самый простой ЦАП- это ШИМ (PWM), этот ПИК как раз один встроенный имеет, его и используйте. Выход ШИМ подключаете к RC-цепочке (простейший фильтр), дальше лучше каскад ОУ в качестве повторителя, вот на его выходе и будет напряжение. например вот пример от майкрочипа. Операционник можно и однополярно запитать, лучше если он будет Rail-to-Rail можно вместо этого всего попробовать найти микросхему ЦАП с токовым выходом (скажем, с I2C шиной к контроллеру и токовым выходом). Но чего-то я вижу в продаже только "плохие" корпуса вроде QFN и BGA.
  20. ......Но если хочется совсем-совсем точно, то нужно использовать TMR2 в сочетании с PR2. Этот таймер может работать в режиме "досчитал до значения равного содержащемуся в регистре PR2 и сбросился с установкой флага". В этом случае вообще все под контролем железяки и ничего не нужно переустанавливать программно. Но это уже ответ, выходящий за рамки вопроса :)
  21. нет. Если вы хотите именно через TMR1 организовать прерывание с какой-то постоянной периодичностью, то нужно переустанавливать таймер после каждого переполнения. В простейшем случае: TMR1 = VALUE Лучше (это веди PIC16, он побайтово работает, а таймер-то 16-битный, для исключения запланированных проблем таймер лучше остановить на время модификации) TMR1ON = 0 TMR1 = VALUE TMR1ON = 1 Но от момента переполнения(обнуления) до момента модификации уже прошло какое-то время, лучше его учесть, если хотите сохранить период прерываний неизменным: TMR1ON = 0 TMR1 = TMR1 + VALUE TMR1ON = 1 Но во время остановки таймер не считал, так что нужно еще и это время учесть, если хотите чтобы период был именно тот что вы хотите, а не чуть больше: TMR1ON = 0 TMR1 = TMR1 + VALUE + DELTA TMR1ON = 1 (DELTA зависит от того, во что компилируются ваши команды от остановки до запуска таймера и может быть четко и однозначно рассчитана только для ассемблерного варианта) Если же все это происходит не в прерывании, то также рекомендую запретить прерывания на время выполнения, чтобы не заложить запланированную проблему в код: GIE = 0 TMR1ON = 0 TMR1 = TMR1 + VALUE + DELTA TMR1ON = 1 GIE = 1
  22. ASCII и RTU протоколы имеют абсолютно разный подход к "пакетообразованию": определению начала-конца пакета, тайминги, заголовки и контрольные суммы. Если мастер ваш личный и не боитесь трудностей то можно попробовать запустить это все на общей веревке, при обращении к устройствам ASCII протокола устройства с RTU будут воспринимать это как мусор(помехи в линии) и наоборот. Но если система выполняет сколько-нибудь ответственные функции, то это стратегически неправильно. Годится только для тестов или студенческих проектов для "попробовать". Ну или для случаев "данные пропали-ну и фиг с ними"
  23. Правильно все-таки говорить о просто контрольной сумме, а CRC это ее частный случай. 1. Нужно защититься от тривиальной ситуации "со всех адресов EEPROM читается одно и то же". Для этого в EEPROM должна быть записана какая-нибудь фраза, наличие которой проверяется програмой, ну скажем фраза "EEPROM" 2. Считаете контрольную сумму (КС) всей EEPROM и сравниваете с КС, записанной в той же EEPROM, если совпадает-то все в порядке. Защищать по частям или нет- зависит от того, возможна ли работоспособность прибора при частичном слете EEPROM. То есть если возможно разделение данных на критичные и некритичные- то лучше защищать с помощью КС отдельно каждую область. Насчет алгоритма подсчета КС- лучше всего CRC. как считать-зависит от того какой алгоритм быстрее работает на вашем железе. Некоторые микроконтроллеры имеют аппаратный вычислитель контрольных сумм, если это есть- однозначно нужно использовать. Если считать программно CRC, то как правило табличное вычисление быстрее, но опять же смотреть нужно насколько. часто выигрыш незначительный и можно просто циклом посчитать.
  24. например, мастерил контроллер управления задвижкой на газораспределительной станции, там важно было заранее знать, готово оборудование или нет. Электромагнит просто пускает в трубочку привода газ, а уже этот самый газ своими сорока атмосферами задвижку и "выстреливает", соленоид сам не очень габаритный . Переключают магистрали редко, работает это все на свежем воздухе в чистом поле. Главные враги: коррозия/окисление, вибрация. Из того что запомнилось, видел на соленоидах дефект "окисление в месте завальцовки провода катушки в контакт, прикручиваемый к клеммнику".
  25. Поздравляю! :) Нифига себе скорость, значит четыре дня назад он спрашивает чего бы почитать, а седня уже чего-то светится и показывает! :) Ну тогда если теми же темпами через пару недель запуск своего спутника, а в следующем квартале- до Марса доедете :) А что за железо и что за софт, если не секрет? Ясно только что что-то USB-шное, от него и питаетесь.
×
×
  • Создать...