Контроллер бесколлекторного двигателя

avisenja

Вопрос к знатокам атмег

У ПИКов можно делать такой командой переходы по проге
счётчик+число

movf Reg,W ;
addwf PCL,F ;
goto st1 ; 0**
goto st2 ; 1**
goto st3 ; 2**
goto st4 ; 3**

а как в меге такое делать??? так неполучается, к сожалению я в мегах *0*😦

ldi temp1, 0x03
add PC, temp1

rcall s_1
rcall s_2
rcall s_3
rcall s_4

RW9UAO

положить в стэк потом ret
как-то так, подробности лень искать

ldi Z, label1
push Z
reti
label1: rcall asd
label2: rcall asf

avisenja

Спасибо за подсказки, на досуге покумекаю😇.
А сейчас, за неимением опыта в мегах:(, выкрутился так;)

; faza kommutacii
cpi faza_mot,0 ; esli ravno to perexod
breq s_0 ;
cpi faza_mot,1
breq s_1
cpi faza_mot,2
breq s_2
cpi faza_mot,3
breq s_3
cpi faza_mot,4
breq s_4
cpi faza_mot,5
breq s_5
reti

Pantryk

да rjmp не подойдет т.к. пользует в качестве аргумента число а не регистр.
возможно пойдет что-то типа


LDI R30, LOW(func_table)	;загружаем в регистр Z
LDI R31, HIGH(func_table)	;адрес начала таблицы выбора
LDI R17, 0			;загружаем в рабочий регистр старший байт от faza_mot т.к нужно сложить с двухбайтовым числом

ADD R30, faza_mot		;добавляем смещение
ADC R31, R17			;к регистру Z
IJMP				;индирект джамп (тобиш по адресу лежащему в Z)
func_table:			;начало таблицы выбора
NOP				;нулевой элемент таблицы не пользуется если фазы нумеруются с 1
RCALL s_1
RCALL s_2
RCALL s_3

я не программирую на асме, поэтому синтаксис мог кое где попутать.

avisenja

Ура…!!! заработало! Спасибо за подсказки, текст почти как для ПИКа😁
теперь можно двигаться дальше.


	    ldi     zl, low(faza_kom)   ; L-adres perexoda
	    ldi     zh, high(faza_kom)  ; H-adres perexoda
	    add     zl, faza_mot        ; zagruzka fazy perekl
	    icall		        ; vypolnit perexod
	    reti                        ; vozvrat

faza_kom:       ; faza komutacii obmotok
	    rjmp    s_0
	    rjmp    s_1
	    rjmp    s_2
	    rjmp    s_3
	    rjmp    s_4
	    rjmp    s_5 
11 days later
shysha

Привет всем !!! -я здесь новенький !
и спасибо всем кто занимается этим нелегким делом, на этой ветке ! много интересного и познавательного ! )
Почти собрал себе сие чудо
www.jetcontrol.de/Bastelstube/Monster.html
-возникло у меня несколько вопросиков (возможно глупых), но:

  1. можно ли в схеме заменить L4941 на 7805 и чем это грозит?
  2. кондеры С4, С27 по 10мкФ , а на фото какой-то большой явно не 10ка?
  3. как на этом регуле включить движок и как управлять оборотами ? )))
  4. самый сложный для меня как прошить мегу 8 , а точнее как это сделать в Понипроге? если можно то детально ! особенно конфигурацию битов !!!
    Всем заранее большое Человеческое спасибо !
Vlado
  1. можно ли в схеме заменить L4941 на 7805 и чем это грозит?

тем что это LDO low drop там особая схемотехника он позволяет 0.4 В падения при 1А тока. Немцы электронщики это особые педанты, это не китайцы могут быть и грабли. Надобно поанализировать.

shysha
Vlado:

тем что это LDO low drop там особая схемотехника он позволяет 0.4 В падения при 1А тока. Немцы электронщики это особые педанты, это не китайцы могут быть и грабли. Надобно поанализировать.

спасибо, возьму L4941 дабы не топать по граблям !
-а кондеры там для защиты от помех ? или еще какую роль играют ?

ubd
  1. Желательно использовать LOW Drop стабилизаторы, но они актуальны если у вас напряжение питания будет менее 7В. Если у вас 12В, то нет смысла ставить LOW Drop, ставьте 7805.
    Вот тут rcopen.com/forum/f8/topic127064/321 (пост 330) я описывал почему именно LOW Drop.
  2. ДА там просто плату разрабатывали когда поставили от фонаря номинал. На самом деле там где то 1000мкф х 50В. Его и ставьте.
  3. Этот вопрос задолбал уже всех. На этом форуме он появляется раз в месяц стабильно. Ищем в поиске - Сервотестер, эта схема позволит съэмитировать аппаратуру, т.е. канальный импульс с приёмника.
  4. Опять же, этот вопрос постоянно фигурирует во всём интернете, и есть море ответов на него. Забиваем в гугле например - Как прошить AVR, и там 1000 способов, с подробным описанием. Я прошиваю то же Пнипрогом, и использую программатор STK-200, эта схема ищеться, так же легко в инете.
    По поводу битов, это не ко мне, а к тому кто этот регулятор пробовал собирать. На крайняк, вопрос автору попробовать задать, или на этом сайте, где схема, должна быть информация о битах. За частую, эта информация быть обязана.
shysha
ubd:
  1. Опять же, этот вопрос постоянно фигурирует во всём интернете, и есть море ответов на него. Забиваем в гугле например - Как прошить AVR, и там 1000 способов, с подробным описанием. Я прошиваю то же Пнипрогом, и использую программатор STK-200, эта схема ищеться, так же легко в инете. По поводу битов, это не ко мне, а к тому кто этот регулятор пробовал собирать. На крайняк, вопрос автору попробовать задать, или на этом сайте, где схема, должна быть информация о битах. За частую, эта информация быть обязана.

спасибо за скорый ответ и пояснения ! понипрог, СТК-200-имеются , и прошивать я знаю как . собственно вопрос именно в битах и в том файле что предоставлен там не hex, пока ! я предполагаю что нужно те символы , которые предоставлены кинуть в блокнот сохранить и поменять расширение ! но это предположение ))) и по битам вопрос открыт ! пока не нашел а в немецком не бумбум )))!
За остальное большое СПАСИБО ! Как и обещал )))

ubd

пока не нашел а в немецком не бумбум

В инете есть автоматический переводчик. Хоть криво, но в смысл вникнуть можно.

shysha


Вот что уже сделано , и что хотелось бы запустить !

ubd

Ну так вперёд, информации достаточно.

shysha

youtu.be/CBpTgGUdRdo

Чуда , не произошло ! ) включаю питание он мне пи-пи-пи 3-ри раза мигнул светодиодом и на этом ВСЕ ! и так при каждом подключении ! Кто что знает по этому поводу ? - Нужна помощь !

shysha

питание подается 12,5 - 5 после 4941 - и 12,06 после мах 662 ! если движок пищит то и полевики должны быть целыми (предположение) , и где собака порылась ? ))) транзисторы IRL3713, диоды BAT42 (48)- не было !
кто знает что за разъем SV3 ? для чего ?

ubd

У вас возможно на сервотестере канальный импульс не в стандарте. Осциллогаф есть? Настройте сервотестер так что бы при минимальном газу было 1 мс, а макс - 2 мс. А может быть на минимальном, не 1 мс а 0,9мс, попробуйте.

Вячеслав_Михеев

Евгений Жалнин
Владислав Трояновский ник wlad, очень много писал в этой теме про этот регулятор, попробуйте списаться с ним

8 days later
shysha

До Влада не достучался ! ( мои предположения, (исходя из постов Влада) транзисторы 3713 не открываются драйверами 2101 ! попробую 2110 ! Вопрос знающим , для чего на 2110 вывод SD ? С ОСТАЛЬНЫМИ ВРОДЕ ВСЕ ЯСНО !

RW9UAO

github.com/sim-/tgy
исходники прошивок под регуль турниги для мультикоптеров. вдруг кто не знает =)

Gagik

Здравствуйте.
Евгений Жалнин, IR2101 отлично управляют транзисторами 3713. Более того, они справляются с тремя запараллеленными транзисторами FDD8896 в регуляторе Hobbyking SS Heli Series 70-80A ESC w/UBEC. Так что смело можете использовать их. У меня на двух регулях с транзюками 3713 на одной стоят 2101S, на другом 2110S, токи до 60А при 22В, разницы не замечаю. А вывод SD у 2110 для логического отключения выходов драйвера- при соединении с землей драйвер работает, при подаче на SD +5В драйвер запирает выходы. То есть через этот вход можно реализовать разные защиты.
Конкретно с регулем, который Вы собирали, я дела не имел, но есть немалый опыт с регуляторами BLUE. Влад очень занят, даже личные переписки ведет не регулярно, а решите собрать BLUE, помогу.