реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> KMA200, Помогите документацией.
evhen
сообщение Sep 6 2008, 09:04
Сообщение #16





Группа: Новичок
Сообщений: 8
Регистрация: 12-02-08
Пользователь №: 34 993



Цитата(oleh800 @ Sep 5 2008, 14:48) *
исходников на JDM программатор нет.
Я так понимаю пик записывает себе в еепром данные с КМА, а потом с пика можно все проанализировать в компе, и в обратном порядке. Вопрос, а pic16f873 не подойдет у меня их просто несколько валяется или есть свои нюансы. И еще вопрос КМА снятое с датчика прошить можно, нет или только считать?

У меня сделано по-другому. Я читаю и отображаю данные на индикаторе 7х4. От всей системы мне нужно только перевести в цифровой режим. Подойдут любые контроллеры со встроенным SPI, или тогда надо реализовывать программно, но вопрос в частотах. Вообще мне кажеться более удобен контроллер от Amel, т.к. у него разделены модули SPI и RS-232 (как раз для того чтобы сразу общаться с компом, без промежуточной записи в eeprom). Снятое с датчика прошить можно было, по крайней мере я прошивал. Но кто знает как сейчас, может выставили защиты от записи. Если возьмётесь - отпишитесь.
К сожалению, я забросил это и не довёл до конца - всё шьётся, но он теперь не работает ни в каком режиме, но данные в память писать-читать можно. Куплю датчик попробую продолжить. Они когда-то были в сети магазинов Лорд на жд платформе Новогиреево.
Go to the top of the page
 
+Quote Post
Vasily_A
сообщение Sep 6 2008, 13:53
Сообщение #17


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 1-03-05
Из: Калуга, СССР
Пользователь №: 2 957



Цитата(evhen @ Sep 6 2008, 13:04) *
Подойдут любые контроллеры со встроенным SPI, или тогда надо реализовывать программно, но вопрос в частотах. Вообще мне кажеться более удобен контроллер от Amel, т.к. у него разделены модули SPI и RS-232 (как раз для того чтобы сразу общаться с компом, без промежуточной записи в eeprom).

аппаратный SPI там не нужен, проще с программым все делать. посмотри мой С-исходник, на любой камешек можно переделать (в том числе и на пик). на 2051 делал исходя из желания заказчика, они у них применялись тогда, а этот стендик был в нескольких экземплярах.

Цитата(evhen @ Sep 6 2008, 13:04) *
Снятое с датчика прошить можно было, по крайней мере я прошивал. Но кто знает как сейчас, может выставили защиты от записи.
Если возьмётесь - отпишитесь.
К сожалению, я забросил это и не довёл до конца - всё шьётся, но он теперь не работает ни в каком режиме, но данные в память писать-читать можно.

не знаю как сейчас, но раньше датчики обязательно прошивали навсегда, и из изделия (по крайней мере Калужской Автоэлектронники) его использовать повторно было невозможно. хотя могут из за разгильдяства прошивать неправильно smile.gif

<<Если возьмётесь - отпишитесь.>> это к чему относится?
Go to the top of the page
 
+Quote Post
evhen
сообщение Sep 6 2008, 19:36
Сообщение #18





Группа: Новичок
Сообщений: 8
Регистрация: 12-02-08
Пользователь №: 34 993



Цитата(Vasily_A @ Sep 6 2008, 17:53) *
аппаратный SPI там не нужен, проще с программым все делать. посмотри мой С-исходник, на любой камешек можно переделать (в том числе и на пик). на 2051 делал исходя из желания заказчика, они у них применялись тогда, а этот стендик был в нескольких экземплярах.
не знаю как сейчас, но раньше датчики обязательно прошивали навсегда, и из изделия (по крайней мере Калужской Автоэлектронники) его использовать повторно было невозможно. хотя могут из за разгильдяства прошивать неправильно smile.gif

<<Если возьмётесь - отпишитесь.>> это к чему относится?


Просто мне интересно было использовать именно железный SPI. Про содержимое бита защиты - в самых первых сообщениях топика. "Отпишитесь" - это к тому, что я видимо угробил датчик - тоже описано в моем сообщении выше, т.е. оно прошивается и читается всё правильно, но угол ни в аналоге ни в цифре не выдаёт.
Go to the top of the page
 
+Quote Post
oleh800
сообщение Sep 8 2008, 12:22
Сообщение #19





Группа: Новичок
Сообщений: 4
Регистрация: 4-09-08
Пользователь №: 40 002



Цитата(Vasily_A @ Sep 6 2008, 09:11) *
схема в 5-м сообщении, прошивку и исходник прилагаю. шить в at89c2051 или любой х51 совместимый процик
терминалом на 9600 8n1 цепляемся, и работаем.
виндовая софтина работала теми же командами, но ее я найти пока не смог.

команды смотреть в исходнике...

написано кое-как, но успешно работало (а может и щас работает) на производстве.

Во вложенном файле С требуются следующие библиотеки, которых я так понимаю нет
#include <reg51.h>
#include <port51.h>
я в С не силен, но за алгоритм большое СПС, буду на PIC переводить. Вопрос только во времени, которого всегда нет.
Go to the top of the page
 
+Quote Post
Vasily_A
сообщение Oct 2 2008, 17:08
Сообщение #20


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 1-03-05
Из: Калуга, СССР
Пользователь №: 2 957



Цитата(oleh800 @ Sep 8 2008, 16:22) *
Во вложенном файле С требуются следующие библиотеки, которых я так понимаю нет
#include <reg51.h>
#include <port51.h>
я в С не силен, но за алгоритм большое СПС, буду на PIC переводить. Вопрос только во времени, которого всегда нет.

чудеса интернета - сегодня пришло уведомление о новом ссобщении...

содержание port51.h
------------------------------------------------------
/* P0 */

/* P1 */

/* P2 */

/* P3 */
at 0xB7 sbit P3_7 ;
at 0xB6 sbit P3_6 ;
at 0xB5 sbit P3_5 ;
at 0xB4 sbit P3_4 ;
at 0xB3 sbit P3_3 ;
at 0xB2 sbit P3_2 ;
at 0xB1 sbit P3_1 ;
at 0xB0 sbit P3_0 ;
------------------------------------------------------
reg51.h у меня щас нет, он либах компилятора для х51 на другом компе, но он должен быть в составе любого х51 компилятора.
Go to the top of the page
 
+Quote Post
evhen
сообщение Feb 10 2009, 18:02
Сообщение #21





Группа: Новичок
Сообщений: 8
Регистрация: 12-02-08
Пользователь №: 34 993



Последний новости грустные: в датчиках ДПДЗ теперь используются аналоговые аналоги KMA200 (вроде KMA199).
Go to the top of the page
 
+Quote Post
Cтac
сообщение Sep 15 2009, 06:57
Сообщение #22





Группа: Участник
Сообщений: 10
Регистрация: 27-01-09
Из: Omsk
Пользователь №: 44 032



Народ, не могу перевести KMA200 в командный режим sad.gif

Вроде бы делаю всё по алгоритму из даташита.

Прикрутил к м/к ATMega128 на аппаратный SPI.
MOSI с MISO запараллелены, на время чтения данных с линии DDR_MOSI отключается.

Короче ситуация непонятная, сначала вроде бы заработало, считывались какие-то значения из RAM, а потом всё перестало читаться.

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

Что за чудеса - не понятно.

Может у кого какие грабли при подключении были похожие?
Go to the top of the page
 
+Quote Post
Cтac
сообщение Sep 16 2009, 10:08
Сообщение #23





Группа: Участник
Сообщений: 10
Регистрация: 27-01-09
Из: Omsk
Пользователь №: 44 032



В общем, что удалось выяснить:
из десяти подряд попыток перевести КМА200 в командный режим и считать все 16 адресов RAM удаётся только 1-3раза.

Вот такая примерно непонятная статистика.
Go to the top of the page
 
+Quote Post
Cтac
сообщение Sep 18 2009, 09:12
Сообщение #24





Группа: Участник
Сообщений: 10
Регистрация: 27-01-09
Из: Omsk
Пользователь №: 44 032



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

Но вот только в режиме цифрового выхода с датчика, почему-то, читаются только 0xFF
Go to the top of the page
 
+Quote Post
Cтac
сообщение Sep 22 2009, 09:57
Сообщение #25





Группа: Участник
Сообщений: 10
Регистрация: 27-01-09
Из: Omsk
Пользователь №: 44 032



Цитата(evhen @ Jun 25 2008, 02:54) *
А можно по подробнее про CRC?
Нашёл, что можно вычислять CRC-16 1001 способом... А Каким надо? Калькулятор тут http://www.zorc.breitbandkatze.de/crc.html

CRC датчик считает и записывает себе сам.
Причём условия расчёта CRC16 таковы:
полином=8005h;
начальное значение CRC=0;
биты сдвигаются через регистр ВЛЕВО (то есть старшим вперед);
слова из ячеек RAM начиная с адреса 0x00 двигаются через регистр старшим байтом вперёд.

НО!
Обнаружена интересная особенность:
датчик при одних и тех же значениях всех ячеек RAM может рассчитывать и записывать в EEPROM разные значения CRC16.
Так вот, когда он записал себе неверную CRC16, то работать в нормальном режиме он потом отказывается!!!

И так до тех пор, пока операциями записи EEPROM не добиться установки правильного значения CRC16 (контролируя его после каждого "прожига")
Go to the top of the page
 
+Quote Post
Boris_R
сообщение Oct 16 2009, 18:05
Сообщение #26





Группа: Участник
Сообщений: 4
Регистрация: 16-10-09
Пользователь №: 53 010



Господа, поделитесь, пожалуйста, опытом программирования КМА200. Нигде не могу найти внятной информации. PDF не помогает. Сначала хочу прочитать EEPROM, чтобы случайно не затереть калибровочные константы.
Последовательность действий :
1 вхожу в режим команд (видимо здесь начинаются проблемы),
2 отправляю команду чтения (для первой ячейки – 0001000),
3 читаю 16 бит (1-я ячейка)
Может кто-нибудь опытным путем нашел оптимальное соотношение задержек.
Еще вопрос – как задать угловой диапозон работы датчика? Константы для начальной и конечной угловых точек должны находиться в ячейках 2 и 3, но что туда писать? Как задать напряжение в начальной точке при определенном положении магнита – опытным путем ? Не могу понять smile.gif
Go to the top of the page
 
+Quote Post
kreml
сообщение Oct 25 2009, 14:06
Сообщение #27





Группа: Новичок
Сообщений: 2
Регистрация: 12-02-09
Пользователь №: 44 765



Цитата(Boris_R @ Oct 17 2009, 01:05) *
Господа, поделитесь, пожалуйста, опытом программирования КМА200. Нигде не могу найти внятной информации. PDF не помогает. Сначала хочу прочитать EEPROM, чтобы случайно не затереть калибровочные константы.
Последовательность действий :
1 вхожу в режим команд (видимо здесь начинаются проблемы),
2 отправляю команду чтения (для первой ячейки – 0001000),
3 читаю 16 бит (1-я ячейка)
Может кто-нибудь опытным путем нашел оптимальное соотношение задержек.
Еще вопрос – как задать угловой диапозон работы датчика? Константы для начальной и конечной угловых точек должны находиться в ячейках 2 и 3, но что туда писать? Как задать напряжение в начальной точке при определенном положении магнита – опытным путем ? Не могу понять smile.gif


В этой теме есть схема с прошивкой, 100% работает, сам проверял...
Особенность есть, при аереводе в командный режим, датчик автоматом выходит из него через кажеться 100мс. Чтобы отрубить режим автовыхода надо программировать Ctrl байт датчика. В той прошивке есть команда init, по ней датчик прошивается на spi и отрубается автовыход из ком. режима, после чего можно уже спокойно в ручном режиме переводить датчик в ком. режим, читать писать озу программировать пзу...
По поводу углов, а что там непонятно? в пдфке даже формула приведена для расчета значений этий байтов.
Ну например если нужен диапазон в 60 град: ang_rng[byte_03] = 60/0.00275 = 21818 [553Ah]

Сообщение отредактировал kreml - Oct 25 2009, 14:12
Go to the top of the page
 
+Quote Post
Boris_R
сообщение Oct 25 2009, 19:45
Сообщение #28





Группа: Участник
Сообщений: 4
Регистрация: 16-10-09
Пользователь №: 53 010



Цитата(kreml @ Oct 25 2009, 17:06) *
В этой теме есть схема с прошивкой, 100% работает, сам проверял...
Особенность есть, при аереводе в командный режим, датчик автоматом выходит из него через кажеться 100мс. Чтобы отрубить режим автовыхода надо программировать Ctrl байт датчика. В той прошивке есть команда init, по ней датчик прошивается на spi и отрубается автовыход из ком. режима, после чего можно уже спокойно в ручном режиме переводить датчик в ком. режим, читать писать озу программировать пзу...
По поводу углов, а что там непонятно? в пдфке даже формула приведена для расчета значений этий байтов.
Ну например если нужен диапазон в 60 град: ang_rng[byte_03] = 60/0.00275 = 21818 [553Ah]


Нужно реализовать на аппаратном SPI, PIC16F876A, информацию вывожу на ЖКИ. Прогу cмотрел, но извините, в С не силен. C процедурой инициализации там просто:
1 задержка после включения 250 мС,
2 DATA_=1, CLK_=0, CS_=1,
3 вкл. питания,
4 пауза 10 мС,
5 CLK_=1;
6 пауза 5 мС,
Не разобрался для чего процедуры: void read_ee(void), start_ee(void), start_ram(void). Насколько я понял, по PDF, чтобы прочитать ячейку: CS=0, отправляем байт адреса, CS=1,пауза 1 мс, затем CS=0, читаем 2 байта, CS=1. Отправляю адрес, PIC возвращает по шине этот-же байт; или инициализации нет, или я с протоколом не разобрался. По поводу 100 мС –разве этого не достаточно, чтобы прочитать память? До углов поворота еще не добрался.
Go to the top of the page
 
+Quote Post
kreml
сообщение Oct 26 2009, 11:01
Сообщение #29





Группа: Новичок
Сообщений: 2
Регистрация: 12-02-09
Пользователь №: 44 765



Цитата(Boris_R @ Oct 26 2009, 02:45) *
Нужно реализовать на аппаратном SPI, PIC16F876A, информацию вывожу на ЖКИ. Прогу cмотрел, но извините, в С не силен. C процедурой инициализации там просто:
1 задержка после включения 250 мС,
2 DATA_=1, CLK_=0, CS_=1,
3 вкл. питания,
4 пауза 10 мС,
5 CLK_=1;
6 пауза 5 мС,
Не разобрался для чего процедуры: void read_ee(void), start_ee(void), start_ram(void). Насколько я понял, по PDF, чтобы прочитать ячейку: CS=0, отправляем байт адреса, CS=1,пауза 1 мс, затем CS=0, читаем 2 байта, CS=1. Отправляю адрес, PIC возвращает по шине этот-же байт; или инициализации нет, или я с протоколом не разобрался. По поводу 100 мС –разве этого не достаточно, чтобы прочитать память? До углов поворота еще не добрался.

read_ee() хз, остальные вроде вообще не используются. По чтению ram, отпралять надо не адрес, а 1n (hex), где n это адрес.
Go to the top of the page
 
+Quote Post
Boris_R
сообщение Nov 1 2009, 19:34
Сообщение #30





Группа: Участник
Сообщений: 4
Регистрация: 16-10-09
Пользователь №: 53 010



Разобрался с чтением памяти КМА200.Хочу поделиться опытом.Информацию вывожу на ЖКИ, кнопкой на одном из портов просто "листаю" ячейки КМА,PIC16F876A, аппаратный SPI.Прилагаю часть программы где показаны инициализация и чтение ячейки. Пока не удается записать данные в память КМА.Кто разобрался с записью,поделитесь информацием.

Сообщение отредактировал Boris_R - Nov 1 2009, 19:44
Прикрепленные файлы
Прикрепленный файл  Read_KMA.txt ( 3.9 килобайт ) Кол-во скачиваний: 259
 
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 00:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.02168 секунд с 7
ELECTRONIX ©2004-2016