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

VladimirYU

Свой
  • Постов

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

  • Посещение

Сообщения, опубликованные VladimirYU


  1. К zltigo

    А что цена? Высокая что-ли?

    "...Забудьете о 5V (и восмибитовиках тоже )." - А какие, например, другие. Чем будут лучше ARMы, TMS320x?

    На счет 8 бит, ИМХО, люди не об этом спрашивали. А вот что современная периферия практически вся на 3 В с этим не поспоришь, особенно это касается флэш больших объемов, ее на 5В практически нет.

  2. Зная наших студиозов (сам такой был) - в стендовом варианте лучше ставить вагон всяких ограничивающих и защитных вещей - дольше проживёт..

    :biggrin:

    Против лома нет приема, у меня студенты ухитрялись чуть ли не 220в на логические входы-выходы подать.

  3. Вы уверены, что именно 230В/400Гц?

     

    Может речь идёт о 220В/400Гц. Если так, то google быстро даёт ответ на этот вопрос: суда, военная техника, итд.

    Там, где нужно выиграть в массогабаритах оборудования. На одну и ту же мощность габариты силовых устройств (трансформаторы, двигатели, силовые преобразоватили) на 400Гц меньше чем на 50Гц.

  4. По моему все же проще и быстрее попробовать стандартный пример от поставщиков компилятора. Если есть проблема, то надо исключать возможные проблемные места, а не множить их... ваш собственный стартап может являться такой проблемой, даже если в других приложениях он и работает.

    +1. Разработчики компилятора тоже не плохо разбираются в предмете. Поэтому ИМХО в 99,99% случаев нет необходимост править штатный стартап.

  5. DDRE =0x0F;

    PORTE=0xF0;

     

    DDRB =0x3F; //0b00111111;

    PORTB =0xC0 // 0b11000000; //????????

     

    cli();

    EICRB=0;

    EIMSK=0xF0;

     

    1. Как Вам уже ответил aai_m лучше использовать бегущий ноль, тогда при инициализации выделенная строка должна быть

     

    PORTB =0xff // 0b11000000;

     

    2. Не связывайтесь с внешними прерываниями, в данном случае это ни к чему, я предполагаю что прерывания у Вас возникают по отпусканию кнопки и конечно Вы не можете определить столбец, т. к. все вернулось в исходное состояние. Лучше с определенной периодичностью сдвигаете 0 в PORTB и читайте PINE и спокойно определите нажатую клавишу (см. 1.).

    3. Алгоритмы подавления дребезга обсуждались неоднократно, поищите.

  6. Попробую канешна... но дело в том что после подачи питания до момента переполнения WDT всё идёт правильно... а когда происходит сброс конртроллер какбы замирает - никакие команды не выполняются ( пробывал первой строчкой ставить поднятие ноги на другом порте а потом её опускал... так вот после WDReseta она не поднимается) , это я к тому, что если первой строкой поставить обнуление MCUSRа то оно пройдет только в первый раз после подачи питания, и при резете от WDT не возымеет никакого действия... :(

     

    но хотя это чисто предположения - обязательно проверю, спасибо!

    В меге128 пока вот так не сделал тоже была какая то лажа, к сожалению, подробности не помню.

    // Инициализация WDT

    _WDR();

    WDTCR=0x1f;

    WDTCR=0x0f; // init WDT

    MCUCR=0x00;

    В предыдущем посте ошибся не до, а после инициализации. Структура регистров у 128 и 2560 аналогичная, отличается немного битами прескалера и несколькими дополнительными, которые Вы не используете.

     

    В меге128 пока вот так не сделал тоже была какая то лажа, к сожалению, подробности не помню.

    // Инициализация WDT

    _WDR();

    WDTCR=0x1f;

    WDTCR=0x0f; // init WDT

    MCUCR=0x00;

    В предыдущем посте ошибся не до, а после инициализации. Структура регистров у 128 и 2560 аналогичная, отличается немного битами прескалера и несколькими дополнительными, которые Вы не используете.

    И еще. Посмотрел несколько своих проектов везде аналогичная конструкция, везде работает на разных мегах 16,32,64, 128. Ничего не хочу утверждать, пользуюсь ей "на автопилоте" после того, как поимел схожие проблемы. Перед инциализацией все прерывания запрещаю.

  7. Тогда почему не помогает внешний резет? ( пробывал через програматор, да и ~RESET замыкал на ноль - ничего не происходит)

     

    Ну и выставлено вроде всё верно, так -

    WDTON - 1 (всмысле отключен) , WDE - 1, WDIE - 0

     

    Пробывал WDTON выставлять в 0 - вообще не запускается. стоит после прошивки и ни БЭ ни МЭ...

    Да вроде все правильно, попробуйте перед инициализацией WDT обнулить MCUSR = 0;

  8. Мда... как раз ирония в том что кода три строчки -

     

    int main()

    {

    _WDR();

    WDTCSR=0x38;

    WDTCSR=0x28;

     

    DDRD|=0x01;

     

    while(1)

    {

    PORTD^=0x01;

    }

    }

     

    Даём питание, прошиваем... смотрим осцылом - дрыгает ногой PD1 две секунды.... потом перестаёт.... и всё, пока питалово не выключишь-включишь не начинает .... проходит две секунды опять виснет.

    Проверьте фуз WDTON, может быть Вы уходите в прерывание по WDT, а не в сброс. А дальше бегом по памяти куда глаза глядят.

  9. То,что мега8 сама по себе не катит уже выяснили. А вариантов - пруд пруди. Автору выбирать. З.Ы. Мегу88 ещё не видел. Ща даташиты качну, почитаю.

    Посмотрите в сторону AT90PWM3 ( лучше с буквой B). Там есть модуль Power stage controller специально предназначенный для задач управления различными двигателями.

  10. Сам ИАР не юзаю - юзаю WinAVR+AVRStudio - там фузы надо прошивать руками -в смысле сама студия не прошивает их автоматом - в принципе по моему так и в ИАРе.

     

    Фузы в AVR программно недоступны, изменены могут быть только средствами программатора.

  11. AVCC+5в одно из условий для программирования ISP.

    Вопрос больше в том не заругется ли AVRStudio.

    Просто в тот device ,что под рукой не особо удобно впаиваться для экспериментов,

    может кто-то это уже делал

    Если вы будете программировать используя JTAG, то питание на тагет должно быть свое, его JTAG контроллирует, а если просто ISP, то думаю можно запитать и от STK, Студии должно быть все равно. Главное чтобы ИП STK потянул STK и ваш девайс. С AVCC согласен, всегда в свои девайсах соединял VCC и AVCC поэтому и не задумывался об этом.

  12. Привет всем. Вопрос небольшой.

    Можно но ли пользовать разъем ISP6PIN для программирования Atmega8,16 в составе другой платы.

    Reset-"0",SCK-"0" AVCC +5, обеспечивать самому или STK500 сделает сама , и не заругается ли

    AVRStudio.

     

    Можно, при условии, что в target плате ISP6PIN правильно разведен. MISO и MOSI не забудьте. Только почему AVCC, а не VCC? AVCC это питание аналоговой части, не более того, для программирования Вам нужно запитать цифровое ядро МК, т.е. VCC +5V.

  13. В каких применениях лучше использовать Correct PWM а не Fast PWM? И почему?

    Где принципиально важно , что бы импульс ШИМ-а был аккурат посерёдке периода модуляции? И почему ?

    Неплохо применение МК описано в апнотах у Atmel в разделе Motor control, а схемотехника силовой части на IRF.com

  14. необходимо управлять редукторным приводом с помощью сигнала, модулированного по напряжению.

    в приводе своя схема управления. необходимо сформировать управляющий сигнал внутри меги8.

    как это сделать представяю очень смутно, хотя читал и про шим, и про таймер TWI.

    Подскажите в кратце суть, а дальше я уж разберусь.

    Двигатель постоянного тока или переменного, а может шаговый или вентильный. Видите сколько может быть вариантов. Подробней пожалуйста.

  15. Тогда вам нужно макет менять. Может быть плата полупроводящая после какого-нибудь "супер флюса". Или полупроводящие коротыши между ножками МК приводят к перекосу питания кристалла :07:

    Я уже других причин не вижу, в ванну ее на 2 суток, и шприцом между ножек промывать. Сочуствую, но других идей пока нет.

  16. Когда вы соединяете два устройства кабелем, потенциалы земель этих двух устройств становятся одинаковыми. Сгорят или нет цепи, связанные с кабелем, зависит от нескольких обстоятельств.

     

    1. Каковы были потенциалы земель этих двух устройств до подключения кабеля?

    Если оба устройства имели общее заземление (помимо кабеля), то их земли в момент подключения имели одинаковый потенциал, поэтому при подключении через кабель не пробежит кратковременный выравнивающий ток, способный выжечь устройство. Если же общего заземления нет, то уж как повезет, может, сто раз подключите и ничего не будет, а на сто первый сдохнет.

     

    2. При включении кабеля, соединяется ли контакт земли первым?

    В грамотном разъеме контакты земли/питания сделаны длиннее сигнальных, поэтому выравнивающие токи не шарахают по сигнальным цепям.

     

    3. Защищены ли сигнальные цепи от прохождения выравнивающих токов?

  17. Ну я тоже держу низкий уровень перемычкой,пока питание не нарастет до 5в :) и ничего не помогает

    Понимаю Ваше отчаяние, но перемычка всетаки не то, что супервизор. Ее снятие может сопровождаться дребезгом на RESET, что при этом происходит, как реагирует МК вопрос. Складывается впечатление из Ваших сообщений, что МК стартует у Вас только по помехе по питанию ("коротнуть на землю"). Или неправильно Вас понял. Вопрос такой, запускается ли кварц в случае когда МК не стартует?

  18. Ибо нафига мне "суперпупернадёжная" система, у которой происходит один сбой в год, но он НЕ ОБНАРУЖИВАЕТСЯ СИСТЕМОЙ. Я лучше возьму систему, у которой сбои происходят каждый день, ну у которой эти сбои НЕ ПРОХОДЯТ НЕЗАМЕЧЕННЫМИ СИСТЕМОЙ

    Как Вы думаете, что лучше вовремя принятое лекарство и продолжение работы, или госпитализация с инфарктом и точный диагноз. Надежная система должна иметь возможности самовосстановления работоспособности в кратчайшее время, для этого WDT в комплексе с другими мерами, например, элементарное протоколирование работы программы в области __nо_init не требует значительных расходов. А о том, что программы надо писать правильно не вижу смысла обсуждать.

  19. Да, действительно,внешний супервизор я ещене пробовал. но чем он отличается от ручного ресета?(Закоротил на землю,подал питание, убрал с земли)

     

    Вне зависимости от темпа нарастания напряжения питания внешний супервизор будет держать низкий уровень до уровня 5В-5(10)%, гарантируя надежный сброс МК. Это наиболее близко к тому, что Вы называете коротнуть питание. Не пожалейте 18-30руб. и 3...5 минут времени, чтобы его подвесить хоть навесным монтажем, как можно ближе к ножке RESET

  20. Может у вас питание медленно нарастает? Попробуйте фьюзами выставить время стартапа генератора побольше, ну и с источником питания разберитесь, потому что закоротка питания - это как быстрый старт источника, осциллом питание неплохо бы посмотреть во время включения. При медленном старте БОД помогает, если правильно выставлен уровень. Но если нарастание слишком медленное то он не поможет.

    И все-таки попробуйте внешний супервизор, это похоже единственное,что Вы еще не попробовали.

×
×
  • Создать...