реклама на сайте
подробности

 
 
21 страниц V  « < 16 17 18 19 20 > »   
Reply to this topicStart new topic
> Изменение текста программы при смене компилятора и чипа
toweroff
сообщение Nov 29 2011, 20:41
Сообщение #256


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(sigmaN @ Nov 30 2011, 00:06) *
toweroff, я так понимаю у вас стоит что-то вроде переменного резистора и таким образом моторчик в любой момент времени знает своё абсолютное положение относительно нуля. И это не зависит от питания! Крутим двигатель руками, резистор просто меняет своё сопротивление и в любой момент можно подать питание и узнать в каком положении сейчас вал.

ой-ой... и это в жару, на морозе... с точностью порядка 0.2 градуса/шаг - не уверен.
Все-таки, постараюсь найти в хламе этот движок, резберу и тут выложу

зы
покопался в гугле sm.gif
есть 93С46 как хранилище, авр типа 2313, релюхи, стабилизатор 7805 и транзюки на релюхах
есть три концевика - 0 и два спаренных по крайним положениям
ВСЕ!
sm.gif
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 30 2011, 10:31
Сообщение #257


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



ну и как в таком случае ваш прибор определит своё положение, если вы ему свернули голову, пока питание было отключено?


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 30 2011, 12:13
Сообщение #258


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(sigmaN @ Nov 30 2011, 14:31) *
ну и как в таком случае ваш прибор определит своё положение, если вы ему свернули голову, пока питание было отключено?

Ну, по ходу, сохраняется последняя позиция. От нее он и пляшет
и сворачивание бошки с питанием или нет - это порча имущества biggrin.gif
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 30 2011, 13:22
Сообщение #259


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



ну так я просто думал, что
Цитата
Так вот если его тупо волтузить по дуге в поисках спутника,
это и есть "сворачивание бошки".
Если же редуктор там такой, что сворачивание не представляется возможным без поломки - то тогда всё верно.
Однако же топикстартеру всё равно стоит обратить внимание на наличие концевиков в крайних положениях.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 30 2011, 15:19
Сообщение #260


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(sigmaN @ Nov 30 2011, 17:22) *
ну так я просто думал, что это и есть "сворачивание бошки".
Если же редуктор там такой, что сворачивание не представляется возможным без поломки - то тогда всё верно.
Однако же топикстартеру всё равно стоит обратить внимание на наличие концевиков в крайних положениях.

тогда, возможно, ему проще обратить внимание на готовый мотор и протокол DiSEqC 1.2 ?
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 30 2011, 16:19
Сообщение #261


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



На его месте я именно так и поступил бы.
Однако я обратил внимание на наличие концевиков именно потому, что они присутствуют в промышленном образце(таким образом подтверждая необходимость их наличия в устройстве).

Глянул на DiSEqC 1.2... кажется тс оно не нужно.
А вот взять готовый движок с редуктором и прочими концевиками - вроде неплохая идея. Не в последнюю очередь тут важно, что всё это расчитано на всепогодную эксплуатацию.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 30 2011, 17:12
Сообщение #262


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(sigmaN @ Nov 30 2011, 20:19) *
Глянул на DiSEqC 1.2... кажется тс оно не нужно.

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

Цитата(sigmaN @ Nov 30 2011, 20:19) *
Не в последнюю очередь тут важно, что всё это расчитано на всепогодную эксплуатацию.

о чем и речь. Вкупе с многократно проверенным интерфейсом - самое оно
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 30 2011, 17:26
Сообщение #263


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Хотя это уже и не нам решать )))


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Dec 2 2011, 06:47
Сообщение #264


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Цитата(sigmaN @ Nov 30 2011, 00:06) *
Собственно по этой причине и нужно после включения отматываться до нуля и уже от него считать нужное кол-во щелчков.
Любые другие алгоритмы управления в той или иной степени обречены на провал(при разных обстоятельствах). К этому можно прийти путём не сложных логических рассуждений wink.gif

Ну, я не был бы так категоричен.)) При каждом включении делать новую коррекцию вовсе не обязательно. При нормальном слесарном исполнении поворотного механизма(а для нормального радиолюбителя антенное хозяйство это святое, Hi!) я думаю коррекция будет нужна примерно раз в полгода. Сама коррекция (как и начальная установка) в моём последнем варианте выполняется простой установкой позиции записаной в EEPROM по фактическому направлению антенны.

Цитата
Но топикстартер всё равно сделает по-своему, записывая положение в ЕЕПРОМ каждую миллисекунду прямо во время вращения вала и будет изобретать как же эту самую ЕЕПРОМ не протереть за пол года работы девайса )

Конечно сделаю)). Данные в EEPROM у меня записываются не так часто как вы думаете, а лишь после прекращения вращения, и то если позиция поменялась. А применение датчика по напряжению или току конечно даёт свои плюсы, но и минусов у них очень много(начиная от необходимости очень высокой стабилизации питания датчика(особенно при больших перепадах температуры) заканчивая простым геморроем состыковки вала редуктора и вала переменника)

Цитата
А ещё скажет, что перемещение антенны, пока девайс выключен - крайне маловероятно и это не аргумент.

Именно так.)) Если антенна болтается с валом редуктора, то застрелите такого радиолюбителя))).

Цитата
На его месте я именно так и поступил бы.
Однако я обратил внимание на наличие концевиков именно потому, что они присутствуют в промышленном образце(таким образом подтверждая необходимость их наличия в устройстве).

Да не нужны здесь концевики. Если их поставить, то применение МК в этом случае это стельба из пушки по воробьям. Управление сведётся к двум простым кнопкам, а индикацию сделать в виде светодиодного вольтметра))) Вся прелесть данной кострукции в полном управлении поворотом и индикации положения всего по трём проводам и минимуму деталей в датчике(самом уязвимом для погоды месте). Большая точность как в DiSEqC 1.2 не нужна, это не спутниковая антенна, угол излучения минимум 15-20 градусов. Антенна размерами ...
Прикрепленное изображение
и сразу видно куда она направленна. Вопрос о необходимости корректировки индикации будет виден невооруженным))) взглядом.

Цитата
А вот взять готовый движок с редуктором и прочими концевиками - вроде неплохая идея. Не в последнюю очередь тут важно, что всё это расчитано на всепогодную эксплуатацию.

А вот здесь всё помимо финансового вопроса упирается в габариты антенны и соответственно в момент инерции и ветровую нагрузку. Да любой позиционер от тарелок до 3-4м диаметра на этой антенне свернёт в дугу при первом нормальном ветре( 10-15м/с) а стоимость позиционеров от 5-9м тарелок исчисляется суммой на которую можно купить готовый девайс от Yaesu ещё и на мачту останется)))

Вот сколько писать пришлось wacko.gif , а всегото спросил как при записи и чтении в EEPROM каждый раз переходить к другому адресу? )))
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Dec 2 2011, 09:59
Сообщение #265


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Да, вот ещё вопрос. Если отказаться от записи в EEPROM в процессе работы блока управления, а писать только в момент отключения питания? Т.е. на ногу питания МК повесить достаточно большой электролит и разделительный диод(чтобы кондёр не разряжался на всю цепь), и включить прерывание по изменению состояния на ноге порта В,подав на неё питание. В обработчике прерывания производить запись. Будет ли такой вариант работать и насколько надёжно?
И ещё. Можно ли вот этот код
Код
Start_Position = eeprom_read_byte(&eePosition);//читаем значение переменной из eeprom
Start_Position = Impuls;
eeprom_write_byte(&eePosition, Start_Position);//записать новое значение в eeprom

заменить на
Код
Start_Position = Impuls;
eeprom_update_byte(&eePosition, Start_Position);

и будет ли перед записью происходить проверка на совпадение данных если вот это
Код
n = eeprom_read_byte(&eePosition);
if (n != Impuls) {
eeprom_write_byte(&eePosition, Impuls);//записать текущее значение в eeprom
}

заменить на
Код
eeprom_update_byte(&eePosition, Impuls);


Сообщение отредактировал RW6MKA - Dec 2 2011, 10:43
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Dec 2 2011, 17:50
Сообщение #266


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Вот ещё назрел вопрос. Почему в коде
Код
void RotorR(void) {  //поворот по часовой стрелке

        OnBit(PORTD, RUN);   //включить поворот (RUN)
        OffBit(PORTD, REV);  //реверс не включать (REV)
        _delay_ms(300);
        while ((!(PIND & 1 << Button_R))|(StatusPovorot != Rstop)) {//пока нажата кнопка поворота
                 Led_Pos();                                         //вправо и поворот не запрещён
                 Shift_Reg();
                 Status_povorot();
        }
        OffBit(PORTD, RUN);   //выключить поворот
        OffBit(PORTD, REV);   //выключить реверс
        
}

при прекращении выполнения условия действие не выходит из цикла?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 2 2011, 18:19
Сообщение #267


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(RW6MKA @ Dec 2 2011, 21:50) *
Вот ещё назрел вопрос. Почему в коде...

1UL <<
попробуйте

Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Dec 3 2011, 06:06
Сообщение #268


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Цитата(toweroff @ Dec 2 2011, 22:19) *
1UL <<
попробуйте

А это что rolleyes.gif ? Подробней для новичка.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Dec 3 2011, 06:59
Сообщение #269


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(RW6MKA @ Dec 2 2011, 21:50) *
Почему в коде при прекращении выполнения условия действие не выходит из цикла?

Вероятно, это происходит потому, что Вы неверно записали условие. Скорее всего, Вам нужно побитовое ИЛИ заменить на логическое (т.е. || )
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Dec 3 2011, 07:41
Сообщение #270


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Цитата(Палыч @ Dec 3 2011, 10:59) *
Вероятно, это происходит потому, что Вы неверно записали условие. Скорее всего, Вам нужно побитовое ИЛИ заменить на логическое (т.е. || )

Да, я уже понял ошибку и исправил побитное | на логическое &&

Вопрос по EEPROM так и остаётся не освещённым((
Go to the top of the page
 
+Quote Post

21 страниц V  « < 16 17 18 19 20 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th August 2025 - 01:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016