[Arduino] Digital Curvetracer

High met Henk

Special Member

ik heb zoiets in mijn grafische multimeter (op batterijen) zitten.

wellicht is het handiger om zelf een mooie sinus op te bouwen ipv op het lichtnet te zetten...

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???
hennep

Golden Member

Het heeft inderdaad geen zin om met een trafo verder te gaan als je zuiver wilt meten. Ik heb nog even aan een andere trafo gemeten en de vervorming lijkt echt van het lichtnet te komen.

Deze trafo heeft ook nog eens last van verzadiging. Dat had die kleine die ik op de print heb gesoldeerd dan weer niet.

reading can seriously damage your ignorance
blackdog

Honourable Member

Hi hennep, :-)

Als je echt zwevend wil werken kan je alsnog een trafo gebruiken met een kleine eindversterker.
De frequentie kan je uit PWM halen van je microcontroler of een sinus generator met een enkele opamp, mogelijkheden zat.

Hangt allemaal af wat het mag kosten, welek voeding je hebt enz, enz.

Maar je kan ook een 2e orde Low Pass filter maken om de THD flink de kop in te drukken, ik denk dat dit wel moet lukken zonder dat er te veel gedissipeerd moet worden in de filter componenten.
Wat is de maximale stroom/spanning die de trafo moet leveren?

Groet,
Bram

Existence, well, what does it matter? I exist on the best terms I can... Heart and soul, one will burn

Op 15 januari 2022 10:56:07 schreef hennep:
@rew, Ik ben zeker geinteresseerd in een ontwikkelbordje.

Dan zal je me een mailtje moeten sturen. Jou Email staat niet zichtbaar voor andere CO leden.

De F103 printjes uit china... Leuk, maar "net niet". De F103: ST had nog niet goed door hoe hun ARM-cpu lijn te structureren. DE F072 is een redelijk compleet ding, maar zonder extra poespas. Dus 72MHz niet 168 of 208, niet veel maar vergeleken met een arduino ZAT RAM enz. Niet de allergoedkoopste, maar een prima middenklasser.

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

Golden Member

@blackdog,
Bij mijn testexemplaar trek ik nog geen 8mA uit de trafo.

We hebben al een sinus, gemoduleerd met PWM, direct op een trafo gezet. Dat gaat goed als je de secundaire kant met een C-tje kortsluit. Anders zie je toch nog wat terug van de PWM.

@rew,
De mail is verstuurd
Ik ga op zoek naar een geschikte trafo (230-48) en we hebben voor het aansturen van een trafo voor dinsdagavond een test met een L193D op de planning staan. Voorlopig testen we met 230-18

reading can seriously damage your ignorance

Een trafo van 230V-2x24V i.p.v. 230V-48V kan ook.
Heb je bij die blauwe trafo op dat printje al eens een condensator over de secundaire wikkeling gezet?

blackdog

Honourable Member

Hi hennep,

Net nog even een kleine trafo gepakt en de 230V kant gemeten wat inductie betreft en die op 50Hz in resonantie gebracht.
Het werkt wel maar niet mooi genoeg, de Q is te laag van het geheel en wat mij betreft in zoverre niet goed, dat het verder uitwerken niet zoveel zin heeft.

Er schoten nog wel wat meer oplossingen te binnen, maar dat wordt het complexer en/of duurder.

Ik lees graag hoe je project vordert.

Groet,
Bram

Existence, well, what does it matter? I exist on the best terms I can... Heart and soul, one will burn
High met Henk

Special Member

Als je toch een eigen sinus maakt...

Mijn meter heeft 3 frequenties als optie ;)

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???
Frederick E. Terman

Honourable Member

Op 17 januari 2022 19:41:02 schreef blackdog:
Net nog even een kleine trafo gepakt en de 230V kant gemeten wat inductie betreft en die op 50Hz in resonantie gebracht.
Het werkt wel maar niet mooi genoeg, [...]

Het valt me nog mee dát je wat ziet. Het hele lichtnet staat er immers overheen, en dat is als het goed is nogal laagohmig.

Eigenlijk zou je serieresonantie moeten gebruiken.
(Niet doen hoor! Dan ontploft vast je trafo, de condensator, of de schakeling; waarschijnlijk alle drie.)

Voor halfgeleidermetingen en voor weerstanden mag trouwens je golfvorm best vervormd zijn. Het maakt dan niet uit hoe snel je een bepaald spannings- of stroomgebied doorloopt; alleen op een klassieke scoop zou je het aan de wisselende helderheid in verschillende delen van de grafiek zien.

--
Die wiskundige kan zijn lol op: hij heeft in principe oneindig veel variabelen op te lossen, net zoveel als er harmonischen (met amplitude en fase) kunnen zijn, plus nog de condensator en weerstanden zelf.

Keramisch, kalibratie, parasitair: woordenlijst.org
blackdog

Honourable Member

Hi Frederick E. Terman, :-)

Ik heb een 2x 18V <=> 230V trafo gebruikt, de inductie van de 230V kant in resonantie gebracht op 50Hz.
Op één 18V wikkeling de functie generator gezet en gekeken hoe de golfvorm er uit zag op
de overgebleven 18V wikkeling als ik een blok toevoerde van 50Hz en ook bij een driehoek.

Wat ik al zij, het geheel had niet echt een hoge Q factor.
Met mijn Functiegenerator kan ik aan de Sinus golf ook tot 9 harmonische toevoegen en induvidueel de amplitude instellen.
Zo kwam ik er achter dat de filtering niet goed genoeg was van het snelle testje dat ik gedaan heb.

Dus het is iets anders van opset geweest als wat jij denkt vermoed ik. ;)

Groet,
Bram

Existence, well, what does it matter? I exist on the best terms I can... Heart and soul, one will burn

Ha hennep,

Even voor mijn idee wat zou je willen meten ?
Ik zie dat je in het ontwerp een sinus wil gaan gebruiken, dat kan maar is niet te doen gebruikelijk.
Waarschijnlijk is het mooier om een driehoek of nog beter een trapjes spanning te gebruiken !
En als je ook transistors zou willen schrijven dan twee spanning / stroom bronnen gebruiken.
Als je toch liever een transformator wil gebruiken ( kosten ) dan kleine trafo's nemen dus niet te veel reserve,
als je 100 mA nodig heb niet groter gaan.....

@Frederick E. Terman,

Misschien een leuke opgave voor Mathcad :D

Groet,
Henk.

Everything should be as simple as possible, but not simpler.
fred101

Golden Member

Volgens zijn berekening zou een condensator van 2 uF een mooie ronde cirkel tonen.

Tot zijn grote schrik kreeg hij iets heel anders te zien. Life is a bitch :-)

Hij berekend een ideale condensator, jij gebruikt een echte.

https://www.pa4tim.nl/?p=3331 hier staan wat plaatjes van echte condensators gemeten op de Tek 576

[Bericht gewijzigd door fred101 op 18 januari 2022 09:58:01 (17%)

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook oud en exotisch
hennep

Golden Member

Op 17 januari 2022 23:24:59 schreef electron920:
Even voor mijn idee wat zou je willen meten ?

Het begon als een simpel project om componenten in een schakeling te meten. Zoiets als hetgeen je met een Huntron Tracker doet. Handig voor reparaties.

Maar dan ben je even met het project bezig en dan realiseer je je pas waaraan je begonnen bent. Het leek zo'n eenvoudige schakeling met maar 1 trafo en een paar weerstanden. Dat de sinus van de netspanning zo'n drama is merk je pas later op, ik wel.
Dan komt er ook nog een wiskundige langs die zegt, je kunt met de beschikbare gegevens ook de waarde van de C en de L op het scherm tonen. Oh interessant, je kunt nooit genoeg meetapparatuur hebben :-)
Wat ik niet wil is de HT nabouwen maar zo langzaam wordt het toch een uitgebreider apparaat dan we in eerste instantie bedacht hadden.
We doen het voornamelijk voor de koffie met een koekje en een gezellige babbel op de dinsdag avond. :-)

pa4tim.nl:
De cirkel bestaat uit 4 kwadranten en wordt veroorzaakt door een 50Hz sinus.

Gebruikt jouw Tek 576 een eigen sinus of is dat ook een getransformeerde netspanning?

In een van jouw plaatjes zit zo'n zelfde hobbel, (maar dan iets kleiner) en jij legt het uit als ESR. Als jouw TEK ook met een trafo meet dan zou dat dus ook heel goed netvervorming kunnen zijn. Ik zie het verschil (nog) niet.

Het valt me wel op dat mijn laatste plaatjes (overdag gemeten) een veel grotere vervorming geven dan de eerdere afbeeldingen (in de avonduren gemeten).
Wat voor belasting zou zo'n vervorming veroorzaken? Niet het aftoppen van de sinus door gelijkrichters dus.
Zouden dat elektromotoren van bedrijven kunnen zijn die gedurende de werkuren het net (enigzins) overbelasten?

reading can seriously damage your ignorance
hennep

Golden Member

Gisteravond een poging gedaan om een nette sinus te maken met een L293D H-brug. Dat lukte wel maar we zijn nog niet tevreden. De maximum frequentie van de L293D is 5kHz en de rimpel die nog door de trafo komt, kan wel met een C-tje van 470n worden weggefilterd, maar dan topt ook de sinus enigszins af.
Ik ben dus op zoek naar een snellere driver.

reading can seriously damage your ignorance
blackdog

Honourable Member

Hi hennep, :-)

Kan je eens laten zien hoe je de L293D aan de schakeling gekoppeld hebt en welke voedingspanningen je nu gebruikt?

Groet,
Bram

Existence, well, what does it matter? I exist on the best terms I can... Heart and soul, one will burn

Ha hennep,

Welk schema gebruik je op dit moment ?
Ik heb vroeger ook wel zo'n apparaatje gemaakt zonder Arduino die bestond nog niet :D
Met 50 Hz uit het lichtnet gaat wel maar je bent afhankelijk van de omgeving ,
let wel op tijdens je experiment ik zie een foto met twee trafo's die liggen op de verkeerde manier !
En waarom twee trafo's 9 V onbelast is meer dan voldoende lijkt mij.....

Het is beter om zelf te kunnen sturen d.w.z. zelf de 50 Hz maken dit trouwens wel heel laag.
Ik denk dat 1 of 10 kHz aantrekkelijker is verder van de 50 Hz vandaan i.v.m. instraling dit geeft een onrustig beeld,
rafels aan je plaatje !

Als je toch gebruik wil maken van de 50 Hz lichtnet frequentie zal je dit signaal moeten oppoetsen.
Dit kan met een filtertje actief of passief, passief heeft de voorkeur ( simpel ) i.v.m. de spanning maar,
ik denk net zoveel werk als een 10 kHz oscillator en voor de voeding maakt het niet uit jij gebruikt een,
controller die heeft ook spanning nodig !
Iets ander is het als je naar een oscilloscoop gaat dan kan het passief blijven.

Groet,
Henk.

Everything should be as simple as possible, but not simpler.
hennep

Golden Member

De test van gisteravond hebben we niet met arduino gedaan maar met een atmega644p. Een oud programma voor een 50Hz sinus hergebruikt. De mosfet drivers en 4x SUP75 afgekoppeld (was veel te lomp voor deze toepassing) en er een L293D aan gehangen.
Het schema heb ik niet meegenomen gisteravond. Ik zal het later plaatsen.
Ik weet dat er 74xx00 nand poorten tussen uC en driver zitten om inputs aan te sturen. De logic en controller draaien op 5V, de trafo krijgt 12V via de driver.

Henk,
Die 2e trafo is om een meetbare spanning te maken. Je kunt met een microcontroller geen wisselspanning meten. Dat kleine blauwe trafootje op de foto (de foto met het breadboard) maakt een 30V spanning. Daarmee tillen we de wisselspanning op naar een pulserende gelijkspanning. Via een spanningsdeler kan ik het naar een meetbare spanning brengen. In software reken ik dat weer om naar wisselspanning zodat ik het weer goed in de grafiek kan weergeven.

reading can seriously damage your ignorance
blackdog

Honourable Member

Hi Hennep,

Waarom geen NE5532 gebruiken die je uit fase zet, die kan je dan voeden met je sinus signaal.
Gain is ook gewoon mogelijk om b.v. 30VTT te maken tussen de twee uitgangen van het IC bij een bron die zeg 3VTT levert.
De NE5532 levert typical ruim 30mA aan de uitgang, dat zou voldoende moeten zijn.

Groet,
Bram

Existence, well, what does it matter? I exist on the best terms I can... Heart and soul, one will burn

Ha hennep,
Doet enkel fase gelijkrichten niet het zelfde i.p.v. zo'n constructie :?

Groet,
Henk.

Everything should be as simple as possible, but not simpler.
hennep

Golden Member

@electron920, Ik denk niet dat je het dan nog een curvetracer mag noemen.

@rew, vandaag heb ik jouw bordje van een blink programma voorzien. Dat was nog een heel gedoe.
In Arduino heb ik dit ingesteld:
Board: "Generic STM32F0 Series"
Board part nr: "Generic F072RBTx"
Usart support: "Enabled (no generic)"
Upload method: "STM32CubeProgrammer (DFU)"
programming mode schakelen met: boot-down reset-down reset-up boot-up

Als ik het bordje onder spanning breng dan staat het in read-only mode. Ik krijg dan, bij het programmeren, een melding dat die r-o mode kan worden uitgeschakeld met een -rdu optie.

USB speed : Full Speed (12MBit/s)
Manuf. ID : STMicroelectronics
Product ID : STM32 BOOTLOADER
SN : FFFFFFFEFFFF
FW version : 0x011a
Device ID : unknown
Warning: Device is under Read Out Protection
Error: RDP level is set to 1 (0xBB), try using Read UnProtect (-rdu) command in order to remove the Read Out Protection.

In arduino vind je daar niets over dus ik heb het programmer script aangepast en daar een -rdu optie bij in de commandline gezet.

code:


#${STM32CP_CLI} -c port=${PORT} ${MODE} ${ERASE:+"-e all"} -rdu -q -d "${FILEPATH}" ${ADDRESS} "${OPTS}"
${STM32CP_CLI} -c port=${PORT} ${MODE} ${ERASE:+"-e all"} -q -d "${FILEPATH}" ${ADDRESS} "${OPTS}"

Ik heb nu 2 regels code waarvan ik er eentje moet uitcommentarieren.
Helaas kan ik niet beide commando's uitvoeren. Dat "TM32CP_CLI" programma haalt de controller uit de programmer mode.

Elke keer als de spanning er af is geweest dan mag ik de bovenste regel uitvoeren en vervolgens opnieuw uitvoeren met de tweede regel geactiveerd. Die 2e regel blijft dan werken totdat de spanning weer is afgeschakeld geweest. Vrij omslachtig maar ik heb nog geen betere oplossing.

Ik kan dus een ledje laten knipperen, een echte digitale mijlpaal :+
Heeft iemand hier op het forum ervaring met stm32 nucleo bordjes, hoe doen jullie dat met die -rdu optie?

reading can seriously damage your ignorance

Ik heb enkele STM32F103 en een STM32F407 op een printje van ome ali die ik met een losse STlinkv2 programmeer. Ik heb nog maar 1 keer iets gedaan in Arduino om te testen maar ben overgeschakeld naar STM32CubeMX met de combinatie van SW4STM32. Met STM32CubeMX maak ik een project aan met de instellingen voor de hardware (USB, inputs, outputs, ...) en de code zelf schrijf ik dan in SW4STM32. Daarmee heb ik nooit echt problemen mee gehad en werkt iets handiger dan Arduino om te debuggen.

hennep

Golden Member

Op 21 januari 2022 12:40:11 schreef El Dimi:
Ik heb enkele STM32F103 en een STM32F407 op een printje van ome ali die ik met een losse STlinkv2 programmeer.

Gebruik jij de originele stlink of heb je ook zo'n chinese clone met een 10-polige boxheader?

Ik ben ook gestopt met het programmeren via de usb kabel direct vanuit arduino. Het werkte niet betrouwbaar. Ik heb nog niet uitgevonden of het door de usb kabellengte of de windrichting of de hoeveelheid daglicht komt, maar soms werkt het wel en dan weer niet.
Ik heb STM32CubeProgrammer geinstalleerd en dat werkt wel betrouwbaar. Waar ik nu nog wel mee zit is het volgende. Ik moet na het programmeren de programmerkabel loshalen om de controller te laten starten. Dat heb ik met andere stm32 bordjes niet eerder gehad. Mogelijk heb ik de kabel niet goed aangesloten.
Is dit de juiste aansluiting voor StLinkV2-clone naar SWD?

EDIT: Ik zie net dat de signalen in een andere volgorde staan dan op mijn programmer. Geen zin om het opnieuw te tekenen. Blijkbaar zijn er ook weer verschillende klonen in omloop (hoe kon het ook anders).

De verbinding waar ik aan twijfel is de SWIM naar SWO. Als ik die verbinding weglaat dan crasht STM32CubeProgrammer direct zodra ik op connect klik.

reading can seriously damage your ignorance

Die ST-LINK V2 van mij is zo'n chinese clone. Voor het programmeren met de ST-LINK gebruik ik maar 4 draadjes: GND, 3.3V, SWCLK en SWDIO.

Je moet wel eerst de STM32 verbinden met de ST-LINK voor je die in de USB poort steekt. De communicatie kan je altijd eens testen met de ST-Link utility die mee wordt geïnstalleerd met de drivers.

Die STM32CubeProgrammer heb ik zelf nog niet gebruikt maar in de ST-Link utility heb je de optie om een reset te doen na het programmeren. Via de SW4STM32 kan je ook je programma laden, daarmee ik die niet echt gebruik.

Ik heb zelf nog nooit een van mijn bordjes in "readout protection" gezet. De chips zouden zonder die protectie van de fabriek moeten komen en zo heb ik ze ook altijd aangetroffen als ik ze "nieuw" uit de geproduceerde doos trek. Dus raar dat jou exemplaar dat wel zou hebben of dat jou software denkt dat het zo is.

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

Golden Member

Mogelijk is het een probleem in de software geweest die met Arduino werd geinstalleerd. Dit weekend zag ik in de lubuntu update iets voorbij komen genaamd "arduino-core" (of iets dergelijks) en vanaf dat moment lukt het met Arduino ook om via SWD te programmeren.
Via usb blijft een probleem (maar niet meer met read-only beveiliging). Zowel direct vanuit de Arduino IDE als met STM32Cube. Gelukkig kan ik de print weer redden met SWD als het ding niet meer reageert na een foutgelopen usb programmeercyclus.
Ik merkte op dat het iets beter gaat als ik een usb kabeltje van slechts 25 cm gebruik.
Zou het kunnen komen door te weinig ontkoppel C'tjes op de pcb. Ik zie dat er een paar zijn weggelaten.
C5, C6, C14?

Ik merkte nog iets raars op. Ik heb de code voor de curvetracer in dit bordje gezet en de usb poort wordt alleen gezien door het systeem als ik via usb programmeer. De poort wordt dan zichtbaar als /dev/ttyACM0. Als ik programmeer via SWD dan ziet het OS geen nieuwe serial port.
Het was een juiste inschatting dat overstappen naar STM32 wel een paar dagen in beslag zou nemen. Zelf met de ervaring die ik met blue pill bordjes heb opgedaan.

@El Dimi
Die F103 bordjes laten zich prima programmeren met alleen clock, data en voeding. Maar als je zou willen debuggen dan kun je dat wel vergeten met slechts 4 pinnen.

Ik heb ooit de originele AVR-ISP-MK2 programmer gekocht van Atmel omdat programmeren van Atmel chips met clone programmers een drama was. Ik ben nu ook op het punt aanbeland dat ik maar eens naar een originele ST-Link ga omzien. Voor iets meer geld bespaar je jezelf een boel tijd.

reading can seriously damage your ignorance