Jump to content
gater06

дешифровка сигналов на шаговый двигатель

Recommended Posts

Добрый день,

Подскажите, как сделать "дешифровку" сигналов на шаговый двигатель, чтобы понять на сколько шагов и в какую сторону он поворачивается?

Есть шаговый биполярный мотор от епсон с65. 4 вывода. Он управляет подачей бумаги. Один шаг - поворот на 1,8 градуса. Может поворачиваться как в одну, так и в другую сторону.

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

Share this post


Link to post
Share on other sites

посчитать программно шаги, которые подались на мотор и вывести число на индикатор

Share this post


Link to post
Share on other sites

@gater06, вы диаграмму управления ШД той схемы, что используете, перед глазами имеете? Сначала надо разобраться, где на ней шаг, и как меняется направление. Выложите, - ткнём. :)
 

Edited by Lexter

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

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

Подробнее

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Merlok Life
      Хочу сделать монстр-машинку с двигателем rs550 с металлическим корпусом на ардуино.
      Подскажите как управлять мотором через ардуино нано? 
       
    • By Геннадий Быков
      Уважаемые электронщики и им сочувствующие!
      Хочу на даче собрать макет морского маяка в человеческий рост. Но для этого необходима схема управляющая светодиодами. Основное, схема должна иметь независимое питание(Солнечная панель) и быть слаботочной (5-9 вольт). Как вижу я. Маяк ориентировочно высотой 1,50-1,80 м. В маяке, с низу до верха 6 окошек (по одному 5мм светодиоду). И на верху сам маяк из 8-ми 0,5 ваттных светодиодов установленных по кругу. С наступлением темноты, включаются диоды на "1 этаже" и раз в 5-10 минут происходит действие. Диоды поэтажно (снизу вверх) начинают загораться (как будто кто-то поднимается вверх по ступеням) и после загорания самого верхнего окна, через пару секунд, включается маяк. Поочередно по кругу (эффект метеора), со скоростью 2-3 сек на круг, делает оборотов 10 и выключается. Потом в обратной последовательности гасятся окошки (светодиоды) сверху в низ и остаются два нижних, периодически и независимо включающиеся и выключающиеся (эффект присутствия). И вновь через 5-10 минут вышеописанное действие. Буду очень признателен любым советам, ссылкам, помощью. Немного умею паять, немного знаю Ардуино. Готов в разумных пределах спонсировать, разработку и сборку.
    • Guest ренат
      By Guest ренат
      Всем здрасти))))
      прошу помощи в написании программы
      мои знания программирования на ардуино основаны на примерах и школьного курса )))
      так вот есть программы 
      int LedPin = 8;             // Подключаем светодиод к порту 13
      int ButPin = 2;             // Подключаем кнопку к выходу 10
      int flag = 0;                // флаг состояния
      int LedPinTime = 100;
      void setup()
      {
        pinMode(LedPin, OUTPUT);   // Инициализируем порт "ledPin" как выходной
      }  
      void loop()
      {
        if(digitalRead(ButPin) == HIGH && flag == 0)      
          {                                              
            digitalWrite(LedPin, !digitalRead(LedPin));
            flag = 1;
          }
        
        if(digitalRead(ButPin) == LOW && flag == 1)
          {
            flag = 0;
          }  
      }
      собрал из кусков, работает )))))
      но не то что мне нужно 
      Мне нужно чтобы при нажатие одной кнопки(без фиксации) светодиод загорался на три секунды ( и не важно держишь ты кнопку или кратковременно нажал, он через три секунды потухнет) 
      помогите кто может))) я в благодарность могу и на телефон денег кинуть )))) спасибо
    • By pingyini
      Всем доброго времени суток. Решил я сделать "умную" электронную сигарету на arduino. Концепция заключается в кнопочном управлении мощностью посредством ШИМ, наличии экрана, и некоторыми защитами в виде ограничения максимального времени нажатия и уход камня в сон (режим пониженного энергопотребления) после N секунд простоя.
      Вводные: по нажатию кнопки запускается ШИМ и управляет полевиком, но в целях защиты я хочу ограничить время выполнения кода до 7 секунд(что бы при случайном зажатии кнопки в кармане не получить травматическую ампутацию конечностей)

      Проблема пришла откуда не ждали - обработка нажатой основной кнопки срабатывает как попало. Нажимая кнопку обработчик может сработать сразу и отработает как по маслу, а может и через 5 нажатий не сработать вовсе.  Проверял в живую на Arduino UNO, Pro Mini (328е Меги) и в Proteus'е. Симптомы одни и те же.  Проблема очевидно в коде но я в упор не вижу в чем может быть загвоздка. Уровень у меня "штота умею" поэтому не судите строго. 
       
      #define pwmPin 5 #define buttonStart 3 #define maxOnTime 7000 //максимальное время выполнения условия нажатой кнопки #define RED_LED 7 #define GREEN_LED 8 int power = 150; //boolean StartState; boolean StartStateFlag; //Флаг кнопки Старт unsigned long pressTime; void setup() { pinMode(pwmPin, OUTPUT); pinMode(buttonStart, INPUT); pinMode(RED_LED, OUTPUT); pinMode(GREEN_LED, OUTPUT); Serial.begin(9600); //чисто для отладки } void loop() { if (digitalRead(buttonStart) && StartStateFlag && ((millis() - pressTime) <= maxOnTime)) { // (1) если кнопка старт нажата И была отпущена И нажата менее 7 секунд выполняем: analogWrite(pwmPin, power); //запуск ШИМ Serial.println("PWM_ON"); digitalWrite(GREEN_LED, HIGH); digitalWrite(RED_LED, LOW); } else { // (2) иначе StartStateFlag = false; // кнопка небыла отпущена analogWrite(pwmPin, 0); digitalWrite(GREEN_LED, LOW); Serial.println("PWM_OFF"); pressTime = millis(); } if (!digitalRead(buttonStart)) { //(3) если кнопка не нажата analogWrite(pwmPin, 0); //остановка ШИМ Serial.println("PWM_OFF"); digitalWrite(RED_LED, HIGH); StartStateFlag = true; //была отпущена и можно входить в условие с нажатой кнопкой (1) } } И файлы: сам скетч, .elf и .hex для шПротеуса и проект Протеус.
      P. S. ШИМ в Протеусе не работает в принципе, в железе все ОК 
      BUTTON_TEST.ino
      BUTTON_TEST.ino.eightanaloginputs.hex
      BUTTON_TEST.ino.elf
      BUTTON_TEST.ino.with_bootloader.eightanaloginputs.hex
      ButtonTest.pdsprj
    • By dimmer
      Необходимо собрать устройство на ардуино: 
      Управление одним сервоприводом (плавная регулировка 180 градусов) по блютуз с телефона.
      Задача
      Питание для привода-аккумулятор (пока не знаю какой именно, нужно подсказать)
      Минимизировать электропотребление, сделать так что б в спящем режиме не было расхода энергии, или почти не было.  Может убрать светодиоды из платы, или ещё каким то образом.
      Устройством буду пользоваться время от времени и не хотелось бы аккумулятор часто заряжать.
      Основные комплектующие в наличии, думал сам разберусь но нет ни времени, не особого желания это изучать. 
      Территориально Москва. Привезу комплектующие куда скажете, но желательно ЗАО

×
×
  • Create New...