CD/DVD Speler Motor Circuit Hacken

Hallo,

Ik zat denken dat cd/dvd spelers precieze motortjes moeten hebben om de laserkop goed te kunnen plaatsen. Dit blijkt echter geen steppermotor te zijn, maar eentje met maar twee aansluitingen. Ik vermoed dan ook dat er iets in de sturing/circuit zit dat er voor zorgt dat de kop goed staat/precies.

Nu vond ik in een HP 9100 plus serie een circuitje daarvoor (zie foto).

Ik kan echter de datasheet niet vinden van de IC en zal wel graag willen weten hoe ik dit ding kan gebruiken/hacken.

Op CN2 zit de electromotor.

Iemand suggesties? (voor als iemand vraagt waarom, ik doe dit voor de fun en omdat ik er veel van leer.)

http://lars.stonerocket.co.uk/images/cd-speler-motor-circuit.jpg

To the data sheets!
guidob

Overleden

Zal wel iets van een drivertje zijn. Sturing zit verderop in decoder/microprocessor die eraan hangt. Kijk maar eens naar de datasheets van de andere chips, zal wel een decoder bij zitten. Daar dan ff naar het principeschema kijken.

bjokal

Golden Member

Maar twee aansluitingen? dat zal wel een gewoon DC-motortje zijn.
Het nauwkeurig positioneren van de laserstraal gebeurt met spoeltjes aan de lens van de laserkop.

Het motortje wat de hele laserkop beweegt is dus eigenlijk de grove regeling.

[Bericht gewijzigd door bjokal op maandag 2 november 2009 20:15:02 (20%)

"Of all the things I've lost I miss my mind the most"

Bedankt voor de reacties.

Op 2 november 2009 20:03:46 schreef bjokal:
Het motortje wat de hele laserkop beweegt is dus eigenlijk de grove regeling.

Maar is die dan zo 'grof'? Waar is de IC op de foto dan precies voor? Ontvangt dit 'drivertje' een digitaal signaal en zet dit om in pulsen of?

Op 2 november 2009 18:47:06 schreef guidob:
Kijk maar eens naar de datasheets van de andere chips, zal wel een decoder bij zitten. Daar dan ff naar het principeschema kijken.

Ik heb helaas maar 1 datasheet kunnen vinden, de Sony cxd3021r, hier zit inderdaad digital servo in, maar dit is volgens mij voor de kop zelf. Dit heet namelijk DSSP. Een andere IC, de Sony cxa8094r, lijkt wel voor dit motortje bedoelt, maar daar kan ik geen datasheet over vinden.

To the data sheets!

weet je zeker dat hier een motortje aan zit? Ik verwacht een spoeltje dat een magneet afstoot of aantrekt wat de kop een subtiele afstand naar links of naar rechts stuurt. Verder niks.

Dit is volgens mij omdat het gat van de CD wel eens niet precies in het midden zit. de sporen liggen 1.6 micron uit mekaar, dus als het gat 2 micron uit het midden zit, zou je als je het spoortje niet volgt dus gewoon het spoor er naast lezen. Dus op bassis van het signaal van de kop, weet dit ding de kop iets naar links en naar rechts te sturen. Als ie dan de hele tijd links, links links loopt te doen, dan geven ze het grove motortje opdracht om een stapje naar links te gaan, hopelijk zoveel dat ie weer op "beetje links", "beetje rechts" uitkomt.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 3 november 2009 11:47:34 schreef rew:
weet je zeker dat hier een motortje aan zit? Ik verwacht een spoeltje dat een magneet afstoot of aantrekt wat de kop een subtiele afstand naar links of naar rechts stuurt. Verder niks.

Ik ben heel zeker van dat daar een motortje (DC) op zit, want als je er een batterij op aansluit dan beweeg het hele lenssysteem doormiddel van de tandwielen.

Op de foto hieronder zie je links een draadje, die is aangesloten op het printplaatje (foto eerste post) op CN2. Onder het witte 'tandwiel' zit de motor. Naast het draadje zit een gat, daar zit de printplaat in vast geschroefd.

http://lars.stonerocket.co.uk/images/tandwielen-cd-rom-speler.jpg

Ik dacht misschien kan je die kleine ic op de foto in de eerste post digitaal aansturen zodat ie de DC-motor redelijk precies stuurt. Of doet dat IC'tje iets anders? Waarom is er geen datasheet van?

To the data sheets!
maartenbakker

Golden Member

Er is vast wel een datasheet van... Maargoed, het lijkt me handig als je je eerst verdiept in de werking van een CD-speler. Er is sprake van een closed-loop regeling, en die is niet simpel genoeg om in een driver-IC'tje weg te stoppen. Het signaal van de laser wordt gebruikt om zowel het trackingspoeltje van de laser zelf als dit motortje steeds bij te sturen en in de pas te houden.

Overigens heb jij zo te zien een DVD-speler, daar luistert het allemaal nog wat nauwer. Zo zou je drivertje wel eens PWM kunnen zijn inplaats van analoog, als ik het zo moet inschatten.

[Bericht gewijzigd door maartenbakker op dinsdag 3 november 2009 12:26:01 (20%)

www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Bedankt voor de hulp.

Op 3 november 2009 12:24:48 schreef maartenbakker:
Overigens heb jij zo te zien een DVD-speler, daar luistert het allemaal nog wat nauwer. Zo zou je drivertje wel eens PWM kunnen zijn inplaats van analoog, als ik het zo moet inschatten.

Het is een oud model, geen dvd, het is denk ik deze (zelf gekocht voor 1 euro bij de kringloop): http://www.thetechzone.com/reviews/multimedia/hp/9100i/index.shtml

Als ik gewoon een batterij erop kan aansluiten en de motor werkt, dan is het toch geen PWM?

Op 3 november 2009 12:24:48 schreef maartenbakker:
Er is sprake van een closed-loop regeling, en die is niet simpel genoeg om in een driver-IC'tje weg te stoppen. Het signaal van de laser wordt gebruikt om zowel het trackingspoeltje van de laser zelf als dit motortje steeds bij te sturen en in de pas te houden.

Precies, die werken nauw samen, maar nu zou ik graag willen weten wat er dan wordt gestuurd naar die ic op de eerste foto. Ontvangt die een analoog of digitaal signaal? Ik wil namelijk proberen die aan te sturen met een attiny, maar wat moet ik verzenden?

To the data sheets!

Draad 3 en 4 in de platte draad lijken direct op de DC-motor te zitten, want als je er stroom op zet dan draait de motor.

Vreemd, want waar is de rest van het circuit voor nodig dan (op de eerste foto)? Misschien iets met doorgeven van de pulsen naar de andere IC's?

Ik denk dat als je tussen de 10-100ms korte pulsen doet op de DC-motor je redelijk precies de hele kop kan verplaatsen en dan de rest door het trackingspoeltje gedaan wordt, wat jullie al hadden gezegd. :) Dit precieze komt ook door de tandwielen, zonder zou het niet werken.

Het trackingspoeltje kan ik met de attiny13 nu ook laten bewegen, stukje naar links of helemaal (hetzelfde voor rechts, boven, onder). De pulsen die ik gebruik zijn .5 us en 1 us op 8Mhz attiny13. Op .5 zit ie helemaal links en bij (bijv.) 4 us en 1 us op een klein beetje links.

To the data sheets!
free_electron

Silicon Member

zucht. als je gewoon de spoortjes van cn2 volgt dan zie je dat je .. bij cn1 uitkomt en de bandkabel opgaat naar het nmoederbord..
daar zit je controller. das meestal een chip van rohm of ti in (ts)so20 of 24 met een koperen vlak op zijn rug om hem te koelen ( zit tegen chassis geklemd .. )

het is niet de dc motor die precies positioneerd. het servosysteem van een speler zet de kop ongeveer juist. de echte preciese positionering wordt met de crossed vcm (voice coil motor) gedaan waarop de lens ligt.

dat ic wat op dat printje zit is een stomme opamp (met wat conditioning en filtering). X1 is een piezo shocksensor van murata. wij gebruiken die op harddisks ook.
wanneer de drive mechaniek een lel krijgt activeren ze zo de protectie en ram buffer.

he1 en he2 (die vierpotige vliegescheten) zijn hall sensoren waarmee positie feedback terugkeert van de head assembly. op dat plastiekwiel zit een magnetische strip.

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM

Bedankt, dat maakt veel duidelijk. :)

Misschien dat ik het verkeerd zei, maar ik bedoelde ook dat het "trackingspoeltje", wat dus zo te lezen officieel crossed vcm heet, voor de echte precisie zorgt.

To the data sheets!

Daar het spoor op een CD een spiraal is, is het voor het motortje voldoende als dat de kop heel langzaam naar het midden verplaatst tijdens het lezen, en dat het de kop sneller (en onnauwkeurig) naar binnen en buiten kan verplaatsen voor het opzoeken van de juiste beginpositie.

Meteen naast de laser zitten aan de binnen- en buitenkant een fotocel die gevoelig zijn voor de golflengte van de laser. Als die allebei een signaal krijgen van dezelfde intensiteit zit de kop precies boven (hoog) of tussen (laag) het spoor.

Het verschil wordt versterkt en door een elektromagneetje gevoerd, dat de kop een beetje scheef duwt in de juiste richting. En als het verschil boven een bepaalde waarde komt, wordt daarmee de snelheid van de motor bijgestuurd.

free_electron

Silicon Member

ehhh. zo werkt het niet...
de lens ligt op een crossed vcm. die vcm kan 4 dingen doen met de lens : naar boven en onder bewegen en links-rechts bewegen

het gereflecteerde laserlicht valt op een optische sensor bestaande uit 5 elementen.

code:


   _____ _____
B |  ___|___  | C
  | |       | |
  |_|   A   |_|
  | |       | |    
  | |_______| |
D |_____|_____|E

afhankelijk van de 5 analoge signalen van de fotodiodes ( abcd en e zijn elk een fotocel) kan meteen de cross vcm sturen.
bij perfect focussering valt er alleen lcht op element A ( mijn tekening is eignelijk mis. A is de kleinste van allemaal )
Als het base level van alle signalen omhoog gaat is de focus mis.
als het baselevel van 1 of 2 naast elkaar liggende omhoog gaat zit je naast je track te lezen . een paar simpele sommeerversterkers doen het werk. voor ene kleine delta wordt de crossvcm gestuurd. dit spel is zelfregelend en puur analoog. eenmaal de baseline over ene threshold komt ( stomme windowcomparator) wordt de motor een stapje gedraaid.

de kop motor wordt gechopped via pwm en vastgezet op ene positie. de motor is altijd bekrachtigd. door met de duty cycle tussen de 2 pwms te spelen ga je vooruit of achteruit. daar dienen die hall sensoren voor op dat printje. die geven feedback : de motor heeft 1/4 omwenteling afgelegd. samen met de reductiekast krijg je zo een nauwkeurige regeling.

die sensor zit niet vlak naast de laser maar ligt op het return pad ( het licht is reeds door de lens gekaatst , de cd op , teruggekeerd , door het halfdoorlatende prisma 90 graden gedraaid en ligt nu op de receiver.

de amplitudemodulatie op sensor A is de 1 en 0 informatie.
als er modulatie op bcd of e landt zit je verkeerd gefocusseerd of sta je half naast je track.

der zit submodulatie op de tracks. die tracks zijn niet perfect spiraalvormig. ze 'wobbelen'. dit 'laagfrequent' signaal wordt gebruikt om de snelheidscontrole te doen (bij CD. dvd trekt zich daar geen fluit van aan. nieuwe cd spelers ook niet. die hebben buffer zat en lezen vooraf te ver en staan dan te wachten. die kijken niet meer naar dat signaal. maar origineel werdt het wel zo gedaan)

de frequentie van die laagfrequent signaal wordt getrackt via PLL en die stuurt de motor aan zodat de wobbelfrequentie constant blijft.

[Bericht gewijzigd door Henry S. op zaterdag 7 november 2009 13:25:57 (16%)

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
maartenbakker

Golden Member

Dat is nog eens een heldere uitleg. Wel vind ik het systeem dat Philips vroeger hanteerde eleganter aandoen.

www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Op 4 november 2009 21:15:15 schreef SymbolicFrank:
Daar het spoor op een CD een spiraal is, is het voor het motortje voldoende als dat de kop heel langzaam naar het midden verplaatst tijdens het lezen,

Een cd wordt toch van binnen naar buiten gelezen? Omdat de "index" op de binnenste ring zit?

Bedankt voor de uitleg. Ik heb even gekeken naar de optische sensor en het lijkt of ie er anders uit ziet dan op jou tekening, drie A's misschien? Zie foto's beneden voor wat ik bedoel.

Hoe wordt trouwens die crossed vcm aangestuurd? Ik denk met PWM maar dan trilt ie toch een heel klein beetje, lijdt het signaal daar dan niet onder?

De optische sensor op HP 9100 plus CD rewriter:
http://lars.stonerocket.co.uk/images/electronics/optische-sensor-cd-speler.jpg

De achterkant:
http://lars.stonerocket.co.uk/images/electronics/optische-sensor-cd-speler-achterkant.jpg

To the data sheets!

Op 5 november 2009 00:56:42 schreef knapestaart:
[...]

Een cd wordt toch van binnen naar buiten gelezen? Omdat de "index" op de binnenste ring zit?

Inderdaad, mijn fout.

@free_electron: ja, maar ik wilde het simpel houden. Het is handiger als je eerst het principe begrijpt voordat je naar de details gaat kijken.

Ik ben nu bij de grote cd motor aangekomen. Er is best veel over te vinden om die aan te passen voor vlieguigjes enzo, maar hoe je die 'normaal' bestuurd helaas niet.

Ik vond wel dit bestand: http://ww1.microchip.com/downloads/en/AppNotes/00885a.pdf

Op pagina 11 staat een schema voor aansturing, heeft iemand dit al een keer gemaakt (met een attiny) of een website over? :)

To the data sheets!
free_electron

Silicon Member

Op 5 november 2009 08:53:06 schreef R117:
Bedankt voor de uitleg. Ik heb even gekeken naar de optische sensor en het lijkt of ie er anders uit ziet dan op jou tekening, drie A's misschien? Zie foto's beneden voor wat ik bedoel.

je zult een straffere microscoop nodig hebben om de pick-up te kunnen zien...
de cross-vcm wordt analoog gestuurd.

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM

Om de grote motor, voor de CD, te gebruiken leek het me handig om de driver/controller van de CD-ROM speler zelf te gebruiken, maar deze is helaas open van boven (metaal voor cooling bedoel ik). Hierdoor weet ik het type niet.

Ik heb al veel gezocht op BLDC, 3 phase en 4 verschillende datasheets doorzocht van zulke IC's, maar ze komen niet overeen met die op de printplaat van de CD-ROM speler. De UVW (zo heten die dingen toch?) lijken aangesloten te zitten op/rond pin 20 en in de datasheets die ik vond is het rond 2,4,6 etc.

Misschien kan iemand mij helpen?

Wat ik wel vond op de IC is de volgende text: R11 698 9 LR9
De CD-ROM speler is uit 2000 of 2001 (meer info zie vorige posts).

Een foto voor verduidelijking:

http://lars.stonerocket.co.uk/images/electronics/bldc-ic-cdrom-player.jpg

IC103 gaat het om. De witte kabel onderaan de foto gaat naar de motor circuit en de onderste drie zijn voor de motor (3 phase, uvw) en de andere voor die hall dingen.

To the data sheets!
maartenbakker

Golden Member

Type kan op de achterkant staan, als het niet onder een laag pasta op het metaal zelf staat ofzo.

www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Op 18 november 2009 21:54:00 schreef maartenbakker:
Type kan op de achterkant staan, als het niet onder een laag pasta op het metaal zelf staat ofzo.

Ik was bang dat ik em eraf moest halen, maar ik heb geluk. Doordat je dat zei keek ik nog even goed en het is niet een R maar een B waarmee de text op de ic begint en zo ben ik op de (L)B11699H gekomen. Dit is een hogere waarde (nieuwere IC gok ik), maar de IC lijkt erg veel op die op de printplaat - pin 20,21 en 22 voor UVW OUT komen overeen. Yes! :)

De datasheet: http://www.alldatasheet.com/datasheet-pdf/pdf/267193/SANYO/LB11699H.ht…

Heb je misschien ook een tip hoe ik de IC aanstuur met een attiny(13)? Zou ik de lijnen doorstrepen/krassen of heel houden?

To the data sheets!
free_electron

Silicon Member

je hebt slechts enekel control lijnen nodig.

vcref is je controle drempel.
vc is je speedcontrol.

de boel is proportioneel.

hoe harder je vc wegtrekt van vcref hoe harder hij optrekt of afremt. ( vc > vcref = optrekken < is afremmen )

en dan zijn er 2 digitale poten om de boel te starten en stoppen en het FG signaal. dat geeft je pulsjes af per omwenteling (

dus stel je zet vcref op 1 volt en vc op 2 volt : motor trekt op op ene bepaald moment maak je vc gelijk aan vcref : de motor blijft nu op huidig toerental. je meet toerental via FC. als je afwijkt van het gewenst stuur je bij door vc op te hogen of te verlagen ten opzichte van vcref. hoeveel bepaalt hoe snel de variatie gebeurt. als je er bijna bent ga je trager regelen door vc dichter bij vcref te bengen. de acceleratie / deceleratie is proportioneel.

je kan dus heel snel een regelaar maken door de delta tussen gewenst toerental en reel toerendal op een dac te plaatsen. als je dichter in de buurt komt zal de waarde verminderen en regelt de boel vanzelf proportioneel.

deze chips zijn gemaakt voor autonome servo controle die FC rammen ze in een PLL die het vergelijkt met de 'wobbel' van de track ( zie mijn vorige epistel) de pll uitgang integreren ze en zetten die spanning op VC. de pll is 'nulled' op vcref.

klaar. de boel draait vanzelf...

Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM

Bedankt voor de hulp free_electron, ik begrijp het nu redelijk goed. :)

Ik heb een oude voeding gepakt en een ledje tussen groen en aarde gedaan zodat de voeding aan gaat en dan de stekker in de cd-speler zodat ie 5V en 12V heeft. Alleen de kabels voor de grote (bldc) motor en de knop voor openen van tray zijn aangesloten. Geen laser ding, te gevaarlijk dacht ik zo.

Dan als je de tray open doet en weer dicht dan na een tijdje gaat de grote motor draaien en dan weer minder tot stilstand en dan weer sneller draaien etc. Als ik pin 1 meet dan gaat die tussen 1 en 2 volt heen en weer, precies zoals je zei. Als ik een ledje met 220ohm op grond aansluiten en tegen pin 1 houd dan draait de motor niet, zodra ik em los laat gaat ie weer draaien.

Nu zit ik er aan te denken om de lijnen naar pin 1 en 2 te onderbreken en daar mijn eigen besturing op aan te sluiten. Zou ik ook met een ATtiny13 een PWM kunnen generen en met een condensator redelijk gelijk maken zodat het gemiddeld bijvoorbeeld 1 of 2 volt is? Ik heb namelijk geen DAC. Ik denk dat de DAC van de cd speler in de grote IC van sony zit. Tenzij ik die grote IC kan aansturen...

Het uitlezen van FC is nog niet gelukt.

edit: de grote sony IC is: cxa8094r

To the data sheets!

Er is een klein probleem. De IC werkt niet met alleen de pinnen 1 en 2. Ik heb namelijk geprobeerd met een batterij (3V) de spanning te delen over pinnen 1 en 2, maar na van alles te proberen draait hij niet. Als de motor draait vanuit de CD-speler 'zelf' om te zoeken naar de cd dan kan je em wel sneller laten draaien (of laten stoppen), maar zodra dit stopt kan ik niks. :'(

Ik heb gekeken op pin 17 en 19 (VCC1 en VCC2) en die hebben stroom, mis ik iets waardoor het niet werkt?

Wat betreft de PWM omzetten naar analoog heb ik gelezen dat dit niet echt een mooi signaal geeft. Is het misschien een idee om een transistor op een batterij van 1.5 Volt aan te sluiten (met bijvoorbeeld spanningsdeler) en die transistor met de ATtiny13 te sturen? De ATtiny13 wordt gevoed via USB (5V) zou dat dan wel kunnen werken? :) Heeft dit principe ook een naam zodat ik het kan google'en?

To the data sheets!