Самодельный конвертер сингала PWM в PPM для регуляторов БК двигателей

cylllka

Только что пролетел 6 кругов по комнате на БК в хвосте, но пришлось руддер вправо давить до конца, нужно добавить немного мощи 😃 Уже приближаюсь к оптимальному значению мощности ХР.
Один нюанс. Величина ограничения мощности будет зависить от типа мотора на хвосте. Если ставить НЕ hexTronic, то придется подбирать другое значение.

RXL

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

RXL

Новая версия для экспериментов.
Это не готовый файл прошивки! Это проект для MPLAB.
Параметры для верчения: CFG_PWM1_SCALE, CFG_PWM2_SCALE, PPM1_OFFSET и PPM2_OFFSET.
Первые два задают шкалу — множитель для преобразования входного сигнала в выходной. Условные 100% — 1630.
Вторые два задают смещение выходного сигнала. При 0% входного сигнала смещение не добавляется. Это нужно для корректной работы ESC.
Не забывайте в MPLAB выбирать свою модель процессора (меню Configure/Select Device).

Vасилич
RXL:

Это проект для MPLAB

А какой версией MPLAB компилировался?
У меня 6.50.00.0
Непонятные ошибки сыпет. На строку с комментарием ругается вот так
Error[108] E:\1.5.1\PWM_TO_PPM.ASM 15 : Illegal character (
)
Сразу скажу, к MPLAB не подходил давно. Очень давно.

Alex71
RXL:

Это проект для MPLAB.

Да, охринеть как заколдована эта программа. Я так и не понял как исходник в ней открыть и собственно редактировать. Пишет что путь не найден, но в то же время при указании пути пишет что такой файл уже открыт. Поэтому у меня просьба, а не могли бы Вы собрать двухканальную прошивку инверсную под ПИК206, ибо прошивкой от 202 не шьется - ругается при верификации.

Открыть открыл. Но чего-то не компилится. Если не сложно скомпильте кто нибудь под 206 инверсную прошивку.

Vасилич
RXL:

Это проект для MPLAB.

Так, последняя версия MPLAB 8.66 слегка оживила проект.
Количество ошибок с 22 уменьшилось до 3. Работаем дальше.

cylllka
Vасилич:

Так, последняя версия MPLAB 8.66 слегка оживила проект.
Количество ошибок с 22 уменьшилось до 3. Работаем дальше.

Я использую 8,63
О что за ошибки? Не открывается проект или не билдится?

RXL
Vасилич:

Так, последняя версия MPLAB 8.66 слегка оживила проект.
Количество ошибок с 22 уменьшилось до 3. Работаем дальше.

Подробнее, пожалуйста. У меня нет ни одной ошибки.

----------------------------------------------------------------------
Debug build of project `T:\tmp\_pic\1.5.1\pwm_to_ppm.mcp' started.
Language tool versions: MPASMWIN.exe v5.39, mplink.exe v4.38, mplib.exe v4.38
Preprocessor symbol `__DEBUG' is defined.
Wed Mar 30 07:37:06 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean Warning: File "T:\tmp\_pic\1.5.1\tmp\pwm_to_ppm.o" doesn't exist.
Clean Warning: File "T:\tmp\_pic\1.5.1\tmp\pwm_to_ppm.err" doesn't exist.
Clean Warning: File "T:\tmp\_pic\1.5.1\out\pwm_to_ppm.lst" doesn't exist.
Clean Warning: File "T:\tmp\_pic\1.5.1\out\pwm_to_ppm.xrf" doesn't exist.
Clean Warning: File "T:\tmp\_pic\1.5.1\out\pwm_to_ppm.cof" doesn't exist.
Clean Warning: File "T:\tmp\_pic\1.5.1\out\pwm_to_ppm.hex" doesn't exist.
Clean Warning: File "T:\tmp\_pic\1.5.1\out\pwm_to_ppm.map" doesn't exist.
Clean: Deleted file "T:\tmp\_pic\1.5.1\pwm_to_ppm.mcs".
Clean: Done.
Executing: "C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe" /q /p10F202 "pwm_to_ppm.asm" /l"out\pwm_to_ppm.lst" /e"tmp\pwm_to_ppm.err" /o"tmp\pwm_to_ppm.o" /d__DEBUG=1 /rDEC /x"out\pwm_to_ppm.xrf" /aINHX8M
Executing: "C:\Program Files (x86)\Microchip\MPASM Suite\mplink.exe" /p10F202 -g "..\tmp\pwm_to_ppm.o" /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /m"pwm_to_ppm.map" /w /o"pwm_to_ppm.cof"
MPLINK 4.38, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Errors    : 0

MP2HEX 4.38, COFF to HEX File Converter
Copyright (c) 1998-2010 Microchip Technology Inc.
Errors    : 0

Loaded T:\tmp\_pic\1.5.1\out\pwm_to_ppm.cof.
----------------------------------------------------------------------
Debug build of project `T:\tmp\_pic\1.5.1\pwm_to_ppm.mcp' succeeded.
Language tool versions: MPASMWIN.exe v5.39, mplink.exe v4.38, mplib.exe v4.38
Preprocessor symbol `__DEBUG' is defined.
Wed Mar 30 07:37:08 2011
----------------------------------------------------------------------
BUILD SUCCEEDED

У меня версия MPLAB 8.63. Версии инструментов видны в логе.

Кстати, ничего не мешает создать новый проект, перенести в него только asm-файл, указать модель процессора и собрать.

Ужасное на этом форуме управление вложениями. Аж две минуты потребовалось, чтобы разобраться. 😦

Вот, собрал под 206 инверсную. Но предупреждаю, что на 204 и 206 чипах не тестировалось.

pwm_to_ppm-RXL-1.5.1-206i.zip

casper82

Ура. 202 пики появились в городу. сегодня куплю и буду пробовать делать.
как программатор из недорогих посоветуете? желательно либо с USB, либо которые работают с переходником USB- COM (в основном это делаю на ноутбуке, а ком порта честного нету).

RXL

Из наиболее дешевых - PICkit2.

Полно схем, которые можно собрать за три копейки на коленке. Правда, работают они, в основном, с последовательным портом.

Vасилич
RXL:

Подробнее, пожалуйста. У меня нет ни одной ошибки.

Спасибо, всё заработало. Не ту кнопочку вдавил.
В версии 8.66 MPASM обновился до 5.4

Alex71
RXL:

Вот, собрал под 206 инверсную. Но предупреждаю, что на 204 и 206 чипах не тестировалось.

Спасибо. Я то же собрал, оказывается что MPLAB не очень дружит с русской виндой. А скажите я правильно понял, что для инверсии PWM там надо 1 ставить, при этом PPM должен быть 0?

RXL

Да. Там все по-русски написано — не на программерском диалекте 😉

У меня под русской XP 64 работает. Проблем нет.

Для формирования прошивке я выбираю в контекстном меню проекта “Build all” (собрать все).

casper82

вопрос - купил пики, но исполнение оказалось не sot , а 8Pin DFN. может кто подсажет как их паять?

cylllka

Я пользуюсь PICkit2, очень доволен, идет со своим микрочиповским софтом.

При работе с MPLAB папки с файлами нужно называть на латиницей, т.к. кирилицу не понимает. Если в исходнике вместо русского языка видно каракули,то нужно в винде сменить системный язык.

Vасилич
casper82:

не sot , а 8Pin DFN. может кто подсажет как их паять?

Там сбоку должна быть видна медь. Можно к ней подпаяться.
А вообще эти корпуса предназначены для пайки на пасту.

casper82
Vасилич:

Там сбоку должна быть видна медь. Можно к ней подпаяться.
А вообще эти корпуса предназначены для пайки на пасту.

медь видна. ладно, буду пробовать… так и нету в городе в наличии ни в дип, ди в сот исполнении
((

Fishka

Здравствуйте!
А у кого-то все же получилось без танцев с бубном с помощью программатора из начала схемы (через ком-порт) прошить?
А то при попытке прошить…платка определяется как JDM programmer, а тип микрухи не определяет. при этом можно запустить режим прошивки, но в конце выдает сообщение,что верификация не удачна. при проверки на запись - выдает,что устройство пустое.
схему уже трижды проверил. питание 5В - идет с лабораторного источника. Последовательность включения:1)подключаю программатор с микрухой к ком порту 2)запускаю PICPgm; 3)подаю 5 В. 4)жамкаю определить программатор - находит 5) авоматом чип не определяет - задаю вручную (pic10f202).6) прошиваю 7)микруха шьется,но в итоге оказывается пустой.
Может ей кроме 5В еще где-то напряжения не хватает для прошивки. Если кто-то удачно прошил с помощью данной схемы - можете замерить и написать напряжения на остальных лапках микрухи относительно “земли” (Vss) после соединения с компом и поданным питанием 5В.
Ссылку на форум в начале темы смотрел - там описана аналогичная ситуация, но вот ее решения там не нашел.

Alex71
RXL:

ам все по-русски написано — не на программерском диалекте

Ну да, и все же а вдруг.

cylllka:

При работе с MPLAB папки с файлами нужно называть на латиницей, т.к. кирилицу не понимает. Если в исходнике вместо русского языка видно каракули,то нужно в винде сменить системный язык.

Так оно и есть. Только вот вопрос как это Сменить системный язык - англ. дистрибутив поставить? Я извиняюсь, просто давно с виндой не работал, у меня на Маке это просто - перетащил Язык на верх и вуаля.

Fishka:

А у кого-то все же получилось без танцев с бубном с помощью программатора из начала схемы (через ком-порт) прошить?

Все отлично шьется. Нужен железный ком-порт (USB-переходник не шьет - напряжение 5 В), на 3 -ей ноге ком-порта должно быть 9 Вальтов при включенном режиме программирования. Вместо резистора 10 к я поставил 5 к. Пик выбираем вручную, прошивка должна быть строго под этот ПИК. Я прошил таким макаром (старая мамка+хард+БП) 202 - проверил по осциллографу работает, 200 и 206 то же прошил но еще не проверял ибо моторчики и регули уже покинули город-герой ГонгКонг и летят в Россию.

cylllka
Alex71:

Только вот вопрос как это Сменить системный язык - англ. дистрибутив поставить? Я извиняюсь, просто давно с виндой не работал, у меня на Маке это просто - перетащил Язык на верх и вуаля.

Вот здесь нужно поставить русский язык. Тода во многих случаях пропадут каракули в винде. Пуск, панель управления и далее по картинке. Финда может быть русская

_________________________________________

З.ы. Есть инфа, что уже удачно запущен двигатель с платой Blade mSR 😉 Скоро сам владелец мессера отпишется.

Babay
Alex71:

Все отлично шьется. Нужен железный ком-порт (USB-переходник не шьет - напряжение 5 В), на 3 -ей ноге ком-порта должно быть 9 Вальтов при включенном режиме программирования. Вместо резистора 10 к я поставил 5 к. Пик выбираем вручную, прошивка должна быть строго под этот ПИК. Я прошил таким макаром (старая мамка+хард+БП) 202 - проверил по осциллографу работает.

У меня не получилось прошить по схеме из начала темы. Поставил резистор 4.7K вместо 10K, ибо с ним не работало. А с этим хоть пробует шить. Вот вывод:
# ./picpgm -port /dev/ttyS0 -p ./pwm_to_ppm-RXL-1.3.0-202i.hex -pic PIC10F202

PIC Development Programmer Version 2.5.0.7
www.members.aon.at/electronics/pic/picpgm
Copyright 2002-2011 Christian Stadler (ch.stadler@gmx.at)
(built on Jan 29 2011 at 09:48:13)
==================================================================

Autodetecting Programmer …
Error opening port I/O driver!Programmer: JDM Programmer
at /dev/ttyS0

PIC name: PIC10F202
Device ID: No Device ID
Flash: 0 kByte
EEPROM: 0 Byte

Programming Code Memory 0x000001fe
Verifing Code Memory 0x0000013eVerify Error: Code Mem 0x00013E: PIC=0x0FFF Buf=0x0403
Verifing Code Memory 0x00000140Verify Error: Code Mem 0x000140: PIC=0x0FFF Buf=0x036D
Verifing Code Memory 0x00000142Verify Error: Code Mem 0x000142: PIC=0x0FFF Buf=0x034E
Verifing Code Memory 0x00000144Verify Error: Code Mem 0x000144: PIC=0x0FFF Buf=0x0036
Verifing Code Memory 0x00000146Verify Error: Code Mem 0x000146: PIC=0x0FFF Buf=0x02B6
Verifing Code Memory 0x00000148Verify Error: Code Mem 0x000148: PIC=0x0FFF Buf=0x0A10
Verifing Code Memory 0x0000014aVerify Error: Code Mem 0x00014A: PIC=0x0FFF Buf=0x006D
Verifing Code Memory 0x0000014cVerify Error: Code Mem 0x00014C: PIC=0x0FFF Buf=0x006E
Verifing Code Memory 0x0000014eVerify Error: Code Mem 0x00014E: PIC=0x0FFF Buf=0x006F
Verifing Code Memory 0x00000150Verify Error: Code Mem 0x000150: PIC=0x0FFF Buf=0x006C
Verify Error: Too much errors in Code Mem, giving up!
=> Verify ERROR!
Programming Data Memory 0x00000000
Verifing Data Memory 0x00000000 => Data memory OK!
Programming Config Memory 0x00000002
Verifing Config Memory 0x00000000 => Config memory OK!

time 0.0 seconds!

Ура, прошил! Прошилось вот с такой строкой, отключил верификацию.
# ./picpgm -port /dev/ttyS0 -p ./pwm_to_ppm-RXL-1.3.0-202i.hex -pic PIC10F202 -no_verify

Движок UF8C03 завелся!