Störningar på matningen när data skickas
Störningar på matningen när data skickas
Hej,
Jag håller på att koppla ihop en Arduino UNO (Atmel 328P) med en Raspberry Pi via seriell gammal hederlig seriell RS232 kommunikation. Detta fungerar felfritt. Mitt problem består i att varje gång jag skickar något från UNOn så får jag störningar på matningspänningen, se denna bild. Spänningsmatnignen visas i gult och TX kanalen i blått.
Som synes svänger spänningsmatningen med +/-2.5V i takt med TX-kanalen.
Även om det är väldigt korta svängningar så verkar det orsaka problem när jag läser de analoga ingångarna på ATmegan på följande sätt. Atmegan är uppsatt för 10bitars upplösning vilket ger mig värden mellan 0 och 1023. Så länge som ingången är jordad får jag en stabil 0:a, men så fort en högre spänning ges till ingången så börjar den växla men en bit, dvs mellan t.ex. 600 och 601, det går inte att få den stabil. Om jag slutar skicka data så är det inget problem att få en stabil avläsning.
UNOn matas från ett nätagg som ska kunna ge 12V/5A
Jag använder inte Arduino IDE utan skriver koden direkt i AVR Studio 7.
Det sitter en Welleman IOShield KA05 på UNOn, men det blir samma resultat med och utan.
Arduinon och Pi:en är sammankopplade via en nivåväxlare för 5 <-> 3.3V. I övrigt är det inga drivkretsar utöver ATmegans egna drivare.
Är det någon som har en ide om varför det blir så här? Vad kan jag göra åt det?
Tack på förhand.
Jag håller på att koppla ihop en Arduino UNO (Atmel 328P) med en Raspberry Pi via seriell gammal hederlig seriell RS232 kommunikation. Detta fungerar felfritt. Mitt problem består i att varje gång jag skickar något från UNOn så får jag störningar på matningspänningen, se denna bild. Spänningsmatnignen visas i gult och TX kanalen i blått.
Som synes svänger spänningsmatningen med +/-2.5V i takt med TX-kanalen.
Även om det är väldigt korta svängningar så verkar det orsaka problem när jag läser de analoga ingångarna på ATmegan på följande sätt. Atmegan är uppsatt för 10bitars upplösning vilket ger mig värden mellan 0 och 1023. Så länge som ingången är jordad får jag en stabil 0:a, men så fort en högre spänning ges till ingången så börjar den växla men en bit, dvs mellan t.ex. 600 och 601, det går inte att få den stabil. Om jag slutar skicka data så är det inget problem att få en stabil avläsning.
UNOn matas från ett nätagg som ska kunna ge 12V/5A
Jag använder inte Arduino IDE utan skriver koden direkt i AVR Studio 7.
Det sitter en Welleman IOShield KA05 på UNOn, men det blir samma resultat med och utan.
Arduinon och Pi:en är sammankopplade via en nivåväxlare för 5 <-> 3.3V. I övrigt är det inga drivkretsar utöver ATmegans egna drivare.
Är det någon som har en ide om varför det blir så här? Vad kan jag göra åt det?
Tack på förhand.
Senast redigerad av permal 18 september 2016, 10:16:26, redigerad totalt 3 gånger.
Re: Störningar på matningen när data skickas
Min erfarenhet är att A/D-omvandlare har minst egenbrus av någon bit. Ibland står antalet effektiva bitar i databladet.
Sedan är det inte ovanligt att själva mätkablarna fångar upp och kopplar störningar. Om det är problem går det att experimentera med ferritekärnor kring kablarna för att dämpa common mode.
Sedan är det inte ovanligt att själva mätkablarna fångar upp och kopplar störningar. Om det är problem går det att experimentera med ferritekärnor kring kablarna för att dämpa common mode.
Re: Störningar på matningen när data skickas
@psynoise Tack för din input, men detta är inte egenbrus. Som jag skrev ovan så får jag en stabil ADC och matning om jag slutar skicka data.
Re: Störningar på matningen när data skickas
@nifelheim Du får gärna utveckla det där mer i detalj. Menar du ett RC-filter?
Re: Störningar på matningen när data skickas
Förmodligen bara en eller flera kondensatorer, svårt att ge några exakta tips utan att veta hur det ser ut i ditt fall.
Vilken drivkrets har du, hur är den kopplad , både rent elektriskt men också fysiskt, ledningsdragning osv.
Kanske ett schema och en bild?
lite läsning tex. här
http://elektronikforumet.com/forum/view ... =2&t=14967
edit: det du beskriver som "nivåväxlare" är det en drivkrets för RS232 eller vad är det?
Vilken drivkrets har du, hur är den kopplad , både rent elektriskt men också fysiskt, ledningsdragning osv.
Kanske ett schema och en bild?
lite läsning tex. här
http://elektronikforumet.com/forum/view ... =2&t=14967
edit: det du beskriver som "nivåväxlare" är det en drivkrets för RS232 eller vad är det?
- prototypen
- Inlägg: 11107
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: Störningar på matningen när data skickas
Jag skulle starkt misstänka inkopplingen ac oscilloskåpet orsakar transienterna i matningen.
±2,5 volt är inte riktigt rimligt.
Dock kvarstår att AD värdet fluktuerar och man får då hur det ser ut med anslutningarna mellan jordplanen och om signalströmmen orsakar så högt spänningsfall som en bit.
Protte
±2,5 volt är inte riktigt rimligt.
Dock kvarstår att AD värdet fluktuerar och man får då hur det ser ut med anslutningarna mellan jordplanen och om signalströmmen orsakar så högt spänningsfall som en bit.
Protte
Re: Störningar på matningen när data skickas
Orignalposten uppdaterad med länk till nivåomvandlaren och info on RS232 driver.
Fenomenet med fluktuerande ADC kvarstår med samma beteende även om man inte kopplar in oscilloskopet (det ser jag på det data som skickas).
Jag har redan provat med elektrolyt-kondensatorer, totalt ~1000uF, men det gjorde ingen skillnad. Tyvärr har jag inga vanliga kondensatorer tillhands, men det går ju att införskaffa.
Fenomenet med fluktuerande ADC kvarstår med samma beteende även om man inte kopplar in oscilloskopet (det ser jag på det data som skickas).
Jag har redan provat med elektrolyt-kondensatorer, totalt ~1000uF, men det gjorde ingen skillnad. Tyvärr har jag inga vanliga kondensatorer tillhands, men det går ju att införskaffa.
Re: Störningar på matningen när data skickas
Det du kör med "nivåväxlaren" är inte RS232
The RS-232 standard defines the voltage levels that correspond to logical one and logical zero levels for the data transmission and the control signal lines. Valid signals are either in the range of +3 to +15 volts or the range −3 to −15 volts with respect to the "Common Ground" (GND) pin; consequently, the range between −3 to +3 volts is not a valid RS-232 level. For data transmission lines (TxD, RxD, and their secondary channel equivalents), logic one is defined as a negative voltage, the signal condition is called "mark". Logic zero is positive and the signal condition is termed "space". Control signals have the opposite polarity: the asserted or active state is positive voltage and the deasserted or inactive state is negative voltage.
Om "nivåväxlaren" är orsak till störningarna är en annan femma, men rätt beteckning gör att inte någon drar felaktiga slutsatser om hur uppkopplingen ser ut.
The RS-232 standard defines the voltage levels that correspond to logical one and logical zero levels for the data transmission and the control signal lines. Valid signals are either in the range of +3 to +15 volts or the range −3 to −15 volts with respect to the "Common Ground" (GND) pin; consequently, the range between −3 to +3 volts is not a valid RS-232 level. For data transmission lines (TxD, RxD, and their secondary channel equivalents), logic one is defined as a negative voltage, the signal condition is called "mark". Logic zero is positive and the signal condition is termed "space". Control signals have the opposite polarity: the asserted or active state is positive voltage and the deasserted or inactive state is negative voltage.
Om "nivåväxlaren" är orsak till störningarna är en annan femma, men rätt beteckning gör att inte någon drar felaktiga slutsatser om hur uppkopplingen ser ut.
Re: Störningar på matningen när data skickas
@Castor
Var skrev jag att nivåomvandlaren är en "RS232 driver"? Jag skrev bara att jag uppdaterat info om "RS232 driver", vilket jag inte har någon - förutom den som (jag förmodar) finns i ATmegan.
Var skrev jag att nivåomvandlaren är en "RS232 driver"? Jag skrev bara att jag uppdaterat info om "RS232 driver", vilket jag inte har någon - förutom den som (jag förmodar) finns i ATmegan.
Re: Störningar på matningen när data skickas
Bild?
Särskilt strömförsörjningen och jordningen.
Markera var du mäter.
Lite begreppsförvirring, du kör inte RS232.
Särskilt strömförsörjningen och jordningen.
Markera var du mäter.
Lite begreppsförvirring, du kör inte RS232.

Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Störningar på matningen när data skickas
Måste du skicka data när du omvandlar, skickar du ingen data när du omvandlar så är ju problemet borta.
Re: Störningar på matningen när data skickas
Hur har du mätt, visa hur proben med jordanslutningen sitter.
Men prova med bättre avkoppling av matningen, alltså kondensator över plus/jord.
Använd även RC-filter på den analoga ingången, ska sitta nära kretsen med kort anslutning till jord.
Men prova med bättre avkoppling av matningen, alltså kondensator över plus/jord.
Använd även RC-filter på den analoga ingången, ska sitta nära kretsen med kort anslutning till jord.
Re: Störningar på matningen när data skickas
Ja Norpans förslag borde väl hjälpa, om det inte blir för knepigt att hålla reda på timningen. Dessutom innehåller AVRchippen logik för att, om man vill, även kunna stänga ner processorn för att få minimalt med störningar från "digitalsidan" till AD.
Hur lånngt kablage mellan enheterna? Såg inga avkopplingskondensatorer på nivåomvandlingskortet, är där nåt på andra sidan?
Hur lånngt kablage mellan enheterna? Såg inga avkopplingskondensatorer på nivåomvandlingskortet, är där nåt på andra sidan?
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Störningar på matningen när data skickas
Lösningen på det här problemet är troligen att sätta ett motstånd i serie med datasignalen för att slöa ner flankerna. Egen erfarenhet.
Avkopplingskondingar på 1000uF bidrar inte alls till att få bort snabba spikar. Testa 10nF..100nF och se vad som händer.
Och som någon skrev, ett schema underlättar.
Avkopplingskondingar på 1000uF bidrar inte alls till att få bort snabba spikar. Testa 10nF..100nF och se vad som händer.
Och som någon skrev, ett schema underlättar.