PDA

Просмотр полной версии : Написать программку



vigor53
28.09.2014, 22:43
Ребята - есть ли кто на форуме кто занимается написанием программ
для PIC или MEGA ?
Надо для модели парусника

serg5791
29.09.2014, 11:42
Опишите задачку. Может уже есть готовое решение.
Еще.
Для микроконтролеров Atmel серий mega168/328 есть среда разработки Arduino, в которой предусмотрены библиотеки кодов под сервоприводы.
Многие вещи написать несложно. Немного знаком с это средой. Могу попробывать помочь. Много примеров, например http://cxem.net/arduino/arduino4.php
Наличие в подаже множества миниатюрных плат Ардуино (например http://ledplus.com.ua/p23673793-plata-arduino-nano.html), позволяет сэкономить время на изготовления платы и сразу приступить к попыткам программирования.

vigor53
29.09.2014, 16:36
Ну вот не в курсе по Адруино ! ;0
А задача такая -
Делается корабль ( парусник готово 50%) - и надо стрелять из пушек
На борту предполагается от 6 - до 16 орудий
Надо !- включать по очереди 1----- 8 (16) - ключи на полевиках
Если подаем 2 мс - с пульта - каждый раз включается ОДНА пушка - импульс держится на выходе МС пока не убрал стик в "0"
Следующий импульс поджигает вторую - и так далее
ПЛЮС ! - есть ДВА борта
Так вот - при подаче 2мс - работает дополнительно вывод МС - для подачи + на (к примеру) - правый борт
При подаче 1мс - работает ЛЕВЫЙ борт
То есть - выходы поджига для всех одни ---- а определение ПРВ -ЛЕВ - 2 выхода
ТЗ - при 0 - ( 1,5мс ) - ничего не происходит
При 2мс - работаем на право
При 1мс - работаем на лево
Зазоры - 1,5 ( 1450 - 1550 )
2мс -- все более 1800
1мс -- все менее 1200

------------------
Пробовал в FLOWCODE - счетчик сделал ,а во как определить длительность ..... :(((

serg5791
29.09.2014, 17:31
Задача понятна. RC switch с последовательной коммутацией каналов. Встречал подобные схемки, правда на меньшее число каналов, на 4 точно видел.
Могу попробывать, только не быстро. Программирую эпизодически и слабовато. Может кто еще поможет?
Для платы Ардуино (нано или мини) цифровые выходы-входы предлагаю назначить:
2 - вход импульса канала от приемника
3,4,5,6,7- левый борт исполнительные устройства
8,9,10,11,12 - правый борт исполнительные устройства.
Итого 10 исполнительных устройств (орудий, ракет) .
В принципе легко еще можно добавить еще пару на цифровые каналы 0, 13.

vigor53
29.09.2014, 18:05
Сергей вот набросал схемку - прототип
В наличии ---- MEGA8(dip) / PIC16F84/16F628 - разные корпуса + mega 324pa
Из этогого - набора прошу исходить
0938528330 - вопросы
Печатку и прочее сделаю сам под свои потребности
Был человек на дизигне - но меня там забанили --- типа несоответствую политике сайта ( или РФ ) ??
Да и хрен с ними .....

ps . ДА ВОТ ЕЩЕ - конкретно не знаю сколько получиться разместить на боту пушек
поэтому ----- возможность корректировать выходы может 6 может 16
то есть перемычками --- 6 -8 - 12 -16( ну это я типа размечтался)
Борта - определяются ТОЛЬКО - наличием управляющего + на соответствующем выходе Л или П
Так будет проще с коммутацией
------------------
Я как бы не новичек - вот Вам для понимания
www.youtube.com/watch?v=EPTZOFF3P5s (http://www.youtube.com/watch?v=EPTZOFF3P5s)
но здесь всего 4 дискр канала в одном
на 12f629
есть исходник - НО на ASMж(((

Вот еще -www.youtube.com/watch?v=IikUI3PkdzE&feature=youtu.be

serg5791
29.09.2014, 20:18
Сергей вот набросал схемку - прототип
В наличии ---- MEGA8(dip) / PIC16F84/16F628 - разные корпуса + mega 324pa
Из этогого - набора прошу исходить
....
По Pic ничем помочь не смогу, ассемблером тоже не владею.
Mega8 или mega 324pa можно попрововать, на них компилятор языка высокого уровня Си.
Теоретически на Mega8 есть 14 чисто цифровых входов выходов и 6 аналоговых- входов+цифровых входов-выходов.
С учетом, что один вход будет занят под сигнал приемника, то число исполнительных устройств физически ограничено 19 .

vigor53
29.09.2014, 21:42
Ну и прекрасно !
2 - на Л - П
И 6-8 на поджиг
Супер будет ...
Да - еще один на возможность реверса выходов - то есть по 0 или 1

imbyaka
30.09.2014, 10:42
Задача понятна. RC switch с последовательной коммутацией каналов. Встречал подобные схемки, правда на меньшее число каналов, на 4 точно видел.
Могу попробывать, только не быстро. Программирую эпизодически и слабовато. Может кто еще поможет?
Для платы Ардуино (нано или мини) цифровые выходы-входы предлагаю назначить:
2 - вход импульса канала от приемника
3,4,5,6,7- левый борт исполнительные устройства
8,9,10,11,12 - правый борт исполнительные устройства.
Итого 10 исполнительных устройств (орудий, ракет) .
В принципе легко еще можно добавить еще пару на цифровые каналы 0, 13.

Аналоговые линии тоже можете использовать как цифровые.

serg5791
30.09.2014, 11:08
Нашел кусок кода для регистрации длительности импульса сервоимпульса. Накидал программку.
Проверил. Четко вылавливает среднее положение джойстика, проверял включением светодиода.
Накидал схемку, если нет платы Ардуино.
В принципе еще добавить немного кода с логикой переключения орудий и будет почти готово.
Пока для первого варианта, для более простого кода ограничил число орудий по 5 на борт.
{Потом можно будет расширить}

vigor53
30.09.2014, 14:27
ОК
Только сделать работу от внутреннего RC - 4MHz
И все таки - 5 орудий и 2 канала -- Л - 2Ms b П - 1ms
Включается пушка - и держит сигнал на выходе пока стик в крайнем положении ( спираль не быстро разогревается) - 1-2 сек
А где HEX ?

serg5791
30.09.2014, 16:39
ОК
Только сделать работу от внутреннего RC - 4MHz
И все таки - 5 орудий и 2 канала -- Л - 2Ms b П - 1ms
Включается пушка - и держит сигнал на выходе пока стик в крайнем положении ( спираль не быстро разогревается) - 1-2 сек
А где HEX ?
Программа еще не дописана, вечером дома, если успею допишу. Выложу тогда hex и код на языке Ардуино.

- - - Добавлено - - -

В ответ на просьбу в личку выложил код воспринимающий сервосигнал со второго пина платы Ардуины и управляющий светодиодом на 13 пине ( стандартный)

- - - Добавлено - - -

Дописал программку и откомпилировал под mega8 c частотой кварца 16 МГц и 4 МГц.
Но использовать без кварца не советую, с RC генератором не слишком точнчо будет мерять импульсы.
Не проверял программку полностью в железе. Только модуль анализа импульса канала с приемника.
Выкладываю исходники и hex.
Надо тестировать и исправлять если будут ошибки. Подправил , перезалил.

vigor53
01.10.2014, 10:49
В Протеусе не запускается
А Адруино у меня нет - исходник просмотреть нечем
Кварц - это лишние детали.
RC внутренний имеет достаточную стабильность

serg5791
01.10.2014, 11:34
В Протеусе не запускается
А Адруино у меня нет - исходник просмотреть нечем
Кварц - это лишние детали.
RC внутренний имеет достаточную стабильность
В архиве switch есть Hex файлы для megа8 с частотой работы 16 и 4 МГц.
Код проверял вроде работает, правда на плате c mega328 специально под него скомпилировав. И немного. Будет время, тогда проверю нормально.
Среда разработки Ардуино свободна доступна для скачивания http://arduino.ru/Arduino_environment и лицензии не требует.
Уроков и примеров по среде вагон.
Код скомпилированный в этой среде будет работать не только на платах Ардуино, но и на просто микроконтролерах АТМЕЛ серий MEGA (8,168,328 и др. )
По сути Ардуино это отладочна плата на Atmel , но с свозможеностью загрузки кода не только через программатор, но и через последовательный интерфейс (COM или USB). Правда за счет отбора памяти под загрузчик уменьшаеться объем памяти под программу.
RC генератор действительно достаточно стабилен, но его значение в каждом конкретном экземпляре чипа отличаеться от номинала в широком диапазоне. Чтобы это компенсировать предусмотрено тестирование на заводе и поправочные константы.
Как привязать константу к программе не знаю.
Поэтому работать будет с RC генератором, но импульс длительноcтью 1500 мкс может мерять не точно (заметно хуже чем в схеме с кварцем).
Проверить схему можно на макетке, вместо ключей с запалами подключить светодиоды с резисторами.
P.S. Фьюзы на Atmele поменять не забудьте. По умолчанию стоит внутрений RC генератор 1 МГц
P.P.S Самодельные запалы из резисторов SMD http://myresearch.company/blog/ignitor/ignitor_ru.phtml

vigor53
01.10.2014, 19:22
Ну если Вы смотрели мое видео - то поняли что я с запалами на ТЫ
( мне не надо одноразовые - я использую свои пушки и ракеты - многократно )
Константы в Меге - как бы ни разу не обсуждались на форумах - то есть все в порядке
Константы - критичны в PIC и то только в серии 12F
Извините - но вот еще и изучать Ардуино - уже здоровья нет :)
У меня так --- если в Протеусе заработало - то и в реале все будет класс !
Из-за разницы крайних точек в пультах разных производителей - частота может меняться от 0,8 до 2,1 мс
Поэтому я в самом начале обозначил ------------
среднее -- 1450 --1550 мс ( НИЧЕГО НЕ РАБОТАЕТ)
Край верхний --- 1800 и БОЛЕЕ
Край нижний 1200 -- и МЕНЕЕ
С Уважением
Виктор

serg5791
01.10.2014, 19:43
Готовой платы под MEga8 или самого чипа нет под рукой чтобы проверить. Изначально забита частота 16 МГц платы с Mega8 в среде разработки Ардуино (под свои отладочные платы). Вроде переделал на 4 МГц .
Если не спешите, по возможности в течении месяца спаяю и проверю именно на Mega8.
Может, кто из коллег на форуме имеет возможность и время проверить код и откомпилировать для Вас под нужную частоту, для контроля.
Вобщем уверен проценто на 90%, что на плате Mega8 c кварцем 16 мгц всебудет работать, на плате без кварца и с другой частотой процент уверености у меня меньше.
Когда проверю сам, тогда будет 100 %.
В архиве Switch, есть код под компилятор arduino, возможно кто то из более опытных коллег поможет.
Алгоритм и значения параметров импульсов стоят по Вашей просьбе.

vigor53
01.10.2014, 20:25
ОК
Время - терпит!
Странно что на форуме как я знаю ( по постам) - есть программисты
Но - народ молчит :(

serg5791
01.10.2014, 22:28
Можно вопрос по Протеус?
В чем ошибка?
Не воспринимает код hex или не работает как надо?
Протеус не изучал.
Покопался в старых запасах хлама и нашел Mega8 в корпусе TQFP на макетке с распаяным разьемом программирования. Припаял светодиод. Включил внутренний RC генератор. Зашил простейшую программу мигалку и убедился, что код все равно получил под 16 мГц, а не под 1 Мгц . Мигает в 16 раз медленее. Хотя как надо изменил в файле makefile изменил частоту на 1 мгц. Чертовщина.
А можете промоделировать в Протеусе с кварцем на 16 МГц?

vigor53
03.10.2014, 18:47
Привет - сдвиги есть ?

serg5791
03.10.2014, 20:25
Привет - сдвиги есть ?
Да.
Переключил внутренний генератор RC на 8 МГц. Исправил в коде ошибки по логике.
Припаял на макетку светодиоды (правда не 10, а всего 4 , надо откуда выдирать или ехать на рынок покупать).Протестировал , вроде заработало.

- - - Добавлено - - -

Вариант прошивки на 10 каналов (2*5) для mega8 c частотой генератора RC 4 МГц.
100 % работает. Задержка на каждый канал 2 секунды. Запрограммировал так , чтобы быстрей было невозможно.
После прохода всего борта, повторное нажатие джойстика в сторону вызывает включение последней пушки на борту.
Проверено на макетке. По результатам проверки для среднего положения диапазон срабатывываания скорректировал на 1400...1600 мкс (вместо 1450...1550 мкс).
С кварцевым тактированием таких проблем не было , с RC тактированием появилось, устранил.
По моему мнению, использование в устройствах измеряющих время, частоту, длительность импульсов для тактирования RC генераторов - это "плохой тон", "дурной вкус'. Одним словом плохо и не рекомендую.
Но, еще раз повторю, все работает.

vigor53
04.10.2014, 19:26
Проверил в Протеусе
Работает - выходы 5/6/11/12/13 - то есть 5 каналов остальное нет
Действительно, последний работает - постоянно при прохождении всего цикла
Это не надо - пусть идет с начала
Работает только по 1мс - - 2мс не реагирует -- при 1,5мс сбрасывается нормально
Задержку (думаю) надо убрать - просто пока держу стик работает
Ставил HEX - 10 каналов
ОПА !
Извиняюсь - работает и остальные каналы
Правда поставил не 2мс - а 1,9мс
Вот теперь - сделать два управляющих выхода на которых будет сигнал при 1мс на одном и 2мс на другом
Возможность реверс выхода 0/1
Обьясню зачем дополнительно два выхода
10 - каналов в этом варианте --- это 10 полевиков ( дорогие )
5 каналов и 2 управляющих выхода --- 7 полевиков ---
-- но в этом случае и при 1мс и при 2мс работают одни выходы , а коммутируются управляющими выходами
Но в принципе - если усложнится - то пусть так
Да вот еще - для пущей надежности срабатывание от 1,2- и меньше , к примеру до 0,8мс
и в другую сторону от 1,8 до 2,2мс
Проверил 1,2мс - не схватывает :(
Дапльнейшая проверка показала - работает 1,0 -- 0,8
------------------------------------------------------------1,8 -- 1,9Ну скажем --- ПОЛУЧИЛОСЬ ! :)))

serg5791
04.10.2014, 21:43
по 2000 мкс мой ляп, подправлю, это легко. (Из куска скачанного в интернете кода ограничение поленился убрать).
Задержку убрать не вопрос.
Каналы будем добавлять, за счет резервных? Если да (будет 16), то придеться переназначить номера выходов орудий правого борта. В коде это элементарно.
Управляющие импульсы (левый- правый борт) добавлю на выходы 2,3 (корпус Dip , PD0, PD1)/
"Возможность реверс выхода 0/1"- не совсем понял , это орудийный выходы или какие? И как включать реверс, установкой джампера на плату?
Хороший источник полевиков в корпусе D2pak - сгоревшая материнская плата от компьютера. На одной под АМД АМ2 насчитал 14 штук:)
Только они плохо выпаюваться, безсвинцовый припой что -ли?
В общем системный администратор -должен быть другом моделиста:) Ему хлама меньше, моделисту элементы на халяву.
Еще как вариант ключи на IRLML2502 , они в розницу по гривне с хвостиком. По току правда в притык. Но по моему 2 ампера на запал должно хватать и размеры миниатюрные.

vigor53
04.10.2014, 22:32
Сережа - супер!
1- оставляем в основе 5 каналов и джампером расширяем до 10 ( подумал что дохрена 16 :)
хотя может вторым джампером 16 -- или как то так.... да за счет резевных
2- реверс либо ждампером либо 1/0 - на какой то порт ( так же можно с количеством каналов) -- реверс на управляющих
пока не определился какие будут - N или P полевики
3- ну полевики не вопрос - просто для упрощения :)

Ну как то - так

vigor53
07.10.2014, 17:57
-- КУ ?

serg5791
07.10.2014, 21:11
Подправил схемку и код.
Убрал задержку, добавил джампер реверса, добавил каналы вывода активного борта.
Пока не сделал обратный перебор при достижении крайних орудий.
Да и толком еще не тестировал

vigor53
07.10.2014, 22:21
Не работает реверс - 28 выход
Сейчас все выходы в 1 при включении - управляющие --- норма (0)- на НИХ нужен реверс
Управляющие работают правильно -- вместе с выходами
Задержка - нормально
Теперь такое -- при подаче 1мс или 2мс - все равно должны работать ОДНИ и те же выходы
Разница только в управляющих
То есть орудия соеденены паралельно - только (+ )подается на разные борта
Перестал работать 6 выход
Вот как то такой рисунок - не соблюдал полевики - но думаю понятно

serg5791
08.10.2014, 13:01
Не работает реверс - 28 выход

Сейчас все выходы в 1 при включении - управляющие --- норма (0)- на НИХ нужен реверс
Управляющие работают правильно -- вместе с выходами
Задержка - нормально
Теперь такое -- при подаче 1мс или 2мс - все равно должны работать ОДНИ и те же выходы
Разница только в управляющих
То есть орудия соеденены паралельно - только (+ )подается на разные борта
Перестал работать 6 выход
Вот как то такой рисунок - не соблюдал полевики - но думаю понятно
Задачу реверса понял не правильно, думал надо инвертировать сигнал на выходы орудий . Исправлю.
Было бы проще ,если бы была хотя бы примитивная блок схема алгоритма работы.
Уберу реверс, по идее, если бы в модели в Протеус (или в железе) стоял бы резистор к шине +5 В и джампер снят (который к земле, на входе мкикросхемы высокое напряжение 1), то реверса не должно было быть на выходах 1...5 орудий левого и правого борта. А с установленым джампером реверс (на входе низкоое напряжение ноль).
Понимаю задачу так с установленым джампером будут переключаться только выходы левого борта (порядок в зависимости от сигала 1800 или 1200 мкс) и выводы сигнализирующие о активной стороне (правый левый борт). Без джампера ,как было.
Правильно?

vigor53
08.10.2014, 13:40
Правильно- так -- подал 1,8мс ----включился выход к примеру 5 и вместе с ним 3
--- подал 1,2мс ------------------------включился -----------------------5 -- но теперь ---2
Вот такой алгоритм
Ставим - ВТОРОЙ джамп - работают еще 5 каналов как продолжение уже задействованных с тем же алгоротмом
Итого 10 каналов - поочереди
В Протеусе как раз я подтянул 28 выход к плюсу и замыкаю на землю - но нет реакции
Теперь надо понять -- включаем ( подаем питание)\с ЗАМКНУТЫМ дж - или без разницы ?
Программа сама определяет в процессе работы ?

serg5791
08.10.2014, 15:17
...
Теперь надо понять -- включаем ( подаем питание)\с ЗАМКНУТЫМ дж - или без разницы ?
Программа сама определяет в процессе работы ?
Нет , программа проверяет наличие джампера только в момент включения питания и начала работы (или после reset). Исправить легко, что бы проверяла все время.
Но нужно ли?
на картинке схемы не увидел резистора подключенного к выводам 28 микросхемы и к плюсу, один провод висит в воздухе или вошел не туда. Ошибка при создании картинки?

vigor53
08.10.2014, 17:45
Просто не сохранил изменения на схеме - R в наличии
джамп -- не критично
Вот что после включения

serg5791
08.10.2014, 20:12
Вариант прошивки пока без джамперов, 5 каналов*2 левый -правый борт.
Переключение каналов по каждому борту 1-2-3-4-5 -4-3-2-1-2....

vigor53
08.10.2014, 21:18
Ну вот , почти то что надо !

serg5791
09.10.2014, 20:13
Вариант с 5_10 каналами *2 (лево-право)
переключение джампером.

vigor53
09.10.2014, 20:55
Какой вывод переключение ?
Понял - 28
То есть реверса на 2-3 нет ?
После включения --первый импульс -2мс включает 5 вывод --- а первый 1мс -- нет ,включается
6 вывод и далее нормально

serg5791
09.10.2014, 21:33
Какой вывод переключение ?
Понял - 28
То есть реверса на 2-3 нет ?
....
абсолютно не понял !
При отсутствии джампера каналы переключает 1_2_3_4_5-4-3-2-1...
При наличии джампера переключает 1-2-3-4-5-6-7-8-9-10-9-8-7-6-5-4-3-2-1... (6-7-8-9-10 орудия правого борта)
Отдельно для левого и правого борта.
Поясняйте с табличками или схемами, что нужно.
Джампер работает!!! Проверял в железе. Джампер должен быть постоянно замкнут или разомкнут.
Светодиоды распаяны не все, но все равно понять вполне достаточно.
P.S. Хрустальный шар для угадывания мыслей давно разбил, а без него не получаеться. Правильная постановка задачи - четкая, понятная, однозначная - это уже на 50% решенная задача.

vigor53
09.10.2014, 22:28
Поясняю
Все работает - нормально
Джампер на 28 выводе переключает КОЛИЧЕСТВО каналов ( 5/10)
Чем переключается реверс на 2/3 - выводе ? ( или пока его нет ?)
При включении устройства , после подачи ПЕРВОГО импульса 2мс - работает все по порядку 1-2-3-4-5 -4-3-2-1
после подачи ПЕРВОГО импулься 1мс - работает 2-3-4-5-4-3-2
То есть 1( 5 - вывод МС ) - не работает начинает со 2го ( 6 вывод МС )
и не нужен никакой шар

На днях все соберу в железе

serg5791
09.10.2014, 23:43
Поясняю
Все работает - нормально
Джампер на 28 выводе переключает КОЛИЧЕСТВО каналов ( 5/10)
Чем переключается реверс на 2/3 - выводе ? ( или пока его нет ?)
При включении устройства , после подачи ПЕРВОГО импульса 2мс - работает все по порядку 1-2-3-4-5 -4-3-2-1
после подачи ПЕРВОГО импулься 1мс - работает 2-3-4-5-4-3-2
То есть 1( 5 - вывод МС ) - не работает начинает со 2го ( 6 вывод МС )
и не нужен никакой шар

На днях все соберу в железе
Проанализировал программу. Пропуск 1 выводв возможен только если сразу из одного положения 2000 мкс перейти в 1000 мкс минуя (не выпонив 1500 мкс). Завтра исправлю.
С реверсом не понял что нужно?
Сделать джампер на 27 выход и выдавать на 2/3 (признак борта) инверсный сигнал?

vigor53
10.10.2014, 00:15
Именно!
Сережа - СПАСИБО ЗА ТЕРПЕНИЕ :))

есть такой анегдот :
- Звонок -
Доктор - Вы мне клизьму прописали , а что с ней делать ?
--- Наберите воды и вставте себе задницу .....
Хорошо доктор, я Вам позвоню когда у Вас будет хорошее настроение ,,,

serg5791
10.10.2014, 19:52
Та нема за що.
Приходилось пару раз на работе натаскивать молодых специалистов после ВУЗа, то там терпения нужен вагон+тележка.
Потратил очередные 20 минут после работы на программирование-
нашел-исправил ошибочку в переключение каналов и добавил джампер на 27 выход на реверс указателей бортов.
Без джампера как было, с джампером инверсия. Переключение каналов проверил, инверсию не проверял - микросхема в корпусе SMD и макетка некачественная паяная-перепаяная начала разваливаться.

vigor53
10.10.2014, 21:14
Все работает
но - не ловит первый импульс 1мс - сразу включает 2 канал ( 6 вывод)
Может какую-то задержку после включения сделать ?
Или Протеус подсирает.....
Хотя первый 2мс - включает правильно
Непонятка ,,,,,,,
Хотя в обратном порядке когда считает (1мс) - 5-4-3-2-1 все доходит до 1
А после включения первый пропускает :(
Ладно - соберу в реале - пойму
Остальное нормально

serg5791
10.10.2014, 21:53
Все работает
но - не ловит первый импульс 1мс - сразу включает 2 канал ( 6 вывод)
Может какую-то задержку после включения сделать ?
...
В железе работает, но передатчик включаю когда джойстик в среднем положении. Задержка не вопрос, можно включить.
Делал тест, включил, джойстик влево - канал первого орудия- залп, среднее положение, джойстик вправо - канал первого орудия залп.

vigor53
11.10.2014, 00:22
ОК
Я понял
Уберу все со стола ( клеится брига палуба) - и сразу соберу железки
А то все завалено деревом Ж)
Отпишусь
Спасибо

vigor53
31.10.2014, 19:42
Привет Сережа !
Задержка получилась - просто надо иногда в паспорт смотреть - а я все думаю что мне
35 лет - :)
Немного приболел
По вопросу о схеме - надо сделать так чтобы после последнего выстрела переходило на первый -
а не шло взад - то есть НЕ 54321
остальное пока в норме!!!!!!
Собранное на пока ---

serg5791
31.10.2014, 23:42
Привет Сережа !
Задержка получилась - просто надо иногда в паспорт смотреть - а я все думаю что мне
35 лет - :)
Немного приболел
По вопросу о схеме - надо сделать так чтобы после последнего выстрела переходило на первый -
а не шло взад - то есть НЕ 54321
остальное пока в норме!!!!!!
Собранное на пока ---
Выздоравливайте. Красиво выходит. Может когда и я на постройку корабля соберусь, но не плавающего, а в бутылке. Пустая бутылка от Немиров De Luxe уже есть :)
Технология понятна по журналам, но пока морально не готов и другое хобби +работа время сьедают. Да и прототип модели надо поискать.
Завтра попробую прошивку подправить.

- - - Добавлено - - -

Вариант прошивки.
Честно признаюсь, не проверял на макетке.
Перезалил, забыл при компилировании галоку поменять на тип платы с mega8

vigor53
14.11.2014, 18:38
Спасибо Сережа !!!!!!!!!!!!
Все - прекрасно работает !!!
Не часто я с ТАКИМИ ребятами работаю !!
Обычно начинаются - много вопросов - и никакой - реальной практики :(
Сейчас закканчиваю коробль - после швартовных испытаний покажу все стрелякли из пушек !!!

serg5791
15.11.2014, 18:54
Пожалуйста, форум моделистов для того и создан, что бы помогать коллегам похобби.
Хотя, честно надеялся, что кто-то еще поможет.
P.S. Добавлена программная блокировка. Пока из среднего положения не выполнить ход на максимум, потом среднее положение, потом максимум потом среднее положение, потом минимум, потом среднее положение - только тогда блокировка снята скорректированый код выложил, еще не проверял. Если можно проверьте на симуляторе.

serg5791
03.12.2014, 20:27
Для повышения устойчивости сигнал PPM к микроконтролеру mega 8 лучше подключать , как на рисунке. Взято из типовых схем регуляторов.

vigor53
03.12.2014, 20:50
Схема203007

serg5791
03.12.2014, 20:56
Схема...
Схемку в посте выложил для доработки схемы переключалки пушек, скопировать из схемы промышленного регулятора резисторы для уровня амплитуды входного сигнала в исходную схему переключалки-стрелялки пушек. Может повысит устойчиваость от помех.
Нет керамического конденсатора 0.1 мкф после стабилизатора.

vigor53
05.12.2014, 18:28
Печатка - может кому надо
В sprint 5

serg5791
21.12.2014, 21:07
По инициативе автора топика увеличено количество каналов. Прошивка не тестирована. Назначены два новых канала признака борта и ориентированы на значения 1300 и 1700 мкс.
Старые на 1900 и 1100. Естественно есть допуск.
Но , если испольлзовать без кварца, возможно придеться подбирать значения. В регуляторах без кварца ситуацию исправляют калибровкой по мин-макс газу, но тут пока не предусмотрено. В этой версии прошивки блокировки нет.
P.S. В прошивке найдены пара ошибок, устранена, перезалил файл

vigor53
22.12.2014, 21:26
Не - не работает
Вот что после включения204535

serg5791
23.12.2014, 21:40
Переписал код, пока не тестировал.

vigor53
24.12.2014, 10:17
Стало -так

serg5791
24.12.2014, 12:39
Ок достану макетку, и буду тестировать программу по очереди закрывая куски кода (подпрограммы-функции), вылавливать ошибки.
Писать программу без железа неудобно.
Надеюсь вариант работающий прошивки на 20 каналов без блокировки сохранился (v6).:)
Протестировал последний вариант (13) прошивки на макетке. Все работает четко.

serg5791
24.11.2015, 23:17
Обновленный вариант прошивки.
Исправлен чтение импульса управления и режим 40 каналов.

serg5791
01.12.2015, 22:48
По просьбе Виктора вариант прошивки с записью длительности управляющих импульсов в режиме обучения.
Пишет в EEPROM с адреса 0
младший байт длительности импульса выстрел вправо
старший байт числа длительности выстрел вправо
младший байт длительности импульса выстрел влево
старший байт длительности импульса выстрел влево
Естественно числа в 16 системе
допуск +- при работе в 50 мкс

bestofthebest
18.09.2020, 22:44
Ребята - есть ли кто на форуме кто занимается написанием программ
для PIC или MEGA ?
Надо для модели парусника

Знаю ребят, которые занимаются. Если надо могу подсказать. Ловите https://cbt.center/

vigor53
10.06.2021, 14:11
Извините - но тут у нас форум увлеченных !!!
А не - зарабатывающих ....... !!!