Mayder

Самодельное РУ на PIC12f675

17 сообщений в этой теме

Mayder    5

Здравствуйте. Есть желание сделать пропорциональное радиоуправление для модели машинки на пике. Программировать пока не умею, но микры и программатор уже есть. Рассматривал статьи в интернетах, но путевого мало. Нашел хорошую статью на VRTP , все прочитал и запутался в количестве архивов прошивок. Еще нашел схему кодера на сайте ссылка , но здесь только кодер. По данным с других форумов вычитал, что там используется стандартный PPM сигнал (или стандарт!?), а это значит что декодер туда можно подсунуть любой.

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

Если оба РУ сделаны под стандартный протокол, то можно совместить же кодер с сайта и декодер с форума VRTP? Кодер проще второй, а регулятор имеется простой с форума. И есть вообще еще люди, кто могут отозваться о работоспособности этих вариантов? Надеюсь на помощь разбирающихся:rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Mayder    5

@olegtur77 Благодарю за отклик

Регулятор видел по этой ссылке, в оригинале .hex прямо к 675-му пику, приму его к вооружению.

Кодер+декодер - там 683й пик, а его еще достать нужно. Исходники программы написаны на чем то неизвестном, автор сказал что писал на экзотике. Значит с моими знаниями даже лезть туда не стоит, хотя схема заманчивая, простая.

Декодер - тоже видел, отпугнул английский. Декодер вроде подходит для 675 пика, но я не понял (английский не мой конек), вроде нужно удалить в исходнике строчки связанные с другим пиком, но по операторам вроде как расшифровал, что "Используйте pic16f676, иначе pic12f675", вроде и не надо значит ничего редактировать. Канал 5-6 автоматически отпадет если использовать 675й. Используется стандартный PPM сигнал, значит дружит со стандартными сервами, хорошо.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
nibiluk    57

Я делал кодер по второй ссылке на 675-ом пике, работает с любым декодером.

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mayder    5

Благодарю за ответ, значит осталось только уточнить на счет декодера и можно приступать к воплощению в железе

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
olegtur77    37

хекс файлы там для обоих контроллеров, уже ниче ненадо компилить, просто для 675го и 676го разные файлы,

распиновка расписана в .асм, открывать блокнотом

для  16F676(я ставил 630й, работает)

#DEFINE PPM_in     5    ; pin 2   input pulse stream

#DEFINE CH_1     0    ; pin 10  Channel 1 output
#DEFINE CH_2     1    ; pin 9   Channel 2 output
#DEFINE CH_3     2    ; pin 8   Channel 3 output
#DEFINE CH_4     3    ; pin 7   Channel 4 Output
#DEFINE CH_5     4    ; pin 6   Channel 5 Output
#DEFINE CH_6     5    ; pin 5   Channel 6 Output


  для  12F629/75 (ставил 675й работает)

#DEFINE PPM_in     3    ; pin 4   input pulse stream

#DEFINE CH_1     0    ; pin 7   Channel 1 output
#DEFINE CH_2     1    ; pin 6   Channel 2 output
#DEFINE CH_3     2    ; pin 5   Channel 3 output
#DEFINE CH_4     4    ; pin 3   Channel 4 Output
#DEFINE CH_5     5    ; pin 2   CHannel 5 Output

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mayder    5

@olegtur77 сразу не заметил там на странице ссылки для скачивания после первой части статьи. Смотрел только на файлы в конце страницы (невнимательность). В архиве по указанной вами ссылке 12 хексов разных, а к ним блокнот с описанием

Скрытый текст

There are 12(!) different HEX files, to support the various assembly
options. The filenames are coded thus:-

508 = PIC12C508(a) PIC12C509(a)
675 = PIC12F629 or PIC12F675
p = positive shift
n = negative shift
t = throttle arming
j = jr throttle detection


For example, if you want to program a 12F675 with negative shift,
throttle arming and JR throttle detection, use 'rxdec675ntj.HEX'.

и перевод гугла (им я пользуюсь сразу всегда, если сам не могу)

Скрытый текст

Существует 12 (!) Разных файлов HEX для поддержки различных сборок
опции. Имена файлов кодируются таким образом: -

508 = PIC12C508 (a) PIC12C509 (a)
675 = PIC12F629 или PIC12F675
P = положительный сдвиг
N = отрицательный сдвиг
T = включение дроссельной заслонки
J = jr детектирование дроссельной заслонки


Например, если вы хотите запрограммировать 12F675 с отрицательным сдвигом,
Дроссельной заслонки и обнаружения дроссельной заслонки JR, используйте «rxdec675ntj.HEX».

В моем понимании сдвиги- это инвертированный или нормальный входной сигнал (PPM IN)

Про дроссельную заслонку в .асм расписано, но как то тоже кривовато переводится

Скрытый текст

ДРОССЕЛЬНОЕ ВООРУЖЕНИЕ:
При вводе отказоустойчивого газа дроссель вырезается, и он не перезапускается до тех пор, пока не будет обнаружен хороший сигнал, и дроссель будет сброшен вручную. Это должно предотвратить ситуацию, когда помехи, вызванные двигателем, приводят к тому, что декодер многократно повторяет цикл отказов. Чтобы эта функция работала, канал дроссельной заслонки должен быть определен. Futaba и Hitec передают дроссель на канал 3. JR, Airtronics и GWS используют канал 1.
Некоторым ESC необходимо, чтобы дроссель был установлен на максимальном уровне при запуске, возможно, чтобы отключить тормоз или войти в режим программирования. Следовательно, канал 1 обозначается как дроссель, если он измеряет менее 1,3 мс или более 1,7 мс при запуске, в противном случае предполагается канал 3.
Канал дроссельной заслонки принудительно подается на 1.05 мс во время отказоустойчивости, вместо того, чтобы устанавливать его отказоустойчивое значение, в случае, если это значение было полным дросселем!

Вроде это больше для авиа моделей чтоли, под дросселем если подразумевается канал газа. Мне для наземной модели как я понял нужен файл с окончанием 675p.hex без всяких наворотов

И распиновка же вроде в .асм для 675

Скрытый текст

#DEFINE CH_1     0    ; pin 7   Channel 1 output
#DEFINE CH_2     1    ; pin 6   Channel 2 output
#DEFINE CH_3     2    ; pin 5   Channel 3 output
#DEFINE PPM_in     3    ; pin 4   input pulse stream
#DEFINE CH_4     4    ; pin 3   Channel 4 Output
#DEFINE LED     5    ; pin 2   Signal Indicator LED

Немного разнится с вами написанным

Извиняюсь если вопросы сильно глупы, я в этом пока не силен:rolleyes: ( а английский учу при чтении документов и помощи гугла, ибо технический английский что мне преподавали сильно разнится с тем, с чем сейчас столкнулся)

Изменено пользователем Mayder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
olegtur77    37

практически все верно, по "дросселю" - насколько я помню там принцип такой - не выдавать максимальный импульс на выходе 3(точнее канал №3, он идет как канал газа) до тех пор пока на передатчике ручка газа не будет в нуле(т.е. минимум) - это для безопасности, если первым включите приемник или при включении передатчика газ будет не в нулевом положении, что чревато самозапуском модели. В варианте самолета можно крепко пораниться и угробить модель(вариант прошивки с JR).

Изменено пользователем olegtur77
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mayder    5

@olegtur77 Спасибо, вроде теперь разобрался со схемами, мудрежи с каналом газа мне не нужны, правило последовательности включения аппаратуры уже выучил, да и на моей будущей модели это вроде ничем не чревато. Закуплюсь компонентами и буду разбираться как шить с помощью кетайскава пиккит 3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
olegtur77    37

я шил самодельным pickit2, уверен что 3 точно справиться

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mayder    5

да я тож думаю что справится. А по приведенной вами ссылке по регулятору мотора вопрос назрел; регуль вроде как с защитой от чрезмерного разряда батарей задуман? из описания и исходника программы что-то такое на ум пришло, в исходнике приличный участок кода отведен под контроль батареи с вариацией количества банок. Управляется это все дело вроде через 6 ножку мк (GP 1) через делитель с резисторами 10 и 22кОм? Можно как-нибудь отключить эту защиту? а то я еще не определился с источником питания окончательным для модели, планировал питать от 12В блока. Или на это можно забить?:rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mayder    5

Нарисовал схемы кодера, декодера и регуля.

Кодер согласно ссылке Жмяк  ,Согласно усовершенствованию автора добавлены подстроечники, их попробую поменьше купить, а то эти огромные. Три пина слева- для передатчика, воткну пока самый дешевый и наверное самый бородатый китайские передатчик и приемник (комплект на 315Мгц)

Скрытый текст

59501a47374a5_.jpg.825dbc32dfc892bbeb97fda723ea40da.jpg

Декодер по ссылке Жмяк с некоторыми доработками, питание 5В, резистор светодиода 330 Ом и по все выходам поставил токоограничивающие по 300 Ом, вычитал что максимальный ток порта 20мА, с резисторами должен быть не более 16,6мА, вроде запас есть. 4 отдельных пина- для приемника

Скрытый текст

59501b5e3a0ff_.jpg.f4b940e156d16444ce07091c48ae0dc3.jpg

Регулятор по ссылке тык . Плечи моста не симметричные, ибо в одну сторону двигаться будет всяко больше модель, чем в другую, значит на одном плече сэкономим. Мосфеты P и N канальные, в Dpack корпусе(или ТО252, вроде так). Вместо управляющего P-мосфетами полевика воткнул биполярник мелкий(sot23), должно хватить с током коллектора макс 0,15А. Расположение деталей с двух сторон будет, на мосфеты если что удобно будет радиатор приспособить, дорожки может потом еще проводом утолщу, по калькуляторам ширина маловата (раза в два). Резистор на 1кОм не стал оставлять как в исходной схеме, раз на выходе приемника уже стоят токоограничивающие, то счел здесь ненужным еще один (может не прав). И конденсатор по питанию электролит на 100 мкФ, т.к. своего стабилизатора до 5В не предусматриваю на регуле, питание для мк браться будет с приемника, а там уже толстый стаб стоит.

Скрытый текст

59501c3400fb0_.jpg.c1ac9c9a62f771e7021f852a750563d4.jpg

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

Если кого заинтересовало, то вот еще спринт файл плат, там по вкладкам, как в экселе, все три платы. Принципиальные схемы рисовать отдельно лень, все элементы и так подписаны

 

Передатчик.lay6

Изменено пользователем Mayder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mayder    5

Нашел в схеме ошибки, затворы мосфетов забыл притянуть к питанию и базы управляющих транзисторов

Скрытый текст

595124aa872db_.jpg.5a521cdc858feb2e8400bf966f7a7aa6.jpg

 

 

Передатчик.lay6

Изменено пользователем Mayder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mayder    5

Спаял все по приведенным схемам( единственное, в передатчике "+" от источника к подстроечникам перецепил к "+" после стабилизатора 5В) ляпов нету нигде, делал на двухстороннем текстолите, вторая сторона как в качестве экрана. Прошил микроконтроллеры прошивками авторов, из приведенных выше ссылок. Не работает:unsure:. Соединил пока напрямую ножки МК проводом, по которым сигналы на прием/передачу идут, питается все от одного источника(т.е. минус общий). Проверяю обычной микросервой, точно работающей(проверена у друга на ардунье). При подключении питания загорается светодиод на приемнике на пол секунды, и серва дергается столько же. И все, на переменные резисторы(ручки передатчика) не реагирует никак, все каналы в приемнике уже перепробовал

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
olegtur77    37

осцылом на выход кодера смотрели? есть там РРМ-пачка?и какой полярности?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mayder    5

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

Почему то слетела прошивка в декодере и константа калибровочная затерлась, после попыток испытать кодер/декодер. Взял новый МК для декодера, перепрошил кодер и декодер, опять проверил(опять все также, не работает), проверил прошивки- все на месте, читается спокойно, константы на месте.

Питать пытаюсь от 2х 18650 почти полностью заряженных(4,15 В, по некоторым причинам временно заряжаю с ручным контролем вольтажа, поэтому такая точность по мультиметру, мультиметр не гомно). Думаю 78L05 и 7805 нормально понижают до 5 вольт такой напряжение, разница в 3 вольта вроде не мало

Про полярность- попробую зашить декодер с негативным сдвигом (n = negative shift), и/или кодер с инверсным сигналом (coder_675_0_5_50_inv.hex). Про это не подумал почему-то

Изменено пользователем Mayder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
olegtur77    37

Ну раз есть комп, то есть и простенький осцыл.Програмка простая + вход через конденсатор с делителем на вход звуковой карты - этого достаточно что бы увидеть или неувидеть сигнал кодера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: trijdyded
      Всем здравия!
      Появилась нужда в контроле сетевого напряжения - спалил сварочник. Починил, но решил в него всунуть реле защиты. Готовые дороговаты, подумал самому слепить. Нашел схему реле.
      С хозяином схемы списывался, но его уже год нет на сайте - ушел в политику.

      Решил в Протеусе смоделировать.  Заодно и азы поизучать (правда, мозги уже не те). Набросал схему. На ножку 3 подал напряжение с переменника от 5 вольт. Сетевое выпрямленное делится в схеме реле в 100 раз (R5, R7), т.е. на контроллер подается где-то в районе 2...3 вольта. Вместо реле на ножку 2 бросил светодиод D1. Модельку запускаю, моргает только светодиод D6, а D1 молчит. При любом положении переменника ничего не происходит.

      Протеус ошибок не дает, а куда копать не представляю.
      Еще не знаю что значат поля в свойствах контроллера "Program Configuration Word" (там значение 0x3FF4) и ниже "Advanced Properties:"

      Моделька и прошивка:
      AutoMAT_v1.hex
      pic12_ukraina.pdsprj
      Благодарю за помощь.
    • Автор: d_grigor
      Продаю много вертолётов, около 100 штук. Новые, нужна замена АКБ, в некоторых выпала шестерёнка.
      Также могу продать любые отдельные запчасти! 
      Задавайте вопросы!
      Нахожусь в Москве.

    • Автор: 1hitriy
      Купил ребенку детский электромобиль, который проработал три дня. От педали все хорошо работает, а при переключении на управление пультом, руль машинки клинит влево и колеса сами по себе начинают крутится.Подскажите, что может быть, как сделать? Плиз.
       
    • Автор: Дмитрий -
      Моё ноябрьское творчество. ВЧ - модуль приёмника для радиоуправления АМ 27МГц На полевых транзисторах. На основе схемы из книги Днищенко В.А. - Дистанционное управление моделями Подробней http://178654.blogspot.ru/p/27_4.html
       

    • Автор: АлександрONE
      Здравствуйте!
      Столкнулся с проблемой радиоуправляемой машинки, в радиусе 3 метров машинка и иногда теряет сигнал, а далее и вовсе не принимает его. Подключал этот же пульт к другой машинке летает на ура! Пробовал регулировать дросель результат +1 метр, увеличивал длинну антенного кабеля, результат 0. Так же при разборе заметил некоторые изменения, припаян резистор между 1 и 3 ножкой на микросхеме,судя по фото в интернете такой схемы его быть не должно!