[LinuxFocus-icon]
��ҳ  |  վ���ͼ  |  ����  |  ����

���� | �����ڿ� | ���� | ����LF
This document is available in: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Russian  Turkce  

[Photo of the Author]
by Guido Socher (homepage)

��������:

Guidoϲ��Linux������Ϊͨ���������ھ�ϵͳ��DZ�������κ��˶����Բ������С�


Ŀ¼:

 

��Ƭ���ɿص�ֱ����Դ

[Illustration]

ժҪ:

��ƪ�������ҵĵ���ƪ�й�AT90S4433��Ƭ�������·����� LinuxFocus�ϡ��ҽ������Ķ�����Ĺ�ȥ�Ĺ���ATMEL��Ƭ����̵����£�

  1. ��ν�����װ��ʹ��AVR�������������������Ĺ̼��������
    2002��3��, ʹ��GCC����AVR��Ƭ������
  2. ����������Լ���ӡ�ư壺
    2002��5��, һ��Linux��������Lcd�������
  3. �������һ��ֱ����Դ�����䣺
    2002��9��, һ������Lcd��ʾ��RS232�ӿڵ�1Hz-100MhzƵ�ʼ�
����Ĺ�������һ����Ҫ�Ķ�����һ���ȶ��ɿ���ֱ����Դ�� ����ƪ����������Ҫ��һ��������ֱ����Դ�� ���ǵ�Ƭ���ɿصġ�����һ��Lcd��ʾ������Դ����Linux������ͨ��RS232���ڷ������������ ����Ƶĺܰ���

��ƪ���»���ʾ��Ƭ������εĶ�Ŷ��ա����ɲ��Ǽ򵥵�һ����·��
���������һ���򵥵�ֱ����Դ��ô����Կ�һ�� ���򵥵�ֱ����Դ�� ������򵥵�ֱ����Դ��LinuxFocus ���ᵽ�ĵ��������Ѿ������ˡ����ǣ�����Linux����������մ�ߡ�
��ʹ��������һ�����򵥵�ֱ����Դ���Ϳ����ˣ���ҲҪ��һ�����£�����Զ�����Ƭ��������Ȥ�ķ��档



 

����

�����Ƭ���ɿص�ֱ����Դ����һ���򵥵ĵ�·���������ܱ�֤���õ���ʱ�� ��û�У�����ڵġ������ȶ��ɿ��������ڼ�������Ҳ�Ǻ���Ȥ�ģ� ��Ϊ���ѧ�������û��һ��ģ/��ת��оƬ���������β���һ��ģ��ֱ����Դ��

����Ҫ�ܶ��Ԫ�����������Ƕ���������������Ѳ��ࡣ
 

����Ҫʲô��

������Ԫ���嵥 ���г�����������Ҫ��Ԫ��������Ҳ����������ԭ��ͼ���ҵ�Ԫ����������ֵ��
���ǵĵ�Դ��3���汾�����˱�ѹ����һ�����費һ���⣬�����ϻ���һ��仯�� ��������⣬��Ķ�һ����
  1. 0-16V ������2.2A
    ��һ��15V 2.5A��ѹ��
  2. 0-24V ������2.2A
    ��һ��24V 2.5A��ѹ��
  3. 0-30V ������3A
    ��һ��30V 3A��ѹ��
ע�⣺������������е�·�嶼��Ҫ����һ��9V, 100mA��ѹ����  

��·ͼ��ӡ�ư�

��ʹ��eagle ��Linux�汾�����ԭ��ͼ��ӡ�ư�ġ�eagle�ļ�Ҳ������tar.gz�����������ˡ� ����������º���ָ���ĵط���������

��·��Ϊ2���֡�һ����Ҫ�IJ��ֺ���һ���ֿ�����Դ�������� ��������Կ������������ĵ�·ԭ��ͼ������ͨ���������ӵ�һ��

����·ͼ(����ɷŴ�):
[main schematic]

�ӽ��ߵ�ѹ���ֵĵ�·ͼ(����ɷŴ�):
[power part schematic]
����ھ���������һ������(����ɷŴ�):
[push buttons schematic]

����·�壬����ͼ(����ɷŴ�):
[board]


������Ӻ��ʺ�ҵ����Ӱ����ߡ���ɫ�IJ���Ҫ����ʴ���ġ���ɫ�ı�ʾ���ߡ� ������������������ף�����Ҫ̫��ȷ�ġ�������ڰ��ϲ�����̵��ߣ���ɫ�ģ��� ��������eagle�Ͽɲ��ɡ�

�ڸ�ѹ��·��ֻ�к��ٵ�Ԫ��������������һ����������������ְ����кܶ�Ĺ��ף��� ����͵�Դ��ͨ��JP2��JP3��ͷ���������ӡ� ���ע�⵽����ĵ������ӵ���ֱ����Դ������� ��Ҳ��������Ҫ2����ѹ����ԭ��һ�����ڵ�Դ���ϣ�һ���Ǻ͵�Ƭ�����˷���һ�𣩡�  

����ԭ��

��һ�������ԭ��ͼ����Կ��������߼��Ϸ�Ϊ2�����֣�һ�������ڵ�·ͼ�б��� ���������ơ�����һ�����ֱ��С���ѹ���ơ���������2�������Ŀ��ƻ�·�� һ����·���������ѹ��һ·��������0.275ŷķ�ĵ����ϣ�ѹ�����ڵ����� ��2������ͨ��������D2��D3����ϵ����һ����Щ�������ڵ�·�е����þ������ֵ�·�еĻ���һ���� �������������ô�������Ƶ�·�ή�͵�ѹֱ��ij���޶�ֵ�������ڵ������������£� ��ѹ���Ʋ��ֻ�������������ֱ����ѹ��

������߼��dz����ģ���Ϊ������T3ͨ��R19������+5V�� �������û��D2��D3������˷ŵ�·���ڣ�����Եõ���������� ���Ƶ�·��ͨ����СT3������ѹ����С�ɽӵأ������������ѹ�ġ�

��ѹ���ƻ�·ͨ������IC6B��5�ŵĵ�ƽ��ʵ�ֵ�ѹ�����仰������ ��5�ĵ�ѹ������R15��R10��R16�����ķŴ�ϵ���˵�ѹ����� ��������Ҳ��һ������ͬ������R30�ϵ�ѹ�������������������

Ϊ�˰������ѹ���ߵ���������ij����ֵ��������Ҫ����2����ĵ�ѹ ��IC6B��5��R30�ϵ�ѹ����������ǵ�Ƭ��Ҫ������.... ���ǣ���Ƭ����ô����������һ��ֱ����Դ�أ�����ͼ��
[pwm]

��ῴ��һ�������ź���α��һ��ֱ���źŵġ� ��������㣬��Ҫ�ѣ����壩�ź�ͨ��һ����ֹƵ�����ź�Ƶ��1/100 �����߱�100���󣩵ĵ�ͨ�˲����� �������ǵĵ�Ƭ��������4Mhz����������ôһ����ͨ�˲�����������ġ� ��ʹ����ʹ�����������źţ������Կ��Եõ���С��khz���źŲ����˲��������ɺ�С��

��ͼƬ�Ϸ����·��м�ĵ�·ͼ���ֽ���������ȵ��ơ� ͨ���ı�����ij������ǿ��Կ����˲������ֱ����ѹ��

�������ǿ���ʹ�������źŲ��������ֱ����ѹ��

AT90S4433��Ƭ����2���ڲ��ļ�������һ��16λ����һ��8λ���� 16λ�ļ�������PWM��������ȵ��ƣ��������� ���ڵ�Ƭ���ڲ���Ӳ��ʵ����10bit����������ȵ��ơ� 8λ��û�е������ǿ���ʹ������ģ��ʵ�֡������ٶȻ��ǹ��졣 ����ʹ��16λ�ļ�������ʵ�ֵ�ѹ���ƣ�����ʵ��10λ���ȣ�1023�ȷ������ѹ�� 8λ������������Ƶ���������8λ���ȣ�����255�ȷ�1��3000mA�ĵ����� ����˵���Եõ�12mA�����߸��٣��ĵ���������ڵ���������˵���㹻�ˡ�

����ʣ�µIJ����ǵ�Դ��Ӧ���֣��ο���ѹ���֣�7805����������Dzο��㣩 ���б�֤�����ص�Դʱ����Դ���ֲ��������֡�  

����

��Ƭ���������漰���ܶ෽�棬����Դ�ԭ�ȵ������еõ���Щ��Ϣ������rs232���ڣ� lcd��ʾ���ж�ģʽ�ļ�������������Կ�������ҳ�棺
linuxdcp.c.

�������ǹ�ע����������PWM��������ȵ��ƣ��� ������PWM�У��õ��˱���ipwm_phase�ͱ���ipwm_h�� ����ʹ8λ�ļ������������ж�ģʽ�£�ÿ���ж�������жϴ������� ��SIGNAL(SIG_OVERFLOW0)���ᱻ���á����жϴ�����������Ǽ�����ipwm_phase �������Dz���1����0��֮�����������������ܼ򵥡�

���������ӵ����������㶮��Щ����������Ҫ�Ķ�4433���ֲᣨ������IJο�����

4433��8λ�ĵ�Ƭ���������ļ����������ޡ������û�������ѹ��С�ľ�ȷ��������� ��Ҫ24λ�ij����ͳ˷���

���ǵĵ�Դ��7��������6���������������͵�ѹ��С����һ�������ǡ��������� ʹ�ô�������ʱ�����������ʱͣ����Դ��ͬʱ���ڵ�ѹ�͵��������ޡ� ��Щ������״̬���������б����������ˡ�����ignorebutton���ڰ���ȥ���� ������ָ��������ʱ���������������ġ����Ǹо������ģ����ǵ�Ƭ�����кܿ죬 ��������������أ�������...��Щ״̬�ģ� ����ignorebutton������һ��ֵ��ȥ����������ȥ�����ˡ�  

����ӡ�ư�

���壺
[main board]
��Դ��Ӧ���֡�ľ�ߣ��ײ����Ϸ���ǰ��ʹ���˱�����Ƭ��
[box]
ǰ���
[front]
����������һ��postscript�ļ�linuxDCpower.ps��������·���õġ� �Ҹ��˸о����ĺ����е�С��������ǿ���Ƽ�������֮ǰ�Ѻ���Ū�� �����������������ǰ���������ҵ��� 2002��5�£� linux��������Lcdǰ�����
��ô����һ�����˵��Ǻÿ��ĵ�Դ��������Կ��� "2002��9�£� ����LCD��ʾ��RS232�ӿڵ�1Hz-100MhzƵ�ʼ�"�� ����Կ��������ĺ��Ӻ�ǰ����ͼƬ������ɷŴ�  

����

���κεĵ�·һ����������ú󣬲�Ҫֱ�����ӵ�Դ����Ӧ��һ��һ���IJ������� �������źá�����������ҵ�������·ʱ�Ĵ���
  1. ������·�������Ԫ����װ�뵫�Dz�Ҫ��ICоƬװ�������ϡ�
  2. ��һ��9���ĵ�أ��������ӵ�·ͼ�б�ע��AC_POWER����ͷ�Ľ�2�͸������ӽ�1�� ��һ����ѹ�������max232�Ľ�8�ͽ�16֮��ĺ͵�Ƭ����7�ͽ�8�ĵ�ѹ�� ���˷�����ᷢ����������Դ�ﵽ9����
  3. ��9�����1�Ž�������2�Ӹ������һ���˷ŵĸ���Դ��ᷢ���Ǹ�9�������ӡ�
  4. ���ǰ��IJ���ͨ���ˣ���Դ����ͨ���ˡ������� �Ϳ��԰�max232�͵�Ƭ��оƬ�嵽�������ˡ�
  5. �ٴ�ʹ��9��������ӡ���������5����Դ���й�Ӧ�ˡ� ���ӱ����һ���Ӷ˼�������ڣ�һ�����ӵ������ϵı�̲�����
    ���������������ص�ַ���ο����� ��������Ŀ¼���Ҽ��룺
    make avr_led_lcd_test.hex
    make testload
    make ttydevinit

    �������������ڰ����������ˡ�lcd�ϻ���ʾ��hello������ɫ��led����˸�� ����������˴��ڵ���ļ�����ϣ�����Կ�����ok����ӡ����Ļ�ϡ� ��ʹ��ttydevinit��ʼ�����ڣ�����ô���1�� ����cat /dev/ttyS0�����ʹ�ô���2������cat /dev/ttyS1����
  6. ������װ��Դ���ֵ��Dz�Ҫװ����ѹ���� ��9��������ӵ���ѹ�����ĵط��� �������ӵļ��ԣ���4700uF�ĵ����ܻᱻ��ѹ��9���� �õ�ѹ����һ�¡�
  7. ���еIJ��Զ�ͨ���������һ�����ߡ� Ȼ�����ӱ�ѹ�����ϵ硣 ��Ϊ�˷�û�в嵽������������õ���Դ�����������ѹ�� ��һ����������Ҫע�ⲻҪ��·������յ�·��ģ� ��Ϊû�ж�·������
  8. �ϵ硣���˷Ų嵽��������ӱ�̵��£��ϵ磬���룺
    make
    make load
  9. ������Դ��Ӧ���������еĹ��ܡ�ע����DZ�̵������ӵ�ʱ�� �����ѹ��һ���½����������õ���ȷ����������͵�ѹ�Ļ��� ��Ҫ��������
 

����������Լ��ĵ�Դģ��

��ῴ�����������ᵽ��3����ѡ���������������õı�ѹ���� Ĭ�ϵ���16V, 2.2A�ġ� �����仯����Ҫ�༭�ļ�linuxdcp.c ������:
MAX_U��IMINSTEP��MAX_I�� ������������3A������������ں���set_i������Ըı�̶ȡ� �����кܺõ�ע������Կ�����Щ����Ӧ���޸ġ�

�����һЩ�����ĵ�Դģ���ͼƬ���������е�Ѿ����Ǻ����á� ��Щʱ���ֵ��Ͷ�ʣ���Ϊ�����õĵ�Դ���Ǻܳ��õġ�

[front view]

[top view]
 

���ʹ������

�������ֱ����Դ�Ǻܼ򵥵ġ�����4�����������ڵ�ѹ�� ����2����ÿ��һ���ϵ�/�µ�1������2����ÿ��һ���ϵ�/�µ�0.1���� ����������Ҳ����ʹ��2�����������ڡ����ǵ������ڲ������Եġ� ����С�ĵ���ֵ��ÿ��һ�¿��Ե���50mA������200mAʱ�� ÿ��һ�¿��Ե���100mA������1A��200mA�� �����ӣ������ʹ��2�������������������̡�
��������������ʱ�ص���Դʱ���´�����ʱ���ð��趨ֵ���趨һ�顣
��ɫ��led��ֱ����Դ�ﵽ����ʱ��������ڴ���ʱ����˸��
ʹ��rs232����ascii���������ȫ���������Դ�� ���������ʱ��Ч�ģ�

u=X ���õ�ѹ (����: u=105 ���õ�ѹΪ 10.5��)
i=Xmax ���������� (���磺i=500 ���õ��������500mA)
s=1 or s=0 ������
u=? or i=? or s=? ��ӡ��ǰ���á� ��������ʹ��Դͨ�����ڷ�����������ַ�����
u: 50 s:0 i: 100 l:0
u: 50����ʾ���5���ص�ѹ�� s:0 ��ʾû�д����� i: 100 ��100mA�� l:0����ʾ��ѹ����û�дﵽ��

ʹ��ascii�ַ��������Ϊ��Դдһ��ͼ�ν����ˡ� Ϊ��ʹ��rs232��������ʹ�����������ttydevinit��ʼ������ ����� 2002�꣬Ƶ�ʼ����������������ġ�

������������ԭ��ͼ����2����ѹ�������߼���ƽ�ĵ������ӵ�����ֱ������ϡ� ����������û������ģ���Ϊ2����ѹ�������˵�ѹ�� ������Ҫ����������Ϊ�˷ŵķ�����·����Ҫ���������ġ� ����ע��: ����ζ�����RS232�ĵ��������ӵ�ֱ��������ϵģ� ���仰˵��������������ֹ���ʱ�� �㲻����ʹ��RS232�������ӵ���ĵط���������ļ�����ĵ��ߡ� �ڵ�Դ����һ����RS232�������ӵ�ֱ��������������Ǹ������⡣ �����ʹ�õ��ǵ�ع���ıʼDZ����ߵ�Դ���ֺ�RS232����û������ʱ�� ���Dz�����ɶ�·�ġ� ��Ҫ����������Ż�������ﵽ250mAֱ����Դ��������ޣ� ��ɫ��led��������㷸���ˡ� ��ʹ�㷸�˴���Ҳ�㲻����ļ�����ġ�

 

������ȫ

�����·�и���ѹ�����ӵ�������Դ�ϣ�230������110������Ҫ�������Ǹ����ң��� ����ҪҪ��֤һ���ľ�Ե�������û�кͽ�����Դ�ĵ�·��������� ��ô��Ҫ���һ���о�����������һ�β��֮ǰ�������ĵ�·�ľ�Ե�Ͱ�ȫ��  

Ӳ���������ĵ���

Ϊ��Դд�������Ѿ�Ϊ������ѹ�͵���У׼���ˡ� �㼸���������κεĸĶ��Ϳ����ˡ�Ӳ���ĵ���Ҳ�����漰�� 7805��R15��R10��R16��R38��R30��R26�� Ҳֻ����Щ���ֿ���Ӱ���ѹ�͵���������� �������У���ĸ���һ�㣬������޸��������߸ı����ֵ�� ��Ҫע�Ⲣ�ڵı������Ӱ������������������ʱҪ����ȥ���� ��������������ں���set_u��set_i�趨�������кܺõ�ע��linuxdcp.c  

�ο�

 

����ƪ���·�������

ÿƪ���¶��и��Եķ���ҳ�档�����ҳ����������ύ���ۣ�Ҳ���Բ鿴�������ߵ����ۣ�
 ����ҳ�� 

��ҳ��LinuxFocus�༭��ά��
© Guido Socher, FDL
LinuxFocus.org

���������LinuxFocus��������������
������Ϣ:
en --> -- : Guido Socher (homepage)
en --> zh: Zhangcz

2003-04-06, generated by lfparser version 2.25