По идее, 3х кремниевых диодов должно хватать. Но диоды, используемые в БП (даже низкочастотные), почему-то имеют меньшее напряжение падения. Высокочастотные и шоттки не подойдут, т.к. на них падение очень маленькое. Подобрать можно с помощью обычного цифрового мультиметра с возможностью проверки диодов. В этом режиме прибор показывает не сопротивление перехода (как я раньше думал, а после испытаний оказалось обратное) а некоторый "индекс". Число, которое для диодов шоттки и высокочастотных лежит в диапазоне 200...80, а для обычных 340...260. Выбираются те, у которых число больше.SfS wrote:Ты наверное взял диоды слишком хорошиеShaos wrote: Вобщем для начала собрал схему понижения напряжения - взял 3 диода 1N4001, резистор и конденсатор - получил напряжение 3.6В - нормально или еще понижать?. У них падение маленькое.
Я брал КД-какието стеклянные (510 чтоли?). В общем напряжение на клаве было примерно 3.1-3.3 вольта. Мне кажется, что на 3.6 работать должно - но можешь для перестраховки еще один диод воткнуть. Или возьми сопротивление не 10к - а поменьше - скажем 3К. Напряжение чуток упадет.
В общем то я такой вопрос подробно не исследовал, хотя 0.3-0.5 вольта в данном случае не должны влиять - всетаки это клалва - ширпотреб и не рассчитана на прецензионное питание.
Клавиатура и NedoPC-90
Moderator: Shaos
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Путем уменьшения сопротивления с 33К до 10К уменьшил напряжение до 3.4В. Собрал схему согласования на транзисторе 2N3904 (NPN). Проверил, вроде работает. К какой ноге AVR теперь цеплять получившийся ТТЛ-сигнал? И интересует также простой алгоритм проверки работоспособности клавы.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
На прерывание INT0 (нога порта D - PD2 на 8535 проце).Shaos wrote:Путем уменьшения сопротивления с 33К до 10К уменьшил напряжение до 3.4В. Собрал схему согласования на транзисторе 2N3904 (NPN). Проверил, вроде работает. К какой ноге AVR теперь цеплять получившийся ТТЛ-сигнал? И интересует также простой алгоритм проверки работоспособности клавы.
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Подключил к досовскому ноутбуку с досовской терминалкой - поставил 9600, 8 без четности и 2 стоповых бита - при нажатии на кнопки клавиатурки на экран ноутбука выскакивает по 2-3 больших русских символа, F_CLK установил в 1 МГц - вроде столько должно быть по умолчанию без внешних кристаллов
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
SfS, напиши пожалуйста какие настройки должны быть в терминальной программе на PC, чтобы поток символов от железки нормально распознавалсяShaos wrote:Подключил к досовскому ноутбуку с досовской терминалкой - поставил 9600, 8 без четности и 2 стоповых бита - при нажатии на кнопки клавиатурки на экран ноутбука выскакивает по 2-3 больших русских символа, F_CLK установил в 1 МГц - вроде столько должно быть по умолчанию без внешних кристаллов
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
minicom - вроде по умолчанию все распознает.Shaos wrote: SfS, напиши пожалуйста какие настройки должны быть в терминальной программе на PC, чтобы поток символов от железки нормально распознавался
Только с концом строки иногда глюкает.
скорость 9600 8 бит без четности. Это если речь идет о связи AVR и PC.
Слушай, а стартовое сообщение "Stdio Inited via UART0" выходит при включении нормально ? То которое в файле main.c прописано ?
Last edited by SfS on 05 Feb 2006 00:40, edited 1 time in total.
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
"при нажатии на кнопки клавиатурки на экран ноутбука выскакивает по 2-3 больших русских символа"SfS wrote:В чем проблемы у тебя ? Что не так распознается ?
а minicom у меня вообще не работет - во первых показывает иероглифы, во вторых (если вручную поставить ему английскую локаль) требует настроить модем, которого несуществует...
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Странно. запускаешь minicom -s из-под root'а. И все что связано с инициализацией модема отключаешь. У меня так и сделано.Shaos wrote: а minicom у меня вообще не работет - во первых показывает иероглифы, во вторых (если вручную поставить ему английскую локаль) требует настроить модем, которого несуществует...
Я изпод доса не пробовал тестироваться.
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Вот еще где может быть косячина.Shaos wrote:1 МГц - вроде столько должно быть по умолчанию без внешних кристаллов
1МГц может не хватать. Программный UART на 9600 - это примерно 10^4 прерываний в секунду. 10^6/10^4=100 тактов на прерывание. Судя по куску кода-обработчика прерывания от таймера - вполне может 100 тактов и не хватить.
Так что попробуй поставить внешний кварц. У меня стоял 8МГц.
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск
Флешка требует около 300 байт озу (под кэш много уходит). В меге8535 - всего 512 байт озу. Плюс индикатор, клавиатура и системные вещи - байт около 50.Shaos wrote:Вопрос - если включить клаву/индикатор/компорт, то сколько свободной памяти кода и данных останется на моей ATMEGA8535? Это к вопросу об интерпретаторе и, возможно, компиляторе RW1/RW0. И еще я забыл о внешнем флеш-накопителе...
Таким образом, общий расход ОЗУ - около 350 байт из 512. Остается свободными только примерно 160 байт - явно мало.
Исходя из этого, логичнее поставить мегу8515+внешнее озу 32К. Это добавочные две микрухи - ОЗУ + регистр-защелка на адрес.
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
А как программировать чип на использование внешнего кварца?SfS wrote:Вот еще где может быть косячина.Shaos wrote:1 МГц - вроде столько должно быть по умолчанию без внешних кристаллов
1МГц может не хватать. Программный UART на 9600 - это примерно 10^4 прерываний в секунду. 10^6/10^4=100 тактов на прерывание. Судя по куску кода-обработчика прерывания от таймера - вполне может 100 тактов и не хватить.
Так что попробуй поставить внешний кварц. У меня стоял 8МГц.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 491
- Joined: 16 Apr 2005 22:35
- Location: Томск