Op 25 april 2007 20:19:36 schreef pros:
Ik begrijp iets niet. Uit fotoopa's uitleg leid ik af, dat het deel rond Q9 de stroom moet regelen. Maar als ik het schema volg, is het eerder een instelbare stroombegrenzing die bij het overschrijden van een drempel de ganse boel afknijpt en --met enige hysteresis-- dat blijft doen tot de stroom terug onder een bepaald peil gezakt is.
Nou ja, misschien heb ik gewoon te lang in de zon gefietst vandaag...
Ja dat is mijn bedoeling toch. Als de aangelegde spanning 0V is mag er geen beweging zijn, dus geen stroom. Als de spanning 3.3V is moet de verplaatsing van de luidsprekercone maximaal zijn in de ene of de andere richting volgens de polariteits slectie.
Eigenlijk zou de stroombegrenzing nog simpeler kunnen. Je zou een signaal naar de FPGA kunnen sturen die op zijn beurt alle fets uitzet en pas na een bepaalde vertragingstijd de fets weer vrijgeeft.
Op 25 april 2007 20:22:37 schreef pros:
[...]
Naast een hysteresis bij U2 ook nog eentje bij U1? Ik mis blijkbaar iets...
Oei foutje, moest U2 zijn... aangepast.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Op 25 april 2007 20:23:23 schreef fotoopa:
Ja dat is mijn bedoeling toch. Als de aangelegde spanning 0V is mag er geen beweging zijn, dus geen stroom. Als de spanning 3.3V is moet de verplaatsing van de luidsprekercone maximaal zijn in de ene of de andere richting volgens de polariteits slectie.
In dat geval vrees ik dat je de inverterende en niet-inverterende ingangen van U1 en U2 hebt omgewisseld.
Op 25 april 2007 20:24:00 schreef Nico.c:
Eigenlijk zou de stroombegrenzing nog simpeler kunnen. Je zou een signaal naar de FPGA kunnen sturen die op zijn beurt alle fets uitzet en pas na een bepaalde vertragingstijd de fets weer vrijgeeft.
Dit begrijp ik niet.
Ik wil toch een stroom in de luidspreker die evenredig is met de aangelegde spanning. (naar beneden negatief digitaal signaal door de FPGA, naar boven positief signaal door de FPGA). In rust is mijn analoge spanning 0V en ik weet dit in de FPGA en disabel alles drivers. Er kan geen stroom vloeien. Vanaf een kleine spanning en volgens de polariteit in mijn FPGA lookup tabel stuur ik de FETS, de stroom wordt door de opamps geregdeld (hoop ik)
Op 25 april 2007 20:29:10 schreef pros:
[...]
In dat geval vrees ik dat je de inverterende en niet-inverterende ingangen van U1 en U2 hebt omgewisseld.
Dat kan, ben niet zo bedreven in plus en min en leg ze doorgaans altijd verkeerd.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Als het de bedoeling is, dat Q9 (lineair) meer stroom doorlaat naarmate de spanning op Jumper P2 stijgt, moet je idd. de ingangen van U1 en U2 omwisselen.
De idioot die op het rare idee kwam om pin2 van een standaard-opamp als inverterende ingang te bestempelen, moesten ze kielhalen. Op een mammoettanker. 
Wat Nico. C's reactie betreft: ik veronderstel dat hij er van uitgaat dat het een stroombegrenzing betreft, die moet ingrijpen als de stroom de perken te buiten gaat.
[Bericht gewijzigd door pros op ]
Ja idd, zopas even mijn test schakeling nagezien en die liggen juist omgekeerd. Ik ga direct het schema omwisselen! Bedankt Pros! Ik had het juist gemaakt maar verkeerd getekend en gezien mijn geringe analoge ervaring merkt ik deze fouten niet eens op.
edit:
Schema is aangepast.
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
De lol van de het 1-bits-dac gedoe blijft: Je schakelt je H-brug digitaal, en bouwt daar je golfvorm mee op. Ik snap dat je je DA convertor al hebt, maar dat maakt het niet makkelijker om daarna de H-brug aan te sturen.
curval = curval + input - 0x80;
if (curval > 0x180) {
curval -= 0x80;
DRIVEPLUS;
}
if (curval < 0x80) {
curval += 0x80;
DRIVEMINUS;
}
Rogier.
Op 25 april 2007 20:50:59 schreef rew:
De lol van de het 1-bits-dac gedoe blijft: Je schakelt je H-brug digitaal, en bouwt daar je golfvorm mee op. Ik snap dat je je DA convertor al hebt, maar dat maakt het niet makkelijker om daarna de H-brug aan te sturen.
Rogier.
Dat kan maar ik ben bijna zeker dat de invloed op de vloeistoffen zo verschillend zijn dat dit behoorlijk in de war gestuurd wordt. Vergeet niet het gaat over heel specifieke trillingen die figuren vormen. Er mogen geen neven effecten ontstaan omdat er dan ongewenste kleurmixing ontstaat bij de figuren. Maar dit wil niet zeggen dat daar geen mogelijkheden inzitten. Als alles werkt kan ik heel gemakkelijk naar je methode overstappen en zien wat het praktisch effect is. Trouwens ik denk dat via mijn lookup tabel veel meer mogelijkheden zijn qua signaal vorming. Daar kan alles gewoon door enkele getallen in te geven.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Hij hoeft toch weinig meer te doen dan op te geven welke richting de konus v/d luidspreker uit moet (door de H-brug te sturen) en vervolgens de "snelheid" te bepalen door Q9 min-of-meer open te sturen?
(Z)weetvoetje
Hogepriester in het genootschap der mexicaanse hond. // // Aan 2% van de mensen is 50% van het bezit ; 1% van het bezit is aan 50% van de mensen.
Het lijkt me verstandig om beschermingsdiodes over de luidspreker te zetten, zodat de spanning over de luisprekerspoel niet enorm hoog word vanwege het plots uitschakelen van de stroom. (dat kan maar zo een puls van enkele honderden volts worden, die als een stoomtrein je hele print kapot walst)
Daarnaast is de sturing van de FETs verre van ideaal. Ik weet niet hoe snel je wil schakelen, maar als je snelheid wilt, dan moet je shottkey's over de collector-emitter van iedere transistor zetten om saturatie te voorkomen, en een soort klasse-B trapje voor iedere FET.
Met deze sturing ben je in staat de FET's vrij snel open te trekken, maar dicht gaat tergend traag. Let overigens op de bouw. Al die hoge stromen die kunnen heel makkelijk voor beinvloeding van de analoge delen van de schakeling zorgen, zodat de boel gaat oscilleren enzo.
Ik begrijp dat je de stroom wil regelen die door de luidspreker loopt. Kan je niet simpelweg een analoog 'audio' trapje maken met liefst een symetrische voeding (kan je ook 2 extra torren voor gebruiken). 2 Ohm weerstandje in serie met de luidspreker, en je kan de stroom perfect regelen. Kost minder, en is waarschijnlijk stukken betrouwbaarder en nauwkeuriger. Het is zulk ontzettend standaardwerk. Het enige verschil is dat je DC moet gaan koppelen, maar dat maakt volgens mij niet zoveel verschil. In een geval als dit WIL je juist niet in saturatie werken, je wil in het lineaire gebied werken. Dat is veel nauwkeuriger. Zo'n tegenkoppellus geeft al snel een versterking voor harmonischen in een bepaald frequentiegebied. (tenzij je zin hebt om het hele ding door te gaan rekenen, en het ook nog eens zonder slordigheidsfoutjes doet)
Voor die diodes was ik nog aan het twijfelen. Er zitten in een IRF520 al ferme diodes in, maar niets belet mij om er nogeens bovenop te plaatsen.
Anderzijds mag het ook weer niet zo heel steil gaan. De meest gebruikte basis frequentie is tussen 50 en 100Hz, dus helemaal niet zo hoog en steil zoals van max negatief tot max positief mag ook niet want dan is het een explosie van de vloeistof en bekom je nooit figuren. er is dus altijd een kurve nodig, juist die helling moet ik precies kunnen vastleggen.
Vergeet niet het gaat doorgaans slechts over enkele wavegolfjes, mogelijks zelfs 1 of 2 op 100Hz basis. Daarna is het gedaan. Dus zo steil mag het zeker niet gaan.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Op 25 april 2007 21:03:46 schreef (Z)weetvoetje:
Daarnaast is de sturing van de FETs verre van ideaal. Ik weet niet hoe snel je wil schakelen, maar als je snelheid wilt, dan moet je shottkey's over de collector-emitter van iedere transistor zetten om saturatie te voorkomen, en een soort klasse-B trapje voor iedere FET.
Of telkens een BS170 ipv. de BC327 en een BS250 ipv. de BC337. Maar dan nog: de luidspreker reageert veel trager dan de gebruikte transistors, en de stroom is begrensd. Ik verwacht weinig problemen.
(Z)weetvoetje
Hogepriester in het genootschap der mexicaanse hond. // // Aan 2% van de mensen is 50% van het bezit ; 1% van het bezit is aan 50% van de mensen.
Als de eisen zo laag zijn, dan snap ik niet dat je zo moeilijk doet. Maar goed, met een beetje extra moeite krijg je het ook wel aan de gang.
Mocht ik je toch kunnen overtuigen, dit is het principeschema van een klassa AB-versterker: http://upload.wikimedia.org/wikipedia/commons/4/4c/Amplifier_Circuit_S…
Ja pros, de luidspreker zal idd veel trager zijn. Juist die vertraging wil ik dan fotograferen om de ideale kurves aan te maken. Ik ben gewoon benieuwd hoeveel vertraging er zal zijn tussen beweging sturen naar volledig beneden en de verlopen tijd. Ook kan het zijn dat ik gedurende een bepaalde tijd het signaal op een bijna konstant level moet aanhouden alvorens te veranderen van richting. Het vermogen zit eigenlijk vooral in de bekomen oppervlakte van de beweging. Hetzelfde zal zijn als ik volledig positief stuur om de beweging naar boven te bekomen, ook boven zal ik een tijdje moeten aanhouden juist omdat de luidspreker de tijd nodig heeft om te volgen. Dit maakt juist deel van mijn experiment, je mag het niet als audio beschouwen. Vandaar ook dat een lookup tabel met die waarden zo praktisch is. Ik heb om te starten de lengte op 4096 samples vastgelegd maar niets belet mij dit te wijzigen. Ik heb 4Mbyte te beschikking! Ook dit is de reden waarom alles in de FPGA gaat. wijzigingen zijn zo snel gemaakt en timings problemen heb je nooit omdat alles toch parallel verloopt.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Da's een wisselstroomding. Het is net de bedoeling de conus-beweging zo goed mogelijk met gelijkspanning in de hand te houden, bv. 2mm achteruit aan 20km/h en vervolgens 3.5mm vooruit aan 30km/h. Of zoiets... 
Dit was een reactie op (Z)weetvoetje, voor alle duidelijkheid.
[Bericht gewijzigd door pros op ]
Op 25 april 2007 21:35:57 schreef (Z)weetvoetje:
Als de eisen zo laag zijn, dan snap ik niet dat je zo moeilijk doet. Maar goed, met een beetje extra moeite krijg je het ook wel aan de gang.Mocht ik je toch kunnen overtuigen, dit is het principeschema van een klassa AB-versterker: http://upload.wikimedia.org/wikipedia/commons/4/4c/Amplifier_Circuit_S…
Ik wil 100% kontrole hebben over de bewegingen. Ook het aanmaken van het stuursignaal is heel belangrijk alsook het nulpunt en de DC koppeling. Maar mijn eerste versie was nog veel eenvoudiger, nl gewoon 1 transistor met een blokgolf als sturing, de luidspreker in de emitor uitgang. Maar juist dit wil ik onder perfecte kontrole brengen met deze nieuwe uitgave.
@pros,
Je hebt het perfect omschreven wat ik wil!
(Z)weetvoetje
Hogepriester in het genootschap der mexicaanse hond. // // Aan 2% van de mensen is 50% van het bezit ; 1% van het bezit is aan 50% van de mensen.
Tja, dit kan allemaal echt helemaal analoog. Als je graag wil kan je eventueel ook een lapje alu-folie op de conus plakken, een stalen gaasje eronder hangen, en en dan op zo'n manier capacitatieve plaats-terugkoppeling doen. Capaciteit meten gaat aan een frequentie van >100kHz. Dus dat kan makkelijk. Je moet wel de data die je in de FPGA stopt ietsje aanpassen, omdat de capaciteit niet lineair verloopt met de verplaatsing, maar dat maakt verder eigenlijk niets uit.
Beetje ruis krijg je dan overigens wel. En echt simpel is dit ook niet meer te noemen. Duur hoeft het echter niet te zijn.
edit:
Pfft...
je haalt 2 condensators weg, plaatst een opampje of 2 erbij en je hebt een DC ding. Stroomsturing is PERFEKT mogelijk door een weerstand in serie met de luidspreker te zetten, aan de massa-kant. Je meet de spanning over de weerstand, en niet over de luidspreker. De tegenkoppeling zorgt dan voor een zeer goede stroomregeling.
Echte snelheidssturing gaat met die H-brug van jouw ook niet lukken.
Je kunt zo'n analoge versterker natuurlijk ook gewoon aan de FPGA hangen, da's geen enkel probleem lijkt me zo. DA-converter had je geloof ik al...
[Bericht gewijzigd door (Z)weetvoetje op ]
Ik geloof best wel dat je eenvoudige schakeling evengoed werkt maar voor mij is ze moeilijker en duurder. FETs heb ik hier voldoende liggen, de stroom meet ik toch ook in een weerstand naar de grond. Maar mijn figuren worden bepaald door de vorm van het stuursignaal. Al die vormen komen in een flash-eeprom gestuurd door de FGPA en dit maakt het zo handig en reproduceerbaar. Het reproduceren ligt aan de basis van dit ontwerp. Het gaat voor mij over een verbetering van iets dat al 3 jaar in gebruik is en waarvan ik de tekortkommingen juist wil aanpakken. Of dit nu meer of minder eenvoudig is speelt helemaal geen rol, maar ik moet kunnen experimenteren door gewoon waarden,
figuren dus, in een lookup tabel te schrijven.
Mijn stuursignaal gaat enkel positief. negatief is een digitaal I/O pin, 0 is positief, 1 is negatief. Is de tabel waarde 0 dan moet alles gedisabeld worden en digitaal is dit gewoon afleggen. digitaal is nu immers eenvoudiger dan analoog.
Geloof me echt, rekening houdend met de rest van de stuurlogika kun je dit heel moeilijk analoog oplossen. het gaat niet enkel over dit klein gedeeltje maar over een volledig systeem.
ps: de freq ligt rond de 50 tot 100 Hz, ik heb in het verleden heel veel problemen dat het te steil(snel) gaat, snel = explosie, kapoet zouden ze zeggen!
(Z)weetvoetje
Hogepriester in het genootschap der mexicaanse hond. // // Aan 2% van de mensen is 50% van het bezit ; 1% van het bezit is aan 50% van de mensen.
Nouja, ik wil je hard waarschuwen voor bijvoorbeeld de gate-source capaciteit, van 1 a 2 nF. Dat geeft bijvoorbeeld al een flinke reden tot instabiliteit bij de stroomregeling. Nouja, misschien gaat het allemaal goed, en ben ik veel te negatief aan het doen...
Een analoge versterker sluit het gebruik van het digitaal signaal opwekken totaal niet uit. Je hoeft de FPGA slechts een analoge spanning op te laten wekken, en dat was je toch al van plan. Simpelweg PWMen en filteren gaat perfekt. Dus ik snap niet waar de kous wringt. Maar goed, ik weet niet wat je verder nog allemaal systemen aan de luidspreker wil hangen.
Feit is dat het regelen van een (vrij kleine) stroom door een luidspreker nog altijd analoog veel simpeler en nauwkeuriger is dan digitaal.
Maar goed, als je het per se digitaal wil doen, dan ga ik wat anders doen.
De tijdconstante van die 1-2 nF gate-source capaciteit samen met de drive weerstand is toch vele malen kleiner dan mijn sample frequentie. De sample frequentie ligt max op 15 usec bij 250 Hz wavevorm ( 1 wave vorm bestaat uit 512 8 bit samples) maar doorgaans zit ik meer rond de 50 Hz, dus 5 maal lager. Een PWM signaal maken of gewoon samples nemen uit een tabel is toch weinig verschillend, en omdat mijn samples direct 8 bit hebben is dit eigenlijk veel eenvoudiger en duidelijker om een vloeiende kurve te maken.
De stroom door de luidspreker zal ergens rond de 1A max zijn volgens mijn eerste testen maar kan ook een stuk lager zijn.
Vandaag gebruik ik al een analoge versterker. Maar ik ben er niet tevreden over, voldoet niet. En ja mijn voorkeur gaat zeker naar digitaal. Dat mijn schakeling niet optimaal is kan ik best begrijpen en waar nodig wil ik zeker bijsturen. Het enige analoge zijn nu die 2 kleine opamps die erin zitten.
Je kunt mijn toepassing vergelijken met een anker die ik wil op een willekeurige plaats brengen en naar mijn pijpen dansen. Die dans vertaalt zich in wonderlijke figuren.
(Z)weetvoetje
Hogepriester in het genootschap der mexicaanse hond. // // Aan 2% van de mensen is 50% van het bezit ; 1% van het bezit is aan 50% van de mensen.
Ik heb alles nog eens doorgenomen en uiteindelijk ben ik tot een definitief schema gekomen. In deze versie heb ik de mogelijkheid om zowel een analoog signaal aan te bieden als een PWM signaal. Het analoog signaal wordt in de FPGA gemaakt omdat de vormen heel specifiek opgebouwd worden. Tevens worden tientallen vormen bijgehouden omdat iedere vorm een bepaalde type figuur moet opwekken. De samenstelling van deze vorm kan zowel door de FPGA DA convertor gebruikt worden maar is ook dezelfde inhoud als deze bij gebruik van een PWM signaal.
Gebruik ik een PWM signaal dan komen de hoge frequentie's van de PWM naar de luidspreker. Om dit te vermijden zijn 2 extra lowpass filters tussen het luidspreker signaal geplaatst. Deze filters bestaan uit hoogkwaliteits spoelen. Gebruik ik enkel het analoog signaal om te sturen dan kunnen deze filters uitgeschakeld worden alhoewel dit waarschijndelijk niet eens nodig is.
Voor het PWM signaal schakel ik niet tussen positief en negatief omdat ik 2 zones heb waardoor ik ofwel in het positief gedeelte ofwel in het negatief gedeelte zit. Het PWM signaal moet bijgevolg enkel schakelen tussen max aan en gewoon af. Hierdoor moeten de fets niet kontinu omgeschakeld worden van polariteit, enkel als ik door de nul doorgang ga, maar dat weet de FPGA en zal 1 PWM clok (ongeveer 0.5 usec) beide takken kortstondig uitschakelen. Ik ga dus geen last hebben met de ladingen van de fets.
Ook bij het analoog regelen verloopt het ongeveer volgens hetzelfde senario. Ofwel werk ik in de negatieve zone ofwel in de positieve maar er wordt nauwelijks heen en weer geschakeld.
Het bestukkingsplan is klaar, de print is op maat gesneden en de montage gaten zijn geboord:
Hier staat het volledig schema
en hier het volledig bestukkings plan
Morgenvroeg begin ik de bestukking zoals gewoonte op gaatjes print. Begin volgende week moet ik dan alles kunnen uittesten met de FPGA eraan. De meeste delen in de FPGA zijn al klaar en ze zijn al getest via scoop beelden.
Zodra het geheel af is plaats ik dan de resultaten.
edit: commentaar weggehaald, ik had me verkeken 
[Bericht gewijzigd door driessens_nl op ]