09.09.2013 Views

Batavierenrace Sparks4Ever - ETSV Scintilla - Universiteit Twente

Batavierenrace Sparks4Ever - ETSV Scintilla - Universiteit Twente

Batavierenrace Sparks4Ever - ETSV Scintilla - Universiteit Twente

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

geregeld worden, maar een huisgenoot had<br />

een beter idee: gebruik het mechanisme van<br />

een harde schijfkop, die zijn ervoor gemaakt<br />

om bij lage spanningen de gewenste beweging<br />

te maken! Zo gezegd, zo gedaan. Een<br />

H-brug, zoals de STA431 van Sanken die ik<br />

toevallig nog had liggen, kon gebruikt worden<br />

om de schijfkop aan te sturen zonder DC<br />

component, dus zonder koppelcondensator.<br />

De complementaire 25 Hz signalen konden<br />

in de microcontroller worden gegenereerd<br />

(pinnen genoeg :-).<br />

Gaandeweg bleek dat de NiMh-batterij van<br />

de Siemens toch niet zo betrouwbaar was als<br />

de lithiumbatterijen van moderne telefoons.<br />

Maar zomaar deze drie cellen vervangen door<br />

externe AA-batterijen bleek ook problemen<br />

op te leveren: de telefoon trok namelijk erg<br />

veel piekstroom tijdens het zenden, meer<br />

dan moderne NiMh AA-batterijen kunnen<br />

leveren. De oplossing bleek tussenin te liggen:<br />

gewoon drie externe AA-batterijen voor de<br />

lange termijn, parallel aan de interne accu voor<br />

de piekstromen, plus een dikke condensator.<br />

De luidspreker van de hoorn kon zonder<br />

problemen direct aan de headset-aansluiting<br />

van de mobiel geknoopt worden, maar<br />

de microfoon was een lastiger verhaal.<br />

Microfoons uit oude telefoons zijn een raar<br />

type elektretmicrofoons, en na even prutsen<br />

besloot ik deze maar te vervangen door een<br />

capsule uit een dynamische microfoon.<br />

Tenslotte nog het mechanisme, dat was vrij<br />

eenvoudig te vervangen door wat aluminium<br />

strips en springveertjes en wat gevoelige<br />

schakelaartjes uit een oude muis. Figuur 2<br />

toont de hardware op de bodemplaat van de<br />

telefoon, figuur 3 het schema.<br />

Software<br />

De C-code [4] is vrij eenvoudig. Na<br />

initialisatie van de pinnen, de timers en de<br />

seriële poort komt de software in een while()lus<br />

terecht. Hierin wordt conitnu een switch()case<br />

doorlopen, waarbij elke case een status<br />

voorstelt. Bijvoorbeeld: case 0 is “idle”, case<br />

1 is “rinkelen”, case 2 is wachten op input van<br />

de draaischijf, enzovoorts. Eigenlijk een soort<br />

state-machine dus.<br />

Elke cyclus van de while-lus wordt ook<br />

gepolld of de timer een interrupt heeft<br />

gegenereerd, zo ja dan wordt gecheckt of de<br />

08/07/09 8:29 PM /Users/dirkjan/Documents/eagle/Foon/Foon v1.sch (Sheet: 1/1)<br />

rinkel aan of uit moet en of er dingen getimeout<br />

zijn. Zo checkt de software eens in de drie<br />

seconden of de telefoon nog reageert.<br />

Ook is er een ‘reismodus’ ingebouwd: Bij het<br />

indrukken van de witte knop op de telefoon<br />

tijdens het opnemen van de hoorn, zorgt de<br />

software ervoor dat de telefoon toch bereikbaar<br />

is, ook als de hoorn los in je tas zit.<br />

Eindproduct v1.0<br />

Deze bakelieten v1.0 was weliswaar een leuk<br />

ding voor geintjes, maar had enkele belangrijke<br />

nadelen. Ten eerste is het batterijmanagement<br />

van de M35’s slecht, waardoor de telefoon<br />

het ene moment aangeeft vol te zijn, en het<br />

volgende moment, wanneer wat zendvermogen<br />

gevraagd wordt, uitvalt. Daarnaast kun je er<br />

niet je eigen SIMkaart instoppen, want zodra<br />

je een SMSje ontvangt of een oproep gemist<br />

hebt, moet de telefoon worden opengemaakt<br />

om te zien wie het was.<br />

Ook het aangepaste mechanisme om in de<br />

telefoon ruimte te besparen, gaf niet de ‘feel’<br />

van een echte haak waar je de hoorn op<br />

legt. Verder had de bakelieten telefoon geen<br />

handvat om hem aan op te pakken en aan de<br />

voorkant waren er wat hoekjes afgebroken.<br />

Maar er was redding: op de Smart System<br />

Designdag [5] hielp ik Wouter van der Vinne<br />

met het programmeren van een Bluetoothrobotje,<br />

gebaseerd op de BGB203-chip van<br />

Philips/NXP. Deze chip is eigenlijk een<br />

complete ‘System in Package’ met aan boord<br />

een microcontroller, bluetooth zender/<br />

ontvanger, seriële interface en<br />

general-purpose pinnen.<br />

Met deze chip en de<br />

juiste firmware [6]<br />

is het mogelijk<br />

met enkele<br />

textcommando’s<br />

een seriële poort<br />

naar je telefoon open<br />

te zetten. Als deze verbinding<br />

er eenmaal is, kun je met simpele<br />

AT-commando’s de mobiele telefoon<br />

instrueren om nummers te bellen en weer<br />

op te hangen. Er zat een bluetooth-versie van<br />

dit project aan te komen!<br />

DGND<br />

2<br />

3<br />

1<br />

L1<br />

7<br />

5<br />

DGND<br />

4<br />

8<br />

C3<br />

R6<br />

R7<br />

6<br />

R5<br />

DGND<br />

T1<br />

3<br />

2<br />

1<br />

31<br />

DGND<br />

DGND<br />

+5V/1<br />

Q1<br />

+5V/1<br />

Hobby<br />

C1<br />

DGND<br />

DGND<br />

DGND<br />

+5V/1<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

18<br />

19<br />

20<br />

*MCLR/VPP/RE3<br />

RA0/AN0<br />

RA1/AN1<br />

RA2/AN2/VREF-/CVREF<br />

RA3/AN3/VREF+<br />

RA4/T0CKI/C1OUT<br />

RA5/AN4/*SS/HLVDIN/C2OUT<br />

RE0/AN5/*RD<br />

RE1/AN6/*WR<br />

RE2/AN7/*CS<br />

VDD_2<br />

VSS_2<br />

OSC1/CLKI/RA7<br />

OSC2/CLKO/RA6<br />

RC0/T1OSO/T13CK1<br />

RC1/T1OSI/CCP2<br />

RC2/CCP1/P1A<br />

RC3/SCK/SCL<br />

RD0/PSP0<br />

RD1/PSP1<br />

RB7/KBI3/PGD<br />

RB6/KBI2/PGC<br />

RB5/KBI1/PGM<br />

RB4/KBI0/AN11<br />

RB3/AN9/CCP2<br />

RB2/INT2/AN8<br />

RB1/INT1/AN10<br />

RB0/INT0/FLT0/AN12<br />

VDD<br />

VSS<br />

RD7/PSP7/P1D<br />

RD6/PSP6/P1C<br />

RD5/PSP5/P1B<br />

RD4/PSP4<br />

RC7/RX/DT<br />

RC6/TX/CK<br />

RC5/SDO<br />

RC4/SDI/SDA<br />

RD3/PSP3<br />

RD2/PSP2<br />

R2<br />

J1<br />

R3<br />

40<br />

39<br />

38<br />

37<br />

36<br />

35<br />

34<br />

33<br />

32<br />

31<br />

30<br />

29<br />

28<br />

27<br />

26<br />

25<br />

24<br />

23<br />

22<br />

21<br />

Q2<br />

R1<br />

C2<br />

R4<br />

1<br />

2<br />

1 8<br />

DIAL1-1<br />

1 8<br />

DIAL2-1<br />

1 8<br />

HORN1-1<br />

1 8<br />

HORN2-1<br />

+5V/1<br />

+ -<br />

AL11P<br />

12<br />

11<br />

10<br />

9<br />

8<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

SP1<br />

SV1<br />

BAT1<br />

REFDES<br />

TYPE<br />

3<br />

2<br />

1<br />

SV2<br />

+5V/1<br />

DGND<br />

1<br />

2<br />

3<br />

4<br />

5<br />

SV3<br />

Figuur 3: schema van de hardware van versie<br />

1, Rechts de programmeerheader, onderaan<br />

de aansluiting van de Siemens en de externe<br />

batterij.<br />

Figuur 4: De Bell 1956 van ATEA, gebruikt<br />

voor versie 2 van dit project<br />

lay274.indd 31 9-7-2009 15:20:32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!