| Автор |
Съобщение |
|
vlai4o
Ранг: Минаващ
Регистриран на: Пон Юли 21, 2008 4:03 pm Мнения: 14
|
 оборотомер за кола
имам конкретен въпрос свързан с направата на оборотомер за автомобил. Започвам с това каква ми е идеята ... Взимам импулс от свещта. Настройвам си един таимер да мери времето между фронтовете на импулсите ( с някакво си външно прекъсване) и оттам имам Т (периода).настройвам си прескалера на таймера на 1024 (забравих да кажа че контролерчето е 8бит риск и работи на 1МHz "примерно"). Та тук вече ми е проблемната част, как да извърша следващите изчисления .
(60/(Prescaler * Timer_byte)) * 1000000 * 2
Timer_byte - това е стойносста до която е стигнал таймера докато изтече Т
Надявам се някой да помогне по въпроса. Ще се радвам и на някакъв код на асемблер, поне като идея само. не съм правил такива пресмятания и чесно казано незнам изобщо как стават. и някой сайт дори с подобни изчисления може да помогне. Ще съм благодарен на всеки който може да помогне а знам , че тук има кой ... а също така ако не ми е добра идеята приемам и други предложения 
|
| Пон Мар 01, 2010 1:59 am |
|
 |
|
Koleto
Ранг: Форумен бог
Регистриран на: Съб Фев 18, 2006 11:55 pm Мнения: 1301 Местоположение: София
|
Хайде подай още малко информация... Явно става въпрос за бензинов двигател, щом говориш за сигнал от свещи... освен това допускам, че става въпрос и за 4-ри тактов двигател (трабанта и вартбурга не ги броя за автомобили-дано не засегна някой)... Ама колко цилиндров... И защо ти е да мериш времето между два импулса на една свещ? Бих те посъветвал да си вземеш сигнала от централиния високоволтов кабел на бобината... Според броя цилиндри си определяш колко импулса ще имаш на него за един оборот на коляновия вал (за 4-ри цилиндров 4-ри тактов ще са 2 импулса на оборот)... Броиш тези импулси за половин секунда колко са (може и за една секунда ама незнам дали няма да те дразни опресняване на информацията през секунда)... Делиш полученото на броя импулси за оборот на коляновия вал и умножаваш по 120(или по 60 ако мериш за секунда)... Така получаваш директно об/мин^-1...
_________________ Някой ден и костенурките ще се научат да летят...
|
| Пон Мар 01, 2010 10:18 am |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
|
| Пон Мар 01, 2010 10:21 am |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
Това поредната курсова работа ли е
или твой първи опит да вземеш парите на някой
и при двата случая с някво бегло описание на "риск на 1МХз" нема как да стане
Почни от:
1.Възможни начини за мерене на обороти на двигателя - ако поровиш, ще видиш, че има къде къде по-удобни места да се вържеш за да броиш оборотите.
2.Като си избереш начин -правиш схема на постановката. кое как къде е вързано, какви електрически нива, на кой крак на КОЙ процесор.
3.Блокова схема на програмата... от начална инициализация до подпрограми за броене на обороти, индикация и т.н.
Вече тогава ще имаш помощ и за асемблера и за друго
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Пон Мар 01, 2010 10:22 am |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
може и с чакащ мултивибратор, с много кратка продължителност на импулса. Мултивибраторът се задейства от всеки падащ или нарастващ фронт. Изходния сигнал само го интегрираш (с една RC-верижка), евентуално буферираш и го подаваш на аналогова скала. Това, разбира се, ако те задоволява едно аналогово решение.
|
| Пон Мар 01, 2010 10:24 am |
|
 |
|
Наско
Ранг: Популярен
Регистриран на: Нед Апр 26, 2009 2:24 pm Мнения: 398
|
 |  |  |  | MYXATA написа: Това поредната курсова работа ли е  или твой първи опит да вземеш парите на някой  и при двата случая с някво бегло описание на "риск на 1МХз" нема как да стане Почни от: 1.Възможни начини за мерене на обороти на двигателя - ако поровиш, ще видиш, че има къде къде по-удобни места да се вържеш за да броиш оборотите. 2.Като си избереш начин -правиш схема на постановката. кое как къде е вързано, какви електрически нива, на кой крак на КОЙ процесор. 3.Блокова схема на програмата... от начална инициализация до подпрограми за броене на обороти, индикация и т.н. Вече тогава ще имаш помощ и за асемблера и за друго |  |  |  |  |
Благодаря от името на питащия за изчерпателния отговор .
Даже на мен ми стана ясно как да реша проблема с тoзи математически израз:
„
(60/(Prescaler * Timer_byte)) * 1000000 * 2 „
И да го реализирам на асемблер .
Моите най сърдечни ..........
|
| Пон Мар 01, 2010 12:34 pm |
|
 |
|
the_electronic_m@n
Ранг: Минаващ
Регистриран на: Пет Окт 05, 2007 8:34 pm Мнения: 76 Местоположение: Русе
|
Виж тук http://www.intera-bg.hit.bg/tuning.html , хората са направили такъв оборотомер. Питай тях как са го направили с изчисленията. Ако не са типичните "дръпнати" може да ти дадат някой съвет.
|
| Пон Мар 01, 2010 1:02 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
И как да ти помогне с въпросния израз на асемблер, като никъде не е казано какъв е процесора, бе? Ако ти го напише за MIPS върши ли ти работа?
Сърдечните си ги задръж и се научете, че на тъп въпрос, малко вероятно е да получиш смислен отговор.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Мар 01, 2010 1:12 pm |
|
 |
|
Наско
Ранг: Популярен
Регистриран на: Нед Апр 26, 2009 2:24 pm Мнения: 398
|
!!!Тъп!!! е отговора .А въпроса е неправилен .
Но въпреки неправилния въпрос ако човек има желание ще намери начин да помогне .
Добри специалисти пишат в този форум .
Лошото е че когато някои аматьор зададе въпрос не получава в помощ повечето случай .
"Ако ти го напише за MIPS върши ли ти работа?"
Ами не знам качи кода ако не те затруднява кажи за какъв чип е и толкоз .
А то ще се разбере дали върши или не върши работа.
|
| Пон Мар 01, 2010 1:36 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
Наско,
преди да почнеш да даваш коментари кое е тъпо и кое не, вземи малко помисли...
от древни времена си е казано на тъп(неясен) въпрос не може да чакаш умен отговор...
Ако си мислиш, че народа ще се изпотрепе да пише код на всякакви процесори докато питащия вземе да си избере някой -> в голяма грешка си
или пък ако очакваш аз да взема да му правя проучването или блоксхемата на програмата ей така за кеф или за гиманстика пак не си познал,
и ето как от конструктивна дискусия въпроса на пишещия се превръща в поредната боза 
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Пон Мар 01, 2010 1:52 pm |
|
 |
|
Наско
Ранг: Популярен
Регистриран на: Нед Апр 26, 2009 2:24 pm Мнения: 398
|
Ако можеш да помогнеш .Помогни!
Ако искаш да помогнеш но не ти е ясно .Оточни нещата и помогни.
Ако мислиш че питащия не ти е на нивото и не заслужава внимание .
Никои не те кара да отговаряш на сила . И темата ще потъне .
Толкоз ли не може да бъдете малко по толерантни към аматьорите.
Процесора в въпроса не се споменава от страх .Защото най вероятно е PIC и место помощ ще бъде оплюван поредния пикоборец. Защото видиш ли калкулатора на PIC бил много зле.  Просто предполагам
|
| Пон Мар 01, 2010 2:30 pm |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
Всеки начинаещ има проблеми, понякога с всичко.
Това е един важен материал:
http://www.catb.org/~esr/faqs/smart-questions.html
Има го на различни езици.Мисля дали да не го преведа и на български.
Даже реконструктора ако го одобри можем да го качим в някоя важна тема.
|
| Пон Мар 01, 2010 3:56 pm |
|
 |
|
nikiforiv
Ранг: Минаващ
Регистриран на: Чет Фев 11, 2010 1:16 pm Мнения: 16
|
Виж тука http://www.cqham.ru/lcmeter3.htm
В този FCL-meter има програмата на асемблер. Вътре има чудесна библиотека за числа с плаваща запетая. От доста години я използвам и съм много доволен.
|
| Пон Мар 01, 2010 6:11 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Еми като го е срам да ползва PIC, да ползва суперскаларни процесори да не му се смеят. Айде стига бе, много срамежливи станаха пикоборците, то верно че Никола страшен, ама чак пък толкоз.... Що пък мен не ме е срам?
Ако става въпрос за PIC и му е трудно да направи аритметиката - най-доброто решение е да я открадне. Всеки C компилатор има аритметика, като в 99% от случаите е писана на асемблер и общо взето е писана достатъчно грамотно. Въпроса е да намери компилатор със сорсове. За PIC18 може да се краде от MPLAB-C18. За по малките - ба ли му мамата тия дето ги ползват да кажат.
Друг е въпроса, че почти всяка непретенциозна сметка (като тая случая) може да се разложи на събиране, умножение и шифтване с някаква достатъчна за целта точност. Плаваща запетая не му трябва, деленето също може да се заобиколи.
(60/(Prescaler * Timer_byte)) * 1000000 * 2 - ако каже какво точно се крие зад магическите промнливи Timer_byte и Prescaler, може да му помогнем да опрости нещата до нещо поносимо.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Мар 01, 2010 6:36 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
Цецо, по сайта на м-чип май някуде имаше мат билбиотеки на асемблер, даже сигурно и за 12-ки и 10-ки има. За 16 и 18 съм 99% сигурен че ги има.
После пък из нета съм намирал доста прилични модулчета - оптимизирани до последния такт. Примерно има 24/16 делене за 400-500 цикъла, 32/16 за 500-550 (не помня точни цифри). Човек като потърси малко, си намира каквото му трябва.
Моят първи опит беше точно с такова нещо - така и не го довърших. Обаче въпроса е наистина куцо зададен.
Колето, не обиждай колите с нечетен брой цилиндри - ще ти изредя няколко автомобили с 3 цилиндрови двигатели : Тико (виждал съм на 1000000 км без ремонт), Dаewoo/Chevrolet Matiz, Opel Corsa (B, C, D), WV Polo/Golf (тука е дизел - между другото много добър двигател). Не ми се изреждат още. Аз лично съм с Опел 3 цилиндъра.
|
| Пон Мар 01, 2010 10:37 pm |
|
|