De site

Draaibank uitlezing.                                             Laatste wijziging 2017-03-20

ReactiesNaar.jpg


In het kort:
Uitlees unit voor 2 HBM linialen op een 2.8" TFT-Touchscreen, met een Arduino Nano als processor.
Per december 2016 is er een echt printje gemaakt. Wordt binnenkort hier gepubliceerd. Ik heb problemen ondervonden met de USB connectoren die los kwamen.

Gerelateerde projecten:
Aansluiten van het TFT-Touchscreen op een Arduin Nano.
Library uitbreiding voor het TFT-Touchscreen.
HBM liniaal gehacked.


Inhoud:
Montage van de linialen
Elektrisch schema en uitvoering van de elektronica
Gebruik
Software
Opmerkingen

Bij foto's met een blauwe rand: klik voor een grotere versie.


OpdeBank-tmb.jpg

Daar moet 'ie ongeveer komen. De bevestiging is nog niet klaar.


Montage van de linialen:

De mechanische opbouw van de linialen is voor iedere bank natuurlijk anders. Hier hoe ik het gedaan heb.
Het is vaak wat gepuzzel met aluminium profiel van de bouwmarkt, en let er ook op dat er geen bewegingsbeperkingen gaan ontstaan.

X-as.jpg

De liniaal zit met de "gevoelige" kant naar beneden aan het langssupport vast. Het meetkastje zit onder het plaatje aluminium vast aan het dwarssupport.  Dat hoekje moest uit het plaatje omdat het anders tegen de losse kop aan zou lopen.
Zorg dat de liniaal goed evenwijdig staat aan de beweging van het dwarssupport (uitklokken!)


Z-as.jpg

De Z-liniaal is op een paar kunststof blokjes gemonteerd met de "gevoelige" kant naar achter. Het meetkastje zit op een hoekstukje dat via een vierkant kokertje onder het langssupport bevestigd is. Over de liniaal loopt een hoekprofiel als afscherming tegen spaanders en snijolie.

Controleer beide linialen op hysteresis door met de hand te proberen het meetkastje te verplaatsen terwijl het betreffende support goed geblokkeerd is. Als je dan een verandering van de uitlezing ziet is het foute boel.


Elektronica:

Het TFT-touch screen dat hier gebruikt wordt is een  2.8" 240x320 pixel TFT display met een resistief aanraakscherm, dat mogelijk onder verschillende merk/ kloon namen verkocht wordt, waaronder ELECROW en AdaFruit. Het kost ca. 40,=

Schema.jpg

Elektrisch schema.  Klik op de afbeelding voor een PDF.   Klik hier voor een .Zip bestand met het schema in Eagle.
C1 is 330 uF / 6.3 Volt. Voor Q1 kun je een willekeurige N-channel schakelfet nemen. R1 bepaalt de sterkte van het geluid uit het luidsprekertje. Bij zo'n 30 Ohm speakertje uit een afgedankte hoofdtelefoon kan R1 weggelaten worden.


Componenten-tmb.jpg

Print componentenzijde.I
Ik heb geen echt printontwerp gemaakt maar e.e.a. op een stuk gaatjesboard gemonteerd.
Het 6-pennen blok op de nano wordt niet gebruikt en zit in de weg.  Knip de pennen weg of soldeer ze eruit.
De kabel is een originele USB kabel waar de stekker van afgeknipt is. Alleen de rode en de zwarte draad worden gebruikt voor + en - 5 Volt.
Zorg voor een trekontlasting met bijv. een tiewrap.

Bedradingskant-tmb.jpg

Print bedradingszijde.
Ik heb de bedrading vnl. gemaakt met wikkeldraad (voor spoelen en trafo's en zo) met Povin isolatie. Die gaat bij soldeertemperatuur over in een soort vloeimiddel.

DetailConnector-tmb.jpg

Het aansluiten van die mini-USB connectoren is wat priegelwerk, daar is echt een loep en een soldeerbout met fijne punt voor nodig.


TFT_gemonteerd-tmb.jpg

Het TFT display is in het deksel van het kastje gemonteerd.
Het luidsprekertje is uit een oude hoofdtelefoon gesloopt. Let erop dat er bij deze aansluiting gemiddeld DC door het speakertje loopt waardoor het menbraan naar binnen of naar buiten getrokken zal worden, afhankelijk van de polariteit. In mijn geval maakte het speakertje wat meer geluid als het membraan naar binnen getrokken werd.

Paneel-tmb.jpg

In het deksel is een kamer gefreesd zodat het oppervlak van het display niet zo diep ligt.
Let erop dat het effectieve deel van het display asymmetrisch ligt. De kamer is aan de rechterzijde wat breder.
De bevestiging is met een paar stripjes met M2.5 schroefdraadgaten gelijmd.
Links moeten nog wat gaten komen voor het luidsprekertje, en er moest een stukje van de schroefdraadstrip verwijderd worden.


Dwarsaanzicht-tmb.jpg

Dwarsaanzicht van display + printje. Die schroevendraaier is alleen om het ding overeind te houden voor de foto. Het luidsprekertje is hier nog niet gemonteerd.
Als je een dieper kastje hebt kun je verlengde pennen/bussen gebruiken om de afstand tussen het display en het shield te vergroten.
Mogelijk kan de nano dan ook in sockets gezet worden zodat 'ie uitwisselbaar is.


Kastje-tmb.jpg

In het kastje moest op verschillende plaatsen wat materiaal weggefreesd worden.
In de linkerzijkant is net de spleet zichtbaar waar de liniaalconnectoren doorheen steken en ook een "poortje" voor de voedingskabel.


Gebruik:

Voeding:
Nagenoeg iedere USB stekkervoeding is bruikbaar.
De voedingskabel is alleen bedoeld voor de voeding bij normaal gebruik.
Voor het (her)programmeren moet het kastje open en moet er een USB-kabel aangesloten worden op de Arduino Nano. De voedingskabel is dan niet nodig.
Onder die omstandigheden werkt het uitlezen normaal.

Bediening:
Het nulstellen van een as gebeurt door het getal aan te raken.
De X-as kan omgeschakeld worden van R naar D door die letter aan te raken. Bij de R van Radius geeft het display de echte verplaatsing van de X-as aan, bij D wordt het dubbele aangegeven, want dat is het effect op de diameter van je werkstuk.
Er klinkt een piepgeluid als de aanraking geslaagd is.
Na een geslaagde aanraking reageert de unit gedurende 0.4 seconde niet op dezelfde of een nieuwe aanraking.

Calibratie:
De ruwe data van de HBM linialen blijken een schaalfout van ongeveer 1% te hebben zodat calibratie nodig is.
Ga als volgt te werk:
1 / Verifieer dat er een software in de unit zit waarbij de calibratie waarden op 1.0 staan Dat zijn in het bestand HbmRuler.h de regels:
    float const RulerXScale = 1.0;
    float const RulerZScale = 1.0;
2/ Voor iedere as:
    Eerst nulstellen.
    Dan verplaatsen over een zo groot mogelijke bekende afstand A (heel precies meten met een schuifmaat of met de schaalverdeling op de bank)
    Noteer A en wat het display dan aangeeft als D.
    Herhaal dit evt. enkele malen en neem de gemiddelden.
3/ Bereken A / D en zet die waardes in het bestand HbmRuler.h
4/ Schiet de nieuwe software in de unit.
5/ Herhaal  2/ ter controle. A en D moeten nu hetzelfde zijn. (nou ja, binnen een paar honderdsten).

De polariteit van de assen:
De standaard voor een draaibank is dat de X-as (dwarsvoeding) negatief gaat in de richting NAAR het draaicentrum. De diameter wordt dan kleiner.
De langsvoeding gaat naar rechts positief.
Als blijkt dat dat bij jou niet klopt dan kun je de polariteit omkeren door de calibratiewaarde negatief te nemen.


Software:
De software is gemaakt met de Arduino 1.0.5 omgeving. Het is nog niet op recentere versies getest.

De software gebruikt 2 libraries afkomstig van http://www.seeedstudio.com  (ja, 3 e's), SeeedTouchScreen (.h en .cpp) voor het aanraakscherm en TFTv2 (.h en .cpp)  voor het display. Normaliter worden die als complete sub-mappen in de map   ......./Arduino<versie>/libraries/   gezet. (bij windows meestal c:\Program Files\Arduino<versie>\libraries\  )
Dat moet hier anders. Alleen de map SeedTouch met SeeedTouchScreen.h en -.cpp en evt. voorbeelden komt in ..../Arduino<versie>/libraries. De TFTv2 bestanden mogen daar beslist niet staan, die blijven in je project map.

Dus download het SeedTouch.zip bestand, pak het uit en zet de map die dan ontstaat in ......./Arduino<versie>/libraries/ 
Download het FW_Draaibank.zip bestand en pak het uit. Dat is de projectmap, zet 'm eventueel bij je andere projectmappen.
Sluit de Nano via de USB kabel aan op je PC.
Start het project door in de projectmap op het bestand FW_Draaibank.ino te dubbelkikken. Kies met "hulpmiddelen" het juiste bord (Arduin Nano) de juiste processor (ATmega 328) en de juiste poort. Test nu of  alles compileert en of je de software in de nano kunt schieten.

Ander gebruik van de software:
Je kunt de software voor dit TFT-Touch display natuurlijk ook in andere projecten gebruiken.
Je hebt dan de volgende bestanden nodig in je projectmap: LibTFT2p8.cpp,  LibTFT2p8.h,  TFTv2.cpp, TFTv2.h  en Simpelfont.h. Merk op dat de laatste 3 niet de originelen van SeeedStudio zijn, ik heb er enkele wijzigingen in gemaakt.
De bestanden controls.cpp en controls.h kun je naar believen wijzigen of aanvullen met controls naar eigen inzicht.
In LibTFT2p8.h staat commentaar over hoe om te gaan met het flippen en roteren van het coördinatensysteem en in controls.h staat commentaar over het gebruik van aanraak-actieve gebieden middels call-back functies.
Simpelfont.h heb ik uitgebreid met de geroteerde en geflipte versies van het font.
In combinatie met een Arduino Ethernet heb ik een busconflict gevonden met het MISO pootje, waardoor het ethernet niet werkte. Onderbreek dat pootje, voor het display heeft het geen nut.


Opmerkingen:

Het kastje dat ik gebruikt heb is een gietaluminium kastje van 115 x 65 x 30 mm, gekocht bij Eijlander in Ede. Dat bleek binnenin wat klein te zijn waardoor en hier en daar wat weggefreesd moest worden. Ik raad een wat groter kastje aan.

Als je het Eagle schema neemt en probeert er een print van te maken zul je waarschijnlijk wat gekke footprints tegenkomen. Ik had niet het voornemen om er een print van te maken, dus ik heb me bij het tekenen geen enkele zorg gemaakt over de keuze van een footprint.
Er is ook wat gerommeld met layers, namen en values.

Het metaal van de linialen is elektrisch verbonden met GND. Dat kan een aardlusprobleem opleveren. Laat daarom de kabeltjes van de meetkastjes zo goed mogelijk naast elkaar lopen zodat er een geen lus met een grote oppervlakte ontstaat.

In de niet al te nabije toekomst wil ik het ding uitbreiden met een feitelijke toerentalmeting van de hoofdas. Daarvoor is nog genoeg plaats onderaan op het display en er zijn nog wat pootjes over op de nano. Als je dan de X-as genuld hebt met de beitelpunt op het draaicentrum kun je de snijsnelheid op het display weergeven.

Als je dit ontwerp geheel of gedeeltelijk nabouwt en er leuke of lelijke ervaringen mee hebt, laat me die dan weten. Het mailadres staat bovenaan.