Jump to content

    

Beginning

Свой
  • Content Count

    501
  • Joined

  • Last visited

Everything posted by Beginning


  1. Это всмысле покупного? Насчёт двухтактника я не зря "заикался". Отсутствие влияния соседних обмоток по току, более мягкая работа ключей, высокий КПД, отсутствие опасности насыщения сердечника, нету паразитных индуктивных выбросов требующих гашения, не надо стаить кондёр между землями первички и вторички и т.д. Может посоветуете пару схем двухтактников?
  2. Я всегда с подозрением относиляс к готовым DCDC(ACDC) (особенно когда пачками вылетают при грозе), потому как не вижу какие там стоят детали, действительно ли индустриальный стандарт? напряжения с запасом? Или сэкономили на всём что можно. В сборке своего DCDC на несколько напряжений я вижу следующие плюсы - дешевизна, так как все напряжения я беру с одного трансформатора. Надёжность - так как я не буду экономить на какомнибудь трансиле (ну разумееться ели схема грамотная), гибкость - я могу с лёхкостью варьировать как напряжения так и количество независимых каналов. Насчёт 24V 500мА да нужно примерно столько. Хотел бы что то использовать из TOP, но какую микруху взять для моих целей? Вроде как они заточены под сетевое напряжение? Порыл NET, и что то склоняюсь к двухтактнику. Вроде как одни плюсы. Что скажете?
  3. Поясню задачу более подробно. Мне надо собрать промышленный прибор автоматики. В приборе ест три логические части. CPU, измерительная часть, и коммуникационная часть (скорее всего RS485). Так вот, хотелось бы, что бы прибор питался одним напряжением 24V. Но при этом все логические части должны быть гальваноизолированные друг от друга. По этому хочу собрать какой нибуть flyback, что бы на выходе довал 5V для CPU, 5V для RS485, 5 и 24V для измерительной части. Задача придумать несложную схему с достаточной надёжностью. Может взять какойни будь TOP? Напряжение питания на входе, думаю должно быть в пределах 15~30V. Вот и спрашиваю, может кто какую схему или микросхему из личного опыта посоветует. Кстати насчёт токов 5V100mA,5V100mA,5V100mA,24V500mA Всё разумееться примерно.
  4. Вообщем нужна схема сверхнадёжного DCDC с параметрами – вход 24V, выход гальваноизолированные 3 x 5V. Посоветуйте микросхему или схему. Спасибо.
  5. Ну так MELF тоже не на киловольты расчитан. Есть вот такая инфа http://www.chipfind.ru/news/alternativa_re...lf_korpusah.htm Но что мне мешает взять SMD на 1Ватт в корпусе 2520?
  6. Вобщем есть схема контроллера дискретных входов 24V. Для автоматики. Так на входе надо ставить MELF резисторы. Чем это объясняеться? Порыл net, ничего внятного не нашёл. Почему например не поставить SMD? Спасибо.
  7. Кстати вспомнил один глюк в модели DS18B20. Ну да, глюки есть, но скажем они не мешают отладке. Не смертельные они. Главное чётко представлять что протеус может, а что нет. Да бог с ним с протеусом. А оптимизацию я выключал мол для улучшения дебагинга. А получилось наоборот. :( А где вы включаете глобальные прерывания? Что то поискал sei не нашёл.
  8. Интересный эффект – когда убираешь оптимизацию в IAR вылетают море предупреждений типа: Too low level of optimization to inline function "OS::TKernel::RegisterProcess" и т.д. И при этом программа постоянно сбрасывается, т.е. стартует работает, потом опять стартует. Это в протеусе. P.S. Насчёт протеуса, пока что не замечал от него явных глюков. Во всех случаях, когда я был уверен, что глючит протеус, оказывалось что глючу я :) P.S.S. Но это не означает что глюков нет :) Просто я их пока не встречал. Или не помню :)
  9. Я не хотел вас как то задеть, даже и в мыслях не было. Разумеется, ось работает, её же все используют и ни каких проблем. Это у меня какие то траблы в коде. Я новичок и поэтому прошу помощи у форума. А насчёт PROTEUS, так я думал он у всех есть, поэтому и кинул проект. Ну нет так нет. В реальном железе не отлаживал, т.к. из средств отладки в реальном железе есть только uart_puts. А в протеусе удобно – можно прогу остановить и посмотреть все внутренности. Ладно буду ковырять дальше. Спасибо.
  10. Вот заготовка протеуса, контроллер и светодиод. По идеи светодиод должен моргать. scmRTOS.rar
  11. Огромное спасибо! :a14: Буду разбираться.
  12. Спасибо за разъяснение про таймер. Ход ваших мыслей мне стал понятен. Кстати как вариант точного тика это первой инструкцией прерывания сделать TCNT0=0x8D. Блин, не могу найти инициализацию программного прерывания в исходниках. Вы можете ткнуть пальцем? Интересуют 2 вещи: Сама инициализация прерывания. По идее должна быть где то в старте. Обработчик прерывания с потрохами. Спасибо.
  13. Спасибо, не ожидал столь тёплого и развёрнутого ответа, особенно после того как модератор сделал приписку к названию темы. Не совсем понял, что вы имели ввиду, но попытаюсь ответить, так как я понял. Собака(watchdog)… а при чём здесь собака? Я обычно собаку ставлю на 2 секунды, и сбрасываю в прерывании от таймера которое делаю на 0,1с. Здесь тоже собаку буду в SystemTimerUserHook сбрасывать.Пусть таймер делает сколько угодно тиков, вроде как главное что перед выходом я ставлю TCNT0=0x8D? В чём смысл выражения TCNT0 -= 0x100-0x8D? Компилятор его переделает же в TCNT0 -= 0x73. Про прерывание в общем понятно. Посмотрел все три проекта(v3.1) и везде используеться TIMER1_COMPA, или не там смотрел? Тогда где? Кстати использую IAR.
  14. Я конечно вижу (и понимаю) что подобных тем создано много, ну хотя бы несколько. Но почитав их, увидел, что они мне не подходят, точнее не дают ответы на необходимые мне вопросы. А вопросов будет походу много. Поэтому решил создать новую тему в немного другом стиле – т.е. с моими промежуточными выводами, дабы на примере эволюции чайника помочь новым юзерам. Ось решил прикрутить к уже готовому проекту – железо(на ATmega32) + дрова периферии (написано на С). Что бы грамотно прикрутить ось нужно понять как она работает. В общем как работает ось, я в принципе представляю, по крайней мере, в общих чертах. Как то даже написал свой вытесняющий планировщик для ARM (Работает до сих пор :). Ну да ладно. Почитал доку по оси v.2 почитал форумы. В голове образовалась определённый набор знаний в виде каши, ну или первичного супа, типа из которого на планете жизнь зарождалась :) Понял, что пора внедрять знания. Вставил иссодники оси в мой проект. Расставил их соответственно папковой иерархии проекта. Долго бился над путями. Потом плюнул и прикрутил исходники к проекту 1-EventFlag. Ну вроде нормально. Компилиться без ошибок. Теперь пару тезисов которые я для себя определил, как некие точки от которых можно оттолкнуться. 1.Поток (кусок кода в while(1){}) будет выполняться пока a) надо вызвать паузу (за это отвечает функция, как я понял, Sleep) б)не произойдёт прерывание переферии, внутри которого произойдёт переключения контекста. Для этого мы в обработчики прерывания вставляем объект класса TISR_Wrapper. Вставляем этот объект, например, в прерывание UART recive. в) Прерывание системного таймера. Таймер настроенный на срабатывание через определённый промежуток времени для проверки надо ли переключать контекст. 2. Шедулер или планировщик. Кусок кода который контролирует паузы для потоков – т.е. инкрементирует их если надо, смотрит какие флаги взвелись для ожидающих их потоков и т.д. ну и соответственно переключает потоки. Примерно так. Вроде определились с необходимыми вещами. Приступаем. Нам нужен системный таймер. На его роль определили Timer0. В общем проинитил его. Включил прерывание на переполнение. Время срабатывания решил поставить 1мс. И для этого в теле прерывания надо таймер инитить TCNT0 = 0x8D, это при кварце 7.3728. Порыл код и догадалcя что вроде для этого есть функция void OS::SystemTimerUserHook(), короче туда и вставил. Правильно сделал? C таймером разобрались. Теперь эпопея номер два – програмное прерывание. Почитал за него. Блин, сложно въехать в сакраментальный смысл его использования, ну это и понятно надо сначала поюзать ось и столкнувшись с проблемами всё станет на свои полочки. Но как я уже говорил железо уже определено и костыль в виде соединения пинов мне не подходит. Отсюда мой первый вопрос. Как выпутаться из этой проблемы? Конечно, хотеться всё же использовать именно прерывание, т.к. использования прямого вызова шедулера очень не кашерно, как я прочитал в документации. Желательно не просто сказать – бери гэто, а привести пример кода, именно в контексте оси. Спасибо.
  15. Доброго. Подскажите каое правило надо для того что бы для определённой групы отверстий (PADов) не делать тепловые барьеры (отверстия для крепления платы). Спасибо.
  16. Почитай про взрывы проволочек в воде. Берёш маленькую проволочку. Помещаешь в воду. Берёш кондёр на пару киловольт. Микрофарад побольше и разряжаешь в проволочку. Эфект такойже, даже лучше.
  17. Регистр защёлка это я так понимаю "костыль"? А поддерживается ли этот костыль на аппаратном уровне в камне? Т.е. в камне есть порт для работы с памятью на аппаратном уровне и я есно хочу её на аппаратном уровне юзать. To Александр Куличок. Cерию LPC236x я хорошо знаю и юзаю и в курсе всех вкусностей, да и багов то же, а как же без них :) Мне нада гипер надёжность. И автоматив, вроде как лучше подходит. Кстати выслушаю советы косательно темы гипернадёжности.
  18. Подскажите какую SRAM 64Кб выбрать? Индустриального диапазона. А то я что то запутался, у камней младший байт адреса объеденён с шиной данных а такую SRAM я что то не нашёл. Спасибо.
  19. Осваиваю IAR для AVR. Сейчас пишу проект для ATmega32. Хочу написать свой xcl. Вот что у меня получилось: -D_..X_CSTACK_SIZE=50 -D_..X_RSTACK_SIZE=10 -D_..X_HEAP_SIZE=0 -D_..X_NEAR_HEAP_SIZE=0 //? -D_..X_FAR_HEAP_SIZE=0 //? -D_..X_HUGE_HEAP_SIZE=0 //? /*************************************************************/ /* Segments in program address space (internal Flash memory) */ /*************************************************************/ -Z(CODE)INTVEC=0-28 -Z(CODE)SWITCH,DIFUNCT=0-7fff -Z(CODE)NEAR_F=0-7fff -Z(CODE)CODE=0-7fff -Z(CODE)FARCODE=0-7fff -Z(FARCODE)FAR_F=0-7fff -Z(CODE)HUGE_F,INITTAB=0-7fff -Z(CODE)TINY_ID,NEAR_ID,HUGE_ID=0-7fff -Z(CODE)CHECKSUM#7fff /***************************************************************************/ /* Segments in data address space (internal or external SRAM/EPROM/EEPROM) */ /***************************************************************************/ -Z(DATA)TINY_I,TINY_Z,TINY_N=60-FF -Z(DATA)CSTACK+_..X_CSTACK_SIZE=60-7ff -Z(DATA)HEAP+_..X_HEAP_SIZE=60-7ff -Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=60-7ff -Z(DATA)FAR_HEAP+_..X_FAR_HEAP_SIZE=60-7ff -Z(DATA)HUGE_HEAP+_..X_HUGE_HEAP_SIZE=60-7ff -Z(DATA)RSTACK+_..X_RSTACK_SIZE=60-7ff -Z(DATA)NEAR_I,NEAR_Z,NEAR_N=60-7ff -Z(DATA)IOSTREAM_N#60-7ff -Z(CONST)NEAR_C=60-7ff // Internal EEPROM -Z(XDATA)EEPROM_I,EEPROM_N=0-3ff Iar выдал: Linking Error[e16]: Segment INTVEC (size: 0x38 align: 0x1) is too long for segment definition. At least 0x10 more bytes needed. The problem occurred while processing the segment placement command "-Z(CODE)INTVEC=0-28", where at the moment of placement the available memory ranges were "CODE:0-27" Reserved ranges relevant to this placement: 0-27 INTVEC 28-28 ABSOLUTE Что за ошибка? P.S. Если кто поделиться настроенным xcl для mega32 буду очень благодарен.
  20. 12 воольт может плясать. Посмотрел я характеристики на токовые датчики, походу тоже может плясать напруга. Пожалу погорячился насчёт точности.
  21. To СветLANa: Объект ответственный и мне нужно готовое решение. Цена не имеет значения, я бы сказал даже чем дороже тем лучше. Мне надо 12V и 24V с общей землёй, и 24 нужно стабильное, что бы не прыгало до 30, как у многих ИБП которые я видел. To Rst7: Bp предложенной вами ссылке нету подходящих мне по пораметрам (12V & 24V) :crying: Спасибо.
  22. Стоит задача запитать систему телеметрии на объекте от источника бесперебойного питания. Вся автоматика питается от 12В. В системе есть куча токовых датчиков 4...20мА. Так вот, мне нужны 12вольт ампера так на 2 и 24 гденибудь на 0,5A, желательно что бы ИБП крепился на DIN рейку. Порыл нет. Не нашёл подходящего мне варианта. Есть вариант поставить SKAT-12-3.0-DIN. А к нему прицепить преоброзователь 12V->24V на DIN рейку, но не нашёл преобразователя. Кто что может посоветовать. Спасибо.
  23. Я смотрел на LPC2368 datasheet, userguid, preliminaryguid –не нашёл, потому и спросил.
  24. С какой максимальной частатой может дрыгать ногами ARM7 от Atmela и NXP. В частности меня интересует nxp LPC23xx (смотрел в datasheet не нашёл, может плохо смотрел?) И с какой max частатой может читать данные с GPIO? Когдато давнвым давно слышал что порядка 3мГц, но может что поменялось с тех времён. Мне надо передовать в паралели 8 бит с высокой частатой (своеобразная шина данных). И интересна таже инфа по кортексам.
  25. Есть вопрос. У меня есть ADSL модем BiPAC 5200. Как его настроить, что бы входящий IP пакет с определённым портом, транслировался в определённый IP адрес с определённым портом. Смотрю настройки Routing и NAT - что то невразумительное. Т.е. методом тык не получится. Где можно про это прочитать?