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

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 завелся!