Страница 6 из 7

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 17 май 2016, 11:26
abomin
Здравствуйте! Спасибо автору за доходчивое изложение! Суну и я свой пятачок... Есть у меня в задумке переделать старые электромеханические часы ( с синхронным двигателем на 110 вольт) на шаговики. Так вот там надо будет точно подсчитать кол-во шагов двигателя на оборот минутной стрелки (связь оси шаговика с осью стрелки через шестерёнки). Для этого надо, чтобы на одно нажатие кнопки мотор делал один шаг. Вобще-то я с пиками ещё не работал, но по анализу исходной проги переделал основную часть. Теперь при одном нажатии любой из кнопок мотор делает один шаг в соотв. сторону, сколько бы кнопка ни была нажата. Если же при нажатой и удерживаемой кнопке нажать и держать вторую, мотор будет непрерывно шагать в ту сторону, какая кнопка была нажата первой.

Код: Выделить всё

;******************************************************************************************
;****** РАБОЧАЯ ЧАСТЬ *********************************************************************
;****** Сканирование кнопок ***************************************************************
wait
		btfsc		GPIO,3
		goto		nextchk		;кн. вперёд не нажата
wait1
		btfss		GPIO,5
		goto		goforward
		btfsc		GPIO,3
		goto		goforward
		goto		wait1
nextchk
		btfsc		GPIO,5
		goto		wait
wait2
		btfss		GPIO,3
		goto		gobackward
		btfss		GPIO,5
		goto		wait2
		call		Backward
		goto		wait
goforward
		call		Forward
		goto		wait
gobackward
		call		Backward
		goto		nextchk
;******************************************************************************************
Извиняюсь за отсутствие комментариев... Прилагаю файл прошивки.

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 04 ноя 2016, 20:47
melgozan
Здравствуйте. Нашел несколько LB1836, сравнил с LB1838, вроде никакой разницы. Спаял и не работает, только шаговик дергается от нажимания на кнопки.

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 05 ноя 2016, 01:12
rhf-admin
Небольшая разница всё же есть. Если сопоставить таблицы истинности, то можно увидеть, что:
Состояние FORWARD у обоих микрух совпадает (если сопоставить соответствующие выводы), а вот состояние REVERSE для LB1838 будет соответствовать состоянию BRAKE у LB1836.
Так что прогу для LB1836 нужно переписывать, иначе там, где нужно менять полярность, обе обмотки будут вместо этого закорачиваться на землю.

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 05 ноя 2016, 02:13
melgozan
А что нужно добавить изменить в прошивке для LB1836. Сам точно не сделаю, темный лес.

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 06 ноя 2016, 12:47
rhf-admin
Здесь нужны все 4 сигнала отдельно (т.е. IN1,IN2 придётся разделить). Далее нужно в таком же цикле из 4-х шагов ставить в единицу один из сигналов, в таком порядке: In1, In3, In2, In4.
Для этого в программе нужно вот в этом месте:

Код: Выделить всё

 movlw  b'00000001'
 movwf  Step1
 movlw  b'00000010'
 movwf  Step2
 movlw  b'00000101'
 movwf  Step3
 movlw  b'00000110'
 movwf  Step4
просто прописать эту последовательность...

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 06 ноя 2016, 23:12
melgozan
rhf-admin писал(а):Здесь нужны все 4 сигнала отдельно (т.е. IN1,IN2 придётся разделить).
В программе так

Код: Выделить всё

movlw  b'00101000' ; настройка выходов (GP3,GP5 - входы)

Код: Выделить всё

wait  btfss  GPIO,3

Код: Выделить всё

      movlw  b'00000010'
      movwf  Step1
      movlw  b'00000001'
      movwf  Step2
      movlw  b'00000100'
      movwf  Step3
      movlw  b'00000011'
      movwf  Step4
Схему нарисовал такую. Спаял на макетке и не работает. Нашел еще LB1848, LB1935 ( все из фототехники, объективов)

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 07 ноя 2016, 00:09
rhf-admin
Первые две правки - правильные, а в последней должно быть так:

Код: Выделить всё

      movlw  b'00000001'     ; IN1=1
      movwf  Step1
      movlw  b'00000100'     ; IN3=1
      movwf  Step2
      movlw  b'00000010'     ; IN2=1
      movwf  Step3
      movlw  b'00010000'     ; IN4=1
      movwf  Step4

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 07 ноя 2016, 15:57
Virtual2
2melgozan не слушай ты админа :mrgreen:
даташит на этот 1836 какой-то мутный.
входов 4, выходов 2.
отсель всего 16 возможных комбинаций, перебери их все! и составь табличку состояний., вот и будет настоящий ман по данной микрухе. :patriot:

ADD:
вероятный полный цикл вперед:

Код: Выделить всё

IN1,IN2,IN3,IN4
H,L,L,L
H,L,H,L
L,L,H,L
L,H,H,L
L,H,L,L
L,H,L,H
L,L,L,H
H,L,L,H
---
PS
если админ начнет взрывать мосг с полушагами кинь в него тапок, заготовь заранее :ugeek:

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 07 ноя 2016, 16:57
rhf-admin
Virtual, дай ты человеку сначала полные шаги освоить.
Cам же знаешь, что это ты для полушагового режима написал, отсюда и троллинг про взрыв мозга...

Re: Простейшая программа для экспериментов с биполярным ШД

Добавлено: 07 ноя 2016, 18:54
Virtual2
если уж делать то делать поуму СРАЗУ плаавненько так, как задумано, а не ездить на квадратных колесах 8-)
только для нормального браузера!
sms.svg
sms.svg (4.38 КБ) 5140 просмотров
так что вам решать прыгать по синим или еще и плаавненько так еще и через зеленое

для 4х шагового режима обычно применяют намного более простые драйверы.

PS я-б еще поигрался с режимом Brake (замыкание обмоток, в динамических системах обычно применяют как режим торможения через самоиндукцию) но это уж точно выходит за пределы данного урока простейшей вращающейся магнитной системы, и кст из школьного курса физики :ugeek:

PSPS
2melgozan обязательно повесь пару "керамики" от 1мкФ меж GND и ножками VS1 VS2 (туда улетает импульс самоиндукции при снятии напряжения с обмоток, когда не пользуют Brake)