Orginalet, stor och tung och funktionsmässigt lite för lam.

I min konstruktion använder jag en ATmega48 och en LCD-display med backlight (Teckenstorleken är egentligen lite för liten men det blir nog bra ändå).
Signalen från linjärskalorna är digital Quadrature där ett steg är 0.01mm.
Funktionen är i grunden enkel, ATmegan läser quadrature och räknar för axel X och Z och skriver ut positionen på displayen.
Det går emellertid att lägga in funktioner som tex verktygsregister(offset) om man vill komplicera det hela (och det vill man).
Nyetsat kort (happy happy).

Men allt har ju en baksida.

På vänstra sidan sitter 3st switchregulatorer för att omvandla till +5V, +12V och -12V.
+5V fick en switchreg för att backlighten vill ha ganska mycket ström.
Skalorna drar egentligen inte så mycket +12V men jag vill helst inte värma lådan så mycket så den fick oxå en switchreg.
Att använda en switchreg som kan ge hög ström till -12V är inte alls befogat(skalorna drar nästan ingen ström alls) men jag gjorde så bara för att orginalet kan leverera hög ström.
Signalen från skalorna går via 4 st optokopplare till ATmegan.


Lådan är nu bearbetad och försedd med aluminium-fästen för displayen.

Allt på plats, jag kopplar tanjentbordet via USB-kontakten men jag kommer använda T-bordets PS2-interface.

Lite synd att lådan blev så repig, jag kanske sprutlackerar den senare.

Allt är klart, och ATmegan är testad så det som återstår är assembler-programmering och ett monteringsfäste för hela apparaten.
Det här blir mitt första AVR-projekt så jag är inte så haj på processorn ännu men jag ser fram emot att börja med koden på allvar.
Jag undrar:
När jag programmerar Pic brukar jag definiera pinnarna på detta sätt när pinnarna ska användas individuellt: #DEFINE Namn PORTB,3.
I Avr-studio kan man bara definiera ett register eller ett tal, så hur gör ni när ni definierar pinnarna i era projekt
