donec

Инструменты Для Разработки И Испытания Систем Зажигания

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

donec    133

Идея темы собрать всевозможные инструменты (имитаторы виртуальные, реальные; ) для облегчения разработки, наладки и испытания самодельных (и не только) систем зажигания. Короче кто чем богат и чего кому не жалко.

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

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


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

Для начала имитатор сигналов ДПКВ.

post-135787-0-75430500-1385755145_thumb.gif

Изменяя фьюз CLKDIV8 можно переключать диапазон частоты выходного сигнала и его плавность изменения.

Для симулятора это так

post-135787-0-14599500-1385755156_thumb.png

Imitator DPKV.rar

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


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

Модель свечи зажигания и распрелелителя, для микрокап 9.

Напр пробоя свечи (распределителя) 17КВ (3КВ), ВАХ искры имеет полочку тлеющего разряда на уровне 1000В (300В) а когда ток превысит 0,13А сопротивление дуги падает в квадратичной зависимости от тока.

Во вложении файлы CIR свечи, распределителя и схемы содержащей их макросы - если её открыть микрокап сама их импортирует.

Если кто знает подскажите где взять ВАХ искрового разряда свечи с детальным описанием и цифрами.

post-148879-0-75396900-1386440833_thumb.png

post-148879-0-94828800-1386441349_thumb.png

Модель свечи и распределителя.rar

post-148879-0-45330000-1386442043_thumb.png

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

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


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

Где программу скачать для открытия файлов.

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


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

MicrоCap 9.0 рус описание есть здесь на сайте. есть целый сайт Российский. Где скачать ищем в поисковике.

Модель на ключах с гистерезисом, которые появились начиная с 9-й версии.

post-148879-0-15214400-1386470847_thumb.png

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

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


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

В прилагаемом архиве - протеусные модели, асмы с хексами разных вариантов имитаторов разных систем для проверки и наладки ДПКВшных входных цепей. Варианты "60-2", "ДНО+ДУИ" под маховик 128зубьев, 114зубьев, 129зубьев, а ля "Рено" - "44-4зуба". Програмки сделаны для P12F675 и P10F206.

Есть где-то "тахоугломер" для статики "ДНО+ДУИ" на двухстрочнике и МК, показывающий УОЗ по каналам. Пользовал когда-то при отладке программ в теме "ФУОЗ+ДПКВ". Найду исходники - выложу. Не супер-пупер девайс, но косяки отловить помог.

IMIT.ZIP

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


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

Проект протеуса 7.10 SP0 для симуляции прошивок на магнитах, сделан на основе FileGenerator, в проекте три файла для этих генераторов, чтоб это работало есть ссылка, последние три поста на этой странице.

Generator.rar

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


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

Собрал имитатор, заработал сразу. Осталось главное, сделать корпус, подобрать разъём и можно пользоваться.

post-29150-0-63803100-1417863609.jpg

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

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


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

Инструмент для проверки. Подключаю к латру обороты от 0-11000. Сделал на скорую руку.

post-156974-0-99689400-1421861900_thumb.jpg

post-156974-0-03417500-1421861917_thumb.jpg

  • Одобряю 2

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


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

Работа прошивки в симуляторе по записанным данным реального Холла. Частота счетчика угломера 1,2МГц, точность от оборотов сами считайте.

На снимке три раза прогазовка на месте, данные с поста 11.

post-135787-0-55718200-1422142631_thumb.png

post-135787-0-23188000-1422142640_thumb.png

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


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

График красного цвета - это обороты в минуту, слева их шкала, график черного цвета - это угол опережения зажигания, по шкале отбрасываем последние два нуля и это будет УОЗ в градусах до ВМТ.

Прошивка _675_130115_Т_0_51Т.

УОЗ 73 градуса.

post-135787-0-32842100-1422203157_thumb.png

Прошивка _675_130115_Т_0_52Т.

УОЗ 95 градусов.

post-135787-0-75003100-1422203789_thumb.png

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

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


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

Да наглядно видно.

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

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


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

Информация на рисунках, с многоискровкой не работает. Запись в файл *.dcc ведется, вывод с файла еще не доделал, будет востребован - доделаю вывод и коррекцию из-за неравномерности вращения коленвала, если нет, то похороним.

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

post-135787-0-60522300-1423169760_thumb.jpg

post-135787-0-02995400-1423169818_thumb.png

post-135787-0-67395900-1423169824_thumb.png

post-135787-0-95028800-1423169830_thumb.png

Takh.rar

takh1.rar

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

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


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

donec как выглядит вся схема. Я понял пока это устройство будет работать с датчиками холла,с ДКПВ будет работать? Будет выходы работать на накопитель?

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


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

Attiny13 - это вся схема.

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

Желательно тини ставить сверху пика и короткими проводами соединить, провода идущие на СОМ порт компа припаять непосредственно на ножки тини, так как если фуоз используется без коммутатора, то лишние помехи могут быть.

С ДПКВ не работает, но если у системы с ДПКВ есть соответствующий выход, то будет, например у меня выход на тахометр - это фактически заменитель ДХ в ВМТ (только в ВМТ нарастающий фронт).

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

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

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


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

Привет всем! Хотелось бы собрать юсб приставку-осцил. к компу для съема первично-вторичных напряжений, кто что юзает? В нете нашел много чего, может ЭТОТ?

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


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

Чем прошивать будешь. Я такую ещё не прошивал.

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


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

Прошивается МК через обычный компорт или переходник юсб/юарт так как изначально с завода в нем есть загрузчик. Просто окончательно еще не решил что буду собирать, хотелось услышать мнения.

Всем привет! Вот может кому интересно будет.

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


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

Всем привет!

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

post-71758-0-26874500-1451844867_thumb.gif

Программа контролика двухрежимная.

1). При подтянутом к +5В пине 4 МК программа считывает период полуоборота коленвала как по спаду, так и по нарастанию сигнала на входе "REF". Смена уровня должна происходить строго в ВМТ и НМТ. По спаду на входе "FUOZ" программа определяет и расчитывает угол опережения зажигания. При низком уровне на входе "REF" - для одного канала, при высоком уровне на входе "REF" - для другого канала искрения. Естественно, за оборот коленвала на входе "FUOZ" должно состояться два спада. На графиках менеджера УОЗ для каждого из каналов выводится кривыми разного цвета и на два разных прибора на вкладке "приборы". Этот режим актуален для 2-канальных ФУОЗов из темы "ФУОЗ+ДПКВ".

2). При замкнутом на "корпус" пине 4 МК программа считывает период между спадами на входе "REF". Спады на этом входе должны происходить два раза за оборот коленвала и строго в ВМТ и НМТ. По спадам (так же два раза за оборот коленвала) на входе "FUOZ" программа определяет и расчитывает УОЗ. Но вывод ведётся только в один график и на один прибор. Актуально для трамблёрного зажигания или при использовании магнитов на шкиву.

В обоих случаях программа выводит на графики обороты (от 450об/мин и выше) кривой красного цвета в прямом формате. УОЗ выводится на графики кривыми зелёного и розового цветов в условных единицах. Значения вертикальной оси нужно разделить на 100 и умножить на 0,351, получим градусы УОЗ. Максимальный измеряемый УОЗ =254*0,351=89,154грд. Во 2-м режиме на график выводится только одна кривая УОЗ. Вывод в этом режиме на графики и на приборы я не пробовал в реале (только в симуле) - не на чем. На приборы УОЗ выводится в формате 0...254. Их показания нужно умножить на 0,351 - получим градусы УОЗ.

МК выстреливает данные в порт со скоростью 57600кб/сек в формате: FFFF (два байта синхронизации)+ХХХХ(два байта периода, менеджером пересчитываются в обороты)+ХХ(байт УОЗ для одного канала)+00(пустые данные, резерв)+ХХ(байт УОЗ для другого канала)+00(резерв)+00(резерв). Связь между МК и ПК по RS232. У меня на нетбуке (ком-портов нет) используется промышленный переходник на PL2303 "USB to COM".

С кварцем указанного на схеме номинала обеспечивается минимум ошибок при передаче данных. Можно применить кварцы вдвое, вчетверо меньшей частоты. Но придётся переделывать прошивку МК, чего мне совсем не хочется.

Архив со схемой, прошивкой МК, ассм-текстом программы МК, менеджером прилагается:

T_U_PC.ZIP

Вот как получилась запись с трамблёра:

post-71758-0-64477900-1451849013_thumb.jpg

Менеджер написал donec для этого девайса. Просто я ему нашёл ещё одно применение, сорри за вольность с моей стороны.

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

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


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

Для начала имитатор сигналов ДПКВ.

post-135787-0-75430500-1385755145_thumb.gif

Изменяя фьюз CLKDIV8 можно переключать диапазон частоты выходного сигнала и его плавность изменения.

Для симулятора это так

post-135787-0-14599500-1385755156_thumb.png

Собрал имитатор, но не совсем понял почему сигнал такой формы.

Хотел использовать для проверки блоков управления, естественно они такой сигнал не воспринимают :(

Жалко что нет исходника прошивки.

Правда я не программист но что нибудь бы смог поправить :)

post-200440-0-97776900-1460735941.png

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: LukaS_St
      Всем привет. Столкнулся с такой проблемой: Пишу программу для устройства мониторинга оборотов двух валов используя датчик холла. Настроил прерывания,  перевод в RPM, все проверил, в .порт отправляются верные значения, и после настройки индикации столкнулся с проблемой неадекватного поведения переменных считающих millis, а после и индикации. В Arduino я не спец, Гляньте на код, может чем помогите. Заранее благодарен.
      #include <EEPROM.h> #define CLOCK 13 //SH_CP #define DATA 11  //DS #define LATCH 10  //ST_CP int numbers[5]; boolean ee = 0; int mh; int hh; int et_mah; int et_shl; int ot_mah; int ot_shl; volatile  int rpm_mah = 0; volatile  int rpm_shl = 0;  int rpmmah_count = 0;  int rpmshl_count = 0; unsigned long lastmillis_mah = 0; unsigned long lastmillis_shl = 0; unsigned long lastmillis_show = 0; unsigned char number[] = {   0b01111110, //0   0b00110000, //1   0b01101101, //2   0b01111001, //3   0b00110011, //4   0b01011011, //5   0b01011111, //6   0b01110000, //7   0b01111111, //8   0b01111011, //9   0b00000001, //-   0b00000000  //тушим индикатор }; void setup() {   Serial.begin(9600);   attachInterrupt(0, rpm_mahovik, FALLING);   attachInterrupt(1, rpm_shluz, FALLING);   pinMode(CLOCK, OUTPUT);   pinMode(DATA, OUTPUT);   pinMode(LATCH, OUTPUT); } void rpm_mahovik() { /* this code will be executed every time the interrupt 0 (pin2) gets low.*/   rpmmah_count++; } void rpm_shluz() { /* this code will be executed every time the interrupt 0 (pin2) gets low.*/   rpmshl_count++; } // чтение //int EEPROM_int_read(int addr) { //  byte raw[2];  // for (byte i = 0; i < 2; i++) raw[i] = EEPROM.read(addr + i);  // int &num = (int&)raw; //  return num; //} // запись //void EEPROM_int_write(int addr, int num) { //  byte raw[2];  // (int&)raw = num;  // for (byte i = 0; i < 2; i++) EEPROM.write(addr + i, raw[i]); //} void show () {   int x;   for (x = 5; x >= 0; x--) {    Serial.print("x= "); Serial.println(x);     //включаем LATCH (Начинаем общение)     digitalWrite(LATCH, LOW);     shiftOut(DATA, CLOCK, LSBFIRST, number[numbers[x]]);     //выключаем LATCH     digitalWrite(LATCH, HIGH);     //отключаем LATCH (чтобы регистр не ждал данных)     digitalWrite(LATCH, HIGH);   } } //void ee_write () {  // EEPROM_int_write(0, mh); //  EEPROM_int_write(2, hh); //  EEPROM_int_write(4, et_mah); //  EEPROM_int_write(6, et_shl); //  EEPROM_int_write(8, ot_mah); //  EEPROM_int_write(10, ot_shl); //} void loop() { //  if ((millis() <= 100) & (ee == 0)) {   //  mh = EEPROM_int_read(0);  //   hh = EEPROM_int_read(2); //    et_mah = EEPROM_int_read(4);  //   et_shl = EEPROM_int_read(6);  //   ot_mah = EEPROM_int_read(8);  //   ot_shl = EEPROM_int_read(10);  //   ee = 1;  // }   if (millis() - lastmillis_mah == 1000) {     detachInterrupt(0);     rpm_mah = rpmmah_count * 60;     rpmmah_count = 0;     lastmillis_mah = millis();     attachInterrupt(0, rpm_mahovik, FALLING);   }   if (millis() - lastmillis_shl == 5000) {     detachInterrupt(1);     rpm_shl = rpmshl_count * 12;     rpmshl_count = 0;     lastmillis_shl = millis();     attachInterrupt(1, rpm_shluz, FALLING);   }   if (millis() - lastmillis_show == 1000) {     numbers[0] = rpm_mah / 1000;     numbers[1] = (rpm_mah % 1000) / 100;     numbers[2] = ((rpm_mah % 1000) % 100) / 10;     numbers[3] = ((rpm_mah % 1000) % 100) % 10;     numbers[4] = rpm_shl / 10;     numbers[5] = rpm_shl % 10;     lastmillis_show = millis();   show(); Serial.print("RPM mah= "); Serial.println (rpm_mah);  Serial.print("RPM shl= "); Serial.println (rpm_shl);   Serial.print("Show millis= "); Serial.println(lastmillis_show); Serial.print("Show mah= "); Serial.println(lastmillis_mah); Serial.print("Show shl= "); Serial.println(lastmillis_shl);   } }
    • Автор: Курдль
      Привет!
      Прошу доподлинно разъяснить мне, как долго биполярные датчики Холла (ДХ)  могут хранить своё состояние без источника питания.
      Подробнее: биполярный датчик переходит из состояния в состояние под воздействием строго определенного магнитного поля, например, в "0" при  прохождение рядом с полюсом "N" и в "1" - рядом с полюсом "S".
      Это известный факт. Но лично для меня было неожиданностью, что они сохраняют это состояние и после выключения источника питания 
      Я думал, что отключил фазу - датчик обнулился. А вот фиг!
      Теперь не знаю, как жЫть дальше! :/
      Т.е. можно ли полагаться на то, что без внешнего воздействия состояние ДХ будет оставаться таким, каким оно было в момент последнего прохождения через магнитное поле?
      Существует ли какое-то "гарантированное время сохранения состояния"?
      Заранее благодарен всем, кто согласиться ткнуть меня носом в моё невежество! 
    • Автор: shtin92
      Ребята подскажите где можно найти некалиброванный датчик холла (ДХК-0.5А)? может где в старой технике использовался гдето выпаять можно?
    • Автор: shtin92
      Ребят доброго времени суток! Подскажите пожалуйста влияет ли площадь датчика холла на чувствительность и получаемое выходное напряжение на вольтметре?Подключаю по такой схеме.Заранее спасибо за помощь!
       
       
       

    • Автор: shtin92
      Добрый день дорогие форумчане! подскажите пожалуйста реально ли сделать датчик холла HALL IC SS495A (марк. 95A) 3pin более чувствительным? или можно датчик собрать самому и сделать его более чувствительным?
  • Сообщения

    • Седня день РВСН. Я не служил, но для вас работал. С праздником, коллеги!
    • Значит не может быть такой защиты? Явный признак неисправности?
    • Продам три кассетницы BOX-ALL на 144 ячейки в каждой с их содержимым. Одна кассетница напихана россыпью резисторов 0603, 0805 и 1206 размеров. А что в остальных лежит, я кину екселевский файл. Также в одной кассетнице лежат конденсаторы размеров 0805 и 1206 с номиналами от 4,7пф до 4,7мк. Цена будет 4500 ру. Причина продажи- у меня огромный шанс войти в новогодние праздники без з/п   На продажу.xls
    • Годы идут а холивары не угасают на эту тему.  Как показала лично моя практика - пока у меня небыли необходимости писать напрямую в регистры без хала, есть конечно некоторые хаки для работы с ДМА и тп которые идут в обход хала но как бы на этом наверное все, все остальное если рассматривать стандартную периферию, все вроде как работает без особых проблем.  В чем реально кайф хала - это то что люди другие воспринимают код гораздо лучше чем набор регистров. Это кардинально меняет работу в команде, когда вы в паре пишите код в одном и том же стиле добавляя нужные вам фишки при этом не мучая друг друга вопросами о том что делает та или иная самописная обертка. Но тут надо тоже понять некоторую вещь - я не программист железа и под железо пишу исключительно под конкретные задачи нашей организации. То есть появляется задача, если я могу ее решить на STM32 я просто беру и накидываю железяку на хале, она запускается и работает и все счастливы. Куб очень облегчает изначальную конфигурацию железа и маппинг портов конечной железки. Это экономит в первую очередь кучу времени и именно эмоциональных затрат на разработку железа. У меня по сути нету времени заниматься железом, я пишу еще на куче других языков типа php Javascript Python мне приходится знать кучу всякой дичи типа фреймворков и тп херни типа SQL особенности баз данных, типа полнотекстовых поисков в Postgresql и еще ОЧЕНЬ ОЧЕНЬ много всякой херни. И вот занимаясь всей этой херней, когда появляется задача сделать что то в железе, я просто беру и делаю это  и с минимальными эмоциональными затратами для себя. А это хотелось бы напомнить для меня это - необходимость изучать дополнительный софт, целый язык программирования СИ, я уж не говорю про минимальный набор знаний для работы с электроникой, разводкой печатных плат и тп.  При всех этих условиях, извините меня грешного, я не собираюсь изучать набор регистров микроконтроллеров, у меня чисто физически подобная необходимость вызывает боль. Оставьте уже ХАЛ в покое. Хал дарит таким людям как я добро и счастье, и приносит в прямом смысле тепло в дома.  По поводу ОС в МК, тут все гораздо проще. Если вы пишите что то линейное, без интерфейса и тп. То ОС не нужна, вам наоборот проще будет прописать весь сценарий линейно и работать с ним не задумываясь о том как он будет работать в ОС. Когда же вы пишите какие то асинхронные штуки, работу с интерфейсом и тп. То тут конечно лучше использовать ОС, если она конечно удовлетворяет вашим требованиям.  Так что если кто хочет просто влится в программирование на STM32 то как по мне лучше просто взять какой нибудь простой камень F0 серии или L0 серии хотя как по мне она немного по сложнее. Например какой нибудь STM32F030K6T6 он и паяется на старте хорошо и выводов под множество задач хватит. Взять ST-Link какой нибудь (для начала ваще не принципиально). Поставить бесплатный кейл + кубМХ и начинать писать параллельно читая документацию на ту или иную периферию.  Иначе же возникает вопрос, вам шашечки или ехать? Если ехать, то уже можно начинать. 
    • Глянь, как выглядит светодиодка на жу10, там в торце 2-4 с/д, а остальные по бокам, толку не будет, до и галогенка от потолка не даст требуемого освещения. Как стол в комнате размещён?
    • У Вас недостаточно условий. Единственное, что можно сказать, что из 3 В пять так получить невозможно. И 9 и 12 ограничить до 5 В тоже не просто.
    • Понятно. А как узнать, какую постоянную мощность они способны выдержать?  Кроме всплесков может быть и некоторое постоянное превышение. Power dissipation on infinite heatsink?