БАНо

Catsw

Всё, сегодня я его добью, чего бы мне это не стоило!!! Спасибо друзья за советы, сейчас буду думать, как всё реализовать, и проверю парочку идей!

Catsw

Всё, проблема решена - всё заработало!!! ОГРОМНОЕ СПАСИБО ВСЕМ, помогавшим советами и прочим!!! Без Вашей поддержки я бы не поборол… просто бы забросил!
Проблема с камнем № 1 - неадекватно работающий 13й вывод - при “статических” - т.е. тумблером и прочими медленными методами он переключался, а от импульсов ППМ - НЕТ! Т.е. просто “не видел” их.

Проблема с камнем №2 - выкинут из за игр с фюзами, я тогда не понимал разницы в АБ между “запуск с кристаллом” и “запуск с монитором кристалла” - при втором камень не может работать ВНЕ программы, поэтому я фюзами и игрался, не понимая главного.

Теперь всё в порядке, выжившие камни отлично работают, кстати, совет на будущее - если ситуация с БАНО и небольшим уровнем ППМ у кого то возникает - лечится очень просто - подать питание на 1ю ногу АТтини через 3…4 диода - питание чипа станет меньше, и то, что он раньше считал лог 0 - станет лог 1й 😃 Реально мной проверено - работает отлично!!!

МаркАнтоний

Андрей, то что заработало, это клёва!!! Это получается, что было две проблемы: Одна, неправильно работающий камень. А вторая, прошивали кнопкой Запуск с монитором кристала. Правильно я вас понял? Тогда уберите ещё все токи остановки, это галочки розового цвета.

Catsw
МаркАнтоний:

Андрей, то что заработало, это клёва!!!

И не говорите - сам рад, как Слон, неделю бился 😃

МаркАнтоний:

Правильно я вас понял?

Абсолютно!!!

МаркАнтоний:

Тогда уберите ещё все токи остановки, это галочки розового цвета.

Да, хотя на компиляцию они не влияют, но вид портят 😃

Catsw

Друзья, ещё раз хочу поблагодарить всем, кто помогал побороть мои мучения с битым камнем, дабы не быть только потребителем Вашего времени 😃 😃 серьёзно изменил/дописал программу.
Теперь мы имеем следующий алгоритм:
до 1,2 мс - ничего не горит.
до 1,48 мс - горят огни на крыльях
до 1,84 мс - огни на крыльях + все стробы
выше 1,84 - загорается посадочная фара.

Повесив на крутилку - можем ходить туда/сюда без ограничений.

Исправлены многие логические ошибки, приводившие к разной яркости светодиодов в разных режимах, и ещё много изменений, в общем - всё приведено в нормальный вид.

Все Фьюзы стоят правильно, включена опция прошивки их при программировании, если шьёте через АБ - одним нажатием программируем всё.

ДОПОЛНИТЕЛЬНО:
1е. Сделан “Тестовый” выход для СМД светодиода (буду устанавливать непосредственно на плату) - при наличии сигнала он горит в том случае, если ширина импульса недостаточна для включения какого либо режима работы, но сигнал ППМ есть и стабилен, при увеличении импульса до момента включения первого режима - включается первый режим, а этот светодиод гаснет. При изначальном отсутствии импульсов - он мигает часто и ярко, сигнализируя о неисправности - нет сигнала или проблемы с его уровнем, т.е. сигнал не видим с самого начала, при пропадании ППМ после его (ППМ) наличия ранее - мигает тускло и реже.
Сделан просто для удобства контроля при монтаже и настройке БАНО, в дальнейшем пользы от него не много 😃

2.е Сделан “Аварийный” выход - подключенный к нему светодиод будет мигать в случае, если сигнал ППМ _был_, но пропал (пропали импульсы на входе, (задействован второй таймер)) - так как я летаю ФПВ один раз пришлось в сумерках, перешедших в ночь, искать Куляриса на поле километр на километр, удовольствие ниже среднего + 7 часов времени коту под хвост. Не смотря на наличие приятеля с ещё одним ФПВ самолётом в сумерках по камере уже было ничего не разглядеть, и при поисках очень хотелось бы, что бы на нём хоть что то мигало - оччень бы сократило время поисков. Так что на этот выход я себе 2 светодиода повешу (сверху/снизу) - всё таки сильно увеличит вероятность найти модель в сумерках/темноте при отказе РУ. Тем более, что с помощью пары диодов и например, батарейки от Нокии (1а/ч и 2…3 уе стоимости) можно для “аварийных” светодиодов и самой БАНО очень просто организовать “аварийное” питание, и этот режим будет работать автономно от всей электрики модели, являясь альтернативой поисковым маякам.

П.С. Изначально размах ППМ от сервотестера (2 вольта) был для тиньки недостаточен, поэтому, что бы мне не заморачиватся с увеличением амплитуды ППМ, мной было придумано простое решение - подать питание на тиньку (1й вывод) через 3…4 диода, включённых последовательно, так как её диапазон рабочих напряжений начинается с 2,7 вольта, а уровень лог 1цы = 0,6*Напряжение питания, то при 5 вольтах она хочет 3 вольта как лог 1цу, а при 3х вольтах питания - соответственно уже 1,8 вольта будет для неё уже лог единицей 😃 Просто, надёжно и со вкусом 😃
На яркости светодиодов это никак не отражается, так как она их коммутирует на землю.

Цоколёвка:
1- питание
2-тестовый
3-хвост
4-не используется
5-строб1
6-строб2
7-красный
8-фара
9-фара(рекомендую их запаралелить,если один мощный светодиод/ключ используется
10-красный/зелёный на крыле
11-красный/зелёный на крыле
12-Аварийный
13-вход ППМ (через 2 резистора, как раньше описывалось)
14-земля.

BANO_Emegency_v2_1.rar

Catsw

Немного изменил логику работы таймеров и самой программы, аварийный режим стал более чётко включатся и стабильней работать. Кроме него в очередной раз причесал всё остальное. Появилась ещё одна идея - вместо “аварийных” светодиодов можно повесить “самогенерирующую” “пищалку”, весит очень мало, стоит ещё меньше, так что кому актуальней звук - готовое решение.

Bano_emegency_v2_5.rar

alex57russ
Catsw:

Друзья, ещё раз хочу поблагодарить всем, кто помогал побороть мои мучения с битым камнем, дабы не быть только потребителем Вашего времени 😃 😃 серьёзно изменил/дописал программу.
Теперь мы имеем следующий алгоритм:
до 1,2 мс - ничего не горит.
до 1,48 мс - горят огни на крыльях
до 1,84 мс - огни на крыльях + все стробы
выше 1,84 - загорается посадочная фара.

Повесив на крутилку - можем ходить туда/сюда без ограничений.

Доброго времени суток!
Большая работа проделана, уважаю.😃
А можно увидеть итоговую схемку?

Спасибо.

Catsw
alex57russ:

Доброго времени суток!
Большая работа проделана, уважаю.

Она ещё продолжается 😃 Жалко, у Тинки 24ой свободные ноги закончились раньше, чем память 😃 Памяти там ещё 80% свободно - пиши не хочу…

alex57russ:

А можно увидеть итоговую схемку?

Будет время - нарисую для красоты, а так “базовая” схема (как и прошивка) взята отсюда: rcopen.com/forum/f8/topic144500/74
Изменения: все резисторы на светодиоды 150 ом, т.е. вывод - 150 ом резистор - светодиод(ы). Резисторы ТОЛЬКО по одному на вывод (в отличии от исходной) - после них светодиод(ы) на +5в - т.е. если нужно 2…3 светодиода повесить на один вывод - светодиоды в паралель, потом одним проводом на резистор, от него уже на Тиньку. Резисторы можно ставить где удобно по монтажу - я использую 05 СМД резисторы, но можно и на ноги светодиодов обычные напаивать - дело вкуса. Цепь управления - 13 вывод - без изменений. Т.е. вся схема - 2 резистора на 13м выводе, и по одному на всех остальных, за исключением 1-(+5вольт) 4го-(ресет), 13го-(управление) и 14го-(общий).
При использовании одного мощного светодиода (или ключа управления) как “посадочной фары” - выводы 8 и 9 соединяются после резисторов в один провод.

alex57russ
Catsw:

Будет время - нарисую для красоты, а так “базовая” схема (как и прошивка) взята отсюда: rcopen.com/forum/f8/topic144500/74

Спасибо.
Извеняюсь за глупые вопросы, но судя по схеме для програмирования необходимо подключить определенные ноги на порт (LPT или COM?) так ведь? И еще что за программа используется для прошивки - “АБ”?

Спасибо.

Catsw
alex57russ:

для програмирования необходимо подключить определенные ноги на порт (LPT или COM?) так ведь?

Нужно спаять простейший программатор - несколько резисторов и диодов, что для КОМ, что для ЛПТ. Можете сами в инете поискать, ключевые слова - “программатор пять проводов”

alex57russ:

И еще что за программа используется для прошивки - “АБ”?

Algorithm Builder - удобная, простая графическая оболочка для написания под АТТини, к тому же бесплатная. Кстати, схема на КОМ есть там в хелпе. Если вам не нужны исходники - то вам только НЕКс файл нужен с моего архива ну и программатор. При программировании не забудьте подать питание на неё, программатор этим не занимается 😃

МаркАнтоний

Андрей, могу Вам предложить один хитрый ход по уменьшению количества слов в программе. Вот например в подпрограмме main сначала идут 9 строк, которые зажигают светодиоды, а их можно заменить всего на две: $FC -> PortA $07 -> PortB. По смыслу это одно и тоже. В Вашем случае с момента зажигания первого до момента зажигания последнего светодиода пройдёт более 2-х микросекунд, а в моём случае всего 0,7 микросекунд на зажигание светодиодов в порте А и В. Разница в словах, в Вашем163 , в моём 158 слов, и это только начало, ведь можно всю программу причесать. Я понимаю, что в этой программе это не критично, но ведь задачи бывают разные, а памяти из-за таких мелочей может и нехватить.

Catsw
МаркАнтоний:

Андрей, могу Вам предложить один хитрый ход по уменьшению количества слов в программе.

Огромное спасибо за идею, только правильно просчитаю какие биты нужно поднимать - ИМХО там не все выводы портов используются, вернее - точно не все, я РЕСЕТ не трогал, где то пробегало, что если его использовать - то больше уже нельзя перешить кристал будет.

МаркАнтоний:

Я понимаю, что в этой программе это не критично,

Ага, 80% памяти свободно, а ноги все заняты… Может буду какие ключи ставить - тогда ноги 2…3 освободить точно можно будет.

МаркАнтоний
Catsw:

Огромное спасибо за идею,

Рад что смог хоть чем то помочь.

Catsw:

я РЕСЕТ не трогал, где то пробегало, что если его использовать - то больше уже нельзя перешить кристал будет.

Програмировать можно будеть, но не SPI програматором. Для этого нужен “высоковольтный” програматор, что это такое сам не знаю, тоже слышал. А SPI програматор использует вывод Reset для начала програмирования, организовав на нём низкий уровень. Поэтому советую подтягивать этот вывод через несколько киломчиков на + питания, это не позволит самопроизвольно ресетиться кристалу.

25 days later
МаркАнтоний

Всех с наступившим Новым годом!!!
Понадобилось тут сделать бано, но возникла маленькая проблемка. Не получилось найти Тини24 и было решено переделать программу под Тини2313. За основу была взята прошивка из поста №182. Несколько часов работы и переделка готова! Выкладываю схему и прошивку.
Вот только думаю что лучше не просто через токоограничивающие резисторы диоды включать, а через транзистор. Так как порт контроллера выдерживает максимум 20 мА, а для нормального свечения диода этого может оказаться мало (в итоге кристал будет спален). Кто, что, по этому поводу думает?

BANO_tiny2313.rar

Catsw
МаркАнтоний:

Всех с наступившим Новым годом!!!

Аналогично 😃

МаркАнтоний:

Вот только думаю что лучше не просто через токоограничивающие резисторы диоды включать, а через транзистор. Так как порт контроллера выдерживает максимум 20 мА, а для нормального свечения диода этого может оказаться мало (в итоге кристал будет спален)

Порт 2313 выдерживает 40мА рабочего тока, так что запас там есть:) Не все диоды 40мА выдержат, у многих ток как раз 20мА. И в ПДФке прямо написано - “линии порта имеют мощный буфер и позволяют подключать ЛЕДы напрямую”. ИМХО пока тут озадачиваться не стоит, тогда уже на стабилизатор тока надо озадачится.
А ИМХО для наших целей фразы “The pin driver is strong enough to drive LED displays directly” хватает с головой 😃

Catsw:

“The pin driver is strong enough to drive LED displays directly”

П.С. Перевод этой фразы в Гугле сразу поднял настроение на 5 баллов:) Цитирую “контактный водитель достаточно сильна, чтобы диск светодиодных дисплеев непосредственно”

alex57russ
Catsw:

Цоколёвка:
1- питание
2-тестовый
3-хвост
4-не используется
5-строб1
6-строб2
7-красный
8-фара
9-фара(рекомендую их запаралелить,если один мощный светодиод/ключ используется
10-красный/зелёный на крыле
11-красный/зелёный на крыле
12-Аварийный
13-вход ППМ (через 2 резистора, как раньше описывалось)
14-земля.

А меня интересует такой вопрос:
Строб 1 и Строб 2 куда ставятся на самолете???

Catsw
alex57russ:

Строб 1 и Строб 2 куда ставятся на самолете???

В этой теме уже выкладывали описание: rcopen.com/forum/f8/topic144500/7
Там расписана и диаграмма, и показано, где какой строб должен быть!

7 days later
МаркАнтоний

Всем привет. Задался сделать огни для автомодели на основе Тини2313. Вот только столкнулся с проблемой: у меня не получается считать длительность импульсов с двух каналов (это необходимо чтоб сделать поворотники). А ещё подскажите пожалуйста: импульсы на каналах приёмника начинаются одновременно или сначала проходит импульс на первом канале, потом на втором канале и так далее. Буду благодарен за любую помощь или подсказку!

Catsw
МаркАнтоний:

у меня не получается считать длительность импульсов с двух каналов

Надо второй таймер использовать, но ХЗ как там с прерываниями будет…

МаркАнтоний:

А ещё подскажите пожалуйста: импульсы на каналах приёмника начинаются одновременно или сначала проходит импульс на первом канале, потом на втором канале и так далее.

Именно по очереди, что обусловлено длинной ППМ пакета, поэтому и думаю, что со вторым таймером всё получится 😃 Таймера ставим на 2мс переполнение, ставим оба на 8бит = 255 значений, по подьёму запуск, по спаду останов, смотрим сколько насчитал - знаем длину импульса. Ну как то так в теории…

МаркАнтоний
Catsw:

Именно по очереди, что обусловлено длинной ППМ пакета, поэтому и думаю, что со вторым таймером всё получится

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

V_Alex
МаркАнтоний:

Всем привет. Задался сделать огни для автомодели на основе Тини2313. Вот только столкнулся с проблемой: у меня не получается считать длительность импульсов с двух каналов (это необходимо чтоб сделать поворотники)…

Попробуйте обрабатывать импульсы по очереди. В один 20 мс такт обрабатываете газ, получаете данные для работы стоп-сигналов, во второй 20 мс такт обрабатываете поворот, получаете данные для поворотников. Иллюминация - не сервы, тут Вы этой задержки не заметите.

Catsw
МаркАнтоний:

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

То же верно! Ладно, ждёмс результатов 😃

МаркАнтоний

Получилось считать длительность импульсов независимо по каналам одним таймером. Но возникла другая проблемма: Длительность канального импульса видимо больше 2-х милисекунд и при максемальных отклонениях стиков всё работает неправильно. Я так понял что происходит переполнеие таймера, он обнуляется и в счётном регистре получается ерунда а не действительное значение длительности! Как с этим бороться я пока не разобрался! Может у кого нибудь есть мысли на этот счёт?