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

ATmega8 управление ШД индикацией оборотов

Здравствуйте, мне нужно управлять четырехфазным шаговым двигателем, вперед-назад, схему на ATmega8 я собрал, контроллер прошил, но неудобно без индикации оборотов на трехразрядном индикаторе. Я узнал, что такое динамическая индикация, добавил в цикл управление индикатором, но программа не работает.

if (PINB==0b11111110)
		{
	   PORTC=0b0000100;
	  _delay_ms(500);
	   PORTC=0b0001000;
      _delay_ms(500);
	  PORTC=0b0010000;
	  _delay_ms(500);
	  a++;
	  number(a);
	  PORTD=digit[razr1];
	  PORTB=0b00000100;
	  _delay_ms(30);
	  PORTD=digit[razr2];
	  PORTB=0b00001000;
	  _delay_ms(30);
	  PORTD=digit[razr3];
	  PORTB=0b00010000;
		}

Без индикации работает, а в таком виде только один цикл, ШД делает один оборот и все. МК только начинаю осваивать, программу для моей задачи пока не нашел потому написал исходя из своей логики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, astral_ said:

PINB==0b11111110

Очевидно, это условие перестаёт выполняться после манипуляций с портом B.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точно.

Я подключил разряды к порту С, индикатор показывает обороты, но есть другая проблема, поскольку индикация включена в цикл при остановке двигателя, когда цикл прекращается, прекращается и динамическая индикация, на индикаторе остается только последняя цифра. Индикация оборотов двигателя трехразрядным индикатором задача не редкая, может есть какие-то типовые решения? Подскажите, чтобы я не изобретал велосипед.

Изменено пользователем astral_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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