| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Много проблеми с часовник и 16F873A http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=5772 |
Страница 1 от 2 |
| Автор: | wolfshark [ Чет Май 08, 2008 9:30 pm ] | |||||||||||
| Заглавие: | Много проблеми с часовник и 16F873A | |||||||||||
Не знам вече от къде да започна 1. Светят слабо, предполагам това се дължи на факта че съответният сегмент е повече време изключен от колкото включен. Как мога да оправя това? 2. Когато са светнали по-малко сегменти (напр. числото 1) те светят по-силно от напр. числото 8 3. Микроконтролера просто забива и всичко седи 00:00:00 като го препрограмирам като че ли тръгва Прикачвам сорса който сътворих. Това ми е първата програма, бъдете снисходителни. Базиран е на таймера от PIC Микроконтролери част I Не разчитайте на коментарите, след няколко промени в програмата не им обърнах внимание и ги омазах.
Прикачвам примерна схема. Не съм сложил бутони за настройване на часа но ще сложа, само да тръгне. С PORTB контролирам сегментите а с PORTC отделните индикатори
Моля ви помагайте. Много труд хвърлих в това нещо и просто искам да го направя.
|
||||||||||||
| Автор: | ji4ka [ Чет Май 08, 2008 10:39 pm ] |
| Заглавие: | |
1. Увеличи токовете като намалиш резисторите. Тия NPN от към VDD - куца работа - сложи PNP-та и инвертирай изходите в програмата. 2. Вместо общ резистор R9-R16 сложи отделен за всеки сегмент ЛЕД-ове - качеството си има цена. Провери и дали ти е стабилно захранването. 3. За програмата явно нещо си объркал ,ама нещо ме мързи да я изследвам. Действай със симулатора стъпка по стъпка |
|
| Автор: | wolfshark [ Чет Май 08, 2008 10:46 pm ] |
| Заглавие: | |
Сложих PNP намалих резисторите - по-добре е но си е слабичко. Сега контролера съвсем се сбъгяса - показва само 88:88:88 но динамичната индикация работи (това стана след като смених транзисторите на сегментите с PNP и модифижирах таблицата в програмата) Захранването е стабилно. Всичко работи по принцип и ако сега го препрограмирам вероятно ще заработи, но до кога... не знам след което може пак да се сбъгяса. Имам 2 контролера положението е идентично, сега ще препрограмирам другия и ще го сложа. (само да спомена че са free samples) |
|
| Автор: | fan [ Чет Май 08, 2008 11:16 pm ] |
| Заглавие: | |
Като начало, отдели захранването на индикаторите от това на процесора |
|
| Автор: | fan [ Пет Май 09, 2008 2:52 am ] | ||
| Заглавие: | |||
Ето ти развита темата! Прегледай внимателно! Чети повечко за контролерите!Успех! (Несъм инвертирал изходите, ако се налага (а то е така), ги коригирай)
|
|||
| Автор: | Cekins [ Пет Май 09, 2008 9:36 am ] |
| Заглавие: | |
1. Светодиодите на общ катод + ULN200х и нямаш нужда от инвертиране плюс това спестяваш запояването на 8 транзистора и 8 резистора. 2. Ползвай нещо от сорта на BC3xx PNP (ако можеш да правиш смд ползвай BC807) 3. Светодиодите щом са по 3 в никакъв случай не ги връзвай паралелно. Винаги единия е с малко по-малък пад от другите и все едно имаш един светодиод + два дето ич не щът да светят ама не знеш защо така. Сметни си резистора за последователно свързани светодиоди. 4. Чети документациите на светодиодите - има 1000ххх вида светодиоди от от 50 Iv (ucd) до десетки хиляди. Тия дето се продават по магазините за жълти стинки са по 50 - 100 - сам се сещай че в динамичен режим ше светят ама някой друг път. За добро светене ти трябват над 2-3 хиляди а в най-добрия случай 20 - 30 хиляди. най добре като искаш големи цифри в комет има до към 3 инчови 7сег.лед. (малко скъпички) с маркировка xxxxx SRWA (super bright red) - вадят очи при 40-50 mA и са перфектни за динамична. 5. Направи си опресняването на таймер (аз го правя на таймер 2 обикновенно) за да ти е фиксирано точно времето. А и тогава по лесно ще видиш кое точно ти се бъгва. |
|
| Автор: | wolfshark [ Пет Май 09, 2008 12:20 pm ] | |||||||||
| Заглавие: | ||||||||||
Благодаря ти много! Прегледах кода, после ще го прегледам по-обстойно и ще видя дали работи. За контролерите определено имам да чета още доста. Не трябваше да се мятам директно на този 16F873 докато в момента чета за 16F84 - нещата са по-различни. Светодиодите си светят еднакво - не единия да свети по-силно а другите по-слабо |
||||||||||
| Автор: | ji4ka [ Пет Май 09, 2008 12:38 pm ] |
| Заглавие: | |
Кажи как си вързал диодите в тройки? Ако са последователно може да се наложи да вдигнеш захранването до 5.5В. Червените ЛЕД-ове имат пад 1.6-1.7В + загубите по трасето, 5В може да не стигнат. Иначе така е най ефективно. Нагласи тока през тях да е поне 100ма импулс. PNP-тата да не си им объркал изводите? Трябва да се обърне колектора към диодите, емитера към Вдд. |
|
| Автор: | Koleto [ Пет Май 09, 2008 4:43 pm ] |
| Заглавие: | |
И като направиш тока 100мА гледай да си се погрижил добре да не ти забие контролера.... защото... сещаш се какво ще се случи с пуснатите светодиоди в момента в който се отпушат съответните транзистори и контролера земе та умре... За съжаление така се прави на всякъде по динамичните индикаций за да светят силно... работи се почти с максималния допустим импулсен ток на диодите и се мисли много ама много как да се защити системата от забиване на процесора и ако това все пак се случи... трябва да имаш предпазен механизъм с който да угасиш индикацията (куче в контролера или извън него да резетва при забиване и т.н.)... |
|
| Автор: | Cekins [ Пет Май 09, 2008 5:09 pm ] |
| Заглавие: | |
Koleto, аз затова му предложих на човека от тия индикатори - честно казано до сега съм ползвал само до 1 инч обаче дори и те в границите на допустимия ток по документация (че и малко отгоре) пак светят достатъчно силно, и като остане да свети само 1 индикатор при забиване не изгаря, просто свети доста ярко (вади очи дето му викам аз |
|
| Автор: | Zeus [ Пет Май 09, 2008 7:43 pm ] |
| Заглавие: | |
Аз ползвам индикатори за динамична индикация на KingBright. Поръчвам си ги от Комет. При 5В слагам 120ом резистори SMD 0805. Светят доста силно. И забиването не е проблем. Случвало се е да забие и да свети един индикатор около 1 час без да изгори. Май проблема му е повече, че не му работи програмата, отколкото силата на светене. Ако имам време, ще я прегледам. Не, че и аз съм много навътре в контролерите, но може и да открия някой бъг. |
|
| Автор: | wolfshark [ Пет Май 09, 2008 8:21 pm ] |
| Заглавие: | |
Преди 2 седмици направих друг часовник - с нормални индикатори и PIC 16F628 като схемата и програмата взех от интернет. Странно но там нямаше никакви резистори - PORTB директно отиваше на сегментите, така и го направих. Всичко работи нормално но има отново проблема, че 1 свети по-силно от 8 например |
|
| Автор: | fan [ Пет Май 09, 2008 8:26 pm ] |
| Заглавие: | |
Това добре, а ти до къде стигна със задачката? |
|
| Автор: | Ки4о [ Пет Май 09, 2008 8:35 pm ] |
| Заглавие: | |
Zeus - схемата то е грешна |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|