|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 6:58 pm
Идея за софтуер за електронен шублер
| Автор |
Съобщение |
|
GTN
Ранг: Популярен
Регистриран на: Пет Яну 26, 2007 5:05 pm Мнения: 310 Местоположение: из България
|
 Идея за софтуер за електронен шублер
Здравейте, имам следното питане. Занимвал съм се малко с ПИК, определено не бих казал че съм специалист, но всякакви по елементарни работи съм си правил с тях - LCD, стъпокови мотори, аларми и подобни.
Скоро си купих цифров шублер. От евтините - китайските. Искам да го включа към един ПИК и от там на LCD. Шублера има възможност да предава измерванията по сериен канал. Използва си негов си протокол. Даните се предават на 2*24бита с честота 90кHz (според данните, а според измерваният на моя 77k)Hz. Първите 24 бита са за абсолютната стойност, а вторите за относителната. Мен ме интересува относителната, т.е. тази която показва след като си натиснал "ZERO" и си измерил нещо. В началото и края на предаването има паузи от около 80мкс, а между двете поредици по 24бита - пауза около 160мкс. Измерванията се предават автоматично (дори и при изключен шублер  ), без заявка, в два режима с честота 3Hz и 30Hz. За начало ще използвам бавния режим защото е по-точен (макар че с тези шублери не може да очакваш невероятна точност  ). Възможно е да се предава и отрицателно число което се кодира с 23 бит, които е за знак, но аз ще ползвам само положителни числа. Евентуално в последствие ще го доусъвършенствам и за отрицателни. Това е като цяло информацията.
А сега въпроса ми.
Заради многото шумове хората препоръчват да се правят по 3 измервания и да се усредни резултата.
Бих бил благодарен на идеи от вида:
- приемането на данните да става с прекъсвание или непрекъснато сканиране на входa където е закачен Clk на шублера
- идеи за това 3но, ако може 5но измерване на всеки бит, или евентуално цифрово филтриране
- други интересни идеи които може да са ми от полза
Вероятно и без помощ ще се справя, но с помоща на опитните колеги от форума мисля че ще науча доста ценни съвети и идеи.
А иначе сигнала шублера съм го включил през два компаратора за да го направят TTL ниво.
Ето и няколко осцилограми за да се визуализират сигналите 
Последна промяна GTN на Съб Фев 17, 2007 4:07 pm, променена общо 1 път
|
| Съб Фев 17, 2007 2:48 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
първо му разбери "неговия протокол" за обмен на данните - от там насетне е по лесно....
|
| Съб Фев 17, 2007 3:27 pm |
|
 |
|
GTN
Ранг: Популярен
Регистриран на: Пет Яну 26, 2007 5:05 pm Мнения: 310 Местоположение: из България
|
[quote="TheWizard"]първо му разбери "неговия протокол" за обмен на данните - от там насетне е по лесно....[/quote]
Това е неговия протокол:
"Даните се предават на 2*24бита с честота 90кHz (според данните, а според измерваният на моя 77k)Hz. Първите 24 бита са за абсолютната стойност, а вторите за относителната. Мен ме интересува относителната, т.е. тази която показва след като си натиснал "ZERO" и си измерил нещо. В началото и края на предаването има паузи от около 80мкс, а между двете поредици по 24бита - пауза около 160мкс."
Разбрал съм го вече. Само забравих да спомена че 1 бит отговаря на 1/20480 от инча ≈ 0,00124мм
Ето пример как става изчилсението:
Нека разгледаме последната картинка, която е за 1,13мм. червените правоъгълници отговарят на лог "1". Шублера изпраща първо наи-младшият бит. В случая изпратеното число е 001010011100000000000000, но тъй-като както казах пържо е наи - младшия бит, то в действителност числото е 1110010100 = 916. делим го на 20480 и умножаваме по 25,4 за да стане в мм=1,136. В ралния софтуер, най-вероятно ще игнорирам най-младшите 3 бита, тъй-като те не оказват реално влияние върху резултат, 1 бит е прибл. 0,001, а точноста на шублера е 0,01, така че ще раделя на 8 цялото число и ще стане по-лесно. Също така моят шублер е до 150мм => 120945 максимално прието число. Т.е 17бит, като го разделя на 8 ще го събера в 8битови клетки.
|
| Съб Фев 17, 2007 4:04 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
честно да си кажа - губи ми се целта на упражнението: само за кеф, искаш да си направиш шублер с индикатор 3х2метра, че да го вижда без очила дори кьоравия майстор в цеха или просто ще мериш 10,000 шийки на валове и трябва да ги паспортизираш всичките?
|
| Съб Фев 17, 2007 9:42 pm |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
Въпроса по-горе е коректен - каква е целта на упражнението.
Аз също имамм подобен шублер, и ми е любопитен протокола му.
Може и да ми свърши работа някой ден.
Многократни измервания и усредняване се правят при аналогови сигнали.
Цифровия сигнал, или го прочиташ, и е верен, или не го прочиташ.
Дай малко обяснения
|
| Нед Фев 18, 2007 2:08 am |
|
 |
|
GTN
Ранг: Популярен
Регистриран на: Пет Яну 26, 2007 5:05 pm Мнения: 310 Местоположение: из България
|
Целта за начало е просто да го подкарам. Просто да видя, че мога. Нямам си някаква спешна цел и задача. Но просто съм решил да се развивам. А само да стоиш и да четеш разни книжки не става. Трябва нещо практическо проектче да си намериш. Ами това е сегашното ми  . В последствие ще си направя устройство - най-вероятно като средство за събиране и обработка на информацията. Правиш 200 измервания на еди си какво, устроиството ги събира. Накрая го закача на СОМ порта и ти ги праща в Excel. Това е едно приложение. Друг вариант, който просто ми идва през ум, е да си направя нещо като машинка за разпробиване на платките, с два шублера да ми прави обратна връзка - отново само за спорта. Виждал съм и по-лесни решения, така че това не е задължително. И трето решение нещо подобно на това: http://www.shumatech.com/dro-350/index.htm
А относно филтрирането. Ако погледнете осцилограмата: това е шум или смущения. Най вероятно щото китайците са го правили. Не е само при мен проблема, а и друга хора които са се занимавали го споменават. Ако случйно ти се падне да прочетеш цифровия сигнал точно в него момент - ще прочетеш грешно.
|
| Нед Фев 18, 2007 12:26 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
Ами ти само го каза "щото е китайско". Едно CRC да му бяха сложили поне... Има една тема "Филтрация или апроксимация" или нещо подобно - в раздел програмиране е и е големичка - ще я видиш. Там има описани няколко метода. Иначе с три замервания нямаш гаранция че това чудо ще ти подаде три еднакви измервания - може второто да е с един бит по голямо и с просто сравняване няма да се получи.
|
| Нед Фев 18, 2007 1:01 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Ами една малко еретична мисъл, т.е. те са две на обща основа, първата да запишеш всички данни в буфер а след това да ги обработваш, тези смущения лесно биха могли да бъдат елиминирани при обработката, втората е още по еретична, разбира се ... не знам дали се оправдава при теб но ... дискретизири сигнала и обрботи дискретита, там 100% можеш да отфилтрираш всички смущения, стига обаче да имаш достатъчно рам за да запазиш всички дискрети, но алтернатива на това е да го правиш в движение в-у блок да речем от 50 или 100 отчета, но затова си трябва и CPU по бързичко .....
|
| Нед Фев 18, 2007 1:09 pm |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
Пиковете в шината данни нямат значение, доколкото валидните данни са по определен фронт (или ниво) на клока.
При четенето трябва само да се следи комплектността на данните
|
| Нед Фев 18, 2007 1:24 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
ако е за сложни решения мога да предложа да мери ентропията в 1000 последователни семпъла и при достигане на минимум (нула на първа производна примерно) - това му е показанието.
GTN, това не ми се струва да е шум, а някакъв проблем при компаратора - стръмност на фронтове, разлики в нива или нещо такова.
гледам от картинката, че е един период на сигнала е 12-15us, а стръмносста на фронта е няколко us? можеш ли да щракнеш една по-разгъната картинка.
какъв ти е компаратора?
|
| Нед Фев 18, 2007 1:32 pm |
|
 |
|
GTN
Ранг: Популярен
Регистриран на: Пет Яну 26, 2007 5:05 pm Мнения: 310 Местоположение: из България
|
Към ДедоБоре:
Използвам компаратор ЛМ393. Извинявам се за грешката, постал съм снимка без компаратор, директно на шублера сигнала. Сега се поправям  Каналите които са след компаратора са 2ри и 4ти.
По мои сметки имам 8мкс.
Смятам да го направя по следния начин:
Ще се следи нарастващия фронт на Clk
btfsc PORTA,d ;на портаА, пин d са данните
incf danni_check,f ; временен регистър, ако той е >=2 (т.е. поне 2 от 3 измервание са били "1") приемам че резултата е 1
btfsc PORTA,d
incf danni_check,f
btfsc PORTA,d
incf danni_check,f
bcf STATUS,C
btfsc danni_check,1
bsf STATUS,C
rrf danni,f ;тук се записват данните, бит по бит през "С"
общо 10 инструкция, при кварц >8МНz ще е достатъчно времето.
А картинка с тези пикове по късно днес ще постна, сега съм го свалил долу шублера (а осилоскопа е на горния етаж) и смятам да пробвам да го подкарам.
Ще потърся темата за филтрацията да видя там какво пише 
|
| Нед Фев 18, 2007 1:59 pm |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
От приложените картинки се вижда, че по едната фаза на клока имаш стабилни данни.
Можеш да ги четеш и по SPI в слейв мод
|
| Нед Фев 18, 2007 2:26 pm |
|
 |
|
GTN
Ранг: Популярен
Регистриран на: Пет Яну 26, 2007 5:05 pm Мнения: 310 Местоположение: из България
|
Ммдаааа, това изглежда интересно решение. Заслужава си да се опита 
|
| Нед Фев 18, 2007 2:36 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Въпроса тук е дали това е общо валидно или просто така се е случило,относно това за стабилността на данните. От друга страна смущенията са с малка широчина, хардуерния модул няма как да ги открие сам, но ако правиш обработката софтуерно може да го постигнеш доста леко.
|
| Нед Фев 18, 2007 2:45 pm |
|
 |
|
GTN
Ранг: Популярен
Регистриран на: Пет Яну 26, 2007 5:05 pm Мнения: 310 Местоположение: из България
|
Тъй като навсякъде кадето четох хората се оплакват от тия пикове, предполагам че си е общовалидно. Не видях някакви хардуерни решения за да се отърват от тях. Така че мисля че само с софтуер ще се справя с тях  Наистина са с малка широчина пиковете, така че най-много на едит от отчетите да повлияят. Надявам се да е така 
|
| Нед Фев 18, 2007 3:00 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|