Ответить
  • Неизвестный кот Member
    офлайн
    Неизвестный кот Member

    140

    10 лет на сайте
    пользователь #1143698

    Профиль

    140
    # 24 марта 2014 20:42

    Здравствуйте! Подскажите пожалуйста, столкнулся со следующей проблемой: например программа себе работает, выполняет операции(вывод на экран, подсчёты и т.д.), вдруг происходит прерывание на INT0, по прерыванию я обнуляю счётчик TCNT1 контроллера(использую первый счётчик контроллера атмеги 328 16 битный), запускаю сам счётчик с предделителем 1024 и на этом моё первое прерывание(по нажатию клавиши, потом вместо неё использовать буду аналоговый компаратор) заканчивается...По идее управление возвращается в то место где произошло прерывание...Но вот вопрос: происходит через пару мс после первого второе прерывание(другой клавишей), в котором я останавливаю первый счетчик, забираю значение TCNT1 и после обнуляю его, а за этих пару мс между прерываниями в основной программе прошёл DELAY(1000)...Мне нужно это точное значение TCNT1 тиков контроллера между прерываниями...Будет ли мешать подсчёту тиков DELAY() все которые пробегут между прерываниями??
    Я так понимаю, что DELAY() запускает работу нулевого счётчика 8-ми битного, при этом запускается функция milis() и уходит в цикл...Как бы это два разных счётчика, но мне кажется что из-за DELAY() "сердце" камушка останавливается и соответственно произойдёт остановка первого таймера..Я не прав??? Помогите с вопросом.. Спасибо!

    Добавлено спустя 16 секунд

    а может пришла в голову мысль использовать задержку таким образом:
    TCCR2B = (1«CS10); // запускаем таймер.
    while( TCNT2 < 1840 ){}
    TCCR2B = 0; //останавливаем таймер
    TCNT2 = 0; // сброс счетчика
    Тоесть, нулевой счётчик таймер 8 битный забит уже функциями delay(), millis() и д.р.-его вообще отрубить, потом первый использовать для подсчёта времени между прерываниями, а третий(он же TCCR2) использовать для задержек???

  • Tester Senior Member
    офлайн
    Tester Senior Member

    5936

    22 года на сайте
    пользователь #3888

    Профиль
    Написать сообщение

    5936
    # 25 марта 2014 08:49 Редактировалось Tester, 2 раз(а).
    hatsan_bt65:

    Я так понимаю, что DELAY() запускает работу нулевого счётчика 8-ми битного, при этом запускается функция milis() и уходит в цикл...Как бы это два разных счётчика, но мне кажется что из-за DELAY() "сердце" камушка останавливается и соответственно произойдёт остановка первого таймера..Я не прав??? Помогите с вопросом.. Спасибо!

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

    UPD:
    Кстати, в CodeVisionAVR функции delay_ms() и подобные сделаны по другому. Они просто реализуют цикл заданное количество раз(рассчитывается исходя из частоты МК и требуемой задержки). В такой реализации есть плюс: таймер 0 не используется и доступен в программе. Но есть и минус: если возникает прерывание, то оно тоже требует время на исполнение, основная программа этого не знает и задержка получается больше той, что запросили. В Arduino же, поскольку таймер работает в железе и считает даже когда идет выполнение прерывания, времянка не уплывает(кроме случая, когда прерывание возникло под самый конец требуемой задержки).

  • supervisor1 Neophyte Poster
    офлайн
    supervisor1 Neophyte Poster

    1

    10 лет на сайте
    пользователь #1140485

    Профиль
    Написать сообщение

    1
    # 26 марта 2014 11:49 Редактировалось supervisor1, 7 раз(а).

    Присказка:
    китайца тавара продавала :)
    китайца манула не продавала :)
    китайца не знает что такое манулала на тавара :)

    Сказка:
    Пришли от одного продавца комплектом:
    Arduino Pro Mini 328 5V 16MHz
    + шлейфик
    + CP2102-USB
    Никакой бумажки схемки соединений нет.
    Ни на сайте, ни и в целофане.

    Платки шлейфиком соединил в компьютер тыц порт увидал.
    Компилятором тестовый кодец blink вжик.
    Светодиоик смотрю моргает.
    И вот тут я лоханулся.
    Продавцу Exelent-ы в ответ сплошные.

    Потом дай думаю светодиодик потещю перед вставкой.
    Светодиодик в эту макетку тыц.
    Кодец подправил на pin12-ый.
    Шью и тут до меня доходит, что платка не шьется :insane:
    Увидал стабилизатор на макетке:
    Думал спалил 5 вольтами 3 вольтовый чип - странно не может быть.
    Расстроился полез про платку читать.
    А текста на http://arduino.cc/en/Main/ArduinoBoardProMini
    читай не хачу, и понимаю, - внятно по моей проблеме не попалось.
    Забросил.

    День 2-ой
    Просветление:
    Думаю, что все равно спалил.
    Надоели Итальянцы, дай у русских спрошу про платку.
    Смотрю пацан руками тыкал.
    Дай думаю оторву резет, просунусь и тыкну в платку карандашиком.
    И о чудо божественное :conf:
    Проморгалось, прошилось, как на первых arduin-ах .

    Пожалуй надо тут типа faq собирать.
    http://arduino.ru не выдерживает наплыва падает регулярно последнее время.
    Правило соединения мелких arduin и внешних RX/TX-USB:
    reset НЕ СОЕДИНЯТЬ!!!
    ЖАТЬ ПАЛЬЦЕМ В МОМЕНТ ПРОШИВКИ!!!

    результатик:
    http://yadi.sk/d/Zk1EgAmDLE8Sv

    код выделить все

    // 1. art100 test for
    // 2. pins
    //cp2102 - for arduino mini pro 328 5V 16MHz
    //1 GND - 2 GND
    //2 RX0 - 5 TX
    //3 TX1 - 4 RX
    //4 5V - 3 VCC or (RAW-&gt;3v3)
    //5 RST - X
    //6 3V3 - X
    // pin 12 - led+1kOm
    // see sheet http://yadi.sk/d/Is4xl8-ALE7wA
    // 3.
    // reset wire unplug!!! no need reset on cp2102 on upload
    // !!!on upload + click reset!!! see led on cp2102
    int led12 = 12;//pin 12 - led+1kOm
    int led13 = 13;//led on board
    //---------------------------------
    void setup() {
    pinMode(led12, OUTPUT);
    pinMode(led13, OUTPUT);
    Serial.begin(9600);
    }
    //=================================
    void loop() {
    digitalWrite(led13, HIGH);
    digitalWrite(led12, LOW);
    Serial.println(&quot;led13, HIGH&quot;);
    delay(100);

    digitalWrite(led12, HIGH);
    digitalWrite(led13, LOW);
    Serial.println(&quot;led12, HIGH&quot;);
    delay(100);
    }
    //==================================

    Как вы уже поняли меня постоянно к украинской ветке банят за правду пришивая 3.5.18 дети :)
    Модеры:
    из Киева sunny1 которому жизнь обломали.
    из Бобруйска AntoXa которому челночество обломали.
    так что я пока посоздаю и поживу в штатах :)

    Так что звыняй протез. :-?
    Я еще верю, что люди добрые, и могут создавать светлое доброе и прекрасное :).

    То, что все это добро практически ничего не стоит, я думаю можно не объяснять.
    Бензина до почты попалишь столько же, чем все это добро стоит.

    Моя тестовая схемка для arduino pro mini 328 5v 16mhz - cp2102 :

  • Tester Senior Member
    офлайн
    Tester Senior Member

    5936

    22 года на сайте
    пользователь #3888

    Профиль
    Написать сообщение

    5936
    # 27 марта 2014 13:16

    Еще раз большое спасибо Игорю(azverin) за презент!

    Потихоньку балуюсь-изучаю в свободное от безделья время :D
    Вот сваял Переходник на SD карточку:

    Отдельный проводок - это питание. Он идет на линейный стабилизатор на 3.3V обеспечивающего питанием карточку. Это нужно потому, что на Arduino Pro на контактах, которые на шилдах помечены как 5V и 3V, написано VCC. Прозвонка показала, что они соединены между собой. Изучение схем других Ардуин показала, что должен быть стабилизато на 3.3V. Видимо sparkfun(именно они разработали Pro)решили, что делают плату работающую как от 5V, так и от 3.3V, а потому им этот преобразователь не надо...

  • art100 Клуб Самоделкиных
    офлайн
    art100 Клуб Самоделкиных

    5069

    13 лет на сайте
    пользователь #397580

    Профиль
    Написать сообщение

    5069
    # 29 марта 2014 21:09

    "свободное от безделья время" :)
    ссылку дай, что за чудо зеленые платки?
    заинтриговал совсем?

    Круиз-контроль 88 км/ч. Радость никакая печаль.
  • Tester Senior Member
    офлайн
    Tester Senior Member

    5936

    22 года на сайте
    пользователь #3888

    Профиль
    Написать сообщение

    5936
    # 29 марта 2014 21:30
    art100:

    ссылку дай, что за чудо зеленые платки?
    заинтриговал совсем?

    Какие платки? Если про макетку, то это старые запасы... плюс немного деталей на 10 тыс., плюс час работы паяльником.

  • teletype Member
    офлайн
    teletype Member

    413

    15 лет на сайте
    пользователь #152557

    Профиль
    Написать сообщение

    413
    # 30 марта 2014 22:15 Редактировалось teletype, 1 раз.

    Вот и у меня Uno появилася. Планирую юзать в качестве мозгов для гравицапы с ЧПУ. LPT порт это хорошо, но старой материнки под руками нет. Есть проекты на ардуинке под чпу, думаю покопать их.

    art100, подскажите где шаговики биполярные взять, есть ли в Минске у кого? В идеале nema 17 хочу, видимо придется заказывать у китайцев пачку движков вместе с контроллерами.

    да у меня кофе крепче, чем ваш пароль
  • BORTACH Клуб Самоделкиных
    офлайн
    BORTACH Клуб Самоделкиных

    3715

    13 лет на сайте
    пользователь #357746

    Профиль
    Написать сообщение

    3715
    # 31 марта 2014 23:33

    Сори за тупой вопрос, пытаюсь немного освоить ардуину, но на платформе multiwii.
    Скажите, можно ли комментарии в прошивке писать по русски?

    /************************** тип коптера ****************************/
    //#define GIMBAL
    //#define BI
    //#define TRI
    //#define QUADP
    #define QUADX
    //#define Y4
    Тут уже не исправить ничего, Господь, ЖГИ!
  • Неизвестный кот Linux Team
    офлайн
    Неизвестный кот Linux Team

    5137

    17 лет на сайте
    пользователь #107499

    Профиль

    5137
    # 31 марта 2014 23:35

    BORTACH, на ПК можно запросто.

    Если тебе говорят: "Далеко пойдёшь", не обольщайся. Возможно тебя просто собираются послать.
  • BORTACH Клуб Самоделкиных
    офлайн
    BORTACH Клуб Самоделкиных

    3715

    13 лет на сайте
    пользователь #357746

    Профиль
    Написать сообщение

    3715
    # 31 марта 2014 23:43

    т.е. в саму ардуину не будет писатся? я про программу ардуино....

    Тут уже не исправить ничего, Господь, ЖГИ!
  • Неизвестный кот Linux Team
    офлайн
    Неизвестный кот Linux Team

    5137

    17 лет на сайте
    пользователь #107499

    Профиль

    5137
    # 31 марта 2014 23:48
    BORTACH:

    т.е. в саму ардуину не будет писатся? я про программу ардуино....

    Нет. Комментарии останутся только в исходнике, в ардуину запишется только скомпилированный и где-то в чем-то оптимизированный код.

    Если тебе говорят: "Далеко пойдёшь", не обольщайся. Возможно тебя просто собираются послать.
  • 62310 Passat B6 Club
    офлайн
    62310 Passat B6 Club

    1436

    18 лет на сайте
    пользователь #62310

    Профиль
    Написать сообщение

    1436
    # 3 апреля 2014 10:18

    Кто-нибудь имеет рабочий пример кода опроса по http датчика температуры, вкл реле и т.д.? Работа с ethernet.

    ©
  • Неизвестный кот Linux Team
    офлайн
    Неизвестный кот Linux Team

    5137

    17 лет на сайте
    пользователь #107499

    Профиль

    5137
    # 3 апреля 2014 10:26

    Jo Jonson, вот маленький веб-сервер, сдающий показания датчиков: Web-Server.

    Если тебе говорят: "Далеко пойдёшь", не обольщайся. Возможно тебя просто собираются послать.
  • Protez1999 Senior MemberАвтор темы
    офлайн
    Protez1999 Senior Member Автор темы

    9978

    16 лет на сайте
    пользователь #113845

    Профиль
    Написать сообщение

    9978
    # 3 апреля 2014 13:13

    у меня гдето было. и вроде в тему эту кидал. вечером посмотрю

  • Неизвестный кот Linux Team
    офлайн
    Неизвестный кот Linux Team

    5137

    17 лет на сайте
    пользователь #107499

    Профиль

    5137
    # 4 апреля 2014 22:00

    Народ, кто-нибудь смог заставить работать nRF24L01+ с библиотекой RF24? Какая-то крайне нестабильная хрень. Mirf работает отлично, эта на передаче постоянно сбоит. Причем захочет - сильно сбоит, захочет - слегка. :-? И, блин, вариантов не очень-то - мне надо с ардуины на что-то повзрослей, типа Raspberry или Cubieboard, передаваться, а для Pi вроде есть только порт RF24. :-?

    Если тебе говорят: "Далеко пойдёшь", не обольщайся. Возможно тебя просто собираются послать.
  • art100 Клуб Самоделкиных
    офлайн
    art100 Клуб Самоделкиных

    5069

    13 лет на сайте
    пользователь #397580

    Профиль
    Написать сообщение

    5069
    # 9 апреля 2014 09:51 Редактировалось art100, 12 раз(а).
    Netbook Otaku:

    Вот и у меня Uno появилася. Планирую юзать в качестве мозгов для гравицапы с ЧПУ. LPT порт это хорошо, но старой материнки под руками нет. Есть проекты на ардуинке под чпу, думаю покопать их.

    art100, подскажите где шаговики биполярные взять, есть ли в Минске у кого? В идеале nema 17 хочу, видимо придется заказывать у китайцев пачку движков вместе с контроллерами.

    Шаговики биполярные(униполярные) с посадочными размерами 31.5*31.5 вал 5 мм( если по американскому стандарту NEMA17) я все скупил в Минске Цена от 30 000 руб до 16$ - из них 50% пошли в мусор.
    Мне уже вторая партия только по почте ползет.
    Остальные посадочные размеры меня не интересовали.

    Если срочно.
    У меня пока без цели лежат типоразмера NEMA17 но с шагом 3.8 градуса 2шт.
    С учетом покупки+пересылки+бензина+стояния в очереди 20$ за штуку могу отдать пока я не передумал.
    Продавать буду как подобранную пару.
    Для пары то что доктор прописал но можно и штучкой.
    Искать куда я их засунул и фото выкладывать?
    Остальные не дам.

    На Ждановичах на рядах еще лежит один типоразмера NEMA17 блестящий мужик хочет за него 30$ и шаг вроде 1.8 градуса.
    Мне одиночка не к селу ни к городу.

    Если будешь строить любой станок минимум X Y покупать только пары.
    У меня со всеми цачками пецками регулировками тока и т.д., а результат по точности только на любой паре получается адекватный без сдвигов перекосов. И все равно один чуть чуть горячей другого.
    Я и могу софтом обесточивать моторы для остывания в паузах. А все равно один чуть горячей но точность позиционирования одинаковая. Или надо брать моторы значительно превышающие по мощности.

    Сейчас масса принтеров выкидывается.
    Мне Дустяра подарил один я поигрался но что-то точное строить без смысла.
    Если только сразу пару выкинутых одинаковых принтеров и сразу парами.

    P.S. посмотрел проекты
    уууу
    Да я бы не сказал что для механики NEMA17 мощный
    Ему крутящего момента механику дергать током приходиться подбирать но чтоб не сразу сгорел.
    Я вот только что закончил спец-чудо-вентилятором мотор один обдувать после 1 часа пахоты.
    Шаговики от старых дисководов 5.25 проскальзывают шаги, я током один так разогрел что выкинул горяченького. :roof:
    А что-нибудь легенькое или помедленнее вполне тянут.
    Я подбирал NEMA17 с железом поувесистее.
    Кстати на крытом рынке Ждановичи где-то в области 53 киоска старые советсвкие моторы униполярки торгуют не дорого.
    У них посадочный конечно не 31.5*31.5 но вот проттерную механику тягали только визг стоял.
    Реальные моторы мне они не в тему посадочные размеры такие, что даже следующий NEMA23 уже не лезет только подбором тока мощи добавлял и кадлы час профилактика замораживаение вентиляторм вручную.

    Я думаю мы понимаем что униполярка это покачаственнее биполярки просто средние ноги лень запаять было потому как в микрухе уже H-мост готовенький. И просто среднюю ногу некуда и незачем совать.
    Ну все пофлудил градусники показывают 28 градусов пора еще на час станок запускать.

    Ну все еще на 1.30 часа задание пошло выполняться можно и пофлудить.
    Я тоже заметил что для настольного применения NEMA17 просто самый подходящий типоразмер.
    Если ремень тросик дергать может проскользнуть шаг потому как током больше и держать в покое приходится,
    то червяк медленный крутить может быть комнатной температуры.
    А этот тупой как валенок четырехпроводной потому самый дешевый в производстве по видимому.
    Советские в плоттерах явно были поизвращенее и униполярки и шаги мельче чем 1.8 тоже врде для настольного слабенького оборудования.
    Я думаю понятно, что не надо изобретать велосипед а надо использовать подходящий драйвер в виде готового модуля где и ток можно чуток подобрать и если сгорел модуль выкинул запасной модуль всунул и дальше работаем.
    Или вы прямо на макетке ардуины навесным монтажом транзисторы напаивать собираетесь? :trollface:
    "вместе с контроллерами."
    разумно :)
    " на ардуинке под чпу"
    видать батенька вы не простак :znaika:

    .

    Круиз-контроль 88 км/ч. Радость никакая печаль.
  • stalsyst Member
    офлайн
    stalsyst Member

    215

    14 лет на сайте
    пользователь #233759

    Профиль
    Написать сообщение

    215
    # 11 апреля 2014 14:55 Редактировалось stalsyst, 2 раз(а).

    Ребят подскажите , пришла ко мне прибамбоха с lcd 16*2 ,
    не могу запустить . Есть контролер - http://www.ebay.com/itm/221169688524?ssPageName=STRK:MEWNX:IT&_tr ... 1497.l2649

    есть прошивка , пробую прошить - все гладко сек 15-20 ( правда у чудака по мануалу мин 8 шилась) . Пишет что успешно завершено ,
    но при включении какая то хрень на экране и полный ступор

    . Может кто помочь разобраться ? С ардуино ни когда не сталкивался.
    Заранее благодарю

    - Я тут понять не могу. - Давай я тебе объясню. - Объяснить я и сам могу, я понять не могу. (С)
  • Неизвестный кот Linux Team
    офлайн
    Неизвестный кот Linux Team

    5137

    17 лет на сайте
    пользователь #107499

    Профиль

    5137
    # 11 апреля 2014 15:09
    stalsyst:

    при включении какая то хрень на экране и полный ступор

    Это не хрень, а тестовый режим. Включается, когда дисплей не инициализирован. Подайте на него тупо питание и увидите то же самое. Ищите гигу в контроллере.

    Если тебе говорят: "Далеко пойдёшь", не обольщайся. Возможно тебя просто собираются послать.
  • stalsyst Member
    офлайн
    stalsyst Member

    215

    14 лет на сайте
    пользователь #233759

    Профиль
    Написать сообщение

    215
    # 11 апреля 2014 15:55

    Думал может не прошил , пробую считывать прошивку - считывает . Прошивка ~ сколько заливается
    , а то у меня 15 сек. а в мануале 8мин. . Может такое быть ?

    - Я тут понять не могу. - Давай я тебе объясню. - Объяснить я и сам могу, я понять не могу. (С)
  • Неизвестный кот Linux Team
    офлайн
    Неизвестный кот Linux Team

    5137

    17 лет на сайте
    пользователь #107499

    Профиль

    5137
    # 11 апреля 2014 15:58

    stalsyst, я PIC-и не шил никогда, хз. Вообще в эту контроллерную тему пришел недавно и чисто с практической целью - наваять полезных девайсов для дома, для семьи.
    Если в прошивке уверены - проверяйте подключение. Если нет - ищите траблы в прошивке.

    Если тебе говорят: "Далеко пойдёшь", не обольщайся. Возможно тебя просто собираются послать.