Телескопы покупают здесь


A A A A Автор Тема: Контроллер электрофокусера  (Прочитано 157330 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #780 : 09 Июн 2009 [20:40:47] »
Цитата
принятые байты будут высвечиваться на экране
Проверил, на атмегу слал "1", а приходило "q", лишь изредка приходила таки "1". Похоже проблема все-таки в несоответствии частот. Осциллографом длительность пакета с атмеги где-то около 0.9 мсек.

10-ю минутами позже тупо прибавил 1 к UBRRL
UBRRL = (uint8_t)UART_UBRR_CALC(UART_BAUD_RATE,F_CPU)+1;
Сразу полегчало!  ;D

Еще поправка!
После коррекции UBRRL длительность 1 бита на осцилограмме - 0.1 мсек, без коррекции (при детальном измерении) - 1 бит < 0.1 мсек.

Итоги:  :)
В результате чтения мануала на атмегу16 и западных форумов, было обнаружено, что есть такая фича, как калибровка и есть такой байт OSCCAL, так вот его значение при сбросе контролера устанавливается на дефолтовое, т.е. для 1 МГц
Цитата
Unfortunately atmega after reset always loads into OSCCAL value for 1 MHz. If you use 2,4 or 8 - you should reload OSCCAL manually with proper value.
. Но программно прочитать этот байт для нужной частоты не возможно, посему в программаторе есть закладка "Advanced" (см. скриншот), где можно прочитать этот байт для выбранной частоты и потом его вписать в код.
Так и сделал (добавил первой строкой в main):
OSCCAL = 0xA6;
Всё, usart заработал!
« Последнее редактирование: 09 Июн 2009 [23:22:13] от Andrey Prokopovich »
Андрей

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #781 : 10 Июн 2009 [11:08:31] »
При попытке скомпилировать с ONE_WIRE компилятор ругается на
D:\WinAVR\projects\FWF\makeF_at16/../filterwheel2.c:393: undefined reference to `startDS18X20temperature'
D:\WinAVR\projects\FWF\makeF_at16/../filterwheel2.c:413: undefined reference to `readDS18X20temperature'
D:\WinAVR\projects\FWF\makeF_at16/../filterwheel2.c:430: undefined reference to `startDS18X20temperature'
...
Замечено, что filterwheel2.o создается в папке с makefile, не удаляется "Make Clean" и если он остался от предыдущей компиляции с TWO_WIRE, то компиляция с ONE_WIRE проходит успешно, но будет ли оно работать.  ;)
Т.е. при запуске компиляции в папке только с makefile (заранее поправленном на -DONE_WIRE) - дает ошибки.
Андрей

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 12 060
  • Благодарностей: 765
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Сообщения от Ivan7enych
    • Астропроекты и астрософт
Re: Контроллер электрофокусера
« Ответ #782 : 10 Июн 2009 [13:39:36] »
При попытке скомпилировать с ONE_WIRE компилятор ругается на
D:\WinAVR\projects\FWF\makeF_at16/../filterwheel2.c:393: undefined reference to `startDS18X20temperature'
D:\WinAVR\projects\FWF\makeF_at16/../filterwheel2.c:413: undefined reference to `readDS18X20temperature'
D:\WinAVR\projects\FWF\makeF_at16/../filterwheel2.c:430: undefined reference to `startDS18X20temperature'
...

функции не находятся
добавь в makefile относящиеся к onewire файлы -

Цитата
# List C source files here. (C dependencies are automatically generated.)
SRC = ../filterwheel2.c ../onewire.c ../ds18x20.c
Видео отчеты мастерской
телескопы - 230мм/4 самодельный ньютон для поездок, Televue NP101is на удаленке, 500мм ньютон в постройке.
Просьбы о ремонте пишите мне в телеграм, не в личку.

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 12 060
  • Благодарностей: 765
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Сообщения от Ivan7enych
    • Астропроекты и астрософт
Re: Контроллер электрофокусера
« Ответ #783 : 10 Июн 2009 [14:04:43] »
OSCCAL = 0xA6;
Всё, usart заработал!

Однако...
Надо будет добавить в схему место для кварца, чтобы избегать подобной фигни.
Видео отчеты мастерской
телескопы - 230мм/4 самодельный ньютон для поездок, Televue NP101is на удаленке, 500мм ньютон в постройке.
Просьбы о ремонте пишите мне в телеграм, не в личку.

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #784 : 10 Июн 2009 [20:30:14] »
функции не находятся
добавь в makefile относящиеся к onewire файлы -
Цитата
# List C source files here. (C dependencies are automatically generated.)
SRC = ../filterwheel2.c ../onewire.c ../ds18x20.c
Ага, спасибо, помогло! Я про onewire.c забыл. Еще дабы избежать двойного объявления можно вынести в makefile "-DMAXSENSORS=4"

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

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #785 : 11 Июн 2009 [01:23:06] »
Еще вопрос: А что Ds1820 датчики поддерживаются?
Да. Виктор (lazyBSD) добавлял поддержку шины 1-WIRE и термометра Ds1820.

Ага, похоже поддержка DS18B20 либо урезана в целях экономии места либо не дописана.  ;)

p.s. Нагуглил и интегрировал поддержку DS18B20 (см. вложение).
Кстати, вот такой девайсег получился, спасибо разработчикам и всем кто причастен к проекту!
« Последнее редактирование: 11 Июн 2009 [10:55:27] от Andrey Prokopovich »
Андрей

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 12 060
  • Благодарностей: 765
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Сообщения от Ivan7enych
    • Астропроекты и астрософт
Re: Контроллер электрофокусера
« Ответ #786 : 11 Июн 2009 [16:39:06] »
p.s. Нагуглил и интегрировал поддержку DS18B20 (см. вложение).
Кстати, вот такой девайсег получился, спасибо разработчикам и всем кто причастен к проекту!


Спасибо, добавлю твои изменения в исходники.

Плату сам разводил? На L6219? с микрошагом?
usb-ком переходник на отдельной платке?
Видео отчеты мастерской
телескопы - 230мм/4 самодельный ньютон для поездок, Televue NP101is на удаленке, 500мм ньютон в постройке.
Просьбы о ремонте пишите мне в телеграм, не в личку.

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #787 : 11 Июн 2009 [22:20:04] »
Плату сам разводил? На L6219? с микрошагом?
usb-ком переходник на отдельной платке?

Да, учитывая, что мне нужна была только реализация фокусера и для биполярного двигателя, а также нужно было вписать в имеющийся корпус, то  разводил в Протеусе (картинка приложена). Драйвер для биполярного шаговика L6219, его пока на плате нет (не доехал еще). В черной термоусадочной трубке белеется выковырянный из шнурка от сотовика переходник на PL2303. ULN2803 оставил на всякий случай, вдруг движок поменяется или поуправлять еще чем-нить захочется.

После того, как плата была изготовлена, обнаружил, что ISP разъем не имеет +5 В, а оно (target voltage) нужно для программаторов для возможности установки ISP частоты. Еще на Reset повесил подтягивающий резистор 4,7к.

Кстати, а можно L6912 пользовать не в микрошаге, а просто в полушаге? Мне-то он нужен только из-за биполярного шаговика, а не из-за необходимости микрошага.
« Последнее редактирование: 11 Июн 2009 [22:22:04] от Andrey Prokopovich »
Андрей

Оффлайн MAKsutik

  • *****
  • Забанен!
  • Сообщений: 1 066
  • Благодарностей: 42
  • Украине - слава!!!
    • Skype - scotland_m
  • Награды Призер конкурса астрофото
    • Сообщения от MAKsutik
    • EQDrive
Re: Контроллер электрофокусера
« Ответ #788 : 12 Июн 2009 [09:25:59] »
Andrey Prokopovich меня заинтересовала ваша идея,я тоже хотел бы пока только использовать фокусер с биполярным двигателем,надобности в колесе фильтров пока нет,да и DS18B20 тож в наличии есть.
Можете выложить прошивку? И мне показалось что индикатор у вас меньше чем 20 символов?

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #789 : 12 Июн 2009 [10:27:07] »
Andrey Prokopovich меня заинтересовала ваша идея,я тоже хотел бы пока только использовать фокусер с биполярным двигателем,надобности в колесе фильтров пока нет,да и DS18B20 тож в наличии есть.
Идея с биполярным двигателем не моя, я исхожу из того, что есть в наличии, а реализация поддержки биполярного двигателя в прошивке "комбайна" принадлежил авторам сей прошивки (читать на сайте Ivan7enych'a). Еще мне колесо фильров в принципе не нужно, т.к. оно имеется в камере, в Вашем случае оно пока не нужно, посему лучше все-таки делать полноценный комбайн, цена вопроса - один разъем 9 пин, зато потом гемора никакого.

Цитата
Можете выложить прошивку?
на сайте Ivan7enych'a всегда свежая прошивка, сам беру оттуда

Цитата
И мне показалось что индикатор у вас меньше чем 20 символов?
Да, меньше - 16х2 (MT16S2H-2). Сначала вообще хотел под 8х2 с красной подсветкой сделать/переделать, но учитывая, что оба были в наличии решил пойти простым путем.
Андрей

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #790 : 12 Июн 2009 [16:01:07] »
Опробовал бутлоадер http://www.siwawi.arubi.uni-kl.de/avr_projects/#avrprog_boot
Работает замечательно!
Установка полностью описана в файле readme.txt. Только вот пока не глянул portmon'ом, что и avrprog и avrdude пытаются коннектится на 19200, провозился несколько часов пробуя сконнектить. Так же понадобилась установка OSCCAL, без калибровки не конектился. Так что рекомендую - можно обновлять прошивку без разборки и без отключения от телескопа, фактически даже удаленно можно обновить прошивку.  ;)
Андрей

Оффлайн MAKsutik

  • *****
  • Забанен!
  • Сообщений: 1 066
  • Благодарностей: 42
  • Украине - слава!!!
    • Skype - scotland_m
  • Награды Призер конкурса астрофото
    • Сообщения от MAKsutik
    • EQDrive
Re: Контроллер электрофокусера
« Ответ #791 : 12 Июн 2009 [16:20:56] »
тоесть я тоже могу подключить дисплей 16х2 не меняя прошивку?
просто такой есть а вот 20х2 надо покупать  :-\

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #792 : 12 Июн 2009 [16:30:22] »
тоесть я тоже могу подключить дисплей 16х2 не меняя прошивку?

Абсолютно верно!
Андрей

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #793 : 12 Июн 2009 [22:38:19] »
Схема с приводом фокусера для биполярных движков.
На L6219 с микрошагом (управляется через Vref1 и Vref2)

Иван, в этой схеме ошибка: 22 нога (comp1) ч-з 1к д.б. соединена с 23 ногой (sense1), а 4-я нога (comp2) - с 3-й (sense2), или в данном случае пофиг?

Собрал по первоначальному варианту, который обсуждали чуть ранее - движок вел себя странно, крутился рывками и неравномерно, переделал на вариант с управлением ч-з Vref - полегчало однозначно! Но греется шаговик очень, даже когда стоит. Скорость маловата, при установке 1000 шагов/сек (?) он их не совершает.
Андрей

andreichk

  • Гость
Re: Контроллер электрофокусера
« Ответ #794 : 13 Июн 2009 [00:00:42] »
шаговик греется, потому что питается переизбыточным током, который вы задаёте значением Vref. Уменьшите его значение на две трети и ничего греться не будет....проверено при использовании этих драйверов в моём старом ГОТО
http://www.starlab.ru/attachment.php?attachmentid=2471&d=1172427149

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #795 : 13 Июн 2009 [00:44:46] »
шаговик греется, потому что питается переизбыточным током, который вы задаёте значением Vref. Уменьшите его значение на две трети и ничего греться не будет....
Манипулируя состояниями входов I0 и I1? Вы про этот вариант?
Андрей

andreichk

  • Гость
Re: Контроллер электрофокусера
« Ответ #796 : 13 Июн 2009 [00:50:29] »
шаговик греется, потому что питается переизбыточным током, который вы задаёте значением Vref. Уменьшите его значение на две трети и ничего греться не будет....
Манипулируя состояниями входов I0 и I1? Вы про этот вариант?
да.Просто обозначьте значение Vref в вашей программе ещё одной переменной напр. Ihold- ток удержания и задавайте его значение от 0 до 1\3 от макс.значения для режима когда мотор не вращается.
« Последнее редактирование: 13 Июн 2009 [01:00:57] от Andreichk »

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #797 : 13 Июн 2009 [09:28:54] »
В прошивке с микрошагом F_Phase_A и F_Phase_B работают по назначению всегда, а током обмоток (от нуля до максимума) управляют выводы 0C1A и 0C1B, в этом управлении и кроются одновременно и микрошаг и уменьшение тока после остановки мотора.

Оно вроде как реализовано в прошивке, но что-то не работает. что должно быть на выходе если установить   OCR1A = 0 и OCR1B = 0, что собственно sleepFMotor() и делает?
Эта "строчка" пишет, что там нули:
lcd_xy(0,1); lcd_write_uint(valA,3); lcd_dat(' ');lcd_write_uint(valB,3);
но на выходах при этом логические 1
Андрей

Онлайн Pavels

  • *****
  • Сообщений: 1 728
  • Благодарностей: 47
    • Skype - pavels001
    • Сообщения от Pavels
Re: Контроллер электрофокусера
« Ответ #798 : 14 Июн 2009 [12:46:45] »
Цитата
Повозился с микрошагом. Так как я не совсем напрямую управляю током, и из-за неравномерности магнитного поля в моторах, простой синус не совсем подходит для микрошагов - шажки получаются то меньше то шире.

Я перенес таблицу микрошагов в EEPROM и сделал ее редактирование без перепрошивки, из программы управления.

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

Галка Inverse нужна для схемы с L6219, когда выходы ШИМ идут на Vref через сглаживающий RC фильтр.
Входы I01 I11 выключат ток если на них +5В, а Vref выключит ток если на нем 0В.

Прошивка и программы там же, на моем сайте.

Иван а прошивки все под микрошаг годятся или какая-то одна,в папке makeWF_at16  в Makefile я про микрошаг ничего не нашёл, а с  дисплеями 20х2 у нас наряжонка.
Исходник последнего микрошага гдето можно посмотреть?
SW 120EDx0.85,SW 80EDx0.85,EQ6 Pro belt mod,QHY12,QHY168M,гид QHY5IIL,,FMC 7х50

Оффлайн Andrey Prokopovich

  • *****
  • Сообщений: 1 432
  • Благодарностей: 19
  • VS-COMPAS (R.I.P.)
    • Instagram: andreiprakapovich
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от Andrey Prokopovich
Re: Контроллер электрофокусера
« Ответ #799 : 14 Июн 2009 [15:07:00] »
шаговик греется, потому что питается переизбыточным током, который вы задаёте значением Vref. Уменьшите его значение на две трети и ничего греться не будет....
Манипулируя состояниями входов I0 и I1? Вы про этот вариант?
да....
Сделал, согласно таблички из даташита управление током ч-з пары I0 и I1. При выполнении wakeupFMotor() устанавливю уровни на L6219, соответствующие 100% току,  а sleepFMotor() - 33%. Движок на удержании 1/3 тока практически не греется.
Андрей